@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;600;700;800;900&family=Noto+Sans+TC:wght@500;700;900&display=swap";:root{color:#f7f3ea;font-synthesis:none;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;background:#0b0d10;font-family:Be Vietnam Pro,Noto Sans TC,Segoe UI,Microsoft JhengHei,PingFang TC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:#0b0d10;min-width:320px}#app{background:#0b0d10;position:relative}#game-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui-root,#hud{pointer-events:none;position:absolute;inset:0}:root{--tc-u:clamp(46px, 13vmin, 62px)}.tc-layer{--tc-l:calc(max(14px, env(safe-area-inset-left)) + var(--vg-safe-extra,0px));--tc-r:calc(max(14px, env(safe-area-inset-right)) + var(--vg-safe-extra,0px));--tc-t:calc(max(10px, env(safe-area-inset-top)) + var(--vg-safe-extra,0px));--tc-b:calc(max(14px, env(safe-area-inset-bottom)) + var(--vg-safe-extra,0px));--u:var(--tc-u);--U:calc(var(--tc-u) * 1.32);z-index:20;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Be Vietnam Pro,system-ui,sans-serif;position:absolute;inset:0}.tc-layer[data-ctx=hidden]{display:none}.tc-stick{left:calc(var(--tc-l) + var(--u) * .2);bottom:calc(var(--tc-b) + var(--u) * .2);width:calc(var(--u) * 2.3);height:calc(var(--u) * 2.3);box-shadow:inset 0 0 0 calc(var(--u) * .06) #ffffff0d;pointer-events:auto;touch-action:none;opacity:.7;background:radial-gradient(circle,#0a0c1026 0 55%,#0a0c1061 56%);border:1.5px solid #ffffff52;border-radius:50%;transition:transform .18s,opacity .18s;position:absolute}.tc-stick.tc-active{opacity:1;transition:none}.tc-knob{width:calc(var(--u) * .95);height:calc(var(--u) * .95);margin:calc(var(--u) * -.475) 0 0 calc(var(--u) * -.475);background:radial-gradient(circle at 38% 32%,#ffe58a,#ffd23f 45%,#e0a10c);border:2px solid #ffffffbf;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 3px 10px #00000073}.tc-layer[data-ctx=vehicle] .tc-stick{background:linear-gradient(#ffffff29,#ffffff29) 50%/76% 3px no-repeat,radial-gradient(circle,#0a0c1026 0 55%,#0a0c1061 56%)}.tc-btn{width:var(--u);height:var(--u);color:#f7f3ea;font-family:inherit;font-weight:700;font-size:calc(var(--u) * .19);letter-spacing:.04em;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(3px);background:#0a0c1075;border:1.5px solid #ffffff6b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;line-height:1;transition:transform 60ms,background .1s,border-color .1s;display:flex;position:absolute;box-shadow:0 2px 8px #00000059}.tc-btn[hidden]{display:none}.tc-btn svg{filter:drop-shadow(0 1px 1px #0009);width:46%;height:46%}.tc-btn span{text-shadow:0 1px 2px #000c}.tc-btn.tc-down{background:#ffd23f8c;border-color:#ffd23f;transform:scale(.9)}.tc-cluster{right:var(--tc-r);bottom:var(--tc-b);width:calc(var(--U) + var(--u) * 2.6);height:calc(var(--U) + var(--u) * 1.4);position:absolute}.tc-s-main{width:var(--U);height:var(--U);font-size:calc(var(--u) * .22);background:linear-gradient(#e3261dc7,#96100cc7);border:2px solid #ffd23fe6;bottom:0;right:0}.tc-s-main.tc-down{background:linear-gradient(#ff5a3cf2,#c81e14f2)}.tc-s-a{right:calc(var(--U) + var(--u) * .28);bottom:calc(var(--u) * .02)}.tc-s-b{right:calc((var(--U) - var(--u)) / 2);bottom:calc(var(--U) + var(--u) * .28)}.tc-s-c{right:calc(var(--U) + var(--u) * .2);bottom:calc(var(--U) + var(--u) * .1)}.tc-s-d{right:calc(var(--U) + var(--u) * 1.5);bottom:calc(var(--u) * .55)}.tc-btn[data-tc=throttle]{border-radius:calc(var(--u) * .28);width:calc(var(--U) * .86);right:calc(var(--U) * .07)}.tc-btn[data-tc=brake]{border-radius:calc(var(--u) * .24);width:calc(var(--u) * 1.15);height:calc(var(--u) * .92);background:#1e222a9e}.tc-bar{top:var(--tc-t);right:var(--tc-r);gap:calc(var(--u) * .16);display:flex;position:absolute}.tc-top{width:calc(var(--u) * .74);height:calc(var(--u) * .74);border-radius:30%;position:relative}.tc-top span{display:none}.tc-top svg{width:52%;height:52%}@media (prefers-reduced-motion:reduce){.tc-stick,.tc-btn{transition:none}}.vg-root{--hud-k:var(--vg-hud-scale,1);--safe-t:calc(max(12px, env(safe-area-inset-top)) + var(--vg-safe-extra,0px));--safe-r:calc(max(16px, env(safe-area-inset-right)) + var(--vg-safe-extra,0px));--safe-b:calc(max(12px, env(safe-area-inset-bottom)) + var(--vg-safe-extra,0px));--safe-l:calc(max(16px, env(safe-area-inset-left)) + var(--vg-safe-extra,0px));--mm:calc(clamp(112px, 30vh, 240px) * var(--vg-mm-scale,1));--gauge:calc(clamp(100px, 23vh, 188px) * var(--hud-k));--font:"Be Vietnam Pro", "Noto Sans TC", "Segoe UI", "Microsoft JhengHei", "PingFang TC", system-ui, sans-serif;--font-zh:"Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Be Vietnam Pro", "Segoe UI", sans-serif;--ink:#f7f3ea;--ink-dim:#f7f3eab8;--panel:#080a0db3;--panel-solid:#0d1014;--line:#ffffff24;--gold:#ffd23f;--gold-deep:#ff9e1f;--red:#ff3b52;--flag:#da251d;--teal:#35e6cf;--money:#7cf29a;--sign-blue:#0d55ad;--police-blue:#3b82ff;--outline:0 1px 0 #000000e6, 0 0 3px #000000d9, 0 2px 8px #0000008c;pointer-events:none;font-family:var(--font);font-size:calc(clamp(10.5px, 1.6vh + .25vw, 18px) * var(--hud-k));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;font-synthesis:none;line-height:1.25;position:absolute;inset:0}.vg-root *,.vg-root :before,.vg-root :after{box-sizing:border-box}.vg-root [hidden]{display:none!important}.vg-root kbd{min-width:1.75em;height:1.6em;color:var(--gold);font:800 .86em/1 var(--font);vertical-align:.06em;background:linear-gradient(#2b3038,#171a1f);border:1px solid #ffffff47;border-bottom-width:3px;border-radius:.28em;justify-content:center;align-items:center;margin:0 .12em;padding:0 .42em;display:inline-flex}.vg-hud{z-index:10;transition:opacity .3s;position:absolute;inset:0}.vg-title-open .vg-hud,.vg-loading-open .vg-hud,.vg-map-open .vg-hud,.vg-paused .vg-hud{opacity:0}.vg-bar{background:#0000009e;border-radius:2px;flex:1;height:.62em;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #ffffff14}.vg-bar i{transform-origin:0;background:linear-gradient(#8ff7a7,#3fcf6b);transition:transform .25s ease-out,background .3s;position:absolute;inset:0}.vg-mid .vg-bar i{background:linear-gradient(#ffe27a,#f0b323)}.vg-low .vg-bar i{background:linear-gradient(#ff7a86,#e0283e)}.vg-low .vg-health-icon{animation:.9s ease-in-out infinite vg-throb}.vg-health-icon{flex:none;width:1.15em;height:1.15em;display:inline-flex}.vg-health-icon svg{fill:#ff5468;filter:drop-shadow(0 1px 1px #000000e6);width:100%;height:100%}.vg-tr{top:var(--safe-t);right:var(--safe-r);text-shadow:var(--outline);flex-direction:column;align-items:flex-end;gap:.28em;display:flex;position:absolute}.vg-tr-top{align-items:center;gap:.35em;display:flex}.vg-weather{background:var(--panel);border:1px solid var(--line);white-space:nowrap;text-shadow:var(--outline);border-radius:3px;align-items:center;gap:.35em;padding:.18em .55em .2em .4em;font-size:.92em;font-weight:700;display:flex}.vg-weather-icon{width:1.2em;height:1.2em;display:inline-flex}.vg-weather-icon svg{width:100%;height:100%;fill:var(--gold);stroke:var(--gold)}.vg-weather-icon .vg-cloud{fill:#d7dee6;stroke:none}.vg-weather-icon .vg-drops{fill:none;stroke:#5fb0ff}.vg-weather-icon .vg-bolt{fill:var(--gold);stroke:none}.vg-weather[data-kind=rain],.vg-weather[data-kind=storm]{border-color:#5fb0ff73}.vg-weather[data-kind=storm] .vg-bolt{animation:2.4s step-end infinite vg-blink}.vg-flood{color:#cfe8ff;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:var(--outline);--water:#5fb0ff;background:#0a2846d1;border:1px solid #5fb0ff99;border-radius:3px;align-items:center;gap:.35em;margin-top:.15em;padding:.22em .6em .26em .4em;font-size:.95em;font-weight:800;animation:.35s cubic-bezier(.2,.9,.3,1) vg-slide-down;display:flex}.vg-flood.vg-amber{color:#ffe2a6;--water:#ffb43a;background:#462d05d9;border-color:#ffbe3cbf}.vg-flood.vg-red{color:#ffd0d4;--water:#ff4a5a;background:#50080ee0;border-color:#ff4655d9;animation:1s ease-in-out infinite vg-flood-pulse}.vg-flood-icon{width:1.3em;height:1.3em;display:inline-flex}.vg-flood-icon svg{width:100%;height:100%}.vg-flood-icon .vg-pole{fill:#ffffff1f;stroke:#fff9;stroke-width:1px}.vg-flood-icon .vg-level{fill:var(--water)}.vg-flood-icon .vg-wave{stroke:var(--water)}@keyframes vg-flood-pulse{0%,to{box-shadow:0 0 #ff465500}50%{box-shadow:0 0 .9em .1em #ff46558c}}.vg-clock{background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:3px;align-items:center;gap:.35em;padding:.18em .55em .2em .45em;font-size:1.02em;font-weight:700;display:flex}.vg-clock-icon{width:1em;height:1em;display:inline-flex}.vg-clock-icon svg{width:100%;height:100%;fill:var(--gold);stroke:var(--gold)}.vg-money{color:var(--money);font-variant-numeric:tabular-nums;letter-spacing:.01em;-webkit-text-stroke:.06em #000000d9;paint-order:stroke fill;font-size:2.05em;font-weight:800;line-height:1.05;position:relative}.vg-money.vg-gain .vg-money-text{animation:.6s ease-out vg-money-gain}.vg-money.vg-loss .vg-money-text{animation:.5s ease-out vg-money-loss}.vg-money-text{display:inline-block}.vg-money-delta{color:var(--money);white-space:nowrap;opacity:0;-webkit-text-stroke:.08em #000000e6;font-size:.56em;position:absolute;top:100%;right:0}.vg-money-delta.vg-neg{color:#ff6b78}.vg-money-delta.vg-pop{animation:2s cubic-bezier(.2,.9,.3,1) forwards vg-delta-pop}.vg-wanted{gap:.1em;height:1.55em;display:flex}.vg-star{width:1.55em;height:1.55em}.vg-star svg{fill:#00000059;stroke:#fff6;stroke-width:1.4px;filter:drop-shadow(0 1px 1.5px #000000e6);width:100%;height:100%;transition:fill .2s,stroke .2s}.vg-wanted:not(.vg-active){opacity:.55}.vg-star.vg-on svg{fill:#fff;stroke:#1b1b1b;stroke-width:1.2px}.vg-wanted.vg-flash .vg-star.vg-on svg{animation:.5s step-end infinite vg-star-flash}.vg-wanted.vg-bump{animation:.55s cubic-bezier(.3,1.6,.5,1) vg-bump}.vg-health{align-items:center;gap:.4em;width:11.5em;display:flex}.vg-tc{top:var(--safe-t);text-align:center;flex-direction:column;align-items:center;gap:.32em;max-width:min(40em,100vw - 30em);display:flex;position:absolute;left:50%;transform:translate(-50%)}.vg-mission-title{border:2px solid var(--gold);max-width:100%;color:var(--gold);font-family:var(--font-zh);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px #500000e6;background:linear-gradient(#e3261d,#b3150f);border-radius:2px;padding:.24em .9em .28em;font-size:.98em;font-weight:900;overflow:hidden;box-shadow:0 2px #0009,0 6px 18px #00000059}.vg-objective{background:var(--panel);border-left:3px solid var(--gold);max-width:100%;text-shadow:var(--outline);overflow-wrap:anywhere;border-radius:3px;padding:.38em .85em .42em;font-size:1.12em;font-weight:600;line-height:1.3}.vg-objective.vg-new{animation:.45s cubic-bezier(.2,.9,.3,1) vg-slide-down}.vg-timer{background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;min-width:4.2ch;text-shadow:var(--outline);border-radius:3px;padding:.04em .4em .08em;font-size:1.7em;font-weight:800;line-height:1.1}.vg-timer.vg-low{color:#ff4d5e;border-color:#ff4d5e99;animation:1s ease-in-out infinite vg-timer-pulse}.vg-toast{top:calc(var(--safe-t) + 9.2em);text-shadow:var(--outline);white-space:nowrap;background:linear-gradient(90deg,#0000,#080a0dd1 18% 82%,#0000);flex-direction:column;align-items:center;padding:.35em 1.1em .4em;display:flex;position:absolute;left:50%;transform:translate(-50%)}.vg-toast b{color:var(--teal);font-variant-numeric:tabular-nums;font-size:1.25em;font-weight:800}.vg-toast span{color:var(--ink-dim);font-size:.82em}.vg-toast.vg-new{animation:1.8s forwards vg-toast}.vg-bl{left:var(--safe-l);bottom:var(--safe-b);flex-direction:column;align-items:flex-start;gap:.5em;display:flex;position:absolute}.vg-minimap{width:var(--mm);height:var(--mm);background:#0c1013;border-radius:50%;position:relative;box-shadow:0 0 0 2px #000000d9,0 0 0 4px #ffd23fd9,0 0 0 6px #000000bf,0 8px 26px #00000080}.vg-minimap-canvas{border-radius:50%;width:100%;height:100%;display:block}.vg-street{max-width:max(calc(var(--mm) * 1.75), 17em);flex-direction:column;align-items:flex-start;gap:.2em;margin-top:.3em;display:flex}.vg-street-name{background:linear-gradient(180deg, #1667c9, var(--sign-blue));max-width:100%;box-shadow:inset 0 0 0 2px var(--sign-blue), inset 0 0 0 3.5px #fff, 0 3px 0 #0000008c, 0 6px 16px #0006;color:#fff;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px #00000073;border-radius:3px;padding:.28em .75em .32em;font-size:1.38em;font-weight:800;position:relative;overflow:hidden}.vg-street-name.vg-new{animation:.5s cubic-bezier(.2,.9,.3,1) vg-plate}.vg-district{color:var(--ink);text-shadow:var(--outline);white-space:nowrap;font-size:.92em;font-weight:700}.vg-gps{color:var(--ink-dim);font-variant-numeric:tabular-nums;text-shadow:var(--outline);white-space:nowrap;align-items:center;gap:.3em;font-size:.86em;font-weight:600;display:flex}.vg-gps svg{width:1em;height:1em;fill:var(--gold);flex:none}.vg-br{right:var(--safe-r);bottom:var(--safe-b);opacity:0;flex-direction:column;align-items:center;gap:.25em;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1);display:flex;position:absolute;transform:translateY(1.2em)}.vg-br.vg-show{opacity:1;transform:none}.vg-gauge{width:var(--gauge);height:var(--gauge);position:relative}.vg-gauge-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.vg-gauge-bg{fill:#080a0db8;stroke:#ffffff1a;stroke-width:1px}.vg-gauge-track{fill:none;stroke:#ffffff1a;stroke-width:6px;stroke-linecap:round}.vg-gauge-fill{fill:none;stroke:url(#vgGaugeGrad);stroke-width:6px;stroke-linecap:round;transition:stroke-dasharray .12s linear}.vg-tick{stroke:#ffffff47;stroke-width:.9px}.vg-tick-major{stroke:#ffffffa6;stroke-width:1.4px}.vg-gauge-tip{fill:#fff;filter:drop-shadow(0 0 2px #fff);transition:cx .12s linear,cy .12s linear}.vg-gauge-read{flex-direction:column;justify-content:center;align-items:center;padding-top:.5em;display:flex;position:absolute;inset:0}.vg-speed{font-weight:800;font-size:calc(var(--gauge) * .3);font-variant-numeric:tabular-nums;text-shadow:var(--outline);line-height:1}.vg-fast .vg-speed{color:#ffe27a}.vg-speed-unit{font-weight:700;font-size:max(.8em, calc(var(--gauge) * .075));color:var(--ink-dim);letter-spacing:.08em}.vg-vehicle-label{max-width:calc(var(--gauge) * 1.5);text-shadow:var(--outline);white-space:nowrap;text-overflow:ellipsis;font-size:.92em;font-weight:700;overflow:hidden}.vg-vhealth{width:calc(var(--gauge) * .95);align-items:center;gap:.4em;display:flex}.vg-vhealth .vg-health-icon svg{fill:#c9d2dc}.vg-signal{right:calc(100% + .7em);bottom:calc(var(--gauge) * .2);--sig:#39e27a;background:#060709d1;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:.45em;padding:.35em .5em .35em .4em;display:flex;position:absolute;box-shadow:0 6px 18px #00000073}.vg-signal[data-color=red]{--sig:#ff3b3b}.vg-signal[data-color=yellow]{--sig:#ffc928}.vg-signal-head{background:#15181c;border-radius:.5em;flex-direction:column;gap:.22em;padding:.25em;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.vg-lamp{background:#2a2d31;border-radius:50%;width:.95em;height:.95em;transition:background .15s,box-shadow .15s;display:block}.vg-signal[data-color=red] .vg-lamp-r,.vg-signal[data-color=yellow] .vg-lamp-y,.vg-signal[data-color=green] .vg-lamp-g{background:var(--sig);box-shadow:0 0 .5em var(--sig), inset 0 0 .2em #fff9}.vg-signal-read{flex-direction:column;align-items:center;min-width:2.3ch;display:flex}.vg-signal-count{color:var(--sig);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 0 .35em var(--sig);font-size:1.85em;font-weight:900;line-height:1}.vg-signal-dist{color:var(--ink-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:.15em;font-size:.78em;font-weight:700}.vg-signal[data-color=yellow] .vg-signal-count{animation:1s step-end infinite vg-blink}.vg-bc{left:50%;bottom:calc(var(--safe-b) + .4em);width:max-content;max-width:calc(100vw - 2 * (var(--mm) + 3em));flex-direction:column;align-items:center;gap:.6em;display:flex;position:absolute;transform:translate(-50%)}.vg-subtitle{text-align:center;max-width:100%;text-shadow:var(--outline);background:#0000008c;border-radius:3px;padding:.35em .9em .4em;font-size:1.12em;font-weight:600;line-height:1.35}.vg-subtitle b{color:var(--gold);margin-right:.45em;font-weight:800}.vg-subtitle.vg-new,.vg-hint.vg-new{animation:.35s cubic-bezier(.2,.9,.3,1) vg-rise}.vg-hint{background:var(--panel);text-shadow:var(--outline);white-space:nowrap;border:1px solid #ffd23f66;border-radius:3px;align-items:center;gap:.2em;padding:.35em .85em .4em;font-size:1.02em;font-weight:700;display:flex;box-shadow:0 4px 14px #00000059}.vg-bubbles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.vg-bubble{opacity:0;will-change:transform, opacity;--tail:50%;--edge:#2a2a2a;--paper:#fffdf6;--ink-b:#151515;max-width:min(17em,46vw);transition:opacity .2s;position:absolute;top:0;left:0}.vg-bubble.vg-vis{opacity:1}.vg-bubble.vg-vis.vg-fade{opacity:0;transition-duration:.35s}.vg-bubble-body{border:2px solid var(--edge);background:var(--paper);color:var(--ink-b);text-align:center;border-radius:.7em;padding:.38em .7em .42em;position:relative;box-shadow:0 3px #00000059,0 6px 14px #0000004d}.vg-bubble.vg-vis .vg-bubble-body{animation:.28s cubic-bezier(.2,1.4,.4,1) vg-bubble-pop}.vg-bubble-vi{overflow-wrap:anywhere;font-size:1.02em;font-weight:800;line-height:1.22}.vg-bubble-zh{font-family:var(--font-zh);color:#1515159e;margin-top:.12em;font-size:.74em;font-weight:700;line-height:1.25}.vg-bubble-tail{left:var(--tail);border-left:7px solid #0000;border-right:7px solid #0000;border-top:11px solid var(--edge);width:0;height:0;margin-left:-7px;position:absolute;top:calc(100% - 2px)}.vg-bubble-tail:after{content:"";border-left:4.5px solid #0000;border-right:4.5px solid #0000;border-top:7.5px solid var(--paper);position:absolute;top:-12.5px;left:-4.5px}.vg-bubble.vg-clamped .vg-bubble-tail{display:none}.vg-bubble-angry{--edge:#e3262d;--paper:#fff3ef;--ink-b:#3a0606;filter:drop-shadow(1.5px 0 #e3262d)drop-shadow(-1.5px 0 #e3262d)drop-shadow(0 1.5px #e3262d)drop-shadow(0 -1.5px #e3262d)drop-shadow(0 4px 6px #00000059)}.vg-bubble-angry .vg-bubble-body{box-shadow:none;clip-path:polygon(0% 0%,11.1% 9%,22.2% 0%,33.3% 9%,44.4% 0%,55.6% 9%,66.7% 0%,77.8% 9%,88.9% 0%,100% 9%,96% 25%,100% 50%,96% 75%,100% 100%,88.9% 91%,77.8% 100%,66.7% 91%,55.6% 100%,44.4% 91%,33.3% 100%,22.2% 91%,11.1% 100%,0% 91%,4% 75%,0% 50%,4% 25%);border:0;border-radius:0;padding:.7em 1.05em .75em}.vg-bubble-angry .vg-bubble-vi{text-transform:uppercase;letter-spacing:.01em;font-size:1.08em;font-weight:900}.vg-bubble-angry .vg-bubble-tail:after{border-top-color:var(--paper)}.vg-bubble-scared{--edge:#4d8fe8;--paper:#f1f7ff;--ink-b:#0d2448}.vg-bubble-scared.vg-vis .vg-bubble-body{animation:.28s cubic-bezier(.2,1.4,.4,1) vg-bubble-pop,.16s steps(2,end) .28s infinite vg-shake}.vg-bubble-friendly{--edge:#24a865;--paper:#f3fff8;--ink-b:#0c2b1a}.vg-bubble-friendly .vg-bubble-body{border-radius:1.4em;padding:.42em .95em .46em}.vg-bubble-calm{--edge:#6f7883}.vg-bubble-excited{--edge:#f0a000;--paper:#fffaee}.vg-bubble-excited .vg-bubble-vi{font-size:1.08em}.vg-bubble-pain{--edge:#a33fd1;--paper:#fbf3ff;--ink-b:#2e0b3d}.vg-bubble-pain.vg-vis .vg-bubble-body{animation:.28s cubic-bezier(.2,1.4,.4,1) vg-bubble-pop,.5s ease-in-out .28s infinite vg-wobble}.vg-bubble-tourist{--edge:#2d6cdf;--paper:#f3f7ff;--ink-b:#0b1d40}.vg-bubble-tag{z-index:1;background:hsl(var(--hue,200) 68% 38%);border:1.5px solid hsl(var(--hue,200) 70% 70%);color:#fff;width:max-content;max-width:100%;font:800 .7em/1.25 var(--font);white-space:nowrap;text-overflow:ellipsis;border-radius:.35em;margin:0 0 -.35em .5em;padding:.08em .5em .12em;display:block;position:relative;overflow:hidden;box-shadow:0 2px #00000059}.vg-bubble-link{transform-origin:0;background:repeating-linear-gradient(90deg, hsl(var(--hue,200) 75% 65%) 0 6px, transparent 6px 10px);opacity:.85;pointer-events:none;height:2px;position:absolute;top:0;left:0}.vg-bubble-tourist .vg-bubble-body:before{content:"EN";color:#fff;font:800 .62em/1.3 var(--font);letter-spacing:.06em;background:#2d6cdf;border-radius:3px;padding:.05em .35em;position:absolute;top:-.7em;right:.6em}.vg-chatlog{flex-direction:column;align-items:center;gap:.18em;max-width:100%;display:flex}.vg-chat-line{white-space:nowrap;text-overflow:ellipsis;max-width:100%;text-shadow:var(--outline);background:#0000006b;border-radius:3px;padding:.12em .6em .16em;font-size:.82em;line-height:1.3;transition:opacity .5s;animation:.3s ease-out vg-rise;overflow:hidden}.vg-chat-line.vg-out{opacity:0}.vg-chat-line b{font-family:var(--font-zh);color:hsl(var(--hue,170) 80% 68%);margin-right:.4em}.vg-chat-vi{font-weight:700}.vg-chat-zh{font-family:var(--font-zh);color:var(--ink-dim);margin-left:.45em}.vg-pause-note{color:#ffcf8a;margin-top:-.2em;font-size:.8em}@keyframes vg-bubble-pop{0%{opacity:0;transform:scale(.6)translateY(.4em)}to{opacity:1;transform:none}}@keyframes vg-shake{0%{transform:translate(-1px)}50%{transform:translate(1px,-1px)}to{transform:translateY(1px)}}@keyframes vg-wobble{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}.vg-touch{--mm:calc(clamp(92px, 26vmin, 190px) * var(--vg-mm-scale,1));--gauge:calc(clamp(80px, 21vmin, 150px) * var(--hud-k))}.vg-touch .vg-tr{top:calc(var(--safe-t) + var(--tc-u) * .74 + 8px)}.vg-touch .vg-bl{top:var(--safe-t);gap:.35em;bottom:auto}.vg-touch .vg-street{max-width:max(calc(var(--mm) * 1.6), 13em)}.vg-touch .vg-street-name{font-size:1.1em}.vg-touch .vg-br{right:calc(var(--safe-r) + var(--tc-u) * 4.1);bottom:calc(var(--safe-b) + 4px)}@media (orientation:portrait){.vg-touch .vg-br{right:var(--safe-r);bottom:calc(var(--safe-b) + var(--tc-u) * 3.9)}}.vg-touch .vg-vehicle-label,.vg-touch .vg-vhealth{display:none}.vg-touch .vg-tc{max-width:calc(100vw - 2 * (var(--mm) * 1.6 + 2em))}.vg-touch .vg-bc{bottom:calc(var(--safe-b) + var(--gauge) + .8em);max-width:calc(100vw - 340px)}@media (orientation:portrait){.vg-touch .vg-bc{bottom:calc(var(--safe-b) + var(--tc-u) * 3.9 + var(--gauge) + .6em);max-width:calc(100vw - var(--safe-l) - var(--safe-r))}}.vg-touch .vg-toast{top:calc(var(--safe-t) + 7.5em)}.vg-banner{z-index:12;pointer-events:none;text-align:center;justify-content:center;display:flex;position:absolute;top:36%;left:0;right:0}.vg-banner-band{background:linear-gradient(90deg,#0000,#000000b8 22% 78%,#0000);width:100%;padding:.9em 1em 1em;position:relative}.vg-banner-band:before,.vg-banner-band:after{content:"";background:linear-gradient(90deg, transparent, var(--accent,var(--gold)), transparent);height:2px;position:absolute;left:15%;right:15%}.vg-banner-band:before{top:0}.vg-banner-band:after{bottom:0}.vg-banner-kicker{letter-spacing:.3em;color:var(--ink-dim);margin-bottom:.2em;font-size:.95em;font-weight:800}.vg-banner-main{font-family:var(--font-zh);letter-spacing:.06em;color:var(--accent,var(--gold));-webkit-text-stroke:.045em #000000e6;paint-order:stroke fill;text-shadow:0 .06em 0 #000000bf, 0 0 .5em var(--glow,#ffb42859);font-size:clamp(2.6em,9vh,6.2em);font-weight:900;line-height:1.02}.vg-banner-sec{letter-spacing:.32em;color:#fff;-webkit-text-stroke:.05em #000000d9;paint-order:stroke fill;margin-top:.1em;font-size:clamp(1.2em,3.6vh,2.4em);font-weight:900}.vg-banner-sub{color:var(--money);font-variant-numeric:tabular-nums;-webkit-text-stroke:.05em #000000e6;paint-order:stroke fill;margin-top:.45em;font-size:clamp(1.15em,3.2vh,2em);font-weight:800}.vg-banner-passed{--accent:var(--gold);--glow:#ffbe2880}.vg-banner-passed .vg-banner-main{background:linear-gradient(#fff3b0 0%,#ffd23f 45%,#ff9e1f 100%);-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 .05em #5a1400f2)drop-shadow(0 0 .35em #ffaa1e73);-webkit-background-clip:text;background-clip:text}.vg-banner-failed{--accent:#ff6a3d;--glow:#ff502866}.vg-banner-failed .vg-banner-sub,.vg-banner-wasted .vg-banner-sub,.vg-banner-busted .vg-banner-sub,.vg-banner-info .vg-banner-sub{color:var(--ink);font-size:clamp(1em,2.6vh,1.6em);font-weight:700}.vg-banner-wasted{--accent:#e8202f;--glow:#e8202f73;top:38%}.vg-banner-wasted .vg-banner-main,.vg-banner-busted .vg-banner-main{font-family:var(--font);letter-spacing:.08em;font-size:clamp(3em,13vh,8.5em)}.vg-banner-wasted .vg-banner-sec,.vg-banner-busted .vg-banner-sec{font-family:var(--font-zh);letter-spacing:.5em}.vg-banner-busted{--accent:#4aa3ff;--glow:#4aa3ff80;top:38%}.vg-banner-info{--accent:var(--teal);top:20%}.vg-banner-info .vg-banner-band{padding:.55em 1em .6em}.vg-banner-info .vg-banner-main{color:#fff;--glow:#35e6cf59;font-size:clamp(1.6em,5vh,3em)}.vg-banner-mission{--accent:var(--gold);top:24%}.vg-banner-mission .vg-banner-main{font-size:clamp(2.2em,7.5vh,4.8em)}.vg-banner-mission .vg-banner-sec{color:var(--gold);letter-spacing:.12em}.vg-banner-mission .vg-banner-sub{color:var(--ink);font-size:clamp(1em,2.6vh,1.5em);font-weight:600}.vg-banner.vg-in .vg-banner-band{animation:.5s cubic-bezier(.2,.9,.3,1) both vg-band-in}.vg-banner.vg-in .vg-banner-main{animation:.55s cubic-bezier(.2,1.3,.4,1) both vg-slam}.vg-banner.vg-in .vg-banner-sec,.vg-banner.vg-in .vg-banner-sub,.vg-banner.vg-in .vg-banner-kicker{animation:.5s ease-out .25s both vg-fade-up}.vg-banner-wasted.vg-in .vg-banner-main,.vg-banner-busted.vg-in .vg-banner-main{animation:1.1s cubic-bezier(.15,.85,.3,1) both vg-slow-slam}.vg-banner.vg-out{animation:.45s forwards vg-fade-out}#game-canvas.vg-filter-anim{transition:filter .8s}.vg-btn{appearance:none;min-height:44px;color:var(--ink);font:700 1em/1.1 var(--font);cursor:pointer;pointer-events:auto;background:linear-gradient(#232830,#15181d);border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;gap:.4em;padding:.5em 1.1em;transition:transform 80ms,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.vg-btn:hover{border-color:var(--gold);background:linear-gradient(#2c323b,#1b1f25)}.vg-btn:active{transform:translateY(1px)scale(.98)}.vg-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vg-btn:disabled{opacity:.45;cursor:default}.vg-intro{z-index:24;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);pointer-events:auto;cursor:pointer;background:radial-gradient(#00000059,#0009);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vg-intro-card{border:1px solid #ffd23f59;border-top:4px solid var(--flag);background:linear-gradient(160deg,#14100ef5,#0a0b0ef5);border-radius:4px;width:min(36em,92vw);max-height:100%;padding:1.3em 1.6em 1.1em;position:relative;overflow:hidden;box-shadow:0 20px 60px #0009}.vg-open .vg-intro-card{animation:.45s cubic-bezier(.2,.9,.3,1) vg-card-in}.vg-intro-kicker{letter-spacing:.22em;color:var(--ink-dim);align-items:center;gap:.6em;font-size:.82em;font-weight:800;display:flex}.vg-intro-kicker span{background:var(--flag);color:var(--gold);letter-spacing:.1em;font-family:var(--font-zh);padding:.15em .5em}.vg-intro-zh{font-family:var(--font-zh);color:#fff;margin:.35em 0 0;font-size:2.5em;font-weight:900;line-height:1.1}.vg-intro-vi{color:var(--gold);letter-spacing:.02em;margin-top:.1em;font-size:1.35em;font-weight:800}.vg-intro-desc{color:#f7f3eae6;margin:.8em 0 1em;font-size:1.05em;line-height:1.55}.vg-intro-foot{color:var(--ink-dim);align-items:center;gap:1em;font-size:.86em;display:flex}.vg-intro-progress{background:#ffffff1f;flex:1;height:3px;overflow:hidden}.vg-intro-progress i{background:var(--gold);transform-origin:0;height:100%;animation:linear forwards vg-shrink;display:block}.vg-bigmap{z-index:30;pointer-events:auto;touch-action:none;background:#080a0c;position:absolute;inset:0}.vg-bigmap.vg-open{animation:.2s vg-fade-in}.vg-bigmap-canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.vg-bigmap-canvas.vg-dragging{cursor:grabbing}.vg-bigmap-head{top:var(--safe-t);left:var(--safe-l);right:var(--safe-r);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:1em;display:flex;position:absolute}.vg-bigmap-title{border-left:4px solid var(--flag);text-shadow:var(--outline);background:#080a0dd9;border-radius:3px;align-items:baseline;gap:.6em;padding:.35em .9em .4em;display:flex}.vg-bigmap-title b{font-family:var(--font-zh);color:var(--gold);font-size:1.5em;font-weight:900}.vg-bigmap-title span{font-size:.95em;font-weight:700}.vg-bigmap-close{pointer-events:auto}.vg-bigmap-legend{left:var(--safe-l);bottom:calc(var(--safe-b) + 3.2em);border:1px solid var(--line);pointer-events:none;background:#080a0dd9;border-radius:4px;grid-template-columns:1fr;gap:.18em;padding:.6em .8em .7em;font-size:.9em;display:grid;position:absolute}.vg-legend-title{color:var(--gold);letter-spacing:.06em;margin-bottom:.25em;font-size:.92em;font-weight:800}.vg-legend-row{white-space:nowrap;align-items:center;gap:.5em;font-weight:600;display:flex}.vg-legend-icon{flex:none;width:1.55em;height:1.55em}.vg-bigmap-zoom{right:var(--safe-r);flex-direction:column;gap:.4em;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.vg-bigmap-zoom .vg-btn{min-width:44px;padding:.4em .6em;font-size:1.15em}.vg-bigmap-zoom .vg-bigmap-center{font-size:.85em}.vg-bigmap-foot{padding:1.6em var(--safe-r) var(--safe-b) var(--safe-l);color:var(--ink-dim);pointer-events:none;background:linear-gradient(#0000,#06080abf 45%,#06080aeb 100%);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3em 1.4em;font-size:.86em;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.vg-bigmap-coord{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:auto}.vg-bigmap-scale{color:var(--ink);align-items:center;gap:.5em;display:inline-flex}.vg-bigmap-scale i{border:2px solid var(--ink);border-top:0;height:.55em;display:block}.vg-bigmap-attrib{color:var(--ink)}.vg-pause{z-index:40;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);-webkit-backdrop-filter:blur(6px)saturate(.6);pointer-events:auto;background:#04050899;justify-content:center;align-items:center;animation:.2s vg-fade-in;display:flex;position:absolute;inset:0}.vg-pause-panel{border:1px solid #ffffff1f;border-top:4px solid var(--flag);background:#0a0c0ff0;border-radius:4px;flex-direction:column;gap:.8em;width:min(25em,92vw);max-height:100%;padding:1.3em 1.4em 1em;display:flex;overflow:auto;box-shadow:0 24px 70px #0009}.vg-pause-head{align-items:baseline;gap:.7em;display:flex}.vg-pause-zh{font-family:var(--font-zh);color:var(--gold);font-size:2.1em;font-weight:900}.vg-pause-vi{letter-spacing:.24em;color:var(--ink-dim);font-weight:800}.vg-pause-list{flex-direction:column;gap:.45em;display:flex}.vg-btn-menu{text-align:left;justify-content:space-between;width:100%;font-size:1.1em}.vg-btn-menu b{color:var(--ink-dim);font-size:.85em}.vg-btn-menu b.vg-on{color:var(--red)}.vg-btn-menu.vg-active{border-color:var(--teal)}.vg-btn-primary{border-color:var(--gold);color:var(--gold);font-family:var(--font-zh);background:linear-gradient(#e3261d,#a8140e);font-weight:900}.vg-btn-primary:hover{background:linear-gradient(#f23a2f,#b8180f)}.vg-pause-help{border-top:1px solid var(--line);padding-top:.2em}.vg-pause-foot{color:var(--ink-dim);font-size:.78em}.vg-ctl-list{grid-template-columns:1fr;gap:.32em;display:grid}.vg-ctl{grid-template-columns:7.2em 1fr;align-items:center;gap:.6em;font-size:.95em;display:grid}.vg-ctl-keys{flex-wrap:nowrap;justify-content:flex-end;display:flex}.vg-ctl-label{color:#f7f3eaeb;font-weight:600}.vg-title{z-index:50;pointer-events:auto;opacity:0;background:#120a1e;transition:opacity .45s;position:absolute;inset:0;overflow:hidden}.vg-title.vg-open{opacity:1}.vg-title.vg-leaving{opacity:0}.vg-title-sky{background:linear-gradient(#120a26 0%,#2d1347 28%,#8a2a5e 55%,#e2544a 74%,#ffb347 90%);position:absolute;inset:0}.vg-title-sun{background:radial-gradient(circle at 50% 40%,#fff2c2,#ffc35a 45%,#ff7a3d 80%);border-radius:50%;width:34vh;height:34vh;position:absolute;top:44%;left:62%;transform:translate(-50%,-50%);box-shadow:0 0 12vh #ff963c8c}.vg-skyline{width:100%;height:62%;position:absolute;bottom:0;left:0;right:0}.vg-skyline .vg-blink{animation:1.6s step-end infinite vg-blink}.vg-skyline .vg-trails{animation:6s linear infinite alternate vg-trails}.vg-title-shade{background:linear-gradient(90deg,#06030ce0 0%,#06030c8c 38%,#06030c00 62%),linear-gradient(#0000 70%,#050309bf);position:absolute;inset:0}.vg-title-main{left:calc(var(--safe-l) + 2vw);flex-direction:column;align-items:flex-start;gap:1.1em;max-width:min(46em,58vw);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.vg-title.vg-open .vg-title-main{animation:.9s cubic-bezier(.2,.9,.3,1) .1s both vg-title-in}.vg-title-kicker{border-left:3px solid var(--gold);letter-spacing:.16em;color:#ffe6bee6;font-variant-numeric:tabular-nums;background:#00000059;padding:.25em .6em;font-size:.85em;font-weight:700}.vg-logo{flex-direction:column;margin:0;line-height:1;display:flex}.vg-logo-zh{font-family:var(--font-zh);letter-spacing:.04em;background:linear-gradient(#fff6c8 5%,#ffd23f 45%,#ff8a1f 95%);-webkit-text-fill-color:transparent;filter:drop-shadow(.05em .06em #b3150f)drop-shadow(0 .1em .2em #0009);-webkit-background-clip:text;background-clip:text;font-size:clamp(3.4em,15vh,9.5em);font-weight:900}.vg-logo-vi{z-index:1;letter-spacing:.14em;color:#fff;text-shadow:.06em .06em #b3150f,0 0 .6em #00000080;margin-top:.18em;font-size:clamp(1.4em,5.6vh,3.4em);font-weight:900;position:relative}.vg-logo-vi em{color:var(--gold);font-style:normal}.vg-title-tag{text-shadow:var(--outline);flex-direction:column;gap:.2em;margin:0;font-size:1.2em;font-weight:700;display:flex}.vg-vi{color:#ffe6bed9;font-size:.82em;font-weight:600}.vg-btn-start{color:#3a1200;min-height:52px;font-family:var(--font-zh);letter-spacing:.08em;background:linear-gradient(#ffe066,#ffb21f);border:2px solid #fff3b0;padding:.65em 1.6em .7em;font-size:1.35em;font-weight:900;animation:2.2s ease-in-out infinite vg-glow;box-shadow:0 .2em #a5520b,0 .6em 1.6em #ff8c1e73}.vg-btn-start span{font-family:var(--font);letter-spacing:.04em;opacity:.75;font-size:.72em;font-weight:700}.vg-btn-start:hover{background:linear-gradient(#fff08a,#ffc23a);border-color:#fff}.vg-title-controls{right:calc(var(--safe-r) + 1vw);border:1px solid #ffd23f40;border-top:3px solid var(--gold);-webkit-backdrop-filter:blur(4px);background:#08060ec7;border-radius:4px;width:min(23em,34vw);padding:1em 1.1em 1.1em;position:absolute;top:50%;transform:translateY(-50%)}.vg-title-controls h2{font-family:var(--font-zh);color:var(--gold);align-items:baseline;gap:.5em;margin:0 0 .6em;font-size:1.2em;font-weight:900;display:flex}.vg-title-controls h2 span{font-family:var(--font);letter-spacing:.12em;color:var(--ink-dim);font-size:.72em;font-weight:700}.vg-title-foot{left:0;right:0;bottom:var(--safe-b);text-align:center;color:#ffe6c8a6;font-size:.8em;font-weight:600;position:absolute}.vg-loading{z-index:60;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);pointer-events:auto;background:radial-gradient(at 50% 120%,#4a1838 0%,#140a1f 55%,#07050b 100%);justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.vg-loading.vg-fade{opacity:0;pointer-events:none}.vg-loading-inner{flex-direction:column;align-items:center;gap:.9em;width:min(30em,86vw);display:flex}.vg-loading-logo{flex-direction:column;align-items:center;line-height:1;display:flex}.vg-loading-logo .vg-logo-zh{font-size:clamp(2.6em,10vh,5.5em)}.vg-loading-logo .vg-logo-vi{font-size:clamp(1em,3.5vh,1.8em)}.vg-loading-track{background:#ffffff1a;border-radius:1px;width:100%;height:6px;margin-top:.6em;position:relative;overflow:hidden}.vg-loading-track i{transform-origin:0;background:linear-gradient(90deg,#da251d,#ffd23f);transition:transform .25s ease-out;position:absolute;inset:0;transform:scaleX(0);box-shadow:0 0 12px #ffd23f99}.vg-loading-row{width:100%;color:var(--ink-dim);justify-content:space-between;font-size:.92em;font-weight:600;display:flex}.vg-loading-pct{font-variant-numeric:tabular-nums;color:var(--gold);font-weight:800}.vg-loading-tip{text-align:center;color:#f7f3eacc;flex-direction:column;align-items:center;gap:.15em;margin-top:.6em;font-size:.92em;display:flex}@media (height<=520px){.vg-title-main{gap:.6em}.vg-title-controls{width:min(19em,38vw);padding:.7em .8em .8em}.vg-ctl{grid-template-columns:6.6em 1fr;font-size:.86em}.vg-ctl-list{gap:.2em}.vg-title-controls h2{margin-bottom:.35em}.vg-bigmap-legend{display:none}.vg-intro-zh{font-size:2em}.vg-intro-desc{margin:.5em 0 .7em}}@media (width<=700px) and (orientation:portrait){.vg-title-controls{display:none}.vg-title-main{max-width:calc(100vw - 2 * var(--safe-l))}}@media (prefers-reduced-motion:reduce){.vg-root *,.vg-root :before,.vg-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes vg-delta-pop{0%{opacity:0;transform:translateY(-.4em)scale(1.4)}12%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1;transform:translateY(.15em)}to{opacity:0;transform:translateY(.9em)}}@keyframes vg-money-gain{0%{transform:scale(1)}30%{color:#c8ffd5;transform:scale(1.12)}to{transform:scale(1)}}@keyframes vg-money-loss{0%,to{transform:translate(0)}25%{color:#ff8a94;transform:translate(-.12em)}50%{transform:translate(.12em)}75%{transform:translate(-.06em)}}@keyframes vg-star-flash{0%{opacity:1}50%{opacity:.15}}@keyframes vg-bump{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes vg-throb{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes vg-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes vg-slide-down{0%{opacity:0;transform:translateY(-.6em)}to{opacity:1;transform:none}}@keyframes vg-rise{0%{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}@keyframes vg-plate{0%{opacity:0;transform:translate(-.8em)}to{opacity:1;transform:none}}@keyframes vg-toast{0%{opacity:0;transform:translate(-50%)scale(1.25)}12%{opacity:1;transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-.4em)}}@keyframes vg-band-in{0%{clip-path:inset(0 50%)}to{clip-path:inset(0)}}@keyframes vg-slam{0%{opacity:0;letter-spacing:.4em;transform:scale(1.8)}to{opacity:1;transform:scale(1)}}@keyframes vg-slow-slam{0%{opacity:0;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}@keyframes vg-fade-up{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}@keyframes vg-fade-out{to{opacity:0}}@keyframes vg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vg-card-in{0%{opacity:0;transform:translateY(1em)scale(.97)}to{opacity:1;transform:none}}@keyframes vg-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes vg-title-in{0%{opacity:0;transform:translateY(-50%)translate(-1.5em)}to{opacity:1;transform:translateY(-50%)}}@keyframes vg-glow{0%,to{box-shadow:0 .2em #a5520b,0 .6em 1.6em #ff8c1e59}50%{box-shadow:0 .2em #a5520b,0 .6em 2.2em #ffaa28bf}}@keyframes vg-blink{0%{opacity:1}50%{opacity:.1}}@keyframes vg-trails{0%{transform:translate(-30px)}to{transform:translate(30px)}}.vg-no-bubbles .vg-bubbles,.vg-no-bubbles .vg-chatlog{display:none!important}.vg-fps{left:50%;top:max(4px, calc(var(--safe-t) - 8px));z-index:15;color:var(--money);pointer-events:none;background:#0000008c;border-radius:3px;padding:.1em .5em;font:700 11px/1.3 ui-monospace,Cascadia Mono,Consolas,monospace;position:absolute;transform:translate(-50%)}.vg-title-actions{flex-wrap:wrap;align-items:center;gap:.7em;display:flex}.vg-title .vg-btn-settings{min-height:52px;font-family:var(--font-zh);letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);background:#0a0c1099;border:2px solid #ffffff59;padding:.65em 1.2em .7em;font-size:1.1em;font-weight:900}.vg-title .vg-btn-settings span{font-family:var(--font);opacity:.7;font-size:.75em;font-weight:600}.vg-settings{z-index:60;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);-webkit-backdrop-filter:blur(6px)saturate(.6);pointer-events:auto;-webkit-user-select:none;user-select:none;background:#040508a8;justify-content:center;align-items:center;font-size:clamp(13.5px,1.5vh + .35vw,17px);animation:.18s vg-fade-in;display:flex;position:absolute;inset:0}.vg-settings-panel{border:1px solid #ffffff1f;border-top:4px solid var(--flag);background:#0a0c0ff5;border-radius:6px;flex-direction:column;width:min(38em,100%);height:min(36em,100%);display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.vg-settings-head{align-items:baseline;gap:.7em;padding:.8em 1em .45em 1.2em;display:flex}.vg-settings-head .vg-pause-zh{font-size:1.7em}.vg-settings-close{border-radius:50%;align-self:center;width:44px;min-height:44px;margin-left:auto;padding:0}.vg-settings-close svg{width:20px;height:20px}.vg-settings-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:2px;padding:0 .8em;display:grid}.vg-settings-tab{appearance:none;min-height:48px;color:var(--ink-dim);font:800 1.05em/1.1 var(--font-zh);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex-direction:column;align-items:center;gap:.1em;padding:.45em .3em .5em;transition:color .15s,border-color .15s,background .15s;display:flex}.vg-settings-tab small{font:600 .68em/1.1 var(--font);letter-spacing:.04em;opacity:.8}.vg-settings-tab:hover{color:var(--ink);background:#ffffff0a}.vg-settings-tab[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.vg-settings-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.vg-settings-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.vg-settings-page{flex-direction:column;padding:.3em 1.2em 1em;display:flex}.vg-settings-page[hidden]{display:none}.vg-set-section{letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:.9em 0 .1em;font-size:.74em;font-weight:800}.vg-set-row{border-bottom:1px solid #ffffff0f;grid-template-columns:minmax(7.5em,.8fr) 1.6fr;align-items:center;gap:.4em 1em;padding:.55em 0;display:grid}.vg-set-label{flex-direction:column;gap:.1em;display:flex}.vg-set-label span{font-family:var(--font-zh);font-weight:800}.vg-set-label small{color:var(--ink-dim);font-size:.74em}.vg-set-ctl{justify-content:flex-end;align-items:center;min-width:0;display:flex}.vg-seg{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.vg-seg-btn{appearance:none;min-width:3.4em;min-height:40px;color:var(--ink-dim);font:700 .9em/1.1 var(--font);cursor:pointer;background:#171b21;border:1px solid #ffffff2e;border-radius:4px;padding:.35em .75em;transition:background .12s,border-color .12s,color .12s}.vg-seg-btn:hover{color:var(--ink);border-color:#ffd23f99}.vg-seg-btn[aria-checked=true]{border-color:var(--gold);color:#fff;background:linear-gradient(#e3261d,#a8140e)}.vg-seg-btn:focus-visible,.vg-switch:focus-visible,.vg-range input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.vg-seg-btn.vg-seg-auto{cursor:default;border-style:dashed}.vg-seg-btn.vg-seg-auto[aria-checked=false]{opacity:.45}.vg-seg-btn.vg-seg-auto[aria-checked=true]{border-color:var(--teal);color:var(--teal);background:#35e6cf29}.vg-range{gap:.8em}.vg-range input{--fill:50%;appearance:none;cursor:pointer;touch-action:none;background:0 0;flex:1;min-width:6em;height:40px;margin:0}.vg-range input::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--gold) var(--fill), #ffffff29 var(--fill));border-radius:3px;height:6px}.vg-range input::-moz-range-track{background:linear-gradient(90deg, var(--gold) var(--fill), #ffffff29 var(--fill));border-radius:3px;height:6px}.vg-range input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--flag);border:2px solid #fff;border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 2px 6px #00000080}.vg-range input::-moz-range-thumb{background:var(--flag);border:2px solid #fff;border-radius:50%;width:22px;height:22px}.vg-range-val{font-variant-numeric:tabular-nums;text-align:right;min-width:4.2em;color:var(--ink);font-size:.86em;font-weight:700}.vg-set-row[data-set=renderScale] .vg-range-val{min-width:9.5em}.vg-switch{appearance:none;min-height:40px;color:var(--ink-dim);font:700 .9em/1 var(--font-zh);cursor:pointer;background:0 0;border:0;align-items:center;gap:.55em;padding:0 .2em 0 0;display:inline-flex}.vg-switch i{background:#2a3038;border:1px solid #fff3;border-radius:13px;width:46px;height:26px;transition:background .15s;position:relative}.vg-switch i:after{content:"";background:#cfd3da;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px}.vg-switch[aria-checked=true]{color:var(--ink)}.vg-switch[aria-checked=true] i{background:var(--flag);border-color:var(--gold)}.vg-switch[aria-checked=true] i:after{background:#fff;transform:translate(20px)}.vg-switch:disabled{opacity:.4;cursor:default}.vg-set-reload,.vg-set-note{color:#ffcf8a;background:#ff9e1f1a;border:1px solid #ff9e1f59;border-radius:4px;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.5em .8em;padding:.5em .7em;font-size:.86em;display:flex}.vg-set-reload[hidden],.vg-set-note[hidden]{display:none}.vg-set-reload .vg-btn{min-height:36px;padding:.3em .9em;font-size:.95em}.vg-settings-foot{border-top:1px solid var(--line);color:var(--ink-dim);padding:.55em 1.2em .7em;font-size:.76em}@media (width<=640px),(height<=480px){.vg-settings{padding:0}.vg-settings-panel{width:100%;height:100%;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-radius:0}.vg-settings-head{padding-top:max(.6em, env(safe-area-inset-top))}}@media (width<=520px){.vg-set-row{grid-template-columns:1fr}.vg-set-ctl,.vg-seg{justify-content:flex-start}.vg-seg-btn{flex:auto}}@media (prefers-reduced-motion:reduce){.vg-settings,.vg-switch i,.vg-switch i:after{transition:none;animation:none}}
