@font-face{font-family:Arcade;src:url('./assets/arcade.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--white:#f5f0d6;--blue:#69d7ff;--red:#fa6675;--gold:#f6cf6c;--dim:#9ca9bb;font-family:'Courier New',monospace;background:#05070f;color:var(--white);font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit;background:#111923;border:1px solid #516176;min-height:44px;padding:10px 17px;cursor:pointer;letter-spacing:.06em;font-weight:bold}button:hover{border-color:var(--white);background:#1b2938}button:active{transform:translateY(2px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input{color:var(--white);border:1px solid #64748a;background:#05070f;padding:11px;width:170px;letter-spacing:.25em;font-weight:bold;font-size:22px;text-align:center;border-radius:0}[hidden]{display:none!important}#cabinet{position:relative;width:100vw;height:100dvh;min-height:280px;overflow:hidden;background:#02040b;isolation:isolate}#field{width:100%;height:100%;display:block;image-rendering:pixelated;outline:none;touch-action:none}.screen{position:absolute;inset:0;overflow-y:auto;background:#05070f}.title-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated;opacity:.82}.title-content{position:relative;margin:clamp(40px,9vh,110px) 0 85px clamp(26px,8vw,140px);width:fit-content;max-width:650px;text-shadow:2px 2px #02040b}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--blue);margin:0 0 25px}h1{margin:0 0 20px;font-size:clamp(46px,7.2vw,104px);line-height:.88;letter-spacing:-.065em;font-weight:900;text-shadow:4px 4px #244f73,7px 7px #05070f}h1 span{display:block}h1 span:last-child{color:var(--gold);letter-spacing:.075em;font-size:.85em;margin-top:12px;text-shadow:4px 4px #795136,7px 7px #05070f}.tagline{font-size:clamp(11px,1.1vw,15px);letter-spacing:.1em;margin:28px 0 35px}.primary{background:var(--gold);color:#080c17;border:2px solid #fff0b6;box-shadow:4px 4px #77523b;padding:15px 32px;font-size:18px;min-width:235px}.primary:hover{background:#ffe697;color:#080c17}.quiet{background:#060a10b8;border-color:#445168;font-size:14px}.code-row{display:flex;gap:10px;margin-top:9px}#code-form label,#name-entry label{font-size:13px;letter-spacing:.15em;color:var(--gold)}.status{font-size:13px;line-height:1.55;color:var(--dim);max-width:440px;min-height:20px}.controls-line{margin:32px 0 0;font-size:12px;color:#b3bed0;line-height:1.9}.controls-line b{color:var(--white)}.touch-hint{display:none;font-size:12px;color:var(--dim);line-height:1.8}.opening-bottom{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;color:var(--dim);font-size:11px;letter-spacing:.1em}.opening-bottom b{color:var(--gold);font-size:17px;margin-left:8px}#sound{font-size:12px;border:0;background:#05070fb5}#local-test{display:block;margin-top:12px}#hud{position:absolute;left:24px;top:max(18px,env(safe-area-inset-top));right:24px;display:flex;align-items:start;justify-content:space-between;pointer-events:none;text-shadow:2px 2px #000}#hud button{pointer-events:auto;background:#060a12a0;border-color:#3a4b63;min-width:44px}.score-box small{font-size:12px;letter-spacing:.2em;color:var(--blue);display:block}.score-box strong{font-size:clamp(26px,4vw,44px);font-weight:900;letter-spacing:.06em}.fleet-box{font-weight:bold;font-size:20px;text-align:center}.fleet-box small{display:block;font-size:12px;margin-top:7px;color:#bdc4cb}.blue{color:var(--blue)}.red{color:var(--red)}.versus{color:#626f80}#pilot-hud{position:absolute;left:24px;bottom:max(22px,env(safe-area-inset-bottom));font-size:12px;pointer-events:none;filter:drop-shadow(1px 2px 1px #000)}#lives{color:var(--gold);font-size:22px;letter-spacing:7px;display:block;margin-bottom:12px}.meters{display:grid;grid-template-columns:145px 135px;gap:9px;color:#c9d5e0}.meters label{display:flex;gap:10px;align-items:center}.meters label:nth-child(2){color:var(--blue)}meter{width:70px;height:8px;appearance:none;border:0;background:#233343}meter::-webkit-meter-bar{height:8px;border:0;background:#233343}meter::-webkit-meter-optimum-value{background:var(--gold)}#boost::-webkit-meter-optimum-value{background:var(--blue)}#orders{position:absolute;top:105px;left:24px;max-width:45%;font-size:12px;line-height:1.6;color:var(--blue);text-shadow:1px 2px #000;pointer-events:none}#signal-status{display:block;color:#b3a88a;font-size:10px}#notice{position:absolute;left:10%;right:10%;top:23%;text-align:center;color:var(--gold);font-size:clamp(13px,2vw,21px);letter-spacing:.12em;text-shadow:2px 2px #000;pointer-events:none;white-space:pre-line}#boundary{position:absolute;top:39%;left:15%;right:15%;text-align:center;font-weight:bold;font-size:22px;color:#fff;background:#81182dc9;padding:15px;pointer-events:none}#minimap{position:absolute;right:22px;bottom:max(22px,env(safe-area-inset-bottom));padding:0;background:#040910db;border:1px solid #41556f;line-height:1;box-shadow:0 0 0 3px #03071080}#radar{display:block;width:clamp(105px,13vw,170px);height:auto;image-rendering:pixelated}#map-label{display:block;font-size:10px;letter-spacing:.09em;color:var(--dim);padding:7px}#map-controls{position:absolute;right:22px;bottom:calc(clamp(105px,13vw,170px) + 58px);display:flex;gap:4px}#map-controls button{padding:4px;min-height:30px;width:32px;background:#060a12b3}.modal{position:absolute;inset:0;display:grid;place-items:center;background:#01040ae8;overflow:auto;padding:25px;z-index:10}.modal>div{text-align:center;max-width:560px}.modal p{font-size:14px;line-height:1.9}.modal .eyebrow{font-size:11px}h2{font-size:clamp(32px,5vw,62px);letter-spacing:.07em;margin:10px 0 22px}.modal button{margin:8px 4px}.modal .status{margin:14px auto}.end-screen{background:#050810ed;display:grid;place-items:center;padding:25px}.results-content{width:min(580px,100%);text-align:center}.results-content .eyebrow{margin-bottom:10px}.results-content h2{color:var(--gold);margin:8px 0}.final-score{font-size:clamp(40px,7vw,76px);margin:13px 0;color:var(--white);font-weight:bold;letter-spacing:.1em}.results-content .status{margin:10px auto}.results-content h3{font-size:16px;letter-spacing:.15em;margin:30px 0 15px}.results-content h3 small{font-size:10px;color:var(--dim);display:block;margin-top:8px}#leaderboard{list-style:none;padding:0;margin:0 auto 22px;max-width:370px;font-size:17px}#leaderboard li{display:flex;justify-content:space-between;padding:7px 0;color:#a7b9cf}#leaderboard .new{color:var(--gold)}#name-entry{display:flex;align-items:center;justify-content:center;gap:10px}#initials{width:85px;font-size:18px;padding:10px}#name-entry label{font-size:11px;max-width:62px}.end-actions{display:flex;justify-content:center;gap:15px;margin:25px 0 0}.end-actions .primary{min-width:190px}.end-actions .quiet{min-width:90px}#touch-controls{display:none;position:absolute;inset:0;pointer-events:none}#touch-pad{position:absolute;left:max(25px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:118px;height:118px;border:2px solid #8195b35e;border-radius:50%;background:#23304745;pointer-events:auto;touch-action:none}#touch-pad i{position:absolute;left:38px;top:38px;width:38px;height:38px;border:2px solid #b1cbe4aa;border-radius:50%;background:#5482a25c}.touch-weapons{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:66px 78px;gap:10px;pointer-events:auto}.touch-weapons button{border-radius:50%;padding:0;font-size:10px;height:58px;min-width:58px;touch-action:none;background:#1022348c;border-color:#74a7d394}#touch-fire{grid-row:1/3;grid-column:2;height:86px;align-self:center;border-color:#dfbe6e;color:var(--gold);font-size:14px;background:#302a168a}@media(pointer:coarse),(max-width:600px),(max-width:1000px) and (max-height:500px){#touch-controls{display:block}.touch-hint{display:block}.controls-line{display:none}#pilot-hud{bottom:165px}.meters{grid-template-columns:145px}#minimap{bottom:165px}#map-controls{bottom:calc(clamp(105px,13vw,170px) + 198px)}#orders{top:93px}.title-content{margin-top:7vh}.opening-bottom{position:relative;bottom:auto;margin-top:20px;padding-bottom:20px;left:20px;right:auto;width:calc(100% - 40px)}}@media(max-width:600px){.title-art{object-position:66%;opacity:.35}.title-content{margin:50px 24px 25px;max-width:calc(100% - 48px)}h1{font-size:clamp(50px,15vw,76px)}.tagline{font-size:10px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:.12em}.opening-bottom{font-size:9px;gap:12px;flex-wrap:wrap}.opening-bottom>span:last-child{display:none}.code-row input{width:158px}#hud{left:15px;right:15px;top:18px}.score-box strong{font-size:29px}.fleet-box{font-size:16px;margin-top:7px}#orders{left:15px;font-size:10px;max-width:65%}#pilot-hud{left:15px;font-size:10px}#lives{font-size:18px}.meters{gap:6px}#notice{top:27%;font-size:14px}#minimap{right:15px}#map-controls{right:15px}#boundary{font-size:16px;left:9%;right:9%}#leaderboard{font-size:14px}.results-content h3{margin-top:20px}.end-actions .primary{font-size:15px;padding:13px;min-width:175px}}@media(max-height:550px){.title-content{margin-top:23px;margin-bottom:45px}h1{font-size:48px}.eyebrow{margin-bottom:12px}.tagline{margin:17px 0;font-size:10px}.controls-line{margin-top:12px}.title-content .status{margin:8px 0}.primary{padding:10px 20px;min-height:44px}.title-art{opacity:.7}.opening-bottom{position:absolute;bottom:8px;margin:0;padding:0}.touch-hint{margin:8px 0;line-height:1.5;font-size:10px}#pilot-hud{bottom:18px;left:165px}#lives{margin-bottom:6px}.meters{grid-template-columns:125px 100px;font-size:10px}#orders{top:83px;max-width:50%}#minimap{top:85px;bottom:auto;right:14px}#radar{width:94px}#map-controls{top:207px;bottom:auto;right:15px}.results-content h2{font-size:30px}.final-score{font-size:40px;margin:6px 0}.results-content h3{margin:15px 0 6px}#leaderboard{margin-bottom:10px}#leaderboard li{padding:3px}.end-actions{margin-top:15px}.modal h2{font-size:32px;margin-bottom:10px}.modal p{font-size:12px;line-height:1.65}}
@media(prefers-reduced-motion:reduce){button:active{transform:none}}

h1,h2,.final-score{font-family:Arcade,monospace;font-weight:400}h1{font-size:clamp(30px,4.8vw,68px);line-height:1.2;letter-spacing:-.06em}h1 span:last-child{font-size:.86em;letter-spacing:.13em}h2{font-size:clamp(22px,3.3vw,44px);line-height:1.4}.final-score{font-size:clamp(30px,4.4vw,54px)}.primary{font-family:Arcade,monospace;font-size:13px;line-height:1.5}.title-content{max-width:58vw}@media(max-width:600px){h1{font-size:clamp(28px,8.3vw,48px)}.title-content{max-width:calc(100% - 48px)}.primary{font-size:11px}}@media(max-height:550px){h1{font-size:32px}h2{font-size:22px}.final-score{font-size:30px}}

.score-box,.fleet-box{background:#02040ab8;padding:2px 5px}#orders{background:#02040a9c;padding:3px 5px}
.score-box strong{display:inline-block;transform-origin:left center}.score-box.reward-hit strong{animation:reward-hit .28s steps(4,end)}.score-box.reward-kill strong{animation:reward-kill .58s steps(6,end)}
@keyframes reward-hit{0%{color:#fff;transform:scale(1.28);text-shadow:0 0 12px #4bdcff}100%{color:inherit;transform:scale(1);text-shadow:none}}
@keyframes reward-kill{0%,34%{color:#ffe040;transform:scale(1.48);text-shadow:0 0 8px #fff,0 0 20px #ffe040}35%,65%{color:#fff;transform:scale(1.18)}100%{color:inherit;transform:scale(1);text-shadow:none}}
@media(prefers-reduced-motion:reduce){.score-box.reward-hit strong,.score-box.reward-kill strong{animation:none;color:#ffe040}}

/* Cabinet title screen: fixed pixel coordinates, enlarged as one raster. */
#opening{display:grid;place-items:center;background:#000;overflow:hidden}
#title-stage{position:relative;width:320px;height:256px;flex:none;transform:scale(var(--title-scale,1));transform-origin:center;font-family:Arcade,monospace;font-size:8px;color:#fff;background:#000}
#title-pixels{position:absolute;inset:0;width:320px;height:256px;image-rendering:pixelated;pointer-events:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
#opening .title-scores{position:absolute;top:12px;left:24px;right:24px;display:flex;justify-content:space-between;color:#ff3838;text-align:center;font-size:8px;line-height:1.5}
#opening .title-scores small{display:block;color:#fff;font:inherit}
#opening .title-scores>span:first-child{color:#fff}
#opening .title-scores>span:last-child{color:#4bdcff}
#opening .title-content{position:absolute;inset:154px 20px auto;margin:0;width:280px;max-width:none;text-align:center;text-shadow:none}
#opening button,#opening input{font:inherit;font-weight:400;border-radius:0;letter-spacing:0;box-shadow:none;text-shadow:none;background:transparent;color:#fff;border:0;min-height:0;padding:0;transform:none}
#opening button:hover{color:#ffe040;background:transparent}
#opening button:focus-visible,#opening input:focus-visible{outline:1px solid #ffe040;outline-offset:3px}
#opening #code-form label{font:inherit;color:#ffe040;line-height:1.5}
#opening .code-row{display:flex;justify-content:center;align-items:center;gap:16px;margin:3px 0 0;height:32px}
#opening #code{width:102px;height:30px;font-size:12px;letter-spacing:4px;text-align:center;color:#fff;border-bottom:1px solid #3840b8;caret-color:#ffe040}
#opening #code::placeholder{color:#4bdcff;opacity:1}
#opening #enter-code{height:32px;width:55px;color:#4bdcff;font-size:8px}
#opening #start{display:block;margin:-3px auto 0;width:240px;height:38px;min-width:0;font-size:12px;color:#ffe040;animation:arcade-blink 1.2s steps(1,end) infinite}
#opening .status{font-size:5px;line-height:1.8;letter-spacing:0;text-transform:uppercase;color:#fff;min-height:9px;max-width:280px;margin:5px auto 0}
#opening .controls-line,#opening .touch-hint{font:inherit;font-size:5px;line-height:1.8;color:#4bdcff;margin:11px 0 0;white-space:nowrap}
#opening[data-ready="false"] .controls-line,#opening[data-ready="false"] .touch-hint{display:none}
#opening .opening-bottom{position:absolute;left:12px;right:12px;bottom:4px;width:auto;margin:0;padding:0;display:flex;flex-direction:row;justify-content:space-between;gap:8px;align-items:center;font-size:5px;letter-spacing:0;color:#fff}
#opening .opening-bottom>span:last-child{display:block;text-align:right;line-height:1.6}
#opening #sound{font-size:5px;height:10px;color:#ff8878;min-height:0;padding:0}
@keyframes arcade-blink{0%,65%{opacity:1}66%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#opening #start{animation:none}}

/* A short cabinet-style handoff from the approved title raster into play. */
#launch-transition{position:absolute;inset:0;z-index:9;display:grid;place-items:center;overflow:hidden;background:#000;color:#fff;font-family:Arcade,monospace;text-align:center;animation:launch-crt 1.25s steps(8,end) both}
#launch-transition::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,#3840b826 3px 4px);animation:launch-scan .34s steps(2,end) infinite}
#launch-transition>div{position:relative;z-index:1;display:grid;gap:12px;justify-items:center;text-shadow:3px 3px #3840b8;animation:launch-ready 1.25s steps(6,end) both}
#launch-transition span{font-size:clamp(11px,2vw,18px);letter-spacing:.22em;color:#4bdcff}
#launch-transition strong{font:400 clamp(34px,8vw,82px)/1 Arcade,monospace;letter-spacing:.08em;color:#ffe040;text-shadow:4px 4px #ff3838,8px 8px #3840b8}
#launch-transition small{font-size:clamp(7px,1vw,11px);letter-spacing:.18em;color:#fff}
@keyframes launch-ready{0%{opacity:0;transform:scale(.86)}16%,58%{opacity:1;transform:scale(1)}66%,100%{opacity:0;transform:scale(1.05)}}
@keyframes launch-crt{0%,72%{opacity:1}100%{opacity:0}}
@keyframes launch-scan{0%{transform:translateY(0)}100%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){#launch-transition,#launch-transition>div,#launch-transition::before{animation:none}#launch-transition{opacity:1}#launch-transition::before{display:none}}

#token-count{color:var(--gold);font-size:10px;margin-top:5px;letter-spacing:.06em}

#order-text,#squad-key{color:#7dff85}#squad-key{display:block;font-size:9px;letter-spacing:.03em}

.hud-buttons{display:flex;gap:8px;align-items:center}.hud-buttons #battle-sound{font-size:9px;padding:6px;min-width:72px;color:var(--gold)}.touch-weapons{display:block}#touch-fire{width:96px;height:96px}.audio-credit{color:var(--dim);font-size:9px!important}@media(max-width:600px){.hud-buttons{gap:5px}.hud-buttons #battle-sound{min-width:54px;font-size:8px}#hud .fleet-box{font-size:13px}}

/* Fleet totals are the match score; pilot points remain secondary. */
#hud .score-box strong{font-size:clamp(16px,2vw,24px)}
#hud .fleet-box{font-size:clamp(25px,3.5vw,38px);margin-top:0;min-width:164px}
#hud .fleet-label{margin:0 0 5px;letter-spacing:.12em;color:var(--white)}
.fleet-totals{display:flex;align-items:center;justify-content:center;gap:12px;line-height:1.1}
#hud .fleet-totals small{font-size:10px;margin:0 0 3px;color:inherit;letter-spacing:.12em}
.fleet-totals b{font-variant-numeric:tabular-nums;display:block;min-width:3ch}
#hud #timer{margin-top:4px;font-size:11px}
#pilot-hud.spectating .meters{display:none}
#pilot-hud.spectating #lives{font-size:14px;letter-spacing:.08em}
@media(max-width:600px){#hud .fleet-box{font-size:25px;min-width:139px}.fleet-totals{gap:7px}#hud .fleet-label{font-size:10px}.score-box small{font-size:10px;letter-spacing:.05em}.hud-buttons{gap:4px}#hud .hud-buttons #battle-sound{min-width:44px;max-width:54px;font-size:8px}#hud .hud-buttons #pause{min-width:32px;padding:6px}}

#opening .opening-bottom a{color:inherit;text-decoration:none}#opening .opening-bottom a:hover{text-decoration:underline}#opening .opening-bottom a:focus-visible{outline:1px solid currentColor;outline-offset:2px}

#opening .audio-credits-open{font-size:5px;height:10px;min-height:0;padding:0;color:#4bdcff}
#audio-credits{color:var(--white);background:#081221;border:1px solid #6986a4;padding:28px;text-align:center;width:min(420px,calc(100vw - 32px));max-height:85vh;overflow:auto;font-family:monospace}
#audio-credits::backdrop{background:#000b}#audio-credits h2{font-size:20px;letter-spacing:.1em}#audio-credits p{font-size:14px;line-height:1.8;margin:20px 0}#audio-credits a{color:#6ad9ff}#audio-credits button{font-size:13px;min-height:44px}

/* Brief arcade confirmation, independent of simulation timing. */
#hud .score-box.reward-hit #score{animation:score-hit .18s ease-out}
#hud .score-box.reward-kill #score{animation:score-kill .3s ease-out}
@keyframes score-hit{0%{color:#fff;transform:scale(1.12);text-shadow:0 0 9px #6ad9ff}100%{transform:scale(1)}}
@keyframes score-kill{0%{color:#fff;transform:scale(1.3);text-shadow:0 0 14px #ffdc7e}45%{color:#ffdc7e}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#hud .score-box.reward-hit #score,#hud .score-box.reward-kill #score{animation:none;color:#ffdc7e}}

/* Larger, outlined pilot meters remain readable at a glance. */
.meters{grid-template-columns:220px 150px;font-size:13px;gap:11px}meter{width:132px;height:12px;border:1px solid #6f8298;background:#172331}meter::-webkit-meter-bar{height:10px;background:#172331}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#ffe596,var(--gold))}
#radar{width:clamp(170px,20vw,280px);height:auto;aspect-ratio:1;image-rendering:auto}
@media(max-width:600px){#radar{width:clamp(150px,42vw,220px)}.meters{grid-template-columns:185px;font-size:11px}meter{width:118px;height:10px}}
@media(max-height:550px){#radar{width:clamp(125px,22vh,170px)}.meters{grid-template-columns:170px 100px}}

@media(max-width:380px){.meters{grid-template-columns:140px}meter{width:90px}}

/* Mobile-only compact minimap; desktop placement and size stay unchanged. */
@media (max-width:600px), (pointer:coarse) and (max-width:1100px) {
  #minimap{left:max(12px,env(safe-area-inset-left));right:auto;top:calc(max(18px,env(safe-area-inset-top)) + 76px);bottom:auto}
  #radar{width:96px;height:96px}
  #map-label{font-size:8px;padding:4px;letter-spacing:.04em}
}

/* Commanders scorebar: the admirals' names where the survivor counts were, model and ships small beneath. */
#hud .fleet-box{font-size:clamp(17px,2.3vw,28px);min-width:236px}#hud .fleet-label{margin-bottom:3px}#hud .fleet-totals{gap:12px;align-items:start}#hud .fleet-totals span{display:flex;flex-direction:column;align-items:center;min-width:98px}#hud .fleet-totals b{min-width:0;font-size:1em;line-height:1;letter-spacing:.02em;font-variant-numeric:normal}#hud .fleet-totals small{font-size:9px;letter-spacing:.08em;margin:3px 0 0;color:#c9d3dc}#hud .fleet-totals small.fleet-count{color:inherit;font-size:10px;font-variant-numeric:tabular-nums}#hud .fleet-totals small.thinking{color:var(--gold);animation:think .9s steps(2,end) infinite}#hud .versus{font-size:.5em;align-self:center;color:#7d8ba0;letter-spacing:.1em}@keyframes think{50%{opacity:.3}}@media(max-width:600px){#hud .fleet-box{font-size:14px;min-width:172px}#hud .fleet-totals{gap:6px}#hud .fleet-totals span{min-width:70px}#hud .fleet-totals small{font-size:8px}#hud .fleet-totals small.fleet-count{font-size:8px}}@media(prefers-reduced-motion:reduce){#hud .fleet-totals small.thinking{animation:none}}

/* Scorebar, round two: ship counts largest on top, the admirals' names beneath, model names small beneath that. */
#hud .fleet-box{font-size:clamp(25px,3.5vw,38px);min-width:236px}#hud .fleet-totals{gap:16px;align-items:start}#hud .fleet-totals span{min-width:104px}#hud .fleet-totals b{font-size:1em;font-variant-numeric:tabular-nums;line-height:1}#hud .fleet-totals small.admiral-name{font-size:clamp(11px,1.15vw,14px);font-weight:bold;color:inherit;letter-spacing:.06em;margin-top:4px}#hud .fleet-totals small.admiral-model{font-size:9px;color:#c9d3dc;letter-spacing:.06em;margin-top:2px}#hud .fleet-totals small.admiral-name.thinking{color:var(--gold);animation:think .9s steps(2,end) infinite}#hud .versus{font-size:.7em;align-self:start;margin-top:.1em}@media(max-width:600px){#hud .fleet-box{font-size:24px;min-width:176px}#hud .fleet-totals{gap:8px}#hud .fleet-totals span{min-width:74px}#hud .fleet-totals small.admiral-name{font-size:10px}#hud .fleet-totals small.admiral-model{font-size:8px}}

/* Public admiral radio: appears only when a completed response arrives. */
.admiral-comment{position:absolute;top:100px;width:min(280px,33vw);padding:10px 12px;border:1px solid currentColor;border-radius:9px;background:#060c17ed;text-shadow:none;font:9px/1.8 Arcade,monospace;pointer-events:none;box-shadow:0 4px 18px #0008;overflow-wrap:anywhere}
.admiral-comment.blue{right:calc(50% + 8px)}.admiral-comment.red{left:calc(50% + 8px)}
.admiral-comment strong{display:block;font-size:10px;letter-spacing:.06em;margin-bottom:4px}.admiral-comment span{color:#eef3f7}
@media(max-width:600px){.admiral-comment{top:85px;width:calc(50% - 19px);padding:7px;font-size:8px}.admiral-comment strong{font-size:9px}}

/* Power-on reveals the already laid out title without scaling or a small-cabinet flash. */
#opening.arcade-ready #title-stage{opacity:1;animation:arcade-power-on .45s ease-out both}
@keyframes arcade-power-on{from{opacity:0;filter:brightness(.55)}to{opacity:1;filter:brightness(1)}}
#opening .opening-audio,.pause-audio{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.pause-audio{align-items:center}
#zoom-hint{position:absolute;left:50%;bottom:27%;transform:translateX(-50%);padding:8px 12px;border:1px solid #8cabb66b;border-radius:16px;color:#d5e5ed;background:#07121cbd;font:11px/1.3 system-ui,sans-serif;letter-spacing:.08em;pointer-events:none;z-index:3}
@media(prefers-reduced-motion:reduce){#opening.arcade-ready #title-stage{animation:none}}

.hud-audio{display:flex;flex-direction:column;gap:3px}.hud-audio .audio-credits-open{font-size:8px;padding:4px!important;min-height:20px;background:transparent!important}

.admiral-comment span{font-family:Arcade,monospace}.admiral-comment{width:min(340px,38vw)}
@media(max-width:600px){.admiral-comment{width:calc(50% - 19px);font-size:7px;line-height:1.8}.admiral-comment strong{font-size:7px}}

@media(max-width:600px){.admiral-comment{top:215px}}

.admiral-logo{width:26px;height:26px;object-fit:contain;display:inline-block;margin-right:9px;border-radius:4px;vertical-align:middle}@media(max-width:600px){.admiral-logo{width:16px;height:16px;margin-right:4px}}

#zoom-hint{white-space:pre-line;text-align:center;font-family:Arcade,monospace;font-size:8px;line-height:2;animation:launch-hint-fade 14s linear forwards}@keyframes launch-hint-fade{0%,85%{opacity:1}100%{opacity:0}}.admiral-comment.radio-flash{animation:radio-light 1.2s ease-out}@keyframes radio-light{0%,30%{box-shadow:0 0 24px currentColor;background:#263544}100%{box-shadow:0 0 0 transparent;background:#060c17ed}}@media(prefers-reduced-motion:reduce){.admiral-comment.radio-flash{animation:none}}

.admiral-comment.radio-flash{animation:radio-light 1.2s ease-out,radio-fade .7s ease-in 8s forwards}@keyframes radio-fade{to{opacity:0}}@media(prefers-reduced-motion:reduce){.admiral-comment.radio-flash{animation:none}}
