:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-synthesis:none;color:#f1f3e9;background:#141915;--bg:#141915;--panel:#222824;--line:#3a443d;--muted:#a8b4ab;--accent:#d6f5ad;--ink:#182219;--warm:#d7bea4}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{font-size:12px;font-weight:650;line-height:1.3;color:#e5ebe1;background:#2b342d;border:1px solid #455046;border-radius:9px;padding:11px 14px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#39463b;border-color:#73806f}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #eac4a6;outline-offset:4px}a{color:inherit}h1,h2,p{margin:0}button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}button.primary:hover{background:#e5ffc4;border-color:#e5ffc4}.primary{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:15px 18px;font-weight:700}.primary>span{font-size:20px;font-weight:500}kbd{font:650 9px ui-sans-serif,sans-serif;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:5px 6px;color:#dbe6d3;background:#303b30;border:1px solid #50604c;border-radius:4px;box-shadow:0 2px 0 #0e150f}.eyebrow{font-size:9px;line-height:1.7;font-weight:750;letter-spacing:1.8px;color:var(--warm)}[hidden]{display:none!important}
header{max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 3vw;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:4px;text-decoration:none;font-size:17px;font-weight:850;letter-spacing:-.8px;white-space:nowrap}.wordmark>span{color:var(--accent)}.wordmark i{font-size:8px;font-style:normal;font-weight:600;letter-spacing:1.1px;color:var(--muted);margin-left:16px}.header-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.header-actions>button{font-size:10px;padding:10px 11px}main{max-width:1480px;margin:auto;padding:22px 3vw}.topline{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.topline h1{font-size:32px;letter-spacing:-1.4px;line-height:1.05;margin-top:9px}.topline p{font-size:12px;line-height:1.65;color:var(--muted)}.focused .topline,.focused main>details,.focused footer,.focused .hint{display:none}.focused main{padding-top:12px}
.game-frame{position:relative;isolation:isolate;width:min(100%,calc((100svh - 280px)*1.8421));margin-inline:auto;overflow:hidden;background:#bcd4c0;border:1px solid #53654e;border-radius:14px;box-shadow:0 15px 45px #0002}.focused .game-frame{width:min(100%,calc((100svh - 185px)*1.8421))}canvas{display:block;width:100%;aspect-ratio:1400/760;touch-action:none}.hud{position:absolute;left:2%;right:2%;top:3%;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.hud>div{min-width:140px;background:#1a251eea;color:#eff4e4;border:1px solid #6877618a;border-radius:8px;padding:10px 13px;box-shadow:0 3px 14px #15231819}.hud small{display:block;font-size:8px;letter-spacing:1.4px;color:#b2c0a8;margin-bottom:5px}.hud strong{font-size:11px;letter-spacing:.2px;display:block}.energy small{display:flex;justify-content:space-between;gap:15px}meter{display:block;width:145px;height:9px;border:0;accent-color:var(--accent)}meter::-webkit-meter-bar{background:#46523e;border:0}meter::-webkit-meter-optimum-value{background:var(--accent)}.prompt{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);max-width:85%;padding:11px 15px;border:1px solid #6b7b62;border-radius:8px;background:#1a251ef2;color:#e4ecd9;font-size:11px;line-height:1.45;text-align:center;pointer-events:none}.bottom{margin:12px 0 20px}.keyline{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;font-size:10px;color:var(--muted)}.keyline>span{display:flex;align-items:center;gap:4px}.hint{margin-top:14px;font-size:11px;text-align:center;color:var(--muted)}main>details{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:11px;line-height:1.7}summary{cursor:pointer}.recoveries{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}main>details>p{max-width:720px}footer{display:flex;justify-content:space-between;gap:25px;margin-top:22px;color:#7f907f;font-size:9px;line-height:1.7}
#mission-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;width:min(100%,calc((100svh - 185px)*1.8421));margin:0 auto 10px;padding:10px 13px;background:var(--panel);border:1px solid var(--line);border-radius:10px}#mission-bar>div:first-child{min-width:0}#mission-name{display:block;font-size:10px;font-weight:750;letter-spacing:.6px;line-height:1.5}#mission-terms{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:3px}.shift-account{display:flex;align-items:center;gap:16px;white-space:nowrap;font-variant-numeric:tabular-nums}#shift-cash{font-size:10px;color:var(--accent)}#shift-clock{font-size:22px;letter-spacing:-.6px;min-width:60px;text-align:right}#shift-clock.urgent{color:#efbc91}#dispatch,#practice-shift{background:var(--accent);color:var(--ink);border-color:var(--accent);white-space:nowrap;font-size:10px}
/* Full-screen studio menus leave the actual canvas and physics untouched. */
.overlay,#flow-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:30px;background:var(--bg);scrollbar-color:#53634b var(--bg)}.intro,.flow-shell{width:min(1120px,100%);min-width:0}.menuBrand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.6px;color:var(--muted)}.menuBrand>a{font-size:18px;font-weight:850;letter-spacing:-1px;color:#fff;text-decoration:none;white-space:nowrap}.menuBrand>a>span{font-weight:400}.menuBrand>span{text-align:right;line-height:1.6}.startLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;padding:35px 0}.startCopy{align-self:center;min-width:0}.startCopy h2{font-size:clamp(62px,6.5vw,90px);line-height:.94;letter-spacing:-4.5px;font-weight:800;margin:18px 0 22px}.startCopy h2>span{color:var(--accent)}.startCopy>p{font-size:15px;line-height:1.7;color:#b5c0b5}.startActions{display:flex;flex-direction:column;gap:9px;max-width:360px;margin:25px 0 13px}.startActions button{padding:15px 18px;text-align:left;min-height:49px;font-size:12px}.practice-start{display:block;width:100%;background:#28322a;color:#dfe8d8;text-align:left;padding:14px 18px;margin-top:10px}.startActions .practice-start{margin-top:0}.startNote{display:block;font-size:10px;line-height:1.7;color:#91a08f;letter-spacing:0}.startVisual{position:relative;min-height:365px;overflow:hidden;border-radius:15px;background:#638077 url('/media/scrapyard-swing.jpg') 50% center/cover no-repeat}.startVisual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#14211730 0%,transparent 30%,#142117ed 100%)}.visualTag,.visualCaption{position:absolute;z-index:1;left:24px;right:24px}.visualTag{display:flex;align-items:center;gap:8px;top:23px;font-size:8px;letter-spacing:1.3px;line-height:1.7;color:#fff}.liveDot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}.visualCaption{bottom:27px}.visualCaption>span{font-size:9px;letter-spacing:1.5px;color:#d2d9c8}.visualCaption>strong{display:block;font-size:32px;line-height:1.08;letter-spacing:-1px;margin-top:12px;font-weight:650;color:#f3f4e9}.startFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;border-top:1px solid var(--line);padding-top:23px}.startFacts>div{position:relative;padding-left:32px}.startFacts>div>span{position:absolute;left:0;top:2px;color:var(--warm);font-size:10px}.startFacts strong{font-size:12px;font-weight:650}.startFacts p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}.tutorial{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:#b7c5b1}.tutorial>span{display:flex;align-items:center;gap:5px}.startHelp{font-size:10px;color:#83977e;line-height:1.6;margin-top:12px}.flow-shell{max-width:1000px}#flow-card{min-width:0;padding:34px 0 12px}#flow-card>.eyebrow{color:var(--accent)}#flow-card>h2{font-size:clamp(34px,4.6vw,57px);line-height:1.02;letter-spacing:-2px;margin:15px 0}#flow-card>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:740px}.contract-grid,.upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:25px 0}.contract-card{min-width:0;display:flex;flex-direction:column;align-items:start;text-align:left;padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.contract-card:hover{border-color:#819371;background:#2a352b}.contract-card>span{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--warm)}.contract-card>strong{font-size:36px;letter-spacing:-1.4px;color:#f3f4e9;margin:14px 0 16px}.contract-card>p{font-size:13px;font-weight:400;line-height:1.7;color:#b9c6b5;margin-bottom:20px}.contract-card>small{font-size:9px;line-height:1.6;color:#869b80;margin-top:auto}.contract-card>b{display:block;width:100%;font-size:11px;letter-spacing:.7px;background:var(--accent);color:var(--ink);padding:14px;border-radius:7px;margin-top:20px}.flow-note{font-size:11px!important;line-height:1.7!important;color:#8ea188!important}.receipt{width:100%;border-collapse:collapse;font-size:12px;margin:23px 0;font-variant-numeric:tabular-nums;table-layout:fixed}.receipt th{padding:12px 9px;text-align:left;color:#8da086;font-size:9px;letter-spacing:1px;line-height:1.7;border-bottom:1px solid #53604c}.receipt td{padding:15px 9px;border-bottom:1px solid var(--line);line-height:1.6;overflow-wrap:anywhere;color:#cbd7c3}.receipt td:first-child,.receipt th:first-child{padding-left:0;width:36%}.receipt td:nth-child(2),.receipt th:nth-child(2){width:41%}.receipt td:nth-child(2){font-size:10px;color:#9cac93}.receipt td:last-child,.receipt th:last-child{text-align:right;padding-right:0;width:23%;color:#d6e8c8}.receipt td>small{display:block;margin-top:4px;font-size:10px;color:#879a7c}.receipt-total,.cash-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;font-size:12px;line-height:1.6}.receipt-total>span{color:var(--muted)}.receipt-total>strong{font-size:25px;letter-spacing:-.6px;color:var(--accent);white-space:nowrap}.cash-line{padding:15px 17px;background:var(--panel);border:1px solid var(--line);border-radius:9px;font-size:10px;letter-spacing:1px}.cash-line>strong{font-size:23px;color:var(--accent);font-variant-numeric:tabular-nums}.upgrade-grid button{text-align:left;display:flex;flex-direction:column;gap:9px;padding:20px;min-width:0;background:var(--panel)}.upgrade-grid strong{font-size:13px;line-height:1.5}.upgrade-grid span{font-size:12px;line-height:1.6;font-weight:400;color:#adbea4}.upgrade-grid small{font-size:9px;letter-spacing:.8px;color:var(--warm)}#next-truck,#replay{margin-top:22px;max-width:430px}#final-practice{max-width:430px}.final-math{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:11px;margin:22px 0;font-size:14px;line-height:1.7;font-variant-numeric:tabular-nums;color:var(--muted)}.final-math>strong{color:var(--accent);font-size:22px;letter-spacing:-.6px}
#pause-banner{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:92%;padding:11px 14px;background:#19241ef5;color:#eff4e4;border:1px solid #778a6c;border-radius:10px;box-shadow:0 5px 20px #0002}#pause-banner strong{display:block;font-size:11px;letter-spacing:1.5px;color:var(--accent)}#pause-banner span{display:block;font-size:10px;line-height:1.6;color:#b0c0a5;margin-top:3px}#pause-banner button{display:flex;align-items:center;gap:10px;font-size:11px;white-space:nowrap}.paused-game .prompt{visibility:hidden}
dialog{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;margin:auto;border:1px solid #58694f;border-radius:14px;padding:25px;background:var(--panel);color:#edf2e5;box-shadow:0 25px 80px #0006}dialog::backdrop{background:#0e170ec9;backdrop-filter:blur(5px)}.recovery-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.recovery-heading h2,dialog>h2{font-size:29px;letter-spacing:-1px;line-height:1.1;margin:10px 0 14px}.recovery-heading button{padding:9px 13px;min-width:44px;min-height:44px}.recovery-heading .eyebrow{color:var(--accent)}#recovery-held{font-size:12px;line-height:1.7;color:#a5b69a;margin:0 0 18px}.recovery-piece{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;padding:15px 13px;margin-bottom:8px;min-height:51px;background:#2a352c}.recovery-piece strong{font-size:11px;letter-spacing:.4px;line-height:1.6}.recovery-piece span{font-size:9px;line-height:1.6;letter-spacing:.2px;color:#aec19f;max-width:47%;text-align:right}.recovery-note,dialog>p{font-size:11px;line-height:1.8;color:#9cae93;margin:17px 0}#recover-cancel{width:100%;margin-top:5px;background:var(--accent);color:var(--ink);border-color:var(--accent);min-height:45px}#restart-confirm{background:var(--accent);color:var(--ink);border-color:var(--accent)}#restart-dialog>button{margin:5px 7px 0 0;min-height:44px}
header details.audio-settings{display:block;position:relative;z-index:5;padding:0;border:0;color:#dce6d4;font-size:10px}header details.audio-settings>summary{display:flex;align-items:center;min-height:36px;list-style:none;border:1px solid #455046;border-radius:9px;padding:10px 11px;background:#2b342d;font-weight:650;white-space:nowrap}header details.audio-settings>summary::-webkit-details-marker{display:none}.audio-panel{position:absolute;right:0;top:calc(100% + 9px);width:280px;max-width:calc(100vw - 32px);padding:18px;background:var(--panel);border:1px solid #5e7054;border-radius:12px;box-shadow:0 15px 40px #0005}.audio-panel label{display:flex;justify-content:space-between;gap:15px;font-size:12px;font-weight:650}.audio-panel output{color:var(--accent);font-variant-numeric:tabular-nums}.audio-panel input{width:100%;display:block;accent-color:var(--accent);margin:12px 0 20px;min-height:18px}.audio-panel p{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0}.audio-panel small{display:block;font-size:9px;line-height:1.7;color:var(--warm);overflow-wrap:anywhere}.audio-panel button{font-size:10px;margin-bottom:10px}
body:has(#overlay:not([hidden]))>header,body:has(#flow-overlay:not([hidden]))>header{visibility:hidden}
@media(max-width:1100px){.wordmark i{display:none}.header-actions{gap:5px}.header-actions>button{font-size:9px;padding:10px}.startLayout{gap:27px}.startCopy h2{font-size:70px}.startVisual{min-height:350px}}
@media(max-width:700px){header{flex-wrap:wrap;padding:14px 16px;gap:12px}.wordmark{font-size:17px}.header-actions{width:100%;gap:6px}.header-actions>button,header details.audio-settings>summary{min-height:40px;font-size:10px;padding:10px}.audio-panel{position:fixed;top:126px;right:16px;width:280px}.topline h1{font-size:27px}.topline p{display:none}main{padding:16px}.overlay,#flow-overlay{padding:22px;place-items:start center}.menuBrand{padding:3px 0 19px;gap:15px}.menuBrand>span{font-size:7px;letter-spacing:1px}.startLayout{grid-template-columns:1fr;gap:23px;padding:25px 0}.startCopy h2{font-size:67px;letter-spacing:-3.5px;margin:15px 0 18px}.startCopy>p{font-size:14px}.startActions{max-width:none;margin:22px 0 14px}.startActions button{font-size:12px;min-height:48px}.startVisual{min-height:210px;border-radius:12px;background-position:50% 49%}.visualTag{top:18px;left:19px;right:19px;font-size:7px}.visualCaption{bottom:20px;left:19px;right:19px}.visualCaption>strong{font-size:28px}.visualCaption>span{font-size:8px}.startFacts{grid-template-columns:1fr;gap:18px;padding-top:22px}.startFacts>div{padding-left:30px}.startFacts strong{font-size:13px}.startFacts p{font-size:12px}.tutorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;font-size:10px;margin-top:21px}.tutorial>span{flex-wrap:wrap}.startHelp{font-size:11px;line-height:1.7}#flow-card{padding-top:27px}#flow-card>h2{font-size:40px;letter-spacing:-1.7px}#flow-card>p{font-size:12px}.contract-grid,.upgrade-grid{grid-template-columns:1fr;gap:14px;margin:23px 0}.contract-card{padding:21px}.contract-card>strong{font-size:34px}.contract-card>p{font-size:13px}.contract-card>b{padding:15px}.receipt{font-size:11px}.receipt th{font-size:8px;letter-spacing:.3px}.receipt td:nth-child(2){font-size:9px}.receipt td,.receipt th{padding:13px 6px}.receipt-total{font-size:11px;gap:13px}.receipt-total>strong{font-size:24px}.final-math{padding:17px;font-size:12px;gap:12px}.final-math>strong{font-size:23px;width:100%}#next-truck,#replay,#final-practice{max-width:none;min-height:48px}.upgrade-grid button{min-height:112px}.flow-note{font-size:11px!important}.game-frame,.focused .game-frame,#mission-bar{width:100%}#mission-bar{flex-wrap:wrap;gap:9px;padding:11px}#mission-bar>div:first-child{flex:1 1 100%}#mission-name{font-size:10px}#mission-terms{font-size:9px}.shift-account{gap:13px;flex:1}#shift-clock{font-size:20px}#dispatch,#practice-shift{min-height:41px}.hud .energy{display:none}.hud>div{min-width:0;max-width:48%;padding:7px 9px}.hud strong{font-size:9px}.hud small{font-size:7px;margin-bottom:4px}.prompt{font-size:9px;padding:7px 10px;max-width:92%}.keyline{gap:11px;font-size:9px}.hint{font-size:10px;line-height:1.7}.bottom{margin-top:13px}footer{display:block}footer span{display:block;margin-top:8px}#pause-banner{gap:12px;padding:9px 11px}#pause-banner span{font-size:9px}#pause-banner button{font-size:10px;padding:10px}.recovery-piece{padding:13px 11px}.recovery-piece span{font-size:8px}dialog{padding:21px}.recovery-heading h2,dialog>h2{font-size:26px}}
@media(max-width:380px){.overlay,#flow-overlay{padding:16px}.menuBrand>a{font-size:17px}.menuBrand>span{font-size:6px;max-width:130px}.startCopy h2{font-size:58px;letter-spacing:-3px}.eyebrow{font-size:8px}.startCopy>p{font-size:13px}.startVisual{min-height:185px}.visualCaption>strong{font-size:25px}.visualTag{font-size:6px}.tutorial{gap:12px 8px;font-size:9px}.tutorial kbd{font-size:8px;min-width:20px;padding:5px}.receipt th{font-size:7px}.receipt td{font-size:10px}.receipt td:nth-child(2){font-size:8px}.receipt td:first-child{font-size:9px}.cash-line>strong{font-size:21px}#flow-card>h2{font-size:35px}.header-actions{gap:5px}.header-actions>button,header details.audio-settings>summary{font-size:9px;padding:9px}.recovery-piece{gap:9px}.recovery-piece strong{font-size:10px}.recovery-piece span{font-size:8px}.recovery-heading{gap:10px}#pause-banner{width:94%;max-width:94%}#pause-banner span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep tall menu content reachable on shorter desktop windows. */
.overlay,#flow-overlay{align-items:safe center}
body:has(#overlay:not([hidden])) main>.topline,body:has(#overlay:not([hidden])) main>.bottom,body:has(#overlay:not([hidden])) main>details,body:has(#overlay:not([hidden])) main>footer{visibility:hidden}
