:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f2f5ff;--ink:#f2f5ff;--muted:#aab4d2;--panel:#0a102ae0;--line:#79b0ff4d;--gold:#ffd171;--cyan:#65dcff;background:#080b20;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app-shell{min-width:100%;min-height:100%;margin:0}body{background:#080b20;min-height:100vh;overflow:hidden}button,summary{font:inherit}button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}#game-canvas{touch-action:none;width:100%;height:100%;position:fixed;inset:0}#ui-root{z-index:1;pointer-events:none;min-height:100vh;padding:clamp(1.25rem,4vw,4rem);position:relative}#ui-root .battle-hud,#ui-root .run-shell,#ui-root :is(button,summary,details){pointer-events:auto}#loading-root{text-shadow:0 2px 24px #000;max-width:36rem;padding-top:12vh}h1{letter-spacing:-.045em;margin:.2rem 0 .8rem;font-size:clamp(2.5rem,7vw,6.5rem);line-height:.92}h2{margin:.3rem 0 .6rem}p{color:var(--muted);line-height:1.55}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:800}.run-shell{grid-template-columns:minmax(0,1fr) minmax(14rem,22rem);gap:1rem;width:min(76rem,100%);margin:0 auto;display:grid}.run-shell--front{width:min(78rem,100%);min-height:calc(100vh - clamp(2.5rem,8vw,8rem));display:block}.orientation-callout{display:none}.run-shell--front:before{z-index:-2;content:"";background:linear-gradient(90deg,#040716eb,#0407164d),url(/assets/vertical-slice/stages/lantern-ark.webp) 50%/cover;position:fixed;inset:0}.front-screen{background:#050a1ed1;border-color:#ffd17161;flex-wrap:wrap;align-content:center;gap:.7rem;min-height:min(46rem,100vh - 4rem);display:flex}.front-screen>:is(h1,h2,p,.hero-select-grid,.archive-grid,.dialogue-sequence,.tutorial-list,.settings-panel){flex-basis:100%}.front-screen>h1{max-width:12ch}.build-label{color:var(--muted);align-self:center;margin-left:auto}.hero-select-grid,.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.hero-select-card,.archive-card{border:1px solid var(--line);background:#0a112ce6;border-radius:.8rem;min-width:0;padding:.8rem}.hero-select-card img{object-fit:cover;object-position:center 22%;border-radius:.5rem;width:100%;height:min(32vh,17rem)}.hero-select-card :is(h2,p){margin-block:.35rem}.hero-select-card small{color:var(--muted)}.dialogue-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.dialogue-sequence p,.history-entry{border-left:2px solid var(--gold);background:#ffd17112;margin:0;padding:.7rem}.tutorial-list{color:var(--muted);gap:.45rem;display:grid}.settings-panel{gap:.8rem;max-width:34rem;display:grid}.settings-panel label{justify-content:space-between;align-items:center;gap:.6rem;display:flex}body[data-high-contrast=true]{--muted:#fff;--line:#ffffffb8;--panel:#000000f5}body[data-reduced-motion=true] *,body[data-reduced-motion=true] :before,body[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.run-header{grid-column:1/-1}.run-header h1{font-size:clamp(2.7rem,7vw,5.6rem)}.run-lede{max-width:42rem}.run-status{grid-area:2/2;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.run-notice{grid-area:2/1}.run-map,.run-decision,.run-summary{grid-column:1/-1}.map-layers{align-items:center;gap:clamp(.35rem,1.5vw,1rem);min-height:18rem;padding:1rem 0;display:flex;overflow-x:auto}.map-layer{flex:1 0 5.7rem;gap:.65rem;display:grid}.map-node{border:1px solid var(--line);min-height:3.4rem;color:var(--ink);background:#16254cf0;border-radius:999px}.map-node--boss,.map-node--elite{border-color:var(--gold)}.map-node:disabled{opacity:.42}.map-node[data-resolved=true]{background:#256970b3}.run-decision{flex-wrap:wrap;align-items:center;gap:.8rem;min-height:18rem;display:flex}.run-decision :is(.eyebrow,h2,p){flex-basis:100%}.run-decision button,.run-shell>button,.save-tools button,.import-control{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#182c5b;border-radius:.65rem;padding:.8rem 1rem}.save-tools{grid-column:1/-1;padding:.8rem 1rem}.save-tools summary{cursor:pointer}.save-tools button,.import-control{margin:.8rem .8rem 0 0;display:inline-block}.import-control input{max-width:16rem;margin-top:.4rem;display:block}@media (max-width:720px){.run-shell{grid-template-columns:1fr}.run-status,.run-notice{grid-area:auto/1}.hero-select-grid,.archive-grid,.dialogue-sequence{grid-template-columns:1fr}.front-screen{min-height:auto}}@media (max-width:520px) and (orientation:portrait){.orientation-callout{border:1px solid var(--gold);color:var(--gold);background:#111938;grid-column:1/-1;padding:.6rem;display:block}}.sandbox-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);align-items:end;gap:2rem;min-height:calc(100vh - clamp(2.5rem,8vw,8rem));display:grid}.hero-copy{text-shadow:0 2px 24px #000;max-width:46rem}.hero-copy p:last-child{color:#d9e1f7;max-width:34rem}.panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1rem;padding:1.4rem;box-shadow:0 1.2rem 4rem #00000059}.status-chip{color:var(--cyan);border:1px solid #65dcff66;border-radius:999px;margin:0;padding:.3rem .6rem;font-size:.78rem;display:inline-block}.button-row{gap:.7rem;margin:1rem 0;display:flex}button{min-height:2.8rem;color:var(--ink);cursor:pointer;background:#ffd1711f;border:1px solid #ffd1718c;border-radius:.6rem;padding:.65rem .9rem}button:hover{background:#ffd17138}details{border-top:1px solid var(--line);padding-top:.8rem}summary{color:var(--cyan);cursor:pointer}dl div{justify-content:space-between;gap:1rem;padding:.25rem 0;display:flex}dd{color:var(--muted);text-align:right;margin:0}.unsupported-panel{pointer-events:auto;max-width:38rem;margin:8vh auto}.unsupported-panel h1{font-size:clamp(2.3rem,6vw,4.5rem)}.battle-hud{grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);grid-template-areas:"top top""arena diagnostics""teams diagnostics""command diagnostics";align-content:space-between;gap:.7rem 1rem;min-height:calc(100vh - clamp(2.5rem,8vw,8rem));display:grid}.battle-topbar{text-shadow:0 2px 18px #000;grid-area:top;justify-content:space-between;align-items:start;gap:1rem;display:flex}.battle-title{margin:0;font-size:clamp(1.8rem,4vw,3.6rem);line-height:1}.battle-meta{color:#c2cae3;margin:.35rem 0 0;font:.72rem ui-monospace,SFMono-Regular,Consolas,monospace}.utility-controls,.command-preview,.ability-grid{flex-wrap:wrap;gap:.45rem;display:flex}.utility-controls button,.subtle-action{background:#0a102ad1;min-height:2.2rem;padding:.35rem .6rem;font-size:.76rem}.arena-info{grid-area:arena;justify-content:space-between;align-items:center;gap:1rem;min-height:2.7rem;display:flex}.timeline{gap:.35rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.timeline li{border:1px solid var(--line);color:var(--muted);background:#0a102ad1;border-radius:999px;flex:none;padding:.28rem .5rem;font-size:.69rem}.timeline .is-current{border-color:var(--gold);color:var(--gold)}.resonance-panel{min-width:10rem;color:var(--cyan);font-size:.72rem;display:grid}.resonance-panel progress{width:100%}.teams{grid-area:teams;grid-template-columns:1fr 1fr;gap:1rem;display:grid}.team h2{color:#dbe4ff;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px #000;margin:0 0 .35rem;font-size:.78rem}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.unit-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080d23db;border-radius:.65rem;min-width:0;padding:.55rem;box-shadow:0 .7rem 1.8rem #0000003d}.unit-card.enemies{border-color:#ff4e9559}.unit-card.is-broken{border-color:var(--gold);box-shadow:0 0 1.2rem #ffd17140}.unit-card.is-defeated{opacity:.52}.unit-heading{justify-content:space-between;align-items:start;gap:.4rem;display:flex}.unit-heading h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;overflow:hidden}.formation-label{color:var(--muted);text-transform:uppercase;font-size:.56rem}.unit-bars{margin-top:.35rem}.meter{color:var(--muted);gap:.08rem;margin-top:.18rem;font-size:.58rem;display:grid}.meter progress{accent-color:#ef527f;width:100%;height:.42rem}.meter.stability progress{accent-color:var(--cyan)}.barrier-value,.intent{color:var(--cyan);margin:.25rem 0 0;font-size:.61rem;line-height:1.25}.intent{color:#ffafca}.status-list{flex-wrap:wrap;gap:.2rem;margin-top:.3rem;display:flex}.status{color:#caefff;background:#65dcff21;border-radius:.25rem;padding:.12rem .25rem;font-size:.55rem}.status.negative,.status.control{color:#ffc1d8;background:#ff4e9529}.status-broken{color:var(--gold);background:#ffd1712e}.target-button{width:100%;min-height:2rem;margin-top:.35rem;padding:.25rem;font-size:.65rem}.target-button[aria-pressed=true]{border-color:var(--cyan);background:#65dcff38}.command-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d23eb;border-radius:.75rem;grid-area:command;padding:.65rem}.command-panel h2{margin:0 0 .45rem;font-size:.9rem}.ability-grid button{flex:9rem;min-height:2.4rem;font-size:.7rem}.ability-grid button:before{width:1.35rem;height:1.35rem;color:var(--cyan);content:"✦";border:1px solid;border-radius:50%;place-items:center;margin-right:.4rem;display:inline-grid}.ability-grid button[data-icon=guard]:before{content:"◇"}.ability-grid button[data-icon=break]:before{color:var(--gold);content:"⌁"}.ability-grid button[data-icon=heal]:before{content:"+"}.ability-grid button[data-icon=resonance]:before{color:var(--gold);content:"◉"}button.is-selected,.primary-action{border-color:var(--gold);background:#ffd1713d}.command-preview{align-items:center;margin-top:.45rem}.command-preview p{flex:15rem;margin:0;font-size:.68rem}.diagnostics{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080d23e0;border-radius:.75rem;grid-area:diagnostics;align-self:stretch;max-height:calc(100vh - 7rem);padding:.8rem;overflow:auto}.diagnostics details{margin-bottom:.65rem}.settings-grid{gap:.55rem;margin-top:.55rem;display:grid}.settings-grid label{color:var(--muted);gap:.2rem;font-size:.7rem;display:grid}.settings-grid .check-control{display:block}select{border:1px solid var(--line);min-height:2rem;color:var(--ink);background:#111938;border-radius:.35rem}.event-log{color:var(--muted);margin:.5rem 0 0;padding-left:1.2rem;font-size:.65rem;line-height:1.4}.accessible-summary p,.battle-notice{font-size:.7rem}.battle-notice{border-left:3px solid var(--gold);color:var(--gold);background:#ffd17114;padding:.5rem}@media (max-width:800px),(max-height:620px){body{overflow:auto}#ui-root{padding:1rem}.sandbox-layout{grid-template-columns:1fr;align-items:start;gap:1rem}.hero-copy h1{font-size:clamp(2.3rem,11vw,4rem)}.battle-hud{grid-template-columns:1fr;grid-template-areas:"top""arena""teams""command""diagnostics"}.battle-topbar{flex-direction:column}.teams{grid-template-columns:1fr}.diagnostics{max-height:none}}@media (min-width:801px) and (max-width:1150px){#ui-root{padding:.8rem}.battle-hud{grid-template-columns:minmax(0,1fr) 16rem}.unit-card{padding:.38rem}.battle-title{font-size:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
