*{box-sizing:border-box}body{margin:0;background:#101b19;color:#eff3df;font-family:Arial,sans-serif}header,main{max-width:1540px;margin:auto;padding:0 4vw}header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}a{color:#dcff78;text-decoration:none;font-size:24px;font-weight:900}a span{color:#eff3df}header div,small{font-size:10px;letter-spacing:2px;color:#adbdac}button,select{font:inherit;color:inherit;background:#24332f;border:1px solid #536352;border-radius:5px;padding:10px 15px;cursor:pointer}button:hover{border-color:#dfff7b}button:focus-visible,select:focus-visible{outline:3px solid #dcff78}button[hidden]{display:none}.heading{display:flex;align-items:end;justify-content:space-between;padding:26px 0 22px}h1{font-size:clamp(28px,4vw,52px);letter-spacing:-2px;margin:7px 0 0;line-height:1}em{color:#dcff78}.heading p{color:#afbeaf;font-size:13px}.race{position:relative;border:1px solid #52624c;border-radius:12px;overflow:hidden;background:#24382d;aspect-ratio:1400/850}canvas{width:100%;height:100%;display:block;outline:none}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 28px;pointer-events:none;background:linear-gradient(#06110fe8,transparent)}.hud small{display:block;font-size:9px}.hud b{font:700 clamp(14px,2vw,26px) monospace;display:block;margin-top:5px}.speed{position:absolute;right:25px;bottom:25px;text-align:right;pointer-events:none}.speed b{font:italic 800 52px monospace}.speed span{font-size:10px;margin-left:8px}.speed i{display:block;font:10px monospace;letter-spacing:2px;color:#dcff78}#overlay{position:absolute;inset:0;background:#091715bc;backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}#overlay[hidden]{display:none}.panel{width:min(440px,100%);text-align:center}.panel>small{color:#dcff78}h2{font-size:clamp(30px,4vw,55px);letter-spacing:-2px;margin:17px 0}.panel p{color:#c0cbbd;font-size:13px;line-height:1.7}.fields{display:flex;gap:12px;margin:26px 0}.fields label{flex:1;min-width:0;text-align:left;font-size:9px;letter-spacing:1px;color:#b5c3ac}select{display:block;width:100%;margin-top:9px;padding:12px 7px;font-size:12px}.primary{width:100%;background:#dcff78;color:#172018;font-size:12px;font-weight:900;padding:17px}.panel .hint{font-size:10px;line-height:1.8;margin-top:21px}#resume{margin-top:10px;width:100%}#count{position:absolute;top:43%;width:100%;text-align:center;color:#dcff78;font:italic 900 95px Arial;pointer-events:none;text-shadow:0 4px 20px #000}footer{display:flex;justify-content:space-between;gap:12px;padding:18px 0;color:#bdc8b6;font-size:10px}footer span{display:flex;gap:9px;align-items:center;flex-wrap:wrap}kbd{padding:5px;border:1px solid #4a5d4e;border-radius:3px;color:#e9f1d6}footer button{padding:6px 9px;font-size:10px}.note{font-size:11px;color:#9aab9b;margin:0 0 24px}.touch{display:none}.race:fullscreen{height:100vh;width:100vw;border:0;border-radius:0;aspect-ratio:auto}.race:fullscreen canvas{object-fit:contain}@media(pointer:coarse){.touch{display:flex;gap:8px;justify-content:center;padding-bottom:20px}.touch button{touch-action:none;user-select:none;min-height:55px}.touch button:last-child{background:#dcff78;color:#152315}}@media(max-width:700px){header{height:60px}header div,.heading p{display:none}.heading{padding:20px 0}.race{aspect-ratio:1}.hud{padding:12px}.hud small{font-size:7px;letter-spacing:1px}.hud b{font-size:12px}.panel h2{font-size:30px;margin:8px}.fields{margin:12px 0}.panel .hint{margin:10px 0;font-size:9px}.panel p{font-size:11px}.speed{right:12px;bottom:12px}.speed b{font-size:28px}.speed span{font-size:8px}footer{flex-wrap:wrap}#count{font-size:65px}}

.boost{position:absolute;left:25px;bottom:26px;width:190px;pointer-events:none}.boost span{font:10px monospace;color:#dcff78;letter-spacing:2px}.boost>div{height:9px;background:#102020b0;border:1px solid #92a581;margin-top:9px;transform:skew(-15deg);overflow:hidden}.boost i{display:block;height:100%;width:65%;background:linear-gradient(90deg,#67d4ed,#dcff78)}#callout{position:absolute;top:100px;left:0;width:100%;text-align:center;font:italic 800 18px Arial;color:#e2ff83;pointer-events:none;text-shadow:0 2px 5px #000}@media(max-width:700px){.boost{width:110px;left:12px;bottom:15px}.boost span{font-size:8px;letter-spacing:1px}#callout{top:65px;font-size:12px}.touch{flex-wrap:wrap}.touch button{padding:10px}}

/* Keep the track and controls within the browser viewport. */
html{height:100%;overflow:hidden}body{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}header{height:44px;min-height:44px;width:100%;padding:0 22px}header a{font-size:19px}header button{padding:5px 12px;font-size:11px}main{width:100%;max-width:none;margin:0;padding:0 18px;min-height:0;flex:1;display:flex;flex-direction:column;align-items:stretch}.heading{height:52px;min-height:52px;padding:9px 0;align-items:center}.heading h1{font-size:25px;margin:3px 0;letter-spacing:-1px}.heading small{font-size:8px}.heading p{font-size:11px;margin:0}.race{flex:none;width:min(100%,calc((100dvh - 157px)*1.6470588));height:auto;aspect-ratio:1400/850;align-self:center;min-height:0;border-radius:8px}footer{padding:7px 0;min-height:39px;gap:6px}footer span{gap:6px}kbd{padding:3px}footer button{padding:4px 7px}.note{margin:0;line-height:18px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.touch{padding:0;gap:5px}#overlay{overflow:auto}.panel .hint{margin-bottom:0}@media(pointer:coarse){.race{width:min(100%,calc((100dvh - 220px)*1.6470588))}.touch{height:58px;min-height:58px;flex-wrap:nowrap;align-items:center}.touch button{min-height:42px;font-size:10px;padding:8px}}@media(max-height:650px){.panel h2{font-size:28px;margin:6px}.panel p{margin:6px 0;font-size:11px}.fields{margin:12px 0}select{padding:7px}.primary{padding:11px}.panel .hint{font-size:9px;margin-top:8px}.hud{padding:12px 20px}.hud b{font-size:19px}}@media(max-width:700px){header{height:38px;min-height:38px}.heading{height:43px;min-height:43px}.heading h1{font-size:21px}.race{width:min(100%,calc((100dvh - 177px)*1.6470588))}footer{min-height:55px;padding:5px 0;flex-direction:column;justify-content:center}footer span{font-size:8px;gap:4px}.note{font-size:8px}}@media(max-width:700px) and (pointer:coarse){.race{width:min(100%,calc((100dvh - 235px)*1.6470588))}}

.difficulty{display:block;text-align:left;font:9px Arial;letter-spacing:1px;color:#b5c3ac;margin:0 0 14px}.difficulty select{margin-top:5px;padding:7px}@media(max-width:700px){}@media(max-height:650px){.difficulty{margin-bottom:8px}.difficulty select{padding:5px}.fields{margin:8px 0}.panel>p{font-size:10px}.panel h2{font-size:25px}}

.garage-button{width:100%;margin:0 0 10px;padding:10px;font-size:11px;color:#dcff78}#adaptive-info{font:10px/1.5 monospace;color:#b9ccb0;margin:7px 0 12px}#garage{position:absolute;inset:0;z-index:10;background:#0b1817f5;display:block;overflow-y:auto;padding:20px}#garage[hidden]{display:none}.garage-panel{max-width:740px;margin:auto}.garage-panel h2{font-size:32px;margin:7px 0}.garage-panel p{font-size:11px;line-height:1.6;color:#bacbb8}.garage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.garage-grid label{font-size:9px;letter-spacing:1px;color:#d3e1c9}.garage-grid select{padding:10px;font-size:11px;margin-top:6px}#garage-stats{padding:12px;border:1px solid #69805a;background:#1d3029;color:#dfff91;font:11px/1.8 monospace}.garage-panel .primary{margin-bottom:10px}@media(max-width:600px){.garage-grid{grid-template-columns:1fr;gap:10px}#garage{padding:12px}.garage-panel h2{font-size:25px}}

/* Workshop bay */
#garage{padding:16px 22px;background:radial-gradient(ellipse at 25% 30%,#2b3b37,#101c1e 70%)}.garage-panel{max-width:1250px}.workshop-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #74857744;padding-bottom:12px;gap:15px}.workshop-head small{color:#aebaa3;font:9px monospace;letter-spacing:2px}.workshop-head h2{font:italic 900 30px Arial;margin:5px 0}.workshop-head .primary{width:auto;min-width:150px;margin:0;font-size:10px;padding:12px 17px}.workshop-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:24px;padding-top:16px}.workshop-view{min-width:0}.bay-label,.parts-title{font:9px monospace;letter-spacing:1px;color:#d8e4cd;display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.bay-label span{color:#adce7b;font-size:8px}.parts-title span{letter-spacing:0;color:#96a994;font-size:8px}#garage-scene{border:1px solid #5c726144;border-radius:8px;overflow:hidden;box-shadow:0 15px 40px #0004}#garage-scene svg{width:100%;height:clamp(190px,37dvh,365px);display:block}.workshop-parts{background:#12201f99;padding:15px;border:1px solid #65755e55;border-radius:8px}.garage-grid{grid-template-columns:1fr;gap:12px;margin:15px 0 0}.garage-grid label{display:block;padding-bottom:10px;border-bottom:1px solid #71826725;font:9px monospace;letter-spacing:1.2px;color:#bbcbb0}.garage-grid label:last-child{border:0;padding:0}.garage-grid select{background:#263832;border:1px solid #6e835e77;color:#eef5dd;border-radius:5px;padding:10px 8px;letter-spacing:0;font:11px Arial;transition:background .2s,border .2s}.garage-grid select:hover{border-color:#c5ed8b;background:#314637}#install-status{font:9px/1.7 monospace;color:#d5f49b;min-height:37px;padding:10px 0 6px}#garage-bars{display:grid;gap:9px;padding:12px;background:#10201d88;border:1px solid #70866c33;border-radius:6px}.stat-row{display:grid;grid-template-columns:100px 1fr 65px 38px;gap:8px;align-items:center;font:9px monospace}.stat-row>span{color:#aec2ac;font-size:8px}.stat-row>div{height:5px;background:#435448;border-radius:5px;overflow:hidden}.stat-row i{display:block;height:100%;background:#d9f990;border-radius:5px;transition:width .35s}.stat-row b{text-align:right;font-weight:400}.stat-row small{text-align:right;font:8px monospace}.stat-gain{color:#c9ee9c}.stat-cost{color:#ffae8d}#garage-stats{font:9px/1.6 monospace;background:none;border:0;padding:8px 0;color:#99ae9c;margin:0}.install-flash{animation:part-install .6s ease-out;transform-box:fill-box;transform-origin:center}@keyframes part-install{0%{opacity:.15;filter:drop-shadow(0 0 12px #deff96);transform:translateY(-14px)}60%{opacity:1;filter:drop-shadow(0 0 6px #deff96)}100%{transform:translateY(0)}}@media(max-width:700px){#garage{padding:12px}.workshop-layout{grid-template-columns:1fr;gap:15px}.workshop-head h2{font-size:24px}.workshop-head .primary{min-width:115px;padding:10px;font-size:8px}#garage-scene svg{height:240px}.garage-grid{grid-template-columns:1fr 1fr;gap:10px}.garage-grid select{font-size:10px}.stat-row{grid-template-columns:85px 1fr 61px 34px;gap:6px}}@media(prefers-reduced-motion:reduce){.install-flash{animation:none}.stat-row i{transition:none}}

.crate-workbench{border:1px solid #93a98044;background:#152521;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px;margin-top:22px;border-radius:10px}.crate-copy h3{font-size:26px;letter-spacing:-1px;margin:8px 0}.crate-copy p{max-width:420px}.crate-copy b{display:block;color:#dcff78;font:700 22px monospace;margin:20px 0 7px}#collection-count{font:11px monospace;color:#a5b49d}.crate-stage{width:100px;height:82px;margin:10px auto 22px;background:linear-gradient(130deg,#445948,#1a3027);border:3px solid #a6bc81;box-shadow:0 12px 20px #0005;transform:rotate(-6deg);position:relative;display:grid;place-items:center;transition:transform .3s}.crate-stage:before,.crate-stage:after{content:'';position:absolute;top:0;bottom:0;width:9px;background:#c6dd92}.crate-stage:before{left:10px}.crate-stage:after{right:10px}.crate-stage span{font:900 25px Arial;color:#dfff91}.crate-stage.opening{animation:crate-rattle .85s ease-in-out}.crate-stage.revealed{border-color:#dcff78;box-shadow:0 0 35px #dcff7844;transform:rotate(0) translateY(-4px)}#crate-result{text-align:center;min-height:32px;font:10px/1.6 monospace;color:#dfff91}#equip-cosmetic{width:100%;margin-top:9px;color:#dcff78}#inventory-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #8a9f7e33;padding-top:15px}#inventory-list>span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #52654a;border-radius:5px;font:10px Arial;background:#14211e}#inventory-list i{width:9px;height:9px;border-radius:50%}#inventory-list .empty-inventory{color:#9daf94;border:0;padding:0}button,select{transition:background .18s,border-color .18s,opacity .18s}#garage-scene svg{animation:workshop-in .22s ease-out}@keyframes workshop-in{from{opacity:.6}to{opacity:1}}@keyframes crate-rattle{0%,100%{transform:rotate(-6deg)}25%{transform:rotate(7deg) translateY(-7px)}50%{transform:rotate(-9deg) translateY(-12px)}75%{transform:rotate(5deg) translateY(-8px)}}@media(max-width:600px){.crate-workbench{grid-template-columns:1fr;padding:15px;gap:10px}.crate-copy h3{font-size:22px}}@media(prefers-reduced-motion:reduce){.crate-stage.opening,#garage-scene svg{animation:none}.crate-stage,button,select{transition:none}}

/* Race-weekend main menu */
#overlay{background:#101c1bf5;backdrop-filter:blur(9px);padding:18px 25px;display:block}.menu-shell{max-width:1180px;width:100%;margin:auto;text-align:left}.menu-topline{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1.8px;color:#9caf97;padding-bottom:12px;border-bottom:1px solid #71866a44}.menu-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,1fr);gap:30px;padding:18px 0}.menu-showroom{min-width:0;position:relative;display:flex;flex-direction:column;background:#1a2b29;border-radius:8px;overflow:hidden;border:1px solid #697d6144}.showroom-caption{padding:17px 19px 0;z-index:1}.showroom-caption small{font:8px monospace;letter-spacing:2px;color:#abc191}.showroom-caption strong{display:block;font:italic 800 29px Arial;color:#eef6dc;letter-spacing:-1px;margin-top:6px}#menu-car{flex:1;min-height:0}#menu-car svg{width:100%;height:clamp(170px,30dvh,290px);display:block}.build-strip{padding:12px 17px;background:#11211f;font:9px monospace;display:flex;justify-content:space-between;gap:8px}.build-strip>small{font:9px monospace;color:#dcff91;letter-spacing:0}.menu-controls{align-self:center;min-width:0}.menu-controls>small{font:8px monospace;letter-spacing:2px;color:#c5e494}.menu-controls h2{font:italic 900 clamp(29px,3.5vw,49px) Arial;letter-spacing:-2px;margin:10px 0}.menu-controls>p{font-size:11px;line-height:1.6;margin:10px 0;color:#b4c4b0}.track-ticket{display:flex;gap:14px;align-items:center;border:1px solid #798c6544;border-radius:6px;background:#20312b;padding:8px 12px}#menu-track{width:75px;flex-shrink:0;height:48px}#menu-track svg{width:100%;height:100%}.track-ticket b{font-size:12px;display:block}.track-ticket small{font:8px monospace;letter-spacing:1px;color:#a8bb9f;display:block;margin-top:5px}.menu-controls .fields{margin:12px 0;gap:10px}.menu-controls .fields label{font-size:8px}.menu-controls select{font-size:10px;padding:8px}.menu-controls #adaptive-info{font-size:9px}.menu-controls .primary{font-size:12px;padding:13px}.menu-controls .garage-button{margin:9px 0 0;font-size:10px;padding:10px}.menu-controls .hint{font-size:8px;line-height:1.6;margin:9px 0 0}.roster-heading{display:flex;justify-content:space-between;border-top:1px solid #81947144;padding:12px 0 10px;font:9px monospace;letter-spacing:1.5px;color:#dae7c9}.roster-heading span{font:8px monospace;letter-spacing:0;color:#9fb299}#rival-roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}#rival-roster article{position:relative;display:flex;gap:9px;align-items:center;border:1px solid #65785a44;border-top:2px solid var(--rival);border-radius:5px;background:#1d2e29;padding:12px 9px;overflow:hidden}.rival-number{font:italic 700 19px monospace;color:var(--rival)}#rival-roster b{font:800 10px Arial;letter-spacing:1px;display:block}#rival-roster small{font:8px Arial;color:#b2c0aa;letter-spacing:0;display:block;margin-top:5px}.rival-car{width:14px;height:29px;position:absolute;right:-2px;top:14px;border-radius:5px;background:var(--rival);opacity:.13;transform:rotate(25deg)}.solo-roster{grid-column:1/-1;font:10px monospace;color:#b9d39f;padding:15px;background:#23352a}#race-order{position:absolute;left:24px;top:100px;pointer-events:none;font:9px monospace;display:grid;gap:5px}#race-order:empty{display:none}#race-order>div{display:flex;gap:7px;align-items:center;background:#0a1719aa;padding:5px 8px;color:#c2d0bb;border-radius:3px}#race-order .is-you{color:#dcff78;background:#213825d9}#race-order span{width:8px}#race-order i{width:5px;height:12px;border-radius:1px}#race-order b{font-weight:400}.race:has(#overlay:not([hidden]))>.hud,.race:has(#overlay:not([hidden]))>.speed,.race:has(#overlay:not([hidden]))>.boost,.race:has(#overlay:not([hidden]))>#race-order{visibility:hidden}@media(max-height:720px) and (min-width:701px){#overlay{padding:12px 20px}.menu-layout{gap:20px;padding:10px 0}.showroom-caption{padding:11px 15px 0}.showroom-caption strong{font-size:23px}#menu-car svg{height:23dvh}.menu-controls h2{font-size:30px;margin:5px 0}.menu-controls>p{font-size:10px;margin:6px 0}.menu-controls .fields{margin:8px 0}.menu-controls .primary{padding:10px}.menu-controls .garage-button{padding:7px}.roster-heading{padding:9px 0}#rival-roster article{padding:9px 7px}#rival-roster small{font-size:7px}.menu-topline{padding-bottom:8px}}@media(max-width:700px){#overlay{padding:12px}.menu-layout{grid-template-columns:1fr;gap:15px;padding:12px 0}.menu-topline{font-size:7px;letter-spacing:1px}.menu-topline span:last-child{display:none}.menu-showroom{display:none}.menu-controls h2{font-size:31px}.menu-controls .fields{margin:10px 0}#rival-roster{grid-template-columns:1fr 1fr}#rival-roster article:last-child{grid-column:1/-1}.roster-heading span{font-size:7px}#race-order{left:11px;top:65px;font-size:7px;gap:3px}#race-order>div{padding:3px 5px;gap:4px}#race-order i{height:9px}}

@media(min-width:701px){.menu-layout{padding:12px 0;gap:24px}.menu-controls h2{font-size:36px;margin:7px 0}.menu-controls>p{font-size:10px;line-height:1.4;margin:7px 0}.menu-controls .fields{margin:9px 0}.menu-controls .hint{font-size:8px;margin:6px 0 0}.roster-heading{padding:10px 0 8px}#rival-roster article{padding:10px 8px}}@media(max-height:720px) and (min-width:701px){.menu-controls h2{font-size:27px}.menu-controls>p{font-size:9px;line-height:1.3;margin:5px 0}.menu-controls .hint,.menu-controls #adaptive-info{display:none}.menu-controls .fields{margin:8px 0}.menu-controls select{padding:6px}.track-ticket{padding:5px 8px}#menu-track{height:38px}.menu-controls .primary{padding:10px}.menu-controls .garage-button{margin-top:7px;padding:8px}.menu-layout{padding:10px 0}.roster-heading{padding:8px 0}#rival-roster article{padding:8px 6px}.showroom-caption strong{font-size:22px}}

.crate-menu-button{width:100%;margin-top:8px;padding:10px;border:1px solid #d9bb65;background:linear-gradient(120deg,#59442a,#302f20);color:#ffde92;font:800 10px Arial;letter-spacing:1px;box-shadow:inset 0 0 18px #efbd5e10}.crate-menu-button:hover{background:#594c2d;border-color:#ffe5a8}.garage-crate-link{margin-left:auto;color:#f3d38c;font-size:10px}.workshop-head .primary{min-width:110px}#loot-panel{position:absolute;inset:0;z-index:14;overflow:auto;padding:20px;background:radial-gradient(ellipse at 65% 15%,#42482a,#101e20 70%)}#loot-panel[hidden]{display:none}.loot-content{max-width:1100px;margin:auto}.loot-head{max-width:none;width:100%;height:auto;min-height:0;padding:0 0 14px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #b6b67e44}.loot-head small{font:9px monospace;letter-spacing:2px;color:#d9cb93}.loot-head h2{font:italic 900 32px Arial;letter-spacing:-1px;margin:7px 0}.loot-head button{font-size:10px}.loot-content .crate-workbench{margin-top:16px;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:25px;background:#192823b0}.loot-content .crate-copy h3{font-size:23px}.loot-content .crate-stage{width:120px;height:96px;margin:20px auto 24px}.loot-content .crate-stage.opening{animation:crate-rattle 1.2s ease-in-out}.loot-content .crate-stage.revealed{display:none}#reward-showcase[hidden]{display:none}#reward-showcase{border:1px solid #bfda8b55;border-radius:8px;overflow:hidden;background:#122124;animation:reward-arrive .4s ease-out}#reward-showcase small{display:block;color:#dbedb3;font:8px monospace;letter-spacing:2px;padding:15px 17px 0}#reward-showcase h3{font:italic 800 24px Arial;letter-spacing:-.5px;margin:6px 17px 0;color:#f1fbdc}#reward-canvas{display:block;width:100%;height:auto;aspect-ratio:2.5}.loot-content #crate-result{font-size:10px}.loot-content #open-crate{background:#e3cb88}.loot-content #open-crate:disabled{opacity:.5}.loot-content #equip-cosmetic{background:#dcff78;color:#182619;font-weight:bold}#reward-showcase+#crate-result{margin-top:12px}.loot-content #inventory-list{max-height:140px;overflow:auto}@keyframes reward-arrive{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:650px){#loot-panel{padding:12px}.loot-head h2{font-size:24px}.loot-content .crate-workbench{grid-template-columns:1fr;padding:12px;gap:8px}.loot-content .crate-copy h3{font-size:19px}.loot-content .crate-copy p{font-size:10px}.loot-content .crate-copy b{margin:10px 0 4px;font-size:19px}.loot-content .crate-copy{display:block}#reward-showcase h3{font-size:20px}}@media(max-height:720px) and (min-width:701px){.menu-controls .crate-menu-button{padding:7px;margin-top:6px}.loot-content .crate-stage{margin:10px auto}.loot-head h2{font-size:25px}.loot-content .crate-workbench{padding:15px;margin-top:12px}}@media(prefers-reduced-motion:reduce){#reward-showcase{animation:none}.loot-content .crate-stage.opening{animation:none}}

/* Supply reel */
.loot-content .crate-stage{display:none}.loot-content .crate-workbench{grid-template-columns:1fr;padding:20px}.loot-content .crate-copy{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}.loot-content .crate-copy>small,.loot-content .crate-copy h3,.loot-content .crate-copy p{grid-column:1}.loot-content .crate-copy h3{font-size:22px;margin:5px 0}.loot-content .crate-copy p{max-width:700px;margin:5px 0;font-size:10px}.loot-content .crate-copy b{grid-column:2;grid-row:1/3;margin:0;font-size:22px;text-align:right}.loot-content .crate-copy #collection-count{grid-column:2;grid-row:3;text-align:right}.reward-reel{background:linear-gradient(#1b292b,#101b21);border:1px solid #6c7f6b;border-radius:8px;overflow:hidden;box-shadow:0 8px 35px #0004}.reel-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #94ab7f33;font:8px monospace;letter-spacing:1px;color:#9eaf97}.reel-top b{color:#d8e8bd;font-size:8px;font-weight:400}.reel-window{height:174px;position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,#0f1b21 0 149px,#8da27b0a 149px 150px)}.reel-window:before,.reel-window:after{content:'';position:absolute;top:0;bottom:0;width:65px;z-index:3;pointer-events:none}.reel-window:before{left:0;background:linear-gradient(90deg,#0e1b21,transparent)}.reel-window:after{right:0;background:linear-gradient(-90deg,#0e1b21,transparent)}#reel-track{display:flex;gap:10px;position:absolute;left:50%;top:16px;transform:translate3d(-370px,0,0);will-change:transform}.reel-card{width:140px;flex:0 0 140px;height:140px;border:1px solid #5b716a;border-radius:5px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--drop-color) 23%,#18242a),#152027 85%);padding:10px 9px;box-sizing:border-box}.reel-card>small{font:7px monospace;letter-spacing:1px;color:var(--drop-color)}.reel-card svg{width:120px;height:75px;display:block;margin:1px auto}.reel-card b{font:700 9px/1.2 Arial;display:block;color:#edf2e1;max-width:115px}.reel-card>i{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--drop-color)}.reel-marker{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-1px);background:#e9cb7a;z-index:4;box-shadow:0 0 12px #fff5ac44}.reel-marker:before,.reel-marker:after{content:'';position:absolute;left:-6px;border-left:7px solid transparent;border-right:7px solid transparent}.reel-marker:before{top:0;border-top:10px solid #ffe49d}.reel-marker:after{bottom:0;border-bottom:10px solid #ffe49d}.reel-caption{padding:9px;text-align:center;color:#93a491;font:8px monospace;letter-spacing:.3px}.reward-reel.spinning .reel-marker{box-shadow:0 0 20px #ffe49d55}.reward-reel.landed .reel-prize{border-color:#f1df9b;box-shadow:0 0 20px #e6d48755;animation:prize-pulse .7s ease-out}.reward-reel.landed .reel-marker{background:#fff4bd}.reward-reel:has(#reel-track:empty) .reel-window{height:100px;background:repeating-linear-gradient(90deg,#20302a 0 139px,#15241f 140px 150px)}.reward-reel:has(#reel-track:empty) .reel-window:after{content:'OPEN A CRATE TO START THE REEL';width:100%;display:grid;place-items:center;color:#c6d8a7;font:10px monospace;letter-spacing:2px;background:linear-gradient(90deg,#0e1b2166,transparent,#0e1b2166)}#reward-showcase{margin-top:18px}#reward-canvas{max-height:260px;object-fit:contain}.loot-content #open-crate{max-width:420px;display:block;margin:12px auto 0}.loot-content #equip-cosmetic{max-width:420px;display:block;margin:9px auto 0}.loot-content #equip-cosmetic[hidden]{display:none}.loot-content #crate-result{min-height:16px;margin:12px 0 8px}.loot-content #inventory-list{max-height:100px}@keyframes prize-pulse{0%{filter:brightness(1.8)}100%{filter:brightness(1)}}@media(max-width:600px){.loot-content .crate-workbench{padding:12px}.loot-content .crate-copy{display:block}.loot-content .crate-copy b{margin-top:9px;text-align:left;font-size:19px}.loot-content .crate-copy #collection-count{text-align:left;display:block;margin-top:5px}.reel-top{padding:9px;font-size:7px;gap:10px}.reel-top b{font-size:7px}.reel-window:before,.reel-window:after{width:25px}.reel-caption{font-size:7px}#reward-showcase h3{font-size:19px}}@media(prefers-reduced-motion:reduce){.reward-reel.landed .reel-prize{animation:none}}

/* Visual parts rack */
.workshop-layout{grid-template-columns:minmax(0,1.05fr) minmax(330px,1fr)}.workshop-view{align-self:start;position:sticky;top:0}.part-browser{margin-top:14px}#part-categories{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;align-items:center;padding-bottom:13px;border-bottom:1px solid #88a07633}#part-categories button{padding:7px 9px;border-radius:4px;font:9px Arial;background:#192b26;color:#b7cab0;border:1px solid #687f5d66}#part-categories button[aria-pressed=true]{background:#d8f594;border-color:#d8f594;color:#17251d;font-weight:bold}.part-browse-heading{display:flex;justify-content:space-between;gap:10px;margin:15px 0 10px;font:9px monospace;letter-spacing:1px;color:#dfebce}.part-browse-heading>span{letter-spacing:0;color:#9caf95;font-size:8px}#part-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.part-choice{position:relative;min-width:0;padding:0 0 10px;text-align:left;background:#1a2c28;border:1px solid #617c5966;border-radius:7px;overflow:hidden;transition:transform .15s,border-color .15s,background .15s}.part-choice:hover:not(:disabled){transform:translateY(-3px);border-color:#daf59d;background:#273f31}.part-choice.fitted{border-color:#d6f78e;box-shadow:inset 0 0 0 1px #d6f78e44}.part-art{height:110px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,#4b655a44,transparent 70%),linear-gradient(140deg,#233830,#142323);border-bottom:1px solid #748c6144}.part-art svg{height:100px;width:100%;max-width:170px;filter:drop-shadow(0 6px 5px #0003);transition:transform .2s}.part-choice:hover .part-art svg{transform:scale(1.06) rotate(-3deg)}.part-choice>b{display:block;padding:10px 10px 0;font:700 11px Arial;color:#eff5dd;min-height:24px}.part-tradeoffs{display:flex;flex-wrap:wrap;gap:4px 7px;padding:7px 10px;min-height:44px;font:8px/1.5 monospace;color:#9caf99}.part-tradeoffs span{display:block}.part-benefit{color:#c6e89b}.part-sacrifice{color:#f1ae95}.part-choice>small{display:block;margin:0 10px;padding-top:7px;border-top:1px solid #83947622;color:#c5daab;font:8px monospace;letter-spacing:.7px}.part-choice.fitted>small{color:#dfff83}.part-choice.locked{opacity:.62;cursor:default}.part-choice.locked .part-art{filter:saturate(.65)}.parts-help{font:9px/1.6 Arial;color:#9eb396;margin:12px 0 0}.part-choice:focus-visible{outline:3px solid #e1f9ad;outline-offset:2px}@media(max-width:700px){.workshop-layout{grid-template-columns:1fr}.workshop-view{position:static}.part-art{height:96px}.part-art svg{height:88px}.part-choice>b{font-size:10px}#part-categories button{font-size:9px;padding:7px 9px}}@media(prefers-reduced-motion:reduce){.part-choice,.part-art svg{transition:none}.part-choice:hover:not(:disabled),.part-choice:hover .part-art svg{transform:none}}

#rival-roster article{flex-wrap:wrap;align-content:start}.rival-build{flex-basis:100%;position:relative;z-index:2;border-top:1px solid #91a77933;margin-top:5px;padding-top:7px}.rival-build summary{cursor:pointer;font:7px monospace;letter-spacing:.5px;color:var(--rival);list-style:none}.rival-build summary::-webkit-details-marker{display:none}.rival-build summary:focus-visible{outline:2px solid #dfff91;outline-offset:3px}.rival-build-stats{font:7px/1.6 monospace;color:#d5e0c9;margin:9px 0 7px}.rival-hardware{display:grid;grid-template-columns:1fr 1fr;gap:5px}.rival-hardware>div{background:#14241f;border:1px solid #7a8e6d33;border-radius:3px;padding:3px;min-width:0}.rival-hardware svg{width:100%;height:38px;display:block}.rival-hardware span{display:block;color:#c9d8bf;font:7px/1.4 Arial;text-align:center}.rival-build .rival-build-note{font:7px/1.5 Arial!important;color:#91a58b!important;margin-top:8px!important}#rival-roster article:has(details[open]){border-color:var(--rival)}

.parts-wallet{padding:12px;border:1px solid #bbcf8355;background:linear-gradient(120deg,#2b3c29,#192b25);border-radius:6px;margin-top:14px}.parts-wallet>div{display:flex;align-items:center;justify-content:space-between;gap:9px}.parts-wallet small{font:8px monospace;letter-spacing:1px;color:#b7c799}.parts-wallet b{font:800 20px monospace;color:#e4ffa4}.parts-wallet p{font:9px/1.65 Arial;color:#b6c7a7;margin:8px 0 0}#part-categories{max-height:148px;overflow:auto;padding-right:3px}.part-choice.locked:not(:disabled){opacity:1;border-color:#b4a26e88}.part-choice.locked:not(:disabled)>small{color:#e9ce8b}.rival-hardware{max-height:225px;overflow:auto}.part-tradeoffs{min-height:45px}.part-browse-heading>span{font-size:7px}

#fitted-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}#fitted-modules>div{border:1px solid #8ba37533;border-radius:4px;background:#182b24;padding:3px}#fitted-modules svg{width:100%;height:42px;display:block}#fitted-modules small{font:7px/1.5 Arial;letter-spacing:0;display:block;text-align:center;color:#bbccab} @media(max-width:600px){#fitted-modules{grid-template-columns:repeat(4,minmax(0,1fr))}}

.app-nav{display:flex;gap:6px}.app-nav button{font:11px Arial;padding:6px 10px}.app-nav button:disabled{opacity:.4}.parts-tools{display:flex;gap:8px;margin:10px 0}.parts-tools input{min-width:0;flex:1;background:#132822;color:#e9f1dd;border:1px solid #71896588;border-radius:5px;padding:10px;font:11px Arial}.parts-tools select{width:110px;margin:0;padding:8px;font-size:10px}#part-categories{max-height:180px}.workshop-head{position:sticky;top:-17px;z-index:4;background:#142620;padding:12px 0}.workshop-head button{font-size:9px}.parts-help{color:#c5d4b8}#engine-heat{position:absolute;bottom:68px;left:25px;font:10px monospace;color:#ffc180}#engine-heat[hidden]{display:none}#lab-panel{position:absolute;inset:0;z-index:15;background:radial-gradient(ellipse at 70% 10%,#243c46,#101f22);padding:20px;overflow:auto}#lab-panel[hidden]{display:none}.lab-content{max-width:1100px;margin:auto}.lab-content h2{font:italic 800 29px Arial;margin:7px 0}.lab-intro{font:11px/1.7 Arial;color:#b6c9ba}.lab-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lab-form{display:grid;gap:12px;background:#18332d;padding:18px;border:1px solid #72966e55;border-radius:8px}.lab-form label{font:9px monospace;letter-spacing:1px;color:#c1d3b7}.lab-form input:not([type=range]),.lab-form select{display:block;width:100%;background:#102720;color:#eef8df;border:1px solid #78956c88;border-radius:5px;padding:10px;margin-top:6px;font:12px Arial}.lab-form input[type=range]{display:block;width:100%;margin:10px 0;accent-color:#dcff78}.lab-preview{background:#162e31;border:1px solid #839f7b44;border-radius:8px;padding:20px}#lab-design-art svg{display:block;width:100%;height:180px}#lab-preview{font:13px/1.8 monospace;color:#e6f4ce}#lab-terms{font:11px/1.8 Arial;color:#f0c7a7}#lab-balance{color:#e1f795;font:18px monospace}.research-project{border:1px solid #738f6744;background:#192e28;padding:13px;border-radius:6px;margin:10px 0}.research-project>b{display:block;font:700 13px Arial}.research-project small,.research-project>span{display:block;font:10px/1.6 Arial;color:#b1c7a7;margin-top:7px}.research-project>.research-progress{height:5px;background:#486044;margin:12px 0;border-radius:4px;overflow:hidden}.research-project>.research-progress i{display:block;height:100%;background:#d9fa91}.research-project button{font:10px Arial;padding:8px}.lab-content h3{font:18px Arial}.lab-form label[hidden]{display:none}@media(max-width:700px){.app-nav{gap:3px}.app-nav button{font-size:9px;padding:5px}.app-nav button:last-child{max-width:66px}header{padding:0 10px}header a{font-size:15px}.lab-layout{grid-template-columns:1fr}.lab-content h2{font-size:22px}.lab-content .workshop-head{flex-wrap:wrap}.workshop-head{flex-wrap:wrap}.workshop-head button{font-size:8px}.parts-tools input{font-size:10px}}

.lab-form output{float:right;color:#e3ff9c;font:11px monospace}#garage-lock-message{border:1px solid #caa16d66;background:#46342166;padding:10px;font:11px/1.6 Arial;color:#eacc9c}#garage-lock-message[hidden]{display:none}.empty-parts{font:11px/1.6 Arial;color:#b8ceb0;grid-column:1/-1}@media(max-width:450px){header a{font-size:13px}.app-nav button{font-size:8px;padding:5px 4px}.app-nav{gap:2px}#sound{font-size:9px;padding:5px}header{padding:0 8px}}

.upgrade-offer{margin-top:12px;padding:12px;border:1px solid #c3a46e55;background:#302c2366;border-radius:6px}.upgrade-offer strong{display:block;color:#e9dba6;font:12px/1.6 monospace}.upgrade-offer span{display:block;color:#d4b99d;font:10px/1.7 Arial;margin:7px 0}.upgrade-offer button{color:#e2f6a1}.upgrade-offer button:disabled{opacity:.4;cursor:default}

.trait-editor{border:1px solid #94af7944;border-radius:5px;padding:12px;background:#132a25}.trait-editor summary{font:11px Arial;color:#dbedb9;cursor:pointer}.trait-editor p{font:10px/1.7 Arial;color:#a6bfa3}.trait-editor label{display:block;margin:13px 0}.trait-editor output{font:9px monospace}.trait-editor input[type=range]{margin:8px 0}#cancel-edit[hidden]{display:none}.research-project>button{margin:5px 7px 0 0}

.audio-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.audio-controls button{white-space:nowrap}.audio-controls label{display:flex;align-items:center;gap:7px;font:10px Arial;color:#b9c8bb}.audio-controls input{width:75px;accent-color:#dfff78;cursor:pointer}.audio-controls button[aria-pressed="false"]{opacity:.6}@media(max-width:760px){header{flex-wrap:wrap;gap:7px}.audio-controls{gap:5px}.audio-controls button{padding:7px;font-size:10px}.audio-controls input{width:55px}}
@media(max-width:760px){header{height:70px;min-height:70px;padding-top:4px;padding-bottom:4px;row-gap:3px}.audio-controls{flex-basis:100%;justify-content:flex-end}.audio-controls button{padding:4px 7px}.audio-controls label{font-size:9px}.race{width:min(100%,calc((100dvh - 209px)*1.6470588))}}@media(max-width:760px) and (pointer:coarse){.race{width:min(100%,calc((100dvh - 267px)*1.6470588))}}

#checkpoint-status{position:absolute;top:75px;left:50%;transform:translateX(-50%);font:700 10px Arial;color:#dcff78;background:#10251bcc;padding:6px 10px;border-radius:5px;pointer-events:none}#checkpoint-status:empty{display:none}@media(max-height:650px){#checkpoint-status{top:56px}}

.drop-tier{display:block;color:var(--tier-color);font:800 9px Arial;letter-spacing:1px;margin:4px 0}.reel-card{border-bottom:3px solid var(--tier-color,#9dbda2)}.crate-collection-meter{margin:18px 0;padding:12px;border:1px solid #77976544;background:#132921;border-radius:8px}.crate-collection-meter strong{font:11px Arial;color:#d9edba}.crate-collection-meter>div{height:5px;background:#36513c;margin:10px 0}.crate-collection-meter i{display:block;height:100%;background:#dfff78;transition:width .6s}.crate-collection-meter p{font:9px/1.7 Arial;color:#b7c5ac}.crate-stage.revealed{box-shadow:0 0 45px color-mix(in srgb,var(--prize-color,#dfff78) 35%,transparent);animation:prize-pop .65s ease-out}.crate-stage.revealed #reward-name{color:var(--prize-color,#dfff78)}#open-another,#reveal-now{margin:5px;padding:10px 14px}#open-another{border-color:#cdeb84;color:#e1fbb2}@keyframes prize-pop{0%{filter:brightness(1.6);transform:scale(.97)}100%{filter:brightness(1);transform:scale(1)}}@media(prefers-reduced-motion:reduce){.crate-stage.revealed{animation:none}.crate-collection-meter i{transition:none}}

/* Cosmetic reveal polish. */
#crate-stage{position:relative;overflow:visible}#crate-confetti{position:absolute;inset:0;pointer-events:none;z-index:8}#crate-confetti i{position:absolute;left:var(--x);top:45%;width:7px;height:12px;background:var(--color);animation:apex-prize-spark .9s var(--delay) ease-out both;box-shadow:0 0 9px var(--color)}.crate-stage.crate-celebrate{animation:apex-prize-pop .6s ease-out}.reward-reel.landed .reel-prize{box-shadow:inset 0 0 25px color-mix(in srgb,var(--tier-color) 30%,transparent),0 0 20px #d8ed8c33;border-color:var(--tier-color)}#reward-showcase:not([hidden]){animation:apex-showcase-in .35s ease-out}@keyframes apex-prize-spark{0%{opacity:0;transform:translate(0,0) scale(.4)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-130px) rotate(240deg) scale(.8)}}@keyframes apex-prize-pop{0%{transform:scale(.94)}35%{transform:scale(1.06);filter:brightness(1.5)}100%{transform:scale(1);filter:brightness(1)}}@keyframes apex-showcase-in{from{transform:translateY(12px);opacity:.3}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){#crate-confetti i,.crate-stage.crate-celebrate,#reward-showcase:not([hidden]){animation:none}#crate-confetti{display:none}}

/* Research cards grow with their text instead of inheriting the progress-bar height. */
.lab-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.lab-form,.lab-preview,.research-project{min-width:0;box-sizing:border-box}.research-project{display:flow-root;overflow-wrap:anywhere;padding:18px;border-radius:10px}.research-project>.upgrade-offer{height:auto;display:grid;gap:8px;margin:14px 0 0;padding:14px;line-height:1.6}.upgrade-offer span{margin:0}.upgrade-offer strong{overflow-wrap:anywhere}.research-project button{white-space:normal;margin:4px 6px 4px 0}.lab-preview p{overflow-wrap:anywhere;white-space:normal}.lab-form output{float:none;display:block;margin-top:5px}.lab-content>h3{margin-top:26px}@media(max-width:700px){.lab-layout{grid-template-columns:minmax(0,1fr)}}
