*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Microsoft YaHei",system-ui,-apple-system,sans-serif;color:#fff}body{background:#090712}button,a{-webkit-tap-highlight-color:transparent}.app-shell{position:relative;width:min(100vw,560px);min-height:100dvh;margin:auto;padding-bottom:78px;overflow:hidden;background:linear-gradient(180deg,#1d0c38,#0e0b1c 72%,#120b26);box-shadow:0 0 90px #000}.lobby{position:relative;padding:0 7px 24px}.hud{height:54px;position:absolute;z-index:30;left:8px;right:8px;top:max(6px,env(safe-area-inset-top));display:flex;align-items:center;gap:6px}.profile{height:42px;display:flex;align-items:center;gap:7px;padding:3px 9px 3px 3px;border:1px solid #ffffff55;border-radius:22px;background:#160d35cc;backdrop-filter:blur(7px);box-shadow:0 4px 14px #0008}.profile img{width:35px;height:35px;border-radius:50%;object-fit:cover;border:2px solid #ff9ddd}.profile b{font-size:11px}.profile small{display:block;font-size:8px;color:#f9dfff}.resource{height:35px;min-width:82px;padding:0 8px;border:1px solid #ffffff38;border-radius:15px;background:#14102fcc;display:flex;align-items:center;gap:5px;box-shadow:0 3px 10px #0007}.resource span{color:#ffd55e}.resource b{font-size:10px;flex:1}.resource em{font-style:normal;font-size:15px;color:#b9d5ff}.resource.gem span{color:#6be5ff}.hud-icon{width:34px;height:34px;border:1px solid #ffffff4a;border-radius:50%;background:#171232cc;color:#fff;font-size:15px}.music-btn{margin-left:auto;width:44px;height:44px;border:2px solid #ffa1ef;border-radius:50%;background:radial-gradient(circle,#b951df,#472371);box-shadow:0 0 16px #d968ff99;color:#fff;display:grid;place-items:center;padding:7px}.music-btn img{width:17px;height:17px}.music-btn span{font-size:7px;font-weight:800}.hero-world{position:relative;height:610px;margin:0 -7px 0;overflow:hidden;background:#271345}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.12) contrast(1.03);transform:scale(1.09)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10051f22 0 46%,#13082538 56%,#130923d9 87%,#11091c 100%)}.hero-world:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#10091f)}.hero-side{position:absolute;z-index:6;top:135px;display:grid;gap:10px}.hero-side.left{left:8px}.hero-side.right{right:8px}.hero-side span{width:58px;min-height:52px;padding:6px 4px;border:1px solid #ffffff50;border-radius:15px;background:#191035c7;color:#fff;font-size:9px;font-weight:800;display:grid;place-items:center;text-align:center;box-shadow:0 5px 14px #0006,0 0 10px #ff73c844 inset}.hero-brand{position:absolute;z-index:8;left:50%;bottom:125px;width:74%;transform:translateX(-50%);text-align:center}.brand-logo{display:block;width:100%;max-height:150px;object-fit:contain;filter:drop-shadow(0 9px 18px #0009)}.hero-brand b{display:block;margin-top:-10px;font-size:17px;text-shadow:0 2px 7px #000}.hero-brand small{display:block;margin-top:7px;font-size:9px;line-height:1.45;color:#f6e8ff;text-shadow:0 1px 4px #000}.install-btn{position:absolute;z-index:9;left:50%;bottom:64px;transform:translateX(-50%);width:66%;height:51px;border:3px solid #b9ffba;border-radius:26px;background:linear-gradient(180deg,#4ee274,#12a84c);color:#fff;font-size:19px;font-weight:950;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 7px 0 #087a34,0 0 25px #35e56b88}.install-btn img{width:24px;height:24px}.petals i{position:absolute;z-index:4;width:11px;height:7px;border-radius:70% 20%;background:#ff9ad4cc;animation:petal 6s linear infinite}.petals i:nth-child(1){left:13%;top:7%;animation-delay:-1s}.petals i:nth-child(2){left:83%;top:20%;animation-delay:-3s}.petals i:nth-child(3){left:35%;top:32%;animation-delay:-4s}.petals i:nth-child(4){left:72%;top:45%;animation-delay:-2s}.petals i:nth-child(5){left:9%;top:52%;animation-delay:-5s}.petals i:nth-child(6){left:58%;top:12%;animation-delay:-.5s}.worlds-bar{height:58px;margin:-6px 0 8px;position:relative;z-index:10;border-top:1px solid #e6b7ff77;border-bottom:1px solid #e6b7ff55;background:linear-gradient(180deg,#27103fea,#17102eee);display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;box-shadow:0 0 18px #7935aa66 inset}.worlds-bar span{color:#ffcc8f}.worlds-bar b{display:block;font-size:19px;letter-spacing:.15em}.worlds-bar small{font-size:7px;letter-spacing:.23em;color:#dec8f5}.games{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.game-card{position:relative;overflow:hidden;border-radius:13px;background:#140e29;border:2px solid color-mix(in srgb,var(--accent),white 26%);box-shadow:0 4px 0 color-mix(in srgb,var(--dark),black 30%),0 7px 15px #0006}.card-art{height:145px;position:relative;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.card-art:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,#0e0718cc)}.index{position:absolute;z-index:4;top:5px;left:5px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--accent),var(--dark));border:2px solid #fff;color:#fff;font-size:10px;font-weight:950}.card-copy{position:absolute;z-index:5;left:5px;right:5px;top:105px;text-align:center;color:#fff;text-shadow:0 2px 4px #000}.card-copy strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-copy small{display:block;margin-top:2px;font-size:6px;color:#f2e8ff}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;background:linear-gradient(180deg,color-mix(in srgb,var(--dark),black 8%),#0d0a19)}.card-actions a{height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:8px;font-weight:900;color:#fff;text-decoration:none;border:1px solid #ffffff6b}.card-actions img{width:13px;height:13px}.dynamic{background:linear-gradient(180deg,var(--accent),var(--dark))}.static{background:#ffffff17}.theme-1,.theme-4,.theme-9{--accent:#ff4ca5!important;--dark:#a61965!important}.theme-2{--accent:#8e64ff!important;--dark:#4d2796!important}.theme-3{--accent:#2475c8!important;--dark:#153c72!important}.theme-5{--accent:#0ea9ff!important;--dark:#1052b0!important}.theme-6{--accent:#ed4b52!important;--dark:#951e2c!important}.theme-7{--accent:#2eb967!important;--dark:#176c3b!important}.theme-8{--accent:#d9872b!important;--dark:#7c4219!important}.story-strip{height:69px;margin:12px 3px 0;border:1px solid #c283ff66;border-radius:18px;background:linear-gradient(135deg,#42155d,#1d1043);display:flex;align-items:center;gap:12px;padding:7px 12px;box-shadow:0 8px 20px #0005}.mini-face{width:56px;height:56px;border-radius:14px;overflow:hidden}.mini-face img{width:100%;height:100%;object-fit:cover}.story-strip b{font-size:14px}.story-strip small{display:block;margin-top:3px;color:#d7c6eb;font-size:9px}.story-strip span{margin-left:auto;font-size:30px;color:#ff9ddd}.bottom-nav{position:fixed;z-index:50;left:50%;bottom:0;transform:translateX(-50%);width:min(100vw,560px);height:73px;padding-bottom:max(5px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(180deg,#1b1236f4,#0d0a1bea);border-top:1px solid #d380ff77;backdrop-filter:blur(12px);box-shadow:0 -10px 26px #0008}.bottom-nav a{color:#e7ddf5;text-decoration:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:9px}.bottom-nav img{width:24px;height:24px}.bottom-nav .active{color:#ff91ce;text-shadow:0 0 10px #ff4baa}.music-tip{position:fixed;z-index:99;left:50%;bottom:86px;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:#1a1035f4;border:1px solid #ff9ddd;color:#fff;font-size:10px;box-shadow:0 6px 18px #0008}@keyframes petal{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}15%{opacity:.9}100%{transform:translate3d(40px,520px,0) rotate(300deg);opacity:0}}@media(max-width:430px){.hero-world{height:575px}.hud{gap:4px}.resource{min-width:68px;padding:0 6px}.resource b{font-size:9px}.hud-icon{display:none}.hero-side span{width:52px}.hero-brand{width:77%;bottom:120px}.install-btn{width:72%}.card-art{height:137px}.card-copy{top:100px}.games{gap:5px}.game-card{border-radius:11px}}@media(max-width:350px){.games{grid-template-columns:repeat(2,1fr)}.card-art{height:145px}.card-copy{top:106px}}

