body[data-player-theme="lime"]{--acid:#cbee83;--violet:#d3efa8;--lime:#e6ffa7;--stroke:#51613d}
.app{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
#solo-card{grid-column:1/-1}
.home-quick{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
#online-entry{grid-column:1/-1;width:100%;max-width:630px}
.bottom-nav{position:fixed;z-index:3;inset:auto max(8px,calc((100% - 820px)/2)) max(7px,env(safe-area-inset-bottom)) max(8px,calc((100% - 820px)/2));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px;border:1px solid var(--stroke);border-radius:19px;background:#201a37;box-shadow:0 14px 44px #090817ba}
.bottom-nav button{display:grid;justify-items:center;align-content:center;gap:0;min-height:47px;border:1px solid transparent;border-radius:12px;background:none;color:#eee7fa;font-size:clamp(11px,3vw,13px);line-height:1.25;font-weight:680;padding:2px}
.bottom-nav button span{font-size:21px;line-height:1.14}
.bottom-nav button[aria-current]{background:var(--acid);color:#20152a}
.toast{bottom:calc(73px + env(safe-area-inset-bottom));z-index:4}
.arcade-page{display:grid;gap:12px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.page-heading h1{font-size:clamp(34px,8vw,58px);line-height:1.12;letter-spacing:-.055em}
.page-heading p{color:var(--muted);margin-top:4px}
.token-pill{background:#dbee94;color:#232711;border-radius:99px;padding:5px 12px;white-space:nowrap}
.arcade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.arcade-card{padding:18px;border:1px solid var(--stroke);border-radius:20px;background:var(--panel);display:grid;gap:10px;align-content:start}
.arcade-card h2{font-size:25px;letter-spacing:-.035em;line-height:1.2}
.wheel-card{background:radial-gradient(ellipse at 50% 40%,#4b3062 0,var(--panel) 72%)}
.wheel-frame{position:relative;width:min(216px,75vw);margin:5px auto}
.wheel-frame::after{content:"";position:absolute;z-index:1;left:50%;top:-3px;transform:translateX(-50%);border:8px solid transparent;border-top:15px solid #fff3ce;filter:drop-shadow(0 1px 2px #29133e)}
.arcade-wheel{width:100%;aspect-ratio:1;border-radius:50%;position:relative;border:4px solid #f2ddf9;background:conic-gradient(from -30deg,#ffbd84 0 60deg,#bca1fa 60deg 120deg,#cde983 120deg 180deg,#ff9fbc 180deg 240deg,#82cddc 240deg 300deg,#d8bafa 300deg);transition:transform 1.6s cubic-bezier(.13,.72,.14,1)}
.arcade-wheel::before{content:"";position:absolute;inset:40%;background:#241835;border:2px solid #ffedda;border-radius:50%}
.wheel-label{position:absolute;left:50%;top:50%;color:#211633;font-weight:900;transform:translate(-50%,-50%) rotate(calc(var(--slot) * 60deg)) translateY(clamp(-75px,-23vw,-50px)) rotate(calc(var(--slot) * -60deg))}
.clicker-card{background:radial-gradient(ellipse at 30% 30%,#3d4353 0,var(--panel) 68%)}
.clicker-score{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 0}
.clicker-score strong{font-size:58px;line-height:1.2;color:var(--lime)}
.clicker-score span{color:var(--muted);font-variant-numeric:tabular-nums}
#arcade-tap{min-height:78px;touch-action:manipulation;user-select:none}
#arcade-tap:active{transform:scale(.98)}
.theme-options,.puzzle-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.theme-options button[aria-pressed=true],#puzzle-options button[aria-pressed=true]{border-color:var(--acid);background:var(--panel2)}
.story-puzzle{margin:0 0 10px;padding:12px;background:#211936;border:1px solid var(--stroke);border-radius:12px}
.story-puzzle h3,.profile-card h3{margin:0}
.story-puzzle p{margin:4px 0 9px}
#puzzle-options{display:grid;gap:6px;margin:8px 0}
.novel-signal{font-size:11px;font-weight:750;letter-spacing:.02em}
#novel-phone[data-format=scene] .novel-chathead{background:linear-gradient(110deg,#392c50,#251f3d);border-bottom-color:#706282}
#novel-phone[data-format=scene] .novel-log{background:radial-gradient(ellipse at top,#3b2d4b,#1c182f 75%)}
#novel-phone[data-format=scene] .novel-bubble{border-radius:6px 15px 15px 6px;border-left:2px solid var(--acid)}
@media(max-width:640px){.arcade-grid{grid-template-columns:1fr}.arcade-card{padding:14px}.page-heading p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.arcade-wheel{transition:none}}
.novel-portrait[data-sheet="d"]{background-image:url("/portraits-d.jpg");background-size:400% 200%}
.novel-portrait[data-sheet="d"][data-slot="0"]{background-position:0% 0%}
.novel-portrait[data-sheet="d"][data-slot="1"]{background-position:33.333333333333336% 0%}
.novel-portrait[data-sheet="d"][data-slot="2"]{background-position:66.66666666666667% 0%}
.novel-portrait[data-sheet="d"][data-slot="3"]{background-position:100% 0%}
.novel-portrait[data-sheet="d"][data-slot="4"]{background-position:0% 100%}
.novel-portrait[data-sheet="d"][data-slot="5"]{background-position:33.333333333333336% 100%}
.novel-portrait[data-sheet="d"][data-slot="6"]{background-position:66.66666666666667% 100%}
.novel-portrait[data-sheet="d"][data-slot="7"]{background-position:100% 100%}
.wheel-label{--slot:0}.wheel-label[data-slot="1"]{--slot:1}
.wheel-label[data-slot="2"]{--slot:2}
.wheel-label[data-slot="3"]{--slot:3}
.wheel-label[data-slot="4"]{--slot:4}
.wheel-label[data-slot="5"]{--slot:5}
#novel-scene-art{display:block;width:100%;height:clamp(116px,34vw,245px);object-fit:cover;object-position:center 44%;border-bottom:1px solid var(--stroke)}

:root{--glow:#a076ff;--nav:#1c1730}
body{background:radial-gradient(ellipse at 48% 0%,color-mix(in srgb,var(--glow) 17%,var(--bg)),var(--bg) 55%);min-height:100dvh}
body[data-player-theme=ice]{--bg:#101e30;--panel:#1b2b43;--panel2:#233c59;--stroke:#45627f;--acid:#a9edff;--violet:#c5ebff;--glow:#66d6ff;--nav:#182b43}
body[data-player-theme=lime]{--bg:#151c19;--panel:#243128;--panel2:#324535;--stroke:#586f4a;--glow:#acde56;--nav:#1f2b23}
body[data-player-theme=sunset]{--bg:#27172b;--panel:#40223c;--panel2:#532b49;--stroke:#79466b;--acid:#ffb28a;--violet:#ffd0e1;--glow:#fb7eaa;--nav:#321d36}
body[data-player-theme=neon]{--bg:#1c1030;--panel:#2e1950;--panel2:#3c216b;--stroke:#7a50aa;--acid:#d5ff74;--violet:#edc4ff;--glow:#d260ff;--nav:#25153f}
body[data-player-theme=midnight]{--bg:#0d1226;--panel:#182039;--panel2:#212e51;--stroke:#425685;--acid:#f8cf8e;--violet:#bac8ff;--glow:#6689fe;--nav:#171f37}
.game-icon,.brand-icon,.section-icon,.online-art{display:block;object-fit:contain;flex:none}
.brand-icon{width:37px;height:37px}
.game-icon{width:36px;height:36px}
.section-icon{width:66px;height:66px;filter:drop-shadow(0 5px 10px #0004)}
.bottom-nav{background:var(--nav);padding:5px}
.bottom-nav button{min-height:57px;font-size:clamp(10px,2.7vw,13px);gap:1px}
.bottom-nav .game-icon{width:29px;height:29px;transition:transform .19s ease}
.bottom-nav button[aria-current]{background:color-mix(in srgb,var(--glow) 22%,var(--panel));border-color:color-mix(in srgb,var(--glow) 58%,var(--stroke));color:var(--fg)}
.bottom-nav button[aria-current] .game-icon{transform:translateY(-1px) scale(1.12)}
.launch-hero{position:relative;display:flex;align-items:center;isolation:isolate;min-height:clamp(270px,42vw,410px);padding:clamp(20px,4.7vw,45px);overflow:hidden;border:1px solid var(--stroke);background:linear-gradient(90deg,#171326 12%,#171326a0 53%,#1713261a 100%),url('/art/lobby.jpg') center right / cover}
.launch-copy{max-width:490px}
.launch-copy>.eyebrow{color:#ffc99c;font-size:11px}
.launch-copy h1{margin:7px 0 9px}
.launch-copy>p:not(.eyebrow){max-width:320px;color:#f3eaf9}
.launch-copy .actions{margin-top:16px}
.hub-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.hub-card{display:flex;align-items:center;gap:10px;border:1px solid var(--stroke);border-radius:16px;padding:12px;background:var(--panel);color:var(--fg);text-align:left;min-width:0}
.hub-card:hover{border-color:var(--glow)}
.hub-card .game-icon{width:45px;height:45px}
.hub-card strong,.hub-card small{display:block}
.hub-card small{font-size:12px;color:var(--muted)}
.online-entry{max-width:none!important;padding:clamp(16px,4vw,30px);background:linear-gradient(155deg,color-mix(in srgb,var(--glow) 24%,var(--panel)),var(--panel) 55%)}
.online-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.online-head h1,.tab-intro h1{font-size:clamp(28px,6.5vw,53px);line-height:1;letter-spacing:-.055em}
.online-head p{margin:6px 0}
.online-head .eyebrow{color:var(--acid);font-size:11px}
.online-art{width:clamp(62px,13vw,125px);height:clamp(62px,13vw,125px)}
.online-entry form{max-width:480px;margin:12px 0}
.online-entry .entry-note{margin-top:3px}
.tab-intro{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin:6px 0 9px}
.tab-intro p{color:var(--muted);margin:5px 0 0}
.tab-intro .token-pill,.tab-intro .chip{margin-left:auto}
.token-pill{display:inline-flex;gap:5px;align-items:center;background:var(--acid);color:#201329}
.token-pill .game-icon{width:22px;height:22px}
.arcade-card{border-radius:22px;padding:clamp(14px,2.3vw,22px)}
.arcade-card-title{display:flex;align-items:center;gap:10px}
.arcade-card-title>.game-icon{width:45px;height:45px}
.arcade-card-title p{font-size:14px;color:var(--muted);margin-top:3px}
.wheel-card{background:radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--glow) 35%,var(--panel)),var(--panel) 76%)}
.wheel-frame{width:min(227px,68vw);margin:8px auto}
.arcade-wheel{border:6px solid #f7c68c;box-shadow:0 0 0 5px #38254e,0 0 28px #e0a4fc65,inset 0 0 18px #3d195a65;background:conic-gradient(from -30deg,#ffc479 0 59deg,#f4d5ff 59deg 60deg,#b39cff 60deg 119deg,#f4d5ff 119deg 120deg,#d5ed90 120deg 179deg,#f4d5ff 179deg 180deg,#ff9cc2 180deg 239deg,#f4d5ff 239deg 240deg,#8bd5ec 240deg 299deg,#f4d5ff 299deg 300deg,#d0aaff 300deg 359deg,#f4d5ff 359deg);transition:none}
.arcade-wheel::before{display:none}
.wheel-frame::after{top:-8px;border-top-color:#fff1bc}
.wheel-cap{position:absolute;inset:40%;display:grid;place-items:center;border:2px solid #ffe2a8;background:#38234e;border-radius:50%;pointer-events:none}
.wheel-cap .game-icon{width:85%;height:85%}
.wheel-label{font-size:17px}
.wheel-result{min-height:23px;color:var(--acid);font-weight:750;text-align:center}
.clicker-card{background:linear-gradient(155deg,color-mix(in srgb,var(--glow) 22%,var(--panel)),var(--panel) 75%)}
.clicker-stage{display:grid;gap:6px;padding:11px 13px;background:#151027b0;border:1px solid var(--stroke);border-radius:16px}
.clicker-stage.running{box-shadow:0 0 23px color-mix(in srgb,var(--glow) 36%,transparent)}
.clicker-score{padding:0}
.clicker-score strong{font-size:37px;line-height:1}
progress{display:block;width:100%;height:8px;border:0;border-radius:12px;accent-color:var(--acid)}
progress::-webkit-progress-bar{border-radius:12px;background:#ffffff20}
progress::-webkit-progress-value{border-radius:12px;background:var(--acid)}
.clicker-visual{height:88px;position:relative;display:grid;place-items:center}
.clicker-mascot{width:88px;height:88px;filter:drop-shadow(0 0 17px #baf04b55)}
#clicker-burst{position:absolute;top:6px;right:20%;font-size:22px;font-weight:900;color:var(--acid);opacity:0;pointer-events:none}
.combo-label{text-align:center;color:var(--acid);font-weight:800}
#arcade-tap{min-height:55px}
.arcade-mission{grid-template-columns:1fr minmax(85px,22%);align-items:center}
.arcade-mission p{color:var(--muted);font-size:14px}
.arcade-mission strong{display:block;margin:0 0 6px;color:var(--acid)}
.upgrade-grid,.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.upgrade-choice,.theme-choice{background:var(--panel2);color:var(--fg);text-align:left;padding:11px;border:1px solid var(--stroke);border-radius:12px}
.upgrade-choice strong,.upgrade-choice small,.theme-choice strong,.theme-choice small{display:block}
.upgrade-choice small,.theme-choice small{font-size:12px;color:var(--muted)}
.theme-choice{border-left:5px solid var(--swatch)}
.theme-choice[data-swatch=violet]{--swatch:#ba92ff}.theme-choice[data-swatch=ice]{--swatch:#a4eaff}.theme-choice[data-swatch=lime]{--swatch:#c1ee79}
.theme-choice[data-swatch=sunset]{--swatch:#ff9ca7}.theme-choice[data-swatch=neon]{--swatch:#ed73fd}.theme-choice[data-swatch=midnight]{--swatch:#7791f8}
.theme-choice[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--swatch)}
.profile-identity{display:flex;align-items:center;gap:15px}
#profile-avatar,.avatar-choice img{display:block;object-fit:cover;border-radius:50%;background:#231b37}
#profile-avatar{width:74px;height:74px;border:2px solid var(--acid)}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.profile-stats>div{padding:8px;background:var(--panel2);border-radius:10px;text-align:center}
.profile-stats strong,.profile-stats small{display:block}
.profile-stats strong{font-size:21px;color:var(--acid)}
.profile-stats small{font-size:11px;color:var(--muted)}
.avatar-options{display:flex;gap:8px;flex-wrap:wrap}
.avatar-choice{background:var(--panel2);color:var(--fg);border:1px solid var(--stroke);border-radius:12px;padding:5px 8px;font-size:12px}
.avatar-choice img{width:44px;height:44px;margin:auto}
.avatar-choice[aria-pressed=true]{border-color:var(--acid);box-shadow:inset 0 0 0 1px var(--acid)}
.photo-picker{position:relative;width:max-content;max-width:100%;cursor:pointer;margin:0}
.photo-picker:focus-within{outline:2px solid var(--acid);outline-offset:2px}
.photo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
@media(max-width:570px){
 .launch-hero{background-position:center,64% center;min-height:300px}
 .launch-hero .actions{gap:6px}
 .launch-hero .button{padding:8px 10px;font-size:13px}
 .hub-card{display:grid;justify-items:center;text-align:center;gap:4px;padding:9px 3px;line-height:1.27}
 .hub-card .game-icon{width:36px;height:36px}
 .hub-card small{font-size:10px}
 .tab-intro{gap:6px}.tab-intro p{font-size:13px}.section-icon{width:44px;height:44px}
 .token-pill{font-size:12px;padding:4px 7px}
 .bottom-nav button{min-height:54px}
}
@media(prefers-reduced-motion:reduce){.bottom-nav .game-icon{transition:none}}
