:root{color-scheme:light;--ink:#193b38;--orange:#ed9144;--paper:#fcfaf3;--muted:#74857b}*{box-sizing:border-box}body{margin:0;background:#edf0e7;color:var(--ink);font-family:Arial,sans-serif}main{max-width:1320px;margin:auto;padding:24px 32px}header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.brand{font-size:32px;letter-spacing:-1.8px;font-weight:900;color:var(--ink);text-decoration:none}.brand span{color:#d67937}nav{display:flex;background:#dde5d9;padding:5px;border-radius:14px;gap:3px}button{border:0;border-radius:10px;background:var(--ink);color:white;font:700 13px Arial,sans-serif;padding:13px 18px;cursor:pointer;touch-action:manipulation;transition:transform .12s,background .15s,box-shadow .15s}button:hover{filter:brightness(1.06);box-shadow:0 3px 9px #1233}button:active{transform:translateY(2px)}button:disabled{opacity:.4;cursor:default;box-shadow:none}button:focus-visible,a:focus-visible{outline:3px solid #d88736;outline-offset:3px}nav button{background:transparent;color:#61756a}nav button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px #2331}.quiet{background:transparent;color:#61756a}.secondary{background:#e6ebdf;color:var(--ink)}.game{background:var(--paper);border:1px solid #d6dfd0;border-radius:22px;overflow:hidden;box-shadow:0 15px 50px #34462d09}.route{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 18px;gap:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#718474;font-weight:700}h1{font-size:30px;letter-spacing:-1.1px;margin:7px 0}h2{font-size:28px;letter-spacing:-.7px;margin:10px 0}.route p{font-size:13px;margin:0;color:#718474}.hud{display:grid;grid-template-columns:1.1fr 1fr 1fr .7fr;border-top:1px solid #e3e8dc;margin:0 28px;padding:17px 0}.hud>div{border-right:1px solid #e1e6da;padding-left:22px}.hud>div:first-child{padding-left:0}.hud>div:last-child{border:0;text-align:right}.hud span{display:block;font-size:9px;letter-spacing:1.2px;color:#788879}.hud strong{display:block;font-size:25px;margin-top:5px;letter-spacing:-.8px}.hud .metrics span{font-size:22px;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:0}.metrics small{display:block;margin-top:6px;color:#82907f;font-size:11px}.progress{height:3px;background:#e2e8d9}.progress>div{height:100%;background:#90ad7f;transition:width .25s}.stage{background:#e5ebdf}canvas{width:100%;display:block;touch-action:none;user-select:none;cursor:grab}canvas.dragging{cursor:grabbing}.action-bar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:18px 25px}.feedback{flex:1;min-width:0}#hint{font-size:13px;font-weight:700;margin:0 0 6px;line-height:1.45}#selectedInfo{font-size:11px;color:#75836f}.controls{display:flex;gap:7px;flex-wrap:wrap}#closeVan{background:var(--orange);color:#382914;min-width:160px;box-shadow:0 3px 0 #c57634}.guide{border-top:1px solid #e5e9df;padding:12px 26px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#85917e}kbd{font:10px Arial,sans-serif;background:#d4decc;border-radius:3px;padding:2px 4px;margin-left:5px}footer{display:flex;justify-content:space-between;margin:18px 2px;color:#85917c;font-size:9px;letter-spacing:1px}dialog{border:0;border-radius:23px;max-width:450px;width:calc(100% - 30px);padding:0;background:var(--paper);color:var(--ink);max-height:90vh;box-shadow:0 25px 100px #132a3944}dialog::backdrop{background:#163c37aa;backdrop-filter:blur(5px)}.win-card{text-align:center;padding:28px}.win-card>button{width:100%;display:block;margin-top:10px}.stamp{background:#e1ebce;color:#5e8047;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;font-size:30px;margin:0 auto 17px}.stars{color:#ca8c2e;font-size:28px;letter-spacing:7px;margin:12px 0 20px}#resultStats{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}#resultStats div{background:#edf0e5;border-radius:10px;padding:12px}#resultStats small{font-size:10px;color:#74856d;display:block;margin-bottom:5px}#resultStats strong{font-size:18px}#winText{font-size:12px;line-height:1.6;color:#74826c}#copyStatus{display:block;font-size:12px;margin-top:8px;color:#598346}#shareFallback{width:100%;height:105px;margin-top:10px}#levelGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}#levelGrid button{background:#e9eddf;color:var(--ink);text-align:left;font-size:12px;line-height:1.6}#levelGrid small{display:block;color:#728667;font-weight:400}#levelGrid .current{outline:2px solid #e29a51}[hidden]{display:none!important}.error{color:#ad5144!important}.shake{animation:shake .2s}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(max-width:850px){main{padding:14px}header{flex-wrap:wrap;margin-bottom:16px;gap:10px}.brand{font-size:27px}header nav{order:3;width:100%}nav button{flex:1}.route{padding:18px}h1{font-size:25px}.hud{margin:0 18px}.hud>div{padding-left:10px}.hud strong{font-size:20px}.hud span{font-size:8px;letter-spacing:.4px}.action-bar{display:block;padding:16px}.controls{margin-top:14px}.controls button{flex:1;padding:12px 10px}#closeVan{flex:1.8}.guide{padding:12px 16px;display:block;line-height:1.6}.guide span{display:block}footer{font-size:8px;gap:12px;line-height:1.5}.route p{line-height:1.5;font-size:12px}.hud .metrics span{font-size:19px}kbd{display:none}}@media(max-width:420px){main{padding:8px}.hud{margin:0 12px}.hud strong{font-size:18px}.metrics small{font-size:9px}.hud>div{padding-left:7px}.route{padding:16px 12px}.route>button{padding:10px;font-size:11px}#closeVan{flex-basis:100%}footer{display:block}footer span{display:block}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Viewport-first play surface. Yard uses pages rather than shrinking every item. */
html,body{width:100%;height:100%;overflow:hidden}main{height:100dvh;max-width:1600px;padding:12px 22px;display:flex;flex-direction:column;gap:10px}header{margin:0;flex:none;min-height:44px}.brand{font-size:29px}.settings{display:flex;gap:4px}.settings button{padding:10px;font-size:12px}.game{flex:1;min-height:0;display:flex;flex-direction:column}.route{padding:12px 22px;flex:none}.route h1{font-size:25px;margin:4px 0}.route p{font-size:12px}.hud{flex:none;margin:0 22px;padding:10px 0;grid-template-columns:repeat(5,minmax(0,1fr))}.hud strong{font-size:22px;margin-top:3px}.hud>div{padding-left:14px}.mode-daily .hud{grid-template-columns:repeat(4,minmax(0,1fr))}.hud .metrics span{font-size:20px}.progress{flex:none}.stage{position:relative;flex:1;min-height:0;overflow:hidden}canvas{position:absolute;inset:0}.action-bar{flex:none;padding:10px 18px;gap:10px}.feedback p{font-size:12px!important}.controls button{padding:11px 12px}.guide{flex:none;padding:5px 18px;font-size:9px}.guide span{line-height:1.4}footer{display:none}#balance{color:#508558}.yard-tools{position:absolute;z-index:1;display:flex;align-items:center;gap:5px;height:34px;padding:2px 9px}.yard-tools label{font-size:9px;font-weight:700;letter-spacing:1px}.yard-tools select{flex:1;min-width:0;width:100px;font:11px Arial;border:1px solid #d5dfcd;background:#fcfaf3;color:var(--ink);border-radius:6px;padding:6px}.yard-tools button{padding:3px 8px;font-size:18px;background:#e1e8d8;color:var(--ink)}#yardPage{font-size:10px;white-space:nowrap}#levelGrid button.done{background:#cde6c5;color:#285233;border:1px solid #9fc095}#levelGrid button.locked{background:#e4e6e0;color:#90998c;opacity:.7}#levelGrid .done small{color:#44784d}#back{font-size:11px}.win-card{padding:22px}.stamp{margin-bottom:8px;width:42px;height:42px;font-size:24px}.win-card h2{font-size:24px}.stars{font-size:25px;margin:10px 0 15px}#resultStats{gap:8px}#resultStats div{padding:9px}.win-card>button{padding:11px;margin-top:8px}#winText{margin:10px 0;font-size:11px}.win-card .eyebrow{font-size:9px}#copyStatus:empty{display:none}
html[data-theme=dark]{color-scheme:dark;--ink:#dce8d5;--paper:#1b2c2c;--muted:#9eb1a2}html[data-theme=dark] body{background:#101e22;color:var(--ink)}html[data-theme=dark] .brand{color:#e0ebda}html[data-theme=dark] nav{background:#142222}html[data-theme=dark] nav button[aria-pressed=true]{background:#30453e;color:#e4edd9}html[data-theme=dark] nav button,html[data-theme=dark] .quiet{color:#a5b8a6}html[data-theme=dark] .game{border-color:#34473f}html[data-theme=dark] .secondary{background:#30443c;color:#e2eadc}html[data-theme=dark] .eyebrow,html[data-theme=dark] .route p,html[data-theme=dark] .hud span,html[data-theme=dark] #selectedInfo{color:#a7b5a2}html[data-theme=dark] .hud,html[data-theme=dark] .hud>div,html[data-theme=dark] .guide{border-color:#33463d}html[data-theme=dark] .progress{background:#233830}html[data-theme=dark] #balance{color:#9fce88}html[data-theme=dark] .yard-tools select{background:#22372f;border-color:#3f5546}html[data-theme=dark] .yard-tools button{background:#354c3b}html[data-theme=dark] kbd{background:#456049}html[data-theme=dark] #resultStats div,html[data-theme=dark] #levelGrid button{background:#2a4035;color:#dfebd9}html[data-theme=dark] #levelGrid button.done{background:#335a3b;border-color:#507c49;color:#dbf0cf}html[data-theme=dark] #levelGrid button.done small{color:#b5d7a7}html[data-theme=dark] #levelGrid button.locked{background:#263330;color:#7f9285}html[data-theme=dark] #winText,html[data-theme=dark] #resultStats small{color:#b3c0a7}html[data-theme=dark] .stamp{background:#375533;color:#d1e6b8}html[data-theme=dark] .win-card>button:not(.quiet):not(.secondary){background:#dda051;color:#1e3028}
@media(max-width:850px){main{padding:8px;gap:6px}header{min-height:36px;gap:5px}header nav{order:0;width:auto}nav button{font-size:11px;padding:9px}.brand{font-size:23px}.settings button{font-size:10px;padding:7px}.route{padding:8px 12px}.route h1{font-size:22px}.route p{font-size:11px}.hud{margin:0 12px;padding:8px 0}.hud strong{font-size:18px}.hud>div{padding-left:6px}.hud span{font-size:7px}.action-bar{display:flex;padding:8px 12px}.controls{margin:0;gap:4px}.controls button{padding:9px 8px;font-size:11px}#closeVan{min-width:125px;flex-basis:auto}.guide{padding:5px 12px;display:flex}.guide span:first-child{display:none}.settings{gap:0}}
@media(max-width:600px){header{flex-wrap:wrap}.settings{margin-left:auto}header nav{order:3;width:100%;padding:3px}nav button{padding:8px}.route{padding:6px 10px}.route h1{font-size:19px}.route p{display:none}.eyebrow{font-size:8px}.hud{margin:0 10px;padding:6px 0}.hud strong{font-size:15px}.hud .metrics span{font-size:16px}.hud span{font-size:6px;letter-spacing:0}.metrics small{font-size:8px;margin-top:3px}.hud>div{padding-left:5px}.action-bar{display:block;padding:7px 10px}.feedback{height:34px}.feedback p{font-size:10px!important;margin:0 0 3px!important}#selectedInfo{font-size:9px}.controls{margin-top:5px;display:flex;flex-wrap:nowrap}.controls button{padding:9px 7px;font-size:10px;flex:1}#closeVan{min-width:112px;flex:1.5}.guide{font-size:8px;padding:3px 10px}.yard-tools{padding:2px 5px}.yard-tools select{font-size:10px}.yard-tools label{font-size:8px}#levelsButton{font-size:10px;padding:7px}.game{border-radius:14px}}
@media(max-height:650px) and (min-width:601px){main{padding:5px 12px;gap:5px}.route{padding:5px 16px}.route h1{font-size:19px}.route p{display:none}.hud{padding:5px 0}.hud strong{font-size:18px}.action-bar{padding:6px 12px}.guide{display:none}header{min-height:34px}header button{padding:8px 12px}.brand{font-size:24px}}
#dropStatus{position:absolute;left:12px;bottom:10px;z-index:2;pointer-events:none;padding:7px 12px;border-radius:8px;background:#173c32;color:#f1f6df;font:700 11px Arial;box-shadow:0 2px 8px #0002}#dropStatus.invalid{background:#8d3d35}.shop-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #87988033;text-align:left}.shop-row>span:nth-child(2){flex:1;font-size:12px}.shop-row button{font-size:11px;padding:9px;min-width:72px}.swatch{width:24px;height:24px;border-radius:7px;flex:none}#shopMessage{font-size:12px}#confirmReset{background:#a54f40;color:white}#levelGrid button.done:disabled{opacity:1}#shopDialog{max-width:480px}
@media(max-width:600px){.settings button{padding:5px;font-size:9px}.brand{font-size:21px}}
.shop-row button:disabled{opacity:1;background:#d9e0d3;color:#4a5946;box-shadow:none}html[data-theme=dark] .shop-row button{background:#dfa252;color:#172b23}html[data-theme=dark] .shop-row button:disabled{background:#344a3e;color:#cad8be}.special-buy{width:100%;margin:8px 0}.special-lore{font-size:12px;line-height:1.6;text-align:left;color:var(--ink)}
/* Supplied identity: original transparent logo and a dedicated cargo magnifier. */
.brand{display:block;flex:none;width:106px;height:58px;position:relative;overflow:hidden}.brand img{display:block;width:106px;height:auto;position:absolute;top:-6px;left:0}.cargo-zoom{position:absolute;z-index:2;background:#173d35e8;color:#f5edc9;border:1px solid #b4c6a677;font-size:10px;padding:7px 10px;box-shadow:0 2px 8px #0002}#dropStatus{max-width:calc(100% - 30px)}
@media(max-width:600px){.brand{width:71px;height:40px}.brand img{width:71px;top:-4px}.cargo-zoom{padding:5px 7px;font-size:9px}}

.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #87988033;text-align:left;font-size:14px}.setting-row button{min-width:105px}#welcome{max-width:850px}.welcome-card{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:22px;padding:30px}.welcome-card>img{width:100%;height:auto;filter:drop-shadow(0 12px 14px #1233)}.welcome-card p{font-size:13px;line-height:1.6;margin:9px 0}.welcome-card h2{font-size:27px}.welcome-mode{background:#87988016;padding:10px 14px;border-radius:12px;margin:12px 0}.welcome-mode h3{font-size:15px;margin:0}#beginGame{width:100%;background:var(--orange);color:#302313}
@media(max-width:600px){.welcome-card{display:block;padding:20px}.welcome-card>img{width:80px;float:right;margin:0 0 8px 12px}.welcome-card h2{font-size:23px}.welcome-card p{font-size:12px}.welcome-mode{clear:both}.welcome-card .eyebrow{font-size:8px}}

.time-warning{color:#d2523f!important;font-weight:800}#briefText,#briefLimits,#livesText{font-size:13px;line-height:1.6}#beginMission{background:var(--orange);color:#302313}
/* Purchase labels remain readable even when the balance is insufficient. */
#shopDialog .special-buy{background:#dfa252;color:#172b23;border:1px solid #bf8033}
#shopDialog .special-buy:disabled{opacity:1;background:#d9e0d3;color:#4a5946;border-color:#aab8a3;box-shadow:none;filter:none;cursor:not-allowed}
html[data-theme=dark] #shopDialog .special-buy:disabled{background:#344a3e;color:#e2ecd9;border-color:#647c68}

body.paused header,body.paused .game> :not(dialog){filter:blur(18px);pointer-events:none;user-select:none}
#pauseDialog{width:min(520px,90vw);text-align:center}
#pauseDialog::backdrop{background:rgba(9,24,24,.94);backdrop-filter:blur(22px)}
#pauseTitle{font-size:clamp(36px,8vw,64px);letter-spacing:5px;margin:24px 0}