/* ===== V1.7.0 ONE-PIECE LOBBY REBUILD ===== */
.app-shell{background:linear-gradient(180deg,#16082e,#0a0714 78%,#120722)}
.lobby{padding-bottom:18px}
.hero-world{height:472px;border-radius:0 0 28px 28px;box-shadow:0 12px 35px #0008,0 0 0 1px #f9a7ff35 inset}
.hero-bg{object-position:center 46%;transform:scale(1.035);filter:saturate(1.1) contrast(1.02) brightness(.98)}
.hero-shade{background:linear-gradient(180deg,#12062128 0 38%,#12072212 48%,#15072872 72%,#110719e8 100%)}
.hero-side{top:112px;gap:8px}.hero-side.left{left:10px}.hero-side.right{right:10px}
.hero-side span{width:49px;min-height:44px;padding:5px 3px;border-radius:14px;font-size:8px;background:linear-gradient(180deg,#22153bd6,#120a25db);border:1px solid #f6c5ff69;box-shadow:0 5px 14px #0007,0 0 12px #e467ff24 inset}
.hero-brand{bottom:91px;width:59%;padding:0 3px}.brand-logo{width:100%;max-height:105px;object-fit:contain;filter:drop-shadow(0 8px 14px #000a);-webkit-mask-image:radial-gradient(ellipse at center,#000 53%,#000 68%,transparent 96%);mask-image:radial-gradient(ellipse at center,#000 53%,#000 68%,transparent 96%)}
.hero-brand b{margin-top:-2px;font-size:15px;letter-spacing:.03em}.hero-brand small{margin-top:3px;font-size:7.5px;line-height:1.35;color:#f6eaff}
.install-btn{bottom:27px;width:64%;height:50px;font-size:18px;border-width:2px;box-shadow:0 6px 0 #087a34,0 0 25px #35e56b72}.install-btn img{width:22px;height:22px}
.worlds-bar{height:51px;margin:0 0 7px;border-radius:0 0 17px 17px}.worlds-bar b{font-size:16px}.worlds-bar small{font-size:6.5px}
.games{gap:7px}.game-card{border-radius:14px;border-width:2px;box-shadow:0 5px 0 color-mix(in srgb,var(--dark),black 30%),0 9px 17px #0006}.card-art{height:132px}.card-art img{transform:scale(1.02)}.card-art:after{height:58%}.card-copy{top:92px}.card-copy strong{font-size:12px}.card-copy small{font-size:6.5px}.card-actions{padding:6px 5px}.card-actions a{height:30px;font-size:8.5px}
.story-strip{height:58px;margin:10px 3px 2px}.mini-face{width:45px;height:45px}.story-strip b{font-size:13px}
@media(max-width:430px){.hero-world{height:445px}.hero-side{top:104px}.hero-side span{width:45px;min-height:41px;font-size:7.5px}.hero-brand{bottom:87px;width:62%}.brand-logo{max-height:95px}.hero-brand b{font-size:14px}.install-btn{bottom:25px;width:68%;height:47px;font-size:17px}.card-art{height:126px}.card-copy{top:87px}.games{gap:5px}}

/* ===== V1.8.0: remove world numbers from lobby cards ===== */
.game-card .index{display:none!important}
.card-art{height:148px}.card-copy{top:107px}
@media(max-width:430px){.card-art{height:132px}.card-copy{top:93px}}
