:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--radius:12px;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--ease:.15s ease;--bg:#f1f5f9;--surface:#fff;--preview:#0b1020;--border:#0f172a1a;--text:#0f172a;--muted:#64748b;--accent:#8b5cf6;--accent-soft:#8b5cf624;--success:#059669;--success-soft:#0596691f;--danger:#dc2626;--danger-soft:#dc26261a;--track:#e2e8f0;--scan:#38bdf8;--shadow:0 1px 3px #0000000f, 0 8px 24px #0000000a;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#070b14;--surface:#111827;--preview:#05080f;--border:#94a3b824;--text:#e2e8f0;--muted:#94a3b8;--accent:#a78bfa;--accent-soft:#a78bfa29;--success:#34d399;--success-soft:#34d39924;--danger:#f87171;--danger-soft:#f8717124;--track:#1e293b;--shadow:0 1px 3px #0000004d, 0 12px 32px #00000040}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;line-height:1.45}body{background:var(--bg);min-height:100dvh;color:var(--text);margin:0}#app{width:min(100%,960px);padding:max(.75rem, var(--safe-top)) 1rem calc(1.25rem + var(--safe-bottom));margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.chrome-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:9px;min-width:2rem;min-height:2rem;padding:.35rem .55rem;font-size:.78rem;font-weight:650}.chip{background:var(--accent-soft,#8b5cf624);color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;padding:.25rem .45rem;font-size:.68rem;font-weight:700}.appearance-menu{z-index:50;background:var(--surface);border:1px solid var(--border);min-width:10rem;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:.1rem;padding:.4rem;display:flex;position:fixed;top:3.5rem;right:1rem}.appearance-menu[hidden]{display:none}.appearance-menu .menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.3rem .35rem .05rem;font-size:.65rem;font-weight:700}.appearance-menu button{appearance:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:auto;padding:.45rem .55rem;font-size:.85rem;font-weight:600}.modal{z-index:60;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{background:var(--surface);border:1px solid var(--border);width:min(100%,22rem);box-shadow:var(--shadow);border-radius:14px;padding:1rem 1.1rem}.modal-card h2{margin:0 0 .55rem;font-size:1.05rem}.help-p{color:var(--muted);margin:0 0 .55rem;font-size:.88rem;line-height:1.45}.progress-meta{min-height:1rem;color:var(--muted);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:.75rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:.35rem .75rem;display:flex}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f5f9;--surface:#fff;--text:#0f172a;--muted:#475569;--border:#0f172a1a}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b14;--surface:#111827;--text:#e2e8f0;--muted:#94a3b8;--border:#94a3b824}@media (orientation:landscape) and (height<=520px){.card-split{grid-template-columns:minmax(0,15rem) minmax(0,1fr)!important}}.brand{align-items:center;gap:.65rem;min-width:0;display:flex}.brand-mark{background:var(--accent);color:#fff;width:2.25rem;height:2.25rem;box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 28%, transparent);border-radius:.65rem;flex-shrink:0;place-items:center;display:grid}.brand-mark svg{width:58%;height:58%;display:block}.brand h1{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.05rem,3.5vw,1.25rem);font-weight:700;overflow:hidden}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:.85rem;padding:.25rem;display:grid}.tab{appearance:none;color:var(--muted);font:inherit;border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:var(--ease);touch-action:manipulation;background:0 0;border:none;min-height:2.75rem;padding:.7rem .5rem;font-size:.92rem;font-weight:600}.tab:hover{color:var(--text)}.tab.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)}.panel{display:none}.panel.active{display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem}.card-split{align-items:stretch;gap:0;padding:0;display:grid;overflow:hidden}.split-controls{min-width:0;padding:.9rem}.split-preview{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted,var(--surface)) 55%, transparent);flex-direction:column;min-width:0;padding:.65rem .75rem .75rem;display:flex}@media (width>=720px){.card-split{grid-template-columns:minmax(0,17rem) minmax(0,1fr)}.split-preview{border-top:none;border-left:1px solid var(--border)}}@media (width>=900px){.card-split{grid-template-columns:minmax(0,19rem) minmax(0,1fr)}}.card-preview{padding:.65rem}.card-meta{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.25rem;margin-bottom:.5rem;display:flex}.card-meta span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.72rem;font-weight:600;display:block}.field{margin-bottom:.7rem}.field:last-of-type{margin-bottom:.85rem}.field-row{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.7rem;display:grid}input[type=text],select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;touch-action:manipulation;border-radius:9px;min-height:2.6rem;padding:.65rem .7rem;font-size:.95rem}input[type=text]:focus,select:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px var(--accent-soft);outline:none}.actions{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.actions-3{grid-template-columns:1fr 1fr 1fr}.actions-full{grid-template-columns:1fr;margin-top:.45rem}button{appearance:none;font:inherit;cursor:pointer;transition:var(--ease);touch-action:manipulation;white-space:nowrap;border:1px solid #0000;border-radius:9px;min-height:2.65rem;padding:.65rem .55rem;font-size:.88rem;font-weight:600}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-secondary{background:var(--bg);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.btn-success{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent);color:var(--success)}.dropzone{border:1.5px dashed color-mix(in srgb, var(--muted) 40%, transparent);text-align:center;color:var(--muted);background:var(--bg);cursor:pointer;transition:var(--ease);touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;min-height:3.5rem;padding:.85rem .65rem;font-size:.88rem;display:flex}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.preview-wrap{background:var(--preview);border:1px solid var(--border);aspect-ratio:5/4;border-radius:10px;width:100%;max-height:min(70dvh,560px);position:relative;overflow:hidden}@media (width>=720px){.preview-wrap{max-height:min(75dvh,640px)}}.preview-wrap canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;background:#0a0e18;display:block;position:absolute;inset:0}.preview-placeholder{color:#94a3b8;pointer-events:none;z-index:1;text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:.85rem;display:flex;position:absolute;inset:0}.preview-wrap.has-image .preview-placeholder{display:none}.scan-overlay{background:var(--scan);height:2px;box-shadow:0 0 10px var(--scan);pointer-events:none;opacity:0;z-index:2;transition:opacity .12s,top 60ms linear;position:absolute;left:0;right:0}.scan-overlay.visible{opacity:1}.live-dot{background:var(--danger);opacity:0;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.live-dot.active{opacity:1;animation:1.1s infinite pulse}@keyframes pulse{50%{opacity:.35}}.status{background:var(--bg);border:1px solid var(--border);color:var(--muted);font-size:.8rem;font-family:var(--mono);word-break:break-word;border-radius:9px;margin-top:.7rem;padding:.55rem .65rem;line-height:1.35}.status.info{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 25%, var(--border))}.status.ok{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 25%, var(--border))}.status.err{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 25%, var(--border))}.bars{gap:.4rem;margin-top:.65rem;display:grid}.bar{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.bar>span{border-radius:inherit;width:0%;height:100%;transition:width 80ms linear;display:block}.bar-level>span{background:linear-gradient(90deg,#22d3ee,#a78bfa)}.bar-progress>span{background:linear-gradient(90deg, var(--accent), #8b5cf6);transition:width .12s}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:1.25rem;padding-top:.75rem;font-size:.75rem}.site-footer .footer-link{color:var(--muted);font-weight:600;text-decoration:none}.site-footer .footer-link:hover{color:var(--text)}@media (width<=380px){#app{padding-left:.75rem;padding-right:.75rem}.actions-3{grid-template-columns:1fr 1fr}.actions-3 .btn-primary{grid-column:1/-1}button{padding:.6rem .4rem;font-size:.82rem}}@media (height<=500px) and (width>=640px){.preview-wrap{max-height:min(80dvh,420px)}}html[data-skin=liquid-glass]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--radius:18px;--radius-lg:24px;--radius-pill:999px;--ease:.22s cubic-bezier(.22, 1, .36, 1);--ease-press:.12s cubic-bezier(.4, 0, .2, 1);--bg:#dfe8f5;--bg-elevated:#eaf0fa;--surface:#ffffff9e;--surface-hover:#ffffffc7;--surface-muted:#ffffff6b;--surface-solid:#ffffffe0;--text:#0b1220;--muted:#5a6a82;--border:#ffffffb8;--border-dark:#0f172a1a;--border-strong:#0f172a24;--accent:#2b7fff;--accent-soft:#2b7fff24;--success:#0d9f6e;--success-soft:#0d9f6e1f;--danger:#e5484d;--danger-soft:#e5484d1f;--warn:#d99a00;--warn-soft:#d99a0024;--brand-gradient:linear-gradient(145deg, #38bdf8 0%, #818cf8 45%, #e879f9 100%);--accent-fallback:var(--accent);--shadow-xs:0 1px 0 #ffffffd9 inset, 0 -1px 0 #0f172a0a inset, 0 1px 2px #0f172a0f;--shadow:0 1.5px 0 #ffffffe6 inset, 0 -1px 0 #0f172a0f inset, 0 4px 14px #0f172a14, 0 1px 3px #0f172a0d;--shadow-lg:0 1.5px 0 #fffffff2 inset, 0 -1px 0 #0f172a0d inset, 0 18px 48px #0f172a1f, 0 6px 16px #0f172a0f;--shadow-float:0 2px 0 #fffffff2 inset, 0 -1px 1px #0f172a0f inset, 0 24px 64px #0f172a29, 0 8px 20px #0f172a14;--shadow-pressed:0 2px 6px #0f172a1f inset, 0 1px 0 #ffffff59 inset;--face:linear-gradient(180deg, #ffffffeb 0%, #ffffff8c 100%);--face-hover:linear-gradient(180deg, #fffffffa 0%, #ffffffb3 100%);--face-accent:linear-gradient(180deg, color-mix(in srgb, var(--accent) 18%, #fff) 0%, color-mix(in srgb, var(--accent) 8%, #fff) 100%);--glass-blur:28px;--glass-saturate:1.45;--bg-mesh:radial-gradient(1100px 580px at 5% -15%, #38bdf861, transparent 55%), radial-gradient(900px 520px at 100% -5%, #818cf847, transparent 50%), radial-gradient(800px 480px at 70% 100%, #e879f924, transparent 50%), radial-gradient(600px 400px at 0% 80%, #ffffff80, transparent 45%), linear-gradient(165deg, #eef3fb 0%, #dce6f4 48%, #e8edf7 100%);--preview:#0b1220f0;--track:#0f172a14;--scan:#38bdf8;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){html[data-skin=liquid-glass]{--lightningcss-light: ;--lightningcss-dark:initial}html[data-skin=liquid-glass]:not([data-theme=light]){--bg:#05070d;--bg-elevated:#0a0e18;--surface:#161c2c9e;--surface-hover:#222a40c7;--surface-muted:#0e121e8c;--surface-solid:#121828e6;--text:#f0f4ff;--muted:#93a0b8;--border:#ffffff24;--border-dark:#00000073;--border-strong:#fff3;--accent:#5eb1ff;--accent-soft:#5eb1ff29;--success:#34d399;--success-soft:#34d39924;--danger:#ff7a81;--danger-soft:#ff7a8124;--warn:#fbbf24;--warn-soft:#fbbf2424;--brand-gradient:linear-gradient(145deg, #38bdf8 0%, #a78bfa 48%, #f472b6 100%);--shadow-xs:0 1px 0 #ffffff1a inset, 0 -1px 0 #00000059 inset, 0 1px 3px #0006;--shadow:0 1.5px 0 #ffffff1f inset, 0 -1px 0 #0006 inset, 0 8px 28px #00000080, 0 2px 8px #00000059;--shadow-lg:0 1.5px 0 #ffffff1f inset, 0 -1px 0 #00000073 inset, 0 24px 64px #0009, 0 8px 20px #00000073;--shadow-float:0 2px 0 #ffffff24 inset, 0 -1px 1px #00000080 inset, 0 28px 72px #000000a6, 0 10px 24px #00000080;--shadow-pressed:0 3px 10px #0000008c inset, 0 1px 0 #ffffff0f inset;--face:linear-gradient(180deg, #303850bf 0%, #161c2c8c 100%);--face-hover:linear-gradient(180deg, #3a4460d9 0%, #1e263ab3 100%);--face-accent:linear-gradient(180deg, color-mix(in srgb, var(--accent) 28%, #1e293b) 0%, color-mix(in srgb, var(--accent) 12%, #0f172a) 100%);--bg-mesh:radial-gradient(1000px 520px at 0% -12%, #38bdf833, transparent 55%), radial-gradient(860px 480px at 100% 0%, #a78bfa2e, transparent 50%), radial-gradient(700px 420px at 50% 110%, #f472b61a, transparent 55%), linear-gradient(165deg, #070a12 0%, #04060c 50%, #060912 100%);--preview:#03050a;--track:#ffffff14;--scan:#5eb1ff}}html[data-skin=liquid-glass][data-theme=dark]{--bg:#05070d;--bg-elevated:#0a0e18;--surface:#161c2c9e;--surface-hover:#222a40c7;--surface-muted:#0e121e8c;--surface-solid:#121828e6;--text:#f0f4ff;--muted:#93a0b8;--border:#ffffff24;--border-dark:#00000073;--border-strong:#fff3;--accent:#5eb1ff;--accent-soft:#5eb1ff29;--success:#34d399;--success-soft:#34d39924;--danger:#ff7a81;--danger-soft:#ff7a8124;--warn:#fbbf24;--warn-soft:#fbbf2424;--brand-gradient:linear-gradient(145deg, #38bdf8 0%, #a78bfa 48%, #f472b6 100%);--shadow-xs:0 1px 0 #ffffff1a inset, 0 -1px 0 #00000059 inset, 0 1px 3px #0006;--shadow:0 1.5px 0 #ffffff1f inset, 0 -1px 0 #0006 inset, 0 8px 28px #00000080, 0 2px 8px #00000059;--shadow-lg:0 1.5px 0 #ffffff1f inset, 0 -1px 0 #00000073 inset, 0 24px 64px #0009, 0 8px 20px #00000073;--shadow-float:0 2px 0 #ffffff24 inset, 0 -1px 1px #00000080 inset, 0 28px 72px #000000a6, 0 10px 24px #00000080;--shadow-pressed:0 3px 10px #0000008c inset, 0 1px 0 #ffffff0f inset;--face:linear-gradient(180deg, #303850bf 0%, #161c2c8c 100%);--face-hover:linear-gradient(180deg, #3a4460d9 0%, #1e263ab3 100%);--face-accent:linear-gradient(180deg, color-mix(in srgb, var(--accent) 28%, #1e293b) 0%, color-mix(in srgb, var(--accent) 12%, #0f172a) 100%);--bg-mesh:radial-gradient(1000px 520px at 0% -12%, #38bdf833, transparent 55%), radial-gradient(860px 480px at 100% 0%, #a78bfa2e, transparent 50%), radial-gradient(700px 420px at 50% 110%, #f472b61a, transparent 55%), linear-gradient(165deg, #070a12 0%, #04060c 50%, #060912 100%);--preview:#03050a;--track:#ffffff14;--scan:#5eb1ff}html[data-skin=liquid-glass][data-theme=light]{--bg:#dfe8f5;--bg-elevated:#eaf0fa;--surface:#ffffff9e;--surface-hover:#ffffffc7;--surface-muted:#ffffff6b;--surface-solid:#ffffffe0;--text:#0b1220;--muted:#5a6a82;--border:#ffffffb8;--border-dark:#0f172a1a;--border-strong:#0f172a24;--accent:#2b7fff;--accent-soft:#2b7fff24;--success:#0d9f6e;--success-soft:#0d9f6e1f;--danger:#e5484d;--danger-soft:#e5484d1f;--warn:#d99a00;--warn-soft:#d99a0024;--brand-gradient:linear-gradient(145deg, #38bdf8 0%, #818cf8 45%, #e879f9 100%);--shadow-xs:0 1px 0 #ffffffd9 inset, 0 -1px 0 #0f172a0a inset, 0 1px 2px #0f172a0f;--shadow:0 1.5px 0 #ffffffe6 inset, 0 -1px 0 #0f172a0f inset, 0 4px 14px #0f172a14, 0 1px 3px #0f172a0d;--shadow-lg:0 1.5px 0 #fffffff2 inset, 0 -1px 0 #0f172a0d inset, 0 18px 48px #0f172a1f, 0 6px 16px #0f172a0f;--shadow-float:0 2px 0 #fffffff2 inset, 0 -1px 1px #0f172a0f inset, 0 24px 64px #0f172a29, 0 8px 20px #0f172a14;--shadow-pressed:0 2px 6px #0f172a1f inset, 0 1px 0 #ffffff59 inset;--face:linear-gradient(180deg, #ffffffeb 0%, #ffffff8c 100%);--face-hover:linear-gradient(180deg, #fffffffa 0%, #ffffffb3 100%);--face-accent:linear-gradient(180deg, color-mix(in srgb, var(--accent) 18%, #fff) 0%, color-mix(in srgb, var(--accent) 8%, #fff) 100%);--bg-mesh:radial-gradient(1100px 580px at 5% -15%, #38bdf861, transparent 55%), radial-gradient(900px 520px at 100% -5%, #818cf847, transparent 50%), radial-gradient(800px 480px at 70% 100%, #e879f924, transparent 50%), radial-gradient(600px 400px at 0% 80%, #ffffff80, transparent 45%), linear-gradient(165deg, #eef3fb 0%, #dce6f4 48%, #e8edf7 100%);--preview:#0b1220f0;--track:#0f172a14;--scan:#38bdf8}html[data-skin=liquid-glass],html[data-skin=liquid-glass] body{background-color:var(--bg);background-image:var(--bg-mesh);background-repeat:no-repeat;background-size:cover;background-attachment:fixed}html[data-skin=liquid-glass] body.admin-panel{background:#030712}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html[data-skin=liquid-glass] .sidebar,html[data-skin=liquid-glass] .mobile-header,html[data-skin=liquid-glass] .bus-info-panel,html[data-skin=liquid-glass] .no-buses-overlay,html[data-skin=liquid-glass] .status-toast,html[data-skin=liquid-glass] .toast-card,html[data-skin=liquid-glass] .idle-card,html[data-skin=liquid-glass] .idle-overlay,html[data-skin=liquid-glass] .mode-toggle,html[data-skin=liquid-glass] .tabs,html[data-skin=liquid-glass] .card,html[data-skin=liquid-glass] .panel,html[data-skin=liquid-glass] .app,html[data-skin=liquid-glass] .site-header{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}html[data-skin=liquid-glass] .idle-overlay{-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);background:#080c1647!important}}:is(html[data-skin=liquid-glass] .app:has(.main-content),html[data-skin=liquid-glass] .app:has(.map-wrapper)){background:0 0!important}html[data-skin=liquid-glass] .sidebar,html[data-skin=liquid-glass] .bus-info-panel,html[data-skin=liquid-glass] .no-buses-overlay,html[data-skin=liquid-glass] .toast-card,html[data-skin=liquid-glass] .idle-card,html[data-skin=liquid-glass] .card,html[data-skin=liquid-glass] .panel,html[data-skin=liquid-glass] a.app,html[data-skin=liquid-glass] .apps>.app{border-radius:var(--radius-lg);background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-float)!important}html[data-skin=liquid-glass] .sidebar{border-radius:0;background:color-mix(in srgb, var(--surface) 38%, transparent)!important;border-right:1px solid var(--border)!important;-webkit-backdrop-filter:blur(32px)saturate(1.55)!important;backdrop-filter:blur(32px)saturate(1.55)!important;box-shadow:inset 1px 0 #fff6,8px 0 40px #0f172a1a!important}@media (prefers-color-scheme:dark){html[data-skin=liquid-glass] .sidebar{background:color-mix(in srgb, var(--surface) 42%, transparent)!important;box-shadow:inset 1px 0 #ffffff14,12px 0 48px #00000073!important}}html[data-skin=liquid-glass] .sidebar-header,html[data-skin=liquid-glass] .sidebar .status-section,html[data-skin=liquid-glass] .sidebar .mode-section,html[data-skin=liquid-glass] .sidebar .stats-section,html[data-skin=liquid-glass] .sidebar .filters-section,html[data-skin=liquid-glass] .sidebar .footer-section,html[data-skin=liquid-glass] .sidebar .sidebar-content{border-color:color-mix(in srgb, var(--border) 70%, transparent)!important;background:0 0!important}html[data-skin=liquid-glass] .sidebar-header{background:color-mix(in srgb, var(--surface) 22%, transparent)!important;border-bottom:1px solid var(--border)!important;-webkit-backdrop-filter:blur(20px)saturate(1.4)!important;backdrop-filter:blur(20px)saturate(1.4)!important}html[data-skin=liquid-glass] .mobile-header{background:color-mix(in srgb, var(--surface) 45%, transparent)!important;border-bottom:1px solid var(--border)!important;-webkit-backdrop-filter:blur(24px)saturate(1.45)!important;backdrop-filter:blur(24px)saturate(1.45)!important}html[data-skin=liquid-glass] .sidebar .stat-card,html[data-skin=liquid-glass] .sidebar .search-input{-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);background:color-mix(in srgb, var(--surface) 55%, transparent)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-xs)!important}html[data-skin=liquid-glass] .sidebar-overlay{-webkit-backdrop-filter:blur(8px)saturate(1.15);backdrop-filter:blur(8px)saturate(1.15);background:#080c1652!important}html[data-skin=liquid-glass] .route-filter,html[data-skin=liquid-glass] .mode-btn,html[data-skin=liquid-glass] .tab,html[data-skin=liquid-glass] .sidebar-toggle,html[data-skin=liquid-glass] .sidebar-reopen,html[data-skin=liquid-glass] .clear-btn,html[data-skin=liquid-glass] .idle-continue-btn,html[data-skin=liquid-glass] .app{border-radius:calc(var(--radius) - 2px);transition:transform var(--ease-press), box-shadow var(--ease), background var(--ease), border-color var(--ease), color var(--ease)}html[data-skin=liquid-glass] .route-filter,html[data-skin=liquid-glass] .sidebar-toggle,html[data-skin=liquid-glass] .sidebar-reopen,html[data-skin=liquid-glass] .basemap-toggle,html[data-skin=liquid-glass] a.app,html[data-skin=liquid-glass] .apps>.app{background-image:var(--face)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;background-color:#0000!important}html[data-skin=liquid-glass] .route-filter:hover,html[data-skin=liquid-glass] .sidebar-toggle:hover,html[data-skin=liquid-glass] .sidebar-reopen:hover,html[data-skin=liquid-glass] .basemap-toggle:hover,html[data-skin=liquid-glass] a.app:hover,html[data-skin=liquid-glass] .apps>.app:hover{transform:translateY(-2px);background-image:var(--face-hover)!important;box-shadow:var(--shadow-lg)!important;border-color:color-mix(in srgb, var(--accent) 28%, var(--border))!important}html[data-skin=liquid-glass] .route-filter:active,html[data-skin=liquid-glass] .sidebar-toggle:active,html[data-skin=liquid-glass] .basemap-toggle:active,html[data-skin=liquid-glass] a.app:active,html[data-skin=liquid-glass] .apps>.app:active,html[data-skin=liquid-glass] .mode-btn:active,html[data-skin=liquid-glass] .tab:active{transform:translateY(1px)scale(.985);box-shadow:var(--shadow-pressed)!important}html[data-skin=liquid-glass] .route-filter.selected,html[data-skin=liquid-glass] .mode-btn.active,html[data-skin=liquid-glass] .tab.active{background-image:var(--face-accent)!important;border-color:color-mix(in srgb, var(--accent) 45%, var(--border))!important;box-shadow:0 1.5px 0 #ffffffbf inset, 0 -1px 0 color-mix(in srgb, var(--accent) 25%, transparent) inset, 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), 0 10px 28px color-mix(in srgb, var(--accent) 22%, transparent), 0 2px 6px #0f172a14!important;color:var(--text)!important;background-color:#0000!important}html[data-skin=liquid-glass] .mode-toggle,html[data-skin=liquid-glass] .tabs{border-radius:var(--radius);padding:.3rem;background:color-mix(in srgb, var(--surface-muted) 55%, transparent)!important;border:1px solid var(--border-dark)!important;box-shadow:inset 0 2px 8px #0f172a14,0 1px #ffffff59!important}html[data-skin=liquid-glass] .mode-btn,html[data-skin=liquid-glass] .tab{background:0 0;border-radius:calc(var(--radius) - 6px)!important;box-shadow:none!important;border:1px solid #0000!important}html[data-skin=liquid-glass] .mode-btn.active,html[data-skin=liquid-glass] .tab.active{background-image:var(--face)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important}html[data-skin=liquid-glass] .route-badge{box-shadow:0 1px 0 #ffffff59 inset, 0 4px 10px color-mix(in srgb, var(--route-color,var(--accent)) 35%, transparent)!important;border:1px solid #ffffff59!important;border-radius:12px!important}html[data-skin=liquid-glass] .route-filter.selected .route-badge{box-shadow:0 1px 0 #ffffff73 inset, 0 0 0 2px color-mix(in srgb, var(--route-color,var(--accent)) 35%, transparent), 0 6px 16px color-mix(in srgb, var(--route-color,var(--accent)) 40%, transparent)!important}html[data-skin=liquid-glass] .brand-mark{background:var(--brand-gradient)!important;border:1px solid #fff6!important;border-radius:14px!important;box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1px #0000001f,0 10px 28px #818cf866!important}html[data-skin=liquid-glass] .idle-continue-btn{font-weight:700;background-image:linear-gradient(180deg, color-mix(in srgb, var(--accent) 100%, #fff 12%) 0%, var(--accent) 100%)!important;color:#fff!important;border:1px solid color-mix(in srgb, var(--accent) 70%, #fff)!important;border-radius:var(--radius-pill)!important;box-shadow:0 1.5px 0 #fff6 inset, 0 8px 24px color-mix(in srgb, var(--accent) 40%, transparent)!important}html[data-skin=liquid-glass] .idle-continue-btn:hover{transform:translateY(-1px);box-shadow:0 1.5px 0 #ffffff73 inset, 0 12px 32px color-mix(in srgb, var(--accent) 48%, transparent)!important}html[data-skin=liquid-glass] .status-pill{border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);border:1px solid color-mix(in srgb, currentColor 22%, var(--border))}html[data-skin=liquid-glass] .leaflet-control-attribution{-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);overflow:hidden;background:color-mix(in srgb, var(--surface) 82%, transparent)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-xs)!important;border-radius:10px!important}html[data-skin=liquid-glass] a.app,html[data-skin=liquid-glass] .apps>.app{border-radius:var(--radius-lg)!important}html[data-skin=liquid-glass] .basemap-toggle{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-radius:calc(var(--radius) - 2px)!important}html[data-skin=liquid-glass] .main-content{background:0 0!important}html[data-skin=liquid-glass] .app-icon-box{box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1px #0000001f,0 6px 16px #818cf859;background:var(--brand-gradient)!important;border:1px solid #fff6!important;border-radius:16px!important}html[data-skin=liquid-glass] .card,html[data-skin=liquid-glass] .panel{border-radius:var(--radius-lg)!important}html[data-skin=liquid-glass] .footer-link:hover,html[data-skin=liquid-glass] .back-link:hover{color:var(--accent)}@media (prefers-reduced-transparency:reduce){html[data-skin=liquid-glass]{--surface:#fff;--surface-hover:#f8fafc;--surface-muted:#f1f5f9;--glass-blur:0px;--bg-mesh:none}@media (prefers-color-scheme:dark){html[data-skin=liquid-glass]{--surface:#111827;--surface-hover:#152033;--surface-muted:#0b1220}}}@media (prefers-reduced-motion:reduce){html[data-skin=liquid-glass] .route-filter,html[data-skin=liquid-glass] .mode-btn,html[data-skin=liquid-glass] .tab,html[data-skin=liquid-glass] .app{transition:none!important}html[data-skin=liquid-glass] .route-filter:hover,html[data-skin=liquid-glass] .app:hover{transform:none!important}}.rl-chrome-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;min-width:2.1rem;min-height:2.1rem;box-shadow:var(--shadow,none);border-radius:9px;padding:.35rem .55rem;font-size:.78rem;font-weight:650;line-height:1}.rl-chrome-btn:hover{background:var(--surface-hover,var(--surface))}.rl-chrome-btn:focus-visible{outline:2px solid var(--accent,var(--accent-fallback,#0284c7));outline-offset:2px}.rl-appearance-wrap{display:inline-flex;position:relative}.rl-appearance-menu{z-index:80;background:var(--surface-solid,var(--surface));border:1px solid var(--border);min-width:10.5rem;box-shadow:var(--shadow-lg,var(--shadow));-webkit-backdrop-filter:blur(16px)saturate(1.2);border-radius:12px;flex-direction:column;gap:.1rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.rl-appearance-menu[hidden]{display:none!important}.rl-appearance-menu .rl-menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.35rem .35rem .1rem;font-size:.65rem;font-weight:700}.rl-appearance-menu button{appearance:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:auto;padding:.5rem .55rem;font-size:.85rem;font-weight:600}.rl-appearance-menu button:hover,.rl-appearance-menu button.is-active{background:color-mix(in srgb, var(--accent,#0284c7) 14%, transparent)}.rl-appearance-menu button.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent,#0284c7) 30%, transparent)}.rl-modal{z-index:100;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.rl-modal[hidden]{display:none!important}.rl-modal-card{background:var(--surface-solid,var(--surface));border:1px solid var(--border);width:min(100%,22rem);box-shadow:var(--shadow-lg,var(--shadow));color:var(--text);border-radius:14px;padding:1rem 1.1rem}.rl-modal-card h2{margin:0 0 .55rem;font-size:1.05rem}.rl-modal-card p,.rl-modal-card li{color:var(--muted);font-size:.88rem;line-height:1.45}.rl-modal-card ul{margin:0 0 .85rem;padding-left:1.1rem}.rl-modal-card kbd{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em}
