@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{color-scheme:light;--color-main: #1877f2;--accent: var(--color-main);--accent-hover: color-mix(in srgb, var(--color-main) 85%, black);--accent-dark: color-mix(in srgb, var(--color-main) 70%, black);--accent-light: color-mix(in srgb, var(--color-main) 75%, white);--accent-subtle: color-mix(in srgb, var(--color-main) 8%, transparent);--accent-border: color-mix(in srgb, var(--color-main) 25%, transparent);--accent-shadow: color-mix(in srgb, var(--color-main) 25%, transparent);--ok: var(--color-main);--sig: var(--color-main);--panel: rgba(255, 255, 255, .94);--panel-solid: #ffffff;--line: #e2e8f0;--line-strong: #cbd5e1;--text: #0f172a;--text-muted: #64748b;--text-sub: #475569;--muted: #64748b;--bad: #ef4444;--warn: #f59e0b;--bg-page: #f8fafc;--shadow-card: 0 20px 40px -15px rgba(0, 0, 0, .08), 0 0 1px 1px rgba(0, 0, 0, .04);--shadow-modal: 0 25px 50px -12px rgba(15, 23, 42, .25);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg-page);color:var(--text);overflow:hidden;user-select:none;font-family:Inter,system-ui,-apple-system,sans-serif}#app,#view{position:fixed;inset:0}#view canvas{display:block;width:100%;height:100%}.hidden{display:none!important}#hud{position:fixed;inset:0;pointer-events:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(10px);box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000a}.label{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:700;text-transform:uppercase}@keyframes slidein{0%{transform:translate(-20px);opacity:0}}.chip{position:absolute;top:12px;left:50%;transform:translate(-50%);max-width:min(640px,60vw);background:#fff;border:2px solid var(--accent);color:var(--accent-dark);font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px var(--accent-shadow)}.chip.minus,.chip.fail{color:#991b1b;border-color:#ef4444;background:#fef2f2;box-shadow:0 10px 30px #ef444433}.chip.end{color:var(--accent-dark);border-color:var(--ok);background:var(--accent-subtle)}.chip-dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none;animation:blink .8s infinite}@keyframes blink{50%{opacity:.2}}.toast{align-self:flex-start;max-width:100%;font-size:11.5px;font-weight:600;line-height:1.4;color:#fff;background:#0f172ac7;padding:6px 10px;border-radius:8px;border-left:3px solid var(--accent);box-shadow:0 4px 12px #0f172a2e;animation:slidein .2s ease-out}#hud{--hud-bg: rgba(255, 255, 255, .86);--hud-line: rgba(15, 23, 42, .08);--hud-shadow: 0 6px 18px -6px rgba(15, 23, 42, .18), 0 1px 2px rgba(15, 23, 42, .06);--hud-text: #0f172a;--hud-sub: #475569;--hud-muted: #94a3b8;--hud-track: #cfd8e3;font-size:12px;color:var(--hud-text)}#hud .panel{background:var(--hud-bg);border:1px solid var(--hud-line);border-radius:12px;box-shadow:var(--hud-shadow);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4)}#hud kbd{min-width:0;padding:0 5px;border-radius:4px;border-width:1px 1px 2px;font-size:10px;line-height:15px;font-weight:700;color:var(--hud-text);background:#fff;vertical-align:1px}.hud-left{position:absolute;top:12px;left:12px;width:268px;display:flex;flex-direction:column;gap:6px}.exam{padding:9px 12px 10px}.exam-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-pill{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent-dark);background:var(--accent-subtle);border:1px solid var(--accent-border);padding:2px 8px;border-radius:999px;white-space:nowrap}.timer{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--hud-text)}.timer:empty{display:none}.timer.low{color:var(--bad)}.score{margin-top:6px;font-size:26px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--hud-text)}.score small{font-size:11px;font-weight:600;color:var(--hud-muted);margin-left:4px}.score.warn{color:var(--warn)}.score.bad{color:var(--bad)}.exam.free .score{display:none}.station{margin-top:7px;font-size:13px;font-weight:700;line-height:1.3;color:var(--hud-text);display:flex;align-items:baseline;gap:6px}.station:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}.hint{margin-top:3px;padding-left:12px;font-size:12px;line-height:1.5;color:var(--hud-sub)}.hint:empty{display:none}.log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.log li{display:flex;align-items:flex-start;gap:8px;padding:5px 8px;font-size:11.5px;line-height:1.4;color:var(--hud-text);background:var(--hud-bg);border:1px solid var(--hud-line);border-radius:8px;box-shadow:var(--hud-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:slidein .25s ease-out}.log li b{flex:none;min-width:30px;text-align:center;font-size:10.5px;font-weight:800;padding:1px 4px;border-radius:5px;color:#fff;background:var(--bad)}.log li.info b{background:var(--accent)}.mapbox{position:absolute;top:12px;right:12px;width:148px}.mapbox canvas{display:block;width:148px;height:148px;border-radius:12px;background:#6d8b4c;border:1px solid var(--hud-line);box-shadow:var(--hud-shadow)}.cam{position:absolute;left:50%;bottom:6px;transform:translate(-50%);font-size:10px;font-weight:600;white-space:nowrap;color:#fff;background:#0f172a9e;padding:1px 8px;border-radius:999px}.chippanel{position:absolute;top:168px;right:12px;width:260px;padding:8px 10px}.chippanel .label{font-size:10px}.chippanel ol{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:11px;line-height:1.35;color:var(--hud-sub)}.chippanel li b{font-variant-numeric:tabular-nums;color:var(--hud-muted);font-weight:600}.chippanel li.on{color:var(--hud-text)}.chippanel li em{font-style:normal;color:var(--hud-muted)}.dash{position:absolute;right:12px;bottom:12px;display:flex;align-items:stretch;gap:10px;padding:8px 10px}.gearbox{width:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-subtle);border:1px solid var(--accent-border)}.gearbox .cap{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hud-muted)}.gear{font-size:30px;font-weight:800;line-height:1;color:var(--accent-dark)}.readouts{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:168px}.speed{display:flex;align-items:baseline;gap:4px}.speed b{font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--hud-text)}.speed span{font-size:11px;font-weight:600;color:var(--hud-muted)}.rpm{display:flex;align-items:center;gap:6px}.rpmval{font-size:10.5px;font-weight:600;color:var(--hud-muted);white-space:nowrap}.rpmval b{display:inline-block;min-width:32px;text-align:right;color:var(--hud-text);font-variant-numeric:tabular-nums}.rpmbar{position:relative;flex:1;height:5px;background:var(--hud-track);border-radius:3px;overflow:hidden}.rpmbar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--color-main),#f59e0b 65%,#ef4444)}.rpm4k{position:absolute;left:61.5%;top:0;bottom:0;width:1.5px;background:var(--bad)}.lamps{display:flex;gap:3px}.lamp{font-size:9.5px;font-weight:700;line-height:15px;padding:0 5px;border-radius:4px;white-space:nowrap;color:var(--hud-muted);background:transparent;border:1px solid var(--hud-track)}.lamp.on{color:#fff;background:var(--accent);border-color:var(--accent)}.lamp.red.on{background:var(--bad);border-color:var(--bad)}.lamp.sig.on{background:#16a34a;border-color:#16a34a}.pedals{display:flex;gap:6px;padding-left:10px;border-left:1px solid var(--hud-line)}.pedal{display:flex;flex-direction:column;align-items:center;gap:3px}.pedal label{display:flex;flex-direction:column;align-items:center;font-size:9.5px;font-weight:600;line-height:1.1;color:var(--hud-sub)}.pedal em{font-style:normal;font-size:8.5px;font-weight:800;color:var(--warn);min-height:10px}.bar{position:relative;width:10px;height:52px;background:var(--hud-track);border-radius:5px;overflow:hidden}.bar i{position:absolute;left:0;right:0;bottom:0;height:0;border-radius:5px;background:#38bdf8}.brake .bar i{background:var(--bad)}.gas .bar i{background:#16a34a}.clutch .bar i.biting{background:var(--warn)}.bite{position:absolute;left:0;right:0;bottom:40%;height:20%;z-index:1;background:repeating-linear-gradient(45deg,rgba(245,158,11,.35) 0 3px,transparent 3px 6px)}.hud-bottom{position:absolute;left:12px;bottom:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.hud-bar{display:flex;gap:2px;padding:3px;background:var(--hud-bg);border:1px solid var(--hud-line);border-radius:10px;box-shadow:var(--hud-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hud-bar button,.hud-bar a{pointer-events:auto;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:11.5px;font-weight:600;color:var(--hud-sub);background:transparent;border:0;border-radius:7px;cursor:pointer;box-shadow:none;text-decoration:none}.hud-bar button:hover,.hud-bar a:hover{color:var(--hud-text);background:#0f172a0f}.hud-tip{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:3px;animation:tipfade .6s ease 30s forwards}.hud-tip li{display:flex;align-items:center;gap:6px;font-size:10.5px;line-height:1.3;color:#fff;background:#0f172a80;padding:2px 8px 2px 3px;border-radius:6px;white-space:nowrap}#hud .hud-tip kbd{min-width:18px;text-align:center}@keyframes tipfade{to{opacity:0;visibility:hidden}}@media(max-height:720px),(max-width:1100px){.hud-left{width:240px}.mapbox,.mapbox canvas{width:120px;height:120px}.chippanel{top:140px}.hud-tip{display:none}}html.dark #hud{--hud-bg: rgba(24, 24, 27, .82);--hud-line: rgba(255, 255, 255, .08);--hud-text: #f4f4f5;--hud-sub: #d4d4d8;--hud-muted: #a1a1aa;--hud-track: #3f3f46}html.dark #hud kbd{background:#27272a;color:#f4f4f5}html.dark .hud-bar button:hover,html.dark .hud-bar a:hover{background:#ffffff14}.user-guide-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;margin-bottom:16px;background:#1877f214;border:1px solid rgba(24,119,242,.25);border-radius:12px;font-size:13px;color:var(--text, #1e293b)}.user-guide-banner a{color:var(--accent-dark, #1877f2);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.user-guide-banner a:hover{text-decoration:underline}.help-web-link{margin-top:14px;padding-top:12px;border-top:1px solid var(--line, #e2e8f0);text-align:center}.help-web-link a{color:var(--accent-dark, #1877f2);font-size:13px;font-weight:700;text-decoration:none}.help-web-link a:hover{text-decoration:underline}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a73;backdrop-filter:blur(6px);padding:16px;overflow:auto;z-index:50}.card{width:min(920px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 36px;user-select:text;box-shadow:var(--shadow-modal);color:var(--text)}.card.narrow{width:min(580px,100%)}h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.02em;color:#0f172a}h1 span{color:var(--accent);background:linear-gradient(135deg,var(--color-main),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent}h2{margin:0 0 12px;font-size:24px;font-weight:800;color:#0f172a}.sub{color:var(--muted);margin:6px 0 20px;font-size:15px;line-height:1.6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 6px;align-items:center}button{font:inherit;font-weight:600;padding:11px 22px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--text);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{background:#f8fafc;border-color:#94a3b8}button.primary{background:linear-gradient(135deg,var(--color-main),var(--accent-hover));border:1px solid transparent;color:#fff;box-shadow:0 4px 14px var(--accent-shadow)}button.primary:hover{background:linear-gradient(135deg,var(--accent-hover),var(--accent-dark));box-shadow:0 6px 18px var(--accent-shadow);transform:translateY(-1px)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{background:#f1f5f9;color:var(--text)}button.big{padding:13px 32px;font-size:16px;font-weight:700}.settings{padding:14px 16px;border:1px solid var(--line);background:#f8fafc;border-radius:12px;font-size:14px;margin-top:18px}.settings summary{cursor:pointer;font-weight:700;color:#0f172a;outline:none}.setgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding-top:14px}.settings label{display:flex;flex-direction:column;gap:6px;color:var(--text-sub);font-weight:500}.settings label.row{flex-direction:row;align-items:center;gap:8px}.settings .note{grid-column:1 / -1;margin:0;color:var(--muted);font-size:12.5px}select,input[type=range]{font:inherit;background:#fff;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px}.keys{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;margin-top:12px;font-size:13.5px}.keys div{display:flex;gap:10px;align-items:center;padding:4px 6px;border-radius:6px;transition:background .15s ease}.keys div:hover{background:#f1f5f9}kbd{display:inline-block;min-width:28px;text-align:center;padding:3px 8px;border-radius:6px;background:#fff;border:1px solid #cbd5e1;border-bottom-width:3px;font-family:inherit;font-weight:700;font-size:12px;white-space:nowrap;color:#0f172a;box-shadow:0 1px 2px #0000000d}.keys span{color:#334155;font-weight:500}.verdict{font-size:64px;font-weight:800;text-align:center;color:var(--ok)}.verdict.fail{color:var(--bad)}.final{text-align:center;color:var(--muted)}.final b{color:var(--text);font-size:22px}.reason{text-align:center;margin:8px 0 14px;color:#334155}.errors{width:100%;border-collapse:collapse;font-size:14px;margin:14px 0}.errors td{padding:9px 10px;border-bottom:1px solid var(--line)}.errors td:first-child{color:var(--muted);white-space:nowrap}.errors td:last-child{text-align:right;font-weight:700;color:var(--bad);white-space:nowrap}.vehpick,.modepick{display:grid;grid-template-columns:1fr 1fr;gap:16px}.veh,.mode{text-align:left;display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:16px;background:#fff;border:2px solid var(--line);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #00000005}.veh:hover,.mode:hover{border-color:#cbd5e1;background:#f8fafc}.veh b,.mode b{font-size:20px;font-weight:800;color:#0f172a}.veh>span,.mode span{color:var(--muted);font-weight:500;font-size:14px;line-height:1.55}.veh ul{margin:12px 0 0;padding-left:18px;font-weight:500;font-size:13.5px;line-height:1.7;color:#334155}.vehimg{width:150px;height:62px;fill:#94a3b8;margin-bottom:8px;transition:fill .2s ease}.veh.sel,.mode.sel{background:var(--accent-subtle);border-color:var(--accent);box-shadow:0 10px 25px -5px var(--accent-shadow)}.veh.sel b,.mode.sel b{color:var(--accent-dark)}.veh.sel .vehimg{fill:var(--accent)}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:0 2px 12px #0000000a}.topbar .brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.topbar .logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-main),var(--accent-hover));font-size:18px;box-shadow:0 4px 10px var(--accent-shadow)}.topbar .brand b{display:block;font-size:18px;font-weight:800;line-height:1;color:#0f172a}.topbar .brand small{display:block;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--accent-hover);text-transform:uppercase}.topbar nav{display:flex;gap:6px;flex-wrap:wrap}.topbar nav a{padding:8px 14px;border-radius:8px;color:#475569;text-decoration:none;font-weight:600;font-size:14px;transition:all .15s ease}.topbar nav a:hover{background:var(--accent-subtle);color:var(--accent-hover)}.topbar nav a.active{color:#047857;background:var(--accent-subtle);border:1px solid var(--accent-border)}.entry-page{position:fixed;inset:0;z-index:30;background:var(--bg-page);padding:86px 16px 48px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:block}#portal-header{position:fixed;top:0;left:0;right:0;z-index:100;width:100%}#portal-header button.nav-item-btn,#portal-header nav button:not([aria-label]){border:none!important;background:transparent!important;box-shadow:none!important;padding:8px 12px!important;border-radius:8px!important}#portal-header button.nav-item-btn:hover,#portal-header nav button:not([aria-label]):hover{background:transparent!important;border-color:transparent!important}@media(min-width:768px){#portal-header .md\:flex,#portal-header .hidden.md\:flex{display:flex!important}#portal-header .md\:hidden{display:none!important}#portal-header .md\:block{display:block!important}#portal-header .md\:inline-flex{display:inline-flex!important}}html.dark .entry-page{background:#09090b}html.dark .entry-container,html.dark .card.wide{background:#18181b;border-color:#27272a;color:#f4f4f5;box-shadow:0 4px 20px -2px #0006,0 0 1px 1px #ffffff0d}html.dark .entry-container h1,html.dark .entry-container h2,html.dark .entry-container h3,html.dark .card.wide h1,html.dark .card.wide h2,html.dark .card.wide h3{color:#fff}html.dark .entry-container .sub,html.dark .entry-container .howto,html.dark .entry-container .mouse,html.dark .card.wide .sub,html.dark .card.wide .howto,html.dark .card.wide .mouse{color:#a1a1aa}html.dark .steps li{background:#27272a;border-color:#3f3f46;color:#a1a1aa}html.dark .steps li b{background:#3f3f46;color:#f4f4f5}html.dark .veh,html.dark .mode{background:#18181b;border-color:#27272a}html.dark .veh b,html.dark .mode b{color:#fff}html.dark .veh:hover,html.dark .mode:hover,html.dark .settings{background:#27272a;border-color:#3f3f46}html.dark .settings summary{color:#fff}html.dark .settings label{color:#d4d4d8}html.dark select,html.dark input[type=range]{background:#18181b;border-color:#3f3f46;color:#fff}html.dark kbd{background:#27272a;border-color:#3f3f46;color:#fff}html.dark .keys span{color:#d4d4d8}html.dark .keys div:hover{background:#27272a}.step-actions{position:relative;margin-top:28px;margin-bottom:6px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 2px 8px #00000008}html.dark .step-actions{background:#27272a;border-color:#3f3f46;box-shadow:none}.step-quick-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.step-badge-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--accent-dark);background:var(--accent-subtle);border:1px solid var(--accent-border);padding:6px 14px;border-radius:999px}button.sm{padding:7px 16px;font-size:13px;border-radius:8px}.step-action-desc{display:flex;align-items:center;gap:10px;color:var(--text-sub);font-size:13.5px;font-weight:500}.step-action-icon{font-size:18px}.actions-group-right{display:flex;align-items:center;gap:12px;margin-left:auto}.step-actions .btn-back,button.btn-back{font-weight:600;font-size:14px;padding:12px 24px;background:#fff;color:#475569;border:1px solid #cbd5e1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.step-actions .btn-back:hover,button.btn-back:hover{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}html.dark .step-actions .btn-back,html.dark button.btn-back{background:#18181b;color:#d4d4d8;border-color:#3f3f46}html.dark .step-actions .btn-back:hover,html.dark button.btn-back:hover{background:#27272a;color:#fff;border-color:#52525b}.btn-start-highlight{padding:14px 34px!important;font-size:16px!important;font-weight:800!important;letter-spacing:.02em;background:linear-gradient(135deg,var(--color-main),var(--accent-hover))!important;box-shadow:0 4px 18px var(--accent-shadow),0 0 0 2px #fff3 inset!important;transform:translateY(0);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.btn-start-highlight:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-shadow)!important}@media(max-width:640px){.step-actions{flex-direction:column-reverse;gap:10px;padding:14px 18px;margin:24px -18px -34px}.step-actions button{width:100%}.actions-group-right{width:100%;flex-direction:column-reverse}}.entry-container,.card.wide{width:min(1040px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 38px;user-select:text;box-shadow:0 4px 20px -2px #0000000d,0 1px 3px #00000005;color:var(--text)}.steps{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 22px}.steps li{flex:1;display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:12px;background:#f1f5f9;border:1px solid #e2e8f0;color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.steps li b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:13px;font-weight:700;transition:all .2s ease}.steps li.on{color:var(--accent-dark);background:var(--accent-subtle);border-color:var(--accent);box-shadow:0 4px 12px var(--accent-shadow)}.steps li.on b,.steps li.done b{background:var(--accent);color:#fff}.guide{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.guide h3{margin:4px 0 12px;font-size:16px;font-weight:700;color:var(--accent-dark);display:flex;align-items:center;gap:8px}.howto,.mouse{margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.75;color:#334155}.guide .keys{grid-template-columns:1fr;margin-top:0;gap:6px}.rulesbox{margin-top:18px;padding:14px 18px;border-radius:12px;background:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--accent-dark);font-size:13.5px;line-height:1.6}.rulesbox a,.card a{color:var(--accent-dark);font-weight:700}.rulesbox a:hover{text-decoration:underline}.lockhint{position:fixed;inset:0;display:grid;place-items:center;background:#0f172a66;backdrop-filter:blur(4px);cursor:pointer;z-index:45}.lockcard{max-width:460px;padding:22px 26px;border-radius:16px;background:#fff;border:2px solid var(--accent);text-align:center;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-modal)}.lockcard b{font-size:18px;color:var(--accent-dark)}.lockcard span{color:#334155;font-size:14px;line-height:1.55}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--color-main);box-shadow:0 0 0 1px #fffc}#lampHorn.on{background:var(--warn);border-color:var(--warn);color:#fff}#view{background:radial-gradient(ellipse at 30% 20%,var(--accent-subtle),transparent 55%),radial-gradient(ellipse at 75% 80%,var(--accent-subtle),transparent 50%),repeating-linear-gradient(90deg,rgba(148,163,184,.06) 0 1px,transparent 1px 48px),repeating-linear-gradient(0deg,rgba(148,163,184,.06) 0 1px,transparent 1px 48px),#f8fafc}#btnStart[disabled]{opacity:.7;cursor:progress}.overlay.loader{z-index:60;transition:opacity .25s ease}.overlay.loader.fade{opacity:0}.loader .card{width:min(560px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-modal)}.loader h2{margin:0 0 4px;color:var(--accent-dark)}.loader .lbar{height:12px;margin:20px 0 10px;border-radius:8px;overflow:hidden;background:#f1f5f9;border:1px solid var(--line)}.loader .lbar i{display:block;position:relative;height:100%;width:0;border-radius:8px;overflow:hidden;background:linear-gradient(90deg,var(--color-main),var(--accent-light));transition:width .15s ease}.loader .lbar i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);background-size:35% 100%;background-repeat:no-repeat;animation:lshimmer 1.1s linear infinite}@keyframes lshimmer{0%{background-position:-40% 0}to{background-position:160% 0}}.loader.error .lbar i:after,.loader.fade .lbar i:after{animation:none;background:none}.loader .lrow{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}.loader .lrow b{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:700}.loader .ltip{margin:18px 0 0;min-height:2.8em;font-size:13.5px;color:#475569;background:#f8fafc;padding:10px 14px;border-radius:8px;border-left:3px solid var(--accent)}.loader .lback{display:none;margin-top:14px}.loader.error .lbar i{background:var(--bad)}.loader.error .lback{display:inline-block}.tablewrap{max-height:60vh;overflow:auto;margin:10px 0 16px;border:1px solid var(--line);border-radius:10px}.spectable{width:100%;border-collapse:collapse;font-size:14px}.spectable td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.spectable td small{display:block;color:var(--muted);font-size:12px}.spectable tr.grp td{color:var(--accent-dark);font-weight:700;padding-top:14px;background:#f8fafc}.spectable .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:#0f172a}.src{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap}.src.ref{background:#f3e8ff;color:#7e22ce}.src.qcvn{background:#dcfce7;color:#15803d}.src.rule{background:#dbeafe;color:#1d4ed8}.src.design{background:#fef3c7;color:#b45309}code{background:#f1f5f9;color:#0f172a;padding:2px 6px;border-radius:4px;font-size:.9em;border:1px solid #e2e8f0}a.btn{display:block;text-align:center;font-weight:600;padding:11px 22px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--text);text-decoration:none;transition:all .15s ease}a.btn:hover{background:#f8fafc;border-color:#94a3b8}@media(max-width:760px){.guide,.vehpick,.modepick,.setgrid,.settings,.keys{grid-template-columns:1fr}.hud-left{width:calc(100vw - 24px)}.mapbox{display:none}.topbar nav{display:none}}body.standalone .topbar nav,body.standalone a.btn,body.standalone .rulesbox a{display:none}.pause-card{width:min(520px,92vw)!important;background:#fff;border:1px solid var(--line-strong);padding:32px 32px 28px!important;box-shadow:0 25px 60px -15px #0f172a40,0 0 1px 1px #0000000d;animation:pauseCardFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes pauseCardFadeIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pause-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px}.pause-badge{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.3);margin-bottom:12px}.pause-pulse-dot{width:7px;height:7px;background:#f59e0b;display:inline-block;animation:pausePulse 1.8s ease-in-out infinite}@keyframes pausePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}.pause-header h2{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 10px;letter-spacing:-.01em}.pause-info-box{width:100%;padding:10px 16px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;font-weight:600;color:#475569;line-height:1.5;box-sizing:border-box}.pause-actions{display:flex;flex-direction:column;gap:12px;width:100%;margin:0}.btn-resume-main{width:100%;padding:14px 22px!important;font-size:15.5px!important;font-weight:700!important;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--color-main),var(--accent-hover))!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 8px 20px -4px var(--accent-shadow);cursor:pointer;transition:all .15s ease}.btn-resume-main:hover{filter:brightness(1.08);box-shadow:0 12px 24px -4px var(--accent-shadow)}.btn-resume-left{display:flex;align-items:center;gap:10px}.btn-resume-main .btn-kbd{background:#ffffff38;color:#fff;border:1px solid rgba(255,255,255,.35);font-size:12px;font-weight:700;padding:3px 8px;font-family:inherit}.pause-grid-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.pause-btn{width:100%;padding:12px 14px!important;font-size:13.5px!important;font-weight:600!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px;background:#fff!important;color:#1e293b!important;border:1px solid #cbd5e1!important;cursor:pointer;transition:all .15s ease;box-sizing:border-box}.pause-btn:hover{background:#f1f5f9!important;border-color:#94a3b8!important;color:#0f172a!important}.btn-kbd-sub{margin-left:auto;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;font-size:11px;font-weight:700;padding:2px 6px;font-family:inherit}.pause-btn-exit{width:100%;padding:12px 18px!important;font-size:13.5px!important;font-weight:600!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px;background:#fff1f2!important;color:#e11d48!important;border:1px solid #fecdd3!important;text-decoration:none!important;cursor:pointer;transition:all .15s ease;box-sizing:border-box}.pause-btn-exit:hover{background:#ffe4e6!important;border-color:#fda4af!important;color:#be123c!important}.btn-icon{font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center}html.dark .pause-card{background:#18181b;border-color:#27272a;box-shadow:0 25px 60px -15px #000000b3}html.dark .pause-header h2{color:#fff}html.dark .pause-badge{background:#f59e0b2e;border-color:#f59e0b66;color:#fbbf24}html.dark .pause-info-box{background:#27272a;border-color:#3f3f46;color:#cbd5e1}html.dark .pause-btn{background:#27272a!important;border-color:#3f3f46!important;color:#f4f4f5!important}html.dark .pause-btn:hover{background:#3f3f46!important;border-color:#52525b!important;color:#fff!important}html.dark .btn-kbd-sub{background:#18181b;border-color:#52525b;color:#a1a1aa}html.dark .pause-btn-exit{background:#e11d4826!important;border-color:#e11d4859!important;color:#fb7185!important}html.dark .pause-btn-exit:hover{background:#e11d4840!important;border-color:#e11d4880!important;color:#fda4af!important}@media(max-width:480px){.pause-grid-actions{grid-template-columns:1fr}}.result-card{width:min(580px,94vw)!important;background:#fff;border:1px solid var(--line-strong, #cbd5e1);padding:36px 36px 30px!important;box-shadow:0 25px 60px -15px #0f172a40,0 0 1px 1px #0000000d;animation:pauseCardFadeIn .2s cubic-bezier(.16,1,.3,1);text-align:center;box-sizing:border-box}.result-actions{display:grid!important;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin-top:26px!important;padding-top:20px!important;border-top:1px solid var(--line, #e2e8f0);width:100%;box-sizing:border-box}.btn-result-retry{width:100%;padding:13px 18px!important;font-size:14.5px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:linear-gradient(135deg,var(--color-main, #2563eb),var(--accent-hover, #1d4ed8))!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 4px 14px #2563eb59!important;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-result-retry:hover{filter:brightness(1.08);box-shadow:0 6px 20px #2563eb73!important;transform:translateY(-1px)}.btn-result-retry:active{transform:scale(.98)}.btn-result-free{width:100%;padding:13px 14px!important;font-size:14px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:#f8fafc!important;color:#0f172a!important;border:1px solid #cbd5e1!important;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-result-free:hover{background:#f1f5f9!important;border-color:#94a3b8!important;color:var(--color-main, #2563eb)!important;transform:translateY(-1px)}.btn-result-free:active{transform:scale(.98)}.btn-result-menu{width:100%;padding:13px 14px!important;font-size:14px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:#fff!important;color:#475569!important;border:1px solid #cbd5e1!important;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-result-menu:hover{background:#f8fafc!important;border-color:#94a3b8!important;color:#0f172a!important;transform:translateY(-1px)}.btn-result-menu:active{transform:scale(.98)}html.dark .result-card{background:#18181b;border-color:#27272a;box-shadow:0 25px 60px -15px #000000b3}html.dark .result-actions{border-top-color:#27272a}html.dark .btn-result-free{background:#27272a!important;border-color:#3f3f46!important;color:#f4f4f5!important}html.dark .btn-result-free:hover{background:#3f3f46!important;border-color:#52525b!important;color:#60a5fa!important}html.dark .btn-result-menu{background:#18181b!important;border-color:#3f3f46!important;color:#a1a1aa!important}html.dark .btn-result-menu:hover{background:#27272a!important;border-color:#52525b!important;color:#f4f4f5!important}@media(max-width:520px){.result-actions{grid-template-columns:1fr;gap:10px}}*,*:before,*:after,button,input,select,textarea,.panel,.card,.veh,.mode,.btn,.primary,.ghost,kbd,#hud .panel,.lockcard,.rulesbox{border-radius:0!important}#hud .faults{position:absolute;top:12px;right:172px;width:300px;display:flex;flex-direction:column;gap:6px;pointer-events:none;z-index:5}#hud .fault{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;font-size:12.5px;line-height:1.35;color:var(--hud-text);background:var(--hud-bg);border:1px solid rgba(239,68,68,.35);border-left:4px solid #ef4444;border-radius:10px;box-shadow:var(--hud-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:faultin .28s ease-out}#hud .fault b{flex:none;min-width:38px;padding:3px 6px;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:#ef4444;border-radius:6px}#hud .fault small{display:block;margin-top:2px;font-size:11px;color:var(--hud-muted)}#hud .fault.fail{background:#fef2f2;border-color:#b91c1c;border-left-color:#7f1d1d}#hud .fault.fail b{background:#7f1d1d}#hud .fault.warn{border-color:#f59e0b73;border-left-color:#f59e0b}#hud .fault.warn b{background:#d97706}#hud .fault.out{opacity:0;transform:translate(16px);transition:opacity .35s,transform .35s}@keyframes faultin{0%{opacity:0;transform:translate(24px)}}@media(max-height:720px),(max-width:1100px){#hud .faults{right:144px;width:260px}}html.dark #hud .fault.fail{background:#450a0aeb}.hx-topup-card{position:relative;width:min(540px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:14px;padding:22px 22px 18px;box-shadow:0 20px 50px -12px #0f172a59;text-align:left}.hx-topup-card h3{margin:0 28px 10px 0;font-size:18px;font-weight:800}.hx-topup-sub,.hx-topup-note{margin:0 0 12px;font-size:13px;line-height:1.55;color:#64748b}.hx-topup-note{margin:10px 0 0}.hx-topup-loading{padding:24px 0;text-align:center;color:#64748b}.hx-topup-err{margin:10px 0;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}.hx-topup-pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.hx-topup-pkg{display:flex;flex-direction:column;gap:2px;padding:10px 8px;border:1.5px solid #cbd5e1;border-radius:10px;background:#f8fafc;cursor:pointer;text-align:center;font:inherit}.hx-topup-pkg:hover{border-color:var(--color-main, #1877f2)}.hx-topup-pkg.on{border-color:var(--color-main, #1877f2);background:color-mix(in srgb,var(--color-main, #1877f2) 10%,#fff)}.hx-topup-pkg-vnd{font-weight:800;font-size:15px}.hx-topup-pkg-xu{font-size:12px;color:#475569}.hx-topup-pkg-xu em{color:#15803d;font-style:normal;font-weight:700}.hx-topup-custom label{display:block;font-size:13px;color:#334155}.hx-topup-amt{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1.5px solid #cbd5e1;border-radius:9px;font:inherit;box-sizing:border-box}.hx-topup-xu-preview{margin:4px 0 0;font-size:12.5px;color:#15803d;min-height:16px}.hx-topup-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}.hx-topup-pay{display:flex;gap:16px;flex-wrap:wrap}.hx-topup-qr{flex:0 0 auto;text-align:center}.hx-topup-qr img{width:240px;height:240px;max-width:100%;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.hx-topup-qrfail{font-size:12px;color:#b45309;max-width:240px}.hx-topup-info{flex:1 1 200px;min-width:200px}.hx-topup-amtline{margin:0 0 10px;font-size:14px}.hx-topup-info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:13.5px}.hx-topup-info dt{color:#64748b}.hx-topup-info dd{margin:0;font-weight:600;word-break:break-all}.hx-topup-memo b{color:var(--color-main, #1877f2);letter-spacing:.5px}.hx-copy-btn{border:0;background:#e2e8f0;border-radius:5px;cursor:pointer;font-size:12px;padding:1px 5px;margin-left:4px}.hx-topup-warn{margin:10px 0 0;font-size:12.5px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:7px 9px}.hx-topup-status{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;background:#f1f5f9;border-radius:10px;font-size:13.5px;color:#334155}.hx-topup-left{color:#64748b}.hx-topup-spin{width:16px;height:16px;flex:0 0 auto;border:2.5px solid #cbd5e1;border-top-color:var(--color-main, #1877f2);border-radius:50%;animation:hx-topup-spin .8s linear infinite}@keyframes hx-topup-spin{to{transform:rotate(360deg)}}.hx-topup-done{text-align:center;padding:10px 0 4px}.hx-topup-check-big{width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:#16a34a;color:#fff;font-size:32px;line-height:56px;font-weight:900}.hx-topup-done h4{margin:0 0 6px;font-size:17px;font-weight:800}.hx-topup-done p{margin:2px 0;font-size:14px}.hx-topup-bal{color:#15803d}html.dark .hx-topup-card{background:#18181b;color:#f4f4f5;border-color:#27272a}html.dark .hx-topup-sub,html.dark .hx-topup-note,html.dark .hx-topup-loading,html.dark .hx-topup-info dt,html.dark .hx-topup-left{color:#a1a1aa}html.dark .hx-topup-pkg{background:#27272a;border-color:#3f3f46}html.dark .hx-topup-pkg-xu{color:#d4d4d8}html.dark .hx-topup-amt{background:#27272a;color:#f4f4f5;border-color:#3f3f46}html.dark .hx-topup-status{background:#27272a;color:#e4e4e7}html.dark .hx-copy-btn{background:#3f3f46;color:#e4e4e7}html.dark .hx-topup-qr img{border-color:#3f3f46}@media(max-width:460px){.hx-topup-pkgs{grid-template-columns:repeat(2,1fr)}.hx-topup-qr img{width:200px;height:200px}}.acct-bar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;margin-top:10px;font-size:13px;line-height:1.5;color:var(--text-sub, #475569);text-align:right}.acct-bar b{color:var(--text, #0f172a)}.acct-bar .acct-muted{color:var(--text-muted, #64748b)}.acct-bar .acct-low,.acct-bar .acct-low b{color:var(--bad, #ef4444)}.acct-bar .acct-login{padding:6px 14px;border:1px solid var(--color-main, #1877f2);background:transparent;color:var(--color-main, #1877f2);font:700 13px/1.2 inherit;cursor:pointer}html.dark .acct-bar b{color:#f4f4f5}@media(max-width:640px){.acct-bar{justify-content:center;text-align:center}}.acct-bar .acct-topup{padding:5px 12px;border:1px solid var(--color-main, #1877f2);border-radius:7px;background:var(--color-main, #1877f2);color:#fff;font:700 13px/1.2 inherit;cursor:pointer;white-space:nowrap}.acct-bar .acct-topup:hover{filter:brightness(1.06)}.acct-bar .acct-hist{font-weight:700;color:var(--color-main, #1877f2);text-decoration:none;white-space:nowrap}.acct-bar .acct-hist:hover{text-decoration:underline}
