:root{--sky-top:#b5c4d4;--sky-bottom:#e0e3e5;--surface:#1e1f24f0;--surface-solid:#1f2025;--surface-2:#2a2b31;--surface-3:#34363d;--line:#ffffff12;--line-strong:#ffffff24;--scrim:#14151a6b;--panel-bg:linear-gradient(180deg, #26272df2, var(--surface));--text:#ebe8e3;--text-2:#b1aea8;--text-3:#7d7c78;--pill:#ebe8e3;--pill-ink:#18191c;--c-in:#6687c7;--c-out:#dc8c5c;--c-haz:#8c74c4;--c-cold:#5fb0c0;--c-in-2:#a3b8e4;--c-out-2:#eeb38f;--c-haz-2:#bba8e6;--c-cold-2:#93d1dc;--good:#7fc29f;--good-2:#a6dcbe;--bad:#d9786f;--bad-2:#efa49b;--warn:#e0b062;--alert:#e39a5c;--alert-2:#f1bd8a;--warn-2:#f0cd8e;--gold:#e6c07a;--font:-apple-system, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--t-xs:10.5px;--t-sm:12px;--t-md:13.5px;--t-lg:16px;--t-xl:21px;--t-2xl:28px;--t-3xl:40px;--w-normal:500;--w-strong:600;--w-bold:700;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r-xl:26px;--r-lg:20px;--r-md:14px;--r-sm:10px;--r-pill:999px;--shadow:0 24px 50px -14px #0a0c1280, 0 2px 8px #0a0c1238;--shadow-sm:0 8px 20px -6px #0a0c1273;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.16s;--dur-med:.26s;--dur-slow:.42s;--gutter:14px;--offers-width:300px;--ui-scale:1}:root[data-ui=paper]{--surface:#faf7f1f2;--surface-solid:#f7f3ec;--surface-2:#ece7dd;--surface-3:#e0d9cc;--line:#3c2d191a;--line-strong:#3c2d1933;--scrim:#4640383d;--panel-bg:linear-gradient(180deg, #fdfbf7f5, var(--surface));--text:#2c2924;--text-2:#5e584f;--text-3:#8c8579;--pill:#2c2924;--pill-ink:#f7f3ec;--c-in-2:#4b6aa8;--c-out-2:#b5653a;--c-haz-2:#6c55a6;--c-cold-2:#2f8495;--good-2:#3d8a62;--bad-2:#b0564d;--alert-2:#b06a2e;--warn-2:#9c7426;--shadow:0 22px 44px -16px #3c2d1947, 0 2px 8px #3c2d191a;--shadow-sm:0 8px 18px -8px #3c2d1940}:root[data-ui=paper] :is(.card,.pcard,.attention,.station-labels,.grab-label,.prompt,.town-signs,.pack-hint,.popups){--surface:#1e1f24f0;--surface-solid:#1f2025;--surface-2:#2a2b31;--surface-3:#34363d;--line:#ffffff12;--line-strong:#ffffff24;--panel-bg:linear-gradient(180deg, #26272df2, #1e1f24f0);--text:#ebe8e3;--text-2:#b1aea8;--text-3:#7d7c78;--pill:#ebe8e3;--pill-ink:#18191c;--c-in-2:#a3b8e4;--c-out-2:#eeb38f;--c-haz-2:#bba8e6;--c-cold-2:#93d1dc;--good-2:#a6dcbe;--bad-2:#efa49b;--alert-2:#f1bd8a;--warn-2:#f0cd8e}:root[data-ui=paper] .radio-track,:root[data-ui=paper] :is(.day-card b,.start-best){color:#a8741c}:root[data-ui=paper] .start[data-mode=zen] .start-best{color:var(--good-2)}*{box-sizing:border-box}html,body{touch-action:manipulation;overscroll-behavior:none;background:linear-gradient(180deg, var(--sky-top), var(--sky-bottom));height:100%;font-family:var(--font);font-weight:var(--w-normal);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}#app{position:fixed;inset:0}#app canvas{touch-action:none;transition:filter var(--dur-med);display:block}.overlay{pointer-events:none;position:fixed;inset:0}.overlay button,.overlay input,.overlay select,.overlay .panel,.overlay [role=option]{pointer-events:auto}.overlay.menu :is(.attention,.minigame,.topbar,.crew,.crew-ghost,.status-chips,.offers,.abilities,.weather-banner,.popups,.toast,.draft,.shop,.shop-preview,.tooltip,.prompt,.station-labels){display:none!important}:is(.topbar,.status-chips,.offers,.abilities,.crew,.shop,.start-card,.start-top,.start-board,.cshop-panel,.pause-card,.summary-card,.cards,.settings-card){zoom:var(--ui-scale)}.panel{color:var(--text);background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1)}.label{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.button{justify-content:center;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);font-size:var(--t-md);font-weight:var(--w-strong);color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);display:inline-flex}.button svg{flex:none;width:17px;height:17px}.button:hover:not(:disabled){background:var(--surface-3);transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(1px)scale(.98)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{color:var(--pill-ink);background:var(--pill);border-color:#0000;box-shadow:0 6px 18px -6px #00000080}.button.primary:hover:not(:disabled){background:#fff}.button.ghost{color:var(--text-2);background:0 0;border-color:#0000}.button.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.button.danger{color:#2a1210;background:var(--bad-2);border-color:#0000}.button.danger:hover:not(:disabled){background:#f6b9b1}.button.small{min-height:30px;padding:0 var(--s3);font-size:var(--t-sm)}.icon-button{width:36px;height:36px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast) var(--ease);place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--text);background:var(--surface-3)}.icon-button:active{transform:scale(.94)}.icon-button svg{width:18px;height:18px}:is(.button,.icon-button,.start-mode,.season-dot,.start-rules-toggle,.card,.shop-item,.segmented button,.cshop-tabs button,.settings-nav button,.toggle):focus-visible{outline:2px solid var(--c-in-2);outline-offset:2px}.squircle{color:#fff;border-radius:30%;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff40,0 6px 14px -6px #00000080}.modal{z-index:25;padding:var(--s5);background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;opacity:0;transition:opacity var(--dur-med) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.is-open{opacity:1}.modal>*{transition:transform var(--dur-slow) var(--ease);transform:translateY(14px)scale(.97)}.modal.is-open>*{transform:none}.modal h2{margin:0 0 var(--s1);font-size:var(--t-2xl);font-weight:var(--w-bold);letter-spacing:-.025em}.modal h3{margin:var(--s5) 0 var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.modal-sub{margin:0 0 var(--s4);font-size:var(--t-md);color:var(--text-2);line-height:1.5}.modal-actions{gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;justify-content:flex-end;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--pill) var(--fill,50%), var(--surface-3) var(--fill,50%));height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--pill);width:18px;height:18px;transition:transform var(--dur-fast) var(--ease);border-radius:50%;margin-top:-6px;box-shadow:0 2px 6px #00000073}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-track{border-radius:var(--r-pill);background:var(--surface-3);height:6px}input[type=range]::-moz-range-progress{border-radius:var(--r-pill);background:var(--pill);height:6px}input[type=range]::-moz-range-thumb{background:var(--pill);border:none;border-radius:50%;width:18px;height:18px}select,input[type=text],input[type=email],textarea{padding:7px var(--s3);font-size:var(--t-md);color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);transition:border-color var(--dur-fast);outline:none}:is(select,input[type=text],input[type=email],textarea):focus{border-color:var(--c-in-2)}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);gap:2px;padding:3px;display:inline-flex}.segmented button{padding:6px var(--s3);font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text-2);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:none;flex:1}.segmented button:hover{color:var(--text)}.segmented button.selected{color:var(--pill-ink);background:var(--pill)}.toggle{background:var(--surface-3);border-radius:var(--r-pill);cursor:pointer;width:42px;height:24px;transition:background var(--dur-med) var(--ease);border:none;flex:none;padding:0;position:relative}.toggle:after{content:"";background:var(--text-2);width:18px;height:18px;transition:transform var(--dur-med) var(--ease-spring), background var(--dur-med);border-radius:50%;position:absolute;top:3px;left:3px}.toggle[aria-checked=true]{background:var(--good)}.toggle[aria-checked=true]:after{background:#fff;transform:translate(18px)}.topbar{top:var(--gutter);left:var(--gutter);right:calc(var(--offers-width) + var(--gutter) * 2);min-height:62px;padding:var(--s1) var(--s1) var(--s1) var(--s1);border-radius:var(--r-lg);animation:rise-in var(--dur-slow) var(--ease);align-items:stretch;display:flex;position:absolute}.tb-cell{padding:0 var(--s4);border-radius:var(--r-md);flex-direction:column;justify-content:center;gap:2px;display:flex;position:relative}.tb-cell+.tb-cell:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:14px;left:0}.tb-label{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.tb-value{font-size:var(--t-xl);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15}.tb-money.gain{animation:flash-gain .6s var(--ease)}.tb-money.loss{animation:flash-loss .6s var(--ease)}.tb-money.warn .tb-value,.tb-queue.warn .tb-value{color:var(--alert-2)}.tb-ontime.flash{animation:flash-loss .7s var(--ease)}@keyframes flash-gain{20%{background:#7fc29f38}}@keyframes flash-loss{20%{background:#a0a4b024}}.tb-quota{flex:1;gap:7px;min-width:150px}.tb-quota-text{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.tb-quota-value{font-size:var(--t-md);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;color:var(--text-2)}.tb-quota-earned{color:var(--text)}.tb-quota-track{background:var(--surface-3);border-radius:var(--r-pill);height:8px;overflow:hidden}.tb-quota-fill{background:linear-gradient(90deg, var(--c-in), var(--c-in-2));border-radius:var(--r-pill);height:100%;transition:width .6s var(--ease), background var(--dur-slow)}.tb-quota.met .tb-quota-fill{background:linear-gradient(90deg, var(--good), var(--good-2))}.tb-quota.warn .tb-quota-fill{background:linear-gradient(90deg, var(--alert), var(--alert-2))}.tb-quota.warn .tb-quota-earned{color:var(--alert-2)}.tb-shift{align-items:center;gap:var(--s2);flex-direction:row}.tb-ring{width:32px;height:32px;transform:rotate(-90deg)}.tb-ring circle{fill:none;stroke-width:4px}.tb-ring-track{stroke:var(--surface-3)}.tb-ring-fill{stroke:var(--text-3);stroke-linecap:round;transition:stroke-dashoffset .3s linear}.tb-q{align-items:baseline;gap:3px;display:inline-flex}.tb-q+.tb-q{margin-left:var(--s2)}.tb-q i{font-style:normal;font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.tb-combo{min-width:150px}.tb-pause{width:40px;height:40px;margin:0 var(--s1) 0 auto;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;transition:color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast) var(--ease);align-self:center;place-items:center;padding:0;display:grid}.tb-pause:hover{color:var(--text);background:var(--surface-3)}.tb-pause:active{transform:scale(.94)}.tb-pause svg{width:18px;height:18px}.combo-top{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.combo-mul{font-size:var(--t-2xl);font-weight:var(--w-bold);letter-spacing:-.03em;color:var(--text-3);transition:color var(--dur-slow);line-height:1}.combo.hot .combo-mul{color:var(--gold);text-shadow:0 0 18px #e6c07a73}.combo-bar{background:var(--surface-3);border-radius:var(--r-pill);height:4px;margin-top:6px;overflow:hidden}.combo-bar>div{background:linear-gradient(90deg, var(--warn), var(--gold));border-radius:var(--r-pill);height:100%;transition:width var(--dur-slow) var(--ease)}.combo-label{font-size:var(--t-xs);color:var(--text-3);white-space:nowrap;margin-top:3px}.combo.bump .combo-mul{animation:combo-bump .45s var(--ease-spring)}.combo.break{animation:combo-break .4s var(--ease)}@keyframes combo-bump{40%{transform:scale(1.35)}}@keyframes combo-break{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.status-chips{top:calc(var(--gutter) + 72px);left:var(--gutter);right:calc(var(--offers-width) + var(--gutter) * 2);gap:var(--s1);flex-wrap:wrap;display:flex;position:absolute}.chip{padding:5px var(--s3);font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);animation:chip-in var(--dur-med) var(--ease)}.chip.boss{color:var(--pill-ink);background:var(--gold)}.chip.outage,.chip.broken,.chip.sick{color:var(--alert-2)}.chip.freeze{color:var(--c-cold-2)}.chip.golden{color:var(--gold)}@keyframes chip-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}}.offers{top:var(--gutter);right:var(--gutter);width:var(--offers-width);gap:var(--s2);flex-direction:column;display:flex;position:absolute}.offer{--tone:var(--c-in);padding:var(--s3) var(--s3) var(--s3) var(--s4);font-size:var(--t-sm);color:var(--text);background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);pointer-events:auto;animation:offer-in var(--dur-slow) var(--ease);transition:opacity var(--dur-med), transform var(--dur-med) var(--ease);position:relative;overflow:hidden}.offer:before{content:"";background:var(--tone);width:4px;position:absolute;top:0;bottom:0;left:0}.offer.outbound{--tone:var(--c-out)}.offer.mystery{--tone:var(--c-haz)}.offer.vip{--tone:var(--gold);background:linear-gradient(135deg, #e6c07a38, var(--surface) 60%);box-shadow:0 0 0 1px #e6c07a80, var(--shadow)}.offer.rare{--tone:var(--rare-tone,var(--gold));background:linear-gradient(135deg, color-mix(in srgb, var(--rare-tone,var(--gold)) 22%, transparent), var(--surface) 62%);box-shadow:0 0 0 1px color-mix(in srgb, var(--rare-tone,var(--gold)) 55%, transparent), var(--shadow)}.offer.rare-armored{--rare-tone:#9fb3a6}.offer.rare-icecream{--rare-tone:#eaa0b7}.offer.rare-circus{--rare-tone:#e07b6f}.offer.rare-ghost{--rare-tone:#93d1dc}.offer.rare-party{--rare-tone:#c39bf0}.offer-note.offer-rare{color:color-mix(in srgb, var(--rare-tone,var(--gold)) 70%, var(--text));font-weight:var(--w-strong)}.offer.blocked{opacity:.66}.offer.leaving{opacity:0;transform:translate(110%)scale(.96)}@keyframes offer-in{0%{opacity:0;transform:translate(110%)}}.offer-head{justify-content:space-between;align-items:center;display:flex}.offer-kind{font-size:var(--t-md);font-weight:var(--w-bold);align-items:center;gap:6px;display:inline-flex}.offer-kind i,.offer-cargo i{border-radius:3px;width:9px;height:9px}.offer-kind em{font-style:normal;font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.offer-ring{width:22px;height:22px;transform:rotate(-90deg)}.offer-ring circle{fill:none;stroke-width:3px}.ring-track{stroke:var(--surface-3)}.ring-fill{stroke:var(--text-2);stroke-linecap:round;transition:stroke-dashoffset .25s linear, stroke var(--dur-med)}.offer .ring-fill{stroke:var(--text-3)}.offer.expiring .ring-fill{stroke:var(--warn-2)}.offer-cargos{align-items:center;gap:var(--s1) 10px;flex-wrap:wrap;margin-top:6px;display:flex}.offer-cargo{font-weight:var(--w-strong);align-items:center;gap:5px;display:inline-flex}.offer-cargo i.unknown{background:repeating-linear-gradient(45deg,#8a7fa3 0 2px,#4b4558 2px 4px)}.offer-body{gap:var(--s3);margin-top:var(--s1);color:var(--text-2);display:flex}.offer-foot{justify-content:space-between;align-items:center;gap:var(--s2);margin-top:10px;display:flex}.offer-pay{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.offer-pay small{font-size:var(--t-xs);font-weight:var(--w-normal);letter-spacing:0;color:var(--text-3);display:block}.offer-actions{flex-shrink:0;gap:6px;display:flex}.offer-actions button{border-radius:var(--r-pill);cursor:pointer;height:34px;font-weight:var(--w-strong);transition:transform var(--dur-fast) var(--ease), background var(--dur-fast), color var(--dur-fast);border:none}.offer-actions button:active:not(:disabled){transform:scale(.95)}.offer-accept{padding:0 var(--s4);color:var(--pill-ink);background:var(--pill)}.offer-accept:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.offer-accept:disabled{color:var(--text-3);background:var(--surface-3);cursor:not-allowed}.offer-decline{width:34px;color:var(--text-2);background:var(--surface-2)}.offer-decline:hover{color:var(--bad-2);background:var(--surface-3)}.offer-trait{padding:2px var(--s2);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill);color:var(--pill-ink);background:var(--text-2);align-items:center;margin-left:auto;display:inline-flex}.offer-trait.leaky{color:var(--text);background:#4a4e57}.offer-trait.hazmat{color:#fff;background:var(--c-haz)}.offer-trait.oversized{background:var(--warn)}.offer-trait.impatient{background:var(--alert-2)}.offer-trait.suspicious{background:var(--warn-2);box-shadow:inset 0 0 0 2px var(--pill-ink)}.tb-cell.tb-gone,.tb-storage.slim .tb-label,.tb-storage.slim .tb-meter b{display:none}.tb-storage.slim{padding:0 var(--s2)}.tb-storage.slim .tb-meter-bar{width:34px}.abilities{right:var(--gutter);bottom:var(--gutter);gap:var(--s2);display:flex;position:absolute}.ability{--cooldown:0%;min-width:132px;padding:10px var(--s4) 10px 10px;text-align:left;color:var(--text);background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--dur-fast) var(--ease), border-color var(--dur-med), background var(--dur-med);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;display:grid;position:relative;overflow:hidden}.ability:hover:not(:disabled){transform:translateY(-2px)}.ability:active:not(:disabled){transform:translateY(1px)scale(.98)}.ability:before{content:"";height:var(--cooldown);pointer-events:none;background:#ffffff0d;transition:height .2s linear;position:absolute;inset:0 0 auto}.ability:disabled{cursor:not-allowed}.ability:disabled .ability-label{color:var(--text-3)}.ability.active{background:linear-gradient(180deg, #7fc29f38, var(--surface));border-color:#7fc29f99}.ability-key{width:30px;height:30px;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--pill-ink);background:var(--pill);border-radius:30%;grid-row:1/3;place-items:center;display:grid}.ability-label{font-size:var(--t-md);font-weight:var(--w-bold)}.ability-status{font-size:var(--t-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.weather-banner{top:calc(var(--gutter) + 110px);align-items:center;gap:var(--s1);max-width:calc(100% - 32px);padding:var(--s3) var(--s5);text-align:center;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:banner-in var(--dur-slow) var(--ease-spring);flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.weather-banner strong{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em}.weather-banner span{font-size:var(--t-md);color:var(--text-2)}.weather-banner.rain strong:before{content:"☂ "}.weather-banner.fog strong:before{content:"≋ "}.weather-banner.boss{background:linear-gradient(135deg, #e6c07a3d, var(--surface) 70%);box-shadow:0 0 0 1px #e6c07a73, var(--shadow)}.weather-banner.boss strong:before{content:"★ ";color:var(--gold)}.weather-banner.event strong:before{content:"! ";color:var(--alert-2)}.weather-banner.vip strong:before{content:"♛ ";color:var(--gold)}.weather-banner.good strong{color:var(--good-2)}.weather-banner.bad strong{color:var(--alert-2)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.94)}}.toast{max-width:calc(100% - 32px);font-size:var(--t-md);font-weight:var(--w-strong);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow);opacity:0;transition:opacity var(--dur-med), transform var(--dur-med) var(--ease);padding:10px 18px;position:absolute;bottom:28px;left:50%;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.pop{animation:toast-pop .32s var(--ease-spring)}@keyframes toast-pop{40%{transform:translate(-50%)scale(1.05)}}.tooltip{max-width:260px;padding:10px var(--s3);font-size:var(--t-sm);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);pointer-events:none;z-index:5;animation:fade-in var(--dur-fast);position:fixed}.tooltip-title{font-size:var(--t-md);font-weight:var(--w-bold)}.tooltip-sub{color:var(--text-2)}.tooltip-quirk{font-weight:var(--w-bold);color:var(--good-2);margin-top:6px}.tooltip-text{margin-top:2px}.tooltip-effects{margin-top:var(--s1);color:var(--text-2)}.popups{position:absolute;inset:0;overflow:hidden}.popup{font-size:15px;font-weight:var(--w-bold);letter-spacing:-.01em;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-sm);white-space:nowrap;will-change:transform, opacity;padding:3px 10px;position:absolute;top:0;left:0}.popup.gain{color:var(--good-2)}.popup.loss{color:var(--text-3)}.popup.late{color:var(--warn-2)}.popup.pickup.freeze{color:var(--c-cold-2)}.popup.pickup.unload{color:var(--good-2)}.popup.pickup.cash{color:var(--gold)}.perf{bottom:86px;right:var(--gutter);padding:var(--s1) 10px;font:12px/1.4 var(--font-mono);color:var(--text);background:var(--surface);border-radius:var(--r-sm);position:absolute}.haze{opacity:0;pointer-events:none;background:radial-gradient(at 50% 60%,#e4e6e899,#e4e6e8);position:absolute;inset:0}.lightning{opacity:0;pointer-events:none;mix-blend-mode:screen;background:#f0f2fa;position:absolute;inset:0}.start{pointer-events:none;transition:opacity var(--dur-slow) var(--ease), visibility var(--dur-slow);background:radial-gradient(120% 60% at 50% 110%,#14151a52,#14151a00 70%);position:fixed;inset:0}.start.gone{opacity:0;visibility:hidden}.start-top{top:var(--s4);left:var(--s4);right:var(--s4);justify-content:space-between;align-items:center;gap:var(--s3);animation:rise-in var(--dur-slow) var(--ease);display:flex;position:absolute}.start-brand{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);pointer-events:auto;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.start-logo{color:#fff;background:linear-gradient(135deg,#e6a07a,#d9786f);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 1px #ffffff4d}.start-logo svg{width:17px;height:17px}.start-brand h1{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.03em;margin:0;line-height:1}.start-tools{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);pointer-events:auto;align-items:center;gap:6px;padding:4px;display:flex}.start-tools .icon-button{background:0 0;border-color:#0000;width:32px;height:32px}.start-tools .icon-button:hover,.start-tools .icon-button.active{background:var(--surface-3);color:var(--text)}.start-tools .icon-button svg{width:17px;height:17px}.start-tools .profile-chip{background:var(--surface-2);align-self:center;max-width:140px;margin:0;padding:4px 10px 4px 6px}.start-tokens{font-size:var(--t-sm);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;color:var(--c-haz-2);border-radius:var(--r-pill);background:#8c74c42e;align-items:center;padding:4px 10px;display:inline-flex}.start-board{top:calc(var(--s4) + 52px);right:var(--s4);width:min(320px,100% - 32px);max-height:calc(100% - 96px);padding:var(--s4);border-radius:var(--r-lg);pointer-events:auto;transform-origin:100% 0;animation:pop-in var(--dur-med) var(--ease-spring);position:absolute;overflow-y:auto}.start-card{left:50%;bottom:var(--s5);gap:var(--s3);width:min(520px,100% - 32px);max-height:calc(100% - 96px);padding:var(--s3);border-radius:var(--r-xl);pointer-events:auto;animation:card-rise var(--dur-slow) var(--ease);transition:transform var(--dur-slow) var(--ease);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;display:flex;position:absolute;overflow-y:auto;transform:translate(-50%)translate(0,0)}.start.gone .start-card{transform:translate(-50%)translateY(24px)scale(.98)}@keyframes card-rise{0%{opacity:0;translate:0 16px}}.start-modes{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:3px;display:grid}.start-mode{--tone:var(--good);min-width:0;font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text-2);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;gap:5px;padding:7px 6px;display:inline-flex}.start-mode.normal{--tone:var(--c-in)}.start-mode.hard{--tone:var(--warn)}.start-mode.brutal{--tone:var(--bad)}.start-mode.zen{--tone:#8fd6aa}.start-mode.daily{--tone:var(--gold)}.start-mode:hover{color:var(--text)}.start-mode:active{transform:scale(.96)}.start-mode-icon{color:var(--tone);place-items:center;display:grid}.start-mode-icon svg{width:14px;height:14px}.start-mode-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-mode.locked,.start-mode.locked .start-mode-icon{color:var(--text-3)}.start-mode.selected{color:var(--pill-ink);background:var(--pill)}.start-mode.selected .start-mode-icon{color:color-mix(in srgb, var(--tone) 75%, #000)}.start-mode.done:not(.selected) .start-mode-name:after{content:" ✓";color:var(--good-2)}.start-detail{padding:0 var(--s2);flex-direction:column;gap:6px;display:flex}.start-blurb{font-size:var(--t-md);color:var(--text);margin:0}.start-chips{align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.start-chip{padding:2px var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-pill)}.start-rules-toggle{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-3);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;align-items:center;gap:1px;margin-left:auto;padding:2px 4px 2px 8px;display:inline-flex}.start-rules-toggle:hover{color:var(--text)}.start-rules-toggle svg{width:13px;height:13px;transition:transform var(--dur-med) var(--ease)}.start-rules-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.start-rules{transition:grid-template-rows var(--dur-med) var(--ease);grid-template-rows:0fr;display:grid}.start-rules.open{grid-template-rows:1fr}.start-rules ul{min-height:0;padding-left:var(--s4);font-size:var(--t-sm);color:var(--text-2);margin:0;line-height:1.5;overflow:hidden}.start-best{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--gold);margin:0}.start-share svg{width:15px;height:15px}.start[data-mode=zen] .start-best{color:#a8e0bf}.start-bottom{align-items:center;gap:var(--s2);display:flex}.start-spacer{flex:1}.season-dots{padding-left:var(--s2);gap:6px;display:flex}.season-dot{border:2px solid var(--surface);width:20px;height:20px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast);border-radius:50%;padding:0}.season-dot:hover{transform:scale(1.12)}.season-dot.selected{box-shadow:0 0 0 2px var(--pill)}.start-go{min-width:170px;min-height:44px;font-size:var(--t-md)}.start[data-mode=zen] .start-go:not(:disabled){background:#cfeedd}.start-refund{padding:0 var(--s2);font-size:var(--t-xs);color:var(--c-haz-2);margin:0}.start [data-tip]{position:relative}.start [data-tip]:after{content:attr(data-tip);z-index:5;font-size:var(--t-xs);font-weight:var(--w-strong);white-space:nowrap;color:var(--pill-ink);background:var(--pill);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease);border-radius:8px;padding:5px 9px;line-height:1.3;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-3px)}.start [data-tip]:hover:after,.start [data-tip]:focus-visible:after{opacity:1;transform:none}.start .season-dot[data-tip]:after{top:auto;bottom:calc(100% + 8px);right:50%;transform:translate(50%,3px)}.start .season-dot[data-tip]:hover:after,.start .season-dot[data-tip]:focus-visible:after{transform:translate(50%)}.season-caption{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-self:center;margin-right:2px}.start-tools .icon-button.labelled{width:auto;font-size:var(--t-sm);font-weight:var(--w-strong);gap:5px;padding:0 10px 0 8px;display:inline-flex}.start-help.glow{color:#3a2b10;background:var(--gold);animation:1.8s ease-in-out infinite help-glow}.start-newcomer{color:var(--gold);background:#e6c07a1f;animation:1.8s ease-in-out infinite help-glow;box-shadow:inset 0 0 0 1px #e6c07a8c}.start-bottom:has(.start-newcomer:not([hidden])){flex-wrap:wrap}.start-bottom:has(.start-newcomer:not([hidden])) .season-caption{display:none}.start-newcomer:hover{background:#e6c07a33}@keyframes help-glow{0%,to{box-shadow:0 0 #e6c07a8c}50%{box-shadow:0 0 0 7px #e6c07a00}}@media (width<=560px){.start-top{top:var(--s3);left:var(--s3);right:var(--s3)}.start-brand h1,.start-tools .profile-chip span,.start-tools .icon-button.labelled span{display:none}.start-tools .icon-button.labelled{width:32px;padding:0}.season-caption{display:none}.start-brand,.start-tools .profile-chip{padding:4px}.start-mode{font-size:var(--t-xs);flex-direction:column;gap:1px;padding:6px 2px}.start-card{bottom:var(--s3)}.start-go{flex:1;min-width:0}}@media (height<=560px){.start-blurb{display:none}.start-card{bottom:var(--s3)}}.logbook{z-index:30}.logbook-card{width:min(760px,100%);max-height:100%;padding:var(--s5);border-radius:var(--r-xl);background:var(--surface-solid);flex-direction:column;display:flex}.logbook-head{align-items:center;gap:var(--s3);display:flex}.logbook-head h2{font-size:var(--t-xl);margin:0}.logbook-icon{color:#3a2b10;background:var(--gold);border-radius:30%;flex:none;place-items:center;width:40px;height:40px;display:grid}.logbook-icon svg{width:22px;height:22px}.logbook-count{font-size:var(--t-sm);color:var(--text-2);margin:2px 0 0}.logbook-close{margin-left:auto}.logbook-body{margin-top:var(--s4);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;padding-right:4px;overflow-y:auto}.logbook-shelf+.logbook-shelf{margin-top:var(--s5)}.logbook-shelf h3{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0}.logbook-shelf h3 span{color:var(--text-2);margin-left:4px}.logbook-hint{margin:2px 0 var(--s3);font-size:var(--t-xs);color:var(--text-3);align-items:center;gap:3px;display:flex}.logbook-hint svg{width:12px;height:12px}.logbook-grid{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.logbook-entry{padding:var(--s2) var(--s2) var(--s3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);animation:rise-in var(--dur-med) var(--ease) both;animation-delay:calc(var(--i,0) * 30ms);flex-direction:column;gap:2px;display:flex}.logbook-entry.rare:not(.unknown){background:linear-gradient(160deg, #e6c07a29, var(--surface-2) 60%);border-color:#e6c07a59}.logbook-pic{border-radius:var(--r-sm);background:radial-gradient(70% 60% at 50% 60%,#ffffff12,#0000 70%);place-items:center;height:84px;margin-bottom:4px;display:grid}.logbook-pic img{max-width:100%;max-height:84px}.logbook-entry.unknown .logbook-pic img{filter:brightness(0);opacity:.45}.logbook-entry b{font-size:var(--t-sm)}.logbook-entry span{font-size:var(--t-xs);color:var(--text-2);line-height:1.4}.logbook-entry.unknown b,.logbook-entry.unknown span{color:var(--text-3)}.logbook-found{top:calc(var(--gutter) + 64px);z-index:12;align-items:center;gap:var(--s3);padding:6px var(--s4) 6px 6px;background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease-spring);border:1px solid #e6c07a66;display:flex;position:absolute;left:50%;transform:translate(-50%,-12px)scale(.96)}.logbook-found.show{opacity:1;transform:translate(-50%)}.logbook-found img{object-fit:contain;width:72px;height:45px}.logbook-found span{flex-direction:column;display:flex}.logbook-found small{font-size:var(--t-xs);color:var(--text-3);align-items:center;gap:4px;display:inline-flex}.logbook-found small svg{width:12px;height:12px}.logbook-found b{font-size:var(--t-md)}.logbook-found em{font-style:normal;font-weight:var(--w-bold);color:var(--c-haz-2);align-items:center;gap:2px;display:inline-flex}.logbook-found em svg{width:13px;height:13px}.logbook-found.rare{border-color:var(--gold);box-shadow:0 0 0 3px #e6c07a33, var(--shadow)}.summary-daily{align-items:center;gap:var(--s2);margin-top:var(--s4);padding:var(--s3);background:var(--surface-2);border-radius:var(--r-lg);flex-direction:column;display:flex}.summary-grid{letter-spacing:3px;font-size:26px}.summary-daily-text{font-size:var(--t-sm);color:var(--text-2);margin:0}.board.daily .board-shifts{letter-spacing:0;font-size:11px}.status-chips .chip.daily{color:var(--gold)}.friends{z-index:30}.friends-card{width:min(560px,100%);max-height:100%;padding:var(--s5);border-radius:var(--r-xl);background:var(--surface-solid);flex-direction:column;display:flex}.friends-head{align-items:center;gap:var(--s3);display:flex}.friends-head h2{font-size:var(--t-xl);margin:0}.friends-icon{color:#1c2b44;background:var(--c-in-2);border-radius:30%;flex:none;place-items:center;width:40px;height:40px;display:grid}.friends-icon svg{width:22px;height:22px}.friends-sub{font-size:var(--t-sm);color:var(--text-2);margin:2px 0 0}.friends-head .friends-close{margin-left:auto}.friends-body{margin-top:var(--s4);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;overflow-y:auto}.friends-body h3{margin:var(--s4) 0 var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.friends-message{margin:var(--s3) 0;font-size:var(--t-sm);color:var(--text-2);line-height:1.5}.friends-mine{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-2);border-radius:var(--r-md);display:flex}.friends-code{font-family:var(--font-mono);font-size:var(--t-lg);letter-spacing:.06em;flex:1}.friends-mine .button svg{width:15px;height:15px}.friends-add{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.friends-add input{min-width:0;padding:8px var(--s3);font-family:var(--font-mono);text-transform:uppercase;color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);flex:200px}.friends-add input::placeholder{font-family:var(--font);text-transform:none;color:var(--text-3)}.friends-note{font-size:var(--t-xs);color:var(--text-2);flex-basis:100%;margin:0}.friends-note:empty{display:none}.friends-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.friends-list li{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--surface-2);border-radius:var(--r-md);animation:rise-in var(--dur-med) var(--ease) both;display:flex}.friends-avatar{width:32px;height:32px;font-weight:var(--w-bold);color:#1c2b44;background:var(--c-in-2);border-radius:50%;flex:none;place-items:center;display:grid}.friends-who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.friends-who b{font-size:var(--t-md)}.friends-who small{font-size:var(--t-xs);color:var(--text-2)}.friends-runs{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.friends-run{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);background:var(--surface-3);border-radius:var(--r-pill);padding:1px 7px}.friends-actions{gap:4px;display:flex}.board-scope{margin-bottom:var(--s3);display:flex}.board-scope button{justify-content:center;align-items:center;gap:4px;display:inline-flex}.board-scope svg{width:14px;height:14px}body.tutorial :is(.tb-quota,.tb-shift,.abilities,.alert-card){display:none!important}body.tutorial .logbook-found{top:calc(var(--gutter) + 190px)}.tut-dim,.tut-ring,.tut-card{display:none}.tut-dim.on{z-index:8;pointer-events:none;transition:background var(--dur-slow);background:#10121a57;display:block;position:fixed;inset:0}.tut-dim.on.soft{background:#10121a1f}.tut-ring.on{z-index:9;border:2px solid var(--gold);pointer-events:none;border-radius:14px;animation:1.6s ease-in-out infinite tut-pulse;display:block;position:fixed;top:0;left:0;box-shadow:0 0 0 9999px #10121a4d,0 0 0 3px #e6c07a38}.tut-ring.drop.on{border-style:dashed;border-color:var(--c-in-2);box-shadow:none;animation:none}@keyframes tut-pulse{50%{box-shadow:0 0 0 9999px #10121a4d,0 0 0 7px #e6c07a14}}:root.reduce-motion .tut-ring.on{animation:none}.tut-arrow{width:30px;height:30px;color:var(--gold);place-items:center;margin-left:-15px;animation:1s ease-in-out infinite tut-bounce;display:grid;position:absolute;bottom:100%;left:50%}.tut-arrow svg{stroke-width:3px;width:30px;height:30px}@keyframes tut-bounce{50%{transform:translateY(-8px)}}.tut-card.on{top:calc(var(--gutter) + 72px);z-index:11;align-items:center;gap:var(--s2);width:min(460px,100% - 32px);padding:var(--s3) var(--s4) var(--s4);text-align:center;border-radius:var(--r-lg);pointer-events:auto;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tut-card.pop{animation:tut-in var(--dur-slow) var(--ease-spring)}@keyframes tut-in{0%{opacity:0;transform:translate(-50%,-10px)scale(.97)}}.tut-progress{background:var(--surface-3);border-radius:var(--r-pill);align-self:stretch;height:4px;overflow:hidden}.tut-progress span{background:var(--gold);height:100%;transition:width var(--dur-slow) var(--ease);display:block}.tut-row{justify-content:space-between;align-self:stretch;align-items:center;display:flex}.tut-step{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.tut-skip{font-size:var(--t-xs);color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:2px 6px;text-decoration:underline}.tut-text{font-size:var(--t-md);margin:0;line-height:1.6}.keycap.small{min-width:26px;height:26px;font-size:var(--t-sm);vertical-align:middle;border-bottom-width:3px;border-radius:7px;margin:0 1px;padding:0 7px}.tut-done{z-index:32}.tut-done-card{width:min(440px,100%);padding:var(--s5);text-align:center;border-radius:var(--r-xl)}.tut-done-icon{width:56px;height:56px;margin-bottom:var(--s3);color:#3a2b10;background:var(--gold);border-radius:30%;place-items:center;display:inline-grid}.tut-done-icon svg{width:30px;height:30px}.tut-done-card .modal-actions{justify-content:center}.tut-reward{justify-content:center;gap:var(--s2);flex-wrap:wrap;display:flex}.tut-chip{font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--c-haz-2);border-radius:var(--r-pill);background:#8c74c42e;align-items:center;gap:5px;padding:5px 12px;display:inline-flex}.tut-chip.paint{color:#a8e0b0;background:#6fc27a2e}.tut-chip svg{width:14px;height:14px}.shop{top:calc(var(--gutter) + 76px);left:var(--gutter);bottom:var(--gutter);width:312px;padding:var(--s4);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);flex-direction:column;display:flex;position:absolute;transform:translate(-24px)}.shop.is-open{opacity:1;transform:none}.shop-head h2{margin:0 0 var(--s2);font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em}.shop-summary{padding:10px var(--s3);font-size:var(--t-sm);background:var(--surface-2);border-radius:var(--r-md)}.summary-line{justify-content:space-between;gap:var(--s2);color:var(--text-2);padding:1px 0;display:flex}.summary-line strong{font-weight:var(--w-bold);color:var(--text);font-variant-numeric:tabular-nums}.summary-line.balance{margin-top:var(--s1);border-top:1px solid var(--line);padding-top:6px}.shop-groups{margin:var(--s2) -4px 0;padding:0 var(--s1);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex:1;overflow-y:auto}.shop-group h3{margin:var(--s3) 0 6px;font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.shop-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.shop-item{column-gap:var(--s2);padding:var(--s2);text-align:left;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease), border-color var(--dur-fast), background var(--dur-fast);grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;display:grid}.shop-item:hover:not(:disabled){background:var(--surface-3);transform:translateY(-1px)}.shop-item:active:not(:disabled){transform:scale(.97)}.shop-item.selected{border-color:var(--c-in-2);background:color-mix(in srgb, var(--c-in) 22%, var(--surface-2))}.shop-item:disabled{opacity:.42;cursor:not-allowed}.shop-icon{color:#fff;background:var(--c-in);border-radius:30%;grid-row:1/3;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 1px #ffffff38}.shop-item[data-item=coldDock] .shop-icon,.shop-item[data-item=coldRack] .shop-icon{background:var(--c-cold)}.shop-item[data-item=hazmatDock] .shop-icon{background:var(--c-haz)}.shop-item[data-item=packer] .shop-icon,.shop-item[data-item=conveyor] .shop-icon{background:var(--c-out)}.shop-item[data-item=chargePad] .shop-icon{background:var(--good)}.shop-item:is([data-item=forklift],[data-item=palletJack],[data-item=heavyLoader],[data-item=drone]) .shop-icon{background:var(--warn)}.shop-icon svg{width:20px;height:20px}.shop-label{font-size:var(--t-sm);font-weight:var(--w-bold);line-height:1.15}.shop-cost{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);font-variant-numeric:tabular-nums}.shop-placing{padding:var(--s2) var(--s3);font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--c-in-2);background:color-mix(in srgb, var(--c-in) 18%, transparent);border-radius:var(--r-md);animation:fade-in var(--dur-med);margin-top:10px}.shop-done{min-height:46px;margin-top:10px}.shop-preview{width:260px;padding:var(--s4);font-size:var(--t-sm);pointer-events:none;animation:pop-in var(--dur-fast) var(--ease);position:fixed}.preview-icon{color:#fff;background:var(--c-in);border-radius:30%;place-items:center;width:44px;height:44px;display:grid}.preview-icon svg{width:26px;height:26px}.preview-title{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.01em;margin-top:10px}.preview-text{color:var(--text-2);margin-top:2px}.preview-facts{margin:var(--s2) 0 0;padding-left:var(--s4);color:var(--text-2);line-height:1.5}.preview-cost{font-size:var(--t-lg);font-weight:var(--w-bold);margin-top:10px}.preview-cost.blocked{font-size:var(--t-sm);color:var(--bad-2)}.cards{text-align:center;width:min(900px,100%);max-height:100%;overflow-y:auto}.cards h2{margin:0 0 var(--s5);font-size:var(--t-2xl);color:var(--text);text-shadow:0 2px 18px #00000059}.cards-row{perspective:1200px;padding:var(--s3) var(--s1);grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.card{--frame:var(--line-strong);--glow:transparent;--tone:var(--text-3);min-height:270px;padding:var(--s5) 22px;text-align:left;color:var(--text);border:1.5px solid var(--frame);border-radius:var(--r-xl);box-shadow:var(--shadow), 0 0 0 0 var(--glow);cursor:pointer;backface-visibility:hidden;transition:transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);background:linear-gradient(#2b2c32,#1d1e22);flex-direction:column;gap:10px;animation:.6s cubic-bezier(.2,.9,.3,1.2) both card-flip;display:flex}.card:hover,.card:focus-visible{box-shadow:var(--shadow), 0 0 32px 6px var(--glow);transform:translateY(-10px)scale(1.04)}.card:active{transform:translateY(-6px)scale(1.01)}.card.common{--tone:#8f8e89}.card.rare{--frame:var(--c-in-2);--glow:#a3b8e459;--tone:var(--c-in);background:linear-gradient(#2b3242,#1d1f26)}.card.legendary{--frame:var(--gold);--glow:#e6c07a80;--tone:#c89a4c;box-shadow:var(--shadow), 0 0 22px 3px var(--glow);background:linear-gradient(#3a3326,#1f1d1a)}.card.driver{--frame:#7fc29fcc;--glow:#7fc29f52;--tone:var(--good)}.card-tag{font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--tone);border-radius:var(--r-pill);align-self:flex-start;padding:3px 10px}.card-title{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em}.card-quirk{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--good-2)}.card-text{font-size:var(--t-md);color:var(--text-2);line-height:1.5}.card-effects{font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text-2);margin-top:auto}.cards-row.targets{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.card.target,.card.back{min-height:0;padding:var(--s4) 18px;border-radius:var(--r-lg);animation:rise-in var(--dur-med) var(--ease) both}.card.back{justify-content:center}@keyframes card-flip{0%{opacity:0;transform:rotateY(-100deg)translateY(30px)}}.pause-card{gap:var(--s5);width:min(840px,100%);max-height:100%;padding:var(--s5);border-radius:var(--r-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;overflow-y:auto}.pause-buttons{gap:var(--s2);display:grid}.pause-settings{gap:var(--s3);display:grid}.setting{font-size:var(--t-md);font-weight:var(--w-strong);gap:6px;display:grid}.pause-side{padding:var(--s4) 18px;background:var(--surface-2);border-radius:var(--r-lg)}.pause-side h3{margin-top:0}.mods-section+.mods-section{margin-top:var(--s4)}.mods-section h4{margin:0 0 var(--s1);font-size:var(--t-md);font-weight:var(--w-bold)}.mods-section ul{padding-left:var(--s4);font-size:var(--t-sm);color:var(--text-2);margin:0;line-height:1.55}.mods-section li.rare{color:var(--c-in-2)}.mods-section li.legendary{color:var(--gold);font-weight:var(--w-bold)}.summary-card{width:min(540px,100%);max-height:100%;padding:var(--s5);text-align:center;border-radius:var(--r-xl);overflow-y:auto}.summary-badge{padding:3px var(--s3);font-size:var(--t-xs);font-weight:var(--w-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);background:var(--surface-2);border-radius:var(--r-pill);margin-bottom:10px;display:inline-block}.summary.won h2{color:var(--good-2)}.summary-stats{gap:var(--s2);margin:var(--s1) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-stats div{padding:var(--s3) 6px;background:var(--surface-2);border-radius:var(--r-md);animation:rise-in var(--dur-slow) var(--ease) both}.summary-stats div:nth-child(2){animation-delay:60ms}.summary-stats div:nth-child(3){animation-delay:.12s}.summary-stats div:nth-child(4){animation-delay:.18s}.summary-stats div:nth-child(5){animation-delay:.24s}.summary-stats div:nth-child(6){animation-delay:.3s}.summary-stats dt{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.summary-stats dd{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:3px 0 0}.summary-powerups{margin-top:var(--s4);flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.powerup-chip{font-size:var(--t-xs);font-weight:var(--w-strong);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:3px 10px}.powerup-chip.rare{border-color:var(--c-in-2)}.powerup-chip.legendary{color:var(--gold);border-color:var(--gold)}.summary-best{margin-top:var(--s4);font-size:var(--t-md);font-weight:var(--w-strong);color:var(--text-2)}.summary-best:empty{display:none}.summary-best.new{color:var(--gold);animation:combo-bump .6s var(--ease-spring) .5s both}.summary .modal-actions{justify-content:center}.tip{pointer-events:none;z-index:8;position:fixed;inset:0}.tip-ping{border:3px solid var(--pill);width:46px;height:46px;box-shadow:0 0 0 3px var(--c-in);animation:tip-ping 1.2s var(--ease) infinite;border-radius:50%;margin:-23px 0 0 -23px;position:absolute}@keyframes tip-ping{0%{opacity:1;scale:.6}to{opacity:0;scale:1.5}}.tip-card{max-width:310px;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface-solid);border:1px solid var(--line-strong);color:var(--text);box-shadow:var(--shadow);font-size:var(--t-md);font-weight:var(--w-strong);line-height:1.45;position:absolute}.tip-card.enter{animation:rise-in var(--dur-med) var(--ease-spring)}.tip-card:after{content:"";background:var(--surface-solid);width:12px;height:12px;position:absolute;rotate:45deg}.tip-card[data-side=above]:after{left:calc(var(--arrow-x,50%) - 6px);bottom:-6px}.tip-card[data-side=left]:after{top:calc(50% - 6px);right:-6px}.tip-hint{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);opacity:0;transition:opacity var(--dur-med);margin-top:3px;display:block}.tip.holding .tip-hint{opacity:1}.tip.holding:before{content:"";background:#14151a29;position:absolute;inset:0}.prompt{padding:var(--s1) var(--s3) var(--s1) var(--s1);font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--dur-fast);pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;top:0;left:0}.prompt.show{opacity:1}.prompt kbd{width:24px;height:24px;font:inherit;color:var(--pill-ink);background:var(--warn-2);border-radius:var(--r-pill);place-items:center;display:grid}.prompt-ring{width:26px;height:26px;display:none;transform:rotate(-90deg)}.prompt.repairing .prompt-ring{display:block}.prompt-ring circle{fill:none;stroke-width:4px}.prompt-ring .ring-fill{stroke:var(--warn-2);transition:none}.prompt.urgent{animation:1.8s ease-in-out infinite pulse-soft}@keyframes pulse-soft{50%{box-shadow:0 0 0 4px #f1bd8a4d}}body.slowmo #app canvas{filter:saturate(.45)brightness(.96)}.vignette{opacity:0;transition:opacity var(--dur-med);pointer-events:none;background:radial-gradient(#0000 55%,#181a2273);position:absolute;inset:0}body.slowmo .vignette{opacity:1}.grab-label{z-index:6;pointer-events:none;padding:6px var(--s3);border-radius:var(--r-pill);background:var(--surface-solid);color:var(--text);border:1px solid var(--line-strong);font-size:var(--t-sm);font-weight:var(--w-strong);box-shadow:var(--shadow-sm);white-space:nowrap;position:fixed;top:0;left:0}.grab-label.invalid{color:var(--text-2);background:var(--surface)}.crew{left:var(--gutter);bottom:var(--gutter);width:224px;color:var(--text);background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:rise-in var(--dur-slow) var(--ease);padding:10px;position:absolute}.crew-title{margin:0 var(--s1) var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:baseline;display:flex}.crew-hint{font-weight:var(--w-normal);letter-spacing:0;text-transform:none;color:var(--text-3)}.crew-pipe{margin:0 0 var(--s2);background:var(--surface-2);border-radius:var(--r-md);align-items:center;gap:2px;padding:4px;display:flex}.crew-pipe-step{border-radius:var(--r-sm);min-width:0;transition:background var(--dur-med), color var(--dur-med);flex-direction:column;flex:1;align-items:center;padding:3px 0 2px;display:flex}.crew-pipe-step b{font-size:var(--t-md);color:var(--role);line-height:1.1}.crew-pipe-step small{max-width:100%;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.crew-pipe-step.empty b{color:var(--text-3)}.crew-pipe-step.gap{background:color-mix(in srgb, var(--alert) 22%, transparent);animation:2s ease-in-out infinite pulse-soft}.crew-pipe-step.gap b,.crew-pipe-step.gap small{color:var(--alert)}.crew-pipe-arrow{font-size:var(--t-sm);color:var(--text-3)}[data-role=unloader]{--role:var(--c-in-2)}[data-role=picker]{--role:#9fc7b4}[data-role=packer]{--role:#e3c27e}[data-role=loader]{--role:var(--c-out-2)}.crew-role{font-size:9.5px;font-weight:var(--w-strong);letter-spacing:.04em;text-transform:uppercase;color:var(--role,var(--text-3));position:absolute;top:7px;right:10px}.crew-list{flex-direction:column;gap:6px;display:flex}.crew-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:auto;animation:rise-in var(--dur-med) var(--ease);transition:transform var(--dur-fast) var(--ease), background var(--dur-fast), box-shadow var(--dur-fast), opacity var(--dur-fast), border-color var(--dur-med);align-items:center;gap:10px;padding:7px 10px 8px 8px;display:flex;position:relative}.crew-card:hover{background:var(--surface-3);transform:translate(2px)}.crew-card:active{transform:scale(.98)}.crew-card.selected{border-color:var(--crew-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--crew-color) 40%, transparent)}.crew-card.dragging{opacity:.4}.crew-swatch{display:none}.crew-icon{color:#fff;background:var(--crew-color);border-radius:30%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 1px #ffffff40}.crew-icon svg{width:19px;height:19px}.crew-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.crew-name{font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:-.01em}.crew-status{font-size:var(--t-sm);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-med);overflow:hidden}.crew-card[data-tone=idle] .crew-status,.crew-card[data-tone=tired] .crew-status{color:var(--warn-2)}.crew-card[data-tone=idle]{animation:2.2s ease-in-out infinite crew-idle}.crew-card[data-tone=rest] .crew-status{color:var(--c-in-2)}.crew-card[data-tone=alert] .crew-status{color:var(--alert-2)}.crew-card[data-tone=alert]{border-color:#d9786f8c}@keyframes crew-idle{50%{border-color:#e0b062b3;box-shadow:0 0 0 3px #e0b06229}}.crew-bar{border-radius:var(--r-pill);background:var(--surface-3);height:4px;margin-top:3px;overflow:hidden}.crew-fill{border-radius:var(--r-pill);background:var(--good);height:100%;transition:width .3s linear, background var(--dur-slow);display:block}.crew-card[data-tone=tired] .crew-fill{background:var(--warn)}.crew-card[data-tone=alert] .crew-fill{background:var(--alert)}.crew-card[data-tone=rest] .crew-fill{background:var(--c-in)}.crew-ghost{z-index:50;padding:7px var(--s3);font-size:var(--t-md);font-weight:var(--w-bold);color:#fff;background:var(--crew-color);border-radius:var(--r-pill);box-shadow:var(--shadow);pointer-events:none;position:fixed;transform:translate(12px,-50%)}body.crew-dragging,body.crew-dragging *{cursor:grabbing!important}.crew-boss{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) 10px;border-radius:var(--r-md);background:color-mix(in srgb, var(--c-out) 18%, transparent);border:1px solid color-mix(in srgb, var(--c-out) 40%, transparent);margin:0 0 10px;display:flex}.crew-boss-name{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--c-out-2)}.crew-boss-stats{align-items:center;gap:var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);display:flex}.crew-boss-battery{border:2px solid var(--text-2);border-radius:4px;width:34px;height:13px;padding:1px;position:relative}.crew-boss-battery:after{content:"";background:var(--text-2);border-radius:0 1px 1px 0;width:3px;height:5px;position:absolute;top:2px;right:-5px}.crew-boss-battery span{background:var(--good);border-radius:2px;height:100%;transition:width .3s linear;display:block}.crew-boss-battery.low span{background:var(--alert)}.crew-boss-battery.low{animation:2s ease-in-out infinite crew-idle}.crew-boss-battery.charging span{background:var(--c-in-2)}.crew-boss-kits.empty{color:var(--alert-2)}.minigame{pointer-events:none;z-index:20;position:absolute;top:52%;left:70%;transform:translate(-50%,-50%)}.mg-card button{pointer-events:auto}.mg-ready{display:none}.mg-card[data-stage=ready] .mg-ready{display:block}.mg-card[data-stage=ready] .mg-defuse,.mg-card[data-stage=ready] .mg-patch,.mg-card[data-stage=ready] .mg-wrap,.mg-card[data-stage=ready] .mg-pins,.mg-card[data-stage=ready] .mg-hint,.mg-card[data-stage=ready] .mg-skip,.mg-card[data-stage=ready] .mg-timer{display:none!important}.mg-ready-text{margin:var(--s2) 0;font-size:var(--t-md);color:var(--text);line-height:1.45}.mg-ready-keys{margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--text-2)}.mg-ready-actions{justify-content:center;gap:var(--s2);display:flex}.mg-ready-foot{margin:var(--s2) 0 0;cursor:pointer;font-size:var(--t-xs);color:var(--text-3);background:0 0;border:0;padding:0}.mg-skip{font-size:var(--t-xs);color:var(--text-2);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;padding:2px 10px;position:absolute;top:10px;right:10px}.mg-card[data-stage=play] .mg-head{padding-right:52px}.mg-card[data-result] .mg-skip{visibility:visible}.mg-card[data-result=won] .mg-skip,.mg-card[data-result=lost] .mg-skip,.mg-card[data-result=skipped] .mg-skip{visibility:hidden}.mg-card{width:300px;padding:var(--s4) 18px;text-align:center;background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--r-xl);box-shadow:var(--shadow);animation:pop-in var(--dur-med) var(--ease-spring);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative}.mg-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.mg-title{font-size:var(--t-sm);font-weight:var(--w-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--warn-2)}.mg-timer{font:700 20px/1 var(--font-mono);color:var(--text)}.mg-timer.hot{color:var(--alert-2);animation:1.8s ease-in-out infinite pulse-soft}.mg-defuse,.mg-patch{width:220px;height:220px;margin:0 auto;display:block}.mg-patch{width:160px}.mg-plate{fill:#34363d;stroke:#4a4d56;stroke-width:3px}.mg-ring{fill:#26272c;stroke:rgba(240, 205, 142, calc(.15 + var(--give,0) * .85));stroke-width:4px}.mg-core{fill:#c3a06a;stroke:#e0c48e;stroke-width:3px}.mg-keyhole{fill:#26272c}.mg-driver{fill:#8a8d94}.mg-pin{fill:#d8d5cf;transition:fill .1s}.mg-pin.strained{fill:var(--alert-2)}.mg-pins{justify-content:center;gap:6px;min-height:10px;margin:6px 0 2px;display:flex}.mg-pins span{border-radius:var(--r-pill);background:#ffffff24;width:18px;height:5px}.mg-pins span.on{background:var(--text)}.mg-track{fill:#26272c;stroke:#4a4d56;stroke-width:2px}.mg-zone{fill:#7fc29f66;stroke:var(--good);stroke-width:2px}.mg-zone.hit{fill:#7fc29fb8}.mg-trowel rect{fill:var(--warn-2)}.mg-trowel .mg-handle{fill:#b98a3e}.mg-fill-track{fill:#26272c}.mg-fill{fill:var(--good);transition:fill .15s}.mg-fill.dropping{fill:var(--c-out)}.mg-hint{font-size:var(--t-xs);color:var(--text-2);margin-top:6px}.mg-hint kbd{min-width:16px;font:700 10px/1.3 var(--font-mono);color:var(--pill-ink);background:var(--pill);border-radius:4px;margin:0 1px;padding:1px 4px;display:inline-block}.mg-result{font-size:var(--t-2xl);font-weight:var(--w-bold);border-radius:var(--r-xl);opacity:0;pointer-events:none;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.mg-card[data-result=won] .mg-result{opacity:1;color:var(--good-2);background:var(--surface)}.mg-card[data-result=skipped] .mg-result{opacity:1;color:var(--text-2);background:var(--surface)}.mg-card[data-result=lost] .mg-result{opacity:1;color:var(--alert-2);background:var(--surface)}.token-icon{vertical-align:-2px;width:14px;height:14px;color:var(--c-haz-2);margin-right:4px}.summary-tokens{margin-top:var(--s3);padding:var(--s2) var(--s3);font-size:var(--t-md);font-weight:var(--w-strong);color:var(--c-haz-2);border-radius:var(--r-md);background:#8c74c429}.summary-tokens b{font-variant-numeric:tabular-nums}.summary-tokens span{font-weight:var(--w-normal);color:var(--text-2)}.cshop{z-index:20;pointer-events:none;opacity:0;transition:opacity var(--dur-med) var(--ease);position:fixed;inset:0}.cshop.is-open{opacity:1}.cshop-panel{top:var(--gutter);right:var(--gutter);bottom:var(--gutter);gap:var(--s3);width:min(430px, calc(100% - 2 * var(--gutter)));padding:var(--s4);border-radius:var(--r-xl);pointer-events:auto;transition:transform var(--dur-slow) var(--ease);flex-direction:column;display:flex;position:absolute;transform:translate(24px)}.cshop.is-open .cshop-panel{transform:none}.cshop-head{align-items:center;gap:var(--s3);display:flex}.cshop-head h2{font-size:var(--t-xl);margin:0}.cshop-tokens{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--c-haz-2);border-radius:var(--r-pill);background:#8c74c42e;align-items:center;gap:3px;margin-left:auto;padding:4px 10px;display:inline-flex}.cshop-tabs{background:var(--surface-2);border-radius:var(--r-md);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:grid}.cshop-tabs button{min-width:0;font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}.cshop-tabs button svg{width:18px;height:18px}.cshop-tabs button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cshop-tabs button:hover{color:var(--text)}.cshop-tabs button.active{color:var(--pill-ink);background:var(--pill)}.cshop-detail{gap:var(--s3);padding:var(--s3);background:var(--surface-2);border-radius:var(--r-lg);animation:rise-in var(--dur-med) var(--ease);grid-template-columns:150px minmax(0,1fr);display:grid}.cshop-stage{border-radius:var(--r-md);touch-action:none;background:radial-gradient(70% 70% at 50% 60%,#ffffff14,#0000 70%);place-items:center;height:130px;display:grid;overflow:hidden}.cshop-stage img{max-width:100%;max-height:100%}.turntable-canvas{cursor:grab;touch-action:none}.turntable-canvas:active{cursor:grabbing}.cshop-info{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.cshop-dname{font-size:var(--t-lg)}.cshop-dtext{font-size:var(--t-xs);color:var(--text-2);line-height:1.4}.cshop-badge,.cshop-cstate{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);align-items:center;gap:3px;display:inline-flex}.cshop-badge svg,.cshop-cstate svg{width:12px;height:12px}.cshop-badge.equipped,.cshop-card.equipped .cshop-cstate{color:var(--good-2)}.cshop-badge.owned,.cshop-card.owned .cshop-cstate{color:var(--c-in-2)}.cshop-dactions{align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:2px;display:flex}.cshop-short{font-size:var(--t-xs);color:var(--text-3)}.cshop-slots{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.cshop-slot-chip{width:30px;height:30px;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--text);background:var(--surface-3);border:1px solid var(--line);cursor:pointer;border-radius:50%;padding:0}.cshop-slot-chip.taken{color:var(--text-3)}.cshop-slot-chip.on{color:#fff;background:var(--c-in)}body.touch .cshop-slot-chip{width:44px;height:44px}.cshop-list{align-content:start;gap:var(--s2);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex:1;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));min-height:0;padding-right:2px;display:grid;overflow-y:auto}.cshop-group,.cshop-forslot{margin:var(--s2) 0 0;font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);grid-column:1/-1}.cshop-forslot{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);text-transform:none;letter-spacing:0;font-size:var(--t-sm);color:var(--text);background:color-mix(in srgb, var(--c-in) 22%, transparent);border-radius:var(--r-md);margin:0;display:flex}.cshop-card{text-align:left;color:var(--text);background:var(--surface-2);border-radius:var(--r-md);cursor:pointer;animation:rise-in var(--dur-med) var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 20ms);transition:transform var(--dur-fast) var(--ease), background var(--dur-fast), border-color var(--dur-fast);border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px 8px;display:flex}.cshop-card:hover{background:var(--surface-3);transform:translateY(-2px)}.cshop-card.chosen{border-color:var(--pill)}.cshop-card.equipped{box-shadow:inset 0 0 0 1px #7fc29f80}.cshop-card.locked .cshop-pic img,.cshop-card.earned .cshop-pic img{opacity:.8}.cshop-pic{border-radius:var(--r-sm);background:radial-gradient(70% 70% at 50% 60%,#ffffff0f,#0000 70%);align-self:stretch;place-items:center;height:76px;margin-bottom:2px;display:grid}.cshop-pic img{max-width:100%;max-height:76px}.cshop-cname{font-size:var(--t-sm);font-weight:var(--w-strong);line-height:1.25}.cshop-price{color:var(--c-haz-2);align-items:center;gap:2px;display:inline-flex}.cshop-price svg{width:12px;height:12px}.cshop-foot{font-size:var(--t-xs);color:var(--text-3);margin:0}.station-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.station-label{font-size:11.5px;font-weight:var(--w-bold);white-space:nowrap;color:#fff;background:var(--tone,#3a3c44);border-radius:var(--r-pill);text-shadow:0 1px 1px #00000040;transition:opacity var(--dur-med), box-shadow var(--dur-med);will-change:transform;align-items:center;gap:6px;padding:3px 10px 3px 3px;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 4px 12px -2px #0a0c1273}.station-label.gone{opacity:0}.station-label.target{box-shadow:0 0 0 3px #ffffffd9,0 4px 14px #0a0c1266}.station-label .sl-icon{background:#ffffff38;border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.station-label .sl-icon svg{width:12px;height:12px}.station-label.receiving{--tone:var(--c-in)}.station-label.shipping{--tone:var(--c-out)}.station-label.hazmat{--tone:var(--c-haz)}.station-label.cold{--tone:var(--c-cold)}.station-label.packing{--tone:#c47a4c}.station-label.rest{--tone:#5c6270}.station-label.charge{--tone:#5aa57f}.station-label.shed{--tone:#474b55}.station-label.racks{--tone:#57709f}.attention{pointer-events:none;position:absolute;inset:0;overflow:hidden}.attn{--tone:var(--c-in-2);will-change:transform;filter:drop-shadow(0 4px 8px #0a0c1266);justify-items:center;display:grid;position:absolute;top:0;left:0}.attn-ring{width:38px;height:38px;transform:rotate(-90deg)}.attn-track{fill:var(--surface-solid);stroke:#ffffff1f;stroke-width:4px}.attn-fill{fill:none;stroke:var(--tone);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.attn.no-ring .attn-fill{stroke-dashoffset:0!important}.attn-icon{width:18px;height:18px;color:var(--tone);position:absolute;top:10px}.attn-icon svg{width:100%;height:100%}.attn-text{font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--pill-ink);background:var(--tone);border-radius:var(--r-pill);margin-top:-3px;padding:0 7px;line-height:16px}.attn-text:empty,.attn-arrow{display:none}.attn.critical{--tone:var(--alert-2)}.attn.warn{--tone:var(--warn-2)}.attn.inbound{--tone:var(--c-in-2)}.attn.outbound{--tone:var(--c-out-2)}.attn.hazmat{--tone:var(--c-haz-2)}.attn.cold{--tone:var(--c-cold-2)}.attn.calm{--tone:var(--good-2)}.attn.critical .attn-ring{animation:2s ease-in-out infinite attn-pulse}@keyframes attn-pulse{50%{filter:drop-shadow(0 0 5px #f1bd8abf)}}.attn.off .attn-arrow{border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:11px solid var(--tone);width:0;height:0;transform:translate(-50%, -50%) rotate(calc(var(--angle) + 90deg)) translateY(-27px);display:block;position:absolute;top:19px;left:50%}.attn.off .attn-text{display:none}.attn.dot{filter:none}.attn.dot .attn-ring,.attn.dot .attn-icon,.attn.dot .attn-text{display:none}.attn.dot:before{content:"";background:var(--tone);border:2px solid var(--surface-solid);opacity:.8;border-radius:50%;width:9px;height:9px}.attn-more{left:50%;bottom:calc(var(--gutter) + 4px);font-size:var(--t-xs);color:var(--text-2);background:var(--surface);border-radius:var(--r-pill);pointer-events:none;animation:fade-in var(--dur-med) var(--ease);padding:4px 12px;position:absolute;transform:translate(-50%)}@media (width<=1100px){:root{--offers-width:260px}.tb-ontime,.tb-queue .tb-label{display:none}}@media (width<=760px){.topbar{right:var(--gutter);flex-wrap:wrap}.offers{top:auto;bottom:80px}.status-chips{top:calc(var(--gutter) + 130px);right:var(--gutter)}.cards-row,.pause-card{grid-template-columns:1fr}.card{min-height:0}.shop{width:auto;right:var(--gutter)}.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.settings{z-index:30}.settings-card{background:var(--surface-solid);width:min(760px,100%);height:min(560px,100%);padding:var(--s5);border-radius:var(--r-xl);flex-direction:column;display:flex}.settings-head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;display:flex}.settings-head h2{margin:0}.settings-body{gap:var(--s5);flex:1;grid-template-columns:170px minmax(0,1fr);min-height:0;display:grid}.settings-nav{flex-direction:column;gap:2px;display:flex}.settings-nav button{padding:9px var(--s3);text-align:left;font-size:var(--t-md);font-weight:var(--w-strong);color:var(--text-2);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:none}.settings-nav button:hover{color:var(--text);background:var(--surface-2)}.settings-nav button.active{color:var(--pill-ink);background:var(--pill)}.settings-pane{gap:var(--s2);min-height:0;padding-right:var(--s1);scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;display:flex;overflow-y:auto}.settings-pane.swap{animation:rise-in var(--dur-med) var(--ease)}.srow{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);background:var(--surface-2);border-radius:var(--r-md);display:flex}.srow-text{flex-direction:column;gap:2px;min-width:0;display:flex}.srow-label{font-size:var(--t-md);font-weight:var(--w-strong)}.srow-hint{font-size:var(--t-sm);color:var(--text-3)}.sslider{align-items:center;gap:var(--s3);flex:none;width:min(240px,50%);display:flex}.sslider-value{text-align:right;min-width:40px;font-size:var(--t-sm);font-weight:var(--w-strong);font-variant-numeric:tabular-nums;color:var(--text-2)}.srow .segmented{flex:none}.settings-note{margin:0 var(--s4) var(--s1);font-size:var(--t-sm);color:var(--text-3)}.keys{gap:var(--s2) var(--s4);padding:var(--s3) var(--s4);font-size:var(--t-md);background:var(--surface-2);border-radius:var(--r-md);grid-template-columns:auto 1fr;margin:0;display:grid}.keys dt{gap:var(--s1);flex-wrap:wrap;display:flex}.keys dd{color:var(--text-2);align-self:center;margin:0}.keys kbd{padding:2px var(--s2);font:var(--w-strong) var(--t-sm) / 1.5 var(--font);color:var(--text);background:var(--surface-3);white-space:nowrap;border-bottom:2px solid #00000059;border-radius:7px}.danger-zone{padding:var(--s4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md)}.danger-zone.confirming{border-color:color-mix(in srgb, var(--bad) 55%, transparent);background:color-mix(in srgb, var(--bad) 12%, var(--surface-2))}.danger-zone p{font-size:var(--t-md);color:var(--text-2);margin:0;line-height:1.5}.danger-zone strong{color:var(--text);margin-bottom:2px;display:block}.danger-actions{justify-content:flex-end;gap:var(--s2);margin-top:var(--s3);display:flex}@media (width<=640px){.settings-body{grid-template-columns:1fr}.settings-nav{flex-flow:wrap}.srow{flex-wrap:wrap}.sslider{width:100%}}.colorblind .offer-cargo i{width:auto;min-width:14px;height:auto;color:var(--pill-ink);font-size:10px;font-style:normal;font-weight:var(--w-bold);text-align:center;padding:0 3px;line-height:14px}.colorblind .offer-cargo i.c-normal:after{content:"■"}.colorblind .offer-cargo i.c-fragile:after{content:"!"}.colorblind .offer-cargo i.c-cold:after{content:"❄"}.profile-chip{max-width:180px;padding:5px var(--s3) 5px 7px;font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast), transform var(--dur-fast) var(--ease);align-self:flex-start;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.profile-chip:hover{background:var(--surface-3)}.profile-chip:active{transform:scale(.97)}.profile-chip svg{width:16px;height:16px;color:var(--text-2);flex:none}.profile-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-head{align-items:center;gap:var(--s2);margin-bottom:var(--s3);display:flex}.board-icon{color:#fff;background:var(--gold);border-radius:30%;place-items:center;width:28px;height:28px;display:grid}.board-icon svg{color:#3a2b10;width:17px;height:17px}.board-title{font-size:var(--t-md);font-weight:var(--w-bold)}.board-source{padding:2px var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--good-2);border-radius:var(--r-pill);background:#7fc29f29;margin-left:auto}.board-source.offline{color:var(--text-2);background:var(--surface-3)}.board.loading .board-source{animation:2s ease-in-out infinite pulse-soft}.board-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.board-list li{align-items:center;gap:var(--s2);padding:6px var(--s2);font-size:var(--t-sm);border-radius:var(--r-sm);animation:rise-in var(--dur-med) var(--ease) both;animation-delay:calc(var(--i,0) * 35ms);grid-template-columns:22px minmax(0,1fr) auto auto;display:grid}.board-list li:nth-child(odd){background:#ffffff08}.board-list li.me{background:color-mix(in srgb, var(--c-in) 26%, transparent)}.board-list li.board-empty{color:var(--text-3);text-align:center;display:block}.board-rank{font-weight:var(--w-bold);color:var(--text-3);text-align:center}.board-list li:first-child .board-rank{color:var(--gold)}.board-name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--w-strong);overflow:hidden}.board-shifts,.board-money{font-variant-numeric:tabular-nums;color:var(--text-2)}.board-money{text-align:right;min-width:64px;font-weight:var(--w-strong);color:var(--text)}.summary-board .board{margin-top:var(--s4);padding:var(--s3);text-align:left;background:var(--surface-2);border-radius:var(--r-lg)}.profiles{z-index:30}.profiles-card,.feedback-card{width:min(560px,100%);max-height:100%;padding:var(--s5);background:var(--surface-solid);border-radius:var(--r-xl);overflow-y:auto}.profiles-list{gap:var(--s2);flex-direction:column;display:flex}.profile{align-items:center;gap:var(--s3);min-height:62px;padding:10px var(--s3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);animation:rise-in var(--dur-med) var(--ease) both;animation-delay:calc(var(--i,0) * 50ms);transition:border-color var(--dur-med), background var(--dur-med);display:flex}.profile.active{border-color:color-mix(in srgb, var(--good) 60%, transparent)}.profile.confirming{border-color:color-mix(in srgb, var(--bad) 55%, transparent);background:color-mix(in srgb, var(--bad) 12%, var(--surface-2))}.profile.new{background:0 0;border-style:dashed;justify-content:center}.profile-avatar{width:40px;height:40px;font-size:var(--t-lg);font-weight:var(--w-bold);color:#fff;background:hsl(var(--hue) 38% 58%);border-radius:30%;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff40}.profile-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-name{font-size:var(--t-md);font-weight:var(--w-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-meta{font-size:var(--t-sm);color:var(--text-2)}.profile-actions{align-items:center;gap:var(--s1);flex:none;display:flex}.profile-tag{padding:3px var(--s2);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--good-2);border-radius:var(--r-pill);background:#7fc29f29}.profile-form{gap:var(--s2);flex:1;display:flex}.profile-form input{flex:1;min-width:0}.feedback{z-index:30}.feedback-card textarea{resize:vertical;width:100%;min-height:110px;line-height:1.5}.feedback-foot{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s3);display:flex}.feedback-status{font-size:var(--t-sm);color:var(--text-2)}.feedback-email{width:100%;margin-top:var(--s2)}.feedback-count{margin-top:var(--s1);font-size:var(--t-xs);color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;display:block}.feedback-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (width<=560px){.profile{flex-wrap:wrap}}.tb-meters{flex-direction:column;gap:3px;margin-top:2px;display:flex}.tb-meter{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);grid-template-columns:30px 56px 30px;align-items:center;gap:5px;display:grid}.tb-meter i{color:var(--text-3);font-style:normal}.tb-meter b{font-variant-numeric:tabular-nums;text-align:right}.tb-meter-bar{background:var(--surface-3);border-radius:var(--r-pill);height:5px;overflow:hidden}.tb-meter-bar span{background:var(--good);border-radius:var(--r-pill);height:100%;transition:width var(--dur-slow) var(--ease), background var(--dur-med);display:block}.tb-meter[data-kind=cold] .tb-meter-bar span{background:var(--c-cold)}.tb-meter.warn b{color:var(--warn-2)}.tb-meter.warn .tb-meter-bar span{background:var(--warn)}.tb-meter.alert b{color:var(--alert-2)}.tb-meter.alert .tb-meter-bar span{background:var(--alert);animation:2s ease-in-out infinite pulse-soft}.offer-warn{padding:3px var(--s2);font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--warn-2);border-radius:var(--r-pill);animation:fade-in var(--dur-med);background:#e0b06224;margin-top:6px}.offer-warn:before{content:"⚠ "}.ability.liquidate.urgent:not(:disabled){border-color:#e0b062b3;animation:1.2s ease-in-out infinite crew-idle}.popup.sale{color:var(--warn-2)}@media (width<=1250px){.tb-storage .tb-label{display:none}}.mg-wrap{width:220px;height:220px;margin:0 auto;display:block}.mg-wrap-track{fill:none;stroke:var(--surface-3);stroke-width:14px}.mg-wrap-band{fill:none;stroke:var(--good);stroke-width:14px;stroke-linecap:round}.mg-wrap-marker{fill:var(--pill);stroke:var(--surface-solid);stroke-width:3px}.mg-wrap-base{fill:#b98e62}.mg-wrap-load{fill:#c89f6e}.mg-wrap-film{fill:#ffffff0f;stroke:#ffffff1f;transition:fill var(--dur-med), stroke var(--dur-med)}.mg-wrap-film.next{stroke:var(--pill);stroke-dasharray:4 3}.mg-wrap-film.hit{fill:#a6dcbe8c}.mg-wrap-film.perfect{fill:#e6c07ab3;stroke:var(--gold)}.mg-wrap-film.miss{fill:#d9786f59}.town-bar{top:var(--gutter);align-items:center;gap:var(--s5);max-width:calc(100% - 32px);padding:10px 10px 10px var(--s5);border-radius:var(--r-xl);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);display:flex;position:absolute;left:50%;transform:translate(-50%,-16px)}.town-bar.is-open{opacity:1;transform:translate(-50%)}.town-title{white-space:nowrap;flex-direction:column;gap:2px;display:flex}.town-title strong{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.02em}.town-results{gap:4px var(--s4);font-size:var(--t-sm);color:var(--text-2);flex-wrap:wrap;display:flex}.town-results b{color:var(--text);font-variant-numeric:tabular-nums}.town-money{flex-direction:column;gap:2px;display:flex}.town-money strong{font-size:var(--t-xl);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.town-clock{min-height:46px;font-size:var(--t-lg)}.town-hint{left:50%;bottom:var(--s5);padding:8px var(--s4);font-size:var(--t-sm);color:var(--text-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);white-space:nowrap;animation:rise-in var(--dur-slow) var(--ease);position:absolute;transform:translate(-50%)}.town-hint kbd{font:var(--w-strong) var(--t-xs) / 1.6 var(--font);color:var(--text);background:var(--surface-3);border-radius:6px;padding:1px 6px}.town-signs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.town-sign{--tone:#474b55;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);white-space:nowrap;transition:box-shadow var(--dur-med), scale var(--dur-med) var(--ease-spring);will-change:transform;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:inline-flex;position:absolute;top:0;left:0}.town-sign>span:last-child{flex-direction:column;line-height:1.15;display:flex}.town-sign b{font-size:var(--t-sm);font-weight:var(--w-bold)}.town-sign i{font-style:normal;font-size:var(--t-xs);color:var(--text-3)}.town-sign-icon{color:#fff;background:var(--tone);border-radius:30%;place-items:center;width:26px;height:26px;display:grid}.town-sign-icon svg{width:15px;height:15px}.town-sign:not(.shown){opacity:0;visibility:hidden}.town-sign.shown{animation:sign-pop var(--dur-med) var(--ease-spring)}@keyframes sign-pop{0%{opacity:0;scale:.85}}.town-sign.near{box-shadow:0 0 0 2px var(--tone), var(--shadow);scale:1.08}.town-sign.garage{--tone:#b9735f}.town-sign.staffing{--tone:#6f9a8c}.town-sign.supply{--tone:#c79c4e}.town-sign.bank{--tone:#7d8696}.town-sign.tokens{--tone:var(--c-haz)}.town-sign.gate{--tone:#dc8c5c}.town-shop{top:calc(var(--gutter) + 92px);right:var(--gutter);max-height:calc(100% - 2 * var(--gutter) - 92px);width:min(420px,100% - 32px);padding:var(--s4);border-radius:var(--r-xl);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);flex-direction:column;display:flex;position:absolute;transform:translate(28px)}.town-shop.is-open{opacity:1;transform:none}.town-shop-head{gap:var(--s3);margin-bottom:var(--s3);align-items:center;display:flex}.town-shop-head h2{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em;margin:0}.town-shop-head p{font-size:var(--t-sm);color:var(--text-2);margin:2px 0 0;line-height:1.4}.town-shop-icon{color:#fff;background:#474b55;border-radius:30%;flex:none;place-items:center;width:44px;height:44px;display:grid}.town-shop-icon svg{width:24px;height:24px}.town-shop-head[data-shop=garage] .town-shop-icon{background:#b9735f}.town-shop-head[data-shop=staffing] .town-shop-icon{background:#6f9a8c}.town-shop-head[data-shop=supply] .town-shop-icon{background:#c79c4e}.town-shop-head[data-shop=bank] .town-shop-icon{background:#7d8696}.town-shop-head[data-shop=tokens] .town-shop-icon{background:var(--c-haz)}.town-shop-body{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex:1;min-height:0;overflow-y:auto}.town-shop-body h3{margin:var(--s3) 0 6px;font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.town-note{margin:0 0 var(--s2);font-size:var(--t-sm);color:var(--text-2)}.town-empty{color:var(--text-3)}.town-cards{gap:var(--s2);flex-direction:column;display:flex}.card.compact{min-height:0;padding:var(--s3) var(--s4);border-radius:var(--r-lg);animation:rise-in var(--dur-med) var(--ease) both;gap:4px}.card.compact:hover,.card.compact:focus-visible{transform:translateY(-2px)}.card.compact:disabled{opacity:.5;cursor:not-allowed}.card.compact .card-title{font-size:var(--t-lg)}.card.compact .card-text{font-size:var(--t-sm)}.card-price{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--pill-ink);background:var(--pill);border-radius:var(--r-pill);align-self:flex-end;margin-top:2px;padding:2px 10px}.card-price.free{background:var(--good-2)}.town-targets{flex-direction:column;gap:6px;display:flex}.town-targets .button{justify-content:flex-start}.town-targets small{color:var(--text-3);font-weight:var(--w-normal)}.town-bank{padding:var(--s3) var(--s4);margin-bottom:var(--s2);background:var(--surface-2);border-radius:var(--r-md)}.town-bank h3{margin-top:0}.town-bank p{margin:0 0 var(--s2);font-size:var(--t-md);color:var(--text-2);line-height:1.45}.town-bank strong{color:var(--text)}.placement{top:calc(var(--gutter) + 76px);left:var(--gutter);width:300px;padding:var(--s4);border-radius:var(--r-xl);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);position:absolute;transform:translate(-24px)}.placement.is-open{opacity:1;transform:none}.placement h2{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em;margin:0}.placement-sub{margin:4px 0 var(--s3);font-size:var(--t-sm);color:var(--text-2)}.placement-list{margin-bottom:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.placement-done{width:100%;min-height:44px}.overlay.menu :is(.town-bar,.town-progress,.town-hint,.town-signs,.town-shop,.placement,.talk-prompt){display:none!important}@media (width<=900px){.town-results{display:none}}.wipe{pointer-events:none;opacity:0;background:linear-gradient(100deg,#0000 0%,#ece0d000 20%,#ece0d0d9 45% 55%,#ece0d000 80%,#0000 100%);position:absolute;inset:0;transform:translate(-110%)}.wipe.play{animation:wipe 1.1s var(--ease) both}@keyframes wipe{0%{opacity:1;transform:translate(-110%)}to{opacity:1;transform:translate(110%)}}.drive-pill{align-items:center;gap:var(--s3);padding:8px 8px 8px var(--s4);border-radius:var(--r-pill);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%,16px)}.drive-pill.is-open{opacity:1;transform:translate(-50%)}.drive-pill-text{align-items:center;gap:var(--s2);font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text-2);display:inline-flex}.drive-pill-text svg{color:#ff7a59;width:16px;height:16px}.button.active{box-shadow:inset 0 0 0 2px #ffc65a}.town-bar{flex-wrap:wrap}.town-actions{align-items:center;gap:6px;display:flex}.town-clock{font-size:var(--t-md);padding-inline:var(--s5)}.town-easy{font-size:var(--t-xs);color:var(--text-3);flex-basis:100%;align-items:center;gap:6px;margin:-4px 0 0;display:flex}.town-easy svg{width:13px;height:13px}.setup{top:var(--gutter);width:320px;max-height:calc(100% - 220px);overflow:auto}.setup h3{margin:var(--s3) 0 var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.setup-list{flex-direction:column;gap:6px;display:flex}.setup-row{align-items:center;gap:var(--s2);background:var(--surface-2);border-radius:var(--r-md);padding:6px 8px;display:flex}.setup-row.driver{cursor:grab}.setup-row.selected,.setup-row.dragging{box-shadow:inset 0 0 0 2px #ffc65a}.setup-text{flex-direction:column;flex:1;min-width:0;display:flex}.setup-text b{font-size:var(--t-sm)}.setup-text i{font-style:normal;font-size:var(--t-xs);color:var(--text-3)}.setup-start{width:100%;margin-top:var(--s4);min-height:46px;font-size:var(--t-md)}.setup-warn{margin:var(--s2) 0 0;font-size:var(--t-xs);color:#e6bf6a}.radio{right:var(--s4);border-radius:var(--r-lg);opacity:0;visibility:hidden;width:300px;transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease), visibility 0s linear var(--dur-med);zoom:var(--ui-scale,1);align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;bottom:88px;transform:translateY(6px)}.radio.shown{opacity:1;visibility:visible;transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);transform:none}.radio button{width:26px;height:26px;color:var(--text-2);background:var(--surface-2);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.radio button:hover{color:var(--text);background:var(--surface-3)}.radio button:active{transform:scale(.92)}.radio svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.radio-face{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.radio-dial{background:repeating-linear-gradient(90deg, var(--text-3) 0 1px, transparent 1px 8px) bottom / 100% 4px no-repeat;opacity:.9;height:10px;margin-bottom:2px;position:relative}.radio-dial i{background:var(--text-2);width:2px;height:7px;position:absolute;bottom:0}.radio-needle{width:2px;transition:left .6s var(--ease-spring);background:#ff7a59;border-radius:1px;margin-left:-1px;position:absolute;top:-2px;bottom:-1px;box-shadow:0 0 6px #ff7a59}.radio-line{white-space:nowrap;align-items:baseline;gap:6px;display:flex;overflow:hidden}.radio-call{font-size:var(--t-sm);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.radio-name{text-overflow:ellipsis;font-size:var(--t-xs);color:var(--text-3);overflow:hidden}.radio-track{text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-xs);color:#ffc65a;overflow:hidden}.radio.tuning .radio-track{color:var(--text-3);animation:.15s steps(2,end) infinite radio-static}@keyframes radio-static{50%{opacity:.45}}.radio.off .radio-face{opacity:.45}.radio.off .radio-needle{background:var(--text-3);box-shadow:none}.radio-side{flex-direction:column;align-items:center;gap:4px;display:flex}.radio:not(.off) .radio-power{color:#7cc4a0}.radio .radio-volume{accent-color:#ffc65a;background:0 0;flex:none;width:48px;min-width:0;height:14px;margin:0;padding:0}.radio .radio-side{flex:none}.payday{justify-content:center;align-items:center;gap:var(--s5);padding:72px var(--s5) var(--s5);pointer-events:none;opacity:0;transition:opacity var(--dur-med) var(--ease);zoom:var(--ui-scale);grid-template-columns:minmax(260px,340px) minmax(0,720px);display:grid;position:absolute;inset:0}.payday.is-open{opacity:1}.payday>*{pointer-events:auto}.payday-tally{padding:var(--s5);border-radius:var(--r-xl);transition:transform var(--dur-slow) var(--ease-spring);position:relative;transform:translate(-30px)}.payday.is-open .payday-tally{transform:none}.payday h2{margin:2px 0 var(--s3);font-size:var(--t-2xl);font-weight:var(--w-bold);letter-spacing:-.03em}.tally{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tally-line{justify-content:space-between;align-items:baseline;gap:var(--s3);animation:tally-in .26s var(--ease-spring) both;padding:4px 0;display:flex}@keyframes tally-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.tally-label{flex-direction:column;display:flex}.tally-label b{font-size:var(--t-md);font-weight:var(--w-strong)}.tally-label i{font-style:normal;font-size:var(--t-xs);color:var(--text-3)}.tally-line strong{font-size:var(--t-lg);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.tally-line.minus strong{color:#e08a84}.tally-line.quota,.tally-line.total{border-top:1px dashed var(--line-strong);margin-top:4px;padding-top:10px}.tally-line.quota strong,.tally-line.total strong{font-size:var(--t-xl)}.tally-line.total strong{color:#8fd6aa}.tally-line.quota{position:relative}.payday-stamp{font-size:var(--t-lg);letter-spacing:.08em;text-transform:uppercase;color:#8fd6aa;opacity:0;pointer-events:none;border:3px solid;border-radius:10px;padding:6px 14px;font-weight:800;position:absolute;top:2px;right:92px;transform:rotate(-12deg)scale(2.4)}.payday-stamp.down{animation:.36s cubic-bezier(.3,1.6,.5,1) forwards stamp-down}@keyframes stamp-down{0%{opacity:0;transform:rotate(-12deg)scale(2.4)}60%{opacity:1;transform:rotate(-9deg)scale(.92)}to{opacity:.92;transform:rotate(-10deg)scale(1)}}.payday-deal{gap:var(--s4);padding:var(--s5);border-radius:var(--r-xl);opacity:.35;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease-spring);flex-direction:column;display:flex;transform:translate(30px)}.payday.dealing .payday-deal{opacity:1;transform:none}.payday-head{align-items:baseline;gap:var(--s3);display:flex}.payday-head h2{margin:0}.payday-head p{font-size:var(--t-sm);color:var(--text-3);margin:0}.payday-cards{perspective:900px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:250px;display:grid}.pcard{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;--frame:var(--line-strong);--glow:#ffffff14;--tone:#8f8e89;color:var(--text);text-align:left;cursor:default;opacity:0;transition:opacity .26s var(--ease), transform .42s var(--ease-spring);background:0 0;border:0;padding:0;position:relative;transform:translateY(-60px)rotate(-6deg)}.pcard.dealt{opacity:1;transform:none}.pcard.rare{--frame:var(--c-in-2);--glow:#a3b8e473;--tone:var(--c-in)}.pcard.legendary{--frame:var(--gold);--glow:#e6c07a99;--tone:#c89a4c}.pcard-inner{height:100%;min-height:250px;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(calc(var(--ry) + 180deg));transition:transform .52s cubic-bezier(.3,1.3,.4,1);display:block;position:relative}.pcard.up .pcard-inner{transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .14s var(--ease)}.pcard.up{cursor:pointer}.pcard-back,.pcard-face{padding:var(--s4) 18px;border:1.5px solid var(--frame);border-radius:var(--r-lg);backface-visibility:hidden;flex-direction:column;gap:8px;display:flex;position:absolute;inset:0;overflow:hidden}.pcard-back{background:repeating-linear-gradient(45deg,#2e3038 0 10px,#26282f 10px 20px);justify-content:center;align-items:center;transform:rotateY(180deg)}.pcard-logo{width:54px;height:54px;color:var(--text-3);border:2px solid var(--text-3);border-radius:50%;place-items:center;display:grid}.pcard-logo svg{width:26px;height:26px}.pcard-face{box-shadow:var(--shadow), 0 0 0 0 var(--glow);transition:box-shadow var(--dur-med) var(--ease);background:linear-gradient(#2b2c32,#1d1e22)}.pcard.rare .pcard-face{background:linear-gradient(#2b3242,#1d1f26)}.pcard.legendary .pcard-face{background:linear-gradient(#3a3326,#1f1d1a)}.pcard.up .pcard-face{box-shadow:var(--shadow), 0 0 26px 4px var(--glow)}.pcard-shine{background:radial-gradient(circle at var(--mx) var(--my), #ffffff38, transparent 45%), linear-gradient(115deg, transparent 40%, #ffffff14 50%, transparent 60%);mix-blend-mode:screen;pointer-events:none;position:absolute;inset:0}.pcard.legendary .pcard-shine{background:radial-gradient(circle at var(--mx) var(--my), #ffe2a052, transparent 45%), linear-gradient(115deg, transparent 38%, #ffecbe29 50%, transparent 62%)}.pcard.up:hover{animation:card-wiggle .42s var(--ease) 1}.pcard.up:hover .pcard-face{box-shadow:var(--shadow), 0 0 36px 8px var(--glow)}@keyframes card-wiggle{25%{transform:rotate(-2.2deg)translateY(-6px)}60%{transform:rotate(1.6deg)translateY(-6px)}to{transform:translateY(-6px)}}.pcard-face .card-title{font-size:var(--t-lg)}.pcard-face .card-text{font-size:var(--t-sm)}.pcard-take{font-size:var(--t-xs);font-weight:var(--w-bold);text-align:center;color:var(--text-2);background:var(--surface-2);border-radius:var(--r-md);align-self:stretch;margin-top:auto;padding:6px}.payday.done .pcard{opacity:.35;pointer-events:none}.pcard.flying{z-index:50;opacity:1;pointer-events:none;transition:transform .5s cubic-bezier(.5,0,.3,1),opacity .5s ease-in}.pcard.flying .pcard-inner{transform:none}.payday-targets p{font-size:var(--t-sm);margin:0 0 6px}.payday-actions{align-items:center;gap:var(--s2);display:flex}.payday-go{margin-left:auto}.payday-go.ready{animation:nudge-glow 1.4s var(--ease) infinite}@keyframes nudge-glow{50%{box-shadow:0 0 0 4px #ffc65a59}}.upgrade-strip{flex-direction:column;gap:6px;display:flex}.upgrade-chips{flex-wrap:wrap;gap:6px;display:flex}.upgrade-chip{--tone:#8f8e89;font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--text);background:var(--surface-2);border:1.5px solid var(--tone);border-radius:var(--r-pill);cursor:pointer;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:4px 10px}.upgrade-chip.rare{--tone:var(--c-in-2)}.upgrade-chip.legendary{--tone:var(--gold);box-shadow:0 0 10px #e6c07a59}.upgrade-chip.open{background:var(--surface-3)}.upgrade-chip.arriving{opacity:.2;transform:scale(.6)}.upgrade-chip.landed{animation:chip-land .42s var(--ease-spring)}@keyframes chip-land{0%{box-shadow:0 0 0 6px var(--tone);transform:scale(1.5)}}.upgrade-none{font-size:var(--t-xs);color:var(--text-3)}.upgrade-detail{font-size:var(--t-xs);color:var(--text-2);margin:0;line-height:1.5}.setup-upgrades{margin-top:var(--s3)}.pause-upgrades{margin-bottom:var(--s3)}@media (width<=900px){.payday{grid-template-columns:1fr;overflow:auto}}.marquee{--neon:#ffd27a;--neon-deep:#ff9a3c;--board:#2a1c14;--bulb:#fff1c8;pointer-events:none;padding:18px;display:inline-block;position:relative}.marquee.red{--neon:#ff6a5a;--neon-deep:#ff2d3f;--board:#2a1416;--bulb:#ffe0d0}.marquee.gold{--neon:#ffe08a;--neon-deep:#f2b23c;--board:#2a2212;--bulb:#fff6d8}.marquee.violet{--neon:#d6b8ff;--neon-deep:#9a6cff;--board:#1e1630;--bulb:#f1e6ff}.marquee.green{--neon:#a8f0bf;--neon-deep:#4fd28a;--board:#14261c;--bulb:#e6ffef}.marquee-board{background:radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--board) 80%, var(--neon-deep)), var(--board));border:3px solid color-mix(in srgb, var(--neon-deep) 60%, #000);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:18px 34px;display:flex;position:relative;box-shadow:0 14px 40px #00000073,inset 0 0 30px #00000080}.marquee-title{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#fff8ec;text-shadow:0 0 6px var(--neon), 0 0 18px var(--neon-deep), 0 0 34px var(--neon-deep);font-family:Arial Rounded MT Bold,Trebuchet MS,system-ui,sans-serif;font-size:44px;font-weight:800}.marquee-sub{font-size:var(--t-md);font-weight:var(--w-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--neon);text-shadow:0 0 8px var(--neon-deep)}.marquee.small{padding:12px}.marquee.small .marquee-board{padding:10px 22px}.marquee.small .marquee-title{font-size:26px}.marquee.small .marquee-sub{font-size:var(--t-sm)}.marquee-bulbs{position:absolute;inset:10px}.marquee.small .marquee-bulbs{inset:7px}.marquee-bulbs i{background:var(--bulb);width:9px;height:9px;box-shadow:0 0 6px 2px var(--neon), 0 0 14px 3px var(--neon-deep);animation:.9s step-end infinite bulb-chase;animation-delay:calc(var(--k) * -.3s);border-radius:50%;margin:-4.5px 0 0 -4.5px;position:absolute}.marquee.small .marquee-bulbs i{width:7px;height:7px;margin:-3.5px 0 0 -3.5px}@keyframes bulb-chase{0%{opacity:1}33%{opacity:.25;box-shadow:none}}.marquee.on{animation:.9s linear both marquee-on}.marquee.on .marquee-title{animation:.9s linear both neon-flicker}.marquee.off{opacity:0;transition:opacity .36s var(--ease), transform .36s var(--ease);transform:translateY(-14px)scale(.96)}@keyframes marquee-on{0%{opacity:0;transform:scale(.92)}8%{opacity:1}12%{opacity:.3}20%{opacity:1;transform:scale(1.02)}30%,to{opacity:1;transform:none}}@keyframes neon-flicker{0%,10%{opacity:.15}14%{opacity:1}18%{opacity:.25}26%{opacity:1}32%{opacity:.5}40%,to{opacity:1}}html.reduce-motion .marquee-bulbs i,html.reduce-motion .marquee.on,html.reduce-motion .marquee.on .marquee-title{animation:none}.moment-host{pointer-events:none;zoom:var(--ui-scale);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%)}.day-card{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow);animation:rise-in var(--dur-slow) var(--ease);transition:opacity .4s var(--ease), transform .4s var(--ease);align-items:baseline;gap:10px;margin-top:14px;padding:8px 18px;display:flex}.day-card b{font-size:var(--t-lg);font-weight:var(--w-bold);letter-spacing:-.02em;color:#f3d9a6}.day-card.zen b{color:var(--good-2)}.day-card span{font-size:var(--t-sm);color:var(--text-2)}.day-card.off{opacity:0;transform:translateY(-6px)}.sign-hit{cursor:pointer;pointer-events:auto;transition:box-shadow var(--t-fast,.16s) var(--ease);background:0 0;border:0;border-radius:14px;padding:0;position:absolute}.sign-hit:focus-visible{outline-offset:4px;outline:2px solid #ffe2adcc}.sign-pill{display:none}.sign-hit.docked{width:auto;height:auto;bottom:28px;left:50%;transform:translate(-50%)}.sign-hit.docked .sign-pill{color:#fff1d8;transition:transform .16s var(--ease), filter .16s var(--ease);background:#56806c;border:3px solid #2e2a27;border-radius:12px;align-items:center;gap:10px;padding:10px 18px 10px 14px;display:flex;box-shadow:0 8px 18px #0000004d,inset 0 0 0 2px #ffe2ad59}.sign-hit.docked:hover .sign-pill{filter:brightness(1.12);transform:translateY(-2px)}.sign-hit.pressed .sign-pill{transform:translateY(2px)}.sign-pill b{font-size:var(--t-md);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 0 10px #ffb25ab3;font-weight:800}.sign-pill i{font-size:var(--t-xs);color:#fff1d8cc;border:1px solid #fff1d866;border-radius:6px;padding:1px 6px;font-style:normal}.sign-pill-bulb{background:#ffe2ad;border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite sign-bulb;box-shadow:0 0 8px 2px #ffc478cc}@keyframes sign-bulb{50%{opacity:.45}}.sign-caption{font-size:var(--t-xs);color:var(--text-2);white-space:nowrap;background:var(--surface);border-radius:var(--r-pill);pointer-events:none;margin:0;padding:3px 10px;position:absolute;transform:translate(-50%)}.sign-caption.warn{color:#e6bf6a}.sign-caption.docked{top:auto;bottom:8px}.summary-signs{flex-wrap:wrap;justify-content:center;gap:4px;margin:-6px 0 2px;display:flex}.summary-signs .marquee:nth-child(2).on,.summary-signs .marquee:nth-child(2).on .marquee-title{animation-delay:.7s}.summary-signs~#summary-title{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.howto{z-index:30}.howto-card{width:min(520px,100% - 32px);max-height:calc(100% - 32px);padding:var(--s4) var(--s5) var(--s5);text-align:center;border-radius:var(--r-xl);background:var(--surface-solid);flex-direction:column;align-items:center;display:flex;overflow-y:auto}.howto-head{justify-content:space-between;align-self:stretch;align-items:center;display:flex}.howto-count{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;color:var(--text-3)}.howto-visual{height:210px;margin:var(--s2) 0 var(--s4);background:radial-gradient(80% 90% at 50% 60%, color-mix(in srgb, var(--c-in) 16%, var(--surface-2)), var(--surface-2));border-radius:var(--r-lg);align-self:stretch;place-items:center;display:grid;overflow:hidden}.howto-visual.enter>*{animation:rise-in var(--dur-slow) var(--ease) both}.howto-card h2{font-size:var(--t-xl);margin:0}.howto-text{max-width:34ch;min-height:3em;margin:var(--s2) 0 var(--s4);font-size:var(--t-md);color:var(--text-2);line-height:1.5}.howto-dots{margin-bottom:var(--s4);gap:6px;display:flex}.howto-dots button{background:var(--surface-3);border-radius:var(--r-pill);cursor:pointer;width:8px;height:8px;transition:width var(--dur-med) var(--ease), background var(--dur-med);border:none;padding:0}.howto-dots button.on{background:var(--pill);width:22px}.howto-nav{gap:var(--s2);justify-content:center;align-self:stretch;display:flex}.howto-nav .button{min-width:120px}.howto-replay{margin-top:var(--s3);font-size:var(--t-xs);color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:2px 6px;text-decoration:underline}.keycap{min-width:38px;height:38px;font:var(--w-bold) var(--t-md) / 1 var(--font);color:var(--text);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));border:1px solid var(--line-strong);border-bottom-width:4px;border-radius:9px;place-items:center;padding:0 10px;display:inline-grid;box-shadow:0 6px 12px -6px #0009}.keycap.wide{min-width:150px}.howto-visual small{font-size:var(--t-xs);color:var(--text-3);margin-top:6px;display:block}.howto-visual svg{width:26px;height:26px}.hv-road{width:100%;height:100%;position:relative}.hv-lane{background:repeating-linear-gradient(90deg,#0000 0 22px,#ffffff40 22px 38px) 50%/100% 2px no-repeat,#45464d;height:34px;position:absolute;top:58%;left:-10%;right:-10%;transform:rotate(-12deg)}.hv-truck{width:128px;animation:6s linear infinite hv-drive;animation-delay:calc(var(--i) * -2s);position:absolute;top:34%;left:0}@keyframes hv-drive{0%{transform:translate(-140px,40px)}to{transform:translate(560px,-60px)}}.hv-offer{font-size:var(--t-sm);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:8px 12px;animation:2s ease-in-out infinite pulse-soft;position:absolute;top:14px;right:14px}.hv-keys{align-items:center;gap:var(--s4);display:flex;position:relative}.hv-wasd{grid-template-columns:repeat(3,38px);gap:5px;display:grid}.hv-wasd .keycap:first-of-type{animation:2.4s infinite hv-press}.hv-wasd .keycap:nth-of-type(4){animation:2.4s 1.2s infinite hv-press}@keyframes hv-press{0%,30%,to{border-bottom-width:4px;transform:none}10%,20%{background:var(--surface-3);border-bottom-width:1px;transform:translateY(3px)}}.hv-plus{font-size:var(--t-xl);color:var(--text-3)}.hv-use .keycap{animation:1.8s .6s infinite hv-press}.hv-kart{display:none}.hv-drag{width:280px;height:150px;position:relative}.hv-arc{fill:none;width:auto;height:auto;stroke:var(--text-3);stroke-width:2px;stroke-dasharray:5 6;position:absolute;inset:20px 30px 30px}.hv-drag svg.hv-arc{width:calc(100% - 60px);height:calc(100% - 50px)}.hv-dock,.hv-machine{border-radius:30%;place-items:center;width:58px;height:58px;display:grid;position:absolute}.hv-dock{color:#fff;background:var(--c-in);animation:3s infinite hv-glow;bottom:18px;right:6px}.hv-dock small{white-space:nowrap;position:absolute;top:100%}.hv-machine{color:#3a2b10;background:var(--warn);box-shadow:var(--shadow-sm);animation:hv-carry 3s var(--ease) infinite;bottom:18px;left:6px}.hv-hand{color:var(--text);position:absolute;bottom:-10px;right:-10px;transform:rotate(-120deg)}.hv-hand svg{width:18px;height:18px}@keyframes hv-carry{0%,10%{transform:none}45%{transform:translate(110px,-70px)rotate(-6deg)}75%,85%{opacity:1;transform:translate(214px)scale(.92)}to{opacity:0;transform:translate(214px)scale(.92)}}@keyframes hv-glow{0%,60%,to{box-shadow:0 0 #0000}75%{box-shadow:0 0 0 8px color-mix(in srgb, var(--c-in) 40%, transparent)}}.hv-flow{padding:0 var(--s2);align-items:flex-start;gap:2px;display:flex;position:relative}.hv-step{width:92px;animation:rise-in var(--dur-slow) var(--ease) both;animation-delay:calc(var(--i) * .12s);flex-direction:column;align-items:center;display:flex}.hv-step b{font-size:var(--t-sm);margin-top:6px}.hv-step small{margin-top:1px}.hv-node{z-index:1;color:#fff;width:54px;height:54px;box-shadow:var(--shadow-sm);border-radius:30%;place-items:center;display:grid;position:relative}.hv-step.s0 .hv-node{background:var(--c-in)}.hv-step.s1 .hv-node{background:var(--good)}.hv-step.s2 .hv-node{background:var(--c-haz)}.hv-step.s3 .hv-node{background:var(--c-out)}.hv-arrow{background:var(--text-3);width:18px;height:2px;margin-top:26px;position:relative}.hv-arrow:after{content:"";border:5px solid #0000;border-left-color:var(--text-3);border-right:none;position:absolute;top:-4px;right:-2px}.hv-pallet{background:#c9a26b;border-radius:3px;width:16px;height:12px;animation:4s linear infinite hv-flow;position:absolute;top:20px;left:30px;box-shadow:0 2px #8a6a3c}@keyframes hv-flow{0%{transform:translate(0)}to{transform:translate(330px)}}.hv-quota{align-items:center;gap:var(--s4);width:82%;display:flex}.hv-clock{flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative}.hv-clock svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.hv-clock circle{fill:none;stroke-width:4px}.hv-clock .track{stroke:var(--surface-3)}.hv-clock .fill{stroke:var(--text-2);stroke-dasharray:100.5;animation:5s linear infinite hv-clock}@keyframes hv-clock{0%{stroke-dashoffset:0}to{stroke-dashoffset:100.5px}}.hv-clock b{font-size:var(--t-sm)}.hv-bar{background:var(--surface-3);border-radius:var(--r-pill);flex:1;height:14px;position:relative}.hv-fill{background:var(--good);border-radius:var(--r-pill);animation:hv-earn 5s var(--ease) infinite;position:absolute;inset:0 auto 0 0}@keyframes hv-earn{0%{width:4%}to{width:100%}}.hv-pace{background:var(--text);width:2px;animation:5s linear infinite hv-mark;position:absolute;top:-5px;bottom:-5px}@keyframes hv-mark{0%{left:10%}to{left:98%}}.hv-bar small{position:absolute;top:18px;left:0}.hv-bar small.right{left:auto;right:0}.hv-payday{align-items:center;gap:10px;display:flex}.hv-card{color:#3a2b10;background:linear-gradient(160deg, #f3dfa9, var(--gold));width:54px;height:76px;box-shadow:var(--shadow-sm);animation:hv-flip 4s var(--ease) infinite;border-radius:10px;place-items:center;display:grid}.hv-card.c1{color:#fff;background:linear-gradient(160deg, #b8a5e6, var(--c-haz));animation-delay:.2s}.hv-card.c2{color:#fff;background:linear-gradient(160deg, #a9d8bd, var(--good));animation-delay:.4s}@keyframes hv-flip{0%,15%{filter:brightness(.4);transform:rotateY(180deg)}35%,to{filter:none;transform:none}}.hv-then{color:var(--text-3)}.hv-shop{color:#fff;background:var(--c-out);border-radius:30%;place-items:center;width:70px;height:70px;display:grid}.hv-shop small{color:#fff;margin-top:0}.hv-breath{align-items:flex-end;gap:var(--s5);display:flex}.hv-breath .keycap.wide{animation:2.6s infinite hv-press}.hv-learn{align-items:center;gap:var(--s4);display:flex;position:relative}.hv-tip{max-width:240px;font-size:var(--t-sm);text-align:left;color:var(--text);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow);align-items:center;gap:8px;padding:10px 14px;animation:3s ease-in-out infinite hv-bob;display:flex}@keyframes hv-bob{50%{transform:translateY(-6px)}}.hv-book{color:#3a2b10;background:var(--gold);border-radius:30%;place-items:center;width:58px;height:58px;display:grid}@media (width<=520px){.hv-flow{justify-content:center;row-gap:var(--s3);flex-wrap:wrap;max-width:260px}.hv-flow .hv-arrow.a2,.hv-pallet{display:none}.hv-step{width:100px}}@media (height<=620px){.howto-visual{height:140px;margin-bottom:var(--s2)}.howto-text{min-height:0;margin-bottom:var(--s2)}}.zenbar{top:var(--gutter);left:var(--gutter);align-items:center;gap:var(--s4);padding:8px 8px 8px var(--s4);border-radius:var(--r-pill);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);zoom:var(--ui-scale);display:flex;position:absolute;transform:translateY(-10px)}.zenbar.is-open{opacity:1;transform:none}.zen-mark{color:#a8e0bf;align-items:center;gap:6px;display:inline-flex}.zen-mark svg{width:16px;height:16px}.zen-cell{flex-direction:column;display:flex}.zen-cell strong{font-size:var(--t-lg);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}html.zen-mode .radio{top:var(--gutter);width:360px;bottom:auto;left:50%;right:auto;transform:translate(-50%)}html.zen-mode .radio.shown{transform:translate(-50%)}html.zen-mode .radio .radio-call{font-size:var(--t-md)}.pause:not(.zen) .zen-only,.pause.zen .not-zen{display:none}.zen-settings{z-index:30}.zen-card{width:min(480px,100% - 32px);padding:var(--s5);border-radius:var(--r-xl)}.tb-storage.slim .tb-meter{grid-template-columns:30px 34px}.ability.compact{min-width:0;padding-right:var(--s3);opacity:.75;grid-template-columns:auto auto}.ability.compact .ability-label{display:none}.ability.compact .ability-status{grid-row:1/3}.ability[hidden]{display:none}.crew.compact:not(:hover):not(.open){width:176px;padding:8px}.crew.compact:not(:hover):not(.open) .crew-hint,.crew.compact:not(:hover):not(.open) .crew-title,.crew.compact:not(:hover):not(.open):not(.has-gap) .crew-pipe,.crew.compact:not(:hover):not(.open) .crew-pipe-step small,.crew.compact:not(:hover):not(.open) .crew-pipe-arrow,.crew.compact:not(:hover):not(.open) .crew-role{display:none}.crew.compact:not(:hover):not(.open) .crew-list{gap:4px}.crew.compact:not(:hover):not(.open) .crew-card{padding:4px 8px 5px 6px}.crew.compact:not(:hover):not(.open) .crew-card:not([data-tone=idle]):not([data-tone=alert]) .crew-status{display:none}.crew.compact:not(:hover):not(.open) .crew-boss{margin-bottom:6px;padding:4px 8px}.radio.compact:not(:hover):not(.open){width:auto;max-width:220px;padding:6px 12px}.radio.compact:not(:hover):not(.open) .radio-tune,.radio.compact:not(:hover):not(.open) .radio-side,.radio.compact:not(:hover):not(.open) .radio-dial,.radio.compact:not(:hover):not(.open) .radio-name{display:none}.tip-foot{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:4px;display:flex}.tip-foot .tip-hint{margin-top:0}.tip-skip{font-size:var(--t-xs);color:var(--text-3);text-underline-offset:2px;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;text-decoration:underline}.tip-skip:hover{color:var(--text)}.alert-card{top:calc(var(--gutter) + 168px);max-width:min(560px,100vw - 32px);font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text);background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--r-pill);box-shadow:var(--shadow);pointer-events:none;z-index:6;align-items:center;gap:10px;padding:8px 16px 8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.alert-card.in{animation:alert-in .36s var(--ease-spring) both}@keyframes alert-in{0%{opacity:0;transform:translate(-50%,-8px)}}.alert-icon{width:26px;height:26px;color:var(--warn-2);background:var(--surface-3);border-radius:50%;place-items:center;display:grid}.alert-icon svg{width:16px;height:16px}.alert-card[data-urgent=false] .alert-icon{color:var(--text-2)}.pack-hint{max-width:300px;font-size:var(--t-xs);color:var(--text);background:var(--surface-solid);border:1px solid color-mix(in srgb, var(--c-out) 45%, transparent);border-radius:var(--r-md);box-shadow:var(--shadow);pointer-events:none;will-change:transform;padding:8px 12px;line-height:1.45;position:absolute;top:0;left:0}.pack-hint-head{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.pack-hint-head b{font-size:var(--t-sm);color:var(--c-out-2);letter-spacing:.04em;text-transform:uppercase}.pack-hint-now{color:var(--text-3)}.pack-hint-steps{margin:6px 0 0;padding-left:18px;display:none}.pack-hint-steps li+li{margin-top:3px}.pack-hint i.out{color:var(--c-out-2);font-style:normal}.pack-hint-line{color:var(--text-2);margin:4px 0 0}.pack-hint.full .pack-hint-steps{display:block}.pack-hint.full .pack-hint-line{display:none}.pack-hint kbd.bounce{animation:key-bounce 1.1s var(--ease) infinite;display:inline-block}@keyframes key-bounce{0%,60%,to{transform:none}30%{transform:translateY(-3px);box-shadow:0 0 10px #ffd28c99}}.payday-ff{margin:var(--s2) 0 0;font-size:var(--t-xs);color:var(--text-3);opacity:0;transition:opacity var(--dur-med)}.payday.counting .payday-ff{opacity:1}.payday.counting .payday-tally{cursor:pointer}.tb-quota-track{position:relative}.tb-quota-pace{background:var(--text-2);opacity:.7;border-radius:1px;width:2px;margin-left:-1px;transition:left .6s linear;position:absolute;top:-1px;bottom:-1px}.tb-quota.behind .tb-quota-fill{background:linear-gradient(90deg, var(--warn), var(--warn-2))}.tb-quota.behind .tb-quota-earned{color:var(--warn-2)}.pace-hint{bottom:calc(var(--gutter) + 34px);max-width:420px;font-size:var(--t-sm);color:var(--text);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow);pointer-events:none;transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);align-items:center;gap:8px;padding:6px 14px 6px 8px;display:flex;position:absolute;left:50%;translate:-50%}.pace-hint[hidden]{opacity:0;visibility:hidden;display:flex;transform:translateY(-6px)}.pace-hint-dot{background:var(--warn-2);border-radius:50%;flex:none;width:8px;height:8px}.pace-hint[data-tone=calm] .pace-hint-dot{background:var(--c-in-2)}.assist{left:50%;bottom:calc(var(--gutter) + 40px);width:min(520px,100vw - 32px);padding:var(--s4);color:var(--text);background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:rise-in var(--dur-slow) var(--ease-spring);z-index:7;position:absolute;transform:translate(-50%)}.assist h3{font-size:var(--t-md);margin:0 0 2px}.assist p{margin:0 0 var(--s3);font-size:var(--t-sm);color:var(--text-2)}.assist-options{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.assist-option{text-align:left;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast);flex-direction:column;gap:2px;padding:10px;display:flex}.assist-option:hover{background:var(--surface-3);transform:translateY(-2px)}.assist-option b{font-size:var(--t-sm)}.assist-option span{font-size:var(--t-xs);color:var(--text-3)}.assist-foot{margin-top:var(--s3);font-size:var(--t-xs);color:var(--text-3);justify-content:space-between;align-items:center;display:flex}.assist:not([hidden])~.pace-hint{visibility:hidden}.dev-menu{top:var(--gutter);z-index:60;width:min(640px,100vw - 32px);max-height:calc(100vh - 32px);padding:var(--s3) var(--s4) var(--s4);color:var(--text);border-radius:var(--r-lg);pointer-events:auto;position:absolute;left:50%;overflow:auto;transform:translate(-50%)}.dev-head{align-items:center;gap:var(--s3);margin-bottom:var(--s2);display:flex}.dev-head b{font-size:var(--t-md)}.dev-note{font-size:var(--t-xs);color:var(--warn-2);flex:1}.dev-menu section+section{margin-top:var(--s3)}.dev-menu h4{font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 6px}.dev-row{flex-wrap:wrap;gap:6px;display:flex}.dev-row+.dev-row{margin-top:6px}.dev-menu select{font:inherit;font-size:var(--t-sm);color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 8px}.chip.lull{color:var(--text-2);background:color-mix(in srgb, var(--c-in) 14%, var(--surface))}.planning{pointer-events:none;z-index:4;position:absolute;inset:0;box-shadow:inset 0 0 140px 30px #1e202c52}.planning-card{top:calc(var(--gutter) + 120px);align-items:center;gap:var(--s3);color:var(--text);background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);pointer-events:auto;animation:rise-in var(--dur-med) var(--ease-spring);padding:10px 12px 10px 16px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.planning-mark{border-left:3px solid var(--text-2);border-right:3px solid var(--text-2);width:10px;height:22px}.planning-text{flex-direction:column;max-width:330px;display:flex}.planning-text b{font-size:var(--t-md)}.planning-text span{font-size:var(--t-xs);color:var(--text-2)}body.planning-on canvas{filter:saturate(.7)brightness(.96);transition:filter var(--dur-med) var(--ease)}.tb-shift.warm .tb-ring-fill{stroke:var(--warn-2)}.attn.ring-calm .attn-fill{stroke:var(--text-3)}.popup.cheer{text-shadow:0 0 12px #7fc29f8c;font-size:17px}.popup.cheer small{font-size:11px;font-weight:var(--w-strong);opacity:.85}.popup.missed{font-size:12px;font-weight:var(--w-strong);color:var(--text-3)}.offer-note{font-size:var(--t-xs);color:var(--text-3);margin-top:2px}.tickets{right:var(--gutter);width:var(--offers-width);pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute}.ticket{font-size:var(--t-xs);color:var(--text-2);background:var(--surface);border:1px dashed color-mix(in srgb, var(--c-out) 55%, transparent);border-radius:var(--r-md);flex-direction:column;gap:2px;padding:7px 12px;display:flex}.ticket.ready{border-style:solid;border-color:color-mix(in srgb, var(--good) 60%, transparent)}.ticket-head,.ticket-foot{justify-content:space-between;gap:var(--s2);display:flex}.ticket-head b{color:var(--c-out-2);letter-spacing:.06em;text-transform:uppercase}.ticket-what{font-size:var(--t-sm);color:var(--text);align-items:center;gap:6px;display:flex}.ticket-what i{background:var(--c-in-2);border-radius:2px;width:9px;height:9px}.ticket-what i.c-fragile{background:#e8838a}.ticket-what i.c-cold{background:var(--c-cold-2)}.ticket.ready .ticket-staged{color:var(--good-2)}.town-forecast{font-size:var(--t-sm);color:var(--text);grid-column:1/-1;margin:0}.action-button{right:calc(var(--gutter) + env(safe-area-inset-right));bottom:calc(var(--gutter) + 76px + env(safe-area-inset-bottom));z-index:7;width:104px;height:104px;font:var(--w-bold) var(--t-lg) / 1 var(--font);color:var(--pill-ink);background:radial-gradient(circle at 50% 35%, #fff, var(--pill) 70%);touch-action:none;-webkit-user-select:none;user-select:none;animation:pop-in var(--dur-med) var(--ease-spring);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 10px 26px -8px #0009,0 0 0 4px #ffffff1f}.action-button svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.action-button .ring-track{fill:none;stroke:#0000;stroke-width:6px}.action-button .ring-fill{fill:none;stroke:var(--good);stroke-width:6px;stroke-linecap:round}.action-button.pressed{transform:scale(.93);box-shadow:0 4px 12px -4px #0009,0 0 0 8px #e6c07a59}.action-button.urgent{background:radial-gradient(circle at 50% 35%, #ffe0b0, var(--alert-2) 70%)}.action-button.blocked{color:var(--text-2);background:var(--surface-3)}.touch-stick{left:calc(var(--gutter) + 210px + env(safe-area-inset-left));bottom:calc(var(--gutter) + env(safe-area-inset-bottom));z-index:7;touch-action:none;background:#1e1f2459;border:2px solid #ffffff2e;border-radius:50%;place-items:center;width:140px;height:140px;display:grid;position:fixed}.touch-knob{background:var(--pill);pointer-events:none;border-radius:50%;width:58px;height:58px;box-shadow:0 6px 14px -4px #0009}.tap-ripple{z-index:40;pointer-events:none;width:64px;height:64px;animation:tap-ripple .55s var(--ease) forwards;border:3px solid #fff;border-radius:50%;margin:-32px 0 0 -32px;position:fixed}.tap-ripple.lift{border-color:var(--gold)}.tap-ripple.drop{border-color:var(--c-in-2)}@keyframes tap-ripple{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}.mg-touch{display:none}body.touch .mg-touch{justify-content:center;gap:var(--s3);margin-top:var(--s3);display:flex}body.touch .minigame .mg-card[data-stage=ready] .mg-touch{display:none}.mg-tb{min-width:72px;height:64px;font:var(--w-bold) var(--t-lg) / 1 var(--font);color:var(--text);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-md);touch-action:none;-webkit-user-select:none;user-select:none;border-bottom-width:4px}.mg-tb.wide{min-width:140px;color:var(--pill-ink);background:var(--pill)}.mg-tb.pressed{border-bottom-width:1px;transform:translateY(3px)}.mg-card:not(.two-way) .mg-tb:not(.wide){display:none}body.touch{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body.touch :is(input,textarea){-webkit-user-select:text;user-select:text}body.touch .prompt{display:none!important}body.touch :is(.button,.icon-button,.segmented button,.offer-accept,.offer-decline,.start-mode,.tut-skip,.howto-replay,.start-rules-toggle,.board-scope button,.radio button,.tb-pause,.ability,.mg-skip,.mg-ready-foot){min-height:44px}body.touch :is(.icon-button,.offer-decline,.tb-pause){min-width:44px}body.touch .start-tools .icon-button{width:44px;height:44px}body.touch .start-tools .icon-button.labelled{width:auto;padding:0 12px 0 10px}body.touch .season-dot{width:30px;height:30px}body.touch .howto-dots button{width:14px;height:14px}body.touch .howto-dots button.on{width:30px}body.touch .crew-card{min-height:52px}body.touch .crew-title,body.touch .crew-boss{cursor:pointer;min-height:40px}body.touch .abilities{right:calc(var(--gutter) + env(safe-area-inset-right))}:root{--gutter:max(14px, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px), env(safe-area-inset-top,0px))}.phone-landing{z-index:100;justify-content:safe center;align-items:center;gap:var(--s4);padding:max(var(--s5), env(safe-area-inset-top)) var(--s4) max(var(--s5), env(safe-area-inset-bottom));color:var(--text);background:linear-gradient(180deg, var(--sky-top), var(--sky-bottom));-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.pl-brand{align-items:center;gap:var(--s2);background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding:6px 16px 6px 6px;display:flex}.pl-brand h1{font-size:var(--t-xl);font-weight:var(--w-bold);letter-spacing:-.02em;margin:0}.pl-tag{max-width:340px;font-size:var(--t-md);color:#2d3038;text-align:center;margin:0;line-height:1.45}.pl-clip{aspect-ratio:16/10;border-radius:var(--r-lg);width:min(100%,560px);box-shadow:var(--shadow);background:#c9d3dc;overflow:hidden}.pl-clip video{object-fit:cover;width:100%;height:100%;display:block}.pl-card{align-items:center;gap:var(--s2);width:min(100%,420px);padding:var(--s4) var(--s4) var(--s4);text-align:center;border-radius:var(--r-xl);flex-direction:column;display:flex}.pl-card h2{font-size:var(--t-lg);margin:0}.pl-card p{font-size:var(--t-md);color:var(--text-2);margin:0;line-height:1.45}.pl-url{margin-top:var(--s1);font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text);background:var(--surface-2);border-radius:var(--r-sm);-webkit-user-select:all;user-select:all;padding:6px 12px}.pl-buttons{justify-content:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.pl-buttons .button{align-items:center;gap:6px;min-height:44px;display:inline-flex}.pl-anyway{padding:var(--s2);font-size:var(--t-sm);color:#3a3e48;background:0 0;border:none;text-decoration:underline}.hv-finger{flex-direction:column;align-items:center;display:flex}.hv-finger i{border:3px solid var(--text);border-radius:50%;width:46px;height:46px;animation:1.6s ease-in-out infinite hv-tap}@keyframes hv-tap{0%,60%,to{transform:scale(1);box-shadow:0 0 #fff6}20%{transform:scale(.82);box-shadow:0 0 0 14px #fff0}}.hv-action,.pad-chip{font-weight:var(--w-bold);color:var(--pill-ink);background:var(--pill);border-radius:50%;place-items:center;display:inline-grid}.hv-action{width:74px;height:74px;font-size:var(--t-lg)}.pad-chip{min-width:26px;font-size:var(--t-sm);border-radius:var(--r-pill);padding:2px 9px}.setup-placing{gap:var(--s2);align-items:stretch;display:flex}.setup-placing .shop-item{flex:1}.helpcard-card{width:min(560px,100%);max-height:100%;padding:var(--s5);border-radius:var(--r-xl);background:var(--surface-solid);transition:transform var(--dur-slow) var(--ease);flex-direction:column;display:flex;overflow-y:auto;transform:translateY(10px)}.helpcard.is-open .helpcard-card{transform:none}.helpcard-head{align-items:center;gap:var(--s3);display:flex}.helpcard-head h2{font-size:var(--t-2xl);font-weight:var(--w-bold);letter-spacing:-.03em;margin:0}.helpcard-paused{font-size:var(--t-xs);font-weight:var(--w-strong);color:var(--text-2);background:var(--surface-2);border-radius:var(--r-pill);margin-right:auto;padding:3px 10px}.helpcard-card h3{margin:var(--s4) 0 var(--s2);font-size:var(--t-xs);font-weight:var(--w-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.helpcard-now{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.helpcard-now li{font-size:var(--t-sm);background:var(--surface-2);border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:9px 12px;line-height:1.4;display:flex}.helpcard-icon{width:22px;height:22px;color:var(--alert);flex:none;place-items:center;display:grid}.helpcard-icon svg{width:18px;height:18px}.helpcard-faq{gap:var(--s2) var(--s4);grid-template-columns:1fr 1fr;margin:0;display:grid}.helpcard-faq dt{font-size:var(--t-sm);font-weight:var(--w-strong)}.helpcard-faq dd{font-size:var(--t-xs);color:var(--text-2);margin:2px 0 0;line-height:1.45}.helpcard-actions{gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;display:flex}.helpcard-actions svg{width:15px;height:15px;margin-right:5px}@media (width<=560px){.helpcard-faq{grid-template-columns:1fr}}.help-corner{top:var(--gutter);right:var(--gutter);z-index:6;pointer-events:auto;position:absolute}body.previewing .overlay>:not(.preview-bar):not(.preview-hint){visibility:hidden!important}.preview-bar{left:50%;bottom:var(--gutter);z-index:40;align-items:center;gap:var(--s3);max-width:calc(100% - 2 * var(--gutter));border-radius:var(--r-pill);pointer-events:auto;animation:rise-in var(--dur-slow) var(--ease);transition:transform var(--dur-slow) var(--ease), opacity var(--dur-med);zoom:var(--ui-scale);padding:8px 10px 8px 16px;display:flex;position:absolute;transform:translate(-50%)}.preview-bar.tucked{opacity:0;pointer-events:none;transform:translate(-50%,140%)}.preview-mark{font-size:var(--t-sm);align-items:center;gap:6px;display:inline-flex}.preview-mark svg{width:18px;height:18px;color:var(--c-in-2)}.preview-time{font-size:var(--t-xs);color:var(--text-3);align-items:center;gap:8px;display:flex}.preview-time input{accent-color:#f3d9a6;width:150px}.preview-time output{min-width:74px;font-size:var(--t-sm);font-weight:var(--w-strong);color:var(--text)}.preview-seasons{gap:6px;display:flex}.preview-snap svg{width:15px;height:15px;margin-right:5px}.preview-hint{left:50%;bottom:var(--gutter);z-index:40;font-size:var(--t-xs);color:var(--text-2);border-radius:var(--r-pill);pointer-events:none;animation:fade-in .6s var(--ease) 1.2s both;background:#18191c8c;margin:0;padding:6px 14px;position:absolute;transform:translate(-50%)}@media (width<=760px){.preview-bar{border-radius:var(--r-lg);flex-wrap:wrap;justify-content:center}}body.yardshop-open :is(.town-bar,.town-progress,.town-hint,.town-shop,.town-signs,.help-corner,.radio,.talk-prompt){visibility:hidden}.town-progress{top:var(--gutter);left:var(--gutter);align-items:center;gap:var(--s3);width:min(300px,100% - 32px);padding:var(--s3) var(--s4) var(--s3) var(--s3);border-radius:var(--r-xl);opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);display:flex;position:absolute;transform:translateY(-12px)}.town-progress.is-open{opacity:1;transform:none}.town-progress-fund{font-size:var(--t-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.town-progress>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.town-progress strong{font-size:var(--t-md);font-weight:var(--w-bold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.town-progress-icon{color:#fff;background:#6f9a8c;border-radius:30%;flex:none;place-items:center;width:34px;height:34px;display:grid}.town-progress-icon svg{width:19px;height:19px}.town-progress-bar,.project-bar{border-radius:var(--r-pill);background:var(--surface-3);height:5px;display:block;overflow:hidden}.town-progress-bar i,.project-bar i{background:var(--good);border-radius:inherit;height:100%;transition:width var(--dur-slow) var(--ease);display:block}.town-progress.ready .town-progress-icon{background:var(--good);animation:pulse-ready 1.6s var(--ease) infinite}@keyframes pulse-ready{50%{box-shadow:0 0 0 6px #7fc29f40}}.town-sign.board{--tone:#6f9a8c}.town-sign.closed{opacity:.72}.town-sign.closed .town-sign-icon{background:#7a756c}.town-sign:not(.close-by):not(.near){scale:.9}.town-shop-head[data-shop=board] .town-shop-icon{background:#6f9a8c}.fund-total{padding:var(--s3) var(--s4);margin-bottom:var(--s3);background:var(--surface-2);border-radius:var(--r-lg);flex-direction:column;gap:2px;display:flex}.fund-total strong{font-size:var(--t-2xl);font-weight:var(--w-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.fund-total .town-note{margin:2px 0 0}.project.next{padding:var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-lg);flex-direction:column;gap:6px;display:flex}.project.next h3{font-size:var(--t-lg);letter-spacing:-.01em;text-transform:none;color:var(--text);margin:0}.project-blurb,.project-brings{font-size:var(--t-sm);color:var(--text-2);margin:0}.project-brings{color:var(--good-2);font-weight:var(--w-strong)}.project-foot{align-items:center;gap:var(--s2);display:flex}.project-foot .project-bar{flex:1}.project-cost{font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--text-2)}.project.next .button{align-self:flex-start;margin-top:4px}.project-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.project-list li{align-items:center;gap:var(--s2);font-size:var(--t-sm);color:var(--text-3);border-radius:var(--r-sm);padding:5px 8px;display:flex}.project-list li.done{color:var(--text-2)}.project-list li.next{color:var(--text);background:var(--surface-2)}.project-tick{width:16px;height:16px;color:var(--good);flex:none;place-items:center;display:grid}.project-tick svg{width:14px;height:14px}.project-name{flex:1}.project-price{font-variant-numeric:tabular-nums}.dialogue{left:50%;bottom:calc(var(--s5) + 40px);gap:var(--s2);width:min(560px,100% - 32px);padding:var(--s4) var(--s5);border-radius:var(--r-xl);cursor:pointer;opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-slow) var(--ease);zoom:var(--ui-scale);z-index:40;flex-direction:column;display:flex;position:absolute;transform:translate(-50%,14px)}.dialogue.is-open{opacity:1;transform:translate(-50%)}.dialogue-head{align-items:center;gap:var(--s2);display:flex}.dialogue-head[hidden]{display:none}.dialogue-avatar{color:#fff;background:#6f9a8c;border-radius:30%;place-items:center;width:32px;height:32px;display:grid}.dialogue-avatar svg{width:18px;height:18px}.dialogue-head>div{flex-direction:column;line-height:1.2;display:flex}.dialogue-name{font-size:var(--t-md);font-weight:var(--w-bold)}.dialogue-job{font-size:var(--t-xs);color:var(--text-3)}.dialogue-text{font-size:var(--t-lg);min-height:2.9em;margin:0;line-height:1.45}.dialogue-text.typing{animation:.5s steps(24,end) both dialogue-type}@keyframes dialogue-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}:root.reduce-motion .dialogue-text.typing{animation:none}.dialogue-foot{align-items:center;gap:var(--s2);margin-top:4px;display:flex}.dialogue-dots{gap:5px;margin-right:auto;display:flex}.dialogue-dots i{background:var(--surface-3);border-radius:50%;width:6px;height:6px}.dialogue-dots i.on{background:var(--text-2)}.dialogue-buttons{gap:var(--s2);display:flex}.talk-prompt{font:var(--w-strong) var(--t-sm) / 1.2 var(--font);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer;zoom:var(--ui-scale);animation:sign-pop var(--dur-med) var(--ease-spring);align-items:center;gap:6px;padding:5px 12px 5px 6px;display:inline-flex;position:absolute;top:0;left:0}.talk-prompt kbd{font:var(--w-bold) var(--t-xs) / 1.6 var(--font);color:var(--pill-ink);background:var(--pill);border-radius:6px;padding:1px 6px}.talk-prompt[hidden]{display:none}.tally-line.fund strong{color:var(--good-2)}.summary-town{margin-top:var(--s2);padding:var(--s2) var(--s3);font-size:var(--t-md);font-weight:var(--w-strong);color:var(--good-2);border-radius:var(--r-md);background:#7fc29f24;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.summary-town[hidden]{display:none}.summary-town svg{width:16px;height:16px}.summary-town span{font-weight:var(--w-normal);color:var(--text-2)}.start-town{font-size:var(--t-xs);color:var(--text-2);align-items:center;gap:6px;margin:4px 0 0;display:flex}.start-town svg{width:14px;height:14px;color:var(--good);flex:none}.chip.favour{color:#f6d9e0;background:#d982a047}:root[data-ui=paper] .chip.favour{color:#8a3a55}.toast{z-index:30}.overlay:has(.town-hint:not([hidden])) .toast{bottom:72px}.town-sign{pointer-events:auto;cursor:default}.town-signs.compact .town-sign:not(.near):not(:hover):not(.open){padding:3px}.town-signs.compact .town-sign:not(.near):not(:hover):not(.open)>span:last-child{display:none}.town-signs.compact .town-sign:hover,.town-signs.compact .town-sign.open{z-index:2}@media (width<=1240px){.town-progress{top:auto;bottom:calc(var(--s5) + 44px)}}.offer-note.offer-foreman{color:var(--warn-2)}.board-tabs{margin-bottom:var(--s3);background:var(--surface-2);border-radius:var(--r-pill);gap:4px;padding:3px;display:flex}.board-tabs button{font:var(--w-strong) var(--t-sm) / 1.2 var(--font);color:var(--text-2);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;flex:1;padding:6px 10px}.board-tabs button[aria-selected=true]{color:var(--pill-ink);background:var(--pill)}.town-progress .yard-label{margin-top:6px}.town-progress .yard-next{font-size:var(--t-sm)}.town-progress .yard-bar i{background:var(--c-in)}.tut-dim.on[hidden]{display:none}.emote-bubble{background:var(--surface);border:1px solid var(--line);width:44px;height:44px;box-shadow:var(--shadow-sm);pointer-events:none;z-index:3;border-radius:50% 50% 50% 12%;place-items:center;font-size:26px;line-height:1;display:grid;position:absolute;top:0;left:0}.rar-common{--rar:#9aa3ad}.rar-uncommon{--rar:#4fb26b}.rar-rare{--rar:#3f8ae0}.rar-epic{--rar:#9a5ce6}.rar-legendary{--rar:#e8a923}.rar-mythic{--rar:#ff5fa2}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes rainbow-spin{to{--spin:360deg}}@keyframes foil{0%{background-position:0%}to{background-position:200%}}.cshop-tabs button{position:relative}.cshop-new-dot{background:var(--alert);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:18%}.cshop-scrap,.cshop-tokens{align-items:center;gap:4px;display:inline-flex}.cshop-scrap{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--text);background:var(--surface-3);border-radius:var(--r-pill);padding:4px 10px}.scrap-icon{color:var(--text-2);place-items:center;display:inline-grid}.scrap-icon svg{width:13px;height:13px}.cshop-progress{align-items:center;gap:var(--s2);font-size:var(--t-xs);color:var(--text-2);display:flex}.cshop-progress-bar,.cshop-set-bar{background:var(--surface-3);border-radius:var(--r-pill);flex:1;height:5px;overflow:hidden}.cshop-progress-bar i,.cshop-set-bar i{background:var(--good);border-radius:inherit;height:100%;display:block}.rar-pill{font-size:var(--t-xs);font-weight:var(--w-bold);color:#fff;background:var(--rar);border-radius:var(--r-pill);align-items:center;padding:1px 8px;display:inline-flex}.rar-pill.rar-mythic,.crate-mini.rar-mythic .crate-mini-face b{background:linear-gradient(90deg,#ff5f5f,#ffb347,#e8d84a,#4fd27a,#4fa8ff,#b48cff,#ff5f5f) 0 0/200% 100%;animation:3s linear infinite foil}.cshop-dmeta{font-size:var(--t-xs);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cshop-serial,.cshop-cserial{font-family:var(--font-mono);font-weight:var(--w-bold);color:var(--gold)}.cshop-shiny,.crate-shiny{font-weight:var(--w-bold);color:#ffe9a8;align-items:center;gap:2px;display:inline-flex}.cshop-shiny svg,.crate-shiny svg,.cshop-dset svg,.button svg{width:13px;height:13px}.cshop-dset{font-size:var(--t-xs);color:var(--text-2);align-items:center;gap:4px;display:inline-flex}.cshop-detail{border:1px solid color-mix(in srgb, var(--rar,transparent) 55%, transparent)}.cshop-stage.locked img,.cshop-stage.locked canvas{filter:brightness(.15)saturate(0)}.cshop-card{border-color:color-mix(in srgb, var(--rar) 45%, transparent);position:relative}.cshop-card.locked .cshop-pic img{filter:brightness(0)saturate(0);opacity:.32}.cshop-card.locked .cshop-cname{color:var(--text-2)}.cshop-card .cshop-pic{background:radial-gradient(70% 70% at 50% 60%, color-mix(in srgb, var(--rar) 22%, transparent), transparent 75%);position:relative}.cshop-card.rar-mythic,.cshop-detail.rar-mythic,.crate-mini.rar-mythic,.crate-open-reveal.rar-mythic .crate-card{background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, conic-gradient(from var(--spin), #ff5f5f, #ffb347, #e8d84a, #4fd27a, #4fa8ff, #b48cff, #ff5f5f) border-box;border-color:#0000;animation:4s linear infinite rainbow-spin}.cshop-card.shiny .cshop-pic:after,.crate-mini.shiny .crate-mini-face:after{content:"";border-radius:inherit;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ffb4e659 35%,#aae6ff66 45%,#fff5aa59 55%,#0000 70%) 0 0/200% 100%;animation:2.4s linear infinite foil;position:absolute;inset:0}.cshop-season,.cshop-cserial{font-style:normal;font-size:var(--t-xs);position:absolute;top:2px}.cshop-season{color:var(--alert-2);right:2px}.cshop-season svg{width:12px;height:12px}.cshop-cserial{left:4px}.cshop-newtag{font-style:normal;font-weight:var(--w-bold);color:var(--alert-2)}.cshop-card.fresh:before{content:"";background:var(--alert);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.cshop-card .cshop-cstate{gap:2px}.cshop-list.sets{grid-template-columns:minmax(0,1fr)}.cshop-set{padding:var(--s3);background:var(--surface-2);border-radius:var(--r-md);animation:rise-in var(--dur-med) var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 25ms);flex-direction:column;gap:6px;display:flex}.cshop-set.done{box-shadow:inset 0 0 0 1px #7fc29f8c}.cshop-set p{font-size:var(--t-xs);color:var(--text-2);margin:0}.cshop-set-head{align-items:center;gap:var(--s2);display:flex}.cshop-set-count{font-size:var(--t-sm);font-weight:var(--w-bold);margin-left:auto}.cshop-set-season{font-size:var(--t-xs);color:var(--text-2);background:var(--surface-3);border-radius:var(--r-pill);padding:1px 8px}.cshop-set-season.on{color:var(--pill-ink);background:var(--alert-2)}.cshop-set-items{flex-wrap:wrap;gap:4px;display:flex}.cshop-set-item{background:var(--surface-3);border:2px solid color-mix(in srgb, var(--rar) 60%, transparent);border-radius:var(--r-sm);cursor:pointer;width:52px;height:40px;padding:0}.cshop-set-item img{max-width:100%;max-height:100%}.cshop-set-item.locked img{filter:brightness(0);opacity:.3}.cshop-set-bonus{font-size:var(--t-xs);color:var(--text-2);cursor:pointer;align-items:center;gap:6px;display:flex}.cshop-set.done .cshop-set-bonus{color:var(--good-2)}.cshop-set-bonus svg{width:13px;height:13px}.crate-pity-line,.crate-next{font-size:var(--t-sm);color:var(--text-2);margin:0}.crate-pity-line b{color:var(--text)}.crate-shelf{gap:var(--s3);padding:var(--s3);background:var(--surface-2);border-radius:var(--r-md);animation:rise-in var(--dur-med) var(--ease) both;grid-template-columns:92px minmax(0,1fr);display:grid}.crate-shelf.daily{box-shadow:inset 0 0 0 1px #e6c07a99}.crate-art{aspect-ratio:1;color:#5a3a1c;border-radius:var(--r-sm);background:repeating-linear-gradient(0deg,#0000 0 13px,#5a3a1c59 13px 15px),linear-gradient(160deg,#e2b07a,#b9824e);border:3px solid #8a5a34;align-self:start;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #ffffff1f}.crate-art svg{opacity:.85;width:44px;height:44px}.crate-summer .crate-art{background:repeating-linear-gradient(0deg,#0000 0 13px,#145a5a59 13px 15px),linear-gradient(160deg,#6fd6c8,#2ab3a6);border-color:#1f7a72}.crate-winter .crate-art{background:repeating-linear-gradient(0deg,#0000 0 13px,#3c5a824d 13px 15px),linear-gradient(160deg,#eef4fa,#a9c3dc);border-color:#5a7ea3}.crate-autumn .crate-art{background:repeating-linear-gradient(0deg,#0000 0 13px,#5a1e0a59 13px 15px),linear-gradient(160deg,#f0a35a,#c2502e);border-color:#8a3a1c}.crate-shelf.daily .crate-art{background:repeating-linear-gradient(0deg,#0000 0 13px,#5a3a1c59 13px 15px),linear-gradient(160deg,#ffe39a,#e8b83c)}.crate-info{flex-direction:column;gap:6px;min-width:0;display:flex}.crate-info p{font-size:var(--t-xs);color:var(--text-2);margin:0;line-height:1.4}.crate-limited{font-size:var(--t-xs);color:var(--alert-2);align-items:center;gap:4px;display:inline-flex}.crate-limited svg{width:12px;height:12px}.crate-rates{font-size:var(--t-xs);color:var(--text-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;margin:0;padding:0;list-style:none;display:grid}.crate-rates li{align-items:center;gap:4px;display:flex}.crate-rates i{background:var(--rar);border-radius:50%;width:7px;height:7px}.crate-rates b{color:var(--text);margin-left:auto}.crate-buttons{gap:var(--s2);flex-wrap:wrap;display:flex}.crate-buttons .token-icon{width:12px;height:12px}body.crate-opening .cshop{opacity:0;pointer-events:none}.crate-open{z-index:40;pointer-events:auto;cursor:pointer;animation:crate-fade var(--dur-med) var(--ease);-webkit-user-select:none;user-select:none;background:radial-gradient(60% 55% at 50% 58%,#46485200,#0e0f1499 100%),radial-gradient(90% 80% at 50% 40%,#3a3c46,#15161b 80%);position:fixed;inset:0}@keyframes crate-fade{0%{opacity:0}}.crate-open:before{content:"";background:radial-gradient(60% 55% at 50% 40%, color-mix(in srgb, var(--rar,#9aa3ad) 55%, transparent), transparent 78%);opacity:0;transition:opacity .7s var(--ease);pointer-events:none;position:absolute;inset:0}.crate-open.lit:before{opacity:.35}.crate-open.lit.rar-rare:before{opacity:.55}.crate-open.lit.rar-epic:before{opacity:.75}.crate-open.lit.big:before{opacity:1}.crate-open.lit.rar-mythic:before{background:radial-gradient(60% 55% at 50% 40%,#ff5fa299,#0000 78%);animation:4s linear infinite crate-hue}@keyframes crate-hue{to{filter:hue-rotate(360deg)}}.crate-open-flash{background:radial-gradient(45% 45% at 50% 45%, #fff, color-mix(in srgb, var(--rar,#fff) 70%, transparent) 35%, transparent 75%);mix-blend-mode:screen;opacity:0;pointer-events:none;position:absolute;inset:0}.crate-open-flash.go{animation:.48s cubic-bezier(.1,.8,.3,1) both crate-flash}.crate-open.rar-common .crate-open-flash.go,.crate-open.rar-uncommon .crate-open-flash.go{animation-name:crate-flash-soft}.crate-open.big .crate-open-flash.go{animation:.9s cubic-bezier(.1,.8,.3,1) both crate-flash-big}@keyframes crate-flash{0%{opacity:.75}to{opacity:0}}@keyframes crate-flash-soft{0%{opacity:.3}to{opacity:0}}@keyframes crate-flash-big{0%{opacity:1;transform:scale(.6)}25%{opacity:.95}to{opacity:0;transform:scale(1.6)}}html.reduce-motion .crate-open-flash{display:none}.crate-open-stage,.crate-open-stage canvas{width:100%;height:100%;position:absolute;inset:0}.crate-open-top{top:var(--s5);align-items:baseline;gap:var(--s2);font-size:var(--t-lg);color:var(--text);text-shadow:0 2px 8px #00000080;white-space:nowrap;display:flex;position:absolute;left:50%;transform:translate(-50%)}.crate-open-top span{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--gold)}.crate-open-hint{bottom:var(--s4);font-size:var(--t-sm);color:var(--text-3);margin:0;position:absolute;left:50%;transform:translate(-50%)}.crate-open-reveal{left:50%;bottom:var(--s5);width:min(560px, calc(100% - 2 * var(--gutter)));cursor:default;position:absolute;transform:translate(-50%)}.crate-open-reveal.ten{bottom:var(--s4);width:min(620px, calc(100% - 2 * var(--gutter)))}.crate-card{padding:var(--s4) var(--s5);text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--rar) 26%, var(--surface)), var(--surface) 55%);border:var(--frame,2px) solid var(--rar);border-radius:var(--r-lg);box-shadow:0 0 var(--halo,32px) calc(var(--halo,32px) / -6) color-mix(in srgb, var(--rar) 80%, transparent), var(--shadow);flex-direction:column;align-items:center;gap:6px;animation:.34s cubic-bezier(.2,1.5,.4,1) both crate-card-in;display:flex;position:relative;overflow:hidden}.crate-open-reveal.rar-uncommon{--halo:38px}.crate-open-reveal.rar-rare{--frame:3px;--halo:48px}.crate-open-reveal.rar-epic{--frame:3px;--halo:64px}.crate-open-reveal.rar-legendary{--frame:4px;--halo:88px}.crate-open-reveal.rar-mythic{--frame:4px;--halo:104px}.crate-open-reveal.rar-rare .crate-card-name,.crate-open-reveal.rar-epic .crate-card-name,.crate-open-reveal.rar-legendary .crate-card-name{color:color-mix(in srgb, var(--rar) 60%, var(--text))}.crate-open-reveal.rar-legendary .crate-card,.crate-open-reveal.rar-mythic .crate-card{animation:.62s cubic-bezier(.2,1.6,.4,1) both crate-card-big}.crate-open-reveal.rar-legendary .crate-card:after,.crate-open-reveal.rar-mythic .crate-card:after,.crate-open-reveal.shiny .crate-card:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff47 45%,#0000 60%) 0 0/250% 100%;animation:2.6s linear infinite foil;position:absolute;inset:0}.crate-open-reveal.shiny .crate-card:after{background:linear-gradient(115deg,#0000 20%,#ffb4e64d 35%,#aae6ff57 45%,#fff5aa4d 55%,#0000 70%) 0 0/200% 100%}.crate-card>*{z-index:1;position:relative}@keyframes crate-card-in{0%{opacity:0;transform:translateY(20px)scale(.9)}}@keyframes crate-card-big{0%{opacity:0;transform:translateY(30px)scale(.6)}60%{opacity:1}}.crate-card-tags{font-size:var(--t-sm);align-items:center;gap:8px;display:flex}.crate-serial{font-family:var(--font-mono);font-weight:var(--w-bold);color:var(--gold)}.crate-card-name{font-size:var(--t-2xl);line-height:1.15}.crate-card-kind{font-size:var(--t-sm);color:var(--text-2)}.crate-new{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--alert-2)}.crate-dupe{font-size:var(--t-sm);color:var(--text-2);align-items:center;gap:4px;display:inline-flex}.crate-pity{font-size:var(--t-xs);color:var(--text-3)}.crate-open-actions{justify-content:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.crate-open-actions .token-icon{width:13px;height:13px}.crate-open-reveal.ten .crate-open-actions{justify-content:center}.crate-grid{gap:var(--s2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.crate-mini{aspect-ratio:.82;color:var(--text);background:var(--surface-2);border:2px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;perspective:600px;animation:.28s cubic-bezier(.2,1.4,.4,1) both crate-card-in;animation-delay:calc(var(--i) * 22ms);transition:border-color .16s, box-shadow .2s, transform .2s var(--ease-spring);padding:0;position:relative}.crate-mini-back,.crate-mini-face{border-radius:inherit;backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;transition:transform .26s cubic-bezier(.3,1.35,.5,1);display:flex;position:absolute;inset:0}.crate-mini.instant .crate-mini-back,.crate-mini.instant .crate-mini-face{transition-duration:.12s}.crate-mini-back{color:#5a3a1c;background:repeating-linear-gradient(0deg,#0000 0 11px,#5a3a1c59 11px 13px),linear-gradient(160deg,#e2b07a,#b9824e)}.crate-mini-back svg{width:34px;height:34px}.crate-mini-face{background:radial-gradient(80% 60% at 50% 40%, color-mix(in srgb, var(--rar) 35%, transparent), transparent 75%), var(--surface-2);transform:rotateY(180deg)}.crate-mini.flipped .crate-mini-back{transform:rotateY(-180deg)}.crate-mini.flipped .crate-mini-face{transform:none}.crate-mini.flipped{border-color:var(--rar);box-shadow:0 0 22px -4px color-mix(in srgb, var(--rar) 75%, transparent)}.crate-mini.flipped.rar-rare,.crate-mini.flipped.rar-epic{box-shadow:0 0 30px -2px color-mix(in srgb, var(--rar) 85%, transparent)}.crate-mini.flipped.rar-legendary,.crate-mini.flipped.rar-mythic{box-shadow:0 0 42px 2px color-mix(in srgb, var(--rar) 90%, transparent);border-width:3px;animation:.42s cubic-bezier(.2,1.8,.4,1) crate-mini-pop}.crate-mini.flipped.rar-legendary.instant,.crate-mini.flipped.rar-mythic.instant{animation:none}.crate-mini.flipped.rar-mythic{border-color:#0000;animation:.42s cubic-bezier(.2,1.8,.4,1) crate-mini-pop,4s linear infinite rainbow-spin}.crate-mini.flipped.rar-mythic.instant{animation:4s linear infinite rainbow-spin}@keyframes crate-mini-pop{0%{transform:scale(1.22)}to{transform:scale(1)}}.crate-mini.charging{border-color:var(--rar);box-shadow:0 0 34px 4px color-mix(in srgb, var(--rar) 85%, transparent);animation:.42s linear both crate-charge}@keyframes crate-charge{0%{transform:none}20%{transform:translateY(-3px)rotate(-2deg)scale(1.03)}35%{transform:translateY(-4px)rotate(2deg)scale(1.05)}50%{transform:translateY(-5px)rotate(-3deg)scale(1.07)}65%{transform:translateY(-6px)rotate(3deg)scale(1.09)}80%{transform:translateY(-7px)rotate(-3deg)scale(1.1)}to{transform:translateY(-8px)rotate(0)scale(1.12)}}.crate-mini.chosen{transform:translateY(-4px)}.crate-mini img{max-width:100%;max-height:58%}.crate-mini-face b{font-size:var(--t-xs);text-align:center;line-height:1.2}.crate-mini-face small{font-size:var(--t-xs);color:var(--alert-2);align-items:center;gap:2px;display:inline-flex}.crate-ten-summary{width:fit-content;margin:var(--s2) auto 0;background:var(--surface);border-radius:var(--r-pill);text-align:center;font-size:var(--t-sm);color:var(--text-2);padding:3px 12px}@media (width<=640px){.crate-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.crate-mini-face b{display:none}.crate-card-name{font-size:var(--t-xl)}}.crate-open-stamp{font:900 var(--t-xl) / 1.2 var(--font);letter-spacing:.08em;color:var(--rar);border:3px solid var(--rar);pointer-events:none;border-radius:8px;padding:2px 14px;animation:.26s cubic-bezier(.3,1.6,.5,1) both crate-stamp;position:absolute;top:64px;left:50%;transform:translate(-50%)rotate(-6deg)}.crate-open-stamp.rar-mythic{color:#ffb3d6;border-image:linear-gradient(90deg,#ff5f5f,#ffb347,#e8d84a,#4fd27a,#4fa8ff,#b48cff) 1}.crate-open-stamp.gone{opacity:0;transition:opacity .3s var(--ease)}@keyframes crate-stamp{0%{opacity:0;transform:translate(-50%)rotate(-6deg)scale(1.8)}}
