:root{color-scheme:dark;--gold:#ffe52d;--paper:#ffffff;--teal:#70d3f4;--dim:#a8bdd0;--ink:#081422}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050a11;color:var(--paper);font-family:Arial,Helvetica,sans-serif}body{display:flex;flex-direction:column;align-items:center;justify-content:center}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}#game-shell{display:flex;flex-direction:column;align-items:center;width:min(100vw,calc(100dvh*16/9));container-type:inline-size}#stage{position:relative;width:100%;aspect-ratio:16/9;flex-shrink:0;overflow:hidden;background:#10263c;container-type:inline-size;box-shadow:0 0 90px #14263e55}#world,#hud{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#hud{z-index:2;pointer-events:none}.crt{position:absolute;inset:0;z-index:11;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,#00000014 2px,#00000014 3px);box-shadow:inset 0 0 80px #02090544}#toolbar{position:absolute;right:2.5%;top:2%;display:flex;gap:12px;z-index:10}#toolbar button{padding:5px 1px;background:none;border:0;color:#ffffff;font-family:monospace;font-size:clamp(10px,1.25cqw,14px);letter-spacing:.05em;text-shadow:1px 1px #000}#toolbar button:hover{color:var(--gold)}.menu{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#081728e8 0%,#091c31a0 27%,transparent 70%)}.title{position:absolute;top:11%;left:6%}.eyebrow{font:700 clamp(11px,1.6cqw,16px)/1.5 monospace;letter-spacing:.12em;color:var(--teal);margin:0 0 1em}h1{margin:0;position:relative;line-height:.78;font-size:clamp(46px,10.5cqw,126px);font-weight:950;font-style:italic;letter-spacing:-.075em;text-shadow:3px 3px #12273e}h1 span{display:block;color:var(--gold)}h1 sup{position:absolute;top:0;left:105%;font:700 2cqw monospace;color:var(--gold);letter-spacing:0}.edition{margin:1.5em 0 0;font:700 clamp(11px,1.6cqw,16px) monospace;letter-spacing:.06em}.briefing{position:absolute;top:46%;left:6%;width:36%;min-width:190px}.ship-label{border-top:2px solid var(--gold);border-bottom:1px solid #749bb688;padding:.7em 0;font-weight:900;letter-spacing:.04em;font-size:clamp(14px,2.1cqw,22px)}.ship-label small{display:block;color:var(--teal);margin-top:4px;font:700 clamp(10px,1.3cqw,14px) monospace}dl{margin:1.2em 0;font:700 clamp(11px,1.4cqw,15px) monospace;line-height:1.9}dl div{display:flex;justify-content:space-between;gap:10px}dt{color:var(--dim)}dd{margin:0;text-align:right}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-left:5px solid #fff7b3;padding:.82em 1em;background:var(--gold);color:#11233a;font-size:clamp(14px,2.2cqw,22px);font-weight:900;font-style:italic;letter-spacing:.01em;text-align:left}.primary:hover{background:#fff48a}.hint{color:#c8d9e5;font-size:clamp(11px,1.5cqw,16px);line-height:1.55;margin:1em 0}.menu-footer{position:absolute;bottom:3%;left:6%;right:5%;display:flex;justify-content:space-between;font:700 clamp(9px,1.25cqw,14px) monospace;letter-spacing:.08em;color:#abc9df99}.overlay{position:absolute;z-index:12;top:50%;left:50%;width:50%;min-width:260px;max-width:560px;transform:translate(-50%,-50%);padding:4%;background:#0b2139f2;border-top:3px solid var(--gold);box-shadow:0 14px 50px #0009}h2{font-size:clamp(36px,6cqw,62px);font-style:italic;letter-spacing:-.035em;margin:0 0 .6em;color:var(--gold)}.secondary{display:block;width:100%;text-align:left;margin-top:10px;padding:12px;background:#223951;border:0;color:var(--paper);font-size:clamp(12px,1.6cqw,17px);font-weight:700}.secondary:hover{background:#395a77}.total{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0;font:700 clamp(13px,1.8cqw,19px) monospace}.total strong{font-size:1.3em;color:var(--gold)}.lap-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #9bb49c38;font:700 clamp(12px,1.6cqw,17px) monospace}.lap-row.best{color:var(--gold)}#control-frame{position:absolute;left:2%;right:2%;bottom:1.2%;z-index:8;container-type:inline-size;pointer-events:none;background:transparent}#controls{position:relative;display:flex;justify-content:center;align-items:center;gap:2.5cqw;width:100%;height:auto;padding:3px 6px;background:transparent;color:var(--paper);font:normal clamp(10px,1.45cqw,18px)/1.3 F5000Pixel,monospace;pointer-events:none}.control-binding{display:flex;align-items:center;gap:.7em;white-space:nowrap}.control-keys{display:flex;align-items:center;justify-content:center;gap:.3em}#controls .control-keycap{display:inline-flex;align-items:center;justify-content:center;min-width:2em;min-height:2.15em;padding:.35em .45em;border:1px solid #ffffff;border-bottom:3px solid #6f8ba5;border-radius:3px;background:#102238;color:#ffffff;font:inherit;box-shadow:0 2px 0 #02070e;transition:background 60ms,color 60ms,border-color 60ms}#controls .control-keycap.pressed{background:var(--gold);color:#081422;border-color:#fff5a2;border-bottom-color:#b69520;box-shadow:0 0 10px #f2d12955}.control-action{color:var(--gold);text-shadow:1px 2px #13253c}#touch{position:absolute;z-index:9;inset:auto 3% 5%;display:flex;justify-content:space-between;pointer-events:none}.touch-group{display:flex;flex-direction:column;gap:5px}.touch-group>div{display:flex;gap:5px}.touch-group>button{max-width:90px}.touch-group button{pointer-events:auto;touch-action:none;user-select:none;border:1px solid #d7e4b980;background:#091c30cc;color:#ffffff;padding:12px;min-width:56px;min-height:46px;font-size:12px;font-weight:900}.touch-group button.pressed{background:#f2d129;color:#172939}.touch-group.drive{justify-content:flex-end}.drive .thrust{min-height:65px;border-color:var(--gold);color:var(--gold)}#game-shell:fullscreen{width:100%;height:100%;justify-content:center;background:#030704}#game-shell:fullscreen #stage{width:min(100vw,calc(100dvh*16/9))}.muted{opacity:.55}
@media(max-width:620px){#stage{width:100%}.briefing{width:45%;top:43%;min-width:0}.title{top:12%}.menu-footer{display:none}.hint{font-size:11px}#toolbar{gap:8px}.overlay{width:78%;padding:6%}}
@media(orientation:landscape) and (max-height:600px){#stage{width:100%}.hint{display:none}.briefing{top:47%}dl{margin:.6em 0}.touch-group button{min-height:34px;padding:7px}.drive .thrust{min-height:48px}#touch{bottom:3%}}
@media(max-width:620px){.title .eyebrow{margin-bottom:.5em;font-size:10px}.title h1{font-size:clamp(36px,11cqw,68px)}.edition{font-size:10px;margin-top:1em}.briefing{top:auto;bottom:7%;width:58%}.briefing dl,.briefing .hint,.ship-label small{display:none}.ship-label{font-size:12px;padding:5px 0;margin-bottom:10px}.touch-group:not(.drive){display:grid;grid-template-columns:56px 56px;gap:5px}.touch-group:not(.drive)>div{grid-column:1/3;grid-row:2}.touch-group:not(.drive)>button:last-child{grid-column:2;grid-row:1}.touch-group button{padding:7px;min-height:34px}.drive .thrust{min-height:48px}}
/* F5000 garage: the selected craft stays visible to the right of the controls. */
.title{top:13%}h1{font-size:clamp(50px,12cqw,144px);line-height:.9;letter-spacing:-.065em}h1 span{display:inline}.edition{margin-top:1em}.briefing{top:36%;width:40%}.ship-selector{border:0;padding:0;margin:0 0 12px;min-width:0}.ship-selector legend{padding:0;margin-bottom:7px;color:var(--dim);font:700 clamp(11px,1.4cqw,15px) monospace;letter-spacing:.1em}.ship-options{display:flex;gap:7px}.ship-options button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:40px;padding:8px 7px;border:1px solid #7393b366;background:#0b1c30d9;color:#a8bdd0;font:800 clamp(11px,1.5cqw,17px) Arial,sans-serif}.ship-options button[aria-pressed=true]{color:#fff;border-color:var(--gold);background:#29435ae8;box-shadow:inset 0 -2px var(--gold)}.ship-options button[data-ship=ika][aria-pressed=true]{border-color:#ff7a32;box-shadow:inset 0 -2px #ff7a32}.livery{display:inline-block;width:22px;height:11px;flex-shrink:0;transform:skew(-18deg)}.livery.mika{background:linear-gradient(90deg,#3386d9 0 40%,#fff 40% 75%,#f4d429 75%)}.livery.ika{background:linear-gradient(90deg,#fff 0 60%,#ff782a 60%)}.ship-label{padding:.5em 0;font-size:clamp(13px,1.8cqw,20px)}.briefing dl{margin:.85em 0}.briefing .hint{margin:.8em 0}
@media(max-width:620px){.title{top:11%}.title h1{font-size:clamp(43px,13cqw,80px)}.briefing{top:auto;bottom:7%;width:58%}.ship-selector{margin-bottom:6px}.ship-selector legend{font-size:10px;margin-bottom:4px}.ship-options{gap:5px}.ship-options button{font-size:10px;gap:5px;min-height:33px;padding:6px 4px}.livery{width:16px;height:9px}.ship-label{font-size:12px;margin-bottom:8px}.briefing .primary{padding:.7em 1em}}
@media(max-width:380px){.title{top:9%}.title .edition{display:none}.briefing{bottom:6%}}
@media(orientation:landscape) and (max-height:600px){.briefing{top:36%;width:42%;bottom:auto}.ship-selector{margin-bottom:5px}.ship-options button{min-height:30px;padding:5px}.ship-label{padding:4px 0}.briefing dl{margin:6px 0;line-height:1.5}.briefing .primary{padding:.6em 1em}.ship-label small{display:none}}
/* Three-craft selection and steering-only controls. */
.livery.eva{background:linear-gradient(90deg,#803be0 0 64%,#a5f62c 64%)}.ship-options button[data-ship=eva][aria-pressed=true]{border-color:#a5f62c;box-shadow:inset 0 -2px #a5f62c}.ship-options button{gap:5px;padding-inline:5px}.touch-group:not(.drive){display:flex;justify-content:flex-end}.touch-group:not(.drive)>div{display:flex}.touch-group.drive button[data-key=ArrowDown]{color:#ffb992}
@media(max-width:620px){.briefing{width:82%}.ship-options button{font-size:11px}.ship-options{gap:5px}.ship-label{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.briefing{width:48%}.ship-options button{font-size:10px}.ship-options .livery{width:14px}}

/* Dedicated service bay and performance readout. */
.title{top:12%}.title h1{font-size:clamp(44px,8.5cqw,102px)}.briefing{top:34%;width:41%}.ship-stats{border-bottom:1px solid #749bb655;padding-bottom:.55em}.ship-stats dd{display:flex;align-items:center;gap:12px;color:#fff}.stat-pips{display:flex;gap:4px}.stat-pips i{display:block;width:clamp(10px,1.8cqw,21px);height:8px;background:#8cadc32e;transform:skew(-15deg)}.stat-pips i.filled{background:var(--gold);box-shadow:0 0 7px #f2d12930}.briefing .ship-stats{margin:.65em 0;line-height:1.8}.briefing .race-details{font-size:clamp(10px,1.2cqw,13px);margin:.6em 0}.briefing .hint{font-size:clamp(10px,1.2cqw,13px)}
@media(max-width:620px){.title{top:10%}.title h1{font-size:10cqw}.briefing{top:auto;bottom:5%;width:82%}.briefing .ship-stats{display:block;font-size:11px;margin:6px 0;line-height:1.6}.stat-pips i{width:18px;height:6px}.ship-selector{margin-bottom:4px}.ship-label{margin-bottom:4px}.briefing .race-details{display:none}}
@media(orientation:landscape) and (max-height:600px){.title{top:11%}.briefing{top:34%;bottom:auto;width:47%}.briefing .ship-stats{display:block;line-height:1.5;margin:5px 0}.briefing .race-details,.briefing .hint{display:none}.stat-pips i{height:6px}}

/* Portraits share the craft information panel; the service-bay ship remains visible. */
.briefing{width:46%}
.pilot-profile{display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:12px;align-items:start;margin:8px 0;--pilot-accent:#70d3f4}
.pilot-profile[data-craft=ika]{--pilot-accent:#ff963e}.pilot-profile[data-craft=eva]{--pilot-accent:#a5f62c}
.pilot-portrait{margin:0;min-width:0;border:1px solid var(--pilot-accent);background:#0b1828;position:relative}
.pilot-portrait canvas,.pilot-placeholder{display:block;width:100%;aspect-ratio:1;height:auto;image-rendering:pixelated}
.pilot-portrait figcaption{padding:5px 2px;text-align:center;font:700 clamp(8px,1cqw,12px) monospace;letter-spacing:.05em;color:var(--pilot-accent);border-top:1px solid #7393b344}
.pilot-placeholder{position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,#14273a 0 2px,#102134 2px 4px)}
.pilot-silhouette{position:absolute;width:70%;height:42%;left:15%;bottom:13%;background:#496277;clip-path:polygon(0 100%,5% 32%,30% 10%,70% 10%,95% 32%,100% 100%)}
.pilot-silhouette:before{content:''}
.pilot-placeholder:before{content:'';position:absolute;width:30%;height:36%;left:35%;top:14%;background:#496277;clip-path:polygon(15% 0,85% 0,100% 25%,85% 80%,65% 100%,35% 100%,15% 80%,0 25%)}
.pilot-pending{position:absolute;bottom:3%;left:2%;right:2%;text-align:center;font:700 clamp(7px,.8cqw,10px) monospace;color:var(--pilot-accent)}
.pilot-details{min-width:0}.pilot-details .ship-label{font-size:clamp(11px,1.5cqw,18px);margin:0}.pilot-details .ship-label small{font-size:clamp(9px,1.05cqw,12px)}
.pilot-details .ship-stats{font-size:clamp(10px,1.2cqw,14px)}.pilot-details .ship-stats dd{gap:6px}.pilot-details .stat-pips{gap:3px}.pilot-details .stat-pips i{width:clamp(8px,1.3cqw,16px)}
@media(max-width:620px){.briefing{width:86%}.pilot-profile{grid-template-columns:80px minmax(0,1fr);gap:10px;margin:5px 0}.pilot-portrait figcaption{display:none}.pilot-details .ship-label{padding:4px 0;font-size:12px}.pilot-details .ship-stats{font-size:11px;line-height:1.4;margin:4px 0;padding-bottom:3px}.pilot-details .stat-pips i{width:15px}.pilot-details .ship-label small{display:none}.pilot-pending{font-size:7px}}
@media(max-width:380px){.title .eyebrow{display:none}.pilot-profile{grid-template-columns:72px minmax(0,1fr);gap:8px}.pilot-details .ship-label{font-size:11px}.pilot-details .ship-stats{font-size:10px}.pilot-details .stat-pips i{width:11px}.briefing .primary{font-size:12px}}
@media(orientation:landscape) and (max-height:600px) and (min-width:621px){.briefing{width:48%}.pilot-profile{gap:8px}.pilot-portrait figcaption{display:none}.pilot-details .ship-label{font-size:12px}.pilot-details .ship-stats{font-size:10px}}

/* Approved portrait concept: opaque navy, large portrait and bitmap typography. */
@font-face{font-family:F5000Pixel;src:url('./assets/f5000-pixel.ttf') format('truetype');font-display:swap}
#menu.profile-menu{background:#030c1d;font-family:F5000Pixel,monospace;color:#ffffff}
#menu.profile-menu:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00000030 0 1px,transparent 1px 3px);pointer-events:none;z-index:2}
.profile-rule{position:absolute;left:3%;right:3%;height:1px;background:#276db2}.profile-rule-top{top:6%}.profile-rule-bottom{bottom:5%}.profile-rule:after{content:'';position:absolute;right:0;bottom:0;width:11%;height:6px;background:repeating-linear-gradient(135deg,#428fd4 0 8px,transparent 8px 13px)}
.selection-screen{position:absolute;inset:10% 3.5% 13%;display:grid;grid-template-columns:49% minmax(0,1fr);gap:4%;--pilot-accent:#6ab6ff}
.selection-screen .pilot-portrait{height:100%;width:100%;border:3px solid #5caaf0;box-shadow:inset 0 0 0 3px #174b83,0 0 12px #246db426;clip-path:polygon(3% 0,97% 0,100% 3%,100% 97%,97% 100%,3% 100%,0 97%,0 3%);overflow:hidden;background:#132d49}
.selection-screen .pilot-portrait canvas{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.selection-screen .pilot-placeholder{width:100%;height:100%;aspect-ratio:auto}.selection-screen .pilot-pending{bottom:12%;font:clamp(8px,1.25cqw,16px) F5000Pixel,monospace;line-height:1.8}
.selection-screen[data-craft=ika]{--pilot-accent:#ff963e}.selection-screen[data-craft=eva]{--pilot-accent:#a5f62c}
.selection-details{min-width:0;display:grid;grid-template-rows:27% 10% 23% 25% 15%;align-items:start}
.profile-brand{align-self:center;min-width:0}.profile-brand h1{margin:0;font:normal 11.3cqw/.85 F5000Pixel,monospace;letter-spacing:-.045em;white-space:nowrap;transform:skew(-13deg);transform-origin:left;color:#ffffff;text-shadow:2px 2px #7aa4c2;position:static}.profile-brand h1 span{display:inline;color:#ffe72f}.profile-brand p{font:normal clamp(6px,.96cqw,15px)/1.6 F5000Pixel,monospace;letter-spacing:.04em;white-space:nowrap;margin:1.2em 0 0;border-bottom:1px solid #235288;padding-bottom:.9em;color:#9dbfe2}
.profile-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #184979;padding-bottom:.65em;font:normal 2.1cqw/1.2 F5000Pixel,monospace;letter-spacing:.05em}.profile-heading span{color:#358ade;letter-spacing:-.15em;font-size:1.5em;font-style:italic}
.profile-identity{align-self:center;min-width:0}.profile-identity h2{margin:0 0 .4em;color:#ffffff;font:normal 3cqw/1.2 F5000Pixel,monospace;letter-spacing:-.04em;white-space:nowrap;text-shadow:1px 2px #638eb2}.profile-identity p{font:normal 1.8cqw/1.5 F5000Pixel,monospace;margin:.35em 0;letter-spacing:.08em}.profile-identity #ship-livery{font-size:1.13cqw;letter-spacing:.015em;white-space:nowrap}
.selection-details .ship-stats{margin:0;padding:0;border:0;font:normal 1.8cqw/1 F5000Pixel,monospace;align-self:center;display:grid;gap:1.6cqw}.selection-details .ship-stats div{display:flex;align-items:center;gap:8px}.selection-details .ship-stats dt{color:#b9d5ef;letter-spacing:.025em}.selection-details .ship-stats dd{display:flex;gap:0}.selection-details .stat-pips{display:flex;gap:.65cqw}.selection-details .stat-pips i{width:2.35cqw;height:2.35cqw;transform:none;background:transparent;border:2px solid #20578b;box-shadow:none}.selection-details .stat-pips i.filled{border-color:#ffdf24;background:#ffe52d;box-shadow:0 0 7px #eecd2020}.selection-details [id^=value-]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.craft-confirm{display:grid;grid-template-columns:12% minmax(0,1fr) 12%;width:100%;height:60%;align-self:end;background:#ffe62f;clip-path:polygon(2% 0,98% 0,100% 15%,100% 85%,98% 100%,2% 100%,0 85%,0 15%)}
.craft-confirm button{border:0;background:transparent;color:#07142a;font:normal 2.3cqw/1 F5000Pixel,monospace;padding:0;min-width:0;white-space:nowrap}.craft-confirm button:first-child,.craft-confirm button:last-child{font-family:monospace;font-size:2.8cqw}.craft-confirm button:hover{background:#fff58a}.craft-confirm button:focus-visible{outline:2px solid #07142a;outline-offset:-4px}
.profile-craft-tabs{position:absolute;left:3.5%;bottom:7%;display:flex;gap:1.8cqw;z-index:3}.profile-craft-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#7298bd;font:normal clamp(7px,1cqw,13px)/1.6 F5000Pixel,monospace;padding:0 0 3px}.profile-craft-tabs button[aria-pressed=true]{color:#ffffff;border-color:#429be9}
@media(max-width:620px){.selection-screen{inset:12% 3% 14%;gap:4%}.profile-brand h1{font-size:11cqw}.selection-details .ship-stats{gap:1.7cqw}.selection-screen .pilot-portrait{border-width:2px}.profile-craft-tabs{bottom:6%}.profile-rule-bottom{bottom:4%}.selection-details .stat-pips i{border-width:1px}.craft-confirm{height:70%}.profile-heading{border-width:1px}.profile-rule-top{top:8%}}
#toolbar button{font-family:F5000Pixel,monospace;font-size:clamp(7px,.85cqw,11px);letter-spacing:0}

/* Garage composition: concept styling in the original left-hand controls, live ship on the right. */
#menu.garage-profile-menu{background:linear-gradient(90deg,#040e20f2 0%,#061528db 33%,#07152885 48%,transparent 68%)}
#menu.garage-profile-menu:after{background:none}
.garage-profile-menu>.profile-brand{position:absolute;left:6%;top:12%;width:45%;height:18%;display:flex;flex-direction:column;justify-content:center}
.garage-profile-menu .profile-brand h1{font-size:9cqw}
.garage-profile-menu .profile-brand p{font-size:1cqw;margin-top:1em;padding-bottom:.6em}
.garage-profile-menu .profile-rule-top{top:8%;right:48%;left:6%}
.garage-profile-menu .profile-rule-bottom{right:48%;left:6%;bottom:7%}
.garage-profile-menu .profile-craft-tabs{left:6%;top:33%;bottom:auto;width:46%;gap:6px;display:flex}
.garage-profile-menu .profile-craft-tabs button{flex:1;min-height:34px;padding:7px 3px;background:#0c2037c9;border:1px solid #2d5276;font-size:clamp(9px,1.18cqw,14px)}
.garage-profile-menu .profile-craft-tabs button[aria-pressed=true]{background:#193b58e8;border-color:#78b9ef;box-shadow:inset 0 -2px #ffe52d}
.garage-profile-menu .selection-screen{inset:auto;left:6%;top:43%;width:46%;height:30%;grid-template-columns:35% minmax(0,1fr);gap:6%}
.garage-profile-menu .pilot-portrait{height:auto;aspect-ratio:348/400;align-self:start;border-width:2px}
.garage-profile-menu .selection-details{display:grid;grid-template-rows:auto auto;align-content:start;gap:1.4cqw;height:100%;min-height:0}
.garage-profile-menu .profile-heading{font-size:clamp(9px,1.25cqw,15px);padding-bottom:.4em;border-width:1px;align-self:start}
.garage-profile-menu .profile-identity{align-self:start}
.garage-profile-menu .profile-identity h2{font-size:clamp(11px,2.1cqw,25px);line-height:1;margin:0 0 .3em}
.garage-profile-menu .profile-identity p{font-size:clamp(9px,1.25cqw,15px);margin:.15em 0;letter-spacing:.025em}
.garage-profile-menu .profile-identity #ship-livery{font-size:clamp(7px,.87cqw,11px)}
.garage-profile-menu .ship-stats{font-size:clamp(9px,1.2cqw,14px);gap:.8cqw;align-self:center}
.garage-profile-menu .ship-stats div{display:grid;grid-template-columns:8ch max-content;justify-content:start;column-gap:clamp(6px,.7cqw,9px)}
.garage-profile-menu .stat-pips{gap:.35cqw}.garage-profile-menu .stat-pips i{width:1.6cqw;height:1.6cqw;min-width:8px;min-height:8px;border-width:1px}
.garage-profile-menu>.craft-confirm{position:absolute;left:6%;top:79%;width:46%;height:8%;min-height:32px}
.garage-profile-menu .craft-confirm button{font-size:clamp(12px,2.1cqw,24px)}
.garage-profile-menu .pilot-pending{font-size:clamp(7px,.9cqw,11px)}
@media(max-width:620px){
 #menu.garage-profile-menu{background:linear-gradient(90deg,#051326d9,transparent 70%),linear-gradient(0deg,#041123f5 0%,#07182cbb 45%,transparent 67%)}
 .garage-profile-menu>.profile-brand{left:6%;top:9%;width:43%;height:17%}
 .garage-profile-menu .profile-brand h1{font-size:8.5cqw}.garage-profile-menu .profile-brand p{display:none}
 .garage-profile-menu .profile-craft-tabs{top:31%;width:86%;gap:5px}.garage-profile-menu .profile-craft-tabs button{min-height:28px;font-size:clamp(8px,1.65cqw,11px);padding:5px 2px}
 .garage-profile-menu .selection-screen{top:46%;width:86%;height:32%;grid-template-columns:23% minmax(0,1fr);gap:4%}
 .garage-profile-menu .selection-details{grid-template-rows:auto auto;gap:1.4cqw}
 .garage-profile-menu .profile-identity{display:block}
 .garage-profile-menu .profile-identity h2{font-size:clamp(11px,2.6cqw,16px);margin:0 0 .3em}.garage-profile-menu .profile-identity #pilot-name{font-size:clamp(8px,1.7cqw,11px);margin:0;white-space:nowrap}
 .garage-profile-menu .ship-stats{font-size:clamp(9px,1.8cqw,11px);gap:.9cqw;align-self:start}.garage-profile-menu .stat-pips{gap:4px}.garage-profile-menu .stat-pips i{width:2.5cqw;height:1.7cqw}
 .garage-profile-menu>.craft-confirm{top:83%;width:86%;height:11%;min-height:26px}.garage-profile-menu .craft-confirm button{font-size:clamp(12px,2.6cqw,16px)}
 .garage-profile-menu .profile-rule-bottom{bottom:3%;right:8%}.garage-profile-menu .profile-rule-top{top:6%;right:52%}
 .garage-profile-menu .pilot-pending{font-size:6px}
}

/* Centred craft carousel with an expandable row of selection squares. */
.garage-profile-menu>.craft-confirm{left:50%;transform:translateX(-50%);width:46%;top:79%}
.craft-pagination{position:absolute;left:50%;top:88%;transform:translateX(-50%);display:flex;justify-content:center;gap:2px;max-width:86%;flex-wrap:wrap;z-index:3}
.craft-pagination button{display:grid;place-items:center;width:30px;height:28px;padding:0;background:transparent;border:0}
.craft-pagination button:after{content:'';display:block;width:12px;height:12px;border:1px solid #5289b4;background:#0b1c30}
.craft-pagination button[aria-pressed=true]:after{background:#ffe52d;border-color:#ffe52d;box-shadow:0 0 7px #ffe52d33}
.craft-pagination button:hover:after{border-color:#fff}
.garage-profile-menu .profile-rule-bottom{left:6%;right:6%;bottom:5%}
@media(max-width:620px){.garage-profile-menu>.craft-confirm{left:50%;top:78%;width:76%;height:9%;min-height:24px}.craft-pagination{top:90%;transform:translate(-50%,-50%)}.craft-pagination button{width:28px;height:22px}.craft-pagination button:after{width:9px;height:9px}.garage-profile-menu .profile-rule-bottom{display:none}}

#view{touch-action:none;user-select:none}#toolbar #view.pressed{color:var(--gold)}

/* Leave the craft visible during the automatic post-race tracking shot. */
#results.finish-results{top:auto;bottom:7%;left:4%;transform:none;width:29%;min-width:190px;max-width:340px;padding:2%;background:#07182de8;font-family:F5000Pixel,monospace;box-shadow:0 8px 26px #0006}
.finish-results .eyebrow{font:normal clamp(8px,1cqw,12px)/1.6 F5000Pixel,monospace;letter-spacing:0;margin:0 0 1em}
.finish-results h2{font:normal clamp(24px,4.5cqw,48px)/1 F5000Pixel,monospace;font-style:italic;margin:0 0 .65em}
.finish-results .lap-row{font:normal clamp(8px,1cqw,12px)/1.5 F5000Pixel,monospace;padding:.7em 0}
.finish-results .total{font:normal clamp(8px,1cqw,12px)/1.5 F5000Pixel,monospace;margin:1.5em 0;gap:8px}.finish-results .total strong{font-size:1.2em}
.finish-results .primary,.finish-results .secondary{font:normal clamp(9px,1.15cqw,13px)/1.5 F5000Pixel,monospace;padding:.8em;min-height:34px}.finish-results .secondary{margin-top:7px}
@media(max-width:620px){#results.finish-results{left:3%;bottom:6%;width:38%;min-width:140px;padding:2.5%}.finish-results h2{font-size:clamp(22px,5cqw,30px)}.finish-results .total{display:block;margin:1em 0}.finish-results .total strong{display:block;margin-top:.35em}.finish-results .secondary{font-size:8px}}



/* Race classification sits beside the tracking shot; the player's row uses league yellow. */
#results{max-height:86%;overflow-y:auto;scrollbar-width:thin}
.finish-results h2{font-size:clamp(22px,3.8cqw,40px);margin-bottom:.55em}
#standings-heading{font:normal clamp(8px,1cqw,11px)/1.4 F5000Pixel,monospace;letter-spacing:.03em;color:var(--teal);margin:0 0 .7em}
#standings-rows{list-style:none;padding:0;margin:0}
.standing-row{display:grid;grid-template-columns:1.6em minmax(0,1fr) auto;gap:.45em;align-items:center;padding:.8em .35em;border-bottom:1px solid #87a6c333;font:normal clamp(8px,1cqw,11px)/1.5 F5000Pixel,monospace;color:#ffffff}
.standing-row.is-player{background:#f2d12916;color:var(--gold);box-shadow:inset 2px 0 var(--gold)}
.standing-place{color:var(--teal)}.is-player .standing-place{color:var(--gold)}
.standing-craft{min-width:0;white-space:nowrap}.standing-craft small{display:block;font:inherit;font-size:.8em;line-height:1.2;opacity:.75}
.standing-time{white-space:nowrap;text-align:right}
#result-laps{margin:0 0 1.1em;font:normal clamp(8px,1cqw,12px)/1.5 F5000Pixel,monospace;color:var(--dim)}
#result-laps summary{cursor:pointer;padding:.4em 0;color:var(--teal)}
#result-laps summary:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.finish-results .total{margin:1em 0}
@media(max-width:620px){.finish-results h2{font-size:clamp(18px,4.2cqw,26px)}.standing-row{font-size:8px;gap:.35em;grid-template-columns:1.3em minmax(0,1fr) auto;padding:.65em .3em}.finish-results .eyebrow{margin-bottom:.65em}}

/* Keep each binding together when the game view is narrow. */
@container (max-width:760px){#controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:2px 3px;height:auto;font-size:clamp(10px,1.7cqw,13px)}.control-binding{flex-direction:column;gap:3px}.control-keys{min-height:20px}#controls .control-keycap{min-height:20px;padding:.2em .35em}}

/* Overlay bindings stay clear of the hangar carousel at every game-view size. */
#stage{--controls-clearance:calc(var(--control-overlay-height,40px) + 1.2% + 6px)}
.garage-profile-menu>.craft-confirm{top:auto;bottom:calc(var(--controls-clearance) + 30px)}
.craft-pagination{top:auto;bottom:var(--controls-clearance);transform:translateX(-50%)}
.garage-profile-menu .profile-rule-bottom{bottom:calc(var(--controls-clearance) - 4px)}
@container(max-width:620px){.garage-profile-menu .selection-screen{top:26.5%}.garage-profile-menu>.craft-confirm{top:auto;bottom:calc(var(--controls-clearance) + 24px);height:8%;min-height:24px}.craft-pagination{top:auto;bottom:var(--controls-clearance);transform:translateX(-50%)}.craft-pagination button{height:18px}.garage-profile-menu .profile-rule-bottom{display:none}}

/* 16:9 composition: preserve proportions and use the extra horizontal view. */
.garage-profile-menu>.profile-brand{left:5%;top:10%;width:40%;height:20%}
.garage-profile-menu .profile-brand h1{font-size:6.75cqw}
.garage-profile-menu .profile-brand p{font-size:.85cqw}
.garage-profile-menu .profile-rule-top{left:5%;right:55%;top:7%}
.garage-profile-menu .selection-screen{left:5%;top:37%;width:40%;height:auto;grid-template-columns:30% minmax(0,1fr);gap:5%}
.garage-profile-menu .selection-details{height:auto;gap:1cqw}
.garage-profile-menu .profile-identity h2{font-size:clamp(11px,1.75cqw,25px)}
.garage-profile-menu .profile-identity #pilot-name{font-size:clamp(8px,1.05cqw,15px)}
.garage-profile-menu .ship-stats{font-size:clamp(9px,1.05cqw,14px);gap:.65cqw;align-self:start}
.garage-profile-menu .stat-pips i{width:1.25cqw;height:1.25cqw}
.garage-profile-menu>.craft-confirm{width:40%;height:8%;font-size:1.8cqw}
.garage-profile-menu .craft-confirm button{font-size:clamp(12px,1.8cqw,24px)}
.overlay{max-height:80%;overflow-y:auto}
#results.finish-results{bottom:var(--controls-clearance);max-height:calc(94% - var(--controls-clearance))}
#touch{bottom:var(--controls-clearance)}
@container(max-width:760px){
  #controls{display:flex;gap:2cqw;font-size:clamp(7px,1.25cqw,11px);padding:2px 0}
  .control-binding{flex-direction:row;gap:.4em}.control-keys{min-height:0}
  #controls .control-keycap{min-height:1.8em;min-width:1.8em;padding:.2em .3em}
  .garage-profile-menu .selection-details{gap:.65cqw}
}
@container(max-width:620px){
  #menu.garage-profile-menu{background:linear-gradient(90deg,#040e20f2 0%,#061528db 32%,#07152885 47%,transparent 66%)}
  .garage-profile-menu>.profile-brand{left:5%;top:9%;width:40%;height:18%}
  .garage-profile-menu .profile-brand h1{font-size:6.75cqw}.garage-profile-menu .profile-brand p{display:none}
  .garage-profile-menu .selection-screen{left:5%;top:33%;width:40%;height:auto;grid-template-columns:30% minmax(0,1fr);gap:5%}
  .garage-profile-menu .selection-details{gap:3px}
  .garage-profile-menu .profile-identity h2{font-size:clamp(9px,1.8cqw,11px);margin-bottom:3px}
  .garage-profile-menu .profile-identity #pilot-name{font-size:clamp(7px,1.3cqw,9px);line-height:1.2;margin:0}
  .garage-profile-menu .ship-stats{font-size:clamp(7px,1.4cqw,9px);gap:3px}
  .garage-profile-menu .ship-stats div{grid-template-columns:8ch max-content;column-gap:4px}
  .garage-profile-menu .stat-pips{gap:2px}.garage-profile-menu .stat-pips i{width:1.4cqw;height:1.4cqw;min-width:5px;min-height:5px}
  .garage-profile-menu>.craft-confirm{width:46%;height:8%;min-height:20px;bottom:calc(var(--controls-clearance) + 20px)}
  .garage-profile-menu .craft-confirm button{font-size:clamp(10px,1.8cqw,12px)}
  .craft-pagination button{height:16px}
  #results.finish-results{min-width:130px;width:39%;padding:2%;left:3%}
}

/* Keep UI inside a centred 14:9 area while the world stays full-width 16:9. */
#toolbar{right:8.4375%}
#control-frame{left:8%;right:8%}
#touch{left:8.875%;right:8.875%}
.garage-profile-menu>.profile-brand,.garage-profile-menu .selection-screen{left:10.625%;width:35%}
.garage-profile-menu .profile-rule-top{left:10.625%;right:54.375%}
.garage-profile-menu .profile-rule-bottom{left:11.5%;right:11.5%}
.garage-profile-menu>.craft-confirm{width:35%}
#results.finish-results{left:9.75%;width:25.375%}
@container(max-width:620px){
  .garage-profile-menu>.craft-confirm{width:40.25%}
  #results.finish-results{left:8.875%;width:34.125%}
}

/* Hangar navigation surrounds the ship; the pilot information stays on the left. */
.garage-profile-menu .selection-screen{left:13.625%;width:32%;grid-template-columns:10.5cqw minmax(0,1fr);column-gap:1.75cqw;row-gap:1.1cqw;align-items:start}
.ship-flavour{grid-column:1/-1;margin:0;color:var(--paper);font:normal clamp(10px,1cqw,16px)/1.6 F5000Pixel,monospace;text-shadow:1px 2px #071422;overflow-wrap:break-word}
.ship-flavour:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.craft-arrow{position:absolute;top:55%;transform:translateY(-50%);width:4%;height:9%;display:grid;place-items:center;border:0;background:transparent;color:var(--gold);padding:0;font:normal clamp(20px,3.8cqw,68px)/1 monospace;text-shadow:0 2px #102139;z-index:3}
#previous-craft{left:48.5%}#next-craft{right:4.5%}
.craft-arrow:hover{color:#fff}
.craft-indicators{position:absolute;left:72%;top:75%;transform:translateX(-50%);display:flex;justify-content:center;gap:.7cqw;z-index:3}
.craft-indicators button{display:grid;place-items:center;width:2.1cqw;height:2.1cqw;min-width:22px;min-height:22px;padding:0;border:0;background:transparent}
.craft-indicators button:after{content:'';display:block;width:1.6cqw;height:1.6cqw;min-width:10px;min-height:10px;border:2px solid var(--gold);background:#ffe52d40}
.craft-indicators button[aria-pressed=true]:after{background:var(--gold);box-shadow:0 0 9px #ffe52d55}
.craft-indicators button:hover:after{border-color:#fff}
.race-confirm{position:absolute;left:50%;bottom:max(14%,calc(var(--controls-clearance) + 3%));transform:translateX(-50%);width:16%;height:7%;min-height:28px;border:0;padding:0;background:var(--gold);color:#07142a;font:normal clamp(16px,2.6cqw,42px)/1 F5000Pixel,monospace;clip-path:polygon(5% 0,95% 0,100% 25%,100% 75%,95% 100%,5% 100%,0 75%,0 25%);z-index:3}
.race-confirm:hover{background:#fff48a}
.race-confirm:focus-visible{outline:2px solid #07142a;outline-offset:-5px}
@container(max-width:620px){
  .garage-profile-menu .selection-screen{row-gap:4px}
  .ship-flavour{max-width:25cqw;max-height:max(3em,calc(22cqw - 30px));overflow-y:auto;font-size:8px;line-height:1.5;scrollbar-width:thin;scrollbar-color:#5289b4 transparent}
  .craft-arrow{width:6%;min-height:28px}
  #previous-craft{left:47.5%}#next-craft{right:3.5%}
  .craft-indicators{top:73%;gap:2px}
  .craft-indicators button:after{border-width:1px}
  .race-confirm{width:22%}
}

/* Hangar keycaps are hold-to-preview controls; race bindings remain visible hints. */
#stage[data-mode=menu] #controls .control-keycap{pointer-events:auto;touch-action:none;user-select:none}
#controls .control-keycap:disabled{cursor:default;opacity:1}
