@font-face{font-family:Cuprum;src:url(/fonts/Cuprum-Variable.ttf) format("truetype");font-weight:400 700;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg:#07080b;--bg-soft:#101218;--panel:#14161c;--panel-2:#1a1d26;--text:#f2f3f5;--text-muted:#9aa0ad;--accent:#6ee7b7;--accent-blue:#60a5fa;--accent-purple:#a78bfa;--danger:#f87171;--warn:#facc15;--line:#2a2e39;--radius:8px;--shell-bg:#050506;--sidebar-bg:#000;--sidebar-border:#121214;--nav-muted:#8b909c;--nav-hover-bg:#16171c;--nav-active-bg:#1c1e26;--nav-fg:#fff;--shadow:0 10px 28px rgba(0,0,0,.45);--shadow-soft:0 10px 24px rgba(0,0,0,.24);--tip-bg:color-mix(in srgb,#0e1016 92%,var(--accent) 4%);--chip-bg:rgba(0,0,0,.55);--overlay-bg:rgba(0,0,0,.55);--gnss-frame-bg:linear-gradient(180deg,#161a22,#10131a);--gnss-rail-bg:color-mix(in srgb,var(--panel-2) 55%,#05070b);--gnss-mask:color-mix(in srgb,#05070b 62%,transparent);--gnss-brush:color-mix(in srgb,var(--accent-blue) 14%,transparent);--gnss-brush-edge:color-mix(in srgb,var(--accent-blue) 55%,transparent);--gnss-handle:color-mix(in srgb,var(--accent-blue) 75%,#fff);--gnss-live:#2f9e69;--gnss-live-2:#267f56;--gnss-degraded:#c7932f;--gnss-degraded-2:#a77a27;--gnss-outage:#c35656;--gnss-outage-2:#a74646;--gnss-fix:#2f8f9f;--gnss-fix-2:#257786;--font-sans:"Cuprum","Segoe UI",sans-serif;--font-display:var(--font-sans);--font-body:var(--font-sans);--font-label:var(--font-sans)}:root[data-theme=light]{color-scheme:light;--bg:#f2f4f6;--bg-soft:#e7ebef;--panel:#fff;--panel-2:#eef1f4;--text:#12151a;--text-muted:#5a6570;--accent:#0d8f68;--accent-blue:#3b82f6;--accent-purple:#6d7ae8;--danger:#dc2626;--warn:#b45309;--line:#cfd6dd;--shell-bg:#e8ecf0;--sidebar-bg:#f7f8fa;--sidebar-border:#d0d7de;--nav-muted:#646e7a;--nav-hover-bg:#e6eaef;--nav-active-bg:#dde3ea;--nav-fg:#12151a;--shadow:0 10px 28px rgba(18,24,32,.1);--shadow-soft:0 8px 18px rgba(18,24,32,.08);--tip-bg:color-mix(in srgb,#fff 94%,var(--accent) 6%);--chip-bg:hsla(0,0%,100%,.88);--overlay-bg:rgba(242,244,246,.78);--gnss-frame-bg:linear-gradient(180deg,#f7f9fb,#eef2f6);--gnss-rail-bg:color-mix(in srgb,var(--panel-2) 70%,#d5dde5);--gnss-mask:color-mix(in srgb,#d7dee6 72%,transparent);--gnss-brush:color-mix(in srgb,var(--accent-blue) 12%,transparent);--gnss-brush-edge:color-mix(in srgb,var(--accent-blue) 48%,transparent);--gnss-handle:color-mix(in srgb,var(--accent-blue) 70%,#1e3a5f);--gnss-live:#2f9e69;--gnss-live-2:#267f56;--gnss-degraded:#b88220;--gnss-degraded-2:#986c1c;--gnss-outage:#bc4a4a;--gnss-outage-2:#9d3e3e;--gnss-fix:#297f8d;--gnss-fix-2:#216b77}:root[data-theme=glass]{color-scheme:dark;--bg:#070b14;--bg-soft:hsla(0,0%,100%,.07);--panel:rgba(16,22,36,.48);--panel-2:hsla(0,0%,100%,.09);--text:#f3f5fa;--text-muted:#9aa3b5;--accent:#6ee7b7;--accent-blue:#60a5fa;--accent-purple:#a78bfa;--danger:#f87171;--warn:#facc15;--line:hsla(0,0%,100%,.14);--radius:12px;--shell-bg:#070b14;--sidebar-bg:rgba(6,10,18,.4);--sidebar-border:hsla(0,0%,100%,.1);--nav-muted:#8b93a8;--nav-hover-bg:hsla(0,0%,100%,.08);--nav-active-bg:hsla(0,0%,100%,.14);--nav-fg:#fff;--shadow:0 12px 40px rgba(0,0,0,.32),inset 0 1px 0 hsla(0,0%,100%,.1);--shadow-soft:0 8px 24px rgba(0,0,0,.2);--tip-bg:rgba(12,16,26,.72);--chip-bg:rgba(0,0,0,.32);--overlay-bg:rgba(6,10,18,.42);--glass-blur:20px;--glass-saturate:1.45;--glass-highlight:hsla(0,0%,100%,.16);--gnss-frame-bg:linear-gradient(180deg,hsla(0,0%,100%,.08),rgba(16,22,36,.35));--gnss-rail-bg:hsla(0,0%,100%,.06);--gnss-mask:color-mix(in srgb,#05070b 48%,transparent);--gnss-brush:color-mix(in srgb,var(--accent-blue) 16%,transparent);--gnss-brush-edge:color-mix(in srgb,var(--accent-blue) 55%,transparent);--gnss-handle:color-mix(in srgb,var(--accent-blue) 75%,#fff);--gnss-live:#2f9e69;--gnss-live-2:#267f56;--gnss-degraded:#c7932f;--gnss-degraded-2:#a77a27;--gnss-outage:#c35656;--gnss-outage-2:#a74646;--gnss-fix:#2f8f9f;--gnss-fix-2:#257786}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none;caret-color:transparent}.allow-text-select,.api-docs code,.api-docs pre,.local-console-log,.local-console-log *,.project-docs-prose,.project-docs-prose *,.raw-key,[contenteditable=""],[contenteditable=true],code,input,pre,select,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;caret-color:auto}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.ui-float-tip{position:fixed;top:0;left:0;z-index:10050;max-width:min(240px,calc(100vw - 16px));padding:7px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,#fff 8%);background:var(--tip-bg);color:var(--text);font-family:var(--font-label);font-size:.78rem;font-weight:500;line-height:1.35;letter-spacing:.01em;box-shadow:var(--shadow);pointer-events:none;opacity:0;transform:translate(-9999px,-9999px);transition:opacity .12s ease;white-space:pre-line}.ui-float-tip[data-wide="1"]{max-width:min(320px,calc(100vw - 16px))}.ui-float-tip[data-show="1"]{opacity:1}.onboarding-root{position:fixed;inset:0;z-index:10040;pointer-events:none}.onboarding-scrim{position:absolute;inset:0;border:0;margin:0;padding:0;background:color-mix(in srgb,#05070c 62%,transparent);cursor:default;pointer-events:auto}.onboarding-scrim.is-cutout{background:transparent}.onboarding-spotlight{position:fixed;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--accent) 70%,#fff 20%);box-shadow:0 0 0 9999px color-mix(in srgb,#05070c 62%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent);pointer-events:none;z-index:10041;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.onboarding-card{position:fixed;z-index:10042;pointer-events:auto;display:grid;grid-gap:10px;gap:10px;padding:16px 16px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.onboarding-progress{margin:0;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.onboarding-card h2{margin:0;font-size:1.15rem;font-weight:600;line-height:1.25}.onboarding-body{margin:0;font-size:.92rem;line-height:1.45;color:color-mix(in srgb,var(--text) 88%,var(--muted))}.onboarding-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.onboarding-actions-main{display:inline-flex;gap:8px;margin-left:auto}.onboarding-primary{min-height:34px;padding:0 14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 22%,var(--panel-2));color:var(--text);cursor:pointer;font:inherit}.onboarding-primary:hover{background:color-mix(in srgb,var(--accent) 32%,var(--panel-2))}.onboarding-actions .btn-ghost:disabled{opacity:.4;cursor:default}.marketing-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse 70% 42% at 78% 18%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 58%),radial-gradient(ellipse 55% 40% at 12% 0,color-mix(in srgb,var(--accent-blue) 10%,transparent),transparent 55%),var(--bg)}:root[data-theme=light] .marketing-shell{background:radial-gradient(ellipse 70% 42% at 78% 18%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 58%),radial-gradient(ellipse 55% 40% at 12% 0,color-mix(in srgb,var(--accent-blue) 7%,transparent),transparent 55%),var(--bg)}:root[data-theme=glass] .marketing-shell{background:radial-gradient(ellipse 75% 48% at 82% 12%,color-mix(in srgb,var(--accent-blue) 22%,transparent),transparent 58%),radial-gradient(ellipse 55% 42% at 8% 88%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 52%),radial-gradient(ellipse 48% 36% at 48% 42%,color-mix(in srgb,var(--accent-purple) 14%,transparent),transparent 60%),linear-gradient(165deg,#0a101c 0,#070b14 50%,#0c1220 100%)}.marketing-main{flex:1 1;width:100%}.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:16px 24px;gap:16px 24px;padding:20px clamp(20px,4vw,48px);max-width:1200px;margin:0 auto;width:100%}.site-header .brand{justify-self:start}.site-nav{justify-content:center;gap:22px;flex-wrap:wrap;justify-self:center}.header-prefs,.site-nav{display:flex;align-items:center}.header-prefs{flex-direction:row;justify-content:flex-end;gap:14px;justify-self:end;margin-left:0}.header-prefs .lang-switch,.header-prefs .theme-switch{flex-direction:row;align-items:center}.header-prefs .theme-btn{width:30px;height:30px}.header-prefs .lang-btn{font-size:.82rem;line-height:1}@media (max-width:720px){.site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand prefs" "nav nav"}.site-header .brand{grid-area:brand}.site-nav{grid-area:nav;justify-content:flex-start}.header-prefs{grid-area:prefs}}.site-header-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.nav-text,.site-nav a{font-size:.95rem;letter-spacing:.01em;color:var(--text-muted);border:0;background:none;padding:0;cursor:pointer;transition:color .15s ease}.nav-text:hover,.site-nav a:hover{color:var(--text)}.auth-field{display:grid;grid-gap:6px;gap:6px}.auth-field span{font-size:.8rem;color:var(--text-muted)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.lang-switch{display:inline-flex;gap:10px;align-items:center}.lang-btn{background:transparent;border:0;padding:0;color:var(--text-muted);cursor:pointer;font-size:.85rem;letter-spacing:.06em}.lang-btn.active,.lang-btn:hover{color:var(--text)}.theme-switch{display:inline-flex;gap:8px;align-items:center}.theme-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.theme-btn:hover{color:var(--text);background:var(--nav-hover-bg)}.theme-btn.active{color:var(--text);background:var(--nav-active-bg)}.landing{width:100%}.landing-hero{position:relative;isolation:isolate;width:100%;min-height:clamp(360px,62vh,700px);display:flex;align-items:center;padding:36px clamp(18px,4vw,48px) 28px;overflow:hidden}.landing-hero-copy{position:relative;z-index:2;margin-left:30%;width:max-content;max-width:min(440px,calc(70% - 24px));text-align:left;animation:landing-copy-in .52s ease both}.landing-brand{font-family:var(--font-display);font-size:clamp(2.4rem,5.4vw,3.85rem);font-weight:700;letter-spacing:-.03em;line-height:.92;margin:0 0 16px;color:var(--text)}.landing-headline{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;letter-spacing:-.02em;margin:0 0 10px;max-width:26ch}.landing-sub{margin:0;color:var(--text-muted);font-size:.98rem;line-height:1.45;max-width:40ch}.landing-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:22px}.cta-primary{display:inline-flex;align-items:center;padding:11px 20px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--text);font-weight:600;font-size:.92rem;transition:background .15s ease,border-color .15s ease,transform .15s ease}.cta-primary:hover{background:color-mix(in srgb,var(--accent) 28%,var(--panel));border-color:color-mix(in srgb,var(--accent) 65%,transparent);transform:translateY(-1px)}.cta-ghost{color:var(--text-muted);font-size:.92rem;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.cta-ghost:hover{color:var(--text);border-bottom-color:var(--text-muted)}.landing-hero-visual{position:absolute;inset:0;margin:0;line-height:0;overflow:hidden;z-index:0;pointer-events:none}.landing-hero-visual:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--bg) 55%,transparent) 82%,var(--bg) 100%)}.landing-hero-svg{width:100%;height:100%;display:block}.landing-hero-grid{animation:landing-grid-drift 28s linear infinite;transform-origin:60% 40%}.landing-hero-map{animation:landing-map-in .7s ease both}.landing-hero-map-frame{fill:var(--bg-soft);stroke:var(--line);stroke-width:1.2;filter:drop-shadow(0 18px 40px color-mix(in srgb,#000 35%,transparent))}.landing-hero-map-ring{fill:none;stroke:color-mix(in srgb,var(--accent) 22%,transparent);stroke-width:1.1}.landing-hero-chip{opacity:0;animation:landing-fade-in .5s ease 1.2s forwards}.landing-hero-track{stroke-dasharray:680;stroke-dashoffset:680;animation:landing-track-draw 1.85s ease-out .3s forwards}.landing-hero-gap{opacity:0;animation:landing-fade-in .6s ease 1.1s forwards}.landing-hero-fix{opacity:0;animation:landing-fade-in .45s ease 1.35s forwards}.landing-pulse{transform-box:fill-box;transform-origin:center;animation:landing-pulse 2.8s ease-out infinite}.landing-pulse-delay{animation-delay:1.1s}.landing-paths{position:relative;z-index:1;margin-left:30%;max-width:min(560px,calc(70% - 24px));padding:4px clamp(18px,4vw,48px) 56px 0;animation:landing-copy-in .52s ease 80ms both}.landing-paths h2{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin:0 0 14px;letter-spacing:-.01em}.landing-paths ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.landing-paths li{display:flex;align-items:flex-start;gap:10px;color:var(--text-muted);font-size:.95rem;line-height:1.4;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 78%,transparent)}.landing-path-mark{flex:0 0 auto;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.landing-path-mark.path-b{background:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 22%,transparent)}@keyframes landing-copy-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-track-draw{to{stroke-dashoffset:0}}@keyframes landing-fade-in{to{opacity:1}}@keyframes landing-pulse{0%{transform:scale(.72);opacity:.55}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}@keyframes landing-grid-drift{0%{transform:translateZ(0)}to{transform:translate3d(-18px,-10px,0)}}@keyframes landing-map-in{0%{opacity:0;transform:translate3d(18px,8px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@media (prefers-reduced-motion:reduce){.landing-hero-chip,.landing-hero-copy,.landing-hero-fix,.landing-hero-gap,.landing-hero-grid,.landing-hero-map,.landing-hero-track,.landing-paths,.landing-pulse{animation:none!important}.landing-hero-track{stroke-dashoffset:0}.landing-hero-chip,.landing-hero-fix,.landing-hero-gap{opacity:1}}@media (max-width:900px){.landing-hero-copy{margin-left:18%;max-width:min(420px,calc(82% - 20px))}.landing-paths{margin-left:18%;max-width:min(520px,calc(82% - 20px))}}@media (max-width:640px){.landing-hero{min-height:clamp(300px,58vh,520px);padding:20px 16px 16px;align-items:flex-end}.landing-hero-copy{margin-left:0;max-width:100%;margin-bottom:8px}.landing-paths{margin-left:0;max-width:100%;padding:8px 16px 48px}.landing-brand{font-size:clamp(1.95rem,9vw,2.5rem)}.landing-headline{font-size:clamp(1.05rem,4.2vw,1.25rem)}.landing-sub{font-size:.9rem}}.auth-wrap{max-width:420px;margin:48px auto;padding:0 20px 64px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px}.auth-card h1{font-family:var(--font-display);font-size:1.6rem;margin:0 0 20px}.auth-card form{display:grid;grid-gap:12px;gap:12px}.auth-card input,.auth-card select{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-soft);color:var(--text);font:inherit;color-scheme:inherit;width:100%;box-sizing:border-box}.auth-card select{cursor:pointer}.auth-card select:disabled{opacity:.62;cursor:wait}.auth-card select option{background-color:var(--panel);color:var(--text)}.auth-card button[type=submit],.auth-submit{margin-top:4px;padding:12px 14px;border:0;border-radius:var(--radius);background:var(--text);color:var(--bg);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:opacity .15s ease,transform .15s ease}.auth-card button[type=submit]:disabled,.auth-card input:disabled,.auth-card select:disabled,.auth-mode-btn:disabled,.auth-quick-btn:disabled,.auth-submit:disabled{opacity:.62;cursor:wait}.auth-submit.is-busy{cursor:progress}.auth-submit-spin{width:14px;height:14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--bg) 35%,transparent);border-top-color:var(--bg);animation:firmware-job-spin .7s linear infinite;flex:0 0 14px}.auth-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--panel));color:var(--text)}.auth-alert-ico{flex:0 0 auto;width:20px;height:20px;margin-top:1px;border-radius:999px;display:inline-grid;place-items:center;font-size:.75rem;font-weight:700;color:#fff;background:var(--danger)}.auth-alert-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.auth-alert-copy strong{font-size:.86rem;font-weight:650}.auth-alert-copy span{font-size:.84rem;color:color-mix(in srgb,var(--text) 88%,var(--text-muted));line-height:1.35}.auth-card input[aria-invalid=true]{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 16%,transparent)}.auth-dev-row{display:grid;grid-gap:8px;gap:8px;margin-top:2px}.auth-mode-btn,.auth-quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-soft);color:var(--text);cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .15s ease,background .15s ease}.auth-mode-btn.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--bg-soft))}.auth-mode-tag{font-size:.86rem;font-weight:650;letter-spacing:.02em}.auth-mode-hint{font-size:.72rem;color:var(--text-muted)}.auth-quick-btn{flex-direction:row;align-items:center;justify-content:center;font-size:.9rem;font-weight:600}.auth-mode-btn:hover,.auth-quick-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--text)}.auth-card .error{color:var(--danger);margin:12px 0 0;font-size:.9rem}:root[data-theme=light] .auth-alert{background:color-mix(in srgb,var(--danger) 8%,#fff)}.app-shell{--sidebar-w:64px;display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;overflow:hidden;background:var(--shell-bg);color:var(--text);transition:grid-template-columns .22s cubic-bezier(.22,1,.36,1)}.app-shell.sidebar-expanded{--sidebar-w:196px}.app-shell.no-map,.app-shell.panel-collapsed,.app-shell.panel-collapsed.no-map{grid-template-columns:var(--sidebar-w) 1fr}.app-stage{--panel-w:420px;position:relative;display:grid;grid-template-columns:auto 1fr;min-width:0;height:100%;overflow:hidden}.app-sidebar{background:var(--sidebar-bg);padding:16px 0;border-right:1px solid var(--sidebar-border);width:var(--sidebar-w,64px);min-width:var(--sidebar-w,64px);max-width:var(--sidebar-w,64px);overflow:hidden;transition:width .22s cubic-bezier(.22,1,.36,1),min-width .22s cubic-bezier(.22,1,.36,1),max-width .22s cubic-bezier(.22,1,.36,1),padding .22s ease}.app-sidebar,.app-sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:8px}.app-sidebar-nav{width:100%;min-width:0;padding:0 8px}.app-mark{width:36px;height:36px;border:0;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#4f46e5);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.85rem;color:#fff;cursor:pointer;flex:0 0 auto;transition:transform .15s ease,box-shadow .15s ease}.app-mark-wrap{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.app-mark-label{display:none;white-space:nowrap;font-size:1.25rem;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;color:var(--text)}.app-mark.on,.app-mark:hover{box-shadow:0 0 0 2px color-mix(in srgb,#a78bfa 55%,transparent)}.app-mark:hover{transform:translateY(-1px)}.app-nav-btn{width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--nav-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0;transition:background .15s ease,color .15s ease,width .2s ease,padding .2s ease;flex:0 0 auto;min-width:0}.app-nav-label{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:600;letter-spacing:.01em;line-height:1.1;text-align:left}.app-nav-btn:hover{color:var(--nav-fg);background:var(--nav-hover-bg)}.app-nav-btn.active{color:var(--nav-fg);background:var(--nav-active-bg)}.app-shell.sidebar-expanded .app-sidebar{align-items:stretch;padding:16px 8px}.app-shell.sidebar-expanded .app-mark{width:36px;height:36px;padding:0}.app-shell.sidebar-expanded .app-mark-wrap{width:calc(100% - 4px);margin-left:2px;justify-content:flex-start}.app-shell.sidebar-expanded .app-mark-label{display:inline}.app-shell.sidebar-expanded .app-sidebar-nav{align-items:stretch}.app-shell.sidebar-expanded .app-nav-btn{width:100%;justify-content:flex-start;padding:0 10px;gap:10px}.app-shell.sidebar-expanded .app-nav-label{display:inline}.app-shell.sidebar-expanded .app-sidebar-prefs{align-items:stretch;width:100%;padding:0 4px}.app-shell.sidebar-expanded .app-sidebar .lang-switch,.app-shell.sidebar-expanded .app-sidebar .theme-switch{flex-direction:row;justify-content:center;width:100%;gap:6px}.app-shell.sidebar-expanded .app-sidebar-prefs>.app-nav-btn{justify-content:center}.app-shell.sidebar-expanded .sidebar-mode-btn{width:100%}.app-sidebar-spacer{flex:1 1}.app-sidebar .lang-switch,.app-sidebar .theme-switch{flex-direction:column;gap:var(--chip-gap);margin-bottom:4px}.app-sidebar-prefs{display:flex;flex-direction:column;align-items:center;gap:8px}.ether-expand-btn{width:auto!important;min-width:36px;height:36px;padding:0 10px;gap:6px;display:inline-flex!important;flex-direction:row;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:.72rem;font-weight:650;letter-spacing:.01em}.ether-expand-btn.active,.ether-expand-btn:hover{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}.ether-expand-btn span{line-height:1}.app-shell:not(.is-mobile-layout) .ether-expand-btn{width:40px!important;height:40px;padding:0;border-radius:10px}.app-shell:not(.is-mobile-layout) .ether-expand-btn .app-nav-label{display:none}.app-shell.sidebar-expanded:not(.is-mobile-layout) .ether-expand-btn{width:100%!important;padding:0 10px;justify-content:flex-start;gap:10px;border-radius:10px}.app-shell.sidebar-expanded:not(.is-mobile-layout) .ether-expand-btn .app-nav-label{display:inline}.project-docs-nav-btn{background:color-mix(in srgb,var(--accent-blue) 18%,transparent);color:var(--accent-blue)}.project-docs-nav-btn.active,.project-docs-nav-btn:hover{background:color-mix(in srgb,var(--accent-blue) 28%,transparent);color:var(--accent-blue)}.app-sidebar .theme-btn{width:32px;height:28px}.app-sidebar .lang-btn{font-size:.7rem}.app-panel{--panel-w:420px;position:relative;container-type:inline-size;container-name:sidepanel;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;width:var(--panel-w);min-width:0;max-width:var(--panel-w);opacity:1;transition:width .28s cubic-bezier(.22,1,.36,1),max-width .28s cubic-bezier(.22,1,.36,1),height .36s cubic-bezier(.22,1,.36,1),max-height .36s cubic-bezier(.22,1,.36,1),opacity .22s ease,border-color .22s ease,border-radius .28s ease}.app-stage.dock-open>.app-panel:not(.is-collapsed){--dock-gap:1px;height:calc(100% - var(--dock-h, 0px) - var(--dock-gap));max-height:calc(100% - var(--dock-h, 0px) - var(--dock-gap));align-self:start;border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}.app-panel-body{box-sizing:border-box;width:var(--panel-w);min-width:var(--panel-w);height:100%;padding:16px 18px 28px;display:flex;flex-direction:column;gap:14px;overflow:auto}.app-panel.is-collapsed{width:0;max-width:0;opacity:0;border-right-color:transparent;pointer-events:none}.app-panel.is-resizing{transition:none}.app-panel-resize{position:absolute;top:0;right:-3px;width:8px;height:100%;z-index:6;cursor:col-resize;touch-action:none;background:transparent}.app-panel-resize:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:40px;border-radius:2px;transform:translate(-50%,-50%);background:transparent;transition:background .15s ease,box-shadow .15s ease}.app-panel-resize:hover:after,.app-panel.is-resizing .app-panel-resize:after{background:#6b7280;box-shadow:0 0 0 1px hsla(220,9%,46%,.35)}.app-panel-wide{--panel-w:min(1320px,100%);border-right:0;width:100%;max-width:1320px;margin:0 auto}.app-panel-wide .app-panel-body{width:100%;min-width:0;max-width:1320px;margin:0 auto;padding:24px 28px 40px}.app-panel-wide.is-collapsed{width:0;max-width:0}.app-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pill{align-items:center;padding:6px 12px;border-radius:999px;background:var(--panel-2);font-size:.8rem}.ether-nearby,.pill{display:inline-flex;gap:6px;color:var(--text-muted)}.ether-nearby{align-items:baseline;margin:6px 0 0;font-size:.76rem;font-weight:550;letter-spacing:.01em;line-height:1.2}.ether-nearby strong{color:var(--text);font-size:.84rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.icon-row{display:flex;gap:8px}.icon-ghost,.icon-tile{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text-muted);cursor:pointer;display:grid;place-items:center;padding:0}.icon-ghost{border:0;background:transparent}.icon-ghost:hover,.icon-tile:hover{color:var(--text);background:color-mix(in srgb,var(--panel-2) 70%,#fff 4%)}.icon-tile:disabled{opacity:.45;cursor:default}.icon-collapse-mobile{display:none}.track-hero{display:grid;grid-gap:14px;gap:14px;padding-bottom:4px}.track-hero-main{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;align-items:flex-start}.track-hero-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px}.track-hero-tour{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:34px;padding:6px 12px;font-size:.8rem;pointer-events:auto}.ether-panel-stack{display:flex;flex-direction:column;flex:1 1 auto;min-height:100%;gap:18px}.ether-tour-foot{position:relative;z-index:2;display:flex;justify-content:flex-start;margin-top:auto;padding-top:12px;padding-bottom:6px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);pointer-events:auto}.track-hero-name{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.ether-status{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0;color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.01em;line-height:1.2}.ether-status i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--text-muted) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-muted) 14%,transparent)}.ether-status-ok{color:color-mix(in srgb,var(--accent) 88%,var(--text))}.ether-status-ok i{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.ether-status-info{color:color-mix(in srgb,var(--accent-blue) 80%,var(--text))}.ether-status-info i{background:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 20%,transparent)}.ether-status-warn{color:color-mix(in srgb,var(--danger) 75%,var(--text))}.ether-status-warn i{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.ether-status-muted,.track-hero-meta{color:var(--text-muted)}.track-hero-meta{margin:6px 0 0;font-size:.88rem;font-weight:600;line-height:1.35}.track-hero-meta-value{color:var(--accent-blue)}.track-hero-score{display:flex;align-items:center;gap:12px}.track-hero-kpis{text-align:right;display:grid;grid-gap:2px;gap:2px;justify-items:end}.track-hero-kpis strong{color:var(--text);font-size:1.05rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track-hero-kpis span{color:var(--text-muted);font-size:.82rem}.track-hero-kpis em{font-style:normal;font-size:.84rem;font-weight:650}.track-hero-kpis em.up{color:var(--accent)}.track-hero-kpis em.down{color:var(--danger)}.driver-head{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:flex-start}.driver-name{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin:0;letter-spacing:-.02em}.driver-meta{margin:6px 0 0;color:var(--text-muted);font-size:.88rem}.driver-kpis{text-align:right;font-size:.85rem;color:var(--text-muted)}.driver-kpis strong{display:block;color:var(--text);font-size:1.05rem;font-weight:600}.score-ring{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at center,var(--panel) 58%,transparent 59%),conic-gradient(var(--accent) 0 86%,#2a2e39 0);display:grid;place-items:center;flex-shrink:0}.score-ring span{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.track-hero-alerts{display:grid;grid-gap:8px;gap:8px}.alert-banner,.status-banner{display:flex;align-items:center;gap:8px;border-radius:10px;padding:8px 12px;font-family:var(--font-label);font-size:.84rem;line-height:1.3;letter-spacing:.01em}.alert-banner,.status-banner.warn{background:rgba(250,204,21,.1);color:#fde68a;border:1px solid rgba(250,204,21,.22)}.status-banner.ok{background:rgba(110,231,183,.1);color:#bbf7d0;border:1px solid rgba(110,231,183,.22)}.status-banner.info{background:rgba(96,165,250,.1);color:#bfdbfe;border:1px solid rgba(96,165,250,.22)}.status-banner.muted{background:var(--panel-2);color:var(--text-muted);border:1px solid var(--line)}:root[data-theme=light] .alert-banner,:root[data-theme=light] .status-banner.warn{background:#fef3c7;color:#713f12;border:1px solid #f59e0b}:root[data-theme=light] .status-banner.ok{background:#d1fae5;color:#065f46;border:1px solid #10b981}:root[data-theme=light] .status-banner.info{background:#dbeafe;color:#1e3a8a;border:1px solid #3b82f6}:root[data-theme=light] .status-banner.muted{background:#e8ebf2;color:#3f4654;border:1px solid #b8bfcc}:root[data-theme=light] .status-ico{background:rgba(15,23,42,.1)}:root[data-theme=light] .status-banner.warn .status-ico:not(.status-ico-diamond){background:#f59e0b;color:#1a1203}.status-ico{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;font-size:.72rem;font-weight:700;font-family:var(--font-body);background:rgba(0,0,0,.28)}.status-ico-diamond{width:14px;height:14px;border-radius:2px;transform:rotate(45deg);background:#facc15;color:#1a1203;margin:0 3px}.status-ico-diamond i{display:block;font-style:normal;font-size:.68rem;font-weight:700;line-height:1;transform:rotate(-45deg)}.status-banner.warn .status-ico:not(.status-ico-diamond){background:#facc15;color:#1a1203}.text-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-top:4px}.text-tab{border:0;background:none;padding:10px 0;color:var(--text-muted);cursor:pointer;font-size:.95rem;position:relative}.text-tab.active{color:var(--text)}.text-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--text)}.panel-toolbar{justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--text-muted);font-size:.82rem}.panel-toolbar,.vehicle-row{display:flex;align-items:center}.vehicle-row{gap:12px;padding:10px;background:var(--panel-2);border-radius:10px}.vehicle-thumb{width:56px;height:40px;border-radius:6px;background:linear-gradient(160deg,#3a3f4d,#1a1d26);position:relative;overflow:hidden}.vehicle-thumb:after{content:"";position:absolute;inset:12px 8px 10px;background:#e8eaef;border-radius:3px;opacity:.85}.vehicle-row strong{display:block;font-size:.95rem}.vehicle-row span{color:var(--text-muted);font-size:.8rem}.timeline{display:flex;height:14px;border-radius:4px;overflow:hidden;background:var(--bg-soft)}.timeline-seg{height:100%}.timeline-seg.idle{background:var(--line)}.timeline-seg.drive{background:#3b82f6}.timeline-seg.stop{background:#7c3aed}.timeline-seg.alert{background:#f59e0b}.timeline-hours{justify-content:space-between;font-size:.7rem;margin-top:4px}.status-dots,.timeline-hours{display:flex;color:var(--text-muted)}.status-dots{gap:14px;margin-top:8px;font-size:.8rem}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.ok{background:var(--accent)}.dot.warn{background:var(--warn)}.dot.muted{background:#4b5160}.job-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.job-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.badge-late{background:rgba(250,204,21,.15);color:#fde68a;border-radius:999px;padding:4px 10px;font-size:.75rem;white-space:nowrap}.activity-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.activity-item{display:grid;grid-template-columns:48px 1fr;grid-gap:8px;gap:8px;font-size:.88rem}.activity-item time{color:var(--text-muted)}.activity-item.danger{color:var(--danger)}.activity-item.muted{color:var(--text-muted)}.keys-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.keys-form.compact button,.keys-form.compact input,.keys-form.compact select{padding:7px 10px;font-size:.82rem;min-height:34px}.keys-form input,.keys-form select{flex:1 1;min-width:120px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-soft);color:var(--text);color-scheme:inherit}.keys-form select option{background-color:var(--panel);color:var(--text)}:root[data-theme=glass] .keys-form select option{background-color:#121826;color:#f3f5fa}.keys-form.compact input{max-width:220px;flex:0 1 220px}.keys-form.compact select{flex:0 0 auto;min-width:88px}.btn-secondary,.keys-form button{padding:10px 14px;border:0;border-radius:var(--radius);background:var(--text);color:var(--bg);font-weight:600;cursor:pointer}.keys-form button:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--danger);cursor:pointer;font-size:.85rem}.btn-ghost.compact{padding:4px 8px;font-size:.75rem}.btn-quiet{padding:6px 12px;min-height:34px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.85rem}.btn-quiet:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--text) 22%,var(--line))}.btn-quiet:disabled,.onboarding-actions .btn-quiet:disabled{opacity:.4;cursor:default}.key-list,.usage-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.key-item,.usage-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--panel-2);border-radius:8px;font-size:.88rem}.raw-key{margin-top:10px;padding:10px;border-radius:8px;font-size:.85rem;word-break:break-all}.raw-key,.usage-bar{background:var(--bg-soft)}.usage-bar{height:6px;border-radius:3px;overflow:hidden;margin-top:6px}.usage-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple))}.app-map{position:relative;background:var(--bg-soft);overflow:hidden}.app-map,.map-leaflet{min-height:280px;height:100%}.map-leaflet{width:100%;z-index:0}.app-map.theme-night.basemap-carto .leaflet-tile-pane,.app-map.theme-night.basemap-keyed .leaflet-tile-pane,.app-map.theme-night.basemap-satellite .leaflet-tile-pane{filter:none}.app-map.theme-night.basemap-osm .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.88) contrast(.95) saturate(.2)}.app-map.theme-day.basemap-osm .leaflet-tile-pane{filter:none}.app-map .leaflet-container{width:100%;height:100%;background:#1a1a1a;font:inherit}.app-map.theme-day .leaflet-container{background:#dce3ea}.app-map .leaflet-control-attribution{background:rgba(8,12,14,.72)!important;color:#8a9a96!important;border:0;box-shadow:none;font-size:.68rem}.app-map .leaflet-control-attribution a{color:#b7c9c4!important}.app-map .leaflet-bar{border:0!important;box-shadow:none!important}.app-map .leaflet-bar a,.app-map .leaflet-control-zoom-level{width:34px!important;height:34px!important;line-height:34px!important;background:rgba(20,22,28,.92)!important;color:#f2f3f5!important;border:1px solid #2a2e39!important}.app-map .leaflet-control-zoom-level{display:block;box-sizing:border-box;margin:0;padding:0;text-align:center;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;border-top:0!important;border-bottom:0!important}.app-map .leaflet-bar a:hover{background:rgba(28,31,40,.96)!important;color:#fff!important}.app-map .leaflet-bar a.leaflet-disabled{color:#6b7280!important;background:rgba(20,22,28,.72)!important}.map-legend-row{display:flex;flex-direction:row;align-items:stretch;gap:1px;pointer-events:auto}.map-legend,.map-legend-symbols,.map-tools{position:relative;top:auto;right:auto;z-index:auto;display:flex;align-items:stretch;gap:0;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.map-legend-symbols{flex:0 0 auto}.map-chrome-stack{position:absolute;top:16px;right:16px;bottom:16px;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.map-chrome-stack>*{pointer-events:auto}.map-radius-card{width:min(260px,calc(100vw - 48px));padding:10px 12px 12px;border-radius:12px;background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}.map-labels-card .map-radius-head{margin-bottom:6px}.map-labels-toggles{display:flex;gap:6px;flex-wrap:wrap}.map-labels-toggles .map-radius-mode-btn{flex:1 1 auto;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent);text-align:center}.map-labels-toggles .map-radius-mode-btn.on{border-color:color-mix(in srgb,#38bdf8 45%,transparent)}.map-radius-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.74rem;color:var(--text-muted);flex-wrap:wrap}.map-radius-mode{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:color-mix(in srgb,var(--panel-2) 55%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.map-radius-mode-btn{border:0;border-radius:6px;padding:3px 8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.68rem;font-weight:650;cursor:pointer}.map-radius-mode-btn.on{background:color-mix(in srgb,#38bdf8 22%,transparent);color:#e0f2fe}.map-radius-head strong{font-family:var(--font-display);font-size:.9rem;font-weight:650;color:var(--text);letter-spacing:.01em}.map-radius-range{width:100%;height:4px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:99px;outline:none;cursor:pointer}.map-radius-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #0b0c10;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent);cursor:-webkit-grab;cursor:grab}.map-radius-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid #0b0c10;cursor:grab}.map-radius-range::-moz-range-track{height:4px;background:color-mix(in srgb,var(--line) 70%,transparent);border-radius:99px}.map-legend-btn{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font-body);font-size:.78rem;font-weight:550;letter-spacing:.01em;transition:color .15s ease,background .15s ease}.map-legend-btn svg{flex-shrink:0;opacity:.8}.map-legend-btn i{display:inline-flex;align-items:center;justify-content:center;font-style:normal;line-height:1}.map-legend-btn i svg{flex-shrink:0;opacity:.8}.map-legend-btn:hover{color:var(--text);background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.map-legend-btn.on{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--panel-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.map-legend-btn.on svg{opacity:1;color:var(--accent)}.map-legend-btn.on.is-warn{background:color-mix(in srgb,#f4a261 14%,var(--panel-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,#f4a261 32%,transparent)}.map-legend-btn.on.is-warn svg{color:#f4a261}.map-legend-btn.on.is-follow-wait{opacity:.72}.map-legend-btn.map-symbols-btn{min-width:34px;width:34px;padding:0;justify-content:center;background:color-mix(in srgb,#38bdf8 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#7dd3fc 28%,transparent);color:#7dd3fc}.map-legend-btn.map-symbols-btn svg{display:block}.map-legend-btn.map-symbols-btn:hover{background:color-mix(in srgb,#38bdf8 22%,transparent)}.map-legend-btn.map-symbols-btn.on{background:color-mix(in srgb,#38bdf8 28%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#7dd3fc 55%,transparent);color:#e0f2fe}.app-map.theme-day .map-legend-btn.map-symbols-btn{background:color-mix(in srgb,#0284c7 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#0284c7 28%,transparent);color:#0369a1}.app-map.theme-day .map-legend-btn.map-symbols-btn.on{color:#0c4a6e}.map-tool-btn{min-width:36px;height:34px;padding:0 10px;border-radius:8px;background:rgba(20,22,28,.9);color:var(--text-muted);cursor:pointer;border:1px solid var(--line);font-size:.78rem}.map-tool-btn.on,.map-tool-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}@media (max-width:960px){.map-chrome-stack{left:auto;right:12px;top:12px;bottom:auto;display:grid;grid-template-columns:auto auto;justify-content:end;justify-items:end;align-items:flex-start;grid-column-gap:8px;column-gap:8px;grid-row-gap:8px;row-gap:8px;width:max-content;max-width:calc(100% - 24px)}.map-chrome-stack,.map-chrome-stack>*{pointer-events:auto}.map-legend-row{grid-column:2;grid-row:1;flex-direction:column;gap:0}.map-legend{flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;box-sizing:border-box;width:48px}.map-legend-symbols{display:none!important}.map-labels-card,.map-radius-card{grid-column:1;grid-row:1;width:min(calc(100vw - 84px),280px);max-width:100%}.map-symbols-legend{top:50%;right:12px;width:min(calc(100vw - 84px),280px);max-height:min(42vh,360px)}.map-legend-btn,.map-legend-btn.map-symbols-btn{flex:0 0 auto;box-sizing:border-box;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;justify-content:center;font-size:.72rem}.map-legend-btn>span{display:none}.map-legend-btn.map-symbols-btn,.map-symbols-legend{display:none!important}}.map-beacon-icon{background:transparent!important;border:0!important;padding:0!important;overflow:visible!important}.map-beacon-pin{position:relative;width:24px;height:24px;pointer-events:none;overflow:visible}.map-beacon-pin i{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 3px rgba(94,234,212,.35),0 0 12px 2px rgba(94,234,212,.45)}.map-beacon-pin i,.map-beacon-pin.heard i{background:#5eead4}.map-beacon-pin.moved i{background:#fde047;box-shadow:0 0 0 3px rgba(253,224,71,.35),0 0 12px 2px rgba(253,224,71,.4)}.map-beacon-pin .map-beacon-tag{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:2px 7px 3px;border-radius:8px;background:rgba(6,28,28,.92);border:1px solid color-mix(in srgb,#5eead4 85%,transparent);box-shadow:0 0 10px rgba(94,234,212,.25);color:#e8f2ef;font-size:.72rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;max-width:132px;overflow:hidden;text-overflow:ellipsis}.map-beacon-pin.moved .map-beacon-tag{border-color:#fde047;box-shadow:0 0 10px rgba(253,224,71,.22)}.map-beacon-pin .map-beacon-tag em{margin-left:6px;color:#5eead4;font-style:normal;font-weight:400;font-family:ui-monospace,Consolas,monospace;font-size:.68rem}.map-beacon-pin.moved .map-beacon-tag em{color:#fde047}.map-beacon-pin .map-beacon-enrich{display:inline-block;margin-right:5px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,#5eead4 28%,transparent);color:#99f6e4;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}.map-beacon-pin.moved .map-beacon-enrich{background:color-mix(in srgb,#fde047 28%,transparent);color:#fef08a}.map-beacon-pin .map-beacon-enrich-float{position:absolute;left:50%;bottom:calc(100% + 4px);margin:0;transform:translateX(-50%);white-space:nowrap;pointer-events:none}.map-beacon{position:relative;width:140px;height:56px;pointer-events:none}.map-beacon.is-compact{width:28px;height:28px}.map-beacon i{position:absolute;left:50%;top:50%;width:8px;height:8px;margin-left:0;border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);background:#7ee0d0;box-shadow:0 0 0 3px rgba(126,224,208,.2)}.map-beacon.heard i{background:#d6ff4a;box-shadow:0 0 0 3px rgba(214,255,74,.18)}.map-beacon.moved i{background:#fde047;box-shadow:0 0 0 3px rgba(253,224,71,.28)}.map-beacon-tag{position:absolute;left:50%;bottom:calc(50% + 10px);transform:translateX(-50%);padding:2px 7px 3px;border-radius:8px;background:rgba(8,14,16,.9);border:1px solid color-mix(in srgb,#7ee0d0 70%,transparent);color:#e8f2ef;font-size:.72rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;max-width:132px;overflow:hidden;text-overflow:ellipsis}.map-beacon.heard .map-beacon-tag{border-color:rgba(214,255,74,.7)}.map-beacon.moved .map-beacon-tag{border-color:#fde047}.map-beacon-tag em{margin-left:6px;color:#7ee0d0;font-style:normal;font-weight:400;font-family:ui-monospace,Consolas,monospace;font-size:.68rem}.map-beacon.heard .map-beacon-tag em{color:#d6ff4a}.map-beacon.moved .map-beacon-tag em{color:#fde047}.map-beacon.fixed i{background:#5eead4;width:10px;height:10px;box-shadow:0 0 0 3px rgba(94,234,212,.35),0 0 12px 2px rgba(94,234,212,.45)}.map-beacon.fixed.moved i{background:#fde047;box-shadow:0 0 0 3px rgba(253,224,71,.35),0 0 12px 2px rgba(253,224,71,.4)}.map-beacon.fixed .map-beacon-tag{border-color:color-mix(in srgb,#5eead4 85%,transparent);background:rgba(6,28,28,.92);box-shadow:0 0 10px rgba(94,234,212,.25)}.map-beacon.fixed.moved .map-beacon-tag{border-color:#fde047;box-shadow:0 0 10px rgba(253,224,71,.22)}.map-beacon.fixed .map-beacon-tag em{color:#5eead4}.map-beacon.fixed.moved .map-beacon-tag em{color:#fde047}.map-beacon-tag-only{padding:2px 5px;min-width:0}.map-beacon-enrich{display:inline-block;margin-right:5px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,#5eead4 28%,transparent);color:#99f6e4;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}.map-beacon-enrich-float{position:absolute;left:50%;bottom:calc(50% + 8px);margin:0;transform:translateX(-50%);vertical-align:baseline;white-space:nowrap;pointer-events:none}.map-beacon.fixed.moved .map-beacon-enrich{background:color-mix(in srgb,#fde047 28%,transparent);color:#fef08a}.map-tip-enrich{display:inline-block;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,#5eead4 22%,transparent);color:#99f6e4;font-size:.68rem;font-weight:600;letter-spacing:.02em}.map-open-wifi{display:inline-flex;align-items:center;gap:5px;max-width:140px;padding:2px 7px 2px 4px;border-radius:999px;background:rgba(20,48,96,.88);color:#bfdbfe;border:1px solid #60a5fa;font-size:.68rem;line-height:16px;white-space:nowrap;pointer-events:none}.map-open-wifi.is-icon-only{width:28px;height:28px;max-width:28px;padding:0;justify-content:center;border-radius:50%;box-sizing:border-box}.map-open-wifi.is-icon-only .map-wifi-glyph{width:14px;height:14px}.map-open-wifi.moved{background:rgba(62,48,4,.9);color:#fde047;border-color:#fde047}.map-open-wifi b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.map-wifi-glyph{flex:none;display:block}@keyframes map-surround-appear{0%{opacity:0}to{opacity:var(--surround-opacity,1)}}.map-surround-appear{animation:map-surround-appear .42s ease-out var(--surround-delay,0ms) both}.map-beacon-pin.map-surround-appear,.map-beacon.map-surround-appear,.map-open-wifi.map-surround-appear{will-change:opacity}@media (prefers-reduced-motion:reduce){.map-surround-appear{animation:none;opacity:var(--surround-opacity,1)!important}}.map-tip-open{display:inline-block;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,#60a5fa 22%,transparent);color:#bfdbfe;font-size:.68rem;font-weight:600;letter-spacing:.02em}.map-open-badge{margin-left:4px;padding:0 4px;border-radius:4px;background:color-mix(in srgb,#f4a261 30%,transparent);color:#ffd7a8;font-size:.56rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.map-craft-icon{background:transparent!important;border:0!important;padding:0!important;pointer-events:auto!important;overflow:visible!important;box-sizing:border-box!important;line-height:0!important;font-size:0!important}.map-craft-icon-focus{width:64px!important;height:64px!important;overflow:visible!important}.map-craft-icon-other{width:44px!important;height:44px!important;overflow:visible!important}.map-craft-dot{--craft:#34d399;position:relative;width:100%;height:100%;margin:0;padding:0;pointer-events:auto;overflow:visible}.map-craft-dot.is-near{--craft:#6ee7b7;opacity:.88}.map-craft-dot.is-focus{--craft:#38bdf8;opacity:1}.map-craft-dot.is-hold{--craft:#f59e0b;opacity:1}.map-craft-dot-core{position:absolute;left:50%;top:50%;z-index:2;width:10px;height:10px;margin:0;border-radius:50%;background:var(--craft);box-sizing:border-box;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(8,14,16,.55),0 0 8px color-mix(in srgb,var(--craft) 55%,transparent);pointer-events:none}.map-craft-dot.is-selected .map-craft-dot-core{width:12px;height:12px;box-shadow:0 0 0 2px rgba(8,14,16,.55),0 0 0 4px color-mix(in srgb,var(--craft) 35%,transparent),0 0 14px color-mix(in srgb,var(--craft) 70%,transparent)}.map-craft-dot-pulse{position:absolute;left:50%;top:50%;z-index:1;width:12px;height:12px;margin:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--craft) 70%,transparent);background:color-mix(in srgb,var(--craft) 22%,transparent);box-sizing:border-box;transform:translate(-50%,-50%);transform-origin:50% 50%;animation:map-craft-pulse 1.8s ease-out infinite;pointer-events:none}.map-craft-dot.is-selected .map-craft-dot-pulse{width:16px;height:16px;border-width:2px;border-color:color-mix(in srgb,var(--craft) 90%,#fff 10%);background:color-mix(in srgb,var(--craft) 30%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--craft) 45%,transparent);animation-name:map-craft-pulse-focus;animation-duration:1.45s}.map-craft-dot-pulse-delay{animation-delay:.9s}.map-craft-dot.is-selected .map-craft-dot-pulse-delay{animation-delay:.72s}.app-map.theme-day .map-craft-dot.is-focus{--craft:#0284c7}.app-map.theme-day .map-craft-dot.is-hold{--craft:#ea580c}.map-track-selected-pulse-icon{background:transparent!important;border:0!important;padding:0!important;overflow:visible!important;pointer-events:none!important;width:40px!important;height:40px!important}.map-track-selected-pulse{--pulse:#7dd3fc;position:relative;width:40px;height:40px;pointer-events:none}.map-track-selected-pulse>span{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:0;transform:translate(-50%,-50%);pointer-events:none}.map-track-selected-pulse>span>i{display:block;width:100%;height:100%;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--pulse) 75%,transparent);background:transparent;box-sizing:border-box;transform-origin:50% 50%;animation:map-track-focus-pulse 1.6s ease-out infinite}.map-track-selected-pulse>span.is-delay>i{animation-delay:.8s}.app-map.theme-day .map-track-selected-pulse{--pulse:#0284c7}@keyframes map-craft-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.55}55%{transform:translate(-50%,-50%) scale(2.15);opacity:.12}to{transform:translate(-50%,-50%) scale(2.35);opacity:0}}@keyframes map-craft-pulse-focus{0%{transform:translate(-50%,-50%) scale(1);opacity:.9}60%{transform:translate(-50%,-50%) scale(2.9);opacity:.2}to{transform:translate(-50%,-50%) scale(3.4);opacity:0}}@keyframes map-track-focus-pulse{0%{transform:scale(1);opacity:.55}55%{transform:scale(2.15);opacity:.12}to{transform:scale(2.35);opacity:0}}@media (prefers-reduced-motion:reduce){.map-craft-dot-pulse{animation:none;opacity:.28;transform:translate(-50%,-50%) scale(1.65)}.map-craft-dot-pulse-delay{display:none}.map-track-selected-pulse>span>i{animation:none;opacity:.3;transform:scale(1.55)}.map-track-selected-pulse>span.is-delay{display:none}}.map-arrow{--hd:0deg;position:relative;width:36px;height:36px;display:grid;place-items:center;color:#9ca3af;transform:rotate(var(--hd));filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));pointer-events:auto}.map-arrow.is-near{color:#a3a3a3;opacity:.92}.map-arrow.is-selected{color:#f8fafc;filter:drop-shadow(0 0 6px rgba(91,124,250,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.6))}.map-arrow svg{display:block;position:relative;z-index:1}.map-arrow-wake{position:absolute;left:50%;top:58%;width:3px;height:16px;margin-left:-1.5px;border-radius:2px;background:linear-gradient(180deg,rgba(203,213,225,.55),rgba(203,213,225,0));transform-origin:top center;pointer-events:none}.map-arrow.is-selected .map-arrow-wake{background:linear-gradient(180deg,rgba(147,197,253,.7),rgba(147,197,253,0));height:18px}.map-craft{width:44px;height:44px}.map-craft,.map-craft span{display:grid;place-items:center}.map-craft span{min-width:34px;height:22px;padding:0 8px;border-radius:999px;background:rgba(8,14,16,.92);border:2px solid var(--ink,#d6ff4a);color:var(--ink,#d6ff4a);font-size:.72rem;font-weight:700;letter-spacing:.04em;box-shadow:0 0 0 4px color-mix(in srgb,var(--ink,#d6ff4a) 18%,transparent)}.map-craft.dim{opacity:.72}.map-craft.dim span{box-shadow:none;border-width:1.5px}.map-open-icon{background:transparent!important;border:0!important}.map-open-dot{display:inline-flex;align-items:center;gap:var(--chip-gap);max-width:140px;padding:1px 6px;border-radius:999px;background:rgba(90,42,8,.88);color:#ffd7a8;border:1px solid #f4a261;font-size:.68rem;line-height:16px;white-space:nowrap;pointer-events:none}.map-open-dot i{width:7px;height:7px;border-radius:50%;background:#f4a261;flex:none}.map-open-dot.moved{background:rgba(62,48,4,.9);color:#fde047;border-color:#fde047}.map-open-dot.moved i{background:#fde047}.map-open-dot b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.map-open-dot em{flex:none;font-style:normal;font-family:ui-monospace,Consolas,monospace;font-size:.64rem;opacity:.9}.map-point-tip-wrap{background:color-mix(in srgb,var(--panel) 94%,transparent)!important;border:1px solid color-mix(in srgb,var(--line) 85%,transparent)!important;border-radius:10px!important;box-shadow:0 10px 28px rgba(0,0,0,.35)!important;color:var(--text)!important;padding:0!important}.map-point-tip-wrap:before{border-top-color:color-mix(in srgb,var(--panel) 94%,transparent)!important}.map-point-tip{padding:8px 10px;font-size:.72rem;line-height:1.35;min-width:140px;max-width:260px}.map-point-tip strong{font-size:.78rem}.map-point-tip div+div{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-point-card-icon{background:transparent!important;border:0!important;overflow:visible!important;cursor:pointer}.map-point-card{position:relative;width:268px;max-width:268px;padding:0;border-radius:12px;background:rgba(12,22,34,.92);border:1px solid rgba(186,230,253,.45);box-shadow:0 0 0 1px rgba(8,40,72,.35),0 12px 28px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);color:#f8fafc;font-family:var(--font-body);font-size:.76rem;line-height:1.35;letter-spacing:.01em;pointer-events:auto;white-space:normal;overflow:visible;cursor:default}.map-point-card.is-light{background:color-mix(in srgb,var(--panel) 78%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 10px 24px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text)}.map-point-card-grid{position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:linear-gradient(rgba(224,242,254,.55) 1px,transparent 0),linear-gradient(90deg,rgba(224,242,254,.55) 1px,transparent 0);background-size:28px 28px}.map-point-card.is-light .map-point-card-grid{display:none}.map-point-card-head{position:relative;z-index:1;padding:10px 30px 8px 12px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;border-bottom:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.35)}.map-point-card.is-light .map-point-card-head{padding:8px 28px 6px 10px;border-bottom-color:color-mix(in srgb,var(--line) 65%,transparent);background:transparent}.map-point-card-head:active{cursor:-webkit-grabbing;cursor:grabbing}.map-point-card-head strong{display:block;font-size:.84rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#e0f2fe}.map-point-card.is-light .map-point-card-head strong{font-size:.78rem;letter-spacing:.03em;color:var(--text)}.map-point-card-body{position:relative;z-index:1;padding:8px 12px 11px;display:grid;grid-gap:8px;gap:8px;overflow:visible}.map-point-card.is-light .map-point-card-body{padding:6px 10px 9px;gap:6px}.map-point-section{display:grid;grid-gap:4px;gap:4px}.map-point-section.is-hits{gap:2px;padding-top:2px;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.map-point-sec-toggle{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:3px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:4px}.map-point-sec-toggle:hover:not(:disabled){color:var(--text)}.map-point-sec-toggle:disabled{cursor:default;opacity:.85}.map-point-sec-label{flex:1 1;min-width:0;font-size:.66rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted)}.map-point-sec-toggle em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:600;font-size:.66rem}.map-point-sec-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid color-mix(in srgb,var(--text-muted) 80%,transparent);transition:transform .18s ease;flex-shrink:0}.map-point-section.is-open .map-point-sec-chevron{transform:rotate(180deg)}.map-point-hits-wrap{display:none}.map-point-section.is-open .map-point-hits-wrap{display:block;max-height:9.5rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;scrollbar-width:thin}.map-point-sec-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:2px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.map-point-card.is-light .map-point-sec-title{margin-top:0;font-size:.66rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--text-muted)}.map-point-sec-title em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#e2e8f0}.map-point-card.is-light .map-point-sec-title em{color:var(--text-muted);font-weight:600}.map-point-kv{display:grid;grid-template-columns:52px 1fr;grid-gap:8px;gap:8px;align-items:baseline}.map-point-card.is-light .map-point-kv{grid-template-columns:48px 1fr;gap:6px}.map-point-k{color:#94a3b8;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase}.map-point-card.is-light .map-point-k{color:var(--text-muted);font-weight:500}.map-point-v{color:#f1f5f9;font-weight:600;word-break:break-word}.map-point-card.is-light .map-point-v{color:var(--text);font-weight:500}.map-point-kv.is-mono .map-point-v{font-family:ui-monospace,Consolas,monospace;font-size:.72rem;font-weight:500;letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-point-hits{list-style:none;margin:0;padding:0;display:grid;grid-gap:3px;gap:3px}.map-point-card.is-light .map-point-hits{gap:1px}.map-point-hits li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 8px;gap:6px 8px;align-items:flex-start;padding:3px 7px;border-radius:6px;background:rgba(45,212,191,.1);border:1px solid rgba(45,212,191,.22)}.map-point-hit-main{min-width:0;display:grid;grid-gap:1px;gap:1px}.map-point-hit-coords{font-family:ui-monospace,Consolas,monospace;font-size:.64rem;color:color-mix(in srgb,var(--text-muted) 92%,transparent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-point-card.is-light .map-point-hits li{padding:1px 0;border-radius:0;background:transparent;border:0;gap:6px}.map-point-hits.is-open li{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.24)}.map-point-card.is-light .map-point-hits.is-open li{background:transparent;border:0}.map-point-hit-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fafc;font-weight:600}.map-point-card.is-light .map-point-hit-name{color:var(--text-muted);font-weight:500;font-size:.7rem}.map-point-hit-rssi{font-family:ui-monospace,Consolas,monospace;font-size:.68rem;color:#cbd5e1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-point-card.is-light .map-point-hit-rssi{color:color-mix(in srgb,var(--text-muted) 88%,transparent);font-size:.64rem}.map-point-hits-more{border:0!important;background:transparent!important;color:#94a3b8!important;font-size:.68rem;padding-left:2px!important}.map-point-hits-empty{margin:0;color:var(--text-muted);font-size:.68rem;opacity:.7}.map-point-card-close{position:absolute;top:5px;right:5px;z-index:2;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;border-radius:6px;background:rgba(148,163,184,.18);color:#e2e8f0;font-size:1rem;line-height:1;cursor:pointer;pointer-events:auto}.map-point-card.is-light .map-point-card-close{top:4px;right:4px;width:20px;height:20px;background:transparent;color:var(--text-muted)}.map-point-card-close:hover{background:rgba(148,163,184,.32)}.map-point-card.is-light .map-point-card-close:hover{background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text)}.map-track-point-label-icon{background:transparent!important;border:0!important}.map-track-point-label{display:inline-block;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);color:var(--text);font-size:.62rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(0,0,0,.25)}.map-track-hop-dist-icon{background:transparent!important;border:0!important;overflow:visible!important}.map-track-hop-dist{display:inline-block;transform:translate(-50%,-50%);padding:3px 8px;border-radius:8px;background:rgba(15,23,42,.88);border:1px solid rgba(125,211,252,.55);color:#f8fafc;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.35);pointer-events:none}.app-map.theme-day .map-track-hop-dist{background:hsla(0,0%,100%,.94);border-color:rgba(14,116,144,.45);color:#0f172a;box-shadow:0 4px 14px rgba(15,23,42,.18)}.map-board-id-label-icon{background:transparent!important;border:0!important;overflow:visible!important}.map-board-id-label{display:inline-block;transform:translate(12px,calc(-50% - (var(--stack-i, 0) * 22px)));padding:2px 8px 3px;border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));color:var(--text);font-family:ui-monospace,Consolas,monospace;font-size:.68rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 14px rgba(0,0,0,.28);pointer-events:none}.map-board-id-label.is-focus{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 6px 16px rgba(0,0,0,.32)}.app-map.theme-day .map-point-card{background:hsla(0,0%,100%,.96);border:1px solid rgba(14,116,144,.32);box-shadow:0 0 0 1px hsla(0,0%,100%,.95),0 12px 28px rgba(15,23,42,.14);color:#0f172a}.app-map.theme-day .map-point-card-grid{opacity:.08;background-image:linear-gradient(rgba(14,116,144,.35) 1px,transparent 0),linear-gradient(90deg,rgba(14,116,144,.35) 1px,transparent 0)}.app-map.theme-day .map-point-card-head{border-bottom-color:rgba(14,116,144,.18);background:rgba(240,249,255,.75)}.app-map.theme-day .map-point-card-head strong{color:#0c4a6e}.app-map.theme-day .map-point-k,.app-map.theme-day .map-point-sec-label,.app-map.theme-day .map-point-sec-title{color:#64748b}.app-map.theme-day .map-point-hit-name,.app-map.theme-day .map-point-sec-title em,.app-map.theme-day .map-point-sec-toggle em,.app-map.theme-day .map-point-v{color:#0f172a}.app-map.theme-day .map-point-hit-rssi,.app-map.theme-day .map-point-hits-more{color:#64748b!important}.app-map.theme-day .map-point-hits li{background:rgba(13,148,136,.08);border-color:rgba(13,148,136,.22)}.app-map.theme-day .map-point-hits.is-open li{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.2)}.app-map.theme-day .map-point-card.is-light .map-point-hits li,.app-map.theme-day .map-point-card.is-light .map-point-hits.is-open li{background:transparent;border:0}.app-map.theme-day .map-point-card.is-light .map-point-card-head{background:transparent}.app-map.theme-day .map-point-card.is-light .map-point-hit-name,.app-map.theme-day .map-point-card.is-light .map-point-sec-title em{color:#475569}.app-map.theme-day .map-point-card-close{background:rgba(14,116,144,.1);color:#0c4a6e}.app-map.theme-day .map-point-card-close:hover{background:rgba(14,116,144,.2)}.app-map.theme-day .map-track-point-label{background:hsla(0,0%,100%,.94);border-color:rgba(15,23,42,.16);color:#0f172a;box-shadow:0 4px 12px rgba(15,23,42,.12)}.app-map.theme-day .map-board-id-label{background:hsla(0,0%,100%,.95);border-color:rgba(14,116,144,.4);color:#0f172a;box-shadow:0 4px 12px rgba(15,23,42,.12)}.app-map.theme-day .map-point-tip-wrap{background:hsla(0,0%,100%,.96)!important;border-color:rgba(15,23,42,.14)!important;box-shadow:0 10px 28px rgba(15,23,42,.16)!important;color:#0f172a!important}.app-map.theme-day .map-point-tip-wrap:before{border-top-color:hsla(0,0%,100%,.96)!important}.app-map.theme-day .map-point-tip div+div{color:#475569}.app-map.theme-day .map-beacon-tag{background:hsla(0,0%,100%,.94);color:#0f172a;border-color:color-mix(in srgb,#0d9488 55%,transparent);box-shadow:0 4px 10px rgba(15,23,42,.1)}.app-map.theme-day .map-beacon-pin .map-beacon-tag,.app-map.theme-day .map-beacon.fixed .map-beacon-tag{background:hsla(0,0%,100%,.95);border-color:color-mix(in srgb,#0d9488 70%,transparent);box-shadow:0 4px 12px rgba(13,148,136,.16)}.app-map.theme-day .map-beacon-pin .map-beacon-tag em,.app-map.theme-day .map-beacon-tag em,.app-map.theme-day .map-beacon.fixed .map-beacon-tag em{color:#0f766e}.app-map.theme-day .map-beacon-pin.moved .map-beacon-tag,.app-map.theme-day .map-beacon.fixed.moved .map-beacon-tag,.app-map.theme-day .map-beacon.moved .map-beacon-tag{border-color:#ca8a04}.app-map.theme-day .map-beacon-pin.moved .map-beacon-tag em,.app-map.theme-day .map-beacon.fixed.moved .map-beacon-tag em,.app-map.theme-day .map-beacon.moved .map-beacon-tag em{color:#a16207}.app-map.theme-day .map-beacon-enrich{background:color-mix(in srgb,#0d9488 18%,transparent);color:#0f766e}.app-map.theme-day .map-beacon-pin.moved .map-beacon-enrich,.app-map.theme-day .map-beacon.fixed.moved .map-beacon-enrich{background:color-mix(in srgb,#eab308 22%,transparent);color:#a16207}.app-map.theme-day .map-tip-enrich{background:color-mix(in srgb,#0d9488 16%,transparent);color:#0f766e}.app-map.theme-day .map-open-wifi{background:hsla(0,0%,100%,.94);color:#1e3a8a;border-color:#3b82f6;box-shadow:0 3px 8px rgba(37,99,235,.12)}.app-map.theme-day .map-open-wifi.moved{background:rgba(255,251,235,.96);color:#92400e;border-color:#ca8a04}.app-map.theme-day .map-tip-open{background:color-mix(in srgb,#3b82f6 16%,transparent);color:#1d4ed8}.app-map.theme-day .map-open-dot{background:rgba(255,247,237,.96);color:#9a3412;border-color:#ea580c}.app-map.theme-day .map-arrow{color:#475569;filter:drop-shadow(0 1px 2px rgba(15,23,42,.28))}.app-map.theme-day .map-arrow.is-near{color:#64748b}.app-map.theme-day .map-arrow.is-selected{color:#0f172a;filter:drop-shadow(0 0 5px rgba(37,99,235,.4)) drop-shadow(0 1px 2px rgba(15,23,42,.3))}.app-map.theme-day .map-arrow-wake{background:linear-gradient(180deg,rgba(71,85,105,.55),rgba(71,85,105,0))}.app-map.theme-day .map-arrow.is-selected .map-arrow-wake{background:linear-gradient(180deg,rgba(37,99,235,.65),rgba(37,99,235,0))}.app-map.theme-day .map-craft-dot{--craft:#16a34a}.app-map.theme-day .map-craft-dot.is-near{--craft:#22c55e}.app-map.theme-day .map-craft-dot-core{box-shadow:0 0 0 2px hsla(0,0%,100%,.85),0 0 8px color-mix(in srgb,var(--craft) 45%,transparent)}.demo-chip,.mode-chip{position:relative;left:auto;top:auto;z-index:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--line);font-size:.75rem;color:var(--text-muted);cursor:pointer;letter-spacing:.04em}.map-top-chips{position:absolute;left:16px;top:16px;z-index:500;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:8px;max-width:calc(100% - 32px);pointer-events:none}.map-top-chips>*{pointer-events:auto}.map-symbols-legend{position:absolute;top:auto;bottom:clamp(24px,calc(var(--dock-clearance, 0px) + 116px),42vh);right:16px;z-index:500;transform:none;width:min(300px,calc(100vw - 40px));padding:10px 14px 12px;border-radius:12px;background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);color:var(--text);max-height:min(52vh,420px);overflow-x:hidden;overflow-y:auto}.map-symbols-list li.is-section{grid-template-columns:1fr;margin-top:2px;font-weight:650;color:color-mix(in srgb,var(--text) 88%,transparent)}.app-stage.dock-open .map-symbols-legend{bottom:clamp(24px,calc(var(--dock-clearance, 0px) + 116px),42vh)}.map-symbols-title{margin:0 0 8px;font-family:var(--font-display);font-size:.82rem;font-weight:650;letter-spacing:.01em}.map-symbols-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:7px;gap:7px}.map-symbols-list li{display:grid;grid-template-columns:1fr 44px;grid-gap:8px;gap:8px;align-items:center;font-size:.7rem;line-height:1.3;color:color-mix(in srgb,var(--text) 92%,transparent)}.map-symbols-list em{display:block;margin-top:1px;font-style:normal;font-size:.64rem;color:var(--text-muted)}.map-sym-age{display:inline-flex;gap:2px;align-items:center;justify-content:center}.map-sym-age i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1px hsla(0,0%,100%,.25)}.map-sym-dot{width:10px;height:10px;margin:0 auto;border-radius:50%;box-shadow:0 0 0 1px hsla(0,0%,100%,.28)}.map-sym-dot.is-jump,.map-sym-dot.is-ring{width:11px;height:11px}.map-sym-dot.is-jump{background:#0a0a0a;box-shadow:none;border:2.5px solid #7dd3fc}.map-sym-vertex{box-sizing:border-box;width:16px;height:16px;margin:0 auto;border-radius:50%;display:grid;place-items:center;border:2.25px solid transparent}.map-sym-vertex-core{width:8px;height:8px;border-radius:50%;background:#0a0a0a;box-shadow:0 0 0 1.5px hsla(0,0%,100%,.5)}.app-map.theme-day .map-sym-vertex-core{box-shadow:0 0 0 1.5px rgba(15,23,42,.45)}.map-sym-hop-dist{display:inline-block;margin:0 auto;padding:1px 6px;border-radius:6px;background:rgba(15,23,42,.88);border:1px solid rgba(125,211,252,.55);color:#f8fafc;font-family:ui-monospace,Consolas,monospace;font-size:.62rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}.app-map.theme-day .map-sym-hop-dist{background:hsla(0,0%,100%,.94);border-color:rgba(14,116,144,.45);color:#0f172a}.map-sym-gps-track{width:34px;height:0;margin:0 auto;border-top:3px solid #15803d;opacity:.78;border-radius:999px}.map-sym-gps-point{width:11px;height:11px;margin:0 auto;border-radius:50%;background:#22c55e;border:1.5px solid rgba(21,128,61,.95);box-shadow:0 0 0 1px rgba(34,197,94,.24);opacity:.72}.map-track-layer-dock{position:absolute;top:50%;right:0;bottom:auto;z-index:1;transform:translateY(calc(-50% - clamp(0px, calc(var(--dock-clearance, 0px) - 120px), 180px)));display:flex;flex-direction:row;align-items:flex-start;gap:1px;padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto}.map-track-layer-fixed,.map-track-layer-main{display:flex;flex-direction:column;gap:6px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.map-track-layer-fixed{flex:0 0 auto}.map-radius-mode-btn.is-warn{border:1px solid color-mix(in srgb,#f59e0b 55%,var(--line));color:#fbbf24}.map-track-layer-btn{box-sizing:border-box;position:relative;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.42;transition:background .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease,filter .15s ease}.map-track-layer-btn:hover{opacity:.72}.map-track-layer-btn.on{opacity:1}.map-track-layer-btn.is-wifi{color:color-mix(in srgb,#93c5fd 55%,var(--text-muted));background:color-mix(in srgb,var(--panel-2) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.map-track-layer-btn.is-wifi:hover{color:#93c5fd;background:color-mix(in srgb,#2563eb 16%,var(--panel-2))}.map-track-layer-btn.is-wifi.on{color:#eff6ff;background:color-mix(in srgb,#2563eb 72%,#0f172a 10%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#bfdbfe 80%,transparent),0 0 0 1px color-mix(in srgb,#3b82f6 45%,transparent),0 0 14px color-mix(in srgb,#2563eb 40%,transparent)}.map-track-layer-btn.is-hop-dist{color:color-mix(in srgb,#fcd34d 55%,var(--text-muted));background:color-mix(in srgb,var(--panel-2) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.map-track-layer-btn.is-hop-dist:hover{color:#fcd34d;background:color-mix(in srgb,#b45309 16%,var(--panel-2))}.map-track-layer-btn.is-hop-dist.on{color:#fffbeb;background:color-mix(in srgb,#b45309 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fde68a 80%,transparent),0 0 0 1px color-mix(in srgb,#f59e0b 45%,transparent),0 0 14px color-mix(in srgb,#d97706 40%,transparent)}.map-track-layer-btn.is-hop-speed{color:color-mix(in srgb,#fdba74 55%,var(--text-muted));background:color-mix(in srgb,var(--panel-2) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.map-track-layer-btn.is-hop-speed:hover{color:#fdba74;background:color-mix(in srgb,#c2410c 16%,var(--panel-2))}.map-track-layer-btn.is-hop-speed.on{color:#fff7ed;background:color-mix(in srgb,#c2410c 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fed7aa 80%,transparent),0 0 0 1px color-mix(in srgb,#ea580c 45%,transparent),0 0 14px color-mix(in srgb,#ea580c 40%,transparent)}.map-track-layer-btn.is-track-adaptive,.map-track-layer-btn.is-track-raw,.map-track-layer-btn.is-track-smooth,.map-track-layer-btn.is-track-snap{opacity:1}.map-track-mode-raw{display:block;font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1;transform:translateY(.5px)}.map-track-layer-btn.is-track-raw.on{color:#f1f5f9;background:color-mix(in srgb,#475569 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#cbd5e1 75%,transparent),0 0 0 1px color-mix(in srgb,#64748b 45%,transparent),0 0 14px color-mix(in srgb,#475569 35%,transparent)}.map-track-layer-btn.is-track-raw.on:hover{background:color-mix(in srgb,#64748b 72%,#0f172a 8%)}.map-track-layer-btn.is-track-snap.on{color:#ecfeff;background:color-mix(in srgb,#0e7490 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#a5f3fc 80%,transparent),0 0 0 1px color-mix(in srgb,#22d3ee 45%,transparent),0 0 14px color-mix(in srgb,#0891b2 40%,transparent)}.map-track-layer-btn.is-track-snap.on:hover{background:color-mix(in srgb,#155e75 72%,#0f172a 8%)}.map-track-layer-btn.is-track-smooth.on{color:#f0f9ff;background:color-mix(in srgb,#0369a1 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#bae6fd 80%,transparent),0 0 0 1px color-mix(in srgb,#38bdf8 45%,transparent),0 0 14px color-mix(in srgb,#0284c7 40%,transparent)}.map-track-layer-btn.is-track-smooth.on:hover{background:color-mix(in srgb,#075985 72%,#0f172a 8%)}.map-track-layer-btn.is-track-adaptive.on{color:#f0fdfa;background:color-mix(in srgb,#0f766e 78%,#0f172a 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#99f6e4 80%,transparent),0 0 0 1px color-mix(in srgb,#2dd4bf 45%,transparent),0 0 14px color-mix(in srgb,#0d9488 40%,transparent)}.map-track-layer-btn.is-track-adaptive.on:hover{background:color-mix(in srgb,#115e59 72%,#0f172a 8%)}.map-track-layer-btn.is-track-adaptive.on.is-warn,.map-track-layer-btn.is-track-snap.on.is-warn{color:#fffbeb;background:color-mix(in srgb,#b45309 72%,#0f172a 10%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fde68a 70%,transparent),0 0 0 1px color-mix(in srgb,#f59e0b 40%,transparent)}.map-track-layer-btn.is-track-busy{position:relative;overflow:hidden;animation:map-track-mode-busy-pulse 1.1s ease-in-out infinite}.map-track-layer-btn.is-track-busy:after{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,#fff 38%,transparent) 48%,transparent 66%);transform:translateX(-120%);animation:map-track-mode-busy-sheen 1.35s ease-in-out infinite;pointer-events:none}.map-track-mode-timer{position:absolute;right:3px;bottom:2px;z-index:1;font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;font-size:.52rem;font-weight:700;letter-spacing:.02em;line-height:1;color:color-mix(in srgb,#fff 88%,transparent);text-shadow:0 0 4px rgba(15,23,42,.55);pointer-events:none}@keyframes map-track-mode-busy-pulse{0%,to{filter:brightness(1);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 35%,transparent),0 0 0 1px color-mix(in srgb,#67e8f9 35%,transparent),0 0 10px color-mix(in srgb,#22d3ee 28%,transparent)}50%{filter:brightness(1.18);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 55%,transparent),0 0 0 1px color-mix(in srgb,#a5f3fc 55%,transparent),0 0 16px color-mix(in srgb,#22d3ee 48%,transparent)}}@keyframes map-track-mode-busy-sheen{0%{transform:translateX(-120%)}55%,to{transform:translateX(120%)}}.map-track-layer-btn.is-gps{color:color-mix(in srgb,#86efac 55%,var(--text-muted));background:color-mix(in srgb,var(--panel-2) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.map-track-layer-btn.is-gps:hover{color:#86efac;background:color-mix(in srgb,#16a34a 16%,var(--panel-2))}.map-track-layer-btn.is-gps.on{color:#f0fdf4;background:color-mix(in srgb,#16a34a 72%,#0f172a 10%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#bbf7d0 80%,transparent),0 0 0 1px color-mix(in srgb,#22c55e 45%,transparent),0 0 14px color-mix(in srgb,#16a34a 40%,transparent)}@media (max-width:960px){.map-track-layer-dock{position:relative;top:auto;right:auto;transform:none;grid-column:2;grid-row:2;box-sizing:border-box;width:auto;flex-direction:column;align-items:center;gap:6px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-track-layer-fixed,.map-track-layer-main{display:contents}.map-track-layer-btn.is-wifi{order:1}.map-track-layer-btn.is-hop-dist{order:2}.map-track-layer-btn.is-hop-speed{order:3}.map-track-layer-btn.is-track-adaptive,.map-track-layer-btn.is-track-raw,.map-track-layer-btn.is-track-smooth,.map-track-layer-btn.is-track-snap{order:4}.map-track-layer-btn.is-gps{order:5}.map-track-layer-btn{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:9px}}.map-sym-halo{width:14px;height:14px;margin:0 auto;border-radius:50%;border:1.5px solid #5eead4;box-shadow:0 0 0 2px rgba(94,234,212,.2);background:transparent}.map-sym-selected{position:relative;width:28px;height:28px;margin:0 auto;display:grid;place-items:center}.map-sym-selected-pulse{position:absolute;inset:0}.map-sym-selected-pulse span{position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%)}.map-sym-selected-pulse span i{display:block;width:100%;height:100%;border-radius:50%;border:1.5px solid color-mix(in srgb,#7dd3fc 75%,transparent);box-sizing:border-box;animation:map-track-focus-pulse 1.6s ease-out infinite}.map-sym-selected-pulse span.is-delay i{animation-delay:.8s}.map-sym-selected .map-sym-dot{position:relative;z-index:1;margin:0}.map-sym-beacon{width:9px;height:9px;margin:0 auto;border-radius:2px;transform:rotate(45deg);background:#7ee0d0;box-shadow:0 0 0 2px rgba(126,224,208,.25)}.map-sym-beacon.is-fixed{background:#5eead4;box-shadow:0 0 0 2px rgba(94,234,212,.35)}.map-sym-beacon.is-open{border-radius:50%;transform:none;width:14px;height:14px;background:radial-gradient(circle at 50% 78%,#60a5fa 0 2px,transparent 2.2px),radial-gradient(circle at 50% 55%,transparent 3px,#60a5fa 3.2px 4px,transparent 4.2px),radial-gradient(circle at 50% 55%,transparent 5.5px,#60a5fa 5.7px 6.5px,transparent 6.7px);box-shadow:none;border:0}.map-sym-beacon.is-moved{background:#fde047;box-shadow:0 0 0 2px rgba(253,224,71,.35)}.map-sym-radius{width:16px;height:16px;margin:0 auto;border-radius:50%;border:1.5px solid rgba(156,163,175,.85);background:rgba(156,163,175,.12)}.map-sym-craft{position:relative;width:36px;height:36px;margin:0 auto;display:grid;place-items:center;overflow:hidden}.map-sym-craft-live{width:100%;height:100%}.map-sym-craft-live .map-craft-dot-pulse{animation:none!important;width:16px!important;height:16px!important;opacity:.4;transform:translate(-50%,-50%) scale(1.55)}.map-sym-craft-live .map-craft-dot-pulse-delay{display:none}@media (max-width:720px){.map-symbols-legend{max-height:36vh}}.basemap-chip{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--line)}.basemap-chip-btn{border:0;border-radius:999px;padding:5px 10px;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.72rem;font-weight:550;cursor:pointer}.basemap-chip-btn.on{background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--text)}.basemap-chip-btn:disabled{opacity:.45;cursor:not-allowed}.basemap-chip-btn:hover:not(:disabled){color:var(--text)}.panel-expand-chip{position:absolute;left:16px;top:58px;z-index:500;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg);color:var(--text);padding:7px 12px;font:inherit;font-size:.78rem;cursor:pointer}.panel-expand-chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}.panel-collapsed-hint{display:grid;place-items:center;min-height:40vh}.mode-chip-mode{font-family:var(--font-body);font-weight:650;font-size:.74rem}.mode-chip-label{font-family:var(--font-label);font-size:.68rem;letter-spacing:.02em;opacity:.9;padding-left:8px;border-left:1px solid color-mix(in srgb,currentColor 35%,transparent)}.mode-chip-dev{color:#d6ff4a;border-color:color-mix(in srgb,#d6ff4a 45%,var(--line));background:color-mix(in srgb,#d6ff4a 12%,var(--chip-bg))}:root[data-theme=light] .mode-chip-dev{color:#4d7c0f;border-color:color-mix(in srgb,#65a30d 40%,var(--line));background:color-mix(in srgb,#84cc16 14%,var(--chip-bg))}.mode-chip-prod{color:#bfdbfe;border-color:color-mix(in srgb,#60a5fa 40%,var(--line))}:root[data-theme=light] .mode-chip-prod{color:#1d4ed8;border-color:color-mix(in srgb,#3b82f6 35%,var(--line))}.mode-chip:hover{color:var(--text)}.sidebar-mode-btn{width:40px;height:28px;margin-bottom:6px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.04em;cursor:pointer}.sidebar-mode-btn.on{color:#d6ff4a;border-color:color-mix(in srgb,#d6ff4a 40%,var(--line))}.source-chip{font-size:.75rem;color:var(--text-muted);border:1px solid var(--line);border-radius:999px;padding:5px 10px}.fix-card{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)}.fix-card strong{display:inline-flex;align-items:center;gap:2px;font-size:.95rem}.fix-card>span{color:var(--text-muted);font-size:.8rem}.fix-card.search{border-color:color-mix(in srgb,var(--accent-blue) 28%,var(--line))}.fix-card.search strong{color:color-mix(in srgb,var(--accent-blue) 72%,var(--text))}.fix-search-dots{display:inline-flex;align-items:center;gap:3px;margin-left:5px}.fix-search-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.24;animation:fix-dot-loader 1.05s ease-in-out infinite}.fix-search-dots i:nth-child(2){animation-delay:.16s}.fix-search-dots i:nth-child(3){animation-delay:.32s}@keyframes fix-dot-loader{0%,70%,to{opacity:.22;transform:translateY(0) scale(.92)}35%{opacity:1;transform:translateY(-1px) scale(1.14)}}.fix-card.lock{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.fix-card.hold{border-color:color-mix(in srgb,#fbbf24 40%,var(--line))}.fix-card.coast{border-color:color-mix(in srgb,var(--accent-blue) 40%,var(--line))}.tracker-block{display:grid;grid-gap:8px;gap:8px}.tracker-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px}.tracker-kicker h2{margin:0;font-family:var(--font-display);font-size:1rem;min-width:0;line-height:1.25;overflow-wrap:anywhere}.tracker-kicker.is-foldable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:8px;margin:-4px -6px;padding:4px 6px;transition:background .14s ease}.tracker-kicker.is-foldable:hover{background:color-mix(in srgb,var(--panel-2) 72%,transparent)}.tracker-kicker.is-foldable:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));outline-offset:1px}.tracker-block.is-collapsible .tracker-kicker-toggle{display:inline-flex;align-items:center;gap:7px;min-width:0}.tracker-block.is-collapsible .tracker-chevron{width:14px;height:14px;display:inline-grid;place-items:center;color:var(--text-muted);opacity:.85;transform:rotate(0deg);transition:transform .16s ease,color .14s ease,opacity .14s ease;flex:0 0 auto}.tracker-block.is-collapsible .tracker-chevron svg{display:block}.tracker-kicker.is-foldable:hover .tracker-chevron{color:var(--text);opacity:1}.tracker-block.is-collapsible.is-open .tracker-chevron{transform:rotate(180deg)}.tracker-count{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650}.empty-note,.tracker-kicker span{color:var(--text-muted);font-size:.72rem}.empty-note{margin:0;font-family:var(--font-label);line-height:1.35;letter-spacing:.01em}.unit-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}@keyframes unit-ether-in{0%{opacity:0}to{opacity:1}}@keyframes unit-ether-out{0%{opacity:1}to{opacity:0}}.unit-list>li{animation:unit-ether-in .22s ease-out}.unit-list>li.is-leave{animation:unit-ether-out .22s ease-in forwards;pointer-events:none}@media (prefers-reduced-motion:reduce){.unit-list>li,.unit-list>li.is-leave{animation:none}}.unit-btn{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:0;row-gap:0;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;position:relative}.unit-btn>.unit-main{grid-column:1;grid-row:1}.unit-btn>.unit-aside{grid-column:2;grid-row:1}.unit-btn>.unit-channel-row,.unit-btn>.unit-module-row{grid-column:1/-1;grid-row:2}.unit-btn.fresh{box-shadow:inset 2px 0 0 var(--accent)}.unit-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.unit-btn strong{display:block;font-size:.92rem}.unit-title-row{gap:6px;flex-wrap:wrap}.unit-net-row,.unit-title-row{display:flex;align-items:center;min-width:0}.unit-net-row{gap:8px;width:100%}.unit-net-lead{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.unit-net-lead>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.unit-net-lead .unit-age{flex:0 0 auto;margin-top:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-style:normal;white-space:nowrap;color:var(--text-muted)}.unit-net-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto;margin-left:auto;min-width:0;max-width:52%}.unit-net-meta .unit-channel-chip{display:inline-flex;align-items:center;height:15px;padding:0 5px;border-radius:4px;font-size:.54rem;letter-spacing:.03em;line-height:1;white-space:nowrap;flex:0 1 auto;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;cursor:help}.unit-channel-row .unit-channel-chip,.unit-module-row .unit-channel-chip{cursor:help}.unit-title-row>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.unit-title-row>strong.unit-title-editable{cursor:text;border-radius:4px;outline:1px solid transparent;padding:0 2px;margin:0 -2px}.unit-title-row>strong.unit-title-editable:focus-visible,.unit-title-row>strong.unit-title-editable:hover{outline-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.unit-title-input{min-width:0;flex:1 1 auto;max-width:100%;height:1.45rem;padding:0 6px;border-radius:5px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--panel-2);color:var(--text);font:inherit;font-size:.92rem;font-weight:700;line-height:1.2}.unit-title-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.unit-device-id{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);line-height:1.2;margin-top:1px}.unit-fw-tag{font-size:.62em;font-weight:600;line-height:1.15;color:var(--text-muted);max-width:14rem;cursor:help}.unit-fw-tag,.unit-nick-tag{flex:0 0 auto;letter-spacing:.02em;vertical-align:super;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-nick-tag{font-size:.65em;font-weight:700;line-height:1;padding:1px 5px;border-radius:5px;color:color-mix(in srgb,var(--accent-blue) 92%,var(--text));background:color-mix(in srgb,var(--accent-blue) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent-blue) 28%,transparent);max-width:9rem}.unit-channel-row{margin-top:6px}.unit-channel-row,.unit-module-row{display:flex;align-items:center;flex-wrap:wrap;--chip-h:16px;--chip-px:6px;--chip-r:5px;--chip-fs:0.58rem;--chip-gap:4px;gap:4px;align-self:stretch;max-width:100%;min-width:0}.unit-module-row{margin-top:8px}.unit-channel-row .unit-channel-chip,.unit-module-row .unit-channel-chip{flex:0 0 auto;height:var(--chip-h);padding:0 var(--chip-px);border-radius:var(--chip-r);font-size:var(--chip-fs);letter-spacing:.03em}.unit-channel-chip{display:inline-flex;align-items:center;border:1px solid transparent;font-weight:700;text-transform:uppercase;line-height:1}.unit-channel-chip.is-wifi{color:#dbeafe;border-color:color-mix(in srgb,#60a5fa 58%,transparent);background:color-mix(in srgb,#2563eb 28%,transparent)}.unit-channel-chip.is-gps{color:#dcfce7;border-color:color-mix(in srgb,#4ade80 58%,transparent);background:color-mix(in srgb,#16a34a 28%,transparent)}.unit-channel-chip.is-lte{color:#e0e7ff;border-color:color-mix(in srgb,#818cf8 58%,transparent);background:color-mix(in srgb,#4f46e5 28%,transparent)}.unit-channel-chip.is-ok{color:#dcfce7;border-color:color-mix(in srgb,#4ade80 58%,transparent);background:color-mix(in srgb,#16a34a 28%,transparent)}.unit-channel-chip.is-warm,.unit-channel-chip.is-warn{color:#fef3c7;border-color:color-mix(in srgb,#f59e0b 58%,transparent);background:color-mix(in srgb,#b45309 26%,transparent)}.unit-channel-chip.is-err{color:#fee2e2;border-color:color-mix(in srgb,#ef4444 58%,transparent);background:color-mix(in srgb,#b91c1c 26%,transparent)}.unit-channel-chip.is-idle{color:var(--text-muted);border-color:color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--panel-2) 74%,transparent)}.unit-channel-chip.is-off{color:color-mix(in srgb,var(--text-muted) 88%,transparent);border-color:color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--panel-2) 62%,transparent)}.unit-age,.unit-btn em,.unit-btn small{color:var(--text-muted);font-size:.75rem;font-style:normal}.unit-aside{display:flex;flex-direction:column;align-items:flex-end;align-self:stretch;gap:4px;min-width:0}.unit-aside-top{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto;align-self:flex-end;height:14px;line-height:0}.unit-aside .battery-pill,.unit-aside .cell-signal-pill,.unit-aside .unit-battery-corner,.unit-aside .unit-cell-signal,.unit-aside .unit-wifi-signal,.unit-aside .wifi-signal-pill{flex:0 0 auto;align-self:center}.cell-signal-pill{--cell-fill:#5bbf6a}.cell-signal-pill,.wifi-signal-pill{display:inline-flex;align-items:center;justify-content:center;height:14px;line-height:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.wifi-signal-pill{--wifi-fill:#60a5fa}.cell-signal-svg,.wifi-signal-svg{display:block}.cell-signal-bar{fill:color-mix(in srgb,var(--muted) 28%,var(--panel))}.cell-signal-bar.on{fill:var(--cell-fill)}.cell-signal-pill.is-empty .cell-signal-bar{fill:color-mix(in srgb,#e57373 55%,var(--panel))}.wifi-signal-dot{fill:color-mix(in srgb,var(--muted) 32%,var(--panel))}.wifi-signal-dot.on{fill:var(--wifi-fill)}.wifi-signal-arc{stroke:color-mix(in srgb,var(--muted) 32%,var(--panel))}.wifi-signal-arc.on{stroke:var(--wifi-fill)}.battery-pill{--bat-fill:#5bbf6a;--bat-chrome:color-mix(in srgb,var(--text) 72%,#5a5a5a);--bat-track:color-mix(in srgb,var(--muted) 22%,var(--panel));flex-direction:row;gap:4px;line-height:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.battery-pill,.battery-pill-pct{display:inline-flex;align-items:center;justify-content:flex-end;height:14px}.battery-pill-pct{margin:0;padding:0;font-size:.58rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:14px;color:color-mix(in srgb,var(--muted) 40%,var(--text));min-width:2.05em;text-align:right}.battery-pill-svg{display:block;flex:0 0 auto;width:26px;height:12px;overflow:visible;margin:0}.battery-pill-shell{fill:var(--panel);stroke:var(--bat-chrome);stroke-width:1.55}.battery-pill-tip{fill:var(--bat-chrome)}.battery-pill-track{fill:var(--bat-track)}.battery-pill-level{fill:var(--bat-fill);transition:width .35s ease,fill .45s ease}.battery-pill-bolt{fill:color-mix(in srgb,var(--text) 90%,#111);stroke:var(--panel);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke fill}.unit-age{margin-top:2px;white-space:nowrap}.unit-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.unit-meta>em{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:6px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text-muted);font-size:.66rem;font-weight:600;line-height:1.2;white-space:nowrap}.unit-status{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;margin-top:4px;min-width:0;max-width:100%}.unit-status .unit-fix{gap:6px;height:auto;border:0;border-radius:0;background:none;color:var(--text);font-size:.72rem;font-style:normal;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}.unit-scan-pause,.unit-status .unit-fix{display:inline-flex;align-items:center;padding:0}.unit-scan-pause{justify-content:center;width:24px;height:22px;border-radius:6px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text-muted);cursor:pointer}.unit-scan-pause.is-paused,.unit-scan-pause:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent-blue) 35%,var(--line));background:color-mix(in srgb,var(--accent-blue) 12%,transparent)}.unit-console-open.on,.unit-console-open:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.unit-aside .unit-gnss-switch{margin-top:10px}.unit-gnss-switch{display:inline-flex;align-items:stretch;flex-shrink:0;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--panel) 88%,transparent)}.unit-gnss-switch.is-busy,.unit-gnss-switch.is-pending{border-color:color-mix(in srgb,var(--accent,#3d7eff) 45%,var(--line))}.unit-gnss-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;padding:2px 7px;min-width:2.1rem;font:inherit;font-size:.62rem;font-weight:700;letter-spacing:.04em;line-height:1.35;color:color-mix(in srgb,var(--ink) 55%,transparent);background:transparent;cursor:pointer}.unit-gnss-opt+.unit-gnss-opt{border-left:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.unit-gnss-opt.on{color:var(--ink);background:color-mix(in srgb,var(--accent,#3d7eff) 22%,transparent)}.unit-gnss-switch.is-pending .unit-gnss-opt.on{animation:unit-gnss-ota-pulse 1.25s ease-in-out infinite}.unit-gnss-opt:disabled{cursor:default}.unit-gnss-ota{display:inline-flex;align-items:center;gap:4px;padding:0 6px 0 5px;border-left:1px solid color-mix(in srgb,var(--line) 80%,transparent);color:color-mix(in srgb,var(--accent,#3d7eff) 85%,var(--ink));font-size:.56rem;font-weight:700;letter-spacing:.06em;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.unit-gnss-ota em{font-style:normal}.unit-gnss-spinner{width:8px;height:8px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent,#3d7eff) 28%,transparent);border-top-color:color-mix(in srgb,var(--accent,#3d7eff) 90%,var(--ink));animation:unit-gnss-spin .7s linear infinite}@keyframes unit-gnss-spin{to{transform:rotate(1turn)}}@keyframes unit-gnss-ota-pulse{0%,to{background:color-mix(in srgb,var(--accent,#3d7eff) 18%,transparent)}50%{background:color-mix(in srgb,var(--accent,#3d7eff) 38%,transparent)}}.unit-channel-row .unit-console-open,.unit-module-row .unit-console-open{flex:0 0 auto;margin-left:auto;margin-top:0;width:var(--chip-h);height:var(--chip-h);border-radius:var(--chip-r)}.unit-fix.is-coast,.unit-fix.is-search{color:color-mix(in srgb,var(--accent-blue) 72%,var(--text))}.unit-fix.is-lock{color:color-mix(in srgb,var(--accent) 78%,var(--text))}.unit-fix.is-hold .fix-search-dots i,.unit-fix.is-lock .fix-search-dots i{opacity:1;animation:unit-fix-lock-dot .7s ease-out 1}.unit-fix.is-hold .fix-search-dots i:nth-child(2),.unit-fix.is-lock .fix-search-dots i:nth-child(2){animation-delay:.1s}.unit-fix.is-hold .fix-search-dots i:nth-child(3),.unit-fix.is-lock .fix-search-dots i:nth-child(3){animation-delay:.2s}.unit-fix.is-hold,.unit-fix.is-paused{color:color-mix(in srgb,#fbbf24 72%,var(--text))}.unit-fix.is-paused .fix-search-dots i{opacity:.4;animation:none}.unit-fix .fix-search-dots{margin-left:2px}.unit-status-meta{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;margin-left:auto;min-width:0;flex-wrap:nowrap}.unit-status-meta .unit-channel-chip{display:inline-flex;align-items:center;height:15px;padding:0 5px;border-radius:4px;font-size:.54rem;letter-spacing:.03em;line-height:1;white-space:nowrap;flex:0 1 auto;max-width:7.2rem;overflow:hidden;text-overflow:ellipsis}.unit-status-meta-aside{margin-left:0;justify-content:flex-end;align-self:flex-end;max-width:100%}@keyframes unit-fix-lock-dot{0%{opacity:.35;transform:scale(1);filter:drop-shadow(0 0 0 currentColor)}32%{opacity:1;transform:scale(1.85);filter:drop-shadow(0 0 6px currentColor)}to{opacity:1;transform:scale(1);filter:none}}@container sidepanel (max-width: 420px){.unit-channel-row,.unit-module-row{--chip-h:15px;--chip-px:4px;--chip-r:4px;--chip-fs:0.54rem;--chip-gap:3px}}@container sidepanel (max-width: 460px){.unit-channel-row,.unit-module-row{--chip-h:15px;--chip-px:5px;--chip-r:4px;--chip-fs:0.56rem;--chip-gap:3px}}.ether-tabs{display:flex;flex-wrap:wrap;gap:6px}.ether-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.78rem}.ether-tab i{width:7px;height:7px;border-radius:50%}.sky-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;max-height:220px;overflow:auto}.sky-list li{position:relative;display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border-radius:8px;background:var(--panel-2);border:1px solid transparent;isolation:isolate}.sky-fill{position:absolute;left:0;top:0;bottom:0;z-index:0;width:var(--rssi-pct,0);max-width:100%;pointer-events:none;background:color-mix(in srgb,var(--accent) 16%,transparent)}.sky-list li.has-fix{border-color:color-mix(in srgb,#d6ff4a 28%,transparent)}.sky-list li.has-fix .sky-fill{background:color-mix(in srgb,#d6ff4a 18%,transparent)}.sky-list-beacons li.has-fix{border-color:color-mix(in srgb,#5eead4 40%,transparent)}.sky-list-beacons li.has-fix .sky-fill{background:color-mix(in srgb,#5eead4 16%,transparent)}.sky-list-beacons li.is-heard.has-fix{border-color:color-mix(in srgb,#d6ff4a 45%,transparent)}.sky-list-beacons li.is-heard.has-fix .sky-fill{background:color-mix(in srgb,#d6ff4a 18%,transparent)}.sky-list li>.sky-meta,.sky-list li>.sky-ssid{position:relative;z-index:1}.sky-ssid{font-size:.86rem}.sky-meta{color:var(--text-muted);font-size:.72rem}.stat-tape{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.stat-tape-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-tape .stat{display:grid;grid-gap:2px;gap:2px;padding:8px;border-radius:8px;background:var(--panel-2);text-align:center}.stat-tape .stat b{font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-tape .stat span{color:var(--text-muted);font-size:.68rem}.algo-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.algo-pill{padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text-muted);font-size:.78rem}.algo-pill.on{color:#d6ff4a;border-color:color-mix(in srgb,#d6ff4a 40%,var(--line));background:color-mix(in srgb,#d6ff4a 10%,transparent)}.algo-meta{color:var(--text-muted);font-size:.75rem}.track-session-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px;max-height:320px;overflow:auto}.track-session-btn{width:100%;display:grid;grid-gap:2px;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.track-session-btn strong{display:inline-flex;align-items:center;gap:8px;font-size:.88rem}.track-swatch{width:10px;height:10px;border-radius:999px;flex-shrink:0;display:inline-block}.track-session-btn span{color:var(--text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track-session-btn.on{border-color:color-mix(in srgb,#f4a261 55%,var(--line));background:color-mix(in srgb,#f4a261 12%,transparent)}.research-auth-form{display:grid;grid-gap:8px;gap:8px;margin:8px 0 10px}.research-auth-form label{display:grid;grid-gap:4px;gap:4px;font-size:.78rem;color:var(--text-muted)}.research-auth-form input{width:100%;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:8px 10px;font:inherit}.research-auth-actions{display:flex;flex-wrap:wrap;gap:8px}.research-auth-actions button{border-radius:8px;border:1px solid var(--line);background:var(--accent);color:#0b0f14;padding:7px 12px;font:inherit;cursor:pointer}.research-auth-actions button.ghost{background:transparent;color:var(--text-muted)}.section-page{display:grid;grid-gap:18px;gap:18px}.section-head h1{margin:0;font-family:var(--font-display);font-size:1.45rem}.section-head p{margin:6px 0 0;color:var(--text-muted);font-size:.9rem}.section-head .section-meta{margin-top:4px;font-size:.78rem;opacity:.85}.health-page{gap:18px}.health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.health-refresh{flex:0 0 auto;margin-top:2px}.health-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}@media (min-width:720px){.health-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.health-kpi{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 88%,transparent);padding:10px 12px 9px;display:grid;grid-gap:3px;gap:3px}.health-kpi span{color:var(--text-muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.health-kpi strong{font-size:1rem;font-family:var(--font-display)}.health-kpi em{font-style:normal;color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-kpi.is-ok{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.health-kpi.is-warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}.health-kpi.is-down{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.health-flows{display:grid;grid-gap:12px;gap:12px;width:100%;min-width:0}@media (min-width:960px){.health-flows{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:flex-start}}.health-flow{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);padding:12px;overflow:visible;min-width:0;width:100%}.health-flow-title{margin:0 0 6px;color:var(--text-muted);font-size:.74rem;letter-spacing:.03em;text-transform:uppercase}.health-flow-hint{margin:0 0 10px;color:var(--text-muted);font-size:.78rem;line-height:1.35}.health-flow-stack{list-style:none;margin:0;padding:0;width:100%}.health-flow-stack,.health-flow-stack-item{display:grid;grid-gap:0;gap:0;min-width:0}.health-flow-link{display:grid;grid-template-columns:14px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;min-height:28px;padding:2px 0 2px 10px}.health-flow-link-line{width:2px;height:100%;min-height:22px;justify-self:center;border-radius:2px;background:color-mix(in srgb,var(--line) 80%,var(--accent-blue))}.health-flow-link.is-ok .health-flow-link-line{background:color-mix(in srgb,var(--accent) 70%,var(--line))}.health-flow-link.is-down .health-flow-link-line{background:color-mix(in srgb,var(--danger) 55%,var(--line))}.health-flow-link-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;min-width:0}.health-flow-link-meta strong{font-size:.72rem;font-weight:600;color:var(--text-muted)}.health-flow-link-meta em{font-style:normal;font-size:.7rem;color:var(--text-muted);opacity:.9}.health-flow-node{position:relative;width:100%;max-width:none;min-width:0;padding:9px 28px 9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);display:grid;grid-gap:2px;gap:2px}.health-flow-node i{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.health-flow-node.is-ok i{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.health-flow-node.is-warn i{background:var(--warn)}.health-flow-node.is-down i{background:var(--danger)}.health-flow-node strong{font-size:.82rem;padding-right:10px}.health-flow-node em{font-style:normal;color:var(--text-muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-flow-writes{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.health-flow-writes li{display:grid;grid-template-columns:8px minmax(90px,auto) 1fr;grid-gap:8px;gap:8px;align-items:center;font-size:.74rem;color:var(--text-muted)}.health-flow-writes li strong{color:var(--text);font-weight:600}.health-flow-writes .health-dot.is-mini{width:6px;height:6px}.health-flow-writes .health-dot.is-mini[data-ok="1"]{background:var(--accent)}.health-metrics{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);padding:12px 14px;display:grid;grid-gap:12px;gap:12px}.health-metrics-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.health-metrics-head h2{margin:0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.health-metrics-badge{font-size:.72rem;color:var(--text-muted);font-family:ui-monospace,Consolas,monospace}.health-metrics-badge.is-sync{color:color-mix(in srgb,var(--accent) 80%,var(--text))}.health-metrics-badge.is-diff{color:color-mix(in srgb,var(--warn) 85%,var(--text))}.health-metrics-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.health-metrics-sides.is-triple{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:720px){.health-metrics-sides.is-triple{grid-template-columns:1fr}}.health-metrics-side{border:1px solid var(--line);border-radius:10px;background:var(--panel-2);padding:8px 10px;display:grid;grid-gap:2px;gap:2px;min-width:0}.health-metrics-side strong{font-size:.8rem}.health-metrics-side-count{font-family:var(--font-display);font-size:1.15rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.health-metrics-side-unit{font-size:.64rem;color:var(--text-muted);letter-spacing:.02em}.health-metrics-side em{font-style:normal;font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-metrics-side.is-ok{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.health-metrics-side.is-down{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.health-delta-cell{display:grid;grid-gap:1px;gap:1px;justify-items:start;min-width:0}.health-delta-host{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);font-size:.78rem;font-weight:600;font-family:var(--font-display)}.health-delta-diff{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.68rem;color:inherit;opacity:.9}.health-compare-row.is-sync .health-delta-diff{color:color-mix(in srgb,var(--accent) 70%,var(--text-muted))}.health-compare-row.is-diff .health-delta-diff{color:color-mix(in srgb,var(--warn) 80%,var(--text));font-weight:600}.health-compare{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--panel-2) 90%,transparent)}.health-compare-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(64px,.7fr) minmax(64px,.7fr) minmax(56px,.55fr);grid-gap:8px;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:.76rem;min-width:0}.health-compare.is-triple .health-compare-row{grid-template-columns:minmax(0,1.35fr) minmax(52px,.5fr) minmax(52px,.5fr) minmax(52px,.5fr) minmax(64px,.55fr) minmax(64px,.55fr)}.health-compare-row:last-child{border-bottom:none}.health-compare-row.is-head{background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text-muted);font-size:.66rem;letter-spacing:.03em;text-transform:uppercase}.health-compare-row strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:var(--font-display);font-size:.92rem;font-weight:600}.health-compare-row em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.74rem}.health-compare-row.is-diff{background:color-mix(in srgb,var(--warn) 7%,transparent)}.health-compare-row.is-diff em{color:color-mix(in srgb,var(--warn) 80%,var(--text));font-weight:600}.health-compare-row.is-sync em{color:color-mix(in srgb,var(--accent) 70%,var(--text-muted))}@media (max-width:560px){.health-compare-row{grid-template-columns:minmax(0,1fr) minmax(52px,.55fr) minmax(52px,.55fr) minmax(44px,.45fr);gap:6px;padding:7px 8px;font-size:.7rem}.health-compare.is-triple .health-compare-row{grid-template-columns:minmax(0,1.1fr) minmax(40px,.45fr) minmax(40px,.45fr) minmax(40px,.45fr) minmax(36px,.4fr) minmax(36px,.4fr);font-size:.64rem}.health-compare-row strong{font-size:.82rem}}.health-metrics-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}@media (min-width:720px){.health-metrics-totals{grid-template-columns:repeat(6,minmax(0,1fr))}}.health-metrics-totals>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.health-metrics-totals span{font-size:.66rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.health-metrics-totals strong{font-size:1.05rem;font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.health-metrics-coords{display:grid;grid-gap:8px;gap:8px}.health-coord-row{display:grid;grid-gap:4px;gap:4px}.health-coord-head{display:flex;justify-content:space-between;gap:10px;font-size:.74rem}.health-coord-head em{font-style:normal;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.health-coord-bar{height:5px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.health-coord-bar i{display:block;height:100%;background:color-mix(in srgb,var(--accent) 75%,var(--accent-blue));border-radius:inherit;min-width:0}.health-metrics-alt{margin:0;font-size:.74rem;color:var(--text-muted)}.health-group{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 90%,transparent);overflow:hidden}.health-group.is-ok{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.health-group.is-warn{border-color:color-mix(in srgb,var(--warn) 42%,var(--line))}.health-group.is-down{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.health-group-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.health-group-summary::-webkit-details-marker{display:none}.health-group-summary:after{content:"";margin-left:auto;width:.45rem;height:.45rem;border-right:1.5px solid color-mix(in srgb,var(--text-muted) 70%,transparent);border-bottom:1.5px solid color-mix(in srgb,var(--text-muted) 70%,transparent);transform:rotate(45deg);transition:transform .16s ease;flex:0 0 auto}.health-group[open]>.health-group-summary:after{transform:rotate(-135deg);margin-top:3px}.health-group-title{color:color-mix(in srgb,var(--text-muted) 55%,var(--text))}.health-group-count{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--text-muted) 80%,var(--text))}.health-group-status{text-transform:none;letter-spacing:0;font-weight:500;font-size:.74rem;color:var(--text-muted)}.health-group-status.is-ok{color:color-mix(in srgb,var(--accent) 70%,var(--text))}.health-group-status.is-warn{color:color-mix(in srgb,var(--warn) 75%,var(--text))}.health-group-status.is-down{color:color-mix(in srgb,var(--danger) 75%,var(--text))}.health-group[open]>.health-group-summary{border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.health-group h2{margin:0 0 6px;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:600;display:flex;align-items:baseline;gap:8px}.health-group h2 em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--text-muted) 80%,var(--text))}.health-rows{display:grid;grid-gap:0;gap:0;border:0;border-radius:0;overflow:hidden;background:transparent}.health-row{display:grid;grid-template-columns:10px minmax(110px,1.2fr) minmax(90px,1.4fr) 64px 72px;grid-gap:8px 10px;gap:8px 10px;align-items:center;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:.78rem;min-width:0}.health-row:last-child{border-bottom:none}.health-row.is-down{background:color-mix(in srgb,var(--danger) 6%,transparent)}.health-row.is-warn{background:color-mix(in srgb,var(--warn) 6%,transparent)}.health-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex:0 0 auto}.health-dot.is-ok{background:var(--accent)}.health-dot.is-warn{background:var(--warn)}.health-dot.is-down{background:var(--danger)}.health-row-main{display:grid;grid-gap:1px;gap:1px;min-width:0}.health-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-row-main em{font-style:normal;font-size:.66rem}.health-row-addr,.health-row-main em{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-row-addr{font-family:ui-monospace,Consolas,monospace;font-size:.68rem}.health-row-lat,.health-row-status{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.72rem}.health-row-err{grid-column:2/-1;color:var(--danger);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-row-detail{grid-column:2/-1;font-size:.68rem;color:var(--text-muted)}.health-row-detail summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.health-row-detail pre{margin:6px 0 0;max-height:120px;overflow:auto;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,#000 30%,var(--panel));border:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-size:.66rem;line-height:1.35}.health-loading{display:grid;grid-gap:18px;gap:18px}.health-skel{display:inline-block;height:.7rem;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 22%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite;vertical-align:middle}.health-flow-node.is-skel,.health-kpi.is-skel,.health-metrics.is-skel,.health-row.is-skel{pointer-events:none}.health-flow-node.is-skel{gap:6px}.health-flow-node.is-skel:after{content:none}.health-coord-bar.is-skel{background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 18%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite}.health-dot.is-skel{background:color-mix(in srgb,var(--line) 80%,var(--text-muted));animation:health-skel-pulse 1.25s ease-in-out infinite}.health-refresh.is-busy{opacity:.65;cursor:wait}@keyframes health-skel-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes health-skel-pulse{0%,to{opacity:.45}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.health-coord-bar.is-skel,.health-dot.is-skel,.health-skel{animation:none}}@media (max-width:719px){.health-row{grid-template-columns:10px 1fr auto;grid-template-areas:"dot main status" "dot addr lat"}.health-dot{grid-area:dot}.health-row-main{grid-area:main}.health-row-status{grid-area:status}.health-row-addr{grid-area:addr}.health-row-lat{grid-area:lat}}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.data-table{width:100%;border-collapse:collapse;font-size:.84rem}.data-table td,.data-table th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{color:var(--text-muted);font-weight:560;background:var(--panel-2);font-size:.75rem;letter-spacing:.02em}.data-table tbody tr:last-child td{border-bottom:0}.data-table .table-empty{color:var(--text-muted);text-align:center;padding:24px 12px}.data-table .row-muted{opacity:.55}.data-table .table-actions{text-align:right}.data-table code{font-size:.78rem;color:#bfdbfe}.env-badge,.role-badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.72rem;border:1px solid var(--line)}.env-test{color:#93c5fd}.env-live{color:#86efac}.role-developer{color:#d6ff4a;border-color:color-mix(in srgb,#d6ff4a 35%,var(--line))}.role-user{color:var(--text-muted)}.role-superuser{color:#7dd3fc;border-color:color-mix(in srgb,#7dd3fc 35%,var(--line))}.role-administrator{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 40%,var(--line))}.role-operator{color:#7dd3fc}.role-viewer{color:var(--text-muted)}.org-edit-input,.role-select{width:100%;min-width:10rem;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;font-size:.82rem}.org-edit-input{min-width:12rem}.users-invite-form,.users-password-form{display:grid;grid-gap:10px;gap:10px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.users-invite-form h2,.users-password-form h2{margin:0;font-size:.95rem;font-weight:600}.users-form-hint{margin:0;color:var(--text-muted);font-size:.82rem}.users-invite-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end}.users-invite-grid label{display:grid;grid-gap:6px;gap:6px;font-size:.78rem;color:var(--text-muted)}.users-invite-grid input,.users-invite-grid select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit}.users-invite-grid button{min-height:38px}.users-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.users-head-actions{display:inline-flex;align-items:center;gap:8px}.users-source-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:8px}.users-source-switch{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.users-source-btn{min-height:30px;padding:0 12px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.users-source-btn+.users-source-btn{border-left:1px solid var(--line)}.users-source-btn.on{background:var(--panel-2);color:var(--text)}.users-vps-login{display:grid;grid-gap:10px;gap:10px;max-width:420px;margin:12px 0 16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.users-vps-login label{display:grid;grid-gap:4px;gap:4px}.users-vps-login input{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text)}.users-vps-logout{white-space:nowrap}.row-icon-group{display:inline-flex;gap:4px;justify-content:flex-end}.row-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.row-icon-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--text) 28%,var(--line));background:var(--panel-2)}.row-icon-btn:disabled{opacity:.45;cursor:default}.row-icon-btn.danger:hover:not(:disabled){color:#fca5a5;border-color:color-mix(in srgb,#f87171 40%,var(--line))}.users-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,#000 55%,transparent)}.users-modal{width:min(420px,100%);display:grid;grid-gap:12px;gap:12px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 50px color-mix(in srgb,#000 45%,transparent)}.users-modal h2{margin:0;font-size:1.05rem}.users-modal label{display:grid;grid-gap:6px;gap:6px;font-size:.8rem;color:var(--text-muted)}.users-modal input,.users-modal select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit}.users-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.users-source{margin:4px 0 0;font-size:.75rem;color:var(--text-muted)}.users-source code{font-size:.72rem;color:#bfdbfe}.users-notify-row{display:flex;flex-wrap:wrap;gap:14px}.users-check{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.85rem}.users-check input{width:auto}.profile-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.profile-card>div{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.profile-card span{font-size:.75rem;color:var(--text-muted)}.profile-card strong{font-size:.92rem;font-weight:600}.table-action-stack{display:grid;grid-gap:6px;gap:6px;justify-items:end}.firmware-page{gap:14px}.firmware-loader{display:flex;align-items:center;gap:14px;min-height:120px;padding:18px 16px;border:1px dashed color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,transparent)}.firmware-loader-spin{width:28px;height:28px;flex:0 0 auto;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent,#38bdf8) 28%,transparent);border-top-color:var(--accent,#38bdf8);animation:firmware-spin .75s linear infinite}.firmware-loader-copy{display:grid;grid-gap:3px;gap:3px}.firmware-loader-copy strong{font-size:.92rem}.firmware-loader-copy span{font-size:.78rem;color:var(--text-muted)}@keyframes firmware-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.firmware-loader-spin{animation:none;border-top-color:color-mix(in srgb,var(--accent,#38bdf8) 45%,transparent)}}.firmware-section-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.firmware-agent-inline,.firmware-agent-pill{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted)}.firmware-agent-pill{padding:4px 10px 4px 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent)}.firmware-agent-kpi-dot,.firmware-agent-pill-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:color-mix(in srgb,var(--text-muted) 70%,transparent);box-shadow:0 0 0 0 transparent}.firmware-agent-inline.is-online .firmware-agent-pill-dot,.firmware-agent-pill.is-online .firmware-agent-pill-dot,.firmware-kpi-agent.is-online .firmware-agent-kpi-dot{background:#22c55e;box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 28%,transparent)}.firmware-agent-inline.is-checking .firmware-agent-pill-dot,.firmware-agent-inline.is-starting .firmware-agent-pill-dot,.firmware-agent-pill.is-checking .firmware-agent-pill-dot,.firmware-agent-pill.is-starting .firmware-agent-pill-dot,.firmware-kpi-agent.is-checking .firmware-agent-kpi-dot,.firmware-kpi-agent.is-starting .firmware-agent-kpi-dot{background:#f59e0b;animation:firmware-agent-pulse 1.2s ease-in-out infinite}.firmware-agent-inline.is-offline .firmware-agent-pill-dot,.firmware-agent-pill.is-offline .firmware-agent-pill-dot,.firmware-kpi-agent.is-offline .firmware-agent-kpi-dot{background:#ef4444}.firmware-agent-inline.is-online,.firmware-agent-pill.is-online{color:color-mix(in srgb,#22c55e 72%,var(--text))}.firmware-agent-inline.is-offline,.firmware-agent-pill.is-offline{color:color-mix(in srgb,#ef4444 65%,var(--text))}.firmware-agent-hint{margin:6px 0 0;font-size:.82rem;color:var(--text-muted)}.firmware-agent-select-label{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}@keyframes firmware-agent-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.firmware-agent-inline.is-checking .firmware-agent-pill-dot,.firmware-agent-inline.is-starting .firmware-agent-pill-dot,.firmware-agent-pill.is-checking .firmware-agent-pill-dot,.firmware-agent-pill.is-starting .firmware-agent-pill-dot,.firmware-kpi-agent.is-checking .firmware-agent-kpi-dot,.firmware-kpi-agent.is-starting .firmware-agent-kpi-dot{animation:none}}.firmware-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.firmware-kpi{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent)}.firmware-kpi span{font-size:.68rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.firmware-kpi strong{font-size:1.04rem;font-family:var(--font-display)}.firmware-kpi-agent strong{display:inline-flex;align-items:center;gap:8px;font-size:.92rem}.firmware-group{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 82%,transparent);overflow:hidden}.firmware-group>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px 12px;gap:8px 12px;padding:11px 14px}.firmware-group>summary::-webkit-details-marker{display:none}.firmware-group>summary h2{margin:0;font-size:.95rem;display:inline-flex;align-items:center;gap:8px}.firmware-group>summary h2:after{content:"▾";color:color-mix(in srgb,var(--text) 92%,#9ecbff 8%);font-size:1rem;line-height:1;font-weight:700;opacity:.95;transform-origin:50% 45%;transition:transform .18s ease,opacity .18s ease}.firmware-group>summary span{color:var(--text-muted);font-size:.76rem;white-space:nowrap}.firmware-group[open]>summary h2:after{transform:rotate(180deg);opacity:1}.firmware-group-body{display:grid;grid-gap:10px;gap:10px;padding:0 10px 10px}.firmware-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.firmware-block{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 90%,transparent)}.firmware-block h2{margin:0;font-size:.95rem}.firmware-block h3{margin:0;font-size:.88rem;color:color-mix(in srgb,var(--text) 88%,var(--text-muted))}.firmware-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end}.firmware-passport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:flex-start}.firmware-passport-grid .firmware-wide,.firmware-passport-grid button{grid-column:1/-1}.firmware-passport-grid button{justify-self:start}.firmware-card label,.firmware-form-grid label{display:grid;grid-gap:6px;gap:6px;font-size:.78rem;color:var(--text-muted)}.firmware-card input,.firmware-card select,.firmware-form-grid input,.firmware-form-grid select{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;color-scheme:inherit}.firmware-card select option,.firmware-form-grid select option{background-color:var(--panel);color:var(--text)}:root[data-theme=glass] .firmware-card select option,:root[data-theme=glass] .firmware-form-grid select option{background-color:#121826;color:#f3f5fa}.firmware-wide{grid-column:span 2}.firmware-upload-form{display:grid;grid-gap:10px;gap:10px}.firmware-dropzone{border:1px dashed color-mix(in srgb,var(--line) 58%,var(--accent-blue));border-radius:14px;padding:20px 14px 16px;display:grid;grid-gap:8px;gap:8px;justify-items:center;text-align:center;background:radial-gradient(circle at top center,color-mix(in srgb,var(--accent-blue) 8%,transparent),transparent 62%),color-mix(in srgb,var(--panel) 92%,transparent)}.firmware-dropzone p{margin:0;color:var(--text);font-size:.9rem;font-weight:520}.firmware-dropzone-ico{width:46px;height:46px;display:grid;place-items:center;border-radius:999px;color:color-mix(in srgb,var(--accent-blue) 75%,var(--text));background:color-mix(in srgb,var(--accent-blue) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent-blue) 30%,transparent)}.firmware-dropzone em,.firmware-dropzone small{color:var(--text-muted);font-size:.75rem;font-style:normal}.firmware-file-input{display:none}.firmware-dropzone.is-over{border-color:color-mix(in srgb,var(--accent) 78%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent);transform:translateY(-1px)}.firmware-col-num{width:2.5rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.firmware-row-sub{margin-top:4px;color:var(--text-muted);font-size:.72rem;white-space:normal}.firmware-origin-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.03em;line-height:1.2;white-space:nowrap;border:1px solid transparent;border-left-width:3px;color:var(--text);background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.firmware-origin-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:currentColor;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 22%,transparent)}.firmware-origin-badge.is-public{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.firmware-origin-badge.is-ci{color:var(--accent-blue);border-color:color-mix(in srgb,var(--accent-blue) 45%,var(--line));border-left-color:var(--accent-blue);background:color-mix(in srgb,var(--accent-blue) 16%,var(--panel))}.firmware-origin-badge.is-local-bin{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line));border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,var(--panel))}.firmware-origin-badge.is-local,.firmware-origin-badge.is-upload{color:#94a3b8;border-color:color-mix(in srgb,#94a3b8 40%,var(--line));border-left-color:#94a3b8;background:color-mix(in srgb,#94a3b8 12%,var(--panel))}.firmware-origin-badge.is-manual{color:var(--accent-purple);border-color:color-mix(in srgb,var(--accent-purple) 45%,var(--line));border-left-color:var(--accent-purple);background:color-mix(in srgb,var(--accent-purple) 14%,var(--panel))}.firmware-origin-badge.is-preset{color:#cbd5e1;border-color:color-mix(in srgb,#cbd5e1 35%,var(--line));border-left-color:#94a3b8;background:color-mix(in srgb,#64748b 14%,var(--panel))}:root[data-theme=light] .firmware-origin-badge.is-local,:root[data-theme=light] .firmware-origin-badge.is-upload{color:#475569;border-color:color-mix(in srgb,#64748b 40%,var(--line));border-left-color:#64748b;background:color-mix(in srgb,#64748b 10%,var(--panel))}:root[data-theme=light] .firmware-origin-badge.is-preset{color:#334155;border-color:color-mix(in srgb,#64748b 35%,var(--line));border-left-color:#64748b;background:color-mix(in srgb,#94a3b8 12%,var(--panel))}.firmware-payload-cell{max-width:24rem;overflow:hidden;text-overflow:ellipsis}.firmware-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:flex-start}.firmware-card{display:grid;grid-gap:10px;gap:10px}.firmware-card h2,.firmware-card h3{margin:0;font-size:.9rem}.firmware-flash-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.firmware-flash-form>.empty-note,.firmware-flash-form>.firmware-flash-log,.firmware-flash-form>.firmware-flash-submit,.firmware-flash-form>.firmware-flash-submit-hint,.firmware-flash-form>.firmware-flash-wide,.firmware-flash-form>.firmware-port-tools,.firmware-flash-form>h3{grid-column:1/-1}@media (max-width:720px){.firmware-flash-form{grid-template-columns:1fr}}.firmware-port-tools{display:grid;grid-gap:6px;gap:6px;margin-top:-2px}.firmware-port-tools small{color:var(--text-muted);font-size:.74rem;line-height:1.35}.firmware-job-status{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;line-height:1;white-space:nowrap}.firmware-job-status-svg{width:16px;height:16px;flex:0 0 16px;display:block}.firmware-job-status.is-pending .firmware-job-status-svg{color:#d29922}.firmware-job-status.is-running .firmware-job-status-svg{color:#2f81f7}.firmware-job-status.is-success .firmware-job-status-svg{color:#3fb950}.firmware-job-status.is-error .firmware-job-status-svg{color:#f85149}.firmware-job-status-svg.is-spin{animation:firmware-job-spin .85s linear infinite;transform-origin:50% 50%}@keyframes firmware-job-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.firmware-job-status-svg.is-spin{animation:none}}.firmware-status-banner{margin:0 0 4px}.firmware-flash-submit{cursor:pointer;gap:8px;justify-content:center;width:100%;min-height:44px}.firmware-flash-submit:disabled{cursor:not-allowed;opacity:.55;transform:none}.firmware-flash-submit.is-busy{cursor:progress}.firmware-flash-submit-spin{width:14px;height:14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--text) 25%,transparent);border-top-color:var(--text);animation:firmware-job-spin .7s linear infinite;flex:0 0 14px}.firmware-flash-submit-hint{margin:-2px 0 0;color:var(--text-muted);font-size:.74rem;line-height:1.35}.firmware-queue-live{color:#2f81f7;font-weight:600;font-size:.78rem}.firmware-ota-queue{margin-top:14px}.firmware-ota-queue>h3{margin:0 0 10px}.firmware-ota-cancel{white-space:nowrap}.firmware-ota-form>.firmware-flash-submit{grid-column:-2/-1;justify-self:end;width:auto;min-width:11rem}.firmware-delete-modal .firmware-delete-copy{margin:0;font-size:.88rem;line-height:1.45;color:var(--text)}.firmware-delete-modal .firmware-delete-copy.is-warn{color:color-mix(in srgb,var(--danger) 75%,var(--text))}.firmware-delete-modal .firmware-delete-copy.is-muted{color:var(--text-muted);font-size:.8rem}.firmware-delete-confirm{color:var(--danger)!important;border-color:color-mix(in srgb,var(--danger) 45%,var(--line))!important}.firmware-ota-air{font-size:.78rem;font-weight:600}.firmware-ota-air.is-online{color:#3fb950}.firmware-ota-air.is-offline{color:var(--text-muted)}.firmware-ota-device-field{position:relative}.firmware-ota-device-picker{position:relative;width:100%}.firmware-ota-device-trigger{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-size:.84rem;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.firmware-ota-device-picker.is-open .firmware-ota-device-trigger,.firmware-ota-device-trigger:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.firmware-ota-device-trigger.is-online{background:color-mix(in srgb,#22c55e 8%,var(--panel));border-color:color-mix(in srgb,#22c55e 35%,var(--line))}.firmware-ota-device-trigger.is-offline{background:color-mix(in srgb,var(--text-muted) 6%,var(--panel))}.firmware-ota-device-placeholder{color:var(--text-muted);flex:1 1}.firmware-ota-device-chevron{margin-left:auto;color:var(--text-muted);font-size:.72rem;flex:0 0 auto}.firmware-ota-device-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:color-mix(in srgb,var(--text-muted) 55%,transparent)}.firmware-ota-device-dot.is-online{background:#22c55e;box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 28%,transparent)}.firmware-ota-device-dot.is-offline{background:color-mix(in srgb,var(--text-muted) 55%,transparent);box-shadow:none}.firmware-ota-device-status{flex:0 0 auto;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:lowercase}.firmware-ota-device-status.is-online{color:#3fb950}.firmware-ota-device-status.is-offline{color:var(--text-muted)}.firmware-ota-device-id{font-weight:600;color:var(--text);white-space:nowrap}.firmware-ota-device-label{color:var(--text-muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.firmware-ota-device-menu{z-index:80;max-height:280px;overflow:auto;margin:0;padding:4px;list-style:none;border:1px solid color-mix(in srgb,var(--line) 80%,var(--accent) 20%);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,#000);box-shadow:0 12px 28px color-mix(in srgb,#000 42%,transparent)}.firmware-ota-device-menu.is-fixed{position:fixed}.firmware-ota-device-option{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.firmware-ota-device-option.is-selected,.firmware-ota-device-option:hover{background:color-mix(in srgb,var(--accent-blue) 14%,var(--panel))}.firmware-ota-device-option.is-online:hover{background:color-mix(in srgb,#22c55e 12%,var(--panel))}.firmware-ota-device-option.is-offline .firmware-ota-device-id{color:color-mix(in srgb,var(--text) 78%,var(--text-muted))}.firmware-job-row.is-tracked td{background:color-mix(in srgb,#2f81f7 10%,transparent)}.firmware-flash-banner{display:grid;grid-gap:10px;gap:10px;border-radius:12px;padding:12px 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 86%,var(--panel));margin:0 0 4px}.firmware-flash-banner.is-pending{border-color:color-mix(in srgb,#d29922 55%,var(--line));background:color-mix(in srgb,#d29922 12%,var(--panel))}.firmware-flash-banner.is-info,.firmware-flash-banner.is-running{border-color:color-mix(in srgb,#2f81f7 55%,var(--line));background:color-mix(in srgb,#2f81f7 12%,var(--panel))}.firmware-flash-banner.is-success{border-color:color-mix(in srgb,#3fb950 55%,var(--line));background:color-mix(in srgb,#3fb950 12%,var(--panel))}.firmware-flash-banner.is-error{border-color:color-mix(in srgb,#f85149 55%,var(--line));background:color-mix(in srgb,#f85149 12%,var(--panel))}.firmware-flash-banner-head{display:flex;align-items:flex-start;gap:10px}.firmware-flash-banner-head .firmware-job-status-svg{margin-top:1px}.firmware-flash-banner.is-pending .firmware-job-status-svg{color:#d29922}.firmware-flash-banner.is-info .firmware-job-status-svg,.firmware-flash-banner.is-running .firmware-job-status-svg{color:#2f81f7}.firmware-flash-banner.is-success .firmware-job-status-svg{color:#3fb950}.firmware-flash-banner.is-error .firmware-job-status-svg{color:#f85149}.firmware-flash-banner-copy{display:grid;grid-gap:2px;gap:2px;min-width:0;flex:1 1}.firmware-flash-banner-copy strong{font-size:.92rem;line-height:1.25}.firmware-flash-banner-copy span{color:var(--text-muted);font-size:.78rem;line-height:1.35;word-break:break-word}.firmware-flash-banner-close{border:0;background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 2px;cursor:pointer}.firmware-flash-banner-close:hover{color:var(--text)}.firmware-flash-progress{position:relative;height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,#000 22%,var(--panel))}.firmware-flash-progress-bar{height:100%;border-radius:inherit;background:#2f81f7;transition:width .35s ease}.firmware-flash-banner.is-pending .firmware-flash-progress-bar{background:#d29922}.firmware-flash-banner.is-success .firmware-flash-progress-bar{background:#3fb950}.firmware-flash-banner.is-error .firmware-flash-progress-bar{background:#f85149}.firmware-flash-progress.is-indeterminate .firmware-flash-progress-bar{position:relative;overflow:hidden}.firmware-flash-progress.is-indeterminate .firmware-flash-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.45) 50%,transparent);transform:translateX(-100%);animation:firmware-flash-progress-shine 1.2s ease-in-out infinite}@keyframes firmware-flash-progress-shine{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.firmware-flash-progress.is-indeterminate .firmware-flash-progress-bar:after{animation:none}}:root[data-theme=light] .firmware-flash-progress{background:color-mix(in srgb,#0f172a 10%,#fff)}.firmware-flash-log{margin:6px 0 0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,#000 18%,var(--panel));padding:10px;color:#a7f3d0;font-size:.72rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}@media (max-width:980px){.firmware-kpis,.profile-card,.users-invite-grid{grid-template-columns:1fr 1fr}.firmware-quick-grid{grid-template-columns:1fr}.firmware-form-grid{grid-template-columns:1fr 1fr}.firmware-passport-grid{grid-template-columns:1fr}.firmware-wide{grid-column:span 2}.firmware-split{grid-template-columns:1fr}}@media (max-width:720px){.firmware-form-grid,.profile-card,.users-invite-grid{grid-template-columns:1fr}.firmware-wide{grid-column:span 1}.firmware-kpis{grid-template-columns:1fr}}.usage-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.usage-kpis.is-enrichment{grid-template-columns:repeat(4,minmax(0,1fr))}.usage-enrichment{margin-top:8px}.usage-enrichment .billing-block-head{margin-bottom:10px}.usage-filter{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start}.usage-filter-field{display:grid;grid-gap:6px;gap:6px;min-width:min(260px,100%)}.usage-filter label{display:grid;grid-gap:4px;gap:4px;min-width:0}.usage-filter label>span,.usage-filter-field>label>span{color:var(--text-muted);font-size:.78rem}.usage-filter input[type=date],.usage-filter select{width:100%;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:8px 10px;font:inherit;color-scheme:inherit}.usage-filter-period{min-width:min(320px,100%)}.usage-filter-period-hint{color:var(--text-muted);font-size:.74rem;line-height:1.35}.usage-filter-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.usage-filter select option{background-color:var(--panel);color:var(--text)}:root[data-theme=glass] .usage-filter select option{background-color:#121826;color:#f3f5fa}.usage-filter-busy{display:grid;grid-gap:4px;gap:4px;flex:0 0 auto;order:-1;padding:0 2px;color:var(--text-muted);font-size:.8rem;text-align:left;white-space:nowrap}.usage-filter-busy-cap{display:block;height:.78rem;line-height:.78rem}.usage-filter-busy-row{display:inline-flex;align-items:center;gap:8px;min-height:38px}.usage-filter-spinner{width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--line) 85%,transparent);border-top-color:var(--accent-blue,#60a5fa);animation:usage-filter-spin .7s linear infinite}@keyframes usage-filter-spin{to{transform:rotate(1turn)}}.billing-provider-mix.is-skel-wrap .billing-provider-total,.usage-chart.is-skel-wrap .usage-col,.usage-kpi.is-skel{pointer-events:none}.usage-kpi.is-skel{min-height:72px}.usage-skel-line{display:block;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 22%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite}.usage-skel-label{width:42%;height:.7rem;margin-bottom:10px}.usage-skel-value{width:58%;height:1.35rem}.usage-skel-pct{width:2.4rem;height:.85rem;margin-left:auto}.usage-skel-hint{width:min(420px,88%);height:.75rem;margin-top:6px}.usage-skel-chip{width:70%;height:.55rem;margin:4px auto 0}.billing-provider-metric-bar.is-skel,.billing-provider-stack.is-skel{background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 22%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite}.billing-provider-stack.is-skel{height:12px;border-radius:999px}.billing-provider-metric-bar.is-skel{height:6px;border-radius:999px;margin-top:6px}.billing-provider-dot.is-skel{background:color-mix(in srgb,var(--line) 80%,var(--text-muted))}.billing-provider-dot.is-skel,.usage-col-bar.is-skel{animation:health-skel-pulse 1.25s ease-in-out infinite}.usage-col-bar.is-skel{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,color-mix(in srgb,var(--text-muted) 28%,var(--panel-2)) 0,color-mix(in srgb,var(--line) 70%,transparent) 100%)}.billing-kpis.is-skel-wrap,.usage-kpis.is-skel-wrap{opacity:1}@media (prefers-reduced-motion:reduce){.billing-provider-dot.is-skel,.billing-provider-metric-bar.is-skel,.billing-provider-stack.is-skel,.usage-col-bar.is-skel,.usage-filter-spinner,.usage-skel-line{animation:none}}.org-devices-block{display:grid;grid-gap:12px;gap:12px}.org-device-inline-input{width:100%;min-width:8rem;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:6px 8px;font:inherit;color-scheme:inherit}.org-devices-dev-gate{display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.org-devices-research-ref{display:grid;grid-gap:8px;gap:8px;margin-top:6px}.org-devices-research-ref h2{margin:0;font-size:.92rem;font-weight:600}.org-devices-research-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:6px;gap:6px}.org-devices-research-list li{display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel) 90%,transparent);font-size:.8rem}.org-devices-research-list code{color:var(--text-muted);font-size:.74rem}.org-device-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.org-device-form label{display:grid;grid-gap:4px;gap:4px}.org-device-form span{color:var(--text-muted);font-size:.75rem}.org-device-form input{border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:8px 10px;font:inherit}.org-device-form .cta-primary{height:38px;white-space:nowrap}.org-device-row{cursor:default}@media (max-width:720px){.org-device-form{grid-template-columns:1fr}}.usage-kpi{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2)}.usage-kpi span{color:var(--text-muted);font-size:.78rem}.usage-kpi strong{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-kpi em{font-style:normal;font-size:.74rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-series{display:grid;grid-gap:12px;gap:12px;margin:0 0 18px;padding:14px 14px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,hsla(0,0%,100%,.02),transparent)}.usage-series-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.usage-series-head h2{margin:0;font-size:.95rem;font-weight:600}.usage-series-meta{color:var(--text-muted);font-size:.78rem}.usage-series-actions{display:inline-flex;gap:6px}.usage-series-action,.usage-series-more{border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 80%,transparent);color:var(--text);border-radius:999px;padding:4px 10px;font-size:.72rem;cursor:pointer}.usage-series-action:hover,.usage-series-more:hover{border-color:color-mix(in srgb,var(--accent-blue) 55%,var(--line))}.usage-series-plot{display:grid;grid-gap:6px;gap:6px;min-height:180px}.usage-series-plot.is-skel{height:180px;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 22%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite}.usage-series-svg{width:100%;height:180px;display:block}.usage-series-grid{stroke:color-mix(in srgb,var(--line) 80%,transparent);stroke-width:1;stroke-dasharray:3 4}.usage-series-days{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:2px;gap:2px;font-size:.68rem;color:var(--text-muted);text-align:center;overflow-x:auto}.usage-series-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.usage-series-legend-item{display:inline-flex;align-items:center;gap:7px;max-width:100%;border:1px solid var(--line);background:transparent;color:var(--text-muted);border-radius:999px;padding:4px 10px 4px 8px;font-size:.72rem;cursor:pointer}.usage-series-legend-item.is-on{color:var(--text);border-color:color-mix(in srgb,var(--accent-blue) 40%,var(--line));background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.usage-series-legend-item i{width:10px;height:10px;border-radius:50%;border:2px solid;flex:0 0 auto}.usage-series-legend-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.usage-series-legend-item em{font-style:normal;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-series-more{justify-self:start}.usage-chart{grid-template-columns:repeat(7,minmax(36px,1fr));grid-gap:10px;gap:10px;min-height:160px;padding:16px 12px 8px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,hsla(0,0%,100%,.02),transparent);overflow-x:auto}.usage-chart,.usage-col{display:grid;align-items:end}.usage-col{grid-template-rows:1fr auto auto;grid-gap:6px;gap:6px;min-height:140px}.usage-col-bar-wrap{height:110px;display:flex;align-items:flex-end}.usage-col-bar{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent-blue),color-mix(in srgb,var(--accent) 70%,#111));min-height:4px}.usage-col-day,.usage-col-val{text-align:center;font-size:.7rem;color:var(--text-muted)}.usage-col-val{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.share-cell{display:flex;align-items:center;gap:10px;min-width:140px}.share-cell em{font-style:normal;color:var(--text-muted);font-size:.75rem;width:2.5rem}.usage-bar.inline{flex:1 1;height:6px;margin-top:0}.stub-card{padding:28px 24px;border-radius:12px;border:1px dashed var(--line);color:var(--text-muted);background:var(--panel-2);line-height:1.45}.billing-page{gap:16px}.billing-head-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.billing-mock-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));color:color-mix(in srgb,var(--accent) 85%,var(--text));font-size:.72rem;letter-spacing:.02em}.billing-plan-card{display:grid;grid-gap:14px;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%),var(--panel-2)}.billing-plan-main{display:grid;grid-gap:4px;gap:4px}.billing-plan-label{color:var(--text-muted);font-size:.75rem}.billing-plan-name{font-size:1.45rem;letter-spacing:.01em}.billing-plan-main em{font-style:normal;color:var(--text-muted);font-size:.82rem;line-height:1.4}.billing-plan-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--text-muted);font-size:.78rem}.billing-quota{display:grid;grid-gap:8px;gap:8px}.billing-quota-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem}.billing-quota-head span{color:var(--text-muted)}.billing-quota-head strong{font-weight:560;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-quota-bar{height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 18%,transparent)}.billing-quota-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-blue),var(--accent))}.billing-quota.is-mid .billing-quota-bar>span{background:linear-gradient(90deg,#f4a261,color-mix(in srgb,#f4a261 70%,var(--accent)))}.billing-quota.is-warn .billing-quota-bar>span{background:linear-gradient(90deg,#f87171,#fb923c)}.billing-quota-hint{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.4}.billing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.billing-kpi-delta{font-style:normal;font-size:.72rem;color:var(--text-muted)}.billing-kpi-delta.up{color:#86efac}.billing-block{display:grid;grid-gap:10px;gap:10px}.billing-provider-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.billing-provider-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:8px;font-size:.86rem}.billing-provider-list strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-provider-mix{gap:12px}.billing-provider-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);font-size:.84rem}.billing-provider-total span{color:var(--text-muted)}.billing-provider-total strong{font-size:1.15rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-provider-stack{display:flex;height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}.billing-provider-stack-seg{display:block;height:100%;min-width:2px}.billing-provider-dot.is-research,.billing-provider-metric-bar.is-research>span,.billing-provider-metrics li.is-research .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-research{background:#2f9e6b}.billing-provider-dot.is-wps,.billing-provider-metric-bar.is-wps>span,.billing-provider-metrics li.is-wps .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-wps{background:#1e3a5f}.billing-provider-dot.is-apple,.billing-provider-metrics li.is-apple .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-apple{background:var(--accent-blue)}.billing-provider-dot.is-google,.billing-provider-metrics li.is-google .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-google{background:#fbbf24}.billing-provider-dot.is-auto,.billing-provider-metrics li.is-auto .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-auto{background:color-mix(in srgb,var(--text-muted) 70%,transparent)}.billing-provider-dot.is-mixed,.billing-provider-metrics li.is-mixed .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-mixed{background:color-mix(in srgb,var(--accent) 45%,#fbbf24)}.billing-provider-dot.is-other,.billing-provider-dot.is-unknown,.billing-provider-metrics li.is-other .billing-provider-metric-bar>span,.billing-provider-metrics li.is-unknown .billing-provider-metric-bar>span,.billing-provider-stack-seg.is-other,.billing-provider-stack-seg.is-unknown{background:var(--accent-purple)}.billing-provider-metrics{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.billing-provider-metrics li{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel) 88%,transparent)}.billing-provider-metric-head{display:flex;align-items:center;gap:8px;font-size:.82rem}.billing-provider-metric-head span:nth-child(2){flex:1 1;min-width:0;color:var(--text)}.billing-provider-metric-head strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650}.billing-provider-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-muted)}.billing-provider-metric-bar{height:5px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 16%,transparent)}.billing-provider-metric-bar>span{display:block;height:100%;border-radius:inherit;background:var(--text-muted)}.billing-provider-metrics em{font-style:normal;font-size:.74rem;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.billing-provider-metrics{grid-template-columns:1fr}}.billing-block-head h2{margin:0;font-size:.95rem;font-weight:600}.billing-preview-head{margin-top:8px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.billing-preview-head .billing-head-row{margin-bottom:4px}.billing-block-head p{margin:4px 0 0;color:var(--text-muted);font-size:.8rem;line-height:1.4}.billing-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:560}.billing-cadence-toggle{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel-2) 80%,transparent)}.billing-cadence-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;padding:4px 12px;border-radius:999px;cursor:pointer}.billing-cadence-toggle button.is-active{color:var(--text);background:color-mix(in srgb,var(--accent) 22%,var(--panel))}.billing-tariff-table td{vertical-align:middle}.billing-tariff-day{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.billing-tariff-table td strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-tariff-table tr.is-selected td{background:color-mix(in srgb,var(--accent) 10%,transparent)}.billing-pill,.billing-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:.72rem}.billing-pill.is-yes{color:#86efac;border-color:color-mix(in srgb,#86efac 40%,var(--line))}.billing-pill.is-no{color:var(--text-muted)}.billing-status.is-paid{color:#86efac;border-color:color-mix(in srgb,#86efac 40%,var(--line))}.billing-status.is-open{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 40%,var(--line))}.billing-status.is-draft{color:#93c5fd;border-color:color-mix(in srgb,#93c5fd 40%,var(--line))}.billing-status.is-void{color:var(--text-muted)}@media (max-width:960px){.billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.billing-kpis{grid-template-columns:1fr}}@media (max-width:960px){.usage-kpis,.usage-kpis.is-enrichment{grid-template-columns:1fr}.usage-chart{grid-template-columns:repeat(7,minmax(28px,1fr));overflow:auto}.app-shell.no-map{grid-template-columns:1fr}}.gate-panel{grid-column:2/-1;display:grid;place-items:center;background:var(--panel)}.gate-card{text-align:center;max-width:320px;padding:24px}.gate-card h1{font-family:var(--font-display);margin:0 0 8px}.gate-card p{color:var(--text-muted);margin:0 0 18px}.app-shell.is-mobile-layout{grid-template-columns:1fr;grid-template-rows:56px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-shell.is-mobile-layout .app-stage{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;width:100%}.app-shell.is-mobile-layout.panel-collapsed .app-stage{grid-template-rows:auto minmax(0,1fr)}.app-shell.is-mobile-layout .app-sidebar{flex-direction:row;justify-content:space-between;align-items:center;padding:6px 8px;gap:6px;border-right:0;border-bottom:1px solid var(--sidebar-border);width:auto;min-width:0;max-width:none;overflow:hidden}.app-shell.is-mobile-layout .app-mark{margin-bottom:0;flex:0 0 auto}.app-shell.is-mobile-layout .app-mark-wrap{width:auto;gap:0;margin-bottom:0}.app-shell.is-mobile-layout .app-mark-label,.app-shell.is-mobile-layout .app-sidebar-spacer{display:none}.app-shell.is-mobile-layout .app-sidebar-prefs{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:4px;margin-left:auto;min-width:0;max-width:calc(100% - 44px);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-shell.is-mobile-layout .app-sidebar-prefs::-webkit-scrollbar{display:none}.app-shell.is-mobile-layout .app-sidebar .lang-switch,.app-shell.is-mobile-layout .app-sidebar .theme-switch{flex-direction:row;gap:2px;margin-bottom:0;flex:0 0 auto}.app-shell.is-mobile-layout .fullscreen-btn{width:28px;height:28px;flex:0 0 auto}.app-shell.is-mobile-layout .ether-expand-btn{height:28px;padding:0 8px;flex:0 0 auto}.app-shell.is-mobile-layout .ether-expand-btn span,.app-shell.is-mobile-layout .map-legend-btn>span,.app-shell.is-mobile-layout .map-top-chips .mode-chip-label{display:none}.app-shell.is-mobile-layout .app-sidebar .app-nav-btn{width:32px;height:32px;flex:0 0 auto}.app-shell.is-mobile-layout .app-sidebar .lang-btn,.app-shell.is-mobile-layout .app-sidebar .theme-btn{width:28px;height:26px;padding:0;font-size:.62rem}.app-shell.is-mobile-layout .app-panel{--panel-w:100%!important;--panel-h:42vh;width:100%!important;max-width:none!important;min-width:0!important;height:var(--panel-h);max-height:var(--panel-h);border-right:0;border-bottom:1px solid var(--line);grid-column:1;grid-row:1;transition:height .36s cubic-bezier(.22,1,.36,1),max-height .36s cubic-bezier(.22,1,.36,1),opacity .36s cubic-bezier(.22,1,.36,1),border-color .28s ease}.app-shell.is-mobile-layout .app-panel-body{width:100%!important;min-width:0!important;max-width:none!important;height:100%;max-height:none;padding:10px 12px 40px;gap:10px}.app-shell.is-mobile-layout .app-panel.is-collapsed{width:100%!important;height:0!important;max-height:0!important;min-height:0!important;opacity:0;border-bottom-color:transparent;pointer-events:none;overflow:hidden}.app-shell.is-mobile-layout .app-panel-resize,.app-shell.is-mobile-layout .app-panel-resize-y{display:block;top:auto;right:0;bottom:0;left:0;width:100%;height:22px;cursor:row-resize;z-index:8;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--panel) 92%,transparent) 40%,transparent)}.app-shell.is-mobile-layout .app-panel-resize-y:after,.app-shell.is-mobile-layout .app-panel-resize:after{top:50%;left:50%;width:44px;height:14px;border-radius:999px;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--text-muted) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 80%,transparent);pointer-events:auto;cursor:row-resize}.app-shell.is-mobile-layout .app-panel-resize-y:hover:after,.app-shell.is-mobile-layout .app-panel-resize:hover:after,.app-shell.is-mobile-layout .app-panel.is-resizing .app-panel-resize-y:after,.app-shell.is-mobile-layout .app-panel.is-resizing .app-panel-resize:after{background:color-mix(in srgb,var(--accent) 75%,#9ca3af);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.app-shell.is-mobile-layout .app-map{grid-column:1;grid-row:2;min-height:0;height:100%;width:100%}.app-shell.is-mobile-layout .app-stage.dock-open>.app-panel:not(.is-collapsed){height:var(--panel-h);max-height:var(--panel-h);border-radius:0;align-self:stretch}@media (max-width:960px){.app-shell,.app-shell.is-mobile-layout{grid-template-columns:1fr;grid-template-rows:56px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-stage{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr!important;min-height:0;height:100%;width:100%}.app-shell.panel-collapsed .app-stage,.app-stage{grid-template-rows:auto minmax(0,1fr)}.app-sidebar{flex-direction:row;justify-content:space-between;align-items:center;padding:6px 8px;gap:6px;border-right:0;border-bottom:1px solid var(--sidebar-border);min-width:0;overflow:hidden}.app-mark{margin-bottom:0;width:32px;height:32px;font-size:.78rem;flex:0 0 auto}.app-sidebar-spacer{display:none}.app-sidebar-prefs{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:4px;margin-left:auto;min-width:0;max-width:calc(100% - 44px);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-sidebar-prefs::-webkit-scrollbar{display:none}.app-sidebar .lang-switch,.app-sidebar .theme-switch{flex-direction:row;gap:2px;margin-bottom:0;flex:0 0 auto}.app-sidebar .lang-btn,.app-sidebar .theme-btn{width:28px;height:26px;padding:0;font-size:.62rem}.app-sidebar .app-nav-btn{width:32px;height:32px;flex:0 0 auto}.ether-expand-btn{height:28px;padding:0 8px}.ether-expand-btn span{display:none}.fullscreen-btn{width:28px;height:26px;flex:0 0 auto}.app-panel{--panel-w:100%!important;--panel-h:42vh;width:100%!important;max-width:none!important;min-width:0!important;height:var(--panel-h);max-height:var(--panel-h);border-right:0;border-bottom:1px solid var(--line);grid-column:1;grid-row:1;transition:height .36s cubic-bezier(.22,1,.36,1),max-height .36s cubic-bezier(.22,1,.36,1),opacity .36s cubic-bezier(.22,1,.36,1),border-color .28s ease}.app-stage.dock-open>.app-panel:not(.is-collapsed){height:var(--panel-h);max-height:var(--panel-h);border-radius:0;align-self:stretch}.app-panel-body{min-width:0!important;height:100%;max-height:none;padding:10px 12px 40px;gap:10px}.app-panel-body,.app-panel.is-collapsed{width:100%!important;max-width:none!important}.app-panel.is-collapsed{height:0!important;max-height:0!important;min-height:0!important;opacity:0;border-bottom-color:transparent;pointer-events:none;overflow:hidden}.app-panel-resize,.app-panel-resize-y{display:block;top:auto;right:0;bottom:0;left:0;width:100%;height:22px;cursor:row-resize;z-index:8;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--panel) 92%,transparent) 40%,transparent)}.app-panel-resize-y:after,.app-panel-resize:after{top:50%;left:50%;width:44px;height:14px;border-radius:999px;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--text-muted) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 80%,transparent);pointer-events:auto;cursor:row-resize}.app-panel-resize-y:hover:after,.app-panel-resize:hover:after,.app-panel.is-resizing .app-panel-resize-y:after,.app-panel.is-resizing .app-panel-resize:after{background:color-mix(in srgb,var(--accent) 75%,#9ca3af);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.app-map{grid-column:1;grid-row:2;min-height:0;height:100%;width:100%}.gate-panel{grid-column:1;min-height:60vh}.icon-collapse-desktop{display:none}.icon-collapse-mobile{display:block}.track-hero{gap:8px;padding-bottom:0}.track-hero-name{font-size:1.15rem;letter-spacing:-.02em}.track-hero-main{gap:8px;align-items:center}.ether-status,.track-hero-meta{margin:4px 0 0;font-size:.72rem}.score-ring{width:52px;height:52px}.track-hero-kpis strong{font-size:.85rem}.track-hero-alerts .status-banner{padding:6px 8px;font-size:.72rem}.tracker-kicker-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;min-width:0;text-align:left}.tracker-kicker-toggle h2{margin:0;font-family:var(--font-display);font-size:.92rem}.tracker-chevron{width:8px;height:8px;border-right:1.6px solid;border-bottom:1.6px solid;transform:rotate(45deg);opacity:.65;transition:transform .16s ease;flex:0 0 auto}.tracker-block.is-accordion.is-open .tracker-chevron{transform:rotate(-135deg)}.tracker-block.is-accordion .tracker-kicker{min-height:28px}.unit-btn{padding:8px 10px;gap:8px}.unit-btn strong{font-size:.86rem}.sky-list li{padding-top:7px;padding-bottom:7px}.stat-tape,.stat-tape-3{grid-template-columns:repeat(2,minmax(0,1fr))}.map-top-chips{left:12px;top:12px;gap:6px;max-width:calc(100% - 24px)}.tracking-dock-btn-tracks{display:none!important}.map-top-chips .mode-chip-label{display:none}.map-top-chips .mode-chip{padding:6px 10px;gap:0}.map-top-chips .basemap-chip{max-width:100%}.map-top-chips .basemap-chip-btn{padding:5px 8px;font-size:.68rem}.panel-expand-chip{left:12px;top:52px;padding:6px 10px}}.docs-page{width:min(980px,100%);margin:0 auto;padding:28px clamp(16px,4vw,40px) 56px}.api-docs{display:grid;grid-gap:18px;gap:18px;color:var(--text)}.api-docs.compact{padding:4px 2px 18px}.api-docs-hero{display:grid;grid-gap:14px;gap:14px;padding:18px 18px 16px;border-radius:14px;border:1px solid var(--line);background:radial-gradient(ellipse 70% 80% at 100% 0,rgba(110,231,183,.08),transparent 55%),var(--panel)}.api-docs-kicker{margin:0 0 6px;color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.api-docs-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.55rem,2.4vw,2rem);font-weight:600}.api-docs-sub{margin:8px 0 0;color:var(--text-muted);max-width:52ch;line-height:1.45}.api-docs-meta{display:flex;flex-wrap:wrap;gap:8px}.api-docs-meta>span,.api-docs-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-muted);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.api-docs-pill{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.api-docs-pill.muted{color:var(--text-muted);border-color:var(--line)}.api-docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.api-docs-block,.api-docs-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px}.api-docs-block-head h2,.api-docs-card h2{margin:0;font-size:1rem;font-weight:600}.api-docs-auth-list,.api-docs-limits,.api-docs-ops,.api-docs-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.api-docs-steps{list-style:decimal;padding-left:18px;color:var(--text-muted);line-height:1.45}.api-docs-auth-list li{display:grid;grid-gap:2px;gap:2px}.api-docs-auth-list code{font-family:ui-monospace,Consolas,monospace;font-size:.82rem;color:var(--accent-blue)}.api-docs-auth-list span,.api-docs-limits li{color:var(--text-muted);font-size:.88rem;line-height:1.4}.api-docs-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.api-docs-block-head span{color:var(--text-muted);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.api-docs-op{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:2px;row-gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer}.api-docs-op em{grid-row:1/span 2;align-self:center;justify-self:start;font-style:normal}.api-docs-op strong{font-family:ui-monospace,Consolas,monospace;font-size:.86rem;font-weight:600}.api-docs-op span{color:var(--text-muted);font-size:.78rem}.api-docs-op.on,.api-docs-op:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--panel-2))}.api-method{display:inline-grid;place-items:center;min-width:52px;padding:4px 6px;border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#222632;color:#cbd5e1}.api-method-get{color:#93c5fd;background:rgba(96,165,250,.14)}.api-method-post{color:#86efac;background:rgba(110,231,183,.14)}.api-method-patch,.api-method-put{color:#fde68a;background:rgba(250,204,21,.12)}.api-method-delete{color:#fca5a5;background:hsla(0,91%,71%,.14)}.api-docs-op-body{margin-top:8px;padding:12px;border-radius:10px;border:1px solid var(--line);background:#0c0e14;display:grid;grid-gap:10px;gap:10px}.api-docs-op-body>p{margin:0;color:var(--text-muted);font-size:.88rem}.api-docs-chips{display:flex;flex-wrap:wrap;gap:6px}.api-docs-chip{padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent);font-size:.72rem}.api-docs-chip.muted{color:var(--text-muted);border-color:var(--line)}.api-docs-samples{display:grid;grid-gap:10px;gap:10px}.api-docs-sample{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#090b10}.api-docs-sample-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.78rem}.api-docs-sample-head button{border:1px solid var(--line);background:transparent;color:var(--text-muted);border-radius:7px;padding:4px 8px;cursor:pointer}.api-docs-sample-head button:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.api-docs-sample pre{margin:0;padding:12px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:.76rem;line-height:1.45;color:#dbe4f0}.api-docs-run{display:grid;grid-gap:8px;gap:8px;margin-top:2px}.api-docs-run-bar{display:flex;align-items:center;gap:8px}.api-docs-run-key{flex:1 1;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:#090b10;color:var(--text);font-family:ui-monospace,Consolas,monospace;font-size:.76rem}.api-docs-run-hint{flex:1 1;color:var(--text-muted);font-size:.78rem}.api-docs-run-btn{flex:none;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer}.api-docs-run-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.api-docs-run-btn:disabled{opacity:.65;cursor:wait}.api-docs-run-out{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#090b10}.api-docs-run-out.mode-demo{border-color:color-mix(in srgb,#fbbf24 30%,var(--line))}.api-docs-run-out.mode-live{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.api-docs-run-out.mode-error{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.api-docs-run-meta{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.api-docs-run-badge{padding:1px 6px;border-radius:999px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}.api-docs-run-badge.demo{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 40%,var(--line))}.api-docs-run-badge.live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.api-docs-run-badge.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.api-docs-run-out pre{margin:0;padding:10px;max-height:180px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:.74rem;line-height:1.4;color:#dbe4f0}@media (max-width:820px){.api-docs-grid{grid-template-columns:1fr}.api-docs-op{grid-template-columns:52px minmax(0,1fr)}}.gnss-timeline{display:grid;grid-gap:8px;gap:8px;margin:0}.gnss-controls{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}.gnss-control{display:grid;grid-gap:4px;gap:4px;font-size:.7rem;color:var(--text-muted)}.gnss-control input,.gnss-control select{min-height:32px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 55%,transparent);color:var(--text);font:inherit;font-size:.78rem;padding:0 10px;color-scheme:inherit}.gnss-control select option{background-color:var(--panel);color:var(--text)}:root[data-theme=glass] .gnss-control select option{background-color:#121826;color:#f3f5fa}.gnss-control-track{flex:1 1 220px;min-width:180px}.gnss-control-track select{max-width:min(420px,100%)}.gnss-control-actions{display:inline-flex;gap:6px;align-items:center;padding-bottom:1px}.gnss-chip-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;padding:0 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 50%,transparent);color:var(--text-muted);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.gnss-chip-btn:hover{color:var(--text)}.gnss-chip-btn.on{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--panel));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.gnss-chip-btn:disabled{opacity:.4;cursor:default}.gnss-chip-btn.is-icon{width:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.track-player-block{display:grid;grid-gap:10px;gap:10px;margin:0 0 12px;min-width:0}.track-player-mode-switch{flex:0 0 auto}.track-replay{display:block;width:100%;min-width:0;margin:0;padding:8px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel-2) 42%,transparent);box-sizing:border-box}.track-replay-row{display:flex;flex-wrap:nowrap;align-items:center;gap:8px 10px;width:100%;min-width:0}.track-replay-play{flex:0 0 auto;min-width:36px;padding:0 10px;font-size:.72rem;letter-spacing:0}.track-replay-clock,.track-replay-meta,.track-replay-time{flex:0 0 auto;color:var(--text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.track-replay-time i{margin:0 3px;opacity:.55;font-style:normal}.track-replay-clock{min-width:4.6rem}.track-replay-meta{opacity:.85}.track-replay-rail{position:relative;flex:1 1 120px;min-width:72px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--panel-2) 70%,#000);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);cursor:pointer;touch-action:none;overflow:hidden}.track-replay-rail.is-disabled{opacity:.45;cursor:default;pointer-events:none}.track-replay-fill{position:absolute;inset:0 auto 0 0;display:block;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--accent) 85%,#fff));pointer-events:none}.track-replay-thumb{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--text);border:2px solid color-mix(in srgb,var(--accent) 55%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,#000 35%,transparent);pointer-events:none}.track-replay-speeds{display:inline-flex;flex:0 1 auto;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}.track-replay-speeds .gnss-chip-btn{min-height:28px;padding:0 8px;font-size:.7rem}.track-replay-speed-slider{display:inline-flex;align-items:center;gap:6px;margin:0;min-width:0}.track-replay-speed-value{min-width:2.6rem;color:var(--text-muted);font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track-replay-speed-slider input[type=range]{width:84px;max-width:18vw;height:4px;accent-color:var(--accent);cursor:pointer}.gnss-timeline.is-embedded{gap:8px;min-width:0}.gnss-embedded-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.gnss-embedded-meta{display:grid;grid-gap:2px;gap:2px;min-width:0}.gnss-embedded-meta strong{font-size:.84rem;font-weight:650;color:var(--text)}.gnss-embedded-meta span{color:var(--text-muted);font-size:.72rem}.gnss-legend-row,.gnss-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.gnss-topbar{margin:2px 0 10px}.gnss-topbar-info{flex-wrap:wrap}.gnss-chip,.gnss-topbar-info{display:inline-flex;align-items:center;gap:6px}.gnss-chip{padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 56%,transparent);color:var(--text-muted);font-size:.71rem;line-height:1.3}.gnss-topbar-actions{display:inline-flex;align-items:center;gap:6px}.gnss-legend-row .gnss-legend{margin:0;flex:1 1 auto}.gnss-range-readout{display:inline-flex;align-items:baseline;gap:6px;min-width:150px;color:var(--text-muted);font-size:.72rem}.gnss-range-readout strong{color:var(--text);font-weight:650}.gnss-zoom-btns{display:inline-flex;align-items:stretch;gap:0;flex:0 0 auto;padding:3px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.gnss-zoom-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;line-height:1}.gnss-zoom-btn svg{display:block}.gnss-zoom-btn.is-text{width:auto;min-width:52px;padding:0 9px;font-size:.72rem;font-weight:640}.gnss-zoom-btn:hover:not(:disabled){color:var(--text)}.gnss-zoom-btn:active:not(:disabled),.gnss-zoom-btn:focus-visible:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent);outline:none}.gnss-zoom-btn:disabled{opacity:.35;cursor:default}@media (max-width:900px){.track-replay-row{flex-wrap:wrap}.track-replay-rail{order:5;flex:1 1 100%;min-width:100%}.track-replay-clock,.track-replay-meta{display:none}.track-replay-speeds .gnss-chip-btn{padding:0 7px}.track-replay-speed-slider input[type=range]{width:64px}.gnss-topbar{margin-bottom:8px}.gnss-topbar-actions{width:100%;justify-content:flex-start}}.gnss-legend{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 2px}.gnss-legend-item{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 35%,var(--line));background:color-mix(in srgb,currentColor 12%,transparent);color:var(--text-muted);font-size:.7rem;line-height:1.15}.gnss-legend-item:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 45%,transparent)}.gnss-legend-item strong{letter-spacing:.03em;color:var(--text);font-size:.66rem}.gnss-legend-item em{font-style:normal;color:var(--text-muted)}.gnss-legend-item i{font-style:normal;min-width:16px;text-align:center;font-weight:700;color:var(--text);background:color-mix(in srgb,var(--panel) 80%,transparent);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:999px;padding:0 5px}.gnss-legend-item.live{color:var(--gnss-live)}.gnss-legend-item.degraded{color:var(--gnss-degraded)}.gnss-legend-item.outage{color:var(--gnss-outage)}.gnss-legend-item.fix{color:var(--gnss-fix)}.gnss-frame{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--gnss-frame-bg);padding:26px 12px 10px;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gnss-hours{position:absolute;inset:8px 12px auto;height:14px;pointer-events:none}.gnss-hour{position:absolute;transform:translateX(-50%);color:var(--text-muted);font-size:.66rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.gnss-grid{position:absolute;inset:24px 12px 10px;pointer-events:none}.gnss-grid i{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--line) 70%,transparent)}.gnss-rail{position:relative;height:16px;margin:2px 0 12px;border-radius:4px;background:var(--gnss-rail-bg);overflow:hidden}.gnss-seg{position:absolute;top:0;bottom:0;border-radius:2px;opacity:1;transition:opacity .14s ease}.gnss-outage-bar.is-dim,.gnss-seg.is-dim{opacity:.28}.gnss-seg-live{background:linear-gradient(180deg,var(--gnss-live),var(--gnss-live-2))}.gnss-seg-degraded{background:linear-gradient(180deg,var(--gnss-degraded),var(--gnss-degraded-2))}.gnss-seg-outage{background:linear-gradient(180deg,var(--gnss-outage),var(--gnss-outage-2))}.gnss-row{display:grid;grid-template-columns:64px 1fr;grid-gap:8px;gap:8px;align-items:center;min-height:18px}.gnss-row+.gnss-row{margin-top:8px}.gnss-row-label{color:var(--text-muted);font-size:.74rem;font-weight:600;letter-spacing:.02em}.gnss-row-track{position:relative;height:10px;border-radius:3px;background:var(--gnss-rail-bg);overflow:hidden}.gnss-outage-bar{position:absolute;top:0;bottom:0;border-radius:2px;opacity:1;transition:opacity .14s ease}.gnss-outage-bar.gaps{background:linear-gradient(180deg,var(--gnss-outage),var(--gnss-outage-2))}.gnss-outage-bar.prec{background:linear-gradient(180deg,var(--gnss-degraded),var(--gnss-degraded-2))}.gnss-outage-bar.fix{background:linear-gradient(180deg,var(--gnss-fix),var(--gnss-fix-2))}.gnss-brush-mask{left:12px;background:var(--gnss-mask);z-index:2}.gnss-brush,.gnss-brush-mask{position:absolute;top:24px;bottom:10px;pointer-events:none}.gnss-brush{z-index:3;display:grid;grid-template-columns:8px 1fr 8px}.gnss-brush-body{pointer-events:auto;cursor:-webkit-grab;cursor:grab;border-top:1px solid var(--gnss-brush-edge);border-bottom:1px solid var(--gnss-brush-edge);background:var(--gnss-brush)}.gnss-brush-body:active{cursor:-webkit-grabbing;cursor:grabbing}.gnss-brush-handle{pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;width:8px;cursor:ew-resize;background:transparent;position:relative}.gnss-brush-handle:after{content:"";position:absolute;top:10%;bottom:10%;left:50%;width:2px;transform:translateX(-50%);border-radius:99px;background:var(--gnss-handle);box-shadow:0 0 0 1px var(--gnss-brush-edge)}.gnss-brush-handle:focus-visible:after,.gnss-brush-handle:hover:after{background:var(--accent-blue);width:3px}.gnss-playhead{position:absolute;top:22px;bottom:8px;z-index:4;width:2px;margin-left:-1px;pointer-events:none;border-radius:99px;background:color-mix(in srgb,var(--accent) 72%,transparent);box-shadow:0 0 4px color-mix(in srgb,var(--accent) 85%,transparent),0 0 12px color-mix(in srgb,var(--accent) 55%,transparent),0 0 22px color-mix(in srgb,var(--accent) 35%,transparent)}.gnss-playhead:before{content:"";position:absolute;top:-2px;left:50%;width:8px;height:8px;transform:translateX(-50%);border-radius:50%;background:color-mix(in srgb,var(--accent) 80%,#fff);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.tracking-dock{position:absolute;inset:auto 0 0;z-index:520;display:flex;flex-direction:column;align-items:stretch;pointer-events:none}.tracking-dock-sheet{pointer-events:none;display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(18px);overflow:hidden;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1),opacity .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1)}.tracking-dock-sheet.is-visible{pointer-events:auto;grid-template-rows:1fr;opacity:1;transform:translateY(0)}.tracking-dock.is-open .tracking-dock-sheet-inner{border-bottom:0;border-radius:16px 16px 0 0;margin-bottom:0}.tracking-dock-sheet-inner{position:relative;min-height:0;overflow:hidden;margin:0 1px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:16px 16px 0 0;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -16px 40px rgba(0,0,0,.35)}.tracking-dock-resize{position:absolute;top:0;left:0;right:0;height:10px;z-index:4;cursor:ns-resize;touch-action:none}.tracking-dock-resize:after{content:"";position:absolute;top:3px;left:50%;width:36px;height:3px;transform:translateX(-50%);border-radius:99px;background:color-mix(in srgb,var(--line) 80%,transparent);opacity:.7}.tracking-dock-resize:focus-visible:after,.tracking-dock-resize:hover:after{background:color-mix(in srgb,var(--accent) 55%,var(--line));opacity:1}.tracking-dock-panel{padding:14px 16px 6px;max-height:min(42vh,480px);overflow:auto}.tracking-dock-panel.is-sized{height:var(--dock-panel-h);max-height:none}.tracking-dock-panel.is-sized:has(>.track-table-block),.tracking-dock-panel.is-sized:has(>.track-table-wrap){display:flex;flex-direction:column;overflow:hidden}.local-console-panel.is-sized>.tracker-kicker,.tracking-dock-panel.is-sized:has(>.track-table-block)>.empty-note,.tracking-dock-panel.is-sized:has(>.track-table-block)>.research-auth-form,.tracking-dock-panel.is-sized:has(>.track-table-block)>.track-player-block,.tracking-dock-panel.is-sized:has(>.track-table-block)>.track-table-filters,.tracking-dock-panel.is-sized:has(>.track-table-block)>.tracker-kicker,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.empty-note,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.research-auth-form,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.track-player-block,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.track-table-filters,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.tracker-kicker{flex-shrink:0}.local-console-panel.is-sized{display:flex;flex-direction:column;min-height:0}.local-console-panel.is-sized>.local-console-split{flex:1 1;min-height:0}.local-console-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:2px 0 8px;padding:0 1px;font-size:.68rem;color:var(--text-muted);line-height:1.3}.local-console-legend.is-in-pane{flex-shrink:0;margin:0;padding:5px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);gap:6px 10px}.local-console-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.local-console-legend-item em{font-style:normal;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.local-console-legend-item .log-locate-source{color:#fbbf24}.local-console-legend-item .log-locate-own{color:color-mix(in srgb,#34d399 72%,var(--text-muted))}.local-console-legend-item .log-locate-miss-apple{color:color-mix(in srgb,#fbbf24 70%,var(--text-muted))}.local-console-legend-item .log-locate-miss-google{color:color-mix(in srgb,#7dd3fc 70%,var(--text-muted))}.local-console-split{display:grid;grid-template-columns:minmax(140px,var(--console-scan-fr,1fr)) 10px minmax(140px,var(--console-fix-fr,1fr));grid-template-rows:minmax(0,1fr);grid-gap:0;gap:0;min-height:0;height:100%}.local-console-split-handle{display:flex;position:relative;z-index:2;width:10px;height:100%;margin:0;cursor:ew-resize;touch-action:none;align-items:center;justify-content:center;background:transparent}.local-console-split-handle:after{content:"";width:3px;height:40px;border-radius:99px;background:color-mix(in srgb,var(--line) 80%,transparent);opacity:.75}.local-console-split-handle:focus-visible:after,.local-console-split-handle:hover:after{background:color-mix(in srgb,var(--accent) 55%,var(--line));opacity:1}@media (max-width:720px){.local-console-split{grid-template-columns:1fr;grid-template-rows:minmax(72px,var(--console-scan-fr,1fr)) 12px minmax(72px,var(--console-fix-fr,1fr))}.local-console-split-handle{width:100%;height:12px;cursor:ns-resize}.local-console-split-handle:after{width:40px;height:3px}}.local-console-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel-2) 55%,transparent);overflow:hidden}.local-console-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);flex-shrink:0}.local-console-pane-head strong{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.local-console-pane-head em{font-style:normal;font-size:.68rem;font-weight:700;color:var(--text-muted);opacity:.85}.local-console-pane>.local-console-log{flex:1 1;min-height:0;border:0;border-radius:0;background:transparent}.local-console-panel.is-sized>.local-console-log{flex:1 1;min-height:0}.local-console-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text-muted);font:inherit;font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:7px;cursor:pointer}.local-console-clear:hover{color:var(--text)}.local-console-clear:disabled,.local-console-limit button:disabled{opacity:.45;cursor:default}.local-console-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text-muted);font:inherit;font-size:.68rem;font-weight:650;padding:3px 8px;border-radius:7px;cursor:pointer}.local-console-toggle:hover{color:var(--text)}.local-console-toggle.on{color:var(--text);border-color:color-mix(in srgb,var(--accent-blue) 40%,var(--line));background:color-mix(in srgb,var(--accent-blue) 14%,var(--panel))}.tracking-dock-btn.is-muted{opacity:.72}.local-console-limit{display:inline-flex;align-items:stretch;gap:0;padding:2px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.local-console-limit button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.64rem;font-weight:650;letter-spacing:.01em;padding:3px 7px;border-radius:6px;cursor:pointer;line-height:1}.local-console-limit button:hover{color:var(--text)}.local-console-limit button.on{color:var(--text);background:color-mix(in srgb,var(--accent-blue) 14%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-blue) 28%,transparent)}.local-console-log{margin:10px 0 0;padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,#05070b 18%);overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;line-height:1.45}.local-console-line{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:10px;gap:10px;padding:2px 6px;border-radius:6px;border-left:2px solid transparent;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.local-console-line time{color:color-mix(in srgb,var(--text-muted) 80%,transparent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.local-console-line.is-info{background:color-mix(in srgb,var(--panel-2) 72%,transparent)}.local-console-line.is-ok{border-left-color:color-mix(in srgb,#34d399 72%,transparent);background:color-mix(in srgb,#065f46 18%,transparent);color:color-mix(in srgb,var(--accent) 70%,var(--text))}.local-console-line.is-warn{border-left-color:color-mix(in srgb,#f59e0b 74%,transparent);background:color-mix(in srgb,#92400e 16%,transparent);color:color-mix(in srgb,var(--warn) 75%,var(--text))}.local-console-line.is-err{border-left-color:color-mix(in srgb,#ef4444 80%,transparent);background:color-mix(in srgb,#7f1d1d 18%,transparent);color:color-mix(in srgb,var(--danger) 75%,var(--text))}.local-console-line.is-info span{color:var(--text-muted)}.local-console-line .log-gps-warm{color:#facc15;font-style:normal;font-weight:700}.local-console-line .log-gps-hold{color:#f8fafc;font-style:normal;font-weight:700}.local-console-line .log-gps-module{color:#4ade80;font-style:normal;font-weight:700}.local-console-line .log-wifi-fix{color:#7dd3fc;font-style:normal;font-weight:700}.local-console-line .log-lte-modem{color:#a5b4fc;font-style:normal;font-weight:700}.local-console-line .log-gnss-mode{color:#86efac;font-style:normal;font-weight:700}.local-console-line .log-gnss-bds,.local-console-line .log-gnss-glo{color:color-mix(in srgb,var(--accent-blue) 78%,#fff);font-style:normal;font-weight:700}.local-console-line .log-locate-source{color:#fbbf24;font-style:normal;font-weight:700}.local-console-line .log-locate-source-apple{color:#fcd34d}.local-console-line .log-locate-source-google{color:#7dd3fc}.local-console-line .log-locate-own{color:#34d399;font-style:normal;font-weight:700}.local-console-line .log-locate-miss{font-style:normal;font-weight:700}.local-console-line .log-locate-miss-apple{color:color-mix(in srgb,#fbbf24 72%,var(--text-muted))}.local-console-line .log-locate-miss-google{color:color-mix(in srgb,#7dd3fc 72%,var(--text-muted))}.tracking-dock-panel.is-sized:has(>.track-table-block)>.track-table-block,.tracking-dock-panel.is-sized:has(>.track-table-wrap)>.track-table-wrap{flex:1 1 auto;min-height:0;max-height:none}.tracking-dock-panel.is-sized .track-table-block .track-table-wrap{max-height:none}.tracking-dock-panel.is-collapsed{overflow:hidden}.tracking-dock-panel.is-collapsed .gnss-controls,.tracking-dock-panel.is-collapsed .gnss-frame,.tracking-dock-panel.is-collapsed .gnss-legend,.tracking-dock-panel.is-collapsed .gnss-legend-row,.tracking-dock-panel.is-collapsed .gnss-timeline,.tracking-dock-panel.is-collapsed .gnss-timeline>.empty-note,.tracking-dock-panel.is-collapsed .track-replay,.tracking-dock-panel.is-collapsed>.empty-note,.tracking-dock-panel.is-collapsed>.local-console-log,.tracking-dock-panel.is-collapsed>.local-console-split,.tracking-dock-panel.is-collapsed>.research-auth-form,.tracking-dock-panel.is-collapsed>.track-player-block,.tracking-dock-panel.is-collapsed>.track-table-block,.tracking-dock-panel.is-collapsed>.track-table-filters,.tracking-dock-panel.is-collapsed>.track-table-wrap{display:none}.tracking-dock-panel .gnss-timeline{margin:0;padding-bottom:0}.tracking-dock-panel .track-player-block>.gnss-timeline,.tracking-dock-panel .track-player-block>.track-replay{width:100%;min-width:0}.tracking-dock-panel:has(.gnss-timeline),.tracking-dock-panel:has(.track-replay){padding-bottom:10px}.tracking-dock-panel.is-sized:has(.gnss-timeline),.tracking-dock-panel.is-sized:has(.track-replay){height:var(--dock-panel-h);max-height:var(--dock-panel-h);overflow:hidden}.tracking-dock-rail{pointer-events:none;display:flex;justify-content:flex-start;align-items:center;gap:8px;width:100%;box-sizing:border-box;padding:10px 16px;transition:padding .28s cubic-bezier(.22,1,.36,1)}.tracking-dock-actions{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;margin-left:var(--panel-w,0);transition:margin-left .28s cubic-bezier(.22,1,.36,1)}.tracking-dock.is-open .tracking-dock-rail{position:absolute;left:0;right:0;bottom:100%;padding-top:1px;padding-bottom:1px}.tracking-dock.is-mobile-local-log{z-index:800}.app-shell.is-mobile-layout .tracking-dock{position:absolute;left:0;right:0;bottom:0;top:auto;z-index:800}.app-shell.is-mobile-layout .tracking-dock-sheet{display:block;grid-template-rows:none;max-height:0;opacity:0;transform:translateY(100%);overflow:hidden;pointer-events:none;transition:max-height .36s cubic-bezier(.22,1,.36,1),opacity .28s ease,transform .36s cubic-bezier(.22,1,.36,1)}.app-shell.is-mobile-layout .tracking-dock-sheet.is-visible{display:block;grid-template-rows:none;max-height:min(70dvh,420px);opacity:1;transform:translateY(0);pointer-events:auto}.app-shell.is-mobile-layout .tracking-dock-sheet-inner{min-height:0;height:auto}.app-shell.is-mobile-layout .local-console-panel.is-sized{height:min(70dvh,var(--dock-panel-h,38vh));max-height:min(70dvh,420px);min-height:200px}.tracking-dock.is-mobile-local-log .tracking-dock-sheet{overflow:hidden}.tracking-dock.is-mobile-local-log .tracking-dock-sheet-inner{margin:0;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -10px 28px rgba(0,0,0,.28)}.tracking-dock.is-mobile-local-log .local-console-panel{padding:8px 10px 10px;gap:8px}.tracking-dock.is-mobile-local-log .local-console-panel>.tracker-kicker h2{font-size:.88rem}.tracking-dock.is-mobile-local-log .local-console-split{grid-template-columns:1fr;grid-template-rows:minmax(0,var(--console-scan-fr,1fr)) auto minmax(0,var(--console-fix-fr,1fr));gap:0;min-height:0;flex:1 1}.tracking-dock.is-mobile-local-log .local-console-split-handle{display:flex}.tracking-dock.is-mobile-local-log .local-console-pane{min-height:0}.tracking-dock.is-mobile-local-log .local-console-log{max-height:none;min-height:0;flex:1 1;font-size:.56rem;line-height:1.3;padding:6px}.tracking-dock.is-mobile-local-log .local-console-line{gap:2px;padding:2px 0;grid-template-columns:auto minmax(0,1fr)}.tracking-dock.is-mobile-local-log .local-console-line time{width:auto;min-width:0;padding-right:4px}.tracking-dock.is-mobile-local-log .local-console-panel>.tracker-kicker{flex-wrap:wrap;align-items:flex-start;gap:6px}.tracking-dock.is-mobile-local-log .tracker-kicker-aside{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:100%}.tracking-dock.is-mobile-local-log .local-console-clear,.tracking-dock.is-mobile-local-log .local-console-toggle{font-size:.68rem;padding:5px 8px}.tracking-dock.is-mobile-local-log .local-console-limit button{min-width:32px;padding:5px 7px;font-size:.68rem}.local-console-close,.local-console-expand{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--text);cursor:pointer}.local-console-close:hover,.local-console-expand:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.local-console-expand.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.tracking-dock.is-mobile-local-log.is-console-expanded{top:0;bottom:0;z-index:920}.app-shell.is-mobile-layout .tracking-dock.is-console-expanded .tracking-dock-sheet.is-visible{max-height:none;height:100%;transform:none}.app-shell.is-mobile-layout .tracking-dock.is-console-expanded .tracking-dock-sheet-inner{height:100%;min-height:100%;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.app-shell.is-mobile-layout .tracking-dock.is-console-expanded .local-console-panel,.app-shell.is-mobile-layout .tracking-dock.is-console-expanded .local-console-panel.is-sized{display:flex;flex-direction:column;flex:1 1;height:100%;max-height:none;min-height:0;padding-top:max(8px,env(safe-area-inset-top,0px));padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}.tracking-dock.is-mobile-local-log.is-console-expanded .local-console-split{flex:1 1;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,var(--console-scan-fr,1fr)) auto minmax(0,var(--console-fix-fr,1fr))}.tracking-dock.is-mobile-local-log.is-console-expanded .local-console-pane{min-height:0;height:100%}.app-shell.is-mobile-layout .unit-channel-row .unit-console-open,.app-shell.is-mobile-layout .unit-module-row .unit-console-open{width:var(--chip-h);height:var(--chip-h)}.panel-collapsed .tracking-dock-actions{margin-left:0}.tracking-dock-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel) 84%,transparent);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600}.tracking-dock-btn svg{flex-shrink:0;opacity:.9}.tracking-dock-btn em{font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--text-muted);padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--panel-2) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.tracking-dock-btn.on,.tracking-dock-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.tracking-dock-btn.on{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--panel-2));box-shadow:0 10px 24px rgba(0,0,0,.28),inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.tracking-dock-btn.on svg{color:var(--accent);opacity:1}.tracking-dock-btn.on em{color:var(--text);background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.tracking-dock-close{margin-left:auto;padding:0 11px;min-width:38px;justify-content:center;flex-shrink:0;pointer-events:auto;position:relative;z-index:2}.tracker-kicker-aside{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.tracks-import-label{display:grid;grid-gap:4px;gap:4px;font-size:.72rem;color:var(--text-muted)}.tracks-import-label textarea{width:100%;min-height:64px;resize:vertical;font-family:var(--font-mono,ui-monospace,monospace);font-size:.68rem;line-height:1.35;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:8px}.local-board-toggle.icon-tile{width:28px;height:28px;border-radius:8px;flex-shrink:0}.local-board-toggle.icon-tile:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent-blue) 32%,var(--line))}.local-board-toggle.icon-tile.on{color:color-mix(in srgb,var(--accent-blue) 82%,var(--text));border-color:color-mix(in srgb,var(--accent-blue) 42%,var(--line));background:color-mix(in srgb,var(--accent-blue) 14%,var(--panel-2))}.local-method-switch{display:inline-flex;align-items:stretch;gap:0;padding:2px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.local-method-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.64rem;font-weight:650;letter-spacing:.01em;padding:4px 7px;border-radius:6px;cursor:pointer;line-height:1}.local-method-switch button:hover{color:var(--text)}.local-method-switch button.on{color:color-mix(in srgb,var(--accent-blue) 78%,var(--text));background:color-mix(in srgb,var(--accent-blue) 14%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-blue) 28%,transparent)}.track-kind-switch{display:inline-flex;align-items:stretch;gap:0;padding:3px;border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.track-kind-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:5px 10px;border-radius:7px;cursor:pointer;line-height:1}.track-kind-switch button:hover{color:var(--text)}.track-kind-switch button.on{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.track-table-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px;align-items:center}.track-filter-input,.track-filter-select{min-height:32px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 55%,transparent);color:var(--text);font:inherit;font-size:.76rem;padding:0 10px;color-scheme:inherit}.track-filter-select option{background-color:var(--panel);color:var(--text)}:root[data-theme=glass] .track-filter-select option{background-color:#121826;color:#f3f5fa}.track-filter-input{flex:1 1 160px;min-width:140px}.track-filter-select{flex:0 1 auto}.track-filter-min{flex:0 0 110px;min-width:96px;max-width:120px}.track-filter-presets{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;align-items:center}.track-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;padding:0 11px;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 50%,transparent);color:var(--text-muted);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;white-space:nowrap}.track-filter-chip:hover{color:var(--text)}.track-filter-chip.on{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--panel));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.track-filter-date{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;font-size:.68rem;color:var(--text-muted);white-space:nowrap}.track-filter-date input{min-height:32px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 55%,transparent);color:var(--text);font:inherit;font-size:.76rem;padding:0 10px;color-scheme:inherit}.track-sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer;white-space:nowrap}.track-sort-btn.on,.track-sort-btn:hover{color:var(--text)}.track-table-block{display:flex;flex-direction:column;min-height:0;margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.track-table-wrap{margin-top:0;overflow:auto;border:0;border-radius:0;max-height:min(32vh,360px);flex:1 1 auto;min-height:0}.track-table-footer{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,transparent)}.track-table-footer-meta{color:var(--text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track-table-pager{display:inline-flex;align-items:center;gap:6px}.track-table-pager .track-filter-chip{min-width:32px;padding:0 8px}.track-table-pager .track-filter-chip:disabled{opacity:.35;cursor:default}.track-table-pager-page{min-width:2.8rem;text-align:center;color:var(--text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.track-table{width:max(100%,1080px);border-collapse:collapse;font-size:.76rem}.track-table td,.track-table th{padding:8px 10px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);white-space:nowrap;vertical-align:middle}.track-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--panel-2) 88%,#000);color:var(--text-muted);font-weight:600;font-size:.7rem;letter-spacing:.02em;text-transform:uppercase}.track-table tbody tr{cursor:pointer;transition:background .14s ease}.track-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.track-table tbody tr.on{background:color-mix(in srgb,#f4a261 14%,transparent)}.track-table td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.track-table-device{display:inline-flex;align-items:center;gap:8px;font-weight:650}.track-table-id{max-width:160px;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;cursor:pointer;border-radius:6px;transition:color .15s ease,background .15s ease}.track-table-id:hover{color:var(--text);background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.track-table-id.is-copied{color:color-mix(in srgb,var(--accent) 80%,var(--text));background:color-mix(in srgb,var(--accent) 14%,transparent)}@media (max-width:960px){.tracking-dock-actions{margin-left:var(--panel-w,0)}.panel-collapsed .tracking-dock-actions{margin-left:0}}:root[data-theme=glass] body{background:radial-gradient(ellipse 80% 50% at 88% 8%,rgba(96,165,250,.24),transparent 55%),radial-gradient(ellipse 58% 44% at 8% 86%,rgba(110,231,183,.14),transparent 52%),radial-gradient(ellipse 46% 38% at 48% 42%,rgba(167,139,250,.12),transparent 60%),linear-gradient(165deg,#0a101c,#070b14 48%,#0c1220);background-attachment:fixed}:root[data-theme=glass] .app-shell{background:radial-gradient(ellipse 70% 55% at 72% 28%,rgba(96,165,250,.16),transparent 56%),radial-gradient(ellipse 48% 40% at 12% 88%,rgba(110,231,183,.1),transparent 52%),transparent}:root[data-theme=glass] .api-docs-block,:root[data-theme=glass] .api-docs-card,:root[data-theme=glass] .app-panel,:root[data-theme=glass] .app-sidebar,:root[data-theme=glass] .auth-card,:root[data-theme=glass] .gate-panel,:root[data-theme=glass] .map-legend,:root[data-theme=glass] .map-legend-btn,:root[data-theme=glass] .map-point-card,:root[data-theme=glass] .map-radius-card,:root[data-theme=glass] .map-tools,:root[data-theme=glass] .map-track-layer-dock,:root[data-theme=glass] .pill,:root[data-theme=glass] .profile-card>div,:root[data-theme=glass] .stub-card,:root[data-theme=glass] .tracking-dock-btn,:root[data-theme=glass] .tracking-dock-sheet-inner,:root[data-theme=glass] .ui-float-tip,:root[data-theme=glass] .users-modal,:root[data-theme=glass] .vehicle-row{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}:root[data-theme=glass] .app-sidebar{border-right-color:var(--glass-highlight);box-shadow:inset -1px 0 0 hsla(0,0%,100%,.04)}:root[data-theme=glass] .app-panel{border-right-color:var(--glass-highlight);box-shadow:var(--shadow-soft)}:root[data-theme=glass] .app-stage.dock-open>.app-panel:not(.is-collapsed){border-bottom-color:var(--glass-highlight)}:root[data-theme=glass] .api-docs-block,:root[data-theme=glass] .api-docs-card,:root[data-theme=glass] .auth-card,:root[data-theme=glass] .users-modal{border-color:var(--glass-highlight);box-shadow:var(--shadow)}:root[data-theme=glass] .tracking-dock-sheet-inner{box-shadow:0 -18px 48px rgba(0,0,0,.28),inset 0 1px 0 hsla(0,0%,100%,.1)}:root[data-theme=glass] .map-legend-btn,:root[data-theme=glass] .tracking-dock-btn,:root[data-theme=glass] .tracking-dock-sheet-inner{background:rgba(14,20,34,.42);border-color:var(--glass-highlight)}:root[data-theme=glass] .map-legend-btn.on,:root[data-theme=glass] .tracking-dock-btn.on{background:color-mix(in srgb,var(--accent) 18%,rgba(14,20,34,.55))}:root[data-theme=glass] .map-point-card{background:rgba(12,16,28,.55);border-color:var(--glass-highlight);box-shadow:var(--shadow)}:root[data-theme=glass] .ui-float-tip{border-color:var(--glass-highlight)}:root[data-theme=glass] .app-nav-btn.active,:root[data-theme=glass] .lang-btn.active,:root[data-theme=glass] .theme-btn.active{box-shadow:inset 0 0 0 1px var(--glass-highlight)}:root[data-theme=glass] .auth-card input,:root[data-theme=glass] .users-modal input,:root[data-theme=glass] .users-modal select{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.14)}@media (prefers-reduced-transparency:reduce){:root[data-theme=glass]{--panel:#121826;--panel-2:#1a2233;--bg-soft:#151c2a;--sidebar-bg:#0a0f18;--tip-bg:#101622;--glass-blur:0px}:root[data-theme=glass] .app-shell,:root[data-theme=glass] .marketing-shell,:root[data-theme=glass] body{background:var(--bg)}:root[data-theme=glass] .api-docs-block,:root[data-theme=glass] .api-docs-card,:root[data-theme=glass] .app-panel,:root[data-theme=glass] .app-sidebar,:root[data-theme=glass] .auth-card,:root[data-theme=glass] .gate-panel,:root[data-theme=glass] .map-legend,:root[data-theme=glass] .map-legend-btn,:root[data-theme=glass] .map-point-card,:root[data-theme=glass] .map-radius-card,:root[data-theme=glass] .map-tools,:root[data-theme=glass] .map-track-layer-dock,:root[data-theme=glass] .pill,:root[data-theme=glass] .profile-card>div,:root[data-theme=glass] .stub-card,:root[data-theme=glass] .tracking-dock-btn,:root[data-theme=glass] .tracking-dock-sheet-inner,:root[data-theme=glass] .ui-float-tip,:root[data-theme=glass] .users-modal,:root[data-theme=glass] .vehicle-row{-webkit-backdrop-filter:none;backdrop-filter:none}}.app-panel-wide.is-project-docs{max-width:none;height:100%;min-height:0}.app-panel-wide.is-project-docs .app-panel-body{max-width:none;height:100%;min-height:0;padding:10px 12px 12px;overflow:hidden}.project-docs-page{grid-gap:10px;gap:10px;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.project-docs-page>.error{grid-row:2}.project-docs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-docs-head-text{min-width:0}.project-docs-head h1{font-size:1.25rem}.project-docs-head p{margin-top:4px;font-size:.84rem}.project-docs-share{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-2) 80%,transparent);color:var(--text);padding:7px 12px;font-size:.78rem;cursor:pointer}.project-docs-share:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.project-docs-share.is-ok{border-color:color-mix(in srgb,#34d399 50%,var(--line));color:#34d399}.project-docs-share.is-err{border-color:color-mix(in srgb,#f87171 50%,var(--line));color:#f87171}.project-docs-search{display:block;padding:0 4px 4px}.project-docs-search input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--text);padding:7px 10px;font-size:.8rem}.project-docs-search input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.project-docs-loading{display:grid;grid-template-columns:var(--docs-nav-w,240px) minmax(0,1fr);grid-gap:0 10px;gap:0 10px;min-height:0;height:100%}.project-docs-article.is-skel,.project-docs-nav.is-skel{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 88%,transparent);padding:14px 12px}.project-docs-nav-skel-row{display:grid;grid-gap:4px;gap:4px;padding:8px 6px}.project-docs-skel{display:block;height:.7rem;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 0,color-mix(in srgb,var(--text-muted) 22%,var(--panel-2)) 45%,color-mix(in srgb,var(--line) 70%,transparent) 100%);background-size:220% 100%;animation:health-skel-shine 1.25s ease-in-out infinite}.project-docs-doc-loading{display:grid;justify-items:start;grid-gap:0;gap:0;padding:8px 4px 20px;color:var(--text-muted);font-size:.84rem}.project-docs-doc-loading p{margin:10px 0 0}.project-docs-spinner{width:22px;height:22px;border-radius:50%;border:2px solid color-mix(in srgb,var(--line) 85%,transparent);border-top-color:var(--accent-blue);animation:project-docs-spin .7s linear infinite}@keyframes project-docs-spin{to{transform:rotate(1turn)}}.project-docs-layout{display:grid;grid-template-columns:var(--docs-nav-w,240px) 8px minmax(0,1fr);grid-gap:0;gap:0;align-items:stretch;min-height:0;height:100%}.project-docs-page.is-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-docs-resize{position:relative;z-index:2;cursor:col-resize;touch-action:none;background:transparent}.project-docs-resize:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:40px;border-radius:2px;transform:translate(-50%,-50%);background:transparent;transition:background .15s ease,box-shadow .15s ease}.project-docs-page.is-resizing .project-docs-resize:after,.project-docs-resize:hover:after{background:#6b7280;box-shadow:0 0 0 1px hsla(220,9%,46%,.35)}.project-docs-nav{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 88%,transparent);padding:10px 8px;display:grid;grid-gap:12px;gap:12px;align-content:start;min-height:0;height:100%;max-height:none;overflow:auto}.project-docs-group-label{padding:3px 8px 7px;color:color-mix(in srgb,var(--text) 92%,#9cc9ff 8%);font-size:.8rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.project-docs-group[data-group=root] .project-docs-group-label{color:#7dd3fc}.project-docs-group[data-group=product] .project-docs-group-label{color:#fbbf24}.project-docs-group[data-group=core] .project-docs-group-label{color:#a78bfa}.project-docs-group[data-group=deploy] .project-docs-group-label{color:#34d399}.project-docs-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.project-docs-nav button{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);padding:8px 10px;cursor:pointer;display:grid;grid-gap:2px;gap:2px}.project-docs-nav button span{font-size:.84rem;line-height:1.25}.project-docs-nav button em{font-style:normal;color:var(--text-muted);font-size:.68rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.project-docs-nav button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.project-docs-nav button.on{background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.project-docs-article{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 72%,transparent);padding:14px 16px 20px;min-height:0;height:100%;max-height:none;overflow:auto}.project-docs-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:800px){.project-docs-layout{grid-template-columns:1fr;grid-template-rows:minmax(160px,36vh) auto minmax(0,1fr)}.project-docs-resize{display:none}.project-docs-nav{max-height:36vh}}.project-docs-article-meta{margin-bottom:12px;color:var(--text-muted);font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.project-docs-empty{margin:8px 10px;color:var(--text-muted);font-size:.85rem}.project-docs-prose{display:grid;grid-gap:.75rem;gap:.75rem;color:var(--text);font-size:.92rem;line-height:1.55}.project-docs-prose>:first-child{margin-top:0}.project-docs-prose h1,.project-docs-prose h2,.project-docs-prose h3,.project-docs-prose h4{margin:.6rem 0 .15rem;font-family:var(--font-display);line-height:1.25}.project-docs-prose h1{font-size:1.35rem}.project-docs-prose h2{font-size:1.12rem}.project-docs-prose h3,.project-docs-prose h4{font-size:1rem}.project-docs-prose ol,.project-docs-prose p,.project-docs-prose ul{margin:0}.project-docs-prose ol,.project-docs-prose ul{padding-left:1.25rem;display:grid;grid-gap:.35rem;gap:.35rem}.project-docs-prose a{color:var(--accent-blue);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent-blue) 40%,transparent)}.project-docs-prose a:hover{border-bottom-color:var(--accent-blue)}.project-docs-dead-link{color:var(--text-muted);border-bottom:1px dashed var(--line)}.project-docs-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em;padding:.1em .35em;border-radius:5px;background:color-mix(in srgb,var(--panel) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.project-docs-code{margin:0;padding:12px 14px;overflow:auto;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,#000 8%);font-size:.8rem;line-height:1.45}.project-docs-code code{border:0;padding:0;background:transparent;font-size:inherit}.project-docs-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.project-docs-prose table{width:100%;border-collapse:collapse;font-size:.82rem}.project-docs-prose td,.project-docs-prose th{padding:8px 10px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 85%,transparent);vertical-align:top}.project-docs-prose th{color:var(--text-muted);font-weight:600;background:color-mix(in srgb,var(--panel) 55%,transparent)}.project-docs-prose hr{border:0;border-top:1px solid var(--line);margin:.4rem 0}@media (max-width:860px){.project-docs-layout{grid-template-columns:1fr}.project-docs-article,.project-docs-nav{max-height:none}}:root[data-theme=glass] .project-docs-article,:root[data-theme=glass] .project-docs-nav{-webkit-backdrop-filter:blur(var(--glass-blur,12px));backdrop-filter:blur(var(--glass-blur,12px))}.analytics-flow.n8n-flow{--n8n-teal:#0d9488;--n8n-green:var(--accent);--n8n-navy:#5b7ea8;--n8n-blue:var(--accent-blue);--n8n-amber:#d4a017;margin:0 0 1.25rem;padding:.95rem 1rem 1.05rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel) 94%,transparent);width:100%;min-width:0;overflow:hidden}.n8n-flow-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.7rem 1rem;margin-bottom:.85rem}.n8n-flow-toolbar h2{margin:0 0 .2rem;font-size:1.02rem}.billing-block-title-row,.n8n-flow-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem}.billing-block-title-row h2,.n8n-flow-title-row h2{margin:0}.scope-badge{display:inline-flex;align-items:center;padding:.12rem .4rem;border-radius:999px;font-size:.62rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase;line-height:1.2;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);color:var(--text-muted);background:color-mix(in srgb,var(--bg) 40%,transparent);white-space:nowrap}.scope-badge.is-period{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:color-mix(in srgb,var(--accent) 80%,var(--text));background:color-mix(in srgb,var(--accent) 8%,transparent)}.scope-badge.is-now{border-color:color-mix(in srgb,#d4a017 45%,var(--line));color:color-mix(in srgb,#d4a017 85%,var(--text));background:color-mix(in srgb,#d4a017 10%,transparent)}.scope-badge.is-inline{margin-left:.25rem;vertical-align:middle;text-transform:none;letter-spacing:.01em;font-size:.58rem}.usage-kpis-wrap{display:grid;grid-gap:.45rem;gap:.45rem;margin-bottom:1rem}.usage-kpis-wrap .usage-kpis{margin-bottom:0}.usage-kpis-scope{display:flex;justify-content:flex-start}.n8n-rps-switch{display:inline-flex;align-items:stretch;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);overflow:hidden;background:color-mix(in srgb,var(--bg) 45%,transparent)}.n8n-rps-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.68rem;font-weight:700;padding:.28rem .55rem;cursor:pointer;line-height:1.2}.n8n-rps-switch button.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text)}.n8n-chip.is-rps.is-live{border-color:color-mix(in srgb,var(--accent-blue) 50%,var(--line))}.n8n-chip.is-rps.is-stale{opacity:.65}.n8n-flow-toolbar p{margin:0;font-size:.8rem;color:var(--text-muted);max-width:40rem;line-height:1.35}.n8n-flow-now-note{margin:0 0 .95rem;padding:.45rem .7rem;border-radius:8px;border:1px dashed color-mix(in srgb,var(--n8n-navy) 45%,var(--line));background:color-mix(in srgb,var(--n8n-navy) 8%,transparent);font-size:.78rem;line-height:1.4;color:var(--text-muted);width:100%;max-width:none;box-sizing:border-box}.n8n-flow-chips{display:flex;flex-wrap:wrap;gap:.4rem}.n8n-chip{display:inline-flex;align-items:baseline;gap:.3rem;padding:.3rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:color-mix(in srgb,var(--bg) 45%,transparent);font-size:.7rem;color:var(--text-muted)}.n8n-chip b{font-size:.98rem;font-weight:750;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.n8n-chip.is-ok{border-color:color-mix(in srgb,var(--n8n-green) 45%,var(--line))}.n8n-chip.is-rps{border-color:color-mix(in srgb,var(--n8n-teal) 45%,var(--line))}.n8n-board{justify-items:center;grid-gap:0;gap:0;width:min(100%,38rem);margin:0 auto}.n8n-board,.n8n-node{display:grid;min-width:0}.n8n-node{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.55rem .75rem;gap:.55rem .75rem;width:min(100%,23rem);border-radius:10px;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));padding:.55rem .75rem;transition:border-color .22s ease,background .22s ease,opacity .22s ease}.n8n-node.is-idle{opacity:.5}.n8n-node.is-active{opacity:1}.n8n-node.is-teal.is-active{border-color:color-mix(in srgb,var(--n8n-teal) 55%,var(--line));background:color-mix(in srgb,var(--n8n-teal) 10%,var(--panel))}.n8n-node.is-green.is-active{border-color:color-mix(in srgb,var(--n8n-green) 55%,var(--line));background:color-mix(in srgb,var(--n8n-green) 10%,var(--panel))}.n8n-node.is-navy.is-active{border-color:color-mix(in srgb,var(--n8n-navy) 55%,var(--line));background:color-mix(in srgb,var(--n8n-navy) 12%,var(--panel))}.n8n-node.is-blue.is-active{border-color:color-mix(in srgb,var(--n8n-blue) 55%,var(--line));background:color-mix(in srgb,var(--n8n-blue) 12%,var(--panel))}.n8n-node.is-amber.is-active{border-color:color-mix(in srgb,var(--n8n-amber) 50%,var(--line));background:color-mix(in srgb,var(--n8n-amber) 10%,var(--panel))}.n8n-node-dot{width:7px;height:7px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 55%,transparent);flex:0 0 auto}.n8n-node.is-teal.is-active .n8n-node-dot{background:var(--n8n-teal)}.n8n-node.is-green.is-active .n8n-node-dot{background:var(--n8n-green);box-shadow:0 0 0 0 color-mix(in srgb,var(--n8n-green) 45%,transparent);animation:n8n-dot-pulse 1.6s ease-out infinite}.n8n-node.is-navy.is-active .n8n-node-dot{background:var(--n8n-navy)}.n8n-node.is-blue.is-active .n8n-node-dot{background:var(--n8n-blue)}.n8n-node.is-amber.is-active .n8n-node-dot{background:var(--n8n-amber)}.n8n-node-body{display:grid;grid-gap:.05rem;gap:.05rem;min-width:0}.n8n-node-type{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);line-height:1.2}.n8n-node-title{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.25}.n8n-node-note,.n8n-node-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.n8n-node-note{font-style:normal;font-size:.74rem;line-height:1.3;color:var(--text-muted)}.n8n-node-stats{display:grid;justify-items:end;grid-gap:.05rem;gap:.05rem;min-width:3.6rem}.n8n-node-count{font-size:1.12rem;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1;white-space:nowrap}.n8n-node-pct{font-size:.86rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted);line-height:1.15;white-space:nowrap}.n8n-link{--n8n-link-tone:var(--n8n-green);position:relative;display:flex;justify-content:center;align-items:stretch;width:100%;min-height:2.1rem;padding:.2rem 0;overflow:visible}.n8n-link.is-teal{--n8n-link-tone:var(--n8n-teal)}.n8n-link.is-green{--n8n-link-tone:var(--n8n-green)}.n8n-link.is-navy{--n8n-link-tone:var(--n8n-navy)}.n8n-link.is-blue{--n8n-link-tone:var(--n8n-blue)}.n8n-link.is-amber{--n8n-link-tone:var(--n8n-amber)}.n8n-link-line{width:2px;min-height:2.1rem;border-radius:2px;background:color-mix(in srgb,var(--line) 85%,var(--text-muted))}.n8n-link.is-active .n8n-link-line{background:color-mix(in srgb,var(--n8n-link-tone) 65%,var(--line))}.n8n-link.is-dashed .n8n-link-line{width:0;border-left:2px dashed color-mix(in srgb,var(--line) 75%,var(--text-muted));background:transparent}.n8n-link.is-dashed.is-active .n8n-link-line{border-left-color:color-mix(in srgb,var(--n8n-link-tone) 70%,var(--line));background:transparent;animation:none}.n8n-link.is-dashed.is-flowing .n8n-link-line{background:transparent;animation:none}.n8n-link-caption{left:calc(50% + .55rem);max-width:7.5rem;font-weight:700;color:color-mix(in srgb,var(--n8n-link-tone) 75%,var(--text-muted));white-space:normal}.n8n-link-caption,.n8n-link-rps{position:absolute;top:50%;transform:translateY(-50%);font-size:.62rem;letter-spacing:.02em;line-height:1.2;pointer-events:none}.n8n-link-rps{right:calc(50% + .55rem);padding:.08rem .35rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--n8n-link-tone) 45%,var(--line));background:color-mix(in srgb,var(--panel) 88%,transparent);font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--n8n-link-tone) 85%,var(--text));white-space:nowrap}.n8n-link.has-rps{min-height:2.4rem}.n8n-fork-arm .n8n-link-rps{right:auto;left:50%;top:.1rem;transform:translateX(-50%)}.n8n-fork{grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem;width:100%;align-items:stretch;margin:.35rem 0 .55rem}.n8n-fork,.n8n-fork-arm{display:grid;min-width:0}.n8n-fork-arm{justify-items:center}.n8n-fork-arm .n8n-link{width:100%;min-height:3.8rem}.n8n-fork-arm .n8n-link.has-rps{min-height:4.1rem}.n8n-fork-arm .n8n-link-line{min-height:3.8rem}.n8n-fork-arm .n8n-link-caption{left:50%;top:auto;bottom:.05rem;transform:translateX(-50%);max-width:95%;text-align:center}.n8n-link-packet{position:absolute;left:50%;top:0;width:6px;height:6px;margin-left:-3px;border-radius:999px;background:var(--n8n-link-tone);box-shadow:0 0 0 2px color-mix(in srgb,var(--n8n-link-tone) 28%,transparent);opacity:0;pointer-events:none;animation:n8n-packet-fall 1.45s linear infinite}.n8n-link.is-flowing .n8n-link-line{background:linear-gradient(180deg,color-mix(in srgb,var(--n8n-link-tone) 25%,var(--line)) 0,color-mix(in srgb,var(--n8n-link-tone) 80%,var(--line)) 45%,color-mix(in srgb,var(--n8n-link-tone) 25%,var(--line)) 100%);background-size:100% 220%;animation:n8n-link-sheen 1.45s linear infinite}.n8n-branch{position:relative;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;width:100%;padding-bottom:4.4rem}.n8n-branch,.n8n-path{display:grid;min-width:0}.n8n-path{justify-items:stretch;grid-gap:0;gap:0;padding:.55rem;border-radius:10px;border:1px dashed color-mix(in srgb,var(--line) 92%,transparent);background:color-mix(in srgb,var(--bg) 35%,transparent);opacity:.72}.n8n-path .n8n-node{width:100%}.n8n-path.is-active{opacity:1}.n8n-path.is-target{border-style:dashed;border-color:color-mix(in srgb,var(--n8n-green) 35%,var(--line))}.n8n-path.is-now{border-style:solid;border-color:color-mix(in srgb,var(--n8n-navy) 42%,var(--line));background:color-mix(in srgb,var(--n8n-navy) 7%,var(--bg))}.n8n-path-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem .45rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.55rem;text-align:center}.n8n-path-label.is-green{color:color-mix(in srgb,var(--n8n-green) 85%,var(--text))}.n8n-path-label.is-navy{color:color-mix(in srgb,var(--n8n-navy) 90%,var(--text))}.n8n-path-badge{display:inline-flex;align-items:center;padding:.1rem .35rem;border-radius:999px;border:1px dashed color-mix(in srgb,var(--n8n-green) 50%,var(--line));font-size:.58rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb,var(--n8n-green) 80%,var(--text));background:color-mix(in srgb,var(--n8n-green) 8%,transparent)}.n8n-path-badge.is-now{border-style:solid;border-color:color-mix(in srgb,var(--n8n-navy) 55%,var(--line));color:color-mix(in srgb,var(--n8n-navy) 90%,var(--text));background:color-mix(in srgb,var(--n8n-navy) 12%,transparent)}.n8n-split{display:grid;grid-template-columns:1fr;grid-gap:.55rem;gap:.55rem}.n8n-cross-bridge{position:absolute;left:12%;right:12%;bottom:.45rem;height:2.2rem;pointer-events:none;opacity:.55}.n8n-cross-bridge.is-active{opacity:1}.n8n-cross-bridge-line{position:absolute;left:0;right:0;top:.55rem;height:0;border-top:2px dashed color-mix(in srgb,var(--n8n-green) 70%,var(--line))}.n8n-cross-bridge-line:after,.n8n-cross-bridge-line:before{content:"";position:absolute;top:-5px;width:8px;height:8px;border-radius:999px;background:color-mix(in srgb,var(--n8n-green) 75%,var(--line))}.n8n-cross-bridge-line:before{left:-2px}.n8n-cross-bridge-line:after{right:-2px}.n8n-cross-bridge-label{top:.85rem;max-width:92%;padding:.1rem .4rem;font-weight:700;line-height:1.25;color:color-mix(in srgb,var(--n8n-green) 75%,var(--text-muted));text-align:center;overflow:hidden;text-overflow:ellipsis}.n8n-cross-bridge-label,.n8n-cross-bridge-rps{position:absolute;left:50%;transform:translateX(-50%);border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);font-size:.62rem;white-space:nowrap}.n8n-cross-bridge-rps{top:-.85rem;padding:.08rem .35rem;border:1px solid color-mix(in srgb,var(--n8n-green) 45%,var(--line));font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--n8n-green) 85%,var(--text))}.n8n-cross-bridge-packet{position:absolute;top:.4rem;left:85%;width:6px;height:6px;margin-top:-1px;border-radius:999px;background:var(--n8n-green);box-shadow:0 0 0 2px color-mix(in srgb,var(--n8n-green) 28%,transparent);opacity:0;animation:n8n-bridge-slide 1.7s linear infinite}.analytics-flow-legend{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1.1rem;font-size:.75rem;color:var(--text-muted)}.analytics-flow-legend li{display:inline-flex;align-items:center;gap:.4rem}.analytics-flow-legend-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.analytics-flow-legend-dot.is-research{background:#2f9e6b}.analytics-flow-legend-dot.is-yom{background:#5b7ea8}.analytics-flow-legend-dot.is-live{background:var(--accent-blue)}.analytics-flow-legend-edge{width:18px;height:0;flex:0 0 auto;border-top:2px solid color-mix(in srgb,var(--n8n-navy) 80%,var(--line))}.analytics-flow-legend-edge.is-dashed{border-top-style:dashed;border-top-color:color-mix(in srgb,var(--n8n-green) 75%,var(--line))}.analytics-flow-legend-rps{display:inline-flex;align-items:center;padding:.05rem .3rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--n8n-teal) 45%,var(--line));font-size:.58rem;font-weight:750;color:color-mix(in srgb,var(--n8n-teal) 85%,var(--text))}@keyframes n8n-dot-pulse{70%{box-shadow:0 0 0 8px color-mix(in srgb,var(--n8n-green) 0,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--n8n-green) 0,transparent)}}@keyframes n8n-packet-fall{0%{top:-2px;opacity:0}12%{opacity:1}88%{opacity:1}to{top:calc(100% - 2px);opacity:0}}@keyframes n8n-link-sheen{0%{background-position:0 0}to{background-position:0 100%}}@keyframes n8n-bridge-slide{0%{left:88%;opacity:0}12%{opacity:1}88%{opacity:1}to{left:8%;opacity:0}}@media (prefers-reduced-motion:reduce){.n8n-cross-bridge-packet,.n8n-link-packet,.n8n-link.is-flowing .n8n-link-line,.n8n-node.is-green.is-active .n8n-node-dot{animation:none}.n8n-cross-bridge-packet,.n8n-link-packet{display:none}}@media (max-width:760px){.n8n-board{width:min(100%,24rem)}.n8n-branch,.n8n-fork{grid-template-columns:1fr}.n8n-cross-bridge{position:relative;left:auto;right:auto;bottom:auto;margin-top:.55rem;height:auto;min-height:2.2rem}.n8n-cross-bridge-label{white-space:normal}.n8n-branch{padding-bottom:0}.n8n-node{width:min(100%,24rem)}.n8n-node-note,.n8n-node-title{white-space:normal}}.billing-provider-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:1100px){.billing-provider-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}