:root{color-scheme:dark;--ink: #100f0e;--dust: #a93224;--dust-deep: #681b16;--cream: #f0dfbd;--paper: #fff2cf;--signal: #ffcf55;--cool: #72e6df;--danger: #ff5b45;--line: rgba(240, 223, 189, .26);--panel: rgba(16, 15, 14, .86);font-family:ui-monospace,Cascadia Mono,SFMono-Regular,Consolas,monospace;background:var(--dust);font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#app-shell{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--dust);color:var(--cream);overscroll-behavior:none}button{border:1px solid var(--line);border-radius:0;background:#100f0ec7;color:var(--cream);font:600 .72rem/1 ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.08em;padding:.68rem .82rem;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}button:hover,button:focus-visible{background:var(--paper);color:var(--ink);outline:2px solid var(--signal);outline-offset:2px}button:active{transform:translateY(1px)}button[aria-pressed=true]{background:var(--signal);color:var(--ink)}#app-shell{position:relative;isolation:isolate;background:linear-gradient(90deg,transparent 49.86%,rgba(240,223,189,.08) 50%,transparent 50.14%),linear-gradient(0deg,rgba(16,15,14,.28),transparent 45%,rgba(255,207,85,.05))}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#game-canvas:active{cursor:grabbing}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(.8rem,2vw,1.8rem);background:linear-gradient(180deg,#100f0eed,#100f0e00);pointer-events:none}.brand-lockup,.top-actions{pointer-events:auto}.brand-lockup{display:flex;align-items:center;gap:.75rem}.brand-lockup strong,.brand-lockup small,.case-number,.hud-cell span,.order-heading,.memory-bank>span{display:block;letter-spacing:.12em}.brand-lockup strong{font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(1rem,2vw,1.45rem);line-height:.9}.brand-lockup small{margin-top:.28rem;color:#f0dfbda8;font-size:.56rem}.district-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--signal);color:var(--signal);font-family:Impact,Arial Narrow,sans-serif;font-size:1.15rem;font-weight:800;transform:skew(-8deg)}.top-actions{display:flex;gap:.45rem}.icon-button,#pause-button,#restart-button{min-height:36px;padding:.55rem .68rem}.hud{position:absolute;z-index:8;top:74px;left:clamp(.8rem,2vw,1.8rem);right:clamp(.8rem,2vw,1.8rem);display:grid;grid-template-columns:1.15fr .62fr .86fr .72fr 1.25fr .78fr .86fr .7fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#100f0ecc,#100f0e75);backdrop-filter:blur(7px)}.hud-cell{min-width:0;padding:.62rem .72rem;border-right:1px solid var(--line)}.hud-cell:last-child{border-right:0}.hud-cell span{margin-bottom:.28rem;color:#f0dfbd94;font-size:.54rem;white-space:nowrap}.hud-cell strong{display:block;overflow:hidden;color:var(--paper);font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.timer-cell strong{color:var(--signal);font-variant-numeric:tabular-nums}.timer-cell.is-urgent strong{color:var(--danger);animation:urgent-pulse .8s steps(2,end) infinite}.rail-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:.35rem}.rail-row i{color:var(--cool);font-style:normal;font-size:.65rem}.rail-row b{height:6px;background:#f0dfbd21}.rail-row em{display:block;width:100%;height:100%;background:var(--cool);transition:width .18s linear,background .18s ease}.rail-row strong{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.64rem;font-variant-numeric:tabular-nums}.chain-cell strong{color:var(--cool)}.hold-row{height:4px;margin-top:.34rem;background:#f0dfbd21}.hold-row i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cool),var(--signal));transition:opacity .16s ease}.order-cell strong{color:var(--signal);font-size:clamp(.8rem,1.15vw,1.05rem);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.02em}.settle-cell strong{color:#f0dfbdd1;font-variant-numeric:tabular-nums}.settle-cell strong.is-urgent{color:var(--danger)}.memory-bank{position:absolute;z-index:7;top:154px;right:clamp(.8rem,2vw,1.8rem);width:174px;padding:.65rem;border:1px solid var(--line);background:var(--panel)}.memory-bank>span{color:#f0dfbd94;font-size:.53rem}.memory-bank>strong{display:block;margin-top:.4rem;font-size:.6rem;letter-spacing:.07em}.tile-bank{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:.45rem}.tile-bank i{aspect-ratio:1;border:1px solid rgba(240,223,189,.22);background:#26211d}.tile-bank i.lit{border-color:var(--signal);background:var(--signal);box-shadow:0 0 9px #ffcf55bf}.order-deck{position:absolute;z-index:7;left:clamp(.8rem,2vw,1.8rem);bottom:3.5rem;width:min(480px,calc(100vw - 2rem));padding:.65rem .75rem .75rem;border-left:4px solid var(--signal);background:var(--panel);backdrop-filter:blur(7px)}.order-heading{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:.56rem}.order-heading small{color:#f0dfbd85;font-size:.52rem;letter-spacing:0}.core-strip{display:flex;gap:.35rem;min-height:34px}.core-chip{position:relative;min-width:66px;flex:1;padding:.48rem .5rem;overflow:hidden;color:#f0dfbd94;font-size:.56rem}.core-chip:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#71675b}.core-chip.selected{border-color:var(--signal);background:#ffcf5524;color:var(--paper)}.core-chip.selected:before{background:var(--signal);box-shadow:0 0 8px var(--signal)}.core-chip.done{color:var(--cool);text-decoration:line-through}.core-chip.done:before{background:var(--cool)}.status-ribbon{position:absolute;z-index:7;left:50%;bottom:4rem;min-width:min(420px,calc(100vw - 2rem));padding:.5rem .8rem;transform:translate(-50%);border-top:1px solid rgba(255,207,85,.6);background:#100f0ec2;text-align:center;pointer-events:none}.status-ribbon b,.status-ribbon span{display:block}.status-ribbon b{color:var(--signal);font-size:.63rem;letter-spacing:.14em}.status-ribbon span{margin-top:.15rem;color:#f0dfbdb8;font-size:.55rem}.status-ribbon.is-danger{border-color:var(--danger)}.status-ribbon.is-danger b{color:var(--danger)}.desktop-legend{position:absolute;z-index:7;left:0;right:0;bottom:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:clamp(.7rem,2.5vw,2.2rem);border-top:1px solid var(--line);background:#100f0eeb;color:#f0dfbda6;font-size:.54rem}kbd{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-right:3px;border:1px solid rgba(240,223,189,.4);background:#27221e;color:var(--paper);font:inherit}.touch-deck{display:none}.overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center start;padding:4.5rem clamp(.8rem,2vw,2.2rem) 2rem;overflow:auto;background:linear-gradient(100deg,#1e0806f0,#1e0806d1 38%,#1e08062e 68%,#1e08060d);backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.overlay:has(.compact),.overlay:has(.end-card){place-items:center;background:#1e0806ad;backdrop-filter:blur(4px)}.overlay-card{position:relative;width:min(600px,100%);padding:clamp(1.2rem,2.6vw,2.2rem);overflow:hidden;border:1px solid rgba(240,223,189,.42);border-top:6px solid var(--signal);background:linear-gradient(135deg,transparent 0 64%,rgba(255,207,85,.08) 64% 65%,transparent 65%),#100f0eeb;box-shadow:14px 14px #100f0e4d}.overlay-card:after{content:"";position:absolute;top:1.3rem;right:1.3rem;width:54px;height:54px;border:1px solid var(--danger);transform:rotate(45deg)}.overlay-card.compact{width:min(480px,100%);text-align:center}.case-number{color:var(--signal);font-size:.62rem}.overlay h1,.overlay h2{margin:.7rem 0 1rem;color:var(--paper);font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(3.2rem,10vw,7.4rem);font-weight:800;letter-spacing:-.045em;line-height:.72;text-transform:uppercase}.overlay h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px var(--paper)}.overlay h2{font-size:clamp(2.8rem,7vw,5.4rem)}.overlay-card>p{max-width:52ch;margin:1rem 0 1.4rem;color:#f0dfbdc7;font-size:.8rem;line-height:1.6}.briefing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:1.5rem 0;background:var(--line)}.briefing-grid div{min-height:78px;padding:.8rem;background:var(--ink)}.briefing-grid b,.briefing-grid span{display:block}.briefing-grid b{color:var(--signal);font-family:Impact,Arial Narrow,sans-serif;font-size:1.5rem}.briefing-grid span{margin-top:.35rem;color:#f0dfbda8;font-size:.58rem;line-height:1.4}.primary-button{min-width:210px;border:0;background:var(--signal);color:var(--ink);font-size:.72rem;font-weight:800;padding:.9rem 1.1rem}.overlay-card>small{display:block;margin-top:.7rem;color:#f0dfbd7a;font-size:.52rem}.end-card{width:min(780px,100%)}.ending-mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem;margin:1.2rem 0}.ending-mosaic i{aspect-ratio:1;border:1px solid rgba(240,223,189,.28);background:#241f1a;transform:scale(.88)}.ending-mosaic i.lit{border-color:var(--paper);background:var(--signal);box-shadow:0 0 18px #ffcf559e;animation:tile-arrival .5s steps(4,end) both;animation-delay:calc(var(--tile-index) * 70ms)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:1.2rem;border:1px solid var(--line)}.result-grid div{padding:.75rem;border-right:1px solid var(--line)}.result-grid div:last-child{border-right:0}.result-grid span,.result-grid strong{display:block}.result-grid span{color:#f0dfbd8c;font-size:.54rem;letter-spacing:.1em}.result-grid strong{margin-top:.2rem;color:var(--signal);font-family:Impact,Arial Narrow,sans-serif;font-size:1.7rem}@keyframes urgent-pulse{50%{opacity:.45}}@keyframes tile-arrival{0%{transform:scale(.2) rotate(45deg);filter:brightness(3)}to{transform:scale(1) rotate(0);filter:brightness(1)}}@media(max-width:900px){.hud{grid-template-columns:repeat(3,1fr)}.hud-cell:nth-child(-n+3){border-bottom:1px solid var(--line)}.hud-cell:nth-child(3){border-right:0}.memory-bank{top:210px}.status-ribbon{bottom:4.4rem}.desktop-legend span:nth-child(4),.desktop-legend span:nth-child(5){display:none}}@media(max-width:700px),(pointer:coarse){.topbar{min-height:58px;padding:.6rem}.brand-lockup small,.district-mark,#restart-button,.desktop-legend{display:none}.brand-lockup strong{font-size:.92rem}.top-actions button{min-height:34px;padding:.48rem;font-size:.58rem}.hud{top:60px;left:.55rem;right:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.hud-cell{padding:.46rem .5rem}.hud-cell span{font-size:.46rem}.hud-cell strong{font-size:1rem}.district-cell,.score-cell,.order-cell{display:none}.quota-cell{grid-column:1}.timer-cell{grid-column:2}.chain-cell{grid-column:3}.rail-cell{grid-column:1 / 3;border-right:1px solid var(--line)}.settle-cell{grid-column:3;border-right:0}.settle-cell strong{font-size:.86rem}.hold-row{margin-top:.24rem}.rail-row{grid-template-columns:12px 1fr auto}.memory-bank{top:auto;right:.6rem;bottom:10.7rem;width:148px;padding:.5rem}.memory-bank>span,.memory-bank>strong{display:none}.tile-bank{margin:0}.order-deck{left:.6rem;right:.6rem;bottom:8.6rem;width:auto;padding:.5rem .55rem .6rem}.order-heading{margin-bottom:.38rem}.order-heading small{display:none}.core-chip{min-width:0;padding:.42rem .25rem;font-size:.5rem}.status-ribbon{bottom:6.55rem;min-width:0;width:calc(100vw - 1.2rem);padding:.38rem .5rem}.status-ribbon b{font-size:.55rem}.status-ribbon span{display:none}.touch-deck{position:absolute;z-index:12;left:0;right:0;bottom:0;height:6.1rem;display:grid;grid-template-columns:minmax(155px,1fr) 1fr 86px;align-items:center;gap:.5rem;padding:.45rem .65rem max(.45rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#100f0ef2}.touch-deck p{margin:0;color:#f0dfbd80;font-size:.47rem;line-height:1.45;text-align:center}.rocker{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:.25rem}.rocker button{height:52px;padding:0;touch-action:none}.rocker span{color:#f0dfbd94;font-size:.48rem;line-height:1.3;text-align:center}.brake-disk{width:76px;height:76px;padding:0;border:2px solid var(--danger);border-radius:50%;background:radial-gradient(circle,#4b1712 0 34%,#1a1513 35% 58%,#a93224 59% 63%,#1a1513 64%);touch-action:none}.brake-disk span,.brake-disk small{display:block;font-size:.52rem}.brake-disk small{color:var(--danger)}.overlay{padding:4.4rem .7rem .7rem}.overlay-card{padding:1.25rem}.overlay-card:after{width:30px;height:30px}.briefing-grid{grid-template-columns:1fr}.briefing-grid div{min-height:0;display:grid;grid-template-columns:35px 1fr;align-items:center}.briefing-grid span{margin:0}.end-card{padding-bottom:1rem}}@media(max-height:650px)and (orientation:landscape){.topbar{min-height:50px}.hud{top:52px;grid-template-columns:repeat(6,1fr)}.hud-cell:nth-child(n){border-bottom:0}.rail-cell,.memory-bank,.order-heading,.desktop-legend{display:none}.order-deck{left:.7rem;bottom:.7rem;width:330px}.status-ribbon{right:.7rem;bottom:.7rem;left:auto;width:280px;transform:none}.touch-deck{left:auto;width:330px;height:5.3rem;grid-template-columns:190px 70px}.touch-deck p{display:none}.overlay{padding-top:3.8rem}.overlay-card{max-height:calc(100vh - 4.2rem);overflow:auto}.overlay h1{font-size:3.4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.hud-cell,.brand-lockup,.top-actions,.memory-bank,.order-deck,.status-ribbon,.touch-deck,.overlay-card{min-width:0}.hud-cell span,.hud-cell strong,.order-heading,.core-chip,.status-ribbon b,.status-ribbon span{overflow-wrap:anywhere}.hud-cell strong,.rail-row strong{white-space:nowrap}@media(min-width:901px){.order-deck,.memory-bank{max-height:calc(100dvh - 220px);overflow:auto}.status-ribbon{max-width:min(420px,calc(100vw - 2rem))}.overlay-card{max-height:calc(100dvh - 6rem);overflow:auto;overscroll-behavior:contain}}@media(max-width:900px){.status-ribbon{right:1rem;bottom:3.5rem;left:auto;width:min(300px,calc(100vw - 2rem));transform:none}}@media(max-width:700px),(pointer:coarse){.topbar{min-height:56px}.hud{top:58px}.memory-bank{top:12.5rem;right:.6rem;bottom:auto;width:8.75rem;max-height:7rem;overflow:hidden}.order-deck{right:.6rem;bottom:8.5rem;left:.6rem;width:auto;max-height:7rem;overflow:auto}.status-ribbon{right:.6rem;bottom:6.35rem;left:.6rem;width:auto;min-width:0}.touch-deck{height:6rem;grid-template-columns:minmax(0,1fr) 76px;gap:.35rem;padding-inline:.55rem}.touch-deck p{display:none}.rocker{grid-template-columns:44px minmax(0,1fr) 44px;gap:.2rem}.brake-disk{width:64px;height:64px;justify-self:end}.overlay{padding:4.5rem .7rem .7rem;overscroll-behavior:contain}.overlay-card{width:100%;max-height:calc(100dvh - 5.5rem);overflow:auto;padding:1.25rem}.overlay h1{font-size:clamp(3rem,16vw,4.4rem)}.overlay h2{font-size:clamp(2.4rem,12vw,3.6rem)}.briefing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.briefing-grid div{min-width:0;padding:.65rem}.briefing-grid span{overflow-wrap:anywhere}.primary-button{width:100%;min-width:0}.result-grid div{min-width:0;padding:.6rem}}@media(max-width:420px){.memory-bank{width:8.25rem}.order-deck{max-height:6.5rem}.core-chip{padding-inline:.15rem;font-size:.46rem}}
