/* Figma 65:205, 70:396 and 70:502. The live scene stays behind the UI. */
.snow-driving,.snow-dialog{--snow-panel:rgb(0 0 0 / .8);--snow-border:rgb(255 255 255 / .8);--snow-gold:#f7da78;--snow-resource:#edf0c4}
.snow-dialog{background:var(--snow-panel);border:4px solid var(--snow-border);border-radius:10px;color:white;box-shadow:none;max-height:calc(100dvh - 32px);overflow:auto;font-weight:500}
.snow-dialog::backdrop{background:transparent;backdrop-filter:none}
.snow-dialog h2,.snow-dialog small,.snow-dialog .garage-balance,.snow-dialog .upgrade-title>b,.snow-dialog .upgrade-title>span,.snow-dialog .upgrade-values>span{color:var(--snow-gold)}
.snow-dialog button{background:black;color:white;border:1px solid transparent;border-radius:100px;font-weight:500}
.snow-dialog button:focus-visible,.snow-driving button:focus-visible{outline:3px solid var(--snow-gold);outline-offset:4px}
.snow-dialog button:hover:not(:disabled){border-color:var(--snow-gold)}
.snow-dialog .garage-card{background:#ffffff0d;border:1px solid #ffffff55;border-radius:6px}
.snow-dialog .garage-done,.snow-dialog [data-done-auto],.snow-dialog [data-cancel-restart],.snow-dialog .garage-close{background:black;color:white}
.snow-dialog button:disabled,.snow-dialog [data-buy-auto]:disabled{background:#ffffff18;color:#aaa}
.snow-dialog .upgrade-pips i{background:#ffffff33}.snow-dialog .upgrade-pips .filled{background:var(--snow-gold)}
.snow-tutorial-dialog{width:min(656px,45.56vw);padding:24px 36px 34px;border-width:6px;text-align:center;overflow:auto}
.snow-tutorial-heading{position:relative;color:var(--snow-gold)}
.snow-dialog .snow-tutorial-heading p{font-size:clamp(26px,2.5vw,36px);line-height:1.45;margin:0}
.snow-tutorial-heading>span{position:absolute;right:0;top:0;font-size:clamp(26px,2.5vw,36px);line-height:1.45}
.snow-dialog .snow-tutorial-heading h2{font-size:clamp(28px,2.78vw,40px);line-height:1.45;font-weight:500;margin:0}
.snow-dialog .snow-tutorial-copy{font-size:clamp(24px,2.5vw,36px);line-height:1.45;margin:10px 0 28px;white-space:nowrap}
.snow-input-methods{display:flex;justify-content:center;align-items:center;gap:18px;margin:0 auto 36px}
.snow-input-method{height:45px;border:1px solid #ffcc29cc;border-radius:4px;background:#0006;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 14px;white-space:nowrap;font-size:clamp(14px,1.39vw,20px)}
.snow-input-method img{flex:none;display:block;width:21px;height:21px}
.snow-input-or{font-size:clamp(24px,2.5vw,36px)}
.snow-keycaps{display:grid;grid-template-columns:repeat(3,14px);gap:2px;line-height:14px}
.snow-keycaps kbd{background:#fff;color:#000;border-radius:1px;font:12px/14px sans-serif;width:14px;height:14px}.snow-keycaps kbd:first-child{grid-column:2}.snow-keycaps kbd:nth-child(2){grid-column:1}
.snow-touch-label{display:none}
.snow-dialog .snow-tutorial-ok{display:block;width:160px;min-height:64px;margin:0 auto;padding:0;font-size:36px;line-height:1.5;box-shadow:0 4px 4px #0004}
.snow-tutorial-art{display:block;max-width:100%;width:445px;height:auto;aspect-ratio:445/251;object-fit:cover;border-radius:4px;margin:0 auto}
.snow-tutorial-dialog>.snow-tutorial-art{margin:0 auto 24px}
.snow-resources{position:absolute;right:max(22px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:6;color:var(--snow-resource);display:grid;gap:10px;text-align:right;pointer-events:none;font-size:clamp(18px,2.22vw,32px);font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums;text-shadow:-1px -1px 0 #32352d,1px -1px 0 #32352d,-1px 1px 0 #32352d,1px 1px 0 #32352d}
.snow-resources strong{font-size:clamp(40px,4.44vw,64px);font-weight:500;margin-bottom:10px;line-height:1.25}
.snow-tutorial-card{position:absolute;left:max(22px,env(safe-area-inset-left));top:max(13px,env(safe-area-inset-top));z-index:6;width:378px;max-width:calc(100% - 240px);padding:8px 11px 12px;border:4px solid var(--snow-border);border-radius:10px;background:var(--snow-panel);color:white;font-weight:500;pointer-events:none}
.snow-tutorial-card header{display:flex;justify-content:space-between;gap:12px;color:var(--snow-gold);font-size:20px;line-height:1.45}.snow-tutorial-card header strong{font-weight:500}
.snow-tutorial-card p{font-size:12px;line-height:1.5;margin:10px 0 12px}
.snow-tutorial-card progress{display:block;appearance:none;width:100%;height:9px;border:0;border-radius:50px;overflow:hidden;background:#fff3;margin-bottom:3px}
.snow-tutorial-card progress::-webkit-progress-bar{background:#fff3;border-radius:50px}.snow-tutorial-card progress::-webkit-progress-value{background:var(--snow-gold);border-radius:50px}.snow-tutorial-card progress::-moz-progress-bar{background:var(--snow-gold);border-radius:50px}
.snow-tutorial-card [data-tutorial-progress]{font-size:15px}
.snow-tutorial-card[data-step="2"]{width:254px}.snow-tutorial-card .snow-tutorial-art{width:223px}
.snow-pickup-hint{display:block;margin-top:7px;font-size:11px;color:var(--snow-gold)}
.snow-resources[hidden],.snow-tutorial-card[hidden]{display:none}
.is-driving .plow-top>div{display:none}.is-driving .plow-actions{position:absolute;right:16px;bottom:170px;flex-direction:column;gap:6px}
.is-driving .plow-actions button,.is-driving .plow-readout,.is-driving .plow-readout button{background:var(--snow-panel);color:white;border:1px solid var(--snow-border);border-radius:6px;backdrop-filter:none}
.is-driving .plow-readout{padding:8px;gap:4px}.is-driving .plow-readout>small{display:none}.is-driving .plow-readout [data-cleared]{color:var(--snow-gold)}
.is-driving .plow-readout button{margin:0;min-height:36px;font-weight:500}.is-driving .plow-readout .plow-zoom button{font-size:24px}
.is-driving .plow-load-badge{background:var(--snow-panel);border:2px solid var(--snow-border);border-radius:7px;color:white;box-shadow:0 3px 8px #0003;white-space:nowrap}
.is-driving .plow-load-badge.is-full{border-color:var(--snow-gold);color:var(--snow-gold)}
.is-driving .snow-notice{background:var(--snow-panel);color:white;border:1px solid var(--snow-border);border-radius:6px}
@media(max-width:1100px) and (min-width:701px){.snow-tutorial-card{width:300px}.snow-tutorial-card header{font-size:17px}.snow-tutorial-dialog{width:560px}.snow-input-methods{gap:12px}.snow-input-method{gap:10px;padding:0 10px}}
@media(max-width:700px){
 .snow-tutorial-dialog{width:calc(100vw - 28px);padding:22px 16px 24px;border-width:4px}
 .snow-dialog .snow-tutorial-heading p,.snow-tutorial-heading>span{font-size:22px}.snow-dialog .snow-tutorial-heading h2{font-size:28px}
 .snow-dialog .snow-tutorial-copy{font-size:20px;line-height:1.65;margin:18px 0 24px;white-space:normal}
 .snow-input-methods{gap:8px;margin-bottom:26px;flex-wrap:wrap}.snow-input-method{gap:8px;padding:0 8px;font-size:12px}.snow-input-or{font-size:18px}
 .snow-dialog .snow-tutorial-ok{font-size:28px;width:136px;min-height:52px}
 .snow-resources{right:12px;top:max(12px,env(safe-area-inset-top));font-size:14px;gap:4px;line-height:1.4}.snow-resources strong{font-size:36px;margin-bottom:5px}
 .snow-tutorial-card,.snow-tutorial-card[data-step="2"]{left:10px;top:max(12px,env(safe-area-inset-top));width:calc(100% - 175px);max-width:240px;padding:8px;border-width:3px}
 .snow-tutorial-card header{font-size:14px;gap:6px}.snow-tutorial-card p{font-size:11px;margin:7px 0 9px}.snow-tutorial-card [data-tutorial-progress]{font-size:12px}
 .snow-tutorial-card .snow-tutorial-art{width:100%;height:auto}.snow-pickup-hint{font-size:10px}
 .is-driving .plow-actions{right:12px;bottom:max(170px,calc(env(safe-area-inset-bottom) + 165px))}.is-driving .plow-actions button{font-size:12px;min-height:40px;padding:6px 10px}
 .is-driving .plow-readout{max-width:140px}.is-driving .plow-load-badge{font-size:11px}
 .snow-dialog.garage-dialog{width:calc(100% - 24px)}
 body:has(.snow-tutorial-dialog[open]) .snow-tutorial-card{visibility:hidden}
}
@media(pointer:coarse){.snow-keyboard-method,.snow-input-or,.snow-mouse-label{display:none}.snow-touch-label{display:inline}.snow-input-method{font-size:16px;padding:0 16px}}
@media(max-height:600px){.snow-tutorial-dialog{padding-top:14px;padding-bottom:16px}.snow-dialog .snow-tutorial-copy{margin:8px 0 16px;font-size:22px}.snow-tutorial-dialog>.snow-tutorial-art{width:280px;margin-bottom:16px}.snow-input-methods{margin-bottom:18px}.snow-dialog .snow-tutorial-ok{min-height:44px;font-size:26px}.snow-dialog .snow-tutorial-heading h2{font-size:28px}.snow-dialog .snow-tutorial-heading p,.snow-tutorial-heading>span{font-size:24px}}
/* Follow-on missions: Figma 70:590–743; live radar reuses the hall projection. */
.snow-tutorial-card[data-step="3"]{width:254px}.snow-tutorial-card[data-step="4"]{width:371px}
.snow-tutorial-card[data-step="5"],.snow-tutorial-card[data-step="6"]{width:259px}
.snow-tutorial-card.has-radar{left:222px}
.snow-commission-art{display:block;width:309px;max-width:100%;height:auto;aspect-ratio:309/145;object-fit:contain;margin:0 auto}
.snow-tutorial-card .snow-commission-art{width:224px}
.snow-dialog.snow-reward-dialog{width:588px;max-width:calc(100vw - 28px);min-height:371px;padding:54px 32px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;border-width:4px}
.snow-dialog.snow-reward-dialog:not([open]){display:none}
.snow-reward-dialog h2{font-size:20px;line-height:1.5;font-weight:500;margin:0}
.snow-reward-dialog .snow-reward-copy{font-size:12px;line-height:1.5;text-align:center;max-width:260px;margin:0}
.snow-reward-dialog .snow-tutorial-ok{flex-shrink:0;margin:0 auto}
.snow-dialog.snow-turbo-reward h2,.snow-dialog.snow-turbo-reward .snow-reward-copy{font-size:32px;max-width:100%}
.snow-turbo-reward-line{display:flex;align-items:center;justify-content:center;gap:12px}
.snow-turbo-reward-line>span{display:grid;place-items:center;background:#000b;border-radius:5.556px;width:40px;height:40px}
.snow-radar{position:absolute;left:12px;top:10px;z-index:6;width:201px;padding:7px;background:#d9e9eddd;border:1px solid #c3d4d9;border-radius:4px;pointer-events:none}
.snow-radar svg{width:100%;height:auto;display:block;background:#7d939c;border-radius:10px}
.snow-radar .minimap-booth.is-stocked{fill:#f7faf4;stroke:#718d95;fill-opacity:1}
.snow-radar small{display:block;color:#304e5e;text-align:center;font-size:9px;margin-top:3px;white-space:nowrap}
.snow-turbo{position:absolute;z-index:9;left:50%;bottom:max(38px,env(safe-area-inset-bottom));transform:translateX(-50%);width:72px;height:72px;background:#000b;border:1px solid #000e;border-radius:10px;padding:0;color:white;touch-action:manipulation;cursor:pointer}
.snow-turbo:disabled{cursor:default;opacity:1}
.snow-turbo-icon{position:absolute;left:11px;top:14px;width:48px;height:48px}
.snow-turbo-icon img{display:block;opacity:.25;filter:grayscale(1)}
.snow-turbo-energy{position:absolute;inset:0;mask:url('./assets/snow-ui/turbo.svg') center / 48px 48px no-repeat;background:linear-gradient(to top,#ffda32 0 var(--turbo-energy,100%),transparent var(--turbo-energy,100%) 100%)}
.snow-turbo small{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:5px;color:#ffda32;font-size:12px;white-space:nowrap;text-shadow:0 1px 3px black,0 0 3px black}
.snow-turbo[data-phase="active"]{border-color:#ffda32;box-shadow:0 0 16px #ffda3244}
.snow-coin-reward{position:absolute;left:50%;top:11%;transform:translateX(-50%);z-index:7;color:var(--snow-resource);font-size:clamp(32px,4.44vw,64px);text-shadow:-1px -1px #32352d,1px 1px #32352d;pointer-events:none}
.snow-turbo[hidden],.snow-radar[hidden],.snow-coin-reward[hidden]{display:none}
@media(max-width:700px){
 .snow-tutorial-card[data-step="3"],.snow-tutorial-card[data-step="4"],.snow-tutorial-card[data-step="5"],.snow-tutorial-card[data-step="6"]{width:calc(100% - 175px)}
 .snow-radar{left:10px;top:12px;width:150px;padding:4px}.snow-radar small{font-size:7px}
 .snow-tutorial-card.has-radar{left:10px;top:132px;width:190px;max-width:calc(100% - 20px)}
 .snow-dialog.snow-reward-dialog{min-height:320px;padding:28px 20px;gap:20px}.snow-dialog.snow-turbo-reward h2,.snow-dialog.snow-turbo-reward .snow-reward-copy{font-size:26px}
 .snow-turbo{bottom:max(38px,env(safe-area-inset-bottom))}
}
@media(max-height:600px){.snow-dialog.snow-reward-dialog{min-height:0;padding:18px 24px;gap:12px}.snow-reward-dialog .snow-commission-art{width:224px}.snow-tutorial-card.has-radar{left:178px;top:12px}.snow-radar{width:155px}.snow-turbo{bottom:24px}}

.snow-reward-dialog[data-tutorial="special"] .snow-commission-art{width:224px}
@media(max-width:700px){
 .snow-tutorial-card.has-radar{max-width:calc(50% - 5px)}
 .is-driving:has(.snow-tutorial-card.has-radar:not([hidden])) .plow-load-badge{left:auto!important;right:10px;max-width:calc(50% - 20px);white-space:normal;transform:translateY(-100%)}
}

/* Support expands the existing radar itself; booth geometry and colours are shared. */
.snow-turbo.has-support{margin-left:-46px}
.snow-support-button{position:absolute;z-index:9;left:50%;margin-left:10px;bottom:max(38px,env(safe-area-inset-bottom));width:72px;height:72px;background:#000b;border:1px solid #000e;border-radius:10px;padding:0;color:#ffda32;touch-action:manipulation;cursor:pointer}
.snow-support-button>span{font-size:48px;line-height:1}.snow-support-button small{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:5px;font-size:12px;white-space:nowrap;text-shadow:0 1px 3px black,0 0 3px black}
.snow-support-button:disabled>span{opacity:.35}.snow-support-button[hidden]{display:none}
.snow-support-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:20px;background:#12202bf5;color:#fff8dc;border:3px solid #fff;border-radius:14px;overflow:auto}
.snow-support-dialog::backdrop{background:#08111b99}
.snow-support-dialog header,.snow-support-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.snow-support-dialog h2{font-size:24px;color:#ffda32;margin:0}.snow-support-dialog p{margin:10px 0;font-size:16px}.snow-support-dialog>small{display:block;margin-top:12px;color:#d3e1e5;font-size:12px}
.snow-support-dialog button{min-height:44px;padding:8px 18px;border:1px solid #d9e9ed;border-radius:7px;background:#324b59;color:white;font:inherit;cursor:pointer}.snow-support-dialog [data-confirm]{background:#ffda32;border-color:#ffda32;color:#263542;font-weight:700}.snow-support-dialog button:disabled{opacity:.45;cursor:default}
.snow-radar.is-targeting{position:static;box-sizing:border-box;width:100%;margin:0;pointer-events:auto;padding:7px}
.snow-radar.is-targeting svg{cursor:crosshair;touch-action:none;width:100%;max-height:calc(100dvh - 260px);min-height:130px}
.snow-radar.is-targeting small{font-size:12px;white-space:normal}
.snow-support-target{fill:#ffe16d55;stroke:#ffda32;stroke-width:1;pointer-events:none}
@media(max-width:760px){.snow-support-dialog{padding:12px}.snow-support-dialog h2{font-size:20px}.snow-support-dialog p{font-size:14px}}
@media(max-height:600px){.snow-support-button{bottom:24px}.snow-support-dialog{padding:10px 14px}.snow-support-dialog>small{display:none}.snow-support-dialog p{margin:6px 0}.snow-radar.is-targeting svg{max-height:calc(100dvh - 210px)}}

.snow-hibimon-art{aspect-ratio:2100/1230}
.snow-tutorial-card[data-step="7"],.snow-tutorial-card[data-step="8"]{width:259px}
@media(max-width:700px){.snow-tutorial-card[data-step="7"],.snow-tutorial-card[data-step="8"]{width:190px}}
