/* Game identities share input and accessibility behavior, not a generic skin. */
body{--surface:#191c20;--surface-alt:#24272b;--edge:#5e5b54;--ink:#f3f0e7;--muted:#c1bdb3;--corner:3px;--page:#101113;--keyart:none;color:var(--ink);background:var(--page)}
body[data-theme=railbreak]{--surface:#211e1b;--surface-alt:#302a24;--edge:#665a48;--ink:#fff0dc;--muted:#c9bca8;--page:#161413;--keyart:url('../theme-art/switchwake.png')}
body[data-theme=aegis]{--surface:#0a2234;--surface-alt:#102f46;--edge:#37647b;--ink:#eafaff;--muted:#accbdc;--corner:18px;--page:#050f20;--keyart:url('../theme-art/aegis.png')}
body[data-theme=loopforge]{--surface:#112a24;--surface-alt:#1c3a2e;--edge:#496b54;--ink:#f0f0d5;--muted:#c1cead;--corner:2px;--page:#081b16;--keyart:url('../theme-art/loopforge.png')}
body[data-theme=stackfuse]{--surface:#2c1e31;--surface-alt:#3b2b43;--edge:#7c576f;--ink:#fff0e7;--muted:#d4bfcb;--corner:12px;--page:#1c1321}
button{border-color:var(--edge);background:var(--surface-alt);border-radius:var(--corner)}
button.primary{box-shadow:0 3px 0 #0005;letter-spacing:.015em}
.panel{background:var(--surface);border-color:var(--edge);border-radius:var(--corner)}
.panel p,.side p,.keyhint,.best{color:var(--muted)}
.panel-actions,.panel-top{background:var(--surface);border-color:var(--edge)}
.choice,.help-line,.steps span,.save-summary{background:var(--surface-alt);border-radius:var(--corner)}
.choice small{color:var(--muted);font-size:14px}.choice{border-color:var(--edge);border-left-color:var(--route)}
.panel-top{font-size:12px}.panel-top button{min-height:44px}
.canvaswrap{border-color:var(--edge);border-radius:var(--corner);box-shadow:0 12px 55px #0005}
.health meter{accent-color:var(--accent)}.health meter::-webkit-meter-optimum-value{background:var(--accent)}
.top{border-bottom:1px solid var(--edge);padding-bottom:8px;min-height:52px}
.topright button{min-height:44px}.side .label{line-height:1.5;letter-spacing:.1em}
.side h1{font-size:42px;overflow-wrap:anywhere}.controls .skill{background:var(--surface-alt);min-height:48px}
.hud{border-bottom:1px solid var(--edge);height:56px}.hud strong{font-variant-numeric:tabular-nums}
.routechip{font-size:12px;min-height:26px}.notice{color:var(--muted);font-size:14px}
.sheet[data-screen=menu]{padding:0;background-color:var(--page);background-image:linear-gradient(90deg,var(--page) 0%,color-mix(in srgb,var(--page) 93%,transparent) 31%,color-mix(in srgb,var(--page) 40%,transparent) 68%,#0001),var(--keyart);background-size:cover;background-position:center;backdrop-filter:none}
.sheet[data-screen=menu] .panel{width:100%;max-width:1440px;height:100%;max-height:none;margin:auto;border:0;border-radius:0;background:transparent;box-shadow:none;position:relative;display:grid;grid-template-columns:minmax(0,650px) 1fr;grid-template-rows:auto minmax(0,1fr) auto}
.sheet[data-screen=menu] .panel-top{grid-column:1/-1;background:#05090c42;border-bottom:1px solid #b3c8d626;padding:12px clamp(22px,5vw,76px);color:var(--ink)}
.sheet[data-screen=menu] .panel-body{grid-column:1;padding:clamp(20px,4vh,42px) 32px 16px clamp(22px,5vw,76px);position:static;z-index:1}
.sheet[data-screen=menu] .panel-actions{grid-column:1;background:linear-gradient(0deg,var(--page),color-mix(in srgb,var(--page) 92%,transparent));border-top:1px solid var(--edge);padding:18px 32px max(22px,env(safe-area-inset-bottom)) clamp(22px,5vw,76px);z-index:2}
.sheet[data-screen=menu] .panel-actions button{min-height:56px;font-weight:750;font-size:16px}
.lobby-heading .label{font-size:12px;letter-spacing:.14em;line-height:1.5;display:block}
.lobby-heading h1{font-size:clamp(62px,7vw,105px);letter-spacing:-.04em;line-height:.83!important;margin:20px 0 16px;font-weight:900}
.lobby-heading h1 span{display:block}.lobby-heading h1 span+span{color:var(--accent)}
.local-title{display:block;font-size:17px;letter-spacing:.2em;color:var(--accent);margin:18px 0 12px}
.panel .lobby-heading .pitch{font-size:clamp(19px,2vw,24px)!important;line-height:1.45;color:var(--ink);max-width:430px;margin:20px 0 10px}
.panel .lobby-instruction{font-size:16px;line-height:1.55;max-width:420px;margin:8px 0 20px;color:var(--muted)}
.run-facts{display:flex;gap:20px;flex-wrap:wrap;padding:15px 0;border-block:1px solid var(--edge)}
.run-facts span{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.run-facts b{font-size:23px;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.mastery{gap:16px;margin:15px 0}.mastery span{font-size:14px}
.menu-setup{border-top:1px solid var(--edge);margin:14px 0 8px;padding:0}
.menu-setup>summary{min-height:48px;cursor:pointer;align-content:center;color:var(--ink);font-size:14px;font-weight:650}
.menu-setup[open]{background:color-mix(in srgb,var(--surface) 94%,transparent);padding:0 12px 12px;border:1px solid var(--edge)}
.menu-setup .switches{margin:10px 0}.menu-setup .keyhint{font-size:14px!important}.menu-setup .setting-caption{font-size:12px}
.sheet[data-screen=menu] .utility{gap:4px 14px;margin-top:8px}.sheet[data-screen=menu] .utility button{border:0;background:transparent;padding:5px 0;font-size:14px;color:var(--muted)}
.sheet[data-screen=menu] .utility a{padding:5px 0;font-size:14px}.save-summary{font-size:14px!important;border-left:2px solid var(--accent)}
.lobby-preview{position:absolute;left:57%;right:5%;top:16%;bottom:11%;margin:0;display:flex;flex-direction:column;justify-content:center;transform:rotate(4deg);pointer-events:none}
.lobby-preview img{width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 25px 24px #0009)}.lobby-preview figcaption{text-align:center;font-size:12px;letter-spacing:.2em;color:var(--muted);padding:12px}
body[data-theme=railbreak] .panel-top{font-weight:800;letter-spacing:.08em}
body[data-theme=railbreak] .panel-actions{border-top:3px solid var(--accent)}
body[data-theme=railbreak] .choice{border-left-width:7px;border-radius:0}
body[data-theme=railbreak] .hud{background:linear-gradient(90deg,#30271e,transparent);padding:8px 10px}
body[data-theme=railbreak] .skill{border-radius:0;font-weight:800;letter-spacing:.06em}
body[data-theme=aegis] .lobby-heading h1{font-weight:600;letter-spacing:.04em;line-height:.93!important;font-size:clamp(55px,6.3vw,88px)}
body[data-theme=aegis] .run-facts{border:0;gap:10px}.run-facts span{min-width:80px}
body[data-theme=aegis] .run-facts span{border:1px solid var(--edge);border-radius:50px;padding:14px 17px;text-align:center}
body[data-theme=aegis] .panel-actions .primary{border-radius:40px;background:#b0f5ff;box-shadow:0 0 26px #48c8e129}
body[data-theme=aegis] .choice{border-left-width:1px;border-top:3px solid var(--route);border-radius:18px}
body[data-theme=aegis] .canvaswrap{border-radius:28px}.hud .time strong{letter-spacing:.02em}
body[data-theme=loopforge] .lobby-heading h1{font-weight:600;font-size:clamp(62px,6.5vw,92px);letter-spacing:-.025em}
body[data-theme=loopforge] .lobby-heading{border-left:2px solid var(--accent);padding-left:22px}
body[data-theme=loopforge] .run-facts b,body[data-theme=loopforge] .hud strong{font-family:ui-monospace,monospace}
body[data-theme=loopforge] .panel{box-shadow:8px 8px 0 #050d0966}.sheet[data-screen=menu] .panel{box-shadow:none}
body[data-theme=loopforge] .choice{border:1px solid var(--route);border-radius:0;border-bottom-width:4px}
body[data-theme=loopforge] .canvaswrap{border-width:1px;border-bottom-width:4px}.skill{font-weight:750}
body[data-theme=stackfuse] .sheet[data-screen=menu]{background-image:radial-gradient(ellipse at 82% 40%,#63344955,transparent 65%),linear-gradient(135deg,#25182d,#160f1c)}
body[data-theme=stackfuse] .lobby-heading h1{font-weight:900;text-shadow:4px 4px 0 #724658;font-size:clamp(70px,7vw,102px);line-height:.92!important}
body[data-theme=stackfuse] .run-facts{border:0;padding:0;gap:8px}.run-facts span{flex:0 1 auto}
body[data-theme=stackfuse] .run-facts span{padding:14px;background:#3c293c;border-bottom:4px solid #805769;border-radius:8px}
body[data-theme=stackfuse] .panel-actions button{box-shadow:0 5px 0 #0c0811;border-bottom:3px solid #0003}
body[data-theme=stackfuse] .choice{border-left-width:1px;border-bottom:5px solid var(--route);box-shadow:0 4px 0 #0005}
body[data-theme=stackfuse] .canvaswrap{border-width:3px}.routebar{gap:8px}
@media(min-width:1500px){.sheet[data-screen=menu] .panel{grid-template-columns:690px 1fr}.lobby-heading h1{font-size:110px}}
@media(max-width:760px){.sheet[data-screen=menu]{background-position:63% center;background-image:linear-gradient(90deg,color-mix(in srgb,var(--page) 96%,transparent),color-mix(in srgb,var(--page) 64%,transparent)),var(--keyart)}.sheet[data-screen=menu] .panel{display:flex;max-width:620px}.sheet[data-screen=menu] .panel-top{padding:9px 20px}.sheet[data-screen=menu] .panel-body{flex:1;padding:25px 24px 12px;width:100%;overflow:auto}.sheet[data-screen=menu] .panel-actions{padding:14px 24px max(18px,env(safe-area-inset-bottom));background:var(--page)}.lobby-heading h1{font-size:clamp(60px,14vw,84px)}.lobby-heading .label{max-width:340px;font-size:12px}.lobby-preview{opacity:.16;left:28%;right:-13%;top:19%;bottom:15%;z-index:-1;transform:rotate(6deg)}.lobby-preview figcaption{display:none}.panel .lobby-heading .pitch{font-size:21px!important;margin:18px 0 10px}.panel .lobby-instruction{font-size:15px;margin-bottom:14px}.run-facts{gap:16px;padding:12px 0}.run-facts b{font-size:22px}.mastery{gap:12px}.shell{gap:5px}.top{min-height:48px}.hud{height:51px}.notice{font-size:13px}.side h1{font-size:30px}}
@media(max-width:390px){.sheet[data-screen=menu] .panel-body{padding:22px 18px 10px}.sheet[data-screen=menu] .panel-top{padding:8px 18px}.sheet[data-screen=menu] .panel-actions{padding:12px 18px 16px}.sheet[data-screen=menu] .panel-actions button{font-size:14px}.lobby-heading h1{font-size:62px}.panel .lobby-heading .pitch{font-size:19px!important}.run-facts{gap:12px}.run-facts span{font-size:12px;min-width:65px}.run-facts b{font-size:20px}body[data-theme=aegis] .run-facts span{padding:12px}.mastery{gap:9px}.mastery span{font-size:13px}.lobby-heading .label{letter-spacing:.06em}body[data-theme=loopforge] .lobby-heading{padding-left:15px}body[data-theme=stackfuse] .lobby-heading h1{font-size:72px}.utility{gap:4px 10px}}
@media(max-height:600px) and (min-width:761px){.sheet[data-screen=menu] .panel-body{padding-top:20px}.lobby-heading h1,body[data-theme] .lobby-heading h1{font-size:60px}.run-facts{padding:10px 0}.sheet[data-screen=menu] .panel-actions{padding-top:10px;padding-bottom:12px}.sheet[data-screen=menu] .panel-actions button{min-height:46px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.sheet .panel-body{scrollbar-width:thin;scrollbar-color:var(--edge) transparent}
@media(max-width:760px){
 .sheet[data-screen=menu] .panel-body{background:color-mix(in srgb,var(--page) 40%,transparent)}
 .run-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .run-facts span{min-width:0;font-size:11px}
 body[data-theme=aegis] .run-facts span,body[data-theme=stackfuse] .run-facts span{padding:12px 6px}
}
