:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-dark:#f9fafb;--bg-panel:#f3f4f6;--bg-card:#fff;--bg-hover:#e5e7eb;--chrome-surface:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--accent-blue:#2563eb;--accent-cyan:#0891b2;--accent-green:#047857;--accent-orange:#d97706;--accent-purple:#7c3aed;--accent-red:#dc2626;--accent-blue-hover:#1d4ed8;--on-accent:#fff;--color-link:#0071e3;--color-success:#34c759;--color-warning:#f59e0b;--color-danger:#ff3b30;--border-dark:#d1d5db;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:14px;--radius-pill:9999px;--font-2xs:10px;--font-xs:11px;--font-sm:12px;--font-base:13px;--font-md:14px;--font-lg:16px;--font-xl:20px;--font-2xl:24px;--font-mono:"SF Mono", "Monaco", "Courier New", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--chart-blue:#3b82f6;--chart-green:#10b981;--chart-orange:#f59e0b;--chart-red:#ef4444;--chart-purple:#8b5cf6;--chart-cyan:#06b6d4;--chart-grid:#e5e7eb;--chart-text:#6b7280;--heat-tier-1:#ef4444;--heat-tier-2:#f97316;--heat-tier-3:#eab308;--heat-tier-4:#84cc16;--heat-tier-5:#22c55e;--z-base:1;--z-sticky:10;--z-dropdown:100;--z-sidebar:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-nav:600;--z-terrain:0;--breakpoint-sm:480px;--breakpoint-md:640px;--breakpoint-lg:768px;--breakpoint-xl:1024px;--rail-w-expanded:240px;--rail-w-collapsed:64px;--header-h:52px;--moat:var(--space-3);--moat-map:var(--space-4);--map-tint:transparent;--map-tint-strength:0;--map-luma:.5;--env-temperature:0;--env-tint-cap:.14;--plate-bg:var(--bg-dark);--plate-radius:var(--radius-2xl);--plate-recess:inset 3px 3px 6px -2px #0000001a;--primary:var(--accent-blue);--primary-foreground:var(--on-accent);--secondary:var(--bg-hover);--secondary-foreground:var(--text-primary);--background:var(--bg-card);--foreground:var(--text-primary);--card:var(--bg-card);--card-foreground:var(--text-primary);--popover:var(--bg-card);--popover-foreground:var(--text-primary);--muted:var(--bg-panel);--muted-foreground:var(--text-muted);--accent:var(--bg-hover);--accent-foreground:var(--text-primary);--destructive:var(--accent-red);--destructive-foreground:var(--on-accent);--border:var(--border-dark);--input:var(--border-dark);--ring:var(--accent-blue);--info:var(--accent-blue);--success:var(--color-success);--warning:var(--color-warning);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-panel,#f3f4f6)}::-webkit-scrollbar-thumb{background:var(--bg-hover,#e5e7eb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#6b7280)}::-webkit-scrollbar-corner{background:var(--bg-panel,#f3f4f6)}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover,#e5e7eb) var(--bg-panel,#f3f4f6)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:active:not(:disabled){transform:scale(.97)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-dark:#111827;--bg-panel:#1f2937;--bg-card:#1c2028;--bg-hover:#2d3340;--chrome-surface:#0f1219;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-green:#34d399;--accent-orange:#fbbf24;--accent-purple:#a78bfa;--accent-red:#f87171;--accent-blue-hover:#93c5fd;--on-accent:var(--bg-dark);--color-link:#60a5fa;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--border-dark:#374151;--chart-blue:#60a5fa;--chart-green:#34d399;--chart-orange:#fbbf24;--chart-red:#f87171;--chart-purple:#a78bfa;--chart-cyan:#22d3ee;--chart-grid:#374151;--chart-text:#9ca3af;--plate-recess:inset 3px 3px 8px -2px #00000073}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--bg-hover)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:var(--bg-panel)}*{scrollbar-color:var(--bg-hover) var(--bg-panel)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-dark:#111827;--bg-panel:#1f2937;--bg-card:#1c2028;--bg-hover:#2d3340;--chrome-surface:#0f1219;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-green:#34d399;--accent-orange:#fbbf24;--accent-purple:#a78bfa;--accent-red:#f87171;--accent-blue-hover:#93c5fd;--on-accent:var(--bg-dark);--color-link:#60a5fa;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--border-dark:#374151;--chart-blue:#60a5fa;--chart-green:#34d399;--chart-orange:#fbbf24;--chart-red:#f87171;--chart-purple:#a78bfa;--chart-cyan:#22d3ee;--chart-grid:#374151;--chart-text:#9ca3af;--plate-recess:inset 3px 3px 8px -2px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--glass-bg:#3c3c435c;--glass-bg-hover:#3c3c437a;--glass-bg-active:#3c3c438f;--glass-bg-elevated:#2c2c2ea6;--glass-bg-overlay:#1c1c1eb8;--glass-border:#ffffff2e;--glass-border-accent:#60a5fa66;--glass-border-subtle:#ffffff14;--glass-shadow:0 2px 8px #0006, inset 0 1px 0 #ffffff1f;--glass-shadow-hover:0 4px 16px #00000080, inset 0 1px 0 #ffffff26;--glass-shadow-elevated:0 8px 32px #0009, inset 0 1px 0 #ffffff1f;--glass-shadow-overlay:0 16px 48px #000000b3, inset 0 1px 0 #ffffff1a;--glass-inner-highlight:inset 0 1px 0 #ffffff1f;--glass-card-bg:#2c2c2e80;--glass-card-border:#ffffff26;--glass-card-shadow:0 8px 32px #00000080, inset 0 1px 0 #ffffff1a;--bezel-bg:color-mix(in srgb, #14161ccc, var(--map-tint) 16%);--bezel-rim:inset 0 0 0 .5px #ffffff1a;--bezel-lift:0 10px 40px #0000008c;--bezel-sheen:#ffffff0f;--nav-tick-glow:9px;--lg-edge-light:#ffffff24;--lg-edge-dome:#ffffff0d;--terrain-dim:.55;--terrain-scrim:rgba(0, 0, 0, clamp(.1, calc((var(--map-luma) - .5) * .55 + .1), .5))}:root:not([data-theme=light]) .grounded-glass{border:1px solid var(--glass-border-subtle);background:#2c2c2ecc}}@keyframes reveal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pill-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pill-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes popup-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes dd-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dd-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.97)}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes expandFromCircle{0%{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}@keyframes row-pulse{0%{background:#2563eb24}50%{background:#2563eb0f}to{background:#2563eb14}}@keyframes method-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes method-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{background:#fffffff2}.glass-clear{background:var(--glass-clear-bg-opaque);border-color:var(--glass-clear-rim-contrast)}:root[data-theme=dark] .glass,:root[data-theme=dark] .glass-accent,:root[data-theme=dark] .glass-elevated,:root[data-theme=dark] .glass-overlay,:root[data-theme=dark] .glass-card,:root[data-theme=dark] .grounded-glass{background:#2c2c2ef2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass,:root:not([data-theme=light]) .glass-accent,:root:not([data-theme=light]) .glass-elevated,:root:not([data-theme=light]) .glass-overlay,:root:not([data-theme=light]) .glass-card,:root:not([data-theme=light]) .grounded-glass{background:#2c2c2ef2}}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff2}:root[data-theme=dark] .glass,:root[data-theme=dark] .glass-accent,:root[data-theme=dark] .glass-elevated,:root[data-theme=dark] .glass-overlay,:root[data-theme=dark] .glass-card,:root[data-theme=dark] .grounded-glass{background:#2c2c2ef2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass,:root:not([data-theme=light]) .glass-accent,:root:not([data-theme=light]) .glass-elevated,:root:not([data-theme=light]) .glass-overlay,:root:not([data-theme=light]) .glass-card,:root:not([data-theme=light]) .grounded-glass{background:#2c2c2ef2}}.glass-clear{background:var(--glass-clear-bg-opaque);border-color:var(--glass-clear-rim-contrast);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--map-tint:transparent;--map-tint-strength:0;--terrain-scrim:transparent;--bezel-bg:var(--chrome-surface)}}@media (prefers-reduced-motion:reduce){.stagger,.reveal{opacity:1;transform:none;animation:none!important}.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{transition:none!important;animation:none!important;transform:none!important}.skel{background:var(--muted,#f4f4f5);animation:none}.method-content,.method-content.active,.method-content.exiting,.search-bar-expanding,.search-bar-collapsing{opacity:1;transform:none;transition:none!important;animation:none!important}.search-bar-collapsed{opacity:0;transform:scale(.3);transition:none!important;animation:none!important}.mini-icon,.filter-menu-stagger,.filter-menu-stagger.open{transition:none!important}.fi-anim{opacity:1;transform:none;transition:none!important}.error-slide-down,.glass-popup .maplibregl-popup-content{opacity:1;transform:none;animation:none!important}.search-page-panel-right.visible{transform:none;animation:none!important}.table-row{transition:none!important}.table-row.highlighted{background:#2563eb14;animation:none!important}}@media (prefers-reduced-motion:no-preference){:root{transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard)}.glass,.glass-elevated,.glass-overlay,.observations-table td,.observations-table th,.method-dropdown-trigger,.method-dropdown-menu,.search-clear-btn,.search-bar-container,.station-search-bar,.type-selector-btn,.filter-btn,.search-btn-inline,.filter-pill,.filter-pill-inline,.obs-type-pill,.scope-pill,.location-card,.location-card-table tbody tr{transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard)}}.btn-primary{background:var(--bg-card);color:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:var(--radius-lg);font-size:var(--font-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);padding:8px 20px;font-weight:600}.btn-primary:hover{background:var(--accent-blue);color:var(--on-accent);box-shadow:0 4px 14px #2563eb4d}.btn-primary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-dark);border-radius:var(--radius-lg);font-size:var(--font-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;padding:8px 16px;font-weight:500}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-secondary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{color:var(--text-secondary);border:1px solid var(--border-dark);border-radius:var(--radius-lg);font-size:var(--font-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;padding:8px 16px;font-weight:500}.btn-danger:hover{color:var(--accent-red);border-color:var(--accent-red);background:#dc26260f}.btn-danger:focus-visible{outline:2px solid var(--accent-red);outline-offset:2px}.pattern-table-wrap{border:1px solid var(--border-dark);border-radius:var(--radius-lg);overflow-x:auto}.pattern-table{border-collapse:collapse;width:100%;font-size:var(--font-base)}.pattern-table th{text-align:left;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);background:var(--bg-dark);border-bottom:1px solid var(--border-dark);z-index:5;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px;font-weight:600;position:sticky;top:0}.pattern-table th:hover{color:var(--text-primary)}.pattern-table th[aria-sort]{cursor:pointer}.pattern-table td{border-bottom:1px solid var(--bg-hover);color:var(--text-primary);padding:10px 14px}.pattern-table tbody tr{transition:background var(--duration-fast) var(--ease-standard)}.pattern-table tbody tr:hover{background:var(--bg-hover)}.pattern-table .cell-mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:var(--font-sm)}.pattern-table .cell-right{text-align:right}.pattern-card{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 1px 3px #0000000a}.pattern-card--elevated{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--glass-shadow);transition:box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.pattern-card--elevated:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-1px)}.pattern-tabs{background:var(--bg-panel);border-radius:var(--radius-md);gap:2px;width:fit-content;padding:3px;display:flex}.pattern-tab{border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;padding:6px 16px;font-weight:600}.pattern-tab:hover{color:var(--text-primary)}.pattern-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.pattern-tab:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.pattern-input{border:1px solid var(--border-dark);border-radius:var(--radius-md);font-size:var(--font-md);color:var(--text-primary);background:var(--bg-card);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none;height:36px;padding:8px 12px}.pattern-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2563eb1a}.pattern-input::placeholder{color:var(--text-muted)}.pattern-empty{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;padding:48px 32px;display:flex}.pattern-empty__icon{width:48px;height:48px;color:var(--text-muted);opacity:.5}.pattern-empty__title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.pattern-empty__description{font-size:var(--font-base);color:var(--text-muted);max-width:320px;margin:0;line-height:1.5}.pattern-error{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;max-width:400px;margin:0 auto;padding:48px 32px;display:flex}.pattern-error__icon{color:var(--accent-red);margin-bottom:var(--space-2)}.pattern-error__title{font-size:var(--font-lg);color:var(--text-primary);margin:0;font-weight:600}.pattern-error__message{font-size:var(--font-md);color:var(--text-secondary);margin:0;line-height:1.5}.pattern-page-header{padding:var(--space-4) var(--space-6);background:var(--bg-panel);z-index:var(--z-sticky);position:sticky;top:0}.pattern-page-title{font-size:var(--font-xl);color:var(--text-primary);letter-spacing:-.3px;margin:0;font-weight:700}.pattern-page-subtitle{font-size:var(--font-base);color:var(--text-muted);margin:2px 0 0}.pattern-section-title{font-size:var(--font-md);color:var(--text-primary);margin:0 0 var(--space-3) 0;font-weight:600}.pattern-inline-error{color:var(--accent-red);font-size:var(--font-sm);animation:fadeSlideIn var(--duration-fast) var(--ease-standard);align-items:center;gap:4px;margin-top:4px;line-height:1.4;display:flex}.pattern-inline-error svg{flex-shrink:0;width:14px;height:14px}.pattern-input--error{border-color:var(--accent-red)}.pattern-input--error:focus{border-color:var(--accent-red);box-shadow:0 0 0 3px #dc26261a}.search-icon-btn{background:var(--glass-bg);width:40px;height:40px;-webkit-backdrop-filter:blur(var(--glass-blur-lg));border:1px solid var(--border-dark);color:var(--accent-blue);cursor:pointer;box-shadow:var(--glass-shadow), var(--glass-inner-highlight);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);animation:fadeSlideIn var(--duration-normal) var(--ease-emphasized) both;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.search-icon-btn:hover:not(:disabled){background:var(--accent-blue);-webkit-backdrop-filter:none;border-color:var(--accent-blue);color:var(--on-accent);box-shadow:var(--glass-shadow-hover), var(--glass-inner-highlight)}.search-icon-btn:active:not(:disabled){background:var(--glass-bg-active)}.search-icon-btn:disabled{opacity:.4;cursor:not-allowed}.search-icon-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.search-icon-btn svg{flex-shrink:0;width:20px;min-width:20px;height:20px;min-height:20px}@media (max-width:768px){.search-icon-btn{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.search-icon-btn{animation:none!important}}.page-view{flex-direction:column;min-height:100%;display:flex}.page-view__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-dark);flex-shrink:0;display:flex}.page-view__title{font-size:var(--font-xl);color:var(--text-primary);letter-spacing:-.01em;margin:0;font-weight:600}.page-view__subtitle{font-size:var(--font-sm);color:var(--text-muted);margin:2px 0 0}.page-view__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.page-view__body{min-height:0;padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex}.page-view--map .page-view__body{gap:0;padding:0}.page-view--map .page-view__body>*{flex:1;min-height:0}.page-layout{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.page-layout__sidebar{height:100%;transition:width var(--duration-slow) var(--ease-emphasized), min-width var(--duration-slow) var(--ease-emphasized);flex-shrink:0}.page-layout__main{flex-direction:column;flex:1;display:flex;overflow-y:auto}@media (max-width:768px){.page-layout__sidebar{display:none}.page-layout__main{padding-bottom:var(--mobile-nav-inset,80px)}}@media (min-width:769px){.page-layout--glass-rail{--rail-w:var(--rail-w-expanded)}.page-layout--glass-rail:has(.page-layout__sidebar.collapsed){--rail-w:var(--rail-w-collapsed)}.page-layout--glass-rail.page-layout{background:0 0}.page-layout--glass-rail .page-layout__sidebar{width:var(--rail-w);z-index:var(--z-sidebar);transition:width var(--duration-slow) var(--ease-emphasized);background:0 0;border-right:none;flex-shrink:0;position:relative}.page-layout--glass-rail .collapsible-panel{background:var(--bezel-bg);-webkit-backdrop-filter:blur(var(--bezel-blur)) saturate(var(--bezel-saturate));box-shadow:var(--bezel-rim), var(--bezel-lift);border-right:none}.page-layout--glass-rail .page-layout__main{background:0 0}.page-layout--glass-rail .page-layout__well{margin:var(--moat);padding:var(--space-6);background:var(--plate-bg);border:1px solid var(--border-dark);border-radius:var(--plate-radius);box-shadow:var(--plate-recess), var(--glass-shadow);gap:var(--space-5);flex-direction:column;display:flex}.page-layout--glass-rail .page-layout__well--map{flex:1;align-items:stretch;gap:0;min-height:0;padding:0;overflow:hidden}.page-layout--glass-rail .page-layout__well--map>*{flex:1;min-height:0}.page-layout--glass-rail .page-layout__well--map .maplibregl-ctrl-bottom-left,.page-layout--glass-rail .page-layout__well--map .maplibregl-ctrl-bottom-right{margin-bottom:var(--space-2)}.page-layout--glass-rail .page-layout__well--map .maplibregl-ctrl-bottom-left{margin-left:var(--space-2)}.page-layout--glass-rail .page-layout__well--map .maplibregl-ctrl-bottom-right{margin-right:var(--space-2)}.page-layout--glass-rail .page-layout__main>:not(.pattern-page-header):not(.page-layout__well){margin-left:var(--space-6)}.page-layout--glass-rail .pattern-page-header{padding-left:var(--space-6);background:var(--bezel-bg);-webkit-backdrop-filter:blur(var(--bezel-blur)) saturate(var(--bezel-saturate));box-shadow:inset 0 1px 0 var(--bezel-sheen);text-align:right;border-bottom:none;position:sticky}.page-layout--glass-rail .pattern-page-header:after{content:"";width:var(--bezel-fillet);height:var(--bezel-fillet);background:var(--bezel-bg);-webkit-backdrop-filter:blur(var(--bezel-blur)) saturate(var(--bezel-saturate));border-bottom-right-radius:var(--bezel-fillet);pointer-events:none;position:absolute;top:100%;left:0}}.metric-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.metric-card{background:var(--bg-dark);border:1px solid var(--border-dark);border-radius:var(--radius-2xl);cursor:default;transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);flex-direction:column;gap:4px;padding:20px;display:flex}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.metric-card__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:1.75rem;font-weight:700}.metric-card__label{font-size:var(--font-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-card__delta{color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:500}.metric-card__delta--up{color:var(--accent-green)}.metric-card__delta--down{color:var(--accent-red)}.metric-card--rolling .metric-card__value{color:var(--text-secondary);opacity:.72}.metric-cards .metric-card{opacity:0;animation:stagger-in var(--duration-slow) var(--ease-emphasized) forwards;animation-delay:calc(var(--stagger-i,0) * 60ms + .15s)}@media (max-width:768px){.metric-cards{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.metric-cards .metric-card{opacity:1;animation:none}.metric-card:hover{transform:none}}:root[data-theme=dark] body[data-workspace=terrain]{--bg-card:#1c1f26;--bg-panel:#191c22}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body[data-workspace=terrain]{--bg-card:#1c1f26;--bg-panel:#191c22}}body[data-workspace=terrain] .metric-card,body[data-workspace=terrain] .stats-v2__section,body[data-workspace=terrain] .summary-chart,body[data-workspace=terrain] .summary-metrics__card,body[data-workspace=terrain] .statistics-panel,body[data-workspace=terrain] .statistics-dashboard__filters,body[data-workspace=terrain] .statistics-dashboard__station-search,body[data-workspace=terrain] .statistics-dashboard__map-section,body[data-workspace=terrain] .statistics-dashboard__table-section,body[data-workspace=terrain] .network-table-wrap,body[data-workspace=terrain] .observations-filters,body[data-workspace=terrain] .observations-table-container,body[data-workspace=terrain] .observations-graph-container,body[data-workspace=terrain] .observations-empty,body[data-workspace=terrain] .pill-card,body[data-workspace=terrain] .card{box-shadow:0 8px 30px #00000029,0 1px 3px #0000001a}body[data-workspace=terrain] .network-table-wrap{background:var(--bg-card)}*{box-sizing:border-box;margin:0;padding:0}:root{color:var(--text-primary,var(--bg-dark));background:var(--bg-dark,#0a0f1a);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--mobile-nav-height:68px;--mobile-nav-inset:calc(var(--mobile-nav-height) + var(--safe-bottom) + 12px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5}.touch-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-y:auto}@media (max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{font-size:16px}}a{color:var(--accent-blue,var(--chart-blue));transition:color var(--transition-normal,.2s ease);font-weight:500;text-decoration:none}a:hover{color:var(--accent-cyan,#06b6d4)}body{background:var(--bg-dark,#0a0f1a);min-width:320px;min-height:100vh;color:var(--text-primary,var(--bg-dark));margin:0;overflow:hidden}#root{width:100vw;height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.5px;font-weight:600}h1{font-size:3.2em;line-height:1.1}button{box-sizing:border-box;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible{outline:2px solid var(--accent-blue,var(--chart-blue));outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}::selection{color:var(--text-primary,var(--bg-dark));background:#3b82f64d}::selection{color:var(--text-primary,var(--bg-dark));background:#3b82f64d}:focus-visible{outline:2px solid var(--accent-blue,var(--chart-blue));outline-offset:2px}@tailwind base;@tailwind components;@tailwind utilities;:root{--wl-cloud:#4c9beb;--wl-sun-from:#fcbb04;--wl-sun-to:#fffc00;--wl-message:var(--text-muted,#6b7280)}:root[data-theme=dark]{--wl-cloud:#5580aa;--wl-sun-from:#6f9fca;--wl-sun-to:#a8cdee;--wl-message:var(--text-muted,#9ca3af)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--wl-cloud:#5580aa;--wl-sun-from:#6f9fca;--wl-sun-to:#a8cdee;--wl-message:var(--text-muted,#9ca3af)}}.weather-loader{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.wl-scene{width:250px;height:250px;padding:15px;position:relative}.wl-sun{background:linear-gradient(to right, var(--wl-sun-from), var(--wl-sun-to));border-radius:60px;width:120px;height:120px;position:absolute;top:65px;left:65px}.wl-sunshine{animation:2s infinite wl-sunshines}@keyframes wl-sunshines{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.wl-cloud{width:250px;font-size:0;position:absolute}.wl-front{z-index:11;animation:8s ease-in-out infinite wl-clouds;top:118px;left:25px}.wl-back{z-index:12;animation:12s ease-in-out infinite wl-clouds;top:55px;left:120px}.wl-right-front{background-color:var(--wl-cloud);z-index:5;border-radius:50% 50% 50% 0%;width:45px;height:45px;margin-left:-25px;display:inline-block}.wl-left-front{background-color:var(--wl-cloud);z-index:5;border-radius:50% 50% 0%;width:65px;height:65px;display:inline-block}.wl-right-back{background-color:var(--wl-cloud);z-index:5;border-radius:50% 50% 50% 0%;width:50px;height:50px;margin-left:-20px;display:inline-block}.wl-left-back{background-color:var(--wl-cloud);z-index:5;border-radius:50% 50% 0%;width:30px;height:30px;display:inline-block}@keyframes wl-clouds{0%{transform:translate(15px)}50%{transform:translate(0)}to{transform:translate(15px)}}.wl-message{color:var(--wl-message);font-size:var(--font-lg,1.125rem);letter-spacing:.2px;margin:0;font-weight:500}@media (prefers-reduced-motion:reduce){.wl-sunshine{display:none}.wl-front,.wl-back{animation:none}}.error-toast{top:max(20px, calc(var(--safe-top,0px) + 12px));right:max(20px, var(--safe-right,0px));background:var(--bg-card);border-radius:var(--radius-md);z-index:10000;align-items:flex-start;gap:12px;min-width:320px;max-width:500px;padding:16px;animation:.3s ease-out slideIn;display:flex;position:fixed;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-toast--error{border-left:4px solid var(--accent-red)}.error-toast--warning{border-left:4px solid var(--color-warning)}.error-toast--info{border-left:4px solid var(--chart-blue)}.error-toast__icon{font-size:var(--font-xl);flex-shrink:0;line-height:1}.error-toast--error .error-toast__icon{color:var(--accent-red)}.error-toast--warning .error-toast__icon{color:var(--color-warning)}.error-toast--info .error-toast__icon{color:var(--chart-blue)}.error-toast__content{flex-direction:column;flex:1;gap:8px;display:flex}.error-toast__message{font-size:var(--font-md);color:var(--text-primary);margin:0;line-height:1.5}.error-toast__action{background:var(--chart-blue);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;border:none;align-self:flex-start;padding:6px 12px;font-weight:500;transition:background .2s}.error-toast__action:hover{background:var(--accent-blue)}.error-toast__action:active{background:var(--accent-blue-hover)}.error-toast__close{font-size:var(--font-2xl);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;line-height:1;transition:color .2s;display:flex}.error-toast__close:hover{color:var(--text-primary)}@media (max-width:640px){.error-toast{left:max(20px, var(--safe-left,0px));right:max(20px, var(--safe-right,0px));min-width:auto;max-width:none}}.login-page{background:linear-gradient(135deg,#68afd7 0%,#f0f4ff 50%,#ffa347 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}@media (prefers-color-scheme:dark){.login-page{background:linear-gradient(135deg,#0a0f1a 0%,#0d1b2a 50%,#1a2a3f 100%)}}.login-vanta-bg{z-index:0;position:fixed;inset:0}.login-form{z-index:1;-webkit-backdrop-filter:blur(40px)saturate(1.4);background:#ffffffb8;border:1px solid #ffffff80;border-radius:20px;flex-direction:column;gap:20px;width:100%;max-width:360px;padding:40px 32px;display:flex;position:relative;box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffffb3}@media (prefers-color-scheme:dark){.login-form{background:#0f172ac7;border-color:#ffffff1f;box-shadow:0 8px 40px #00000080,inset 0 1px #ffffff0f}}.login-wordmark{text-align:center;margin-bottom:12px}.login-logo{color:#4b5563;margin:0 auto 12px;animation:1.2s cubic-bezier(.2,0,0,1) forwards login-logo-enter,20s ease-in-out 1.2s infinite login-logo-drift;display:block}@keyframes login-logo-enter{0%{opacity:0;transform:rotate(-180deg)scale(.7)}60%{opacity:1;transform:rotate(15deg)scale(1.05)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes login-logo-drift{0%,to{transform:rotate(0)}50%{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){.login-logo{color:#9ca3af}}.login-prefix{letter-spacing:.15em;text-transform:uppercase;color:#4b5563;margin-bottom:4px;font-size:.6875rem;font-weight:600;display:block}@media (prefers-color-scheme:dark){.login-prefix{color:#6b7280}}.login-title{color:#111827;margin:0;font-size:1.5rem;font-weight:600}@media (prefers-color-scheme:dark){.login-title{color:#f9fafb}}.login-field{padding-top:20px;position:relative}.login-field .login-input{color:#111827;background:0 0;border:none;border-bottom:1px solid #9ca3af;outline:none;width:100%;padding:10px 4px;font-size:.9375rem;display:block}@media (prefers-color-scheme:dark){.login-field .login-input{color:#f9fafb;border-bottom-color:#4b5563}}.login-field label{color:#4b5563;pointer-events:none;font-size:.9375rem;font-weight:500;transition:all .2s;position:absolute;top:30px;left:4px}@media (prefers-color-scheme:dark){.login-field label{color:#9ca3af}}.login-field .login-input:focus~label,.login-field .login-input:valid~label{color:#2563eb;font-size:.75rem;top:0}.login-bar{width:100%;display:block;position:relative}.login-bar:before,.login-bar:after{content:"";background:#2563eb;width:0;height:2px;transition:all .2s;position:absolute;bottom:0}.login-bar:before{left:50%}.login-bar:after{right:50%}.login-field .login-input:focus~.login-bar:before,.login-field .login-input:focus~.login-bar:after{width:50%}.login-field .login-input[aria-invalid=true]{border-bottom-color:#ef4444}.login-field .login-input[aria-invalid=true]~label{color:#ef4444}.login-field .login-input[aria-invalid=true]~.login-bar:before,.login-field .login-input[aria-invalid=true]~.login-bar:after{background:#ef4444}.login-error{color:#ef4444;margin:4px 0 0;font-size:.8125rem}.login-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:100px;width:100%;margin-top:8px;padding:12px 24px;font-size:.9375rem;font-weight:500;transition:background .2s,box-shadow .2s;box-shadow:0 0 16px #2563eb66}.login-submit:hover:not(:disabled){background:#1d4ed8;box-shadow:0 0 24px #2563eb99}.login-submit:focus-visible{outline-offset:3px;outline:2px solid #2563eb}.login-submit:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}@media (prefers-reduced-motion:reduce){.login-vanta-bg{display:none}.login-logo{animation:none}}.icon-spinner{transform-origin:50%;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.icon-spinner{animation-duration:2s}}.error-boundary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error-boundary__container{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 40px #0000000d}.error-boundary__icon{margin-bottom:20px;font-size:64px}.error-boundary__title{font-size:var(--font-2xl);color:var(--text-primary);margin:0 0 16px;font-weight:700}.error-boundary__message{font-size:var(--font-lg);color:var(--text-muted);margin:0 0 24px;line-height:1.6}.error-boundary__context{border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);text-align:left;background:#fef3c7;margin:16px 0 24px;padding:12px 16px}.error-boundary__context-item{font-size:var(--font-md);color:#92400e;margin:4px 0}.error-boundary__context-item strong{margin-right:8px;font-weight:600}.error-boundary__details{text-align:left;background:var(--bg-dark);border:1px solid var(--bg-hover);border-radius:var(--radius-md);margin:24px 0;padding:16px}.error-boundary__details summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;margin-bottom:12px;font-weight:600}.error-boundary__details summary:hover{color:var(--text-primary)}.error-boundary__details[open] summary{margin-bottom:12px}.error-boundary__error-text{background:var(--bg-card);border:1px solid var(--bg-hover);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--accent-red);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;line-height:1.5;overflow-x:auto}.error-boundary__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.error-boundary__button{border-radius:var(--radius-md);font-size:var(--font-md);cursor:pointer;border:none;padding:12px 24px;font-weight:600;transition:all .2s}.error-boundary__button--primary{background:var(--chart-blue);color:#fff}.error-boundary__button--primary:hover{background:var(--accent-blue);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.error-boundary__button--primary:active{background:var(--accent-blue-hover);transform:translateY(0)}.error-boundary__button--secondary{background:var(--bg-panel);color:var(--text-secondary)}.error-boundary__button--secondary:hover{background:var(--bg-hover);transform:translateY(-1px)}.error-boundary__button--secondary:active{background:var(--border-dark);transform:translateY(0)}@media (max-width:640px){.error-boundary__container{padding:24px}.error-boundary__title{font-size:var(--font-2xl)}.error-boundary__message{font-size:var(--font-md)}.error-boundary__actions{flex-direction:column}.error-boundary__button{width:100%}}:root{--glass-saturate:saturate(180%);--glass-bg:#ffffff8c;--glass-bg-hover:#ffffffb3;--glass-bg-active:#ffffffd1;--glass-bg-elevated:#fff9;--glass-bg-overlay:#ffffffb8;--glass-blur-sm:8px;--glass-blur-md:12px;--glass-blur-lg:20px;--glass-blur-xl:40px;--glass-blur-2xl:60px;--glass-border:1.5px solid #ffffffb3;--glass-border-accent:#2563eb59;--glass-border-subtle:#00000014;--glass-shadow:0 2px 12px #00000014, 0 0 0 1px #0000000a, inset 0 1px 0 #fffc;--glass-shadow-hover:0 4px 20px #0000001f, 0 0 0 1px #0000000f, inset 0 1px 0 #ffffffe6;--glass-shadow-elevated:0 8px 32px #00000024, 0 0 0 1px #0000000d, inset 0 1px 0 #fffc;--glass-shadow-overlay:0 16px 48px #0000002e, 0 0 0 1px #0000000f, inset 0 1px 0 #ffffffe6;--glass-inner-highlight:inset 0 1px 0 #fffc, inset 0 -1px 0 #00000005;--glass-clear-bg:#0d1a2bb8;--glass-clear-rim:#ffffff38;--glass-clear-bg-opaque:#0d1a2bf2;--glass-clear-rim-contrast:#cbd5e1;--lg-refract-scale:-112;--lg-refract-chroma:6;--lg-refract-border:.07;--lg-refract-map-blur:12px;--lg-refract-blur:3px;--lg-edge-thickness:1px;--lg-edge-light:#ffffff8c;--lg-edge-dome:#ffffff1a;--glass-card-bg:#ffffff17;--glass-card-blur:41px;--glass-card-border:#ffffff4d;--glass-card-shadow:0 8px 32px #0000001a, inset 0 1px 0 #fff6;--glass-card-radius:20px;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--duration-slower:.5s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--bezel-radius-outer:16px;--bezel-fillet:10px;--bezel-blur:24px;--bezel-saturate:180%;--bezel-bg:color-mix(in srgb, #ffffffd1, var(--map-tint) 12%);--bezel-rim:inset 0 0 0 .5px #ffffff8c;--bezel-lift:0 10px 40px #00000024;--bezel-sheen:#ffffff24;--nav-tick-color:color-mix(in srgb, var(--accent-blue), var(--map-tint) calc(var(--map-tint-strength) * 45%));--nav-tick-glow:4px;--terrain-blur:28px;--terrain-saturate:115%;--terrain-dim:.96;--terrain-scrim:rgba(255, 255, 255, clamp(.08, calc((.5 - var(--map-luma)) * .55 + .08), .45))}:root[data-theme=dark]{--glass-bg:#3c3c435c;--glass-bg-hover:#3c3c437a;--glass-bg-active:#3c3c438f;--glass-bg-elevated:#2c2c2ea6;--glass-bg-overlay:#1c1c1eb8;--glass-border:#ffffff2e;--glass-border-accent:#60a5fa66;--glass-border-subtle:#ffffff14;--glass-shadow:0 2px 8px #0006, inset 0 1px 0 #ffffff1f;--glass-shadow-hover:0 4px 16px #00000080, inset 0 1px 0 #ffffff26;--glass-shadow-elevated:0 8px 32px #0009, inset 0 1px 0 #ffffff1f;--glass-shadow-overlay:0 16px 48px #000000b3, inset 0 1px 0 #ffffff1a;--glass-inner-highlight:inset 0 1px 0 #ffffff1f;--glass-card-bg:#2c2c2e80;--glass-card-border:#ffffff26;--glass-card-shadow:0 8px 32px #00000080, inset 0 1px 0 #ffffff1a;--bezel-bg:color-mix(in srgb, #14161ccc, var(--map-tint) 16%);--bezel-rim:inset 0 0 0 .5px #ffffff1a;--bezel-lift:0 10px 40px #0000008c;--bezel-sheen:#ffffff0f;--nav-tick-glow:9px;--lg-edge-light:#ffffff24;--lg-edge-dome:#ffffff0d;--terrain-dim:.55;--terrain-scrim:rgba(0, 0, 0, clamp(.1, calc((var(--map-luma) - .5) * .55 + .1), .5))}:root[data-theme=dark] .grounded-glass{border:1px solid var(--glass-border-subtle);background:#2c2c2ecc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--glass-bg:#3c3c435c;--glass-bg-hover:#3c3c437a;--glass-bg-active:#3c3c438f;--glass-bg-elevated:#2c2c2ea6;--glass-bg-overlay:#1c1c1eb8;--glass-border:#ffffff2e;--glass-border-accent:#60a5fa66;--glass-border-subtle:#ffffff14;--glass-shadow:0 2px 8px #0006, inset 0 1px 0 #ffffff1f;--glass-shadow-hover:0 4px 16px #00000080, inset 0 1px 0 #ffffff26;--glass-shadow-elevated:0 8px 32px #0009, inset 0 1px 0 #ffffff1f;--glass-shadow-overlay:0 16px 48px #000000b3, inset 0 1px 0 #ffffff1a;--glass-inner-highlight:inset 0 1px 0 #ffffff1f;--glass-card-bg:#2c2c2e80;--glass-card-border:#ffffff26;--glass-card-shadow:0 8px 32px #00000080, inset 0 1px 0 #ffffff1a;--bezel-bg:color-mix(in srgb, #14161ccc, var(--map-tint) 16%);--bezel-rim:inset 0 0 0 .5px #ffffff1a;--bezel-lift:0 10px 40px #0000008c;--bezel-sheen:#ffffff0f;--nav-tick-glow:9px;--lg-edge-light:#ffffff24;--lg-edge-dome:#ffffff0d;--terrain-dim:.55;--terrain-scrim:rgba(0, 0, 0, clamp(.1, calc((var(--map-luma) - .5) * .55 + .1), .5))}:root:not([data-theme=light]) .grounded-glass{border:1px solid var(--glass-border-subtle);background:#2c2c2ecc}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-lg)) var(--glass-saturate);box-shadow:var(--glass-shadow);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1.5px solid #ffffffb3}.glass:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover)}.glass:active{background:var(--glass-bg-active)}.glass-accent{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-lg)) var(--glass-saturate);border:1px solid var(--glass-border-accent);box-shadow:var(--glass-shadow), var(--glass-inner-highlight);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.glass-accent:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover), var(--glass-inner-highlight)}.glass-accent:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px #2563eb1f, var(--glass-shadow), var(--glass-inner-highlight);background:var(--glass-bg-hover)}.glass-elevated{background:var(--glass-bg-elevated);-webkit-backdrop-filter:blur(var(--glass-blur-xl)) var(--glass-saturate);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-elevated), var(--glass-inner-highlight);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.glass-elevated:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover), var(--glass-inner-highlight)}.glass-overlay{background:var(--glass-bg-overlay);-webkit-backdrop-filter:blur(var(--glass-blur-2xl)) var(--glass-saturate);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-overlay), var(--glass-inner-highlight)}.glass-card{background:var(--glass-card-bg);-webkit-backdrop-filter:blur(var(--glass-card-blur)) var(--glass-saturate);border:1px solid var(--glass-card-border);border-radius:var(--glass-card-radius);box-shadow:var(--glass-card-shadow);transition:box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.glass-card:hover{box-shadow:var(--glass-shadow-elevated), inset 0 1px 0 #ffffff80}.grounded-glass{-webkit-backdrop-filter:blur(4px) var(--glass-saturate);border:1px solid var(--glass-border-subtle);background:#ffffffeb}.glass-clear{background:var(--glass-clear-bg);-webkit-backdrop-filter:blur(var(--glass-blur-md)) var(--glass-saturate);border:1px solid var(--glass-clear-rim)}.method-content{opacity:0;transition:opacity var(--duration-normal) var(--ease-emphasized)}.method-content.active{opacity:1}.method-content.exiting{opacity:0;transition-timing-function:var(--ease-exit)}.skel{background:linear-gradient(90deg, var(--muted,#f4f4f5) 25%, #e8e8ec 37%, var(--muted,#f4f4f5) 63%);background-size:800px 100%;border-radius:4px;animation:1.5s linear infinite shimmer}.search-bar-expanding{animation:expandFromCircle var(--duration-slower) var(--ease-standard) both}.search-bar-expanded{opacity:1;transform:scale(1)}.search-bar-collapsing{opacity:0;transition:opacity var(--duration-normal) var(--ease-exit), transform var(--duration-normal) var(--ease-exit);transform:scale(.3)}.search-bar-collapsed{opacity:0;pointer-events:none;transform:scale(.3)}.mini-icon{opacity:1;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);transform:scale(1)}.mini-icon.hidden{opacity:0;pointer-events:none;transform:scale(.6)}.filter-menu-stagger{opacity:0;transition:opacity var(--duration-normal) var(--ease-exit), transform var(--duration-normal) var(--ease-exit);pointer-events:none;transform:translateY(-4px)scale(.97)}.filter-menu-stagger.open{opacity:1;transition-timing-function:var(--ease-emphasized);pointer-events:auto;transform:translateY(0)scale(1)}.fi-anim{opacity:0;transition:opacity var(--duration-normal) var(--ease-emphasized), transform var(--duration-normal) var(--ease-emphasized);transform:translateY(-4px)}.filter-menu-stagger.open .fi-anim{opacity:1;transform:translateY(0)}.error-slide-down{animation:slideDown var(--duration-slow) var(--ease-standard) both}.glass-popup .maplibregl-popup-content{animation:popup-enter var(--duration-fast) var(--ease-emphasized) both}.search-page-panel-right.visible{animation:slide-in-right var(--duration-slow) var(--ease-emphasized) both}.table-row{transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard)}.table-row:hover{background:color-mix(in srgb, var(--row-color,#2563eb) 8%, transparent)}.table-row.highlighted{animation:row-pulse var(--duration-slower) var(--ease-standard);background:#2563eb14}.glass:focus-visible,.glass-accent:focus-visible,.glass-elevated:focus-visible,.grounded-glass:focus-visible{outline:2px solid var(--blue,#2563eb);outline-offset:2px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{background:#fffffff2}.glass-clear{background:var(--glass-clear-bg-opaque);border-color:var(--glass-clear-rim-contrast)}:root[data-theme=dark] .glass,:root[data-theme=dark] .glass-accent,:root[data-theme=dark] .glass-elevated,:root[data-theme=dark] .glass-overlay,:root[data-theme=dark] .glass-card,:root[data-theme=dark] .grounded-glass{background:#2c2c2ef2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass,:root:not([data-theme=light]) .glass-accent,:root:not([data-theme=light]) .glass-elevated,:root:not([data-theme=light]) .glass-overlay,:root:not([data-theme=light]) .glass-card,:root:not([data-theme=light]) .grounded-glass{background:#2c2c2ef2}}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff2}:root[data-theme=dark] .glass,:root[data-theme=dark] .glass-accent,:root[data-theme=dark] .glass-elevated,:root[data-theme=dark] .glass-overlay,:root[data-theme=dark] .glass-card,:root[data-theme=dark] .grounded-glass{background:#2c2c2ef2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .glass,:root:not([data-theme=light]) .glass-accent,:root:not([data-theme=light]) .glass-elevated,:root:not([data-theme=light]) .glass-overlay,:root:not([data-theme=light]) .glass-card,:root:not([data-theme=light]) .grounded-glass{background:#2c2c2ef2}}.glass-clear{background:var(--glass-clear-bg-opaque);border-color:var(--glass-clear-rim-contrast);-webkit-backdrop-filter:none;backdrop-filter:none}}:root[data-calm-mode]{--map-tint:transparent;--map-tint-strength:0;--env-temperature:0;--terrain-scrim:transparent;--lg-edge-light:transparent;--lg-edge-dome:transparent}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--map-tint:transparent;--map-tint-strength:0;--terrain-scrim:transparent;--bezel-bg:var(--chrome-surface)}}@media (prefers-reduced-motion:reduce){.stagger,.reveal{opacity:1;transform:none;animation:none!important}.glass,.glass-accent,.glass-elevated,.glass-overlay,.glass-card,.grounded-glass{transition:none!important;animation:none!important;transform:none!important}.skel{background:var(--muted,#f4f4f5);animation:none}.method-content,.method-content.active,.method-content.exiting,.search-bar-expanding,.search-bar-collapsing{opacity:1;transform:none;transition:none!important;animation:none!important}.search-bar-collapsed{opacity:0;transform:scale(.3);transition:none!important;animation:none!important}.mini-icon,.filter-menu-stagger,.filter-menu-stagger.open{transition:none!important}.fi-anim{opacity:1;transform:none;transition:none!important}.error-slide-down,.glass-popup .maplibregl-popup-content{opacity:1;transform:none;animation:none!important}.search-page-panel-right.visible{transform:none;animation:none!important}.table-row{transition:none!important}.table-row.highlighted{background:#2563eb14;animation:none!important}}@media (prefers-reduced-motion:no-preference){:root{transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard)}.glass,.glass-elevated,.glass-overlay,.observations-table td,.observations-table th,.method-dropdown-trigger,.method-dropdown-menu,.search-clear-btn,.search-bar-container,.station-search-bar,.type-selector-btn,.filter-btn,.search-btn-inline,.filter-pill,.filter-pill-inline,.obs-type-pill,.scope-pill,.location-card,.location-card-table tbody tr{transition:background-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard)}}.notification-toast{background:var(--bg-card);border-radius:var(--radius-md);width:360px;min-width:320px;max-width:440px;animation:toast-enter var(--duration-normal) var(--ease-emphasized) forwards;cursor:default;border-left:3px solid #0000;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001f,0 1px 3px #0000000f}.notification-toast--exiting{animation:toast-exit var(--duration-fast) var(--ease-exit) forwards}.notification-toast--success{border-left-color:var(--accent-green)}.notification-toast--info{border-left-color:var(--accent-blue)}.notification-toast--warning{border-left-color:var(--color-warning,#d97706)}.notification-toast--error{border-left-color:var(--accent-red)}.notification-toast--loading{border-left-color:var(--accent-blue)}.notification-toast__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.notification-toast--success .notification-toast__icon{color:var(--accent-green)}.notification-toast--info .notification-toast__icon{color:var(--accent-blue)}.notification-toast--warning .notification-toast__icon{color:var(--color-warning,#d97706)}.notification-toast--error .notification-toast__icon{color:var(--accent-red)}.notification-toast--loading .notification-toast__icon{color:var(--accent-blue)}.notification-toast__content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notification-toast__title{font-size:var(--font-sm);color:var(--text-primary);margin:0;font-weight:600;line-height:1.4}.notification-toast__message{font-size:var(--font-sm);color:var(--text-secondary);margin:0;line-height:1.5}.notification-toast__meta{align-items:center;gap:8px;margin-top:4px;display:flex}.notification-toast__code{color:var(--text-muted);background:var(--bg-panel);border-radius:var(--radius-sm);padding:1px 5px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px}.notification-toast__copy-btn{border:1px solid var(--border-dark);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;gap:3px;padding:2px 6px;font-size:11px;display:inline-flex}.notification-toast__copy-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.notification-toast__copy-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notification-toast__actions{gap:8px;margin-top:8px;display:flex}.notification-toast__action-btn{background:var(--accent-blue);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:5px 12px;font-weight:500}.notification-toast__action-btn:hover{background:var(--accent-blue-hover,#1d4ed8)}.notification-toast__action-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notification-toast__close{width:28px;min-width:44px;height:28px;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-7px -8px -7px 0;padding:0;display:flex}.notification-toast__close:hover{color:var(--text-primary);background:var(--bg-hover)}.notification-toast__close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notification-toast__progress{opacity:.3;border-radius:0 0 0 var(--radius-md);background:currentColor;height:2px;transition:width .1s linear;position:absolute;bottom:0;left:0}.notification-toast--success .notification-toast__progress{color:var(--accent-green)}.notification-toast--info .notification-toast__progress{color:var(--accent-blue)}.notification-toast--warning .notification-toast__progress{color:var(--color-warning,#d97706)}@keyframes toast-enter{0%{opacity:0;transform:translate(calc(100% + 20px))}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 20px))}}@media (max-width:480px){.notification-toast{width:auto;min-width:0;max-width:none}}.system-banner{z-index:9999;min-height:40px;padding:calc(8px + var(--safe-top,0px)) max(16px, var(--safe-right,0px)) 8px max(16px, var(--safe-left,0px));font-size:var(--font-sm);animation:banner-enter var(--duration-normal) var(--ease-emphasized);justify-content:center;align-items:center;gap:10px;line-height:1.4;display:flex;position:fixed;top:0;left:0;right:0}.system-banner--info{background:color-mix(in srgb, var(--accent-blue) 10%, var(--bg-card));border-bottom:1px solid color-mix(in srgb, var(--accent-blue) 30%, transparent);color:var(--text-primary)}.system-banner--warning{background:color-mix(in srgb, var(--color-warning,#d97706) 10%, var(--bg-card));border-bottom:1px solid color-mix(in srgb, var(--color-warning,#d97706) 30%, transparent);color:var(--text-primary)}.system-banner--error{background:color-mix(in srgb, var(--accent-red) 10%, var(--bg-card));border-bottom:1px solid color-mix(in srgb, var(--accent-red) 30%, transparent);color:var(--text-primary)}.system-banner__icon{flex-shrink:0;width:16px;height:16px}.system-banner--info .system-banner__icon{color:var(--accent-blue)}.system-banner--warning .system-banner__icon{color:var(--color-warning,#d97706)}.system-banner--error .system-banner__icon{color:var(--accent-red)}.system-banner__message{text-align:center;flex:1}.system-banner__action{border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;padding:4px 10px;font-weight:500}.system-banner__action:hover{background:var(--bg-hover)}.system-banner__action:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.system-banner__close{width:28px;min-width:44px;height:28px;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.system-banner__close:hover{color:var(--text-primary);background:var(--bg-hover)}.system-banner__close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@keyframes banner-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.has-system-banner{padding-top:40px}.error-dialog-overlay{z-index:10001;animation:overlay-fade-in var(--duration-fast) var(--ease-standard);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.error-dialog{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:440px;animation:popup-enter var(--duration-normal) var(--ease-emphasized);margin:16px;padding:24px;position:relative;box-shadow:0 20px 60px #0003,0 4px 12px #0000001a}.error-dialog__icon{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-red) 10%, var(--bg-panel));width:40px;height:40px;color:var(--accent-red);justify-content:center;align-items:center;margin-bottom:16px;display:flex}.error-dialog__title{font-size:var(--font-lg);color:var(--text-primary);margin:0 0 8px;font-weight:600;line-height:1.3}.error-dialog__message{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 16px;line-height:1.6}.error-dialog__meta{align-items:center;gap:8px;margin-bottom:20px;display:flex}.error-dialog__code{color:var(--text-muted);background:var(--bg-panel);border-radius:var(--radius-sm);padding:2px 6px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px}.error-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.error-dialog__btn{border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast);padding:8px 16px;font-weight:500}.error-dialog__btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.error-dialog__btn--primary{background:var(--accent-red);color:#fff;border:none}.error-dialog__btn--primary:hover{background:color-mix(in srgb, var(--accent-red) 85%, black)}.error-dialog__btn--secondary{color:var(--text-secondary);border:1px solid var(--border-dark);background:0 0}.error-dialog__btn--secondary:hover{background:var(--bg-hover)}.error-dialog__close{width:28px;min-width:44px;height:28px;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:12px;right:12px}.error-dialog__close:hover{color:var(--text-primary);background:var(--bg-hover)}.error-dialog__close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notification-stack{top:max(20px, calc(var(--safe-top,0px) + 12px));right:max(20px, var(--safe-right,0px));z-index:10000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.notification-stack__item{pointer-events:auto}.notification-stack__queued{text-align:center;color:var(--text-muted);pointer-events:none;padding:4px 0;font-size:11px}@media (max-width:480px){.notification-stack{top:max(12px, calc(var(--safe-top,0px) + 8px));right:max(12px, var(--safe-right,0px));left:max(12px, var(--safe-left,0px))}}.mobile-bottom-nav{display:none}body[data-modal-open] .mobile-bottom-nav{display:none!important}@media (max-width:768px){.mobile-bottom-nav{left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));bottom:calc(var(--safe-bottom) + 12px);z-index:calc(var(--z-nav) + 200);height:var(--mobile-nav-height,68px);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-lg)) var(--glass-saturate);border:var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-inner-highlight);border-radius:999px;justify-content:space-around;align-items:center;gap:4px;padding:8px 10px;display:flex;position:fixed}.mobile-nav-item{appearance:none;border-radius:var(--radius-lg);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;transition:color .12s var(--ease-standard), background .12s var(--ease-standard), transform 80ms var(--ease-standard);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;margin:0;padding:6px 4px;font-family:inherit;display:flex;position:relative}.mobile-nav-item:active{transform:scale(.94)}.mobile-nav-item:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.mobile-nav-item.active{color:var(--accent-blue)}.mobile-nav-icon{justify-content:center;align-items:center;height:24px;line-height:0;display:flex}.mobile-nav-icon svg{display:block}.mobile-nav-label{letter-spacing:-.1px;white-space:nowrap;font-size:10px;font-weight:600;line-height:1}.mobile-nav-badge,.mobile-nav-dot{pointer-events:none;position:absolute;top:4px;right:6px}.mobile-nav-dot{background:var(--accent-red,#ff3b30);border-radius:50%;width:8px;height:8px}.mobile-nav-badge{background:var(--accent-red,#ff3b30);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px}.mobile-more-menu{background:var(--glass-bg);min-width:180px;-webkit-backdrop-filter:blur(var(--glass-blur-xl)) var(--glass-saturate);border:var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow-elevated), var(--glass-inner-highlight);animation:dd-in var(--duration-fast) var(--ease-emphasized) forwards;padding:4px;position:absolute;bottom:calc(100% + 10px);right:4px}.mobile-more-item{width:100%;color:var(--text-primary);font-size:var(--font-md);text-align:left;border-radius:var(--radius-lg);cursor:pointer;transition:background .1s var(--ease-standard);background:0 0;border:none;padding:12px 16px;font-weight:500;display:block}.mobile-more-item:hover,.mobile-more-item:focus-visible{background:color-mix(in oklab, var(--accent-blue) 10%, transparent)}.mobile-more-item:active{background:color-mix(in oklab, var(--accent-blue) 18%, transparent)}.mobile-more-item__value{color:var(--text-muted);text-transform:capitalize;font-weight:500}}@media (max-width:768px) and (prefers-reduced-motion:reduce){.mobile-nav-item,.mobile-nav-item:active,.mobile-more-item{transition:none;animation:none;transform:none!important}.mobile-more-menu{animation:none}}.map-backdrop{z-index:var(--z-terrain,0);pointer-events:none;background:var(--bg-dark);filter:none;transition:transform var(--duration-normal,.25s) var(--ease-emphasized,ease), filter var(--duration-normal,.25s) var(--ease-emphasized,ease);position:fixed;inset:0;overflow:hidden;transform:scale(1)}@media (prefers-reduced-motion:no-preference){:is(#root:has(.cmd-palette-overlay) .map-backdrop,#root:has(.confirm-overlay) .map-backdrop,#root:has(.error-dialog-overlay) .map-backdrop,#root:has(.export-overlay.open) .map-backdrop,#root:has(.export-dialog-overlay) .map-backdrop,#root:has(.export-modal-overlay) .map-backdrop,#root:has(.keyboard-shortcuts-overlay) .map-backdrop,#root:has(.modal-overlay) .map-backdrop,#root:has([data-lens]) .map-backdrop){filter:url(#lg-lens);transform:scale(1.02)}:is(#root:has(.cmd-palette-overlay) .map-backdrop__scrim,#root:has(.confirm-overlay) .map-backdrop__scrim,#root:has(.error-dialog-overlay) .map-backdrop__scrim,#root:has(.export-overlay.open) .map-backdrop__scrim,#root:has(.export-dialog-overlay) .map-backdrop__scrim,#root:has(.export-modal-overlay) .map-backdrop__scrim,#root:has(.keyboard-shortcuts-overlay) .map-backdrop__scrim,#root:has(.modal-overlay) .map-backdrop__scrim,#root:has([data-lens]) .map-backdrop__scrim){filter:brightness(1.05)}}.map-backdrop__terrain{opacity:0;filter:blur(var(--terrain-blur,28px)) saturate(var(--terrain-saturate,115%));background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-40px;transform:scale(1.06)}.map-backdrop__terrain.has-snapshot{opacity:var(--terrain-dim,.96);transition:opacity var(--duration-slow,.35s) var(--ease-standard,ease)}.map-backdrop__terrain.has-snapshot[data-phase=setting]{animation:terrain-set var(--duration-slower,.5s) var(--ease-emphasized,ease) both}@keyframes terrain-set{0%{opacity:1;filter:blur(6px) saturate(var(--terrain-saturate,115%));transform:scale(1)}to{opacity:var(--terrain-dim,.96);filter:blur(var(--terrain-blur,28px)) saturate(var(--terrain-saturate,115%));transform:scale(1.06)}}.map-backdrop__terrain.has-snapshot[data-phase=thawing]{animation:terrain-thaw var(--duration-slower,.5s) var(--ease-emphasized,ease) both}@keyframes terrain-thaw{0%{opacity:var(--terrain-dim,.96);filter:blur(var(--terrain-blur,28px)) saturate(var(--terrain-saturate,115%));transform:scale(1.06)}to{opacity:1;filter:blur(4px) saturate(var(--terrain-saturate,115%));transform:scale(1)}}.map-backdrop__scrim{background:var(--terrain-scrim,transparent);filter:brightness();transition:filter var(--duration-normal,.25s) var(--ease-emphasized,ease);position:absolute;inset:0}@media (max-width:768px){.map-backdrop__terrain{filter:blur(var(--glass-blur-lg,20px));transform:scale(1.03)}.map-backdrop__terrain.has-snapshot{opacity:calc(var(--terrain-dim,.96) * .5)}}@media (prefers-reduced-motion:reduce){.map-backdrop__terrain.has-snapshot{transition:none}.map-backdrop__terrain.has-snapshot[data-phase=setting],.map-backdrop__terrain.has-snapshot[data-phase=thawing]{animation:none}.map-backdrop,.map-backdrop__scrim{transition:none}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.map-backdrop__terrain,.map-backdrop__terrain.has-snapshot[data-phase=setting],.map-backdrop__terrain.has-snapshot[data-phase=thawing]{filter:none;opacity:0;animation:none}}.collapsible-panel{height:100%;width:var(--rail-w-expanded,240px);background:var(--bg-panel);border-right:1px solid var(--border-dark);color:var(--text-primary);transition:width var(--duration-slow,.35s) var(--ease-emphasized,cubic-bezier(.2, 0, 0, 1));flex-direction:column;display:flex;position:relative;overflow:hidden}.collapsible-panel.collapsed{width:var(--rail-w-collapsed,64px)}.panel-toggle-btn{background:var(--bg-card);border:1px solid var(--border-dark);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin:14px 10px;display:flex}.panel-toggle-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.panel-toggle-btn:active{background:var(--bg-hover)}.panel-toggle-btn svg{width:18px;height:18px}.panel-nav{flex-direction:column;flex:1;gap:2px;padding:4px 8px 16px;display:flex}.collapsible-panel.collapsed .panel-nav{padding:4px 8px 16px}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);text-align:left;font-size:var(--font-base);white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex;overflow:hidden}.nav-item:hover{background:color-mix(in srgb, var(--bg-hover) 55%, transparent);color:var(--text-primary)}.nav-item.active{background:var(--bg-hover);color:var(--text-primary);font-weight:600}.nav-item.active .nav-icon{color:var(--accent-blue)}.nav-item.active:hover{background:var(--bg-hover)}.nav-icon{width:20px;height:20px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-icon svg{width:18px;height:18px;display:block}.nav-label{opacity:1;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-standard);flex:1}.collapsible-panel.collapsed .nav-label{opacity:0;pointer-events:none}.collapsible-panel.collapsed .nav-item{position:relative}.collapsible-panel.collapsed .nav-item:after{content:attr(data-tooltip);background:var(--bg-card);border:1px solid var(--border-dark);color:var(--text-primary);border-radius:var(--radius-sm);font-size:var(--font-sm);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;padding:4px 8px;font-weight:500;transition:opacity .15s,visibility .15s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #0000001a}.collapsible-panel.collapsed .nav-item:hover:after{opacity:1;visibility:visible}.collapsible-panel.collapsed .nav-item.no-tooltip:after,.collapsible-panel.collapsed .nav-item.no-tooltip:hover:after{content:none;display:none}.nav-group{flex-direction:column;display:flex;position:relative}.nav-group-trigger{cursor:pointer;width:100%}.nav-chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0;margin-left:auto}.nav-group-trigger.is-open .nav-chevron{transform:rotate(180deg)}.nav-group-trigger.parent-active .nav-icon{color:var(--accent-blue)}.collapsible-panel.collapsed .nav-chevron{display:none}.nav-group-submenu.inline{transition:grid-template-rows .2s var(--ease-emphasized,ease);grid-template-rows:0fr;display:grid}.nav-group-submenu.inline.is-open{grid-template-rows:1fr}.nav-group-submenu-inner{flex-direction:column;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.nav-group-submenu-inner>li:first-child{padding-top:2px}.nav-subitem{color:var(--text-muted);font-size:var(--font-sm);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-normal) var(--ease-emphasized);align-items:center;gap:8px;padding:6px 10px 6px 34px;font-weight:500;text-decoration:none;display:flex}.nav-subitem:hover{background:color-mix(in srgb, var(--accent-blue) 12%, transparent);color:var(--accent-blue);transform:translate(2px)}.nav-subitem:active{transition-duration:var(--duration-fast);transform:translate(1px)scale(.985)}.nav-subitem.active{background:color-mix(in srgb, var(--accent-blue) 18%, transparent);color:var(--accent-blue);font-weight:600}.nav-subitem:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.nav-subitem-icon{width:18px;height:18px;color:inherit;transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-normal) var(--ease-emphasized);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-subitem:hover .nav-subitem-icon{transform:scale(1.12)}.nav-subitem.active .nav-subitem-icon{color:var(--accent-blue)}.nav-group-submenu.flyout{background:var(--bg-panel);border:1px solid var(--border-dark);border-radius:var(--radius-md);z-index:1100;transform-origin:0;width:200px;animation:nav-flyout-in var(--duration-normal) var(--ease-emphasized) forwards;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:0;left:calc(100% + 4px);box-shadow:0 8px 24px #0000001f}.nav-group-submenu.flyout.flyout--portal{z-index:10200;background:var(--glass-bg-overlay);-webkit-backdrop-filter:blur(var(--glass-blur-xl)) var(--glass-saturate);border:1px solid var(--border-dark);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-overlay), var(--glass-inner-highlight);position:fixed;top:auto;left:auto}.nav-group-submenu.flyout--portal .nav-group-flyout-header{border-bottom-color:var(--glass-border-subtle)}.nav-group-submenu.flyout .nav-subitem{padding:8px 10px}.nav-group-flyout-header{font-size:var(--font-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-dark);margin-bottom:4px;padding:4px 8px 6px;font-weight:700}@keyframes nav-flyout-in{0%{opacity:0;transform:translate(-6px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes nav-flyout-row-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-group-submenu.flyout .nav-group-flyout-header,.nav-group-submenu.flyout .nav-subitem{animation:nav-flyout-row-in var(--duration-normal) var(--ease-emphasized) backwards}.nav-group-submenu.flyout .nav-group-flyout-header{animation-delay:20ms}.nav-group-submenu.flyout .nav-subitem:nth-child(2){animation-delay:40ms}.nav-group-submenu.flyout .nav-subitem:nth-child(3){animation-delay:60ms}.nav-group-submenu.flyout .nav-subitem:nth-child(4){animation-delay:80ms}.nav-group-submenu.flyout .nav-subitem:nth-child(5){animation-delay:.1s}@media (prefers-reduced-motion:reduce){.nav-chevron,.nav-group-submenu.inline{transition:none}.nav-group-submenu.flyout,.nav-group-submenu.flyout .nav-group-flyout-header,.nav-group-submenu.flyout .nav-subitem{animation:none}.nav-subitem,.nav-subitem:hover,.nav-subitem:active,.nav-subitem-icon,.nav-subitem:hover .nav-subitem-icon{transform:none}}@media (max-width:768px){.collapsible-panel{z-index:1000;width:200px;position:absolute;top:0;left:0}.collapsible-panel.collapsed{width:52px}.nav-item{min-height:44px;padding:10px 12px}}@media (max-width:480px){.collapsible-panel{width:100%;transform:translate(-100%)}.collapsible-panel:not(.collapsed){transform:translate(0)}.collapsible-panel.collapsed{width:52px;transform:translate(0)}}.panel-profile{border-top:1px solid var(--border-dark);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 10px;display:flex}.profile-theme-row{padding:0 2px}.theme-switcher{background:var(--bg-hover);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.theme-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:5px;display:flex}.theme-btn:hover{color:var(--text-primary)}.theme-btn.active{background:var(--bg-card);color:var(--accent-blue);box-shadow:0 1px 2px #0000000f}.profile-signout{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-weight:500;display:flex}.profile-signout:hover{color:var(--accent-red);background:#dc262614}.profile-user{align-items:center;gap:10px;padding:4px;display:flex}.profile-avatar{background:var(--accent-blue);color:#fff;width:28px;height:28px;font-size:var(--font-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.profile-email{font-size:var(--font-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.profile-collapsed-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin:0 auto;display:flex}.profile-collapsed-btn:hover{background:var(--bg-hover);color:var(--accent-blue)}.collapsible-panel.collapsed .profile-user{justify-content:center}.collapsible-panel.collapsed .profile-email{display:none}:root[data-theme=dark] .collapsible-panel{background:#0f1219;border-right-color:#ffffff14}:root[data-theme=dark] .panel-toggle-btn{color:var(--text-muted);background:0 0;border-color:#0000}:root[data-theme=dark] .panel-toggle-btn:hover{color:var(--bg-dark);background:#ffffff0f}:root[data-theme=dark] .nav-item{color:var(--text-muted)}:root[data-theme=dark] .nav-item:hover{color:var(--bg-dark);background:#ffffff0f}:root[data-theme=dark] .nav-item.active{color:var(--bg-dark);background:#ffffff1a;font-weight:600}:root[data-theme=dark] .nav-item.active:hover{background:#ffffff1a}:root[data-theme=dark] .nav-item.active .nav-icon{color:#60a5fa}:root[data-theme=dark] .collapsible-panel.collapsed .nav-item:after{background:var(--text-primary);color:var(--bg-dark);border-color:#ffffff1a;box-shadow:0 4px 16px #0009}:root[data-theme=dark] .panel-profile{border-top-color:#ffffff14}:root[data-theme=dark] .theme-switcher{background:#ffffff08;border:1px solid #ffffff14}:root[data-theme=dark] .theme-btn{color:var(--text-muted)}:root[data-theme=dark] .theme-btn:hover{color:var(--border-dark)}:root[data-theme=dark] .theme-btn.active{color:#60a5fa;box-shadow:none;background:#60a5fa26}:root[data-theme=dark] .profile-signout{color:var(--text-muted)}:root[data-theme=dark] .profile-signout:hover{color:#f87171;background:#f871711a}:root[data-theme=dark] .profile-avatar{color:#60a5fa;background:#60a5fa2e;border:1px solid #60a5fa40}:root[data-theme=dark] .profile-email,:root[data-theme=dark] .profile-collapsed-btn{color:var(--text-muted)}:root[data-theme=dark] .profile-collapsed-btn:hover{color:#60a5fa;background:#ffffff0f}:root[data-theme=dark] .nav-chevron{color:#fff6}:root[data-theme=dark] .nav-group-trigger.parent-active .nav-icon{color:#60a5fa}:root[data-theme=dark] .nav-subitem{color:var(--text-muted)}:root[data-theme=dark] .nav-subitem:hover{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);color:#60a5fa}:root[data-theme=dark] .nav-subitem.active{background:color-mix(in srgb, var(--accent-blue) 22%, transparent);color:#60a5fa}:root[data-theme=dark] .nav-subitem.active .nav-subitem-icon{color:#60a5fa}:root[data-theme=dark] .nav-group-submenu.flyout{background:#0f1219;border-color:#ffffff1f;box-shadow:0 8px 24px #0009}:root[data-theme=dark] .nav-group-submenu.flyout.flyout--portal{background:var(--glass-bg-overlay);border-color:var(--border-dark);box-shadow:var(--glass-shadow-overlay), var(--glass-inner-highlight)}:root[data-theme=dark] .nav-group-flyout-header{color:#ffffff80;border-bottom-color:#ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .collapsible-panel{background:#0f1219;border-right-color:#ffffff14}:root:not([data-theme=light]) .panel-toggle-btn{color:var(--text-muted);background:0 0;border-color:#0000}:root:not([data-theme=light]) .panel-toggle-btn:hover{color:var(--bg-dark);background:#ffffff0f}:root:not([data-theme=light]) .nav-item{color:var(--text-muted)}:root:not([data-theme=light]) .nav-item:hover{color:var(--bg-dark);background:#ffffff0f}:root:not([data-theme=light]) .nav-item.active{color:var(--bg-dark);background:#ffffff1a;font-weight:600}:root:not([data-theme=light]) .nav-item.active:hover{background:#ffffff1a}:root:not([data-theme=light]) .nav-item.active .nav-icon{color:#60a5fa}:root:not([data-theme=light]) .collapsible-panel.collapsed .nav-item:after{background:var(--text-primary);color:var(--bg-dark);border-color:#ffffff1a;box-shadow:0 4px 16px #0009}:root:not([data-theme=light]) .panel-profile{border-top-color:#ffffff14}:root:not([data-theme=light]) .theme-switcher{background:#ffffff08;border:1px solid #ffffff14}:root:not([data-theme=light]) .theme-btn{color:var(--text-muted)}:root:not([data-theme=light]) .theme-btn:hover{color:var(--border-dark)}:root:not([data-theme=light]) .theme-btn.active{color:#60a5fa;box-shadow:none;background:#60a5fa26}:root:not([data-theme=light]) .profile-signout{color:var(--text-muted)}:root:not([data-theme=light]) .profile-signout:hover{color:#f87171;background:#f871711a}:root:not([data-theme=light]) .profile-avatar{color:#60a5fa;background:#60a5fa2e;border:1px solid #60a5fa40}:root:not([data-theme=light]) .profile-email,:root:not([data-theme=light]) .profile-collapsed-btn{color:var(--text-muted)}:root:not([data-theme=light]) .profile-collapsed-btn:hover{color:#60a5fa;background:#ffffff0f}:root:not([data-theme=light]) .nav-chevron{color:#fff6}:root:not([data-theme=light]) .nav-group-trigger.parent-active .nav-icon{color:#60a5fa}:root:not([data-theme=light]) .nav-subitem{color:var(--text-muted)}:root:not([data-theme=light]) .nav-subitem:hover{background:color-mix(in srgb, var(--accent-blue) 16%, transparent);color:#60a5fa}:root:not([data-theme=light]) .nav-subitem.active{background:color-mix(in srgb, var(--accent-blue) 22%, transparent);color:#60a5fa}:root:not([data-theme=light]) .nav-subitem.active .nav-subitem-icon{color:#60a5fa}:root:not([data-theme=light]) .nav-group-submenu.flyout{background:#0f1219;border-color:#ffffff1f;box-shadow:0 8px 24px #0009}:root:not([data-theme=light]) .nav-group-submenu.flyout.flyout--portal{background:var(--glass-bg-overlay);border-color:var(--border-dark);box-shadow:var(--glass-shadow-overlay), var(--glass-inner-highlight)}:root:not([data-theme=light]) .nav-group-flyout-header{color:#ffffff80;border-bottom-color:#ffffff14}}.page-layout--glass-rail .nav-item,.page-layout--glass-rail .nav-subitem{position:relative}.page-layout--glass-rail .nav-item.active,.page-layout--glass-rail .nav-subitem.active{background:color-mix(in srgb, var(--nav-tick-color) 12%, transparent)}.page-layout--glass-rail .nav-item.active:hover,.page-layout--glass-rail .nav-subitem.active:hover{background:color-mix(in srgb, var(--nav-tick-color) 18%, transparent)}.page-layout--glass-rail .nav-item.active .nav-icon,.page-layout--glass-rail .nav-subitem.active .nav-subitem-icon{color:var(--nav-tick-color)}.page-layout--glass-rail .nav-item.active:before,.page-layout--glass-rail .nav-subitem.active:before{content:"";inset-inline-start:0;border-radius:var(--radius-pill);background:var(--nav-tick-color);width:3px;height:18px;box-shadow:0 0 var(--nav-tick-glow,4px) color-mix(in srgb, var(--nav-tick-color) 50%, transparent);transition:opacity var(--transition-fast);position:absolute;top:50%;transform:translateY(-50%)}.page-layout--glass-rail .collapsible-panel.collapsed .nav-item.active:before{inset-inline-start:2px}@media (prefers-reduced-motion:reduce){.page-layout--glass-rail .nav-item.active:before,.page-layout--glass-rail .nav-subitem.active:before{transition:none}}.ib-notif{display:inline-flex;position:relative}.ib-notif__bell{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.ib-notif__bell svg{transition:filter var(--transition-fast)}.ib-notif__bell:hover,.ib-notif__bell:active{color:var(--text-primary);background:0 0;transform:none}.ib-notif__bell:hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 55%, transparent))}.ib-notif__bell:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ib-notif__badge{color:#fff;background:var(--accent-red);border-radius:var(--radius-pill);min-width:15px;height:15px;box-shadow:0 0 0 2px var(--bg-card);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:1px;right:0}.notif-center{top:calc(var(--header-h,52px) + var(--space-2));right:max(var(--moat,12px), var(--safe-right,0px));background:var(--plate-bg,var(--bg-card));border:1px solid var(--border-dark);border-radius:var(--plate-radius,var(--radius-lg));width:380px;max-width:calc(100vw - 24px);max-height:70vh;box-shadow:var(--bezel-lift,0 16px 48px #0003);z-index:var(--z-overlay,300);animation:dd-in var(--duration-fast,.15s) var(--ease-emphasized,ease-out) both;flex-direction:column;display:flex;position:fixed;overflow:hidden}.notif-center__head{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--border-dark);justify-content:space-between;align-items:center;display:flex}.notif-center__title{font-size:var(--font-md,15px);color:var(--text-primary);font-weight:600}.notif-center__markall{font-size:var(--font-xs);color:var(--accent-blue);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 6px}.notif-center__markall:hover{background:var(--bg-hover)}.notif-center__markall:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notif-center__filters{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-dark);flex-wrap:wrap;gap:6px;display:flex}.notif-chip{font-size:var(--font-xs);color:var(--text-secondary);background:var(--bg-hover);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.notif-chip:hover{color:var(--text-primary)}.notif-chip--active{color:var(--text-primary);background:color-mix(in srgb, var(--accent-blue), transparent 85%);border-color:color-mix(in srgb, var(--accent-blue), transparent 55%)}.notif-chip:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.notif-chip__count{color:#fff;background:var(--accent-red);border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:10px;font-weight:700;display:inline-flex}.notif-center__list{padding:var(--space-2) 0 var(--space-2);flex:1;overflow-y:auto}.notif-center__empty{padding:var(--space-6,32px) var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--font-sm)}.notif-center__group{padding:0}.notif-center__group-title{padding:var(--space-2) var(--space-3) 4px;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0;font-weight:600}.notif-row{padding:10px var(--space-3) 10px calc(var(--space-3) + 3px);cursor:pointer;transition:background var(--transition-fast);border-left:3px solid #0000;align-items:flex-start;gap:10px;display:flex;position:relative}.notif-row:hover{background:var(--bg-hover)}.notif-row:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.notif-row--unread{border-left-color:var(--accent-blue)}.notif-row--critical .notif-row__icon{color:var(--accent-red)}.notif-row--warning .notif-row__icon{color:var(--accent-orange)}.notif-row--info .notif-row__icon{color:var(--accent-blue)}.notif-row__icon{flex-shrink:0;margin-top:2px}.notif-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-row__top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.notif-row__title{font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.notif-row--unread .notif-row__title{color:var(--text-primary);font-weight:600}.notif-row__time{font-size:var(--font-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.notif-row__message{font-size:var(--font-xs);color:var(--text-muted);line-height:1.4}.notif-row__dismiss{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-self:center;padding:3px}.notif-row:hover .notif-row__dismiss,.notif-row:focus-within .notif-row__dismiss{opacity:1}.notif-row__dismiss:hover{color:var(--text-primary);background:var(--bg-card)}.notif-row__dismiss:focus-visible{opacity:1;outline:2px solid var(--accent-blue);outline-offset:1px}@media (max-width:480px){.notif-center{left:max(12px, var(--safe-left,0px));right:max(12px, var(--safe-right,0px));width:auto;max-width:none}}@media (prefers-reduced-motion:reduce){.notif-center{animation:none}.notif-row__dismiss{opacity:1}}@property --ib-rail-w{syntax:"<length>";inherits:true;initial-value:240px}:root{--ib-top-h:52px;--ib-rail-expanded:240px;--ib-rail-collapsed:64px;--ib-fillet:14px;--ib-pad:var(--space-4);--ib-glass-bg:#ffffffb8;--ib-glass-blur:24px;--ib-glass-saturate:180%;--ib-rim:#fff9;--ib-specular:#ffffff61;--ib-lift:drop-shadow(0 12px 34px #00000038);--ib-plate-bg:var(--bg-dark);--ib-plate-recess:inset 0 2px 6px -2px #00000024, inset 2px 0 6px -2px #00000024}:root[data-theme=dark]{--ib-glass-bg:#16181eb8;--ib-rim:#ffffff24;--ib-specular:#ffffff1f;--ib-lift:drop-shadow(0 12px 34px #0009);--ib-plate-recess:inset 0 2px 6px -2px #00000080, inset 2px 0 6px -2px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ib-glass-bg:#16181eb8;--ib-rim:#ffffff24;--ib-specular:#ffffff1f;--ib-lift:drop-shadow(0 12px 34px #0009);--ib-plate-recess:inset 0 2px 6px -2px #00000080, inset 2px 0 6px -2px #00000080}}@media (min-width:769px){.app-shell{--ib-rail-w:var(--ib-rail-expanded);transition:--ib-rail-w var(--duration-slow) var(--ease-emphasized)}.app-shell.shell-collapsed{--ib-rail-w:var(--ib-rail-collapsed)}.instrument-bezel{z-index:var(--z-sidebar);pointer-events:none;position:fixed;inset:0}.ib-glass{background:var(--ib-glass-bg);-webkit-backdrop-filter:blur(var(--ib-glass-blur)) saturate(var(--ib-glass-saturate));backdrop-filter:blur(var(--ib-glass-blur)) saturate(var(--ib-glass-saturate));filter:var(--ib-lift);clip-path:polygon(0 0, 100% 0, 100% var(--ib-top-h), calc(var(--ib-rail-w) + var(--ib-fillet)) var(--ib-top-h), calc(var(--ib-rail-w) + var(--ib-fillet) * .293) calc(var(--ib-top-h) + var(--ib-fillet) * .293), var(--ib-rail-w) calc(var(--ib-top-h) + var(--ib-fillet)), var(--ib-rail-w) 100%, 0 100%);position:absolute;inset:0}.ib-specular{pointer-events:none;clip-path:polygon(0 0, 100% 0, 100% var(--ib-top-h), calc(var(--ib-rail-w) + var(--ib-fillet)) var(--ib-top-h), calc(var(--ib-rail-w) + var(--ib-fillet) * .293) calc(var(--ib-top-h) + var(--ib-fillet) * .293), var(--ib-rail-w) calc(var(--ib-top-h) + var(--ib-fillet)), var(--ib-rail-w) 100%, 0 100%);background:radial-gradient(280px 280px at 0 0, var(--ib-specular), transparent 70%), linear-gradient(180deg, var(--ib-rim), transparent 2.5px), linear-gradient(90deg, var(--ib-rim), transparent 2.5px),  linear-gradient(to top, var(--lg-edge-light), var(--lg-edge-dome) var(--lg-edge-thickness), transparent 14px) right calc(var(--ib-top-h) - 14px) / calc(100% - var(--ib-rail-w)) 14px no-repeat,  linear-gradient(to left, var(--lg-edge-light), var(--lg-edge-dome) var(--lg-edge-thickness), transparent 14px) calc(var(--ib-rail-w) - 14px) var(--ib-top-h) / 14px calc(100% - var(--ib-top-h)) no-repeat;position:absolute;inset:0}.ib-corner{width:var(--ib-rail-collapsed);height:var(--ib-top-h);pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.ib-logo{color:var(--text-primary);display:flex}.ib-top{top:0;left:var(--ib-rail-collapsed);height:var(--ib-top-h);align-items:center;gap:var(--space-4);padding:0 var(--space-4) 0 var(--space-3);pointer-events:auto;display:flex;position:absolute;right:0}.ib-top__trailing{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.ib-left{top:var(--ib-top-h);width:var(--ib-rail-w);pointer-events:auto;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;overflow:visible}.ib-left .collapsible-panel{flex:1}.ib-workspace{top:var(--ib-top-h);left:var(--ib-rail-w);right:var(--ib-pad);bottom:var(--ib-pad);z-index:var(--z-base);background:var(--ib-plate-bg);border-radius:var(--ib-fillet) var(--plate-radius) var(--plate-radius) var(--plate-radius);box-shadow:var(--ib-plate-recess), 0 2px 12px #00000014;flex-direction:column;display:flex;position:fixed;overflow:hidden}.ib-workspace>*{flex:1;min-height:0;overflow-y:auto}body[data-workspace=terrain] .ib-workspace{box-shadow:var(--ib-plate-recess);background:0 0}}.ib-search{left:calc(50vw - var(--ib-rail-collapsed));align-items:center;gap:var(--space-2);width:min(420px,42vw);min-width:240px;height:32px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-card), transparent 30%);border:1px solid var(--border-dark);color:var(--text-muted);font-size:var(--font-sm);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);display:inline-flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.ib-search:hover,.ib-search:active:not(:disabled),.ib-search:focus-visible{background:color-mix(in srgb, var(--bg-card), transparent 30%);transform:translate(-50%,-50%)}body[data-command-palette-open] .ib-search{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.86)}.ib-search:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ib-search__label{text-align:left;flex:1}.ib-status{font-size:var(--font-xs);color:var(--text-muted);padding:0 var(--space-2);align-items:center;gap:6px;display:inline-flex}.ib-status__dot{background:var(--accent-green);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-green), transparent 80%);border-radius:50%}.ib-icon-btn{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ib-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ib-user{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;display:inline-flex}.ib-user:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ib-chat{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.ib-chat svg{transition:filter var(--transition-fast)}.ib-chat:hover,.ib-chat:active{color:var(--text-primary);background:0 0;transform:none}.ib-chat:hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 55%, transparent))}.ib-chat:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ib-user__avatar{background:var(--accent-blue);color:#fff;width:28px;height:28px;font-size:var(--font-sm);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.ib-profile{position:relative}.ib-profile__menu{width:240px;padding:var(--space-2);background:var(--glass-bg-overlay,var(--bg-card));-webkit-backdrop-filter:blur(var(--glass-blur-xl,40px)) saturate(180%);backdrop-filter:blur(var(--glass-blur-xl,40px)) saturate(180%);border:1px solid var(--border-dark);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow-overlay,0 16px 48px #0003);z-index:var(--z-dropdown);gap:var(--space-2);animation:dd-in var(--duration-fast) var(--ease-emphasized) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.ib-profile__email{font-size:var(--font-xs);color:var(--text-muted);padding:var(--space-1) var(--space-2);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border-dark);padding-bottom:var(--space-2);overflow:hidden}.ib-profile__section{flex-direction:column;gap:6px;display:flex;position:relative}.ib-profile__label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:0 var(--space-2);justify-content:space-between;align-items:center;font-weight:600;display:flex}.ib-profile__label-badge{font-size:var(--font-xs);text-transform:none;letter-spacing:0;color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-pill);padding:1px 6px;font-weight:500}.ib-tz-trigger{background:var(--bg-hover);border:1px solid var(--border-dark);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;text-align:left;transition:border-color var(--transition-fast);align-items:center;gap:6px;padding:6px 10px;display:flex}.ib-tz-trigger:hover{border-color:var(--accent-blue)}.ib-tz-trigger:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.ib-tz-trigger__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ib-tz-trigger__offset{font-size:var(--font-xs);color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, transparent);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:1px 5px}.ib-tz-dropdown{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-md);z-index:200;flex-direction:column;margin-top:2px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}.ib-tz-search{width:100%;font-size:var(--font-sm);background:var(--bg-panel);border:none;border-bottom:1px solid var(--border-dark);color:var(--text-primary);outline:none;padding:8px 12px}.ib-tz-search:focus{border-bottom-color:var(--accent-blue)}.ib-tz-list{flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.ib-tz-option{font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;display:flex}.ib-tz-option:hover{background:var(--bg-hover);color:var(--text-primary)}.ib-tz-option.is-active{background:color-mix(in srgb, var(--accent-blue) 12%, transparent);color:var(--accent-blue)}.ib-tz-option.is-active:hover{background:color-mix(in srgb, var(--accent-blue) 18%, transparent)}.ib-tz-option__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ib-tz-option__offset{font-size:var(--font-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.ib-tz-option.is-active .ib-tz-option__offset{color:var(--accent-blue);opacity:.7}.ib-tz-empty{font-size:var(--font-sm);color:var(--text-muted);text-align:center;padding:12px}.ib-theme-switch{background:var(--bg-hover);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.ib-theme-switch__btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 4px;font-size:10px;display:flex}.ib-theme-switch__btn:hover{color:var(--text-primary)}.ib-theme-switch__btn.is-active{background:var(--bg-card);color:var(--accent-blue);box-shadow:0 1px 2px #0000000f}.ib-profile__signout{align-items:center;gap:var(--space-2);width:100%;padding:8px var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.ib-profile__signout:hover{color:var(--accent-red);background:#dc26261a}.ib-left .collapsible-panel,:root[data-theme=dark] .ib-left .collapsible-panel,:root[data-theme=light] .ib-left .collapsible-panel{background:0 0;border-right:none;width:100%;height:100%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ib-left .collapsible-panel{background:0 0}}.ib-left .collapsible-panel .panel-toggle-btn,.ib-left .collapsible-panel .panel-profile{display:none}.ib-left .panel-nav{padding-top:var(--space-3)}.ib-left .nav-item,.ib-left .nav-group-trigger,.ib-collapse{padding-left:14px}.ib-collapse{align-items:center;gap:var(--space-2);margin:var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:8px 10px;font-weight:500;display:flex}.ib-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.ib-collapse{overflow:hidden}.ib-collapse__glyph{transition:transform var(--duration-slow) var(--ease-emphasized);flex-shrink:0;display:flex}.ib-collapse__label{white-space:nowrap;transition:opacity var(--duration-fast) var(--ease-standard)}.instrument-bezel.is-collapsed .ib-collapse__label{opacity:0;pointer-events:none}.instrument-bezel.is-collapsed .ib-collapse__glyph{transform:rotate(180deg)}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.ib-glass{background:var(--chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.ib-specular{display:none}.ib-profile__menu{background:var(--chrome-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.app-shell,.instrument-bezel,.ib-workspace{transition:none}}@media (max-width:768px){.instrument-bezel{display:none}.ib-workspace{background:var(--bg-dark);box-shadow:none;border-radius:0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ib-workspace>*{min-height:0;padding-bottom:var(--mobile-nav-inset,80px);flex:1;overflow-y:auto}}.app-shell{height:100vh;background:0 0;flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.app-shell__body{min-height:0;z-index:var(--z-base);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.cmd-palette-overlay{z-index:var(--z-modal);animation:cmd-overlay-fade var(--duration-fast) var(--ease-standard) forwards;background:#0006;justify-content:center;align-items:flex-start;padding-top:18vh;display:flex;position:fixed;inset:0}@keyframes cmd-overlay-fade{0%{opacity:0}to{opacity:1}}.cmd-palette{background:color-mix(in srgb, var(--bg-card) 78%, transparent);-webkit-backdrop-filter:blur(26px)saturate(1.5);border:1px solid color-mix(in srgb, var(--border-dark) 70%, transparent);transform-origin:top;border-radius:28px;width:90%;max-width:600px;animation:.44s cubic-bezier(.22,1,.36,1) both cmd-palette-drop;overflow:hidden;box-shadow:0 24px 80px #0006,0 2px 8px #0003}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.cmd-palette{background:var(--bg-card);-webkit-backdrop-filter:none;backdrop-filter:none}}@keyframes cmd-palette-drop{0%{opacity:0;transform:translateY(-40px)scaleX(.5)scaleY(1.08)}40%{opacity:1}to{opacity:1;transform:translateY(0)scaleX(1)scaleY(1)}}.cmd-palette.is-closing{pointer-events:none;animation:.22s cubic-bezier(.4,0,.7,1) forwards cmd-palette-burst}@keyframes cmd-palette-burst{0%{opacity:1;transform:scale(1)}28%{opacity:1;transform:scale(.985)}to{opacity:0;transform:scale(1.06)}}.cmd-palette-overlay.is-closing{animation:cmd-overlay-fade-out .22s var(--ease-standard) forwards}@keyframes cmd-overlay-fade-out{to{opacity:0}}.cmd-palette-input-row{animation:cmd-content-fade var(--duration-normal) var(--ease-standard) both;align-items:center;gap:13px;padding:18px 22px;animation-delay:.18s;display:flex}@keyframes cmd-content-fade{0%{opacity:0}to{opacity:1}}.cmd-palette.has-results .cmd-palette-input-row{position:relative}.cmd-palette.has-results .cmd-palette-input-row:after{content:"";background:var(--border-dark);height:1px;position:absolute;bottom:0;left:16px;right:16px}.cmd-palette-icon{color:var(--text-muted);flex-shrink:0}.cmd-palette-input{font-size:var(--font-xl);letter-spacing:-.01em;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-weight:400}.cmd-palette-input:focus,.cmd-palette-input:focus-visible{box-shadow:none;outline:none}.cmd-palette-input::placeholder{color:var(--text-muted)}.cmd-palette-results-shell{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,.8,.28,1);display:grid}.cmd-palette-results-shell.is-open{grid-template-rows:1fr}.cmd-palette-results-clip{min-height:0;overflow:hidden}.cmd-palette-results{scroll-behavior:smooth;max-height:360px;margin:0;padding:8px;scroll-padding:8px;list-style:none;animation:.4s cubic-bezier(.16,.8,.28,1) both cmd-results-reveal;position:relative;overflow-y:auto}@keyframes cmd-results-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cmd-palette-highlight{background:var(--bg-hover);opacity:0;pointer-events:none;transition:transform var(--duration-normal) var(--ease-emphasized), height var(--duration-normal) var(--ease-emphasized), opacity var(--duration-fast) var(--ease-standard);border-radius:12px;position:absolute;top:0;left:8px;right:8px}.cmd-palette-highlight.is-visible{opacity:1}.cmd-palette-item{z-index:1;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;display:flex;position:relative}.cmd-palette-item-glyph{width:28px;height:28px;color:var(--text-muted);background:var(--bg-hover);transition:color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cmd-palette-item.active .cmd-palette-item-glyph{color:var(--text-primary)}.cmd-palette-item-glyph--network,.cmd-palette-item-glyph--favorite{color:var(--accent-orange)}.cmd-palette-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cmd-palette-item-line{align-items:baseline;gap:10px;min-width:0;display:flex}.cmd-palette-item-label{font-size:var(--font-md);color:var(--text-primary);flex-shrink:0;font-family:SF Mono,monospace;font-weight:500}.cmd-palette-item-sub{font-size:var(--font-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cmd-palette-item-label:last-of-type{flex:1}.cmd-palette-item-ids{font-size:var(--font-xs);flex-wrap:wrap;gap:2px 12px;line-height:1.3;display:flex}.cmd-palette-item-id{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.cmd-palette-item-id__key{color:var(--text-muted);text-transform:none}.cmd-palette-item-id__value{color:var(--text-secondary,var(--text-primary));font-family:SF Mono,monospace;font-weight:500}.cmd-palette-item-actions{--liquid:cubic-bezier(.22, 1, .36, 1);--morph-ms:.3s;opacity:0;transition:opacity var(--morph-ms) var(--liquid), transform var(--morph-ms) var(--liquid);flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:inline-flex;transform:translate(6px)}.cmd-palette-item.active .cmd-palette-item-actions,.cmd-palette-item:hover .cmd-palette-item-actions{opacity:1;transform:translate(0)}.cmd-palette-action{--morph-ease:var(--morph-ms) var(--liquid);min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--morph-ease), background var(--morph-ease), transform var(--duration-fast) var(--ease-spring);background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:0 7px;display:inline-flex;overflow:hidden}.cmd-palette-action__glyph{width:15px;transition:width var(--morph-ease), opacity var(--morph-ease), transform var(--morph-ease);display:block;overflow:hidden}.cmd-palette-action__word{opacity:0;font-size:var(--font-sm);transform-origin:50%;transition:grid-template-columns var(--morph-ease), transform var(--morph-ease), opacity var(--morph-ease);grid-template-columns:0fr;align-items:center;font-weight:500;line-height:1;display:grid;transform:scale(.35)}.cmd-palette-action__word>*{white-space:nowrap;min-width:0;overflow:hidden}.cmd-palette-action:hover{color:var(--text-primary);background:var(--bg-active,var(--bg-hover))}.cmd-palette-action:hover .cmd-palette-action__glyph{opacity:0;width:0;transform:scale(0)}.cmd-palette-action:hover .cmd-palette-action__word{opacity:1;grid-template-columns:1fr;transform:scale(1)}.cmd-palette-action.is-focused{color:var(--accent-blue);background:0 0;border-color:#0000;transform:scale(1.12)}.cmd-palette-action.is-focused:hover{color:var(--accent-blue)}.cmd-palette-action:active{transform:translateY(0)scale(.94)}.cmd-palette-empty{text-align:center;font-size:var(--font-base);color:var(--text-muted);padding:24px 16px}.cmd-palette-empty--loading{animation:cmd-palette-loading-pulse 1.4s var(--ease-standard) infinite}@keyframes cmd-palette-loading-pulse{0%,to{opacity:.5}50%{opacity:1}}.cmd-palette-empty--error{color:var(--text-secondary,var(--text-primary));flex-direction:column;align-items:center;gap:10px;display:flex}.cmd-palette-retry{border:1px solid var(--border-dark);background:var(--bg-hover);height:30px;color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-spring);border-radius:9px;align-items:center;padding:0 14px;font-family:inherit;font-weight:500;display:inline-flex}.cmd-palette-retry:hover{background:var(--bg-active,var(--bg-hover))}.cmd-palette-retry:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.cmd-palette,.cmd-palette-overlay,.cmd-palette-results{animation-duration:1ms}.cmd-palette-results{scroll-behavior:auto}.cmd-palette-input-row{animation-duration:1ms;animation-delay:0s}.cmd-palette.is-closing,.cmd-palette-overlay.is-closing{animation-duration:1ms}.cmd-palette-results-shell{transition:none}.cmd-palette-highlight{transition:opacity var(--duration-fast) var(--ease-standard)}.cmd-palette-item-actions{transition:opacity var(--duration-fast) var(--ease-standard);transform:none}.cmd-palette-action:hover,.cmd-palette-action:active{transform:none}.cmd-palette-action__word{transition:none;transform:none}.cmd-palette-empty--loading{animation:none}.cmd-palette-retry:active{transform:none}}.chat-panel-overlay{z-index:var(--z-modal);pointer-events:none;background:0 0;justify-content:flex-end;align-items:flex-end;padding:24px;display:flex;position:fixed;inset:0}.chat-panel{pointer-events:auto;background:var(--ib-glass-bg);width:min(420px,100vw - 48px);height:min(600px,100vh - 48px);-webkit-backdrop-filter:blur(var(--ib-glass-blur)) saturate(var(--ib-glass-saturate));backdrop-filter:blur(var(--ib-glass-blur)) saturate(var(--ib-glass-saturate));border:1px solid var(--border-dark);border-radius:var(--radius-2xl);animation:popup-enter var(--duration-normal) var(--ease-emphasized) forwards;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000047}.chat-panel-header{border-bottom:1px solid var(--border-dark);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-panel-title{font-size:var(--font-md);color:var(--text-primary);letter-spacing:.02em;align-items:baseline;gap:8px;font-weight:600;display:flex}.chat-panel-subtitle{font-size:var(--font-xs);color:var(--text-muted);letter-spacing:normal;font-weight:400}.chat-panel-header-actions{align-items:center;gap:2px;display:inline-flex}.chat-panel-icon-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-panel-icon-btn:hover{color:var(--text-primary);background:0 0;transform:none}.chat-panel-icon-btn:hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 55%, transparent))}.chat-panel-icon-btn.is-active{color:var(--accent-blue);background:0 0}.chat-panel-icon-btn.is-active:hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent-blue) 60%, transparent))}.chat-panel-icon-btn svg{transition:filter var(--transition-fast);flex-shrink:0}.chat-panel-icon-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-tabs{border-bottom:1px solid var(--border-dark);scrollbar-width:thin;align-items:center;gap:4px;padding:6px 10px;display:flex;overflow-x:auto}.chat-tabs::-webkit-scrollbar{height:6px}.chat-tabs::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.chat-tab{border-radius:var(--radius-md);max-width:176px;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:2px;padding:2px 2px 2px 4px;display:inline-flex}.chat-tab:hover{background:color-mix(in srgb, var(--bg-hover) 55%, transparent)}.chat-tab.is-active,.chat-tab.is-active:hover{background:var(--bg-hover);border-color:#0000}.chat-tab.is-leaving{pointer-events:none;transform-origin:50%;animation:chat-tab-pop var(--duration-slow,.34s) var(--ease-emphasized,ease) forwards, chat-tab-collapse var(--duration-slow,.34s) var(--ease-emphasized,ease) forwards;overflow:hidden}@keyframes chat-tab-pop{0%{opacity:1;transform:scale(1)}30%{transform:scale(1.06)}to{opacity:0;transform:scale(.6)}}@keyframes chat-tab-collapse{0%{max-width:176px;margin-left:0}55%{max-width:176px}to{max-width:0;margin-left:-4px;padding-left:0;padding-right:0}}.chat-tab-label{max-width:128px;font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:3px 4px;overflow:hidden}.chat-tab.is-active .chat-tab-label{color:var(--text-primary);font-weight:500}.chat-tab-label:hover{color:var(--text-primary);background:0 0;transform:none}.chat-tab-label-text{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.chat-tab-label:hover .chat-tab-label-text{text-overflow:clip;width:max-content;max-width:none;animation:4s ease-in-out .25s forwards chat-tab-marquee;overflow:visible}@keyframes chat-tab-marquee{0%{transform:translate(0)}to{transform:translateX(var(--marquee-shift,0))}}.chat-tab-status{background:var(--dot-a);border-radius:50%;flex:none;width:8px;height:8px;animation:1.1s step-end infinite chat-tab-blink}.chat-tab-status--running{--dot-a:var(--text-muted);--dot-b:var(--border-dark)}.chat-tab-status--done{--dot-a:var(--accent-green);--dot-b:color-mix(in srgb, var(--accent-green) 40%, transparent)}.chat-tab-status--error{--dot-a:var(--accent-red);--dot-b:color-mix(in srgb, var(--accent-red) 40%, transparent)}@keyframes chat-tab-blink{0%{background:var(--dot-a)}50%{background:var(--dot-b)}}.chat-tab-close{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:.7;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-tab-close svg{transition:filter var(--transition-fast);flex-shrink:0}.chat-tab-close:hover,.chat-tab-close:focus-visible{color:var(--accent-red);opacity:1;background:0 0;transform:none}.chat-tab-close:hover svg,.chat-tab-close:focus-visible svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent-red) 60%, transparent))}.chat-tab-new{border-radius:var(--radius-md);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-tab-new svg{transition:filter var(--transition-fast);flex-shrink:0}.chat-tab-new:hover{color:var(--accent-blue);background:0 0;transform:none}.chat-tab-new:hover svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--accent-blue) 60%, transparent))}.chat-tab-new:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-history{transform-origin:100% 0;animation:chat-history-drop var(--duration-normal) var(--ease-emphasized) both;flex:1;padding:8px;overflow-y:auto}@keyframes chat-history-drop{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-history-empty{text-align:center;font-size:var(--font-sm);color:var(--text-muted);margin:auto;padding:24px 0}.chat-history-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chat-history-row{border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:stretch;gap:2px;display:flex}.chat-history-row:hover{background:var(--bg-hover)}.chat-history-row.is-active{background:color-mix(in srgb, var(--accent-blue) 12%, transparent)}.chat-history-row.is-leaving{pointer-events:none;transform-origin:50%;animation:chat-row-pop var(--duration-slow,.34s) var(--ease-emphasized,ease) forwards, chat-row-collapse var(--duration-slow,.34s) var(--ease-emphasized,ease) forwards;overflow:hidden}@keyframes chat-row-pop{0%{opacity:1;transform:scale(1)}30%{transform:scale(1.06)}to{opacity:0;transform:scale(.6)}}@keyframes chat-row-collapse{0%{max-height:60px;margin-bottom:0}55%{max-height:60px}to{max-height:0;margin-bottom:-2px;padding-top:0;padding-bottom:0}}.chat-history-open{border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 10px;transition:none;display:flex}.chat-history-open:hover{background:0 0;transform:none}.chat-history-title{font-size:var(--font-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-history-row.is-active .chat-history-title{color:var(--accent-blue);font-weight:500}.chat-history-meta{font-size:var(--font-xs);color:var(--text-muted)}.chat-history-delete{border-radius:var(--radius-md);width:30px;color:var(--text-muted);cursor:pointer;opacity:.6;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-history-delete svg{flex-shrink:0}.chat-history-delete:hover,.chat-history-delete:focus-visible{color:var(--accent-red);opacity:1;background:0 0;transform:none}.chat-trash-lid{transform-box:view-box;transform-origin:4px 7px;transition:transform var(--transition-fast) var(--ease-emphasized,ease)}.chat-history-delete:hover .chat-trash-lid,.chat-history-delete:focus-visible .chat-trash-lid{transform:rotate(-22deg)}.chat-history-delete:active .chat-trash-lid{transform:rotate(-32deg)translateY(-1px)}.chat-history-delete:focus-visible,.chat-history-open:focus-visible,.chat-tab-label:focus-visible,.chat-tab-close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-panel-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-panel-empty{text-align:center;font-size:var(--font-sm);color:var(--text-muted);margin:auto 0;line-height:1.6}.chat-msg{flex-direction:column;gap:8px;max-width:100%;display:flex}.chat-msg--user{align-items:flex-end}.chat-msg--assistant{align-items:flex-start}.chat-msg-bubble{width:fit-content;font-size:var(--font-base);white-space:pre-wrap;word-break:break-word;border-radius:18px;max-width:85%;padding:9px 14px;line-height:1.5;display:inline-block}.chat-msg--user .chat-msg-bubble{background:var(--accent-blue);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-msg--user.is-sending .chat-msg-bubble{transform-origin:100% 100%;will-change:transform, opacity;animation:.46s cubic-bezier(.22,1,.36,1) chat-send-rise}@keyframes chat-send-rise{0%{opacity:0;transform:translateY(14px)scale(.9)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}.chat-msg--assistant .chat-msg-bubble{background:var(--bg-hover);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm);white-space:normal}.chat-md-p{white-space:pre-wrap;margin:0 0 8px}.chat-md-p:last-child{margin-bottom:0}.chat-md-list{margin:4px 0 8px;padding-left:20px}.chat-md-list li{margin:2px 0}.chat-md-list:last-child{margin-bottom:0}.chat-md-code{background:var(--bg-hover);border:1px solid var(--border-dark);border-radius:var(--radius-sm);padding:1px 5px;font-family:SF Mono,ui-monospace,monospace;font-size:.9em}.chat-md-table{border-collapse:collapse;width:100%;font-size:var(--font-sm);margin:4px 0 8px;display:block;overflow-x:auto}.chat-md-table th,.chat-md-table td{border:1px solid var(--border-dark);text-align:left;white-space:nowrap;padding:4px 8px}.chat-md-table th{background:var(--bg-hover);font-weight:600}.chat-md-table:last-child{margin-bottom:0}.chat-followups{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chat-followups--starters{justify-content:center;margin-top:12px}.chat-followup-chip{border:1px dashed var(--border-dark);border-radius:var(--radius-lg);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:5px 10px}.chat-followup-chip:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-blue)}.chat-followup-chip:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-msg-links{flex-wrap:wrap;gap:8px;display:flex}.chat-link-btn{background:var(--bg-card);border:1px solid var(--accent-blue);font-size:var(--font-sm);color:var(--accent-blue);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border-radius:999px;padding:6px 14px;font-weight:500}.chat-link-btn:hover{background:var(--accent-blue);color:#fff}.chat-link-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-activity{font-size:var(--font-sm);color:var(--text-muted);align-items:center;gap:8px;padding:4px 16px 6px;display:flex}.chat-activity-label{background:linear-gradient(90deg, var(--text-muted) 0%, var(--text-primary) 50%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:2.4s linear infinite chat-activity-shimmer}@keyframes chat-activity-shimmer{to{background-position:-200% 0}}.chat-tool-spinner{border:2px solid var(--border-dark);border-top-color:var(--accent-blue);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.7s linear infinite chat-spin}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-thinking-dots{gap:3px;display:inline-flex}.chat-thinking-dots span{background:var(--accent-blue);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite chat-thinking-bounce}.chat-thinking-dots span:nth-child(2){animation-delay:.15s}.chat-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes chat-thinking-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-tool-spinner,.chat-panel,.chat-history{animation:none}.chat-thinking-dots span{opacity:.6;animation:none}.chat-msg--user.is-sending .chat-msg-bubble{animation:none}.chat-trash-lid{transition:none}.chat-history-delete:hover .chat-trash-lid,.chat-history-delete:focus-visible .chat-trash-lid,.chat-history-delete:active .chat-trash-lid{transform:none}.chat-history-row.is-leaving,.chat-tab.is-leaving{opacity:0;pointer-events:none;animation:none}.chat-activity-label{-webkit-text-fill-color:currentColor;color:var(--text-secondary);background:0 0;animation:none}.chat-tab-status{background:var(--dot-a);animation:none}.chat-tab-label:hover .chat-tab-label-text{text-overflow:ellipsis;width:auto;max-width:100%;animation:none;overflow:hidden;transform:none}}.chat-panel-error{background:color-mix(in srgb, var(--accent-red) 12%, transparent);border:1px solid var(--accent-red);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--accent-red);align-self:stretch;padding:10px 14px}.chat-panel-composer{border-top:1px solid var(--border-dark)}.chat-panel-input-row{align-items:center;padding:12px 16px;display:flex;position:relative}.chat-panel-input{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--text-primary);outline:none;flex:1;padding:10px 44px 10px 12px;font-family:inherit}.chat-panel-input:focus,.chat-panel-input:focus-visible{border-color:color-mix(in srgb, var(--border-dark) 80%, var(--text-muted));outline:none}.chat-panel-input::placeholder{color:var(--text-muted)}.chat-panel-input:disabled{opacity:.6}.chat-panel-send{width:32px;height:32px;color:var(--accent-blue);cursor:pointer;transition:color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:auto 0;padding:0;display:inline-flex;position:absolute;top:0;bottom:0;right:20px}.chat-panel-send svg{transition:filter var(--transition-fast);flex-shrink:0;margin-left:1px}.chat-panel-send:hover{background:0 0;transform:none}.chat-panel-send:hover:not(:disabled){color:var(--accent-blue-hover)}.chat-panel-send:hover:not(:disabled) svg{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent-blue) 70%, transparent)) drop-shadow(0 0 2px color-mix(in srgb, var(--accent-blue) 90%, transparent))}.chat-panel-send:active:not(:disabled){transform:scale(.9)!important}.chat-panel-send:disabled{opacity:.4;cursor:default}.chat-panel-send:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.chat-panel-stop{color:var(--accent-red)}.chat-panel-stop svg{margin-left:0}.chat-panel-stop:hover:not(:disabled){color:color-mix(in srgb, var(--accent-red) 88%, black);background:0 0}.chat-panel-stop:hover:not(:disabled) svg{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent-red) 70%, transparent)) drop-shadow(0 0 2px color-mix(in srgb, var(--accent-red) 90%, transparent))}.chat-panel-stop:focus-visible{outline-color:var(--accent-red)}.keyboard-shortcuts-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.keyboard-shortcuts-modal{background:var(--bg-card);border-radius:var(--radius-md);width:100%;max-width:600px;max-height:90vh;animation:.2s ease-out modalFadeIn;overflow-y:auto;box-shadow:0 10px 25px #0000000d}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--bg-hover);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{font-size:var(--font-2xl);color:var(--text-primary);margin:0;font-weight:600}.close-button{font-size:var(--font-2xl);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;transition:background-color .2s,color .2s;display:flex}.close-button:hover{background-color:var(--bg-panel);color:var(--text-primary)}.close-button:focus{outline:2px solid var(--chart-blue);outline-offset:2px}.modal-content{padding:1.5rem}.shortcuts-category{margin-bottom:2rem}.shortcuts-category:last-child{margin-bottom:0}.shortcuts-category h3{font-size:var(--font-lg);color:var(--text-secondary);margin:0 0 1rem;font-weight:600}.shortcuts-list{gap:.75rem;margin:0;display:grid}.shortcut-item{grid-template-columns:auto 1fr;align-items:center;gap:1rem;display:grid}.shortcut-key{margin:0}.shortcut-key kbd{background-color:var(--bg-panel);border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-family:Courier New,Courier,monospace;font-size:var(--font-md);color:var(--text-primary);text-align:center;min-width:2rem;padding:.25rem .5rem;font-weight:600;display:inline-block;box-shadow:0 1px 2px #0000000d}.shortcut-description{color:var(--text-muted);font-size:var(--font-md);margin:0}.modal-footer{border-top:1px solid var(--bg-hover);background-color:var(--bg-dark);border-bottom-right-radius:8px;border-bottom-left-radius:8px;padding:1rem 1.5rem}.help-text{font-size:var(--font-md);color:var(--text-muted);text-align:center;margin:0}.help-text kbd{background-color:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--radius-sm);font-family:Courier New,Courier,monospace;font-size:var(--font-sm);color:var(--text-primary);padding:.125rem .375rem;font-weight:600;display:inline-block}@media (max-width:640px){.keyboard-shortcuts-modal{border-radius:0;max-width:100%;max-height:100vh}.modal-header,.modal-content,.modal-footer{padding:1rem}.shortcut-item{grid-template-columns:1fr;gap:.25rem}.shortcut-key kbd{min-width:auto}}@media (prefers-contrast:high){.keyboard-shortcuts-modal,.shortcut-key kbd{border:2px solid #000}}@media (prefers-reduced-motion:reduce){.keyboard-shortcuts-modal{animation:none}}.tour-overlay{z-index:9998;cursor:pointer;background:#00000080;position:fixed;inset:0}.tour-highlight{border-radius:var(--radius-lg);z-index:9999;pointer-events:none;transition:all var(--duration-normal,.25s) var(--ease-standard,ease);position:fixed;box-shadow:0 0 0 9999px #00000080}.tour-tooltip{z-index:10000;background:var(--bg-card,#fff);border:1px solid var(--border-dark,var(--border-dark));border-radius:var(--radius-2xl);width:320px;max-width:calc(100vw - 32px);padding:16px;animation:.2s forwards tour-fade-in;position:fixed;box-shadow:0 8px 32px #00000026}@keyframes tour-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tour-tooltip__page{font-size:var(--font-xs);color:var(--text-muted,var(--text-muted));text-transform:uppercase;letter-spacing:.5px;font-weight:600}.tour-tooltip__close{font-size:var(--font-lg);cursor:pointer;color:var(--text-muted,var(--text-muted));border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px}.tour-tooltip__close:hover{background:var(--bg-hover,var(--bg-hover))}.tour-tooltip__title{font-size:var(--font-md);color:var(--text-primary,var(--text-primary));margin:0 0 4px;font-weight:600}.tour-tooltip__content{font-size:var(--font-base);color:var(--text-secondary,var(--text-secondary));margin:0 0 12px;line-height:1.5}.tour-tooltip__footer{justify-content:space-between;align-items:center;display:flex}.tour-tooltip__progress{font-size:var(--font-xs);color:var(--text-muted,var(--text-muted))}.tour-tooltip__actions{gap:8px;display:flex}.tour-tooltip__skip{font-size:var(--font-sm);color:var(--text-muted,var(--text-muted));cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:6px 10px}.tour-tooltip__skip:hover{background:var(--bg-hover,var(--bg-hover))}.tour-tooltip__next{background:var(--accent-blue,var(--accent-blue));color:#fff;font-size:var(--font-sm);border-radius:var(--radius-md);cursor:pointer;border:none;padding:6px 14px;font-weight:500}.tour-tooltip__next:hover{opacity:.9}.skip-link{z-index:10000;background:var(--accent-blue);color:#fff;font-size:var(--font-md);border-radius:var(--radius-md);transition:top var(--transition-fast);padding:12px 24px;font-weight:600;text-decoration:none;position:fixed;top:-100%;left:16px;box-shadow:0 4px 12px #00000026}.skip-link:focus{top:max(16px, var(--safe-top,0px));left:max(16px, var(--safe-left,0px));outline:2px solid var(--accent-blue);outline-offset:2px}.config-loading,.auth-loading{background:var(--bg-dark);flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.config-loading p,.auth-loading p{font-size:var(--font-lg);color:var(--text-muted);margin-top:24px;font-weight:500}.config-error,.auth-error{background:var(--bg-dark);text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex}.config-error h2,.auth-error h2{color:var(--color-danger);font-size:var(--font-2xl);letter-spacing:-.5px;margin-bottom:16px;font-weight:600}.config-error p,.auth-error p{color:var(--text-muted);max-width:600px;line-height:1.6;font-size:var(--font-lg);margin-bottom:12px}.retry-button{background:var(--color-link);color:#fff;border-radius:var(--radius-2xl);font-size:var(--font-lg);cursor:pointer;border:none;margin-top:32px;padding:12px 32px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0071e333}.retry-button:hover{background:var(--accent-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0071e34d}.retry-button:active{transform:translateY(0);box-shadow:0 2px 6px #0071e333}.loading-spinner{border:3px solid var(--border-dark);border-top-color:var(--color-link);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}
