:root{color-scheme:dark;font-family:Tahoma,Arial,sans-serif;color:#f5eedc;background:#08111f;--gold:#ffda79}*{box-sizing:border-box}body{margin:0;display:grid;place-items:center;min-height:100svh;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:700 16px Tahoma,Arial;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #9de9ff;outline-offset:4px}[hidden]{display:none!important}#arena{position:relative;isolation:isolate;width:min(100vw,480px);height:100svh;max-height:1040px;overflow:hidden;background:#102038;touch-action:none;user-select:none;-webkit-user-select:none}canvas{width:100%;height:100%;display:block}header{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 18px 10px;background:linear-gradient(#0b192be6,#0b192b55);z-index:4}.brand{font:900 18px/1.1 Arial;letter-spacing:.5px}.brand b{color:var(--gold)}.brand small{display:block;margin-top:6px;color:#b4c9da;font:700 11px Arial;letter-spacing:1.3px}.buttons{display:flex;gap:8px}.buttons button{width:42px;height:42px;border:1px solid #6e8aa466;border-radius:13px;background:#162a42cc;color:#f5e5c3;font-size:22px}#hud{position:absolute;left:18px;right:18px;top:calc(82px + env(safe-area-inset-top));pointer-events:none;z-index:3}.metrics{display:flex;justify-content:space-between;flex-direction:row-reverse;gap:14px;text-shadow:1px 2px 3px #0b1527}.metrics>div{display:flex;flex-direction:column;gap:3px}.metrics span{font-size:13px;color:#cee0ef}.metrics b{font:800 27px Arial;color:var(--gold);font-variant-numeric:tabular-nums}.rank{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:12px 0 7px}.rank span{color:#a3e8dd;font-size:12px}.progress,.boss-bar{height:4px;background:#d6e1e025;border-radius:4px;overflow:hidden;direction:ltr}.progress i,.boss-bar i{display:block;height:100%;background:var(--gold);width:0}#boss-hud{margin-top:12px;padding:10px 12px;background:#101e33e0;border:1px solid #e7966944;border-radius:10px}#boss-hud>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:7px}#phase{font:700 11px Arial;color:#ffb6a0}.boss-bar{height:8px}.boss-bar i{background:linear-gradient(90deg,#ec6250,#ffab73)}.overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:85px 24px 26px;background:linear-gradient(#0b17269c,#0b172655 40%,#0b1726f0)}.card{width:100%;max-width:355px;text-align:center}.eyebrow{font:700 10px Arial;letter-spacing:1.8px;color:#d3e0e8;margin:0 0 18px}h1{font:900 clamp(45px,13vw,65px)/.95 Impact,Arial,sans-serif;letter-spacing:-1.5px;transform:rotate(-3deg);text-shadow:3px 4px #11233b;margin:0 0 18px}h1 em{color:var(--gold)}.edition{font-size:13px;color:#f3d183;font-weight:700}.instructions{font-size:15px;line-height:1.9;text-shadow:0 2px 4px #000;margin:24px 0}.instructions p{margin:12px 0}.primary{border:1px solid #ffe6ac;background:linear-gradient(#ffe7a5,#e5ae46);box-shadow:0 5px #7a5325;color:#172338;min-height:53px;width:100%;border-radius:12px;font-size:19px;padding:12px}.primary:disabled{opacity:.6;cursor:wait}.secondary{min-height:48px;width:100%;background:#192d44;color:#e4edf2;border:1px solid #6688a4;border-radius:10px;margin-top:15px}.v1-link{display:inline-block;color:#bdd0e1;font-size:14px;margin-top:25px;padding:8px}.small-card{background:#0e1e32ed;padding:25px 20px;border:1px solid #d9b26b55;border-radius:18px}.small-card h2{font-size:29px;line-height:1.5;margin:12px 0;color:var(--gold)}.small-card p{font-size:14px;line-height:1.9;color:#ccdae5}.final-score{font:900 43px Arial;color:var(--gold);display:block;margin:18px 0}#result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;margin-bottom:24px;color:#bed4e4}#result-stats b{display:block;color:#fff0c6;font:800 22px Arial;margin-top:7px}.transition{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:4;pointer-events:none;background:#10283bbe;text-align:center}.transition span{font-size:20px;color:#a8ead1}.transition h2{font-size:30px;line-height:1.8;margin:14px 0}.transition em{color:var(--gold);font-style:normal}.transition p{font-size:15px}.transition-line{width:55%;height:4px;background:var(--gold);transform-origin:right;animation:countdown 2s linear both}.intro{position:absolute;top:33%;left:15px;right:15px;padding:20px;background:#301c24e6;border-block:2px solid #ffa276;text-align:center;z-index:4;pointer-events:none}.intro span{font-size:16px;color:#ffb391}.intro b{display:block;font-size:32px;margin-top:8px}#notice{position:absolute;left:12px;right:12px;top:38%;z-index:4;text-align:center;pointer-events:none;color:#fff4c4;background:linear-gradient(90deg,transparent,#13253be8,transparent);padding:12px 4px;font:800 16px Arial;text-shadow:0 2px #111}#gesture-hint{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:14px;color:#e2ddcb;pointer-events:none}@keyframes countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.transition-line{animation:none}}@media(max-height:690px){header{padding-top:10px}.brand{font-size:16px}#hud{top:70px}.metrics b{font-size:23px}.overlay{padding-top:65px}.instructions{margin:13px 0;font-size:14px}.instructions p{margin:7px 0}h1{font-size:47px}.v1-link{margin-top:13px}.small-card{padding:14px}#result-stats{margin-bottom:15px}.final-score{margin:10px 0;font-size:35px}}@media(min-width:650px){#arena{border-inline:1px solid #43556c;box-shadow:0 0 100px #17314755}}
/* Correction pass: compact top rail; touch targets remain 42px. */
header{padding:calc(5px + env(safe-area-inset-top)) 12px 3px;background:linear-gradient(#09172bf0,#09172b88)}.brand{font-size:13px;letter-spacing:.2px}.brand small{font-size:8px;margin-top:3px;letter-spacing:.6px}.buttons{gap:5px}.buttons button{border-radius:10px;font-size:20px}#hud{top:calc(54px + env(safe-area-inset-top));left:12px;right:12px}.metrics{gap:8px}.metrics>div{flex-direction:row;align-items:baseline;gap:6px}.metrics span{font-size:10px}.metrics b{font-size:20px}.rank{margin:6px 0 5px;font-size:10px}.rank span{font-size:10px}.progress{height:2px}#boss-hud{margin-top:5px;padding:4px 8px;border-radius:6px}#boss-hud>div:first-child{font-size:11px;margin-bottom:4px}.boss-bar{height:5px}#phase{font-size:9px}#notice{top:auto;bottom:calc(48px + env(safe-area-inset-bottom));font-size:12px;padding:6px;left:55px;right:55px}#gesture-hint{font-size:12px;bottom:calc(17px + env(safe-area-inset-bottom));color:#e6dfcb}.intro{top:25%;padding:12px}.intro span{font-size:13px}.intro b{font-size:22px}.transition{background:#10283b99}.transition h2{font-size:27px}.transition p{font-size:13px}
@media(max-height:690px){header{padding-top:5px}.brand{font-size:12px}#hud{top:54px}.metrics b{font-size:18px}.rank{margin:4px 0}.instructions{font-size:13px}}
.brand{font-size:14px}.brand small{font-size:12px}.metrics span,.rank,.rank span,#phase{font-size:12px}#boss-hud>div:first-child{font-size:12px}#gesture-hint{font-size:13px}
/* The commander title is a brief, non-blocking rail while the escort keeps moving. */
.intro{top:calc(139px + env(safe-area-inset-top));left:35px;right:35px;padding:6px;z-index:4}.intro span{font-size:12px}.intro b{font-size:18px;margin-top:3px}

/* Campaign results keep Latin figures and fit short phone screens. */
#result .small-card{max-height:calc(100svh - 65px);overflow-y:auto}#result-stats{gap:9px;font-size:12px}#result-stats b{font-size:19px;margin-top:4px}#result .small-card h2{font-size:25px;margin:6px 0}#result .final-score{font-size:35px;margin:12px 0}.rank{white-space:nowrap}.rank span{font-size:10px}.transition-line{will-change:transform}
