@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-latin-600-normal-DOMk466V.woff2) format("woff2"),url(./exo-2-latin-600-normal-DZPWd1Z-.woff) format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-latin-700-normal-OoACPC18.woff2) format("woff2"),url(./exo-2-latin-700-normal-CMe4g2cX.woff) format("woff")}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./exo-2-latin-800-normal-CeuANCVN.woff2) format("woff2"),url(./exo-2-latin-800-normal-CJzq8-0C.woff) format("woff")}:root{--navy: #111a2b;--navy-92: rgba(15, 23, 39, .92);--navy-80: rgba(15, 23, 39, .8);--line: rgba(255, 255, 255, .1);--text: #ffffff;--muted: #b5c0d4;--blue: #2f7bff;--green: #25c45a;--red: #ef3b33;--orange: #ff9f1c;--font: "Exo 2", "Segoe UI", system-ui, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--u: clamp(.62rem, 1.05vmin + .32rem, 1rem)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#78b244;font-family:var(--font);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}button{font-family:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0;touch-action:none}#scene{position:absolute;inset:0;width:100%;height:100%;display:block}#overlay,#ui{position:absolute;inset:0;pointer-events:none;overflow:hidden}.panel{background:var(--navy-92);border:1px solid var(--line);border-radius:calc(var(--u) * .85);box-shadow:0 6px 18px #080e1c47}.hud{position:absolute;inset:0;padding:calc(var(--safe-t) + var(--u) * .9) calc(var(--safe-r) + var(--u) * 1.1) calc(var(--safe-b) + var(--u) * .8) calc(var(--safe-l) + var(--u) * 1.1);pointer-events:none;transition:opacity .25s}.hud.hidden{opacity:0}.score-panel{position:absolute;top:calc(var(--safe-t) + var(--u) * .9);left:calc(var(--safe-l) + var(--u) * 1.1);padding:calc(var(--u) * .55) calc(var(--u) * 1.05) calc(var(--u) * .6);min-width:calc(var(--u) * 13.5)}.brand{display:flex;align-items:center;gap:calc(var(--u) * .6);font-weight:800;letter-spacing:.08em;font-size:calc(var(--u) * 1.15);padding-bottom:calc(var(--u) * .45);margin-bottom:calc(var(--u) * .35);border-bottom:1px solid var(--line)}.brand .logo svg{width:calc(var(--u) * 2.1);height:auto;display:block;color:#fff}.row{display:flex;justify-content:space-between;align-items:baseline;gap:calc(var(--u) * 1.2);font-size:calc(var(--u) * 1);color:var(--muted);font-weight:600;line-height:1.45}.row b{color:#fff;font-weight:700;font-size:calc(var(--u) * 1.18);font-variant-numeric:tabular-nums}.row b.bump{animation:bump .35s ease-out}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22);color:#8ff0a8}to{transform:scale(1)}}.timer{position:absolute;top:calc(var(--safe-t) + var(--u) * .9);left:50%;transform:translate(-50%);display:grid;grid-template-columns:auto auto;align-items:center;column-gap:calc(var(--u) * .7);padding:calc(var(--u) * .45) calc(var(--u) * 1.5) calc(var(--u) * .55)}.timer .ico svg{width:calc(var(--u) * 2);height:calc(var(--u) * 2);display:block}.timer b{font-size:calc(var(--u) * 2.15);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}.timer.urgent b{color:#ff7a6b}.timer .bar{grid-column:1 / span 2;height:calc(var(--u) * .32);border-radius:99px;background:#ffffff1f;margin-top:calc(var(--u) * .3);overflow:hidden}.timer .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#2f7bff,#4aa3ff);border-radius:99px;transform-origin:left}.pause-btn{position:absolute;top:calc(var(--safe-t) + var(--u) * .9);right:calc(var(--safe-r) + var(--u) * 1.1);width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);display:grid;place-items:center;pointer-events:auto}.pause-btn svg{width:55%;height:55%}.pause-btn:after,.truck-card:after{content:"";position:absolute;inset:-10px}.truckbar{position:absolute;bottom:calc(var(--safe-b) + var(--u) * .7);left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:calc(var(--u) * .6);padding:calc(var(--u) * .5);pointer-events:auto}.truck-card{position:relative;width:calc(var(--u) * 8.4);border-radius:calc(var(--u) * .7);background:#ffffff0a;border:2px solid transparent;padding:calc(var(--u) * .3) calc(var(--u) * .45) calc(var(--u) * .45);display:flex;flex-direction:column;align-items:center;transition:border-color .15s,background .15s,transform .12s}.truck-card img{width:100%;height:calc(var(--u) * 4.3);object-fit:contain;display:block;pointer-events:none}.truck-card .batt{width:78%;height:calc(var(--u) * .42);border-radius:99px;background:#ffffff1f;overflow:hidden;margin-top:calc(var(--u) * .15)}.truck-card .batt i{display:block;height:100%;border-radius:99px;background:var(--green);transform-origin:left}.truck-card .state{position:absolute;top:calc(var(--u) * .25);right:calc(var(--u) * .35);font-size:calc(var(--u) * .72);font-weight:700;color:var(--muted);letter-spacing:.04em}.truck-card.sel{border-color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 50%,transparent),0 0 14px color-mix(in srgb,var(--c) 45%,transparent)}.truck-card.locked{opacity:.45;filter:grayscale(.6)}.truck-card.locked .state{color:#fff;font-size:calc(var(--u) * .85)}.truck-card:active{transform:scale(.96)}.truckbar .divider{width:1px;background:var(--line);margin:calc(var(--u) * .4) calc(var(--u) * .2)}.hint{display:flex;align-items:center;gap:calc(var(--u) * .6);padding:0 calc(var(--u) * .8) 0 calc(var(--u) * .3);min-width:calc(var(--u) * 11);max-width:calc(var(--u) * 14)}.hint svg{width:calc(var(--u) * 2.3);height:calc(var(--u) * 2.3);flex:none}.hint b{font-size:calc(var(--u) * .98);font-weight:700;letter-spacing:.04em;line-height:1.25}.hint.flash b{color:#ffd166}.toast{position:absolute;top:calc(var(--safe-t) + var(--u) * 6.3);left:50%;transform:translate(-50%,-8px);opacity:0;padding:calc(var(--u) * .45) calc(var(--u) * 1.2);font-weight:800;letter-spacing:.08em;font-size:calc(var(--u) * 1.05);border-radius:99px;background:var(--navy-92);border:1px solid var(--line);transition:opacity .25s,transform .25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.toast.warn{color:#ffd166}.wm{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}.order{display:flex;align-items:center;transform-origin:50% 100%;animation:pop .32s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{scale:.2;opacity:0}to{scale:1;opacity:1}}.order .card{position:relative;width:calc(var(--u) * 3.4);height:calc(var(--u) * 3.1);background:#fff;border-radius:calc(var(--u) * .75);display:grid;place-items:center;box-shadow:0 4px 12px #0a14284d}.order .card:after{content:"";position:absolute;bottom:calc(var(--u) * -.55);left:50%;translate:-50% 0;border:calc(var(--u) * .6) solid transparent;border-bottom:0;border-top-color:#fff}.order .card svg{width:74%;height:74%}.order .badge{position:relative;width:calc(var(--u) * 3.1);height:calc(var(--u) * 3.1);margin-left:calc(var(--u) * -.5);border-radius:50%;background:#14213a;display:grid;place-items:center;box-shadow:0 4px 12px #0a14284d}.order .badge svg{position:absolute;inset:0;width:100%;height:100%}.order .badge span{position:relative;font-weight:800;font-size:calc(var(--u) * 1.05);font-variant-numeric:tabular-nums}.order .dot{position:absolute;top:calc(var(--u) * -.35);left:calc(var(--u) * -.35);width:calc(var(--u) * 1.1);height:calc(var(--u) * 1.1);border-radius:50%;border:2px solid #fff;display:none}.order.assigned .dot{display:block}.order.critical .badge{background:#d8332b;animation:throb .5s ease-in-out infinite alternate}.order.critical .card{box-shadow:0 0 0 3px #ef3b33,0 4px 12px #0a14284d}@keyframes throb{to{transform:scale(1.12)}}.order.armed .card{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--c),0 4px 14px #0a142859}.order.leaving{animation:leave .45s ease-in forwards}@keyframes leave{to{scale:.4;opacity:0;translate:0 -30px}}.charger-marker{width:calc(var(--u) * 2.5);height:calc(var(--u) * 2.5);border-radius:calc(var(--u) * .6);background:#2f86ff;display:grid;place-items:center;box-shadow:0 4px 12px #0a14284d,0 0 0 2px #ffffffd9}.charger-marker svg{width:62%;height:62%;color:#fff}.charger-marker.armed{animation:throb .6s ease-in-out infinite alternate;box-shadow:0 0 0 3px #fff,0 0 18px #7fc0ff}.batt-tag{display:flex;align-items:center;gap:calc(var(--u) * .35);padding:calc(var(--u) * .2) calc(var(--u) * .55);border-radius:calc(var(--u) * .5);background:var(--navy-92);font-weight:800;font-size:calc(var(--u) * .95);font-variant-numeric:tabular-nums;white-space:nowrap}.batt-tag .b{position:relative;width:calc(var(--u) * 1.6);height:calc(var(--u) * .9);color:#fff}.batt-tag .b svg{position:absolute;inset:0;width:100%;height:100%}.batt-tag .b i{position:absolute;left:9%;top:22%;height:56%;width:70%;border-radius:2px;background:var(--green);transform-origin:left}.batt-tag.low .b i{background:var(--red)}.batt-tag.low{animation:blink .8s steps(2,jump-none) infinite}@keyframes blink{50%{color:#ff8f84}}.popup{font-weight:800;font-size:calc(var(--u) * 1.6);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25),0 0 12px rgba(0,0,0,.25);animation:rise 1.25s ease-out forwards;white-space:nowrap}.popup small{display:block;font-size:.55em;letter-spacing:.08em;color:#ffe08a;text-align:center}.popup.bad{color:#ff7a6b}@keyframes rise{0%{opacity:0;translate:0 6px;scale:.7}15%{opacity:1;scale:1.1}30%{scale:1}to{opacity:0;translate:0 -46px}}.tut-hand{width:calc(var(--u) * 3.4);height:calc(var(--u) * 3.4);color:#fff;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));animation:poke .9s ease-in-out infinite}@keyframes poke{50%{translate:0 -10px}}.tut-banner{position:absolute;left:50%;top:calc(var(--safe-t) + var(--u) * 6.2);transform:translate(-50%);padding:calc(var(--u) * .6) calc(var(--u) * 1.6);font-size:calc(var(--u) * 1.5);font-weight:800;letter-spacing:.08em;white-space:nowrap;pointer-events:none}.tut-skip{position:absolute;right:calc(var(--safe-r) + var(--u) * 1.1);bottom:calc(var(--safe-b) + var(--u) * 1);pointer-events:auto;padding:calc(var(--u) * .5) calc(var(--u) * 1.1);font-weight:700;font-size:calc(var(--u) * .95);letter-spacing:.06em;color:#fff;background:var(--navy-80);border:1px solid var(--line);border-radius:99px}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:calc(var(--safe-t) + 12px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 12px) calc(var(--safe-l) + 16px)}.screen.dim{background:#0a101e6b;backdrop-filter:blur(2px)}.title-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:calc(var(--safe-t) + var(--u) * 2) 16px calc(var(--safe-b) + var(--u) * 2);background:radial-gradient(ellipse at 50% 42%,#0a12220d 30%,#0a12226b)}.title{text-align:center;padding:calc(var(--u) * .9) calc(var(--u) * 2.2)}.title .brand{justify-content:center;border:0;margin:0;padding:0;font-size:calc(var(--u) * 1.4)}.title h1{margin:calc(var(--u) * .2) 0 0;font-size:calc(var(--u) * 3.1);font-weight:800;letter-spacing:.05em;line-height:1}.title h1 span{color:#ffd166}.title p{margin:calc(var(--u) * .45) 0 0;color:var(--muted);font-weight:600;font-size:calc(var(--u) * 1)}.menu{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * .8)}.btn-primary{min-width:calc(var(--u) * 15);padding:calc(var(--u) * .9) calc(var(--u) * 2.6);border-radius:calc(var(--u) * .9);font-size:calc(var(--u) * 2);font-weight:800;letter-spacing:.12em;background:linear-gradient(180deg,#3c8bff,#1d5fd6);box-shadow:0 6px #133f91,0 10px 24px #0a143266;transition:transform .08s,box-shadow .08s}.btn-primary:active{transform:translateY(4px);box-shadow:0 2px #133f91,0 6px 14px #0a143266}.btn-row{display:flex;gap:calc(var(--u) * .8)}.btn-small{display:flex;align-items:center;gap:calc(var(--u) * .45);padding:calc(var(--u) * .5) calc(var(--u) * 1);border-radius:99px;font-weight:700;font-size:calc(var(--u) * .95);letter-spacing:.04em;background:var(--navy-80);border:1px solid var(--line)}.btn-small svg{width:calc(var(--u) * 1.25);height:calc(var(--u) * 1.25)}.card-panel{width:min(92vw,calc(var(--u) * 30));max-height:calc(100% - 8px);overflow:auto;padding:calc(var(--u) * 1.3) calc(var(--u) * 1.6);text-align:center}.card-panel h2{margin:0 0 calc(var(--u) * .7);font-size:calc(var(--u) * 1.7);font-weight:800;letter-spacing:.08em}.big-score{font-size:calc(var(--u) * 3.6);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u) * .6);margin:calc(var(--u) * .9) 0 calc(var(--u) * .8)}.stats div{background:#ffffff0f;border-radius:calc(var(--u) * .6);padding:calc(var(--u) * .45) 0}.stats b{display:block;font-size:calc(var(--u) * 1.5);font-weight:800}.stats span{font-size:calc(var(--u) * .8);color:var(--muted);font-weight:600;letter-spacing:.04em}.best-line{font-weight:700;color:var(--muted);margin-bottom:calc(var(--u) * 1);font-size:calc(var(--u) * 1)}.best-line.new{color:#ffd166;animation:bump .6s ease-out 2}.tip{color:var(--muted);font-size:calc(var(--u) * .9);margin:calc(var(--u) * .8) 0 0;font-weight:600}.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u) * .8);text-align:center;margin-bottom:calc(var(--u) * 1)}.howto div{background:#ffffff0f;border-radius:calc(var(--u) * .7);padding:calc(var(--u) * .7);font-size:calc(var(--u) * .9);color:var(--muted);font-weight:600;line-height:1.35}.howto b{display:block;color:#fff;font-size:calc(var(--u) * 1.05);margin-bottom:calc(var(--u) * .3);letter-spacing:.04em}.rotate{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#111a2b;z-index:50;text-align:center;font-weight:800;letter-spacing:.06em;pointer-events:auto}.rotate svg{width:72px;height:72px;animation:tilt 1.6s ease-in-out infinite}@keyframes tilt{50%{transform:rotate(-90deg)}}@media(orientation:portrait)and (max-width:900px){.rotate{display:flex}}@media(max-height:430px){.truck-card img{height:calc(var(--u) * 3.6)}.truck-card{width:calc(var(--u) * 7.2)}.score-panel{min-width:calc(var(--u) * 12)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}body.qa *,body.qa *:before,body.qa *:after{transition:none!important;animation:none!important}body.qa .popup{opacity:.95}
