@font-face{font-family:Trail;src:url('./assets/trail-display.woff2') format('woff2'),url('./assets/trail-display.ttf') format('truetype');font-display:swap;font-weight:700 900}
:root{color-scheme:dark;--surface:#151719;--deep:#080a0b;--text:#eef1f2;--teal:#38d6c7;--muted:#a4adb0;--line:#ffffff20;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--deep);color:var(--text);min-height:100svh}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}.game-shell{max-width:1536px;margin:auto;padding:0 40px}.masthead{height:110px;display:flex;align-items:center;gap:28px}.wordmark{color:var(--text);text-decoration:none;font-family:Trail,'Arial Black',sans-serif;font-weight:900;font-size:27px;letter-spacing:-1px;white-space:nowrap}.wordmark-run{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;font-weight:400;font-size:24px;margin-left:4px}.wordmark-period{color:var(--teal)}.location{font-family:monospace;font-size:12px;letter-spacing:2px;color:var(--muted);margin-left:auto}.tools{display:flex;gap:8px;margin-left:14px}.icon-button{color:var(--text);background:transparent;border:1px solid #b3c2c42a;border-radius:50%;display:grid;place-items:center;width:44px;height:44px;transition:background .15s,border-color .15s}.icon-button:hover:not(:disabled){background:#ffffff0c;border-color:#38d6c770}.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.arena{position:relative;isolation:isolate;width:100%;height:min(67vw,660px);min-height:500px;max-height:calc(100svh - 192px);overflow:hidden;border-radius:8px;background:#171c1e;box-shadow:0 0 0 1px #7ce8dd15,0 18px 70px #00000033;touch-action:manipulation;user-select:none;-webkit-user-select:none}.arena:after{content:'';position:absolute;inset:0;border:1px solid #ffffff22;border-radius:inherit;pointer-events:none;z-index:6}#game{display:block;width:100%;height:100%;outline-offset:-4px;image-rendering:pixelated;touch-action:manipulation}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080a0b61 0%,transparent 25%,transparent 76%,#0c101126 100%);z-index:1}.arena.is-overlay .scene-shade{background:linear-gradient(90deg,#11141670 0%,#1114162b 44%,transparent 80%),linear-gradient(180deg,#080a0b4a 0%,transparent 35%)}.hud{position:absolute;z-index:2;top:30px;left:34px;right:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}.trail-tag{color:#eef1f2;display:flex;align-items:center;gap:10px;font-family:monospace;font-size:12px;letter-spacing:1.7px;line-height:1.5;text-shadow:0 1px 5px #15171970}.trail-rule{width:22px;height:2px;background:var(--teal)}.scoreboard{display:flex;gap:35px;text-shadow:0 1px 6px #15171960}.score-item{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.score-label{font-size:12px;letter-spacing:1.5px;font-weight:700}.score-number{font-family:monospace;font-size:27px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:2px;display:flex;gap:7px;align-items:baseline}.score-unit{font-size:12px;letter-spacing:0;font-weight:400;opacity:.7}.best-number{color:#73e4d8}.device-note{font-size:10px;letter-spacing:.5px;opacity:.8}.overlay{position:absolute;z-index:3;inset:0;display:flex;align-items:center;pointer-events:none;padding:70px 6.3% 108px}.intro-copy{pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:10px;font-family:monospace;font-size:12px;letter-spacing:2.2px;color:#b8c8c9;margin-bottom:16px}.eyebrow span{width:6px;height:6px;background:var(--teal);transform:rotate(45deg)}h1{font-family:Trail,'Arial Black',Impact,sans-serif;font-size:clamp(74px,7.8vw,116px);line-height:.86;letter-spacing:-3px;font-weight:900;margin:0;text-shadow:0 4px 0 #08101126}h1 span{color:var(--teal)}#overlay-description{font-size:16px;line-height:1.6;margin:21px 0 24px;color:#e6edef;text-shadow:0 1px 10px #08101160}.start-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid #86e9df;border-radius:5px;min-height:52px;padding:14px 23px;background:var(--teal);color:#0a1515;font-size:16px;font-weight:700;box-shadow:0 4px 0 #12544f;transition:transform .12s,box-shadow .12s,background .12s}.start-button:hover:not(:disabled){background:#79e9de;transform:translateY(-1px);box-shadow:0 5px 0 #12544f}.start-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #12544f}.start-button:disabled{opacity:.8}.start-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.start-hint{font-family:monospace;letter-spacing:1.3px;font-size:11px!important;color:#b5c2c4be;margin-top:18px!important}.scenery-caption{position:absolute;right:30px;bottom:26px;color:#c6d0d272;z-index:2;font-family:monospace;font-size:10px;letter-spacing:1.8px;pointer-events:none}.controls-bar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.keyboard-help{display:flex;gap:30px;align-items:center;color:var(--muted);font-size:14px}.keyboard-help>span{display:flex;align-items:center;gap:10px}kbd{border:1px solid #a4adb040;border-radius:4px;min-width:27px;min-height:27px;display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;color:#dee6e8;font-family:monospace;font-size:11px;line-height:1}.or{opacity:.4}.trail-note{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:2px;font-family:monospace;color:#a4adb077}.note-line{width:22px;height:1px;background:#a4adb057}.touch-jump{display:none;border:1px solid #a6b3b530;border-radius:6px;min-height:48px;background:#1d282a;color:var(--text);font-weight:600;align-items:center;justify-content:center;gap:12px}.touch-jump svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.touch-jump:active{background:#29403f;transform:translateY(1px)}.overlay[data-state="paused"] h1,.overlay[data-state="over"] h1,.overlay[data-state="error"] h1{font-size:clamp(56px,6.5vw,88px);line-height:.97;max-width:700px;letter-spacing:-2px}.overlay[data-state="over"] #overlay-description{margin:17px 0}.overlay[data-state="over"] .intro-copy,.overlay[data-state="paused"] .intro-copy{padding-bottom:4px}.run-summary{display:flex;gap:40px;margin:18px 0 24px}.run-summary>div{display:flex;flex-direction:column;gap:7px}.run-summary span{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#c6d2d4c9}.run-summary strong{font-family:monospace;font-size:27px;color:var(--teal)}.milestone{position:absolute;z-index:2;top:28%;left:50%;transform:translate(-50%,10px);color:var(--text);font-family:monospace;font-size:22px;font-weight:700;letter-spacing:3px;opacity:0;pointer-events:none;text-shadow:0 2px 10px #081011;transition:opacity .3s,transform .3s}.milestone.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{padding:20px;text-align:center}.arena.crash{animation:impact .2s ease-out}@keyframes impact{0%{transform:translateX(-3px)}40%{transform:translateX(3px)}75%{transform:translateX(-1px)}100%{transform:none}}
@media(min-width:1400px){.arena{height:690px;max-height:calc(100svh - 192px)}.overlay{padding-left:7%}}
@media(max-width:1050px){.game-shell{padding:0 24px}.masthead{height:90px}.arena{max-height:calc(100svh - 162px);min-height:460px}.controls-bar{height:72px}.hud{left:25px;right:25px;top:25px}.trail-tag{font-size:10px;letter-spacing:1px}.scoreboard{gap:24px}.device-note{display:none}.overlay{padding-left:6%;padding-bottom:100px}h1{font-size:86px}.eyebrow{font-size:11px;letter-spacing:1.7px}}
@media(max-width:700px){.game-shell{padding:0 16px}.masthead{height:78px;gap:8px}.wordmark{font-size:25px}.wordmark-run{font-size:22px}.location{display:none}.tools{margin-left:auto;gap:8px}.icon-button{width:41px;height:41px}.arena{height:calc(100svh - 167px);min-height:485px;max-height:780px;border-radius:9px}.hud{top:22px;left:22px;right:22px}.trail-tag{display:none}.scoreboard{width:100%;justify-content:space-between;gap:12px}.score-item{align-items:flex-start}.best-item{align-items:flex-end}.score-label{font-size:11px;letter-spacing:1.4px}.score-number{font-size:24px}.device-note{display:none}.overlay{padding:104px 28px 120px;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:18px}h1{font-size:clamp(70px,16.8vw,108px);letter-spacing:-2px}#overlay-description{font-size:15px;line-height:1.5;margin:19px 0 22px}.start-button{min-height:50px;padding:13px 21px}.start-hint{font-size:10px!important;letter-spacing:1px}.scenery-caption{font-size:9px;right:20px;bottom:22px;letter-spacing:1.3px}.controls-bar{height:89px;padding:14px 0 23px;gap:12px}.keyboard-help{display:none}.touch-jump{display:flex;flex:1}.trail-note{display:none}.overlay[data-state="over"] h1,.overlay[data-state="paused"] h1{font-size:64px}.run-summary{gap:30px;margin:18px 0 22px}.run-summary strong{font-size:26px}.run-summary span{font-size:10px}.milestone{top:24%;font-size:20px}}
@media(max-width:360px){.game-shell{padding:0 10px}.overlay{padding-left:22px;padding-right:22px}h1{font-size:65px}.eyebrow{letter-spacing:1px}.overlay[data-state="over"] h1,.overlay[data-state="paused"] h1{font-size:55px}}
@media(max-height:690px) and (min-width:701px){.masthead{height:72px}.arena{min-height:390px;max-height:none;height:calc(100svh - 130px)}.controls-bar{height:58px}.overlay{padding-top:74px;padding-bottom:66px}.eyebrow{display:none}h1{font-size:72px}#overlay-description{margin:14px 0 17px;line-height:1.4}.start-hint{margin-top:13px!important}.overlay[data-state="over"] h1,.overlay[data-state="paused"] h1{font-size:58px}.run-summary{margin:12px 0 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.device-note,.start-hint,.scenery-caption,.trail-note,kbd,.trail-tag,.eyebrow,.score-label,.run-summary span{font-size:12px!important}.start-hint{letter-spacing:.8px}.eyebrow{letter-spacing:1.2px}
@media(max-width:700px){#overlay-description{font-size:16px}.scenery-caption{letter-spacing:.7px}.device-note{display:none}.run-summary span{letter-spacing:.6px}}
@media(max-height:520px) and (orientation:landscape){.game-shell{padding:0 16px}.masthead{height:54px}.arena{height:calc(100svh - 106px);min-height:240px;max-height:none}.controls-bar{height:52px;padding:7px 0}.hud{top:16px;left:24px;right:24px}.trail-tag{display:none}.scoreboard{width:100%;justify-content:flex-end}.score-item{gap:3px}.score-number{font-size:20px}.overlay{padding:55px 36px 54px;align-items:center}.eyebrow,.start-hint{display:none}.overlay h1,.overlay[data-state="over"] h1,.overlay[data-state="paused"] h1{font-size:48px;line-height:1}.overlay h1 br{display:none}.overlay h1 span{margin-left:.13em}#overlay-description{margin:10px 0 15px;font-size:14px}.overlay[data-state="over"] #overlay-description{display:none}#overlay-description br{display:none}.start-button{min-height:42px;padding:9px 17px;font-size:14px}.run-summary{margin:10px 0 14px;gap:25px}.run-summary strong{font-size:20px}.run-summary>div{gap:3px}.scenery-caption{bottom:16px}.location{font-size:11px}.touch-jump{min-height:38px;max-width:240px}.milestone{top:20%;font-size:18px}}
@media(pointer:coarse){.touch-jump{display:flex;flex:1}.keyboard-help{display:none}.trail-note{font-size:12px;letter-spacing:1px}}

/* Night patrol: restrained teal signals over a charcoal interface. */
.wordmark-period,.best-number{color:var(--teal)}.arena{border-top:1px solid #38d6c740}.icon-button[aria-pressed="true"]{color:var(--teal);border-color:#38d6c770}.trail-rule{width:25px}.start-button{box-shadow:0 4px 0 #12544f,0 0 24px #38d6c710}.score-label{color:#bcc8ca}.eyebrow{color:#8fe0d7}.scene-shade{background:linear-gradient(180deg,#05070980 0%,transparent 30%,transparent 76%,#05070925 100%)}.arena.is-overlay .scene-shade{background:linear-gradient(90deg,#080b0db5 0%,#080b0d50 44%,transparent 80%),linear-gradient(180deg,#05070950 0%,transparent 35%)}
.points-item{align-items:center}.points-number{color:#dce6e7}
.blocked-item{align-items:center}.blocked-number{color:#8fe0d7}
.arena.is-overlay .trail-tag{opacity:0}.run-summary small{color:#c6d2d4;font-family:monospace;font-size:12px;letter-spacing:.3px;margin-top:1px}
.near-miss{position:absolute;z-index:2;left:clamp(105px,17%,220px);bottom:27%;padding:7px 10px;border-left:2px solid var(--teal);background:#0b0e10d9;color:var(--text);font-family:monospace;font-size:11px;font-weight:700;letter-spacing:1.1px;opacity:0;pointer-events:none;text-shadow:0 2px 10px #081011;transform:translateY(6px);transition:opacity .12s,transform .12s}.near-miss.show{opacity:1;transform:none}.arena.is-overlay .near-miss{display:none}
@media(max-width:700px){.near-miss{left:24%;bottom:23%;font-size:10px}}
.combo-callout{position:absolute;z-index:2;left:50%;top:37%;transform:translate(-50%,7px);padding:8px 11px;border:1px solid #58eee070;border-left:3px solid var(--teal);background:#0b1718e8;color:#e8fffd;font-family:monospace;font-size:12px;font-weight:700;letter-spacing:1.2px;opacity:0;pointer-events:none;text-shadow:0 2px 10px #081011;transition:opacity .14s,transform .14s}.combo-callout.show{opacity:1;transform:translate(-50%,0)}.arena.is-overlay .combo-callout{display:none}@media(max-width:700px){.combo-callout{top:34%;font-size:10px;white-space:nowrap}}
.arena.impact-hold #game{filter:brightness(1.28) contrast(1.08)}.arena.crash{animation:impact-refined .18s ease-out}@keyframes impact-refined{0%{transform:translate(-3px,1px)}35%{transform:translate(3px,-1px)}70%{transform:translate(-1px,1px)}100%{transform:none}}
.laser-meter{position:absolute;z-index:2;top:92px;right:34px;display:grid;grid-template-columns:auto 94px 40px;align-items:center;gap:9px;padding:7px 9px;background:#0b0e10d9;border-left:2px solid var(--teal);font-family:monospace;font-size:10px;letter-spacing:1px;pointer-events:none}.laser-label{color:#dce6e7;font-weight:700}.laser-track{display:block;width:94px;height:4px;background:#9ba9aa3d;overflow:hidden}.laser-track span{display:block;width:100%;height:100%;background:var(--teal);box-shadow:0 0 8px #38d6c799;transform:scaleX(1);transform-origin:left center}.laser-meter strong{color:#8fe0d7;font-size:10px;text-align:right}.laser-meter.is-ready{background:#102322ed;border-left-color:#b4fff8;box-shadow:0 0 0 1px #8ffff43d,0 0 16px #38d6c72e}.laser-meter.is-ready strong{color:#e8fffd}.laser-meter.ready-ping{animation:laser-ready-ping .65s ease-out}.arena.is-overlay .laser-meter{display:none}.touch-fire{display:none;border:1px solid #38d6c766;border-radius:6px;min-height:48px;background:#14312f;color:var(--text);font-weight:600;align-items:center;justify-content:center;gap:12px}.touch-fire.is-ready{border-color:#8ffff4;background:#1a403c;box-shadow:0 0 0 1px #8ffff426,0 0 14px #38d6c724}.touch-fire svg{width:20px;height:20px;fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.touch-fire:active:not(:disabled){background:#20514c;transform:translateY(1px)}@keyframes laser-ready-ping{0%{filter:brightness(1);transform:scale(1)}28%{filter:brightness(1.5);transform:scale(1.035)}100%{filter:brightness(1);transform:scale(1)}}
@media(max-width:700px){.laser-meter{top:82px;right:22px;grid-template-columns:auto 64px 36px}.laser-track{width:64px}.touch-fire{display:flex;flex:1}}
@media(pointer:coarse){.touch-fire{display:flex;flex:1}}
@media(prefers-reduced-motion:reduce){.laser-meter.ready-ping{animation:none}}
.power-up-callout{position:absolute;z-index:2;left:50%;top:22%;transform:translate(-50%,8px);padding:9px 12px;border:1px solid #FD2DC599;border-left:3px solid #FD2DC5;background:#1b0c17ed;color:#FFE4F8;font-family:monospace;font-size:12px;font-weight:700;letter-spacing:1.2px;opacity:0;pointer-events:none;box-shadow:0 0 20px #FD2DC529;transition:opacity .14s,transform .14s}.power-up-callout.show{opacity:1;transform:translate(-50%,0)}.arena.is-overlay .power-up-callout{display:none}.arena.laser-boosted .laser-meter{border-color:#b4fff8;background:#102928e8;box-shadow:0 0 18px #38d6c72b}.arena.laser-boosted .laser-track span{background:#8ffff4;box-shadow:0 0 12px #58eee0}.arena.laser-boosted+.controls-bar .touch-fire{border-color:#8ffff4;background:#20514c;opacity:1}
@media(max-width:700px){.power-up-callout{top:18%;font-size:10px;white-space:nowrap}.arena.laser-boosted .laser-meter{grid-template-columns:auto 45px 34px;right:16px;gap:6px}.arena.laser-boosted .laser-track{width:45px}}
.encounter-callout{position:absolute;z-index:2;left:50%;top:29%;transform:translate(-50%,8px);padding:9px 12px;border:1px solid #e7eeef80;border-left:3px solid var(--teal);background:#0b0e10ed;color:#e8fffd;font-family:monospace;font-size:12px;font-weight:700;letter-spacing:1.1px;opacity:0;pointer-events:none;box-shadow:0 0 20px #38d6c720;transition:opacity .14s,transform .14s;white-space:nowrap}.encounter-callout.show{opacity:1;transform:translate(-50%,0)}.arena.is-overlay .encounter-callout{display:none}
@media(max-width:700px){.encounter-callout{top:26%;max-width:calc(100% - 32px);font-size:9px;letter-spacing:.6px}}
@media(max-width:700px){.scoreboard{gap:4px}.score-label{font-size:11px!important;letter-spacing:1px}.score-number{font-size:18px;letter-spacing:1px;gap:3px}.score-unit{font-size:10px}.points-item,.blocked-item{align-items:center}}
@media(max-width:700px){.run-summary{gap:18px}.run-summary small{font-size:10px;white-space:nowrap}}
.collision-tip{max-width:560px;margin:-4px 0 15px;padding:10px 12px;border-left:3px solid var(--teal);background:#0b1718df;color:#dce7e8}.collision-tip span{display:block;margin-bottom:5px;color:#79e9de;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:1.2px}.collision-tip p{margin:0;font-size:13px;line-height:1.42}.overlay[data-state="over"] .collision-tip+.run-summary{margin-top:12px}
@media(max-width:700px){.collision-tip{margin:-5px 0 12px;padding:8px 10px}.collision-tip span{font-size:9px;margin-bottom:4px}.collision-tip p{font-size:12px;line-height:1.35}.overlay[data-state="over"] .collision-tip+.run-summary{margin-top:10px}}
@media(max-height:520px) and (orientation:landscape){.collision-tip{max-width:720px;margin:7px 0 8px;padding:6px 9px}.collision-tip span{display:inline;margin:0 7px 0 0}.collision-tip p{display:inline;font-size:11px}.overlay[data-state="over"] .collision-tip+.run-summary{margin-top:7px}}
.intel-button{position:relative}.intel-count{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:27px;height:18px;padding:0 4px;border:2px solid var(--deep);border-radius:9px;background:#30383a;color:#dce6e7;font-family:monospace;font-size:9px;font-weight:700;letter-spacing:-.3px}.intel-button.has-update{color:var(--teal);border-color:#38d6c799;animation:intel-pulse 1.7s ease-out infinite}.intel-button.has-update .intel-count{background:var(--teal);color:#081011}@keyframes intel-pulse{0%,100%{box-shadow:0 0 0 0 #38d6c700}45%{box-shadow:0 0 0 5px #38d6c720}}
.intel-dialog{width:min(980px,calc(100% - 48px));max-width:none;max-height:min(92svh,860px);margin:auto;padding:0;overflow:auto;border:1px solid #65ded37a;border-radius:8px;background:#0d1113;color:var(--text);box-shadow:0 28px 100px #000b,0 0 45px #38d6c713}.intel-dialog::backdrop{background:#030506c7;backdrop-filter:blur(4px)}.intel-panel{padding:24px}.intel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.intel-eyebrow{display:block;margin-bottom:9px;color:#7eddd4;font-family:monospace;font-size:11px;font-weight:700;letter-spacing:2px}.intel-header h2{margin:0;font-family:Trail,'Arial Black',Impact,sans-serif;font-size:38px;line-height:1;letter-spacing:-.8px}.intel-close{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border:1px solid #a7b6b83b;border-radius:50%;background:#151b1d;color:var(--text)}.intel-close:hover{border-color:#38d6c799;background:#1a2929}.intel-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.intel-summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 0 22px}.intel-summary p{max-width:620px;margin:0;color:#b9c4c6;font-size:14px;line-height:1.55}.intel-summary strong{flex:0 0 auto;color:#89e4db;font-family:monospace;font-size:11px;letter-spacing:1.1px}.intel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.intel-card{position:relative;display:flex;min-height:220px;flex-direction:column;padding:18px;border:1px solid #80909235;border-left:3px solid var(--teal);border-radius:5px;background:linear-gradient(145deg,#182022,#111618);overflow:hidden}.intel-card:after{content:'';position:absolute;right:-36px;bottom:-55px;width:130px;height:130px;border:1px solid #38d6c714;transform:rotate(45deg);pointer-events:none}.intel-card-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#93a1a4;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:1.2px}.intel-card-state{color:#81e0d7}.intel-card h3{margin:20px 0 8px;font-family:Trail,'Arial Black',Impact,sans-serif;font-size:28px;line-height:1;letter-spacing:-.3px}.intel-description{margin:0 0 16px;color:#c8d2d4;font-size:14px;line-height:1.5}.intel-guidance{position:relative;z-index:1;margin-top:auto;padding:10px 12px;border-left:2px solid #38d6c780;background:#0a0e0f99}.intel-guidance span{display:block;margin-bottom:6px;color:#79e9de;font-family:monospace;font-size:9px;font-weight:700;letter-spacing:1.1px}.intel-guidance p{margin:0;color:#d8e2e3;font-size:12px;line-height:1.45}.intel-card.is-locked{border-left-color:#596366;background:repeating-linear-gradient(135deg,#151a1c,#151a1c 12px,#131719 12px,#131719 24px)}.intel-card.is-locked .intel-card-state,.intel-card.is-locked h3{color:#8e999b}.intel-card.is-locked .intel-description{color:#849092}.intel-card.is-locked .intel-guidance{border-left-color:#596366;background:#0b0e0f80}.intel-card.is-locked .intel-guidance span,.intel-card.is-locked .intel-guidance p{color:#7f898b}
@media(max-width:700px){.intel-dialog{width:calc(100% - 24px);max-height:90svh}.intel-panel{padding:22px 18px}.intel-header{gap:16px;padding-bottom:18px}.intel-header h2{font-size:29px;line-height:1.03}.intel-eyebrow{font-size:10px;margin-bottom:7px}.intel-close{width:39px;height:39px}.intel-summary{align-items:flex-start;flex-direction:column;gap:10px;padding:15px 0 18px}.intel-summary p{font-size:13px}.intel-grid{grid-template-columns:1fr;gap:11px}.intel-card{min-height:225px;padding:18px}.intel-card h3{margin-top:21px;font-size:25px}.intel-description{font-size:13px;margin-bottom:18px}}
@media(max-height:520px) and (orientation:landscape){.intel-dialog{max-height:94svh}.intel-panel{padding:20px}.intel-header{padding-bottom:14px}.intel-header h2{font-size:28px}.intel-summary{padding:12px 0 14px}.intel-card{min-height:210px;padding:16px}.intel-card h3{margin-top:18px;font-size:23px}}
#final-cleared{max-width:520px;white-space:normal;line-height:1.45}@media(max-width:700px){#final-cleared{max-width:210px}}
.mission-strip{position:absolute;z-index:2;top:92px;left:34px;display:grid;grid-template-columns:auto auto minmax(150px,1fr) auto;align-items:center;gap:8px 12px;max-width:calc(100% - 340px);padding:7px 10px;border-left:2px solid var(--teal);background:#0b0e10d9;color:#dce6e7;font-family:monospace;font-size:10px;letter-spacing:.8px;pointer-events:none}.patrol-mode-label{color:#7ee4da;font-weight:700}.alert-status{color:#aebabc}.alert-status strong{margin-left:4px;color:#f0f3f3}.objective-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.objective-progress{color:#8fe0d7;white-space:nowrap}.mission-strip.is-complete{border-left-color:#d4ff85}.mission-strip.is-complete .objective-label,.mission-strip.is-complete .objective-progress{color:#d4ff85}.arena.is-overlay .mission-strip{display:none}
.mission-callout{position:absolute;z-index:2;left:50%;top:44%;max-width:calc(100% - 40px);transform:translate(-50%,8px);padding:9px 12px;border:1px solid #d4ff8570;border-left:3px solid #d4ff85;background:#0b0e10ed;color:#f1ffd4;font-family:monospace;font-size:11px;font-weight:700;letter-spacing:1px;line-height:1.4;text-align:center;opacity:0;pointer-events:none;box-shadow:0 0 20px #d4ff851a;transition:opacity .14s,transform .14s}.mission-callout.show{opacity:1;transform:translate(-50%,0)}.arena.is-overlay .mission-callout{display:none}
.mode-selector{display:flex;width:max-content;margin:-5px 0 18px;padding:3px;border:1px solid #9aa9ab42;border-radius:5px;background:#0b0e10d9}.mode-selector button{min-height:34px;padding:7px 12px;border:0;border-radius:3px;background:transparent;color:#aebabc;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.mode-selector button[aria-pressed="true"]{background:#245a56;color:#efffff}.mode-selector button:hover{color:#fff}
.run-summary small{color:#d2dcdd}.run-summary #final-objective,.run-summary #final-badges,.run-summary #record-detail{max-width:380px;white-space:normal;line-height:1.4}.run-summary #final-objective.is-complete,.run-summary #final-badges{color:#d4ff85}.run-summary #record-detail{color:#aebabc}
@media(max-width:700px){.mission-strip{top:76px;left:22px;right:22px;max-width:none;grid-template-columns:auto 1fr auto;grid-template-areas:"mode alert alert" "objective objective progress";gap:5px 8px;font-size:9px}.patrol-mode-label{grid-area:mode}.alert-status{grid-area:alert;text-align:right}.objective-label{grid-area:objective}.objective-progress{grid-area:progress}.laser-meter{top:130px}.mission-callout{top:42%;font-size:9px}.mode-selector{margin-bottom:15px}.run-summary{align-items:flex-start}.run-summary #final-objective,.run-summary #final-badges{max-width:210px}}
@media(max-height:520px) and (orientation:landscape){.mission-strip{top:58px;left:24px;max-width:calc(100% - 300px)}.laser-meter{top:58px}.mission-callout{top:38%}.mode-selector{position:absolute;left:255px;bottom:55px;margin:0}.run-summary #final-objective,.run-summary #final-badges{display:none}}
.overlay[data-state="over"]{align-items:center;padding-top:26px;padding-bottom:28px}.overlay[data-state="over"] .eyebrow,.overlay[data-state="over"] .start-hint{display:none}.overlay[data-state="over"] h1{font-size:56px;line-height:.92}.overlay[data-state="over"] h1 br{display:none}.overlay[data-state="over"] h1 span{margin-left:.12em}.overlay[data-state="over"] #overlay-description{margin:10px 0}.overlay[data-state="over"] .collision-tip{margin:0 0 10px}.overlay[data-state="over"] .run-summary{margin:10px 0 14px}.overlay[data-state="over"] .mode-selector{display:inline-flex;margin:0 12px 0 0;vertical-align:middle}.overlay[data-state="over"] .start-button{vertical-align:middle}
@media(max-width:700px){.overlay[data-state="over"]{padding:24px 24px 30px;align-items:center}.overlay[data-state="over"] .intro-copy{width:100%;max-width:100%}.overlay[data-state="over"] h1{font-size:38px;white-space:nowrap}.overlay[data-state="over"] #overlay-description{font-size:13px;margin:8px 0}.overlay[data-state="over"] .collision-tip{margin-bottom:8px}.overlay[data-state="over"] .run-summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);width:100%;gap:10px;margin:8px 0 12px}.overlay[data-state="over"] .run-summary>div{min-width:0;gap:4px}.overlay[data-state="over"] .run-summary span,.overlay[data-state="over"] .run-summary small{white-space:normal}.overlay[data-state="over"] #final-cleared,.overlay[data-state="over"] #final-objective,.overlay[data-state="over"] #final-badges{max-width:none}.overlay[data-state="over"] .run-summary strong{font-size:22px}.overlay[data-state="over"] .mode-selector{margin-right:7px}.overlay[data-state="over"] .mode-selector button{padding:6px 8px}.overlay[data-state="over"] .start-button{min-height:42px;padding:9px 12px;font-size:13px}}
.mission-strip{grid-template-areas:"mode alert objective progress" "kit kit kit kit"}.patrol-mode-label{grid-area:mode}.alert-status{grid-area:alert}.objective-label{grid-area:objective}.objective-progress{grid-area:progress}.upgrade-status{grid-area:kit;color:#b8c4c5;font-size:9px;letter-spacing:.7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-summary #final-upgrades{color:#8fe0d7}

@media(max-width:700px){.mission-strip{grid-template-areas:"mode alert alert" "objective objective progress" "kit kit kit"}.laser-meter{top:148px}}
@media(max-height:520px) and (orientation:landscape){.mission-strip{grid-template-areas:"mode alert objective progress" "kit kit kit kit"}.laser-meter{top:58px}}
.touch-duck{display:none;border:1px solid #a6b3b54d;border-radius:6px;min-height:48px;background:#20292b;color:var(--text);font-weight:600;align-items:center;justify-content:center;gap:12px;touch-action:none}.touch-duck svg{width:20px;height:20px;fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.touch-duck.is-active{border-color:#8ffff4;background:#29403f;box-shadow:inset 0 0 0 1px #8ffff426,0 0 14px #38d6c724;transform:translateY(1px)}
@media(max-width:700px){.touch-duck{display:flex;flex:1}.controls-bar>.touch-jump,.controls-bar>.touch-duck,.controls-bar>.touch-fire{height:48px;min-width:0;min-height:48px;padding:8px 10px}}
@media(pointer:coarse){.touch-duck{display:flex;flex:1}}
@media(max-width:430px){.controls-bar>.touch-jump,.controls-bar>.touch-duck,.controls-bar>.touch-fire{gap:6px;padding:7px 6px;font-size:12px}.controls-bar>.touch-jump svg,.controls-bar>.touch-duck svg,.controls-bar>.touch-fire svg{width:17px;height:17px}}

/* Patrol help shares the field archive's modal and small-screen scrolling. */
.help-button{display:block;min-height:44px;padding:8px 0;border:0;background:transparent;color:#bfece7;font-size:13px;text-decoration:underline;text-underline-offset:4px}.help-button:hover{color:#fff}.help-dialog{width:min(760px,calc(100% - 24px))}.help-dialog h3{margin:24px 0 12px;font-size:17px;color:#bfece7}.help-dialog p{color:#c8d2d4;font-size:14px;line-height:1.6}.help-dialog .intel-close{font-size:28px}.help-controls{margin:0}.help-controls>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid #80909235}.help-controls dt{font-weight:700;font-size:14px;color:#e4eded}.help-controls dd{margin:0;color:#c8d2d4;font-size:14px;line-height:1.6}.help-controls kbd{margin:0 2px}.help-dialog button:focus-visible{outline-offset:2px}
@media(max-width:700px){.help-controls>div{grid-template-columns:1fr;gap:5px}.help-dialog .intel-header h2{font-size:27px}.help-button{font-size:12px}.help-dialog h3{margin-top:20px}}

/* Character-led ready screen. Other overlays retain their patrol layouts. */
.menu-coyote{display:none}
.overlay[data-state="ready"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:24px;padding:32px 6%;overflow:auto;pointer-events:auto;background:linear-gradient(90deg,#080d11e8,#080d1194 48%,#080d112b)}
.overlay[data-state="ready"] .intro-copy{grid-column:1;grid-row:1;position:relative;min-width:0}
.overlay[data-state="ready"] h1{font-size:clamp(70px,7vw,100px)}
.overlay[data-state="ready"] #overlay-description{margin:18px 0;color:#dce8e9}
.overlay[data-state="ready"] .eyebrow{font-size:11px!important;letter-spacing:1.2px}
.overlay[data-state="ready"] .start-hint{margin:16px 0 2px!important;font-size:10px!important}
.overlay[data-state="ready"] .menu-coyote{display:grid;grid-column:2;grid-row:1;position:relative;place-items:center;align-self:center;min-width:0;margin:0;pointer-events:none;isolation:isolate}
.menu-coyote canvas{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 12px 14px #0009);transform-origin:50% 95%;animation:menu-breathe 6s ease-in-out infinite}
.menu-orbit{position:absolute;width:85%;aspect-ratio:1;border:1px solid #8cded324;border-radius:50%;background:radial-gradient(ellipse,#38d6c710,transparent 67%);box-shadow:0 0 0 20px #8cded304}
.menu-coyote figcaption{margin-top:28px;color:#b5c9c9;font-family:monospace;font-size:10px;letter-spacing:1.5px;text-align:center}
@keyframes menu-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
body:has(dialog[open]) .menu-coyote canvas{animation-play-state:paused}
@media(max-width:700px){
  .overlay[data-state="ready"]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:18px;padding:24px;background:linear-gradient(180deg,#080d1133,#080d11e8 50%)}
  .overlay[data-state="ready"] .menu-coyote{grid-column:1;grid-row:1;width:min(250px,78%);justify-self:center}
  .menu-coyote figcaption{display:none}
  .overlay[data-state="ready"] .intro-copy{grid-column:1;grid-row:2;width:100%;max-width:390px;justify-self:center}
  .overlay[data-state="ready"] .eyebrow{margin-bottom:10px;font-size:10px!important}
  .overlay[data-state="ready"] h1{font-size:clamp(39px,10.5vw,66px);letter-spacing:-1.5px;white-space:nowrap;line-height:1}
  .overlay[data-state="ready"] h1 br{display:none}
  .overlay[data-state="ready"] h1 span{margin-left:.16em}
  .overlay[data-state="ready"] #overlay-description{font-size:14px;line-height:1.5;margin:12px 0}
  .overlay[data-state="ready"] .mode-selector{margin:12px 0 16px}
  .overlay[data-state="ready"] .start-button{width:100%;min-height:50px}
  .overlay[data-state="ready"] .start-hint{text-align:center;font-size:9px!important}
  .overlay[data-state="ready"] .help-button{margin:auto}
}
@media(max-width:700px) and (max-height:740px){
  .overlay[data-state="ready"]{gap:10px;padding:20px;align-content:start}
  .overlay[data-state="ready"] .menu-coyote{width:175px}
  .overlay[data-state="ready"] .eyebrow{display:none}
}
@media(max-height:520px) and (orientation:landscape){
  .overlay[data-state="ready"]{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto;align-items:start;align-content:start;padding:20px 5%;gap:20px}
  .overlay[data-state="ready"] .intro-copy{grid-column:1;grid-row:1}
  .overlay[data-state="ready"] .menu-coyote{grid-column:2;grid-row:1;width:100%;max-width:270px;position:sticky;top:0}
  .overlay[data-state="ready"] h1{font-size:42px;line-height:1}
  .overlay[data-state="ready"] h1 br{display:none}
  .overlay[data-state="ready"] .eyebrow,.menu-coyote figcaption{display:none}
  .overlay[data-state="ready"] #overlay-description{font-size:13px;margin:10px 0}
}
@media(prefers-reduced-motion:reduce){.menu-coyote canvas{animation:none;transform:none}}

/* Session-only appearance choices. Gameplay signal colors keep their meaning. */
.menu-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.menu-links .help-button{margin:0!important}
.cosmetics-dialog{width:min(820px,calc(100% - 24px))}
.cosmetics-dialog .intel-close{font-size:28px}
.cosmetics-dialog p{font-size:14px;line-height:1.6;color:#c8d2d4}
.cosmetics-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px}
.cosmetic-figure{margin:0;min-width:0;background:radial-gradient(ellipse,#38d6c70d,transparent 70%)}
.cosmetic-figure canvas{display:block;width:100%;height:auto}
.cosmetic-figure figcaption{font-size:12px;color:#aebfc2;text-align:center;line-height:1.5;margin-top:12px}
.cosmetic-options{display:flex;flex-direction:column;min-width:0}
.cosmetic-options label{margin:16px 0 8px;font-size:14px;font-weight:700}
.cosmetic-options select{width:100%;min-height:44px;padding:10px 12px;background:#172023;color:#edf3f4;border:1px solid #819496;border-radius:5px;font:inherit;font-size:14px}
.cosmetic-options select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.cosmetic-options #trail-note{font-size:12px;margin:7px 0 0}
.cosmetics-reset{align-self:flex-start;min-height:44px;margin-top:20px;padding:8px 12px;background:transparent;color:var(--text);border:1px solid #819496;border-radius:4px}
.cosmetic-status{min-height:1.6em;margin-bottom:0}
:root[data-theme="slate"]{--teal:#c9e1ec;--deep:#0b1016;--surface:#1b252f}
:root[data-theme="amber"]{--teal:#f2c879;--deep:#100e0b;--surface:#28221a}
:root[data-theme] .start-button{border-color:var(--teal);box-shadow:0 4px 0 #0006;color:#101617}
:root[data-theme] .start-button:hover:not(:disabled){background:var(--teal);filter:brightness(1.08)}
:root[data-theme] .mode-selector button[aria-pressed="true"]{border-color:var(--teal);color:var(--teal);background:var(--surface)}
:root[data-theme] .eyebrow,:root[data-theme] .intel-eyebrow,:root[data-theme] .help-button{color:var(--teal)}
:root[data-theme] .intel-dialog{border-color:var(--teal);background:var(--deep)}
@media(max-width:700px){.overlay[data-state="ready"] .menu-links{justify-content:center;gap:22px}.cosmetics-layout{grid-template-columns:minmax(0,1fr);gap:8px}.cosmetic-figure{width:min(230px,80%);justify-self:center}.cosmetics-dialog .intel-header h2{font-size:28px}}
@media(forced-colors:active){.cosmetic-options select,.cosmetics-reset{border-color:ButtonText}.menu-orbit{display:none}}

/* One HUD layout owns placement; meters no longer depend on absolute offsets. */
.hud-panel{position:absolute;z-index:2;top:20px;left:24px;right:24px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px 22px;padding:14px 16px;background:linear-gradient(110deg,#090f13ed,#090f13ca);border:1px solid #a5c2c32b;border-radius:7px;pointer-events:none}
.arena.is-overlay .hud-panel{display:none}
.hud-panel .hud{position:static;grid-column:1/-1;display:block}
.hud-panel .trail-tag{display:none}
.hud-panel .scoreboard{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr;gap:20px;width:100%;text-shadow:none}
.hud-panel .score-item{align-items:flex-start;gap:4px;min-width:0}
.hud-panel .distance-item{order:0}.hud-panel .points-item{order:1}.hud-panel .blocked-item{order:2}.hud-panel .best-item{order:3;align-items:flex-end}
.hud-panel .score-label{font-size:10px!important;color:#afc1c5;letter-spacing:1px}
.hud-panel .score-number{font-size:25px;letter-spacing:0;gap:5px;white-space:nowrap}
.hud-panel .blocked-number,.hud-panel .best-number{font-size:20px;color:#c6d6d9}
.hud-panel .mission-strip{position:static;grid-column:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"mode alert kit" "objective objective progress" "track track track";max-width:none;padding:0;border:0;background:none;gap:7px 12px;font-size:10px;letter-spacing:.4px;min-width:0}
.hud-panel .alert-status{text-align:left;justify-self:start}
.hud-panel .alert-status strong{display:inline-block;padding:2px 5px;border:1px solid #80949760;border-radius:3px}
.mission-strip[data-alert="elevated"] .alert-status strong{border-color:#e4c68f;color:#f6dba8}
.mission-strip[data-alert="critical"] .alert-status strong{border-color:#efb09b;color:#ffd1bd;background:#35241d}
.hud-panel .upgrade-status{font-size:9px;justify-self:end;max-width:100%;white-space:normal;text-align:right}
.hud-panel .objective-label{white-space:normal;line-height:1.4;overflow:visible}
.hud-panel .objective-progress{color:#dfeded;font-size:10px}
.objective-track{grid-area:track;height:3px;background:#819a9c40;overflow:hidden}
.objective-track>span{display:block;width:100%;height:100%;background:var(--teal);transform:scaleX(0);transform-origin:left}
.mission-strip.is-complete .objective-track>span{background:#d4ff85}
.hud-instruments{grid-column:2;display:grid;gap:7px;align-content:start;min-width:0}
.hud-panel .laser-meter{position:static;display:grid;grid-template-columns:minmax(0,1fr) 52px;grid-template-areas:"label state" "track track";gap:6px;padding:7px 9px;border:1px solid #77919370;border-left:3px solid #91bcb9;box-shadow:none;background:#142023;min-width:0}
.hud-panel .laser-label{grid-area:label;font-size:10px;letter-spacing:.6px}
.hud-panel .laser-state,.hud-panel #laser-state{grid-area:state;font-size:11px}
.hud-panel .laser-track{grid-area:track;width:100%;height:4px}
.hud-panel .laser-meter.is-ready{border-color:#b4fff8;background:#16322f}
.arena.laser-boosted .hud-panel .laser-meter{border-color:#b4fff8;background:#193731}
.combo-meter{display:grid;grid-template-columns:auto 1fr auto;gap:5px 8px;padding:5px 0;align-items:center;font-family:monospace;font-size:10px;color:#aebfc3}
.combo-meter strong{text-align:right;color:#dce9eb;font-size:10px}.combo-label{letter-spacing:.7px}
.combo-track{grid-column:1/-1;height:2px;background:#819a9c30;overflow:hidden}.combo-track>span{display:block;width:100%;height:100%;background:#c8e8df;transform-origin:left;transform:scaleX(0)}
.combo-meter.is-active{color:#eef8f7}.combo-meter.is-active strong{color:#d4ffb4}
@media(max-width:700px){
  .hud-panel{top:12px;left:12px;right:12px;grid-template-columns:minmax(0,1fr);gap:10px;padding:11px 12px}
  .hud-panel .scoreboard{gap:8px;grid-template-columns:1.1fr 1.1fr .75fr 1fr}
  .hud-panel .score-label{font-size:9px!important;letter-spacing:.5px}
  .hud-panel .score-number{font-size:18px;gap:3px}.hud-panel .score-unit{font-size:9px}
  .hud-panel .blocked-number,.hud-panel .best-number{font-size:16px}
  .hud-panel .mission-strip{grid-column:1;grid-template-areas:"mode alert alert" "objective objective progress" "track track track" "kit kit kit";gap:5px 8px;font-size:9px}
  .hud-panel .alert-status{justify-self:end}.hud-panel .upgrade-status{justify-self:start;text-align:left;font-size:9px}
  .hud-panel .objective-progress{font-size:9px}
  .hud-instruments{grid-column:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px}
  .hud-panel .laser-meter{padding:6px 7px;grid-template-columns:minmax(0,1fr) 38px}
  .hud-panel .laser-label{font-size:9px;letter-spacing:0}.hud-panel #laser-state{font-size:10px}
  .combo-meter{grid-template-columns:1fr auto;gap:5px;font-size:9px}.combo-meter strong{font-size:9px}
  #combo-time{grid-column:1/-1}.combo-track{grid-column:1/-1}
  .power-up-callout{top:244px}.encounter-callout{top:276px}.combo-callout{top:308px}.mission-callout{top:340px}
}
@media(max-height:520px) and (orientation:landscape){
  .hud-panel{top:8px;left:16px;right:16px;grid-template-columns:minmax(0,1fr) 200px;gap:7px 18px;padding:8px 12px}
  .hud-panel .hud{grid-column:1}.hud-panel .scoreboard{gap:8px}
  .hud-panel .score-number{font-size:17px}.hud-panel .blocked-number,.hud-panel .best-number{font-size:15px}
  .hud-panel .mission-strip{grid-column:1;grid-template-areas:"mode alert progress" "objective objective objective" "track track track";gap:3px 7px;font-size:9px}
  .hud-panel .upgrade-status{display:none}.hud-panel .objective-label{font-size:9px}
  .hud-instruments{grid-column:2;grid-row:1/3;grid-template-columns:1fr;gap:4px}
  .power-up-callout{top:118px}.encounter-callout{top:144px}.combo-callout{top:170px}.mission-callout{top:196px}
}
@media(forced-colors:active){.hud-panel,.hud-panel .laser-meter{background:Canvas;border-color:CanvasText}.objective-track,.combo-track,.laser-track{border:1px solid CanvasText}.objective-track>span,.combo-track>span,.laser-track>span{background:Highlight}}

/* Readable, scrollable patrol overlays, including short landscape reports. */
.overlay[data-state="paused"],.overlay[data-state="over"]{display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;padding:28px clamp(20px,5vw,64px);background:linear-gradient(100deg,#080d11f5,#080d11cf 65%,#080d1194)}
.overlay[data-state="paused"] .intro-copy,.overlay[data-state="over"] .intro-copy{max-width:820px;margin:auto}
.overlay[data-state="paused"] .intro-copy{padding-top:clamp(0px,5vh,60px);max-width:600px}
.overlay[data-state="paused"] #overlay-description{max-width:430px}
.overlay .mode-selector{position:static}
.overlay[data-state="over"] .run-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin:18px 0}
.overlay[data-state="over"] .run-summary>div{min-width:0;padding:16px;background:#142025b8;border:1px solid #aac9ca35;border-radius:6px;gap:8px}
.overlay[data-state="over"] .run-summary small{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.overlay[data-state="over"] #final-objective,.overlay[data-state="over"] #final-badges{display:block;max-width:none}
.overlay[data-state="over"] .run-summary strong{font-size:28px}
.overlay[data-state="over"] .collision-tip{padding:12px 15px;border-radius:4px;max-width:none}
.overlay[data-state="over"] .menu-links{margin-top:12px}
.overlay[data-state="over"] .start-button{min-height:48px}
.overlay[data-state="over"] .mode-selector{margin:0 12px 12px 0}

.intel-dialog{overscroll-behavior:contain;scroll-padding:18px}

.mode-selector button{min-height:44px}
#skin-note{font-size:12px;line-height:1.5;margin:7px 0 0;color:#b9c9cb}
button:disabled{filter:saturate(.4)}
@media(max-width:700px){
  .overlay[data-state="over"],.overlay[data-state="paused"]{padding:22px 18px}
  .overlay[data-state="over"] h1{font-size:clamp(29px,8vw,38px);white-space:normal}
  .overlay[data-state="over"] .run-summary{grid-template-columns:1fr;gap:10px;margin:14px 0}
  .overlay[data-state="over"] .run-summary>div{padding:12px;gap:5px}
  .overlay[data-state="over"] .run-summary strong{font-size:24px}
  .overlay[data-state="over"] .start-button{display:flex;width:100%}
  .overlay[data-state="over"] .mode-selector{display:flex;width:100%;margin:0 0 12px}
  .overlay[data-state="over"] .mode-selector button{flex:1}
  .overlay[data-state="over"] .menu-links{justify-content:center}
}
@media(max-height:520px) and (orientation:landscape){
  .overlay[data-state="over"] .run-summary{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  .overlay[data-state="paused"] .intro-copy{padding-top:0}
  .overlay[data-state="paused"] h1{font-size:46px}
  .overlay[data-state="paused"] #overlay-description{font-size:14px;margin:12px 0}
}
@media(forced-colors:active){.overlay[data-state="paused"],.overlay[data-state="over"]{background:Canvas}.overlay[data-state="over"] .run-summary>div,button:disabled{color:GrayText;filter:none}}
.audio-preferences{padding:14px;border:1px solid #81949666;border-radius:5px;background:#142023;margin:14px 0}.audio-preferences label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:700}.audio-preferences input{width:20px;height:20px;accent-color:var(--teal)}.audio-preferences input:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.audio-preferences p{margin:6px 0 0;font-size:12px}.menu-links #music-button[aria-pressed="true"]{text-decoration-thickness:3px}.menu-links .help-button:disabled{color:#a4adb0;opacity:.75}

/* September 22 review: let the landscape breathe around a compact HUD. */
.hud-panel{top:12px;left:20px;right:20px;padding:0;gap:8px 22px;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 3px #000,0 0 7px #000}
.hud-panel .scoreboard{max-width:720px;gap:18px}
.hud-panel .score-number{font-size:22px}.hud-panel .blocked-number,.hud-panel .best-number{font-size:18px}
.hud-panel .mission-strip{gap:4px 10px;align-self:start}
.hud-panel .laser-meter{background:#09141655;border-color:#b1d3d54d;padding:5px 7px}
.hud-panel .laser-meter.is-ready{background:#10292366}
.arena.laser-boosted .hud-panel .laser-meter{background:#29102566;border-color:#FD2DC5}
.arena.laser-boosted .hud-panel .laser-track span{background:#FD2DC5;box-shadow:0 0 6px #FD2DC566}
.hud-instruments{gap:3px}.combo-meter{padding:3px 0}
@media(max-width:700px){
  .hud-panel{top:10px;left:14px;right:14px;gap:7px;padding:0}
  .hud-panel .scoreboard{gap:7px}.hud-panel .score-number{font-size:17px}.hud-panel .blocked-number,.hud-panel .best-number{font-size:15px}
  .hud-panel .mission-strip{grid-template-areas:"mode alert alert" "objective objective progress" "track track track";gap:3px 8px}
  .hud-panel .upgrade-status{display:none}
  .hud-instruments{gap:16px}.hud-panel .laser-meter{padding:4px 6px}
  .power-up-callout{top:182px}.encounter-callout{top:214px}.combo-callout{top:246px}.mission-callout{top:278px}
}
@media(max-height:520px) and (orientation:landscape){.hud-panel{top:7px;left:16px;right:16px;gap:5px 18px}.power-up-callout{top:112px}.encounter-callout{top:140px}.combo-callout{top:168px}.mission-callout{top:196px}}

/* Original CSS pixel bevels inspired by console UI; no stock artwork used. */
.overlay .start-button,.overlay .help-button,.overlay .mode-selector button{
  border:0;border-radius:0;position:relative;font-family:monospace;font-weight:800;letter-spacing:.6px;
  background:#203638;color:#e8fffb;min-height:44px;padding:11px 15px;text-decoration:none;
  box-shadow:inset 3px 3px 0 #c2f4ed55,inset -3px -4px 0 #071617,0 4px 0 #04090a;
  clip-path:polygon(5px 0,calc(100% - 5px) 0,calc(100% - 5px) 3px,100% 3px,100% calc(100% - 5px),calc(100% - 4px) calc(100% - 5px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 3px),0 calc(100% - 3px),0 4px,5px 4px);
  transition:none;text-shadow:0 1px 0 #0008;
}
.overlay .start-button,:root[data-theme] .overlay .start-button{background:var(--teal);color:#09201f;min-height:52px;text-shadow:none;box-shadow:inset 4px 4px 0 #ffffff66,inset -4px -5px 0 #0006,0 4px 0 #04090a}
.overlay .mode-selector{gap:5px;border:0;background:#07111288;padding:4px;border-radius:0}
.overlay .mode-selector button[aria-pressed="true"]{background:#35605a;color:#effffb;box-shadow:inset 3px 3px 0 #a5fff37a,inset -3px -4px 0 #061b19}
.overlay .help-button:hover:not(:disabled),.overlay .mode-selector button:hover{background:#31504f}
.overlay button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 3px 3px 0 #0006,inset -2px -2px 0 #b3fff344}
.overlay button:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.overlay .menu-links{gap:10px;margin-top:12px}
.overlay .help-button{font-size:12px}
@media(max-width:700px){.overlay .menu-links{gap:8px}.overlay .help-button{padding:10px 12px;font-size:11px}.overlay[data-state="ready"] .menu-links{gap:8px}}
@media(forced-colors:active){.hud-panel{background:Canvas;text-shadow:none}.overlay .start-button,.overlay .help-button,.overlay .mode-selector button{clip-path:none;border:2px solid ButtonText;background:ButtonFace;color:ButtonText;box-shadow:none}.overlay button:focus-visible{outline-color:Highlight}}

/* Consistent menu labels and a phosphor-green interface preset. */
.overlay button,dialog button{text-transform:uppercase}
:root[data-theme="terminal"]{--teal:#63ff86;--deep:#070e09;--surface:#13271a}
:root[data-theme="terminal"] .overlay .help-button{background:#163322;color:#bdffcc}
:root[data-theme="terminal"] .overlay .mode-selector button[aria-pressed="true"]{background:#285037;color:#d4ffdf}
:root[data-theme="terminal"] .overlay .start-button{color:#092012}
