@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--palette-parchment:#efe6d6;--palette-parchment-deep:#e6dbc7;--palette-ivory:#faf5ec;--palette-bone:#f3ecdf;--palette-bone-deep:#e8dec9;--palette-taupe:#c8b89c;--palette-taupe-strong:#a89678;--palette-espresso:#2a221c;--palette-espresso-soft:#4a3f36;--palette-warm-gray:#7a6e62;--palette-warm-gray-soft:#9a8d7e;--palette-navy:#1c2c4e;--palette-navy-deep:#122039;--palette-navy-soft:#3a4d72;--palette-navy-tint:#1c2c4e1a;--palette-midnight:#0e1622;--palette-midnight-deep:#080d17;--palette-midnight-lift:#131c2c;--palette-midnight-soft:#1a2438;--palette-midnight-input:#182338;--palette-brass:#c39b54;--palette-brass-deep:#a37e3a;--palette-brass-soft:#d6b577;--palette-brass-tint:#c39b5424;--palette-cream:#ece4d2;--palette-cream-soft:#d6cdb9;--palette-stone:#8c8474;--palette-stone-soft:#6a6357;--palette-teal-glow:#50868e2e;--palette-status-success-l:#4a7a5a;--palette-status-success-d:#8aae93;--palette-status-warn-l:#b8843a;--palette-status-warn-d:#d6a868;--palette-status-danger-l:#a13b3b;--palette-status-danger-d:#d97a76;--palette-status-info-l:#3a5a82;--palette-status-info-d:#8ab0d4;--font-display:"Fraunces", ui-serif, Georgia, "Iowan Old Style", serif;--font-sans:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--leading-tight:1.18;--leading-snug:1.35;--leading-normal:1.55;--leading-loose:1.75;--tracking-tightest:-.025em;--tracking-tight:-.012em;--tracking-normal:0;--tracking-wide:.06em;--tracking-wider:.1em;--tracking-widest:.18em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.22s;--dur-slow:.36s;--blur-sm:0px;--blur-md:0px;--blur-lg:0px;--z-nav:10;--z-overlay-panel:20;--z-side-tooltip:30;--z-modal-scrim:50;--z-modal:51;--z-tooltip:60;--card-radius:var(--radius-lg);--card-border-width:1px;--card-top-accent-width:2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fg:var(--palette-espresso);--fg-muted:var(--palette-warm-gray);--fg-subtle:var(--palette-warm-gray-soft);--fg-on-accent:var(--palette-ivory);--bg:var(--palette-parchment);--bg-gradient:radial-gradient(ellipse 80% 60% at 18% 12%, #1c2c4e14 0%, transparent 62%), radial-gradient(ellipse 70% 60% at 86% 22%, #c39b541a 0%, transparent 64%), radial-gradient(ellipse 100% 75% at 50% 100%, #a896782e 0%, transparent 70%), linear-gradient(180deg, #efe6d6 0%, #e6dbc7 100%);--surface:var(--palette-ivory);--surface-solid:var(--palette-ivory);--surface-elevated:#fdfaf3;--surface-sunken:var(--palette-bone);--surface-input:var(--palette-bone);--surface-hover:#1c2c4e0f;--surface-pressed:#1c2c4e1a;--border:#a896788c;--border-strong:#6a5a428c;--border-soft:#a8967847;--accent:var(--palette-navy);--accent-soft:var(--palette-navy-soft);--accent-tint:var(--palette-navy-tint);--accent-contrast:var(--palette-ivory);--accent-hover:var(--palette-navy-deep);--accent-highlight:var(--palette-brass);--info:var(--palette-status-info-l);--success:var(--palette-status-success-l);--warn:var(--palette-status-warn-l);--danger:var(--palette-status-danger-l);--focus-ring:#1c2c4e52;--focus-ring-strong:#1c2c4e8c;--scrim:#1c1e246b;--glass-bg:var(--palette-ivory);--glass-bg-strong:var(--surface-elevated);--glass-border:#a896788c;--glass-shadow:0 1px 0 0 #fffcf499 inset, 0 8px 24px -16px #32281c2e, 0 1px 2px #32281c0f;--card-top-accent:var(--palette-navy);--status-on:var(--palette-navy);--status-off:#78695559;--graph-canvas-bg:var(--palette-parchment);--graph-grid-line:#6a5a421a}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fg:var(--palette-cream);--fg-muted:var(--palette-stone);--fg-subtle:var(--palette-stone-soft);--fg-on-accent:var(--palette-midnight-deep);--bg:var(--palette-midnight);--bg-gradient:radial-gradient(ellipse 65% 55% at 12% 8%, #50868e2e 0%, transparent 60%), radial-gradient(ellipse 55% 50% at 92% 18%, #c39b541a 0%, transparent 62%), radial-gradient(ellipse 90% 70% at 50% 100%, #080d17eb 0%, transparent 70%), linear-gradient(180deg, #0e1622 0%, #080d17 100%);--surface:var(--palette-midnight-lift);--surface-solid:var(--palette-midnight-lift);--surface-elevated:var(--palette-midnight-soft);--surface-sunken:var(--palette-midnight-deep);--surface-input:var(--palette-midnight-input);--surface-hover:#c39b541a;--surface-pressed:#c39b5429;--border:#ece4d21f;--border-strong:#ece4d23d;--border-soft:#ece4d20f;--accent:var(--palette-brass);--accent-soft:var(--palette-brass-soft);--accent-tint:var(--palette-brass-tint);--accent-contrast:var(--palette-midnight-deep);--accent-hover:var(--palette-brass-soft);--accent-highlight:var(--palette-cream);--info:var(--palette-status-info-d);--success:var(--palette-status-success-d);--warn:var(--palette-status-warn-d);--danger:var(--palette-status-danger-d);--focus-ring:#c39b5461;--focus-ring-strong:#c39b5499;--scrim:#04080eb8;--glass-bg:var(--palette-midnight-lift);--glass-bg-strong:var(--palette-midnight-soft);--glass-border:#ece4d21f;--glass-shadow:0 1px 0 0 #ece4d20a inset, 0 16px 48px -24px #000000b3, 0 1px 2px #0006;--card-top-accent:var(--palette-brass);--status-on:var(--palette-brass);--status-off:#ece4d22e;--graph-canvas-bg:var(--palette-midnight);--graph-grid-line:#ece4d20f}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fg:var(--palette-cream);--fg-muted:var(--palette-stone);--fg-subtle:var(--palette-stone-soft);--fg-on-accent:var(--palette-midnight-deep);--bg:var(--palette-midnight);--bg-gradient:radial-gradient(ellipse 65% 55% at 12% 8%, #50868e2e 0%, transparent 60%), radial-gradient(ellipse 55% 50% at 92% 18%, #c39b541a 0%, transparent 62%), radial-gradient(ellipse 90% 70% at 50% 100%, #080d17eb 0%, transparent 70%), linear-gradient(180deg, #0e1622 0%, #080d17 100%);--surface:var(--palette-midnight-lift);--surface-solid:var(--palette-midnight-lift);--surface-elevated:var(--palette-midnight-soft);--surface-sunken:var(--palette-midnight-deep);--surface-input:var(--palette-midnight-input);--surface-hover:#c39b541a;--surface-pressed:#c39b5429;--border:#ece4d21f;--border-strong:#ece4d23d;--border-soft:#ece4d20f;--accent:var(--palette-brass);--accent-soft:var(--palette-brass-soft);--accent-tint:var(--palette-brass-tint);--accent-contrast:var(--palette-midnight-deep);--accent-hover:var(--palette-brass-soft);--accent-highlight:var(--palette-cream);--info:var(--palette-status-info-d);--success:var(--palette-status-success-d);--warn:var(--palette-status-warn-d);--danger:var(--palette-status-danger-d);--focus-ring:#c39b5461;--focus-ring-strong:#c39b5499;--scrim:#04080eb8;--glass-bg:var(--palette-midnight-lift);--glass-bg-strong:var(--palette-midnight-soft);--glass-border:#ece4d21f;--glass-shadow:0 1px 0 0 #ece4d20a inset, 0 16px 48px -24px #000000b3, 0 1px 2px #0006;--card-top-accent:var(--palette-brass);--status-on:var(--palette-brass);--status-off:#ece4d22e;--graph-canvas-bg:var(--palette-midnight);--graph-grid-line:#ece4d20f}}:root{transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out)}.themed-transition,.top-nav,.side-nav,.dashboard-main,.graph-canvas-wrapper,.graph-canvas-container,.dialog-content,.dialog-overlay,.node-detail-panel,.dynamic-legend,.ui-button,.ui-input,.ui-badge{transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}@media (prefers-reduced-motion:reduce){:root,.themed-transition,.top-nav,.side-nav,.dashboard-main,.graph-canvas-wrapper,.graph-canvas-container,.dialog-content,.dialog-overlay,.node-detail-panel,.dynamic-legend,.ui-button,.ui-input,.ui-badge{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--leading-normal);color:var(--fg);background:var(--bg);background-image:var(--bg-gradient);overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;overflow:hidden}@media (hover:none) and (pointer:coarse){button,.ui-button,.side-nav-btn,.mobile-nav-item,.dynamic-legend-item,.node-detail-neighbor-btn,.search-result-item{min-height:38px}}html,*,:before,:after{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted);background-clip:padding-box}::-webkit-scrollbar-button{width:0;height:0;display:none}.dynamic-legend,.node-detail-body,.node-detail-neighbors,.dialog-content,.search-modal-results,.sources-schedules,.modal-body,.sources-sidebar-list,.snapshot-list,.currently-rendered-rail,.sync-issues-inline,.top-nav-search-dropdown,.sources-settings-detail,.sources-sidebar,.sources-settings-body{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain}.side-nav{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:contain}.side-nav::-webkit-scrollbar{width:0;height:0;display:none}.dashboard{overscroll-behavior:none;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.dashboard-body{min-height:0;padding:var(--space-3);gap:var(--space-3);flex:1;display:flex;overflow:hidden}.dashboard-main{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);min-width:0;-webkit-backdrop-filter:blur(var(--blur-sm)) saturate(140%);box-shadow:var(--glass-shadow);flex:1;position:relative;overflow:hidden}@media (width<=1023px){.dashboard-body{padding:var(--space-3);padding-left:max(var(--space-3), env(safe-area-inset-left));padding-right:max(var(--space-3), env(safe-area-inset-right));gap:var(--space-3)}.dashboard-main{padding-bottom:calc(76px + var(--space-4) + env(safe-area-inset-bottom))}}@media (width<=640px){.dashboard-body{padding:var(--space-2);padding-left:max(var(--space-2), env(safe-area-inset-left));padding-right:max(var(--space-2), env(safe-area-inset-right))}.dashboard-main{border-radius:var(--radius-md)}}.view-root{height:100%;min-height:0;display:block}.view-root.is-hidden{display:none}.top-nav{align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:56px;margin:var(--space-3) var(--space-3) 0;border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);flex-shrink:0;grid-template-columns:1fr auto 1fr;display:grid}.top-nav-brand-group{align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none;padding-left:var(--space-2);display:flex}.top-nav-brand-mark{background:var(--accent);width:18px;height:18px;color:var(--accent-contrast);border-radius:2px;justify-content:center;align-items:center;display:inline-flex;position:relative;transform:rotate(45deg)}.top-nav-brand-mark>*{transform:rotate(-45deg)}.top-nav-brand{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-light);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);font-variation-settings:"opsz" 36, "SOFT" 80;color:var(--fg)}.top-nav-center{justify-content:center;align-items:center;display:flex}.top-nav-search{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-input);width:min(440px,60vw);height:36px;color:var(--fg-muted);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:flex}@media (width<=900px){.top-nav-search{width:min(300px,50vw)}}@media (width<=640px){.top-nav-search{width:min(200px,44vw);padding:0 var(--space-2)}.top-nav-search-wrap{max-width:100%}}.top-nav-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.top-nav-search input,.top-nav-search .ui-input{width:100%;min-width:0;height:100%;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--fg);box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:0}.top-nav-search input:focus,.top-nav-search .ui-input:focus,.top-nav-search input:hover,.top-nav-search .ui-input:hover{box-shadow:none;background:0 0;border:0;outline:0}.top-nav-search input::placeholder,.top-nav-search .ui-input::placeholder{color:var(--fg-subtle)}.top-nav-search-wrap{width:100%;max-width:480px;position:relative}.top-nav-search-dropdown{max-height:320px;z-index:var(--z-tooltip);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--glass-shadow);flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.top-nav-search-empty{font-size:var(--text-xs);color:var(--fg-subtle);padding:10px 12px}.top-nav-search-item{border-radius:var(--radius-xs);color:var(--fg);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.top-nav-search-item.is-active,.top-nav-search-item:hover{background:var(--surface-hover)}.top-nav-search-item-name{font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-nav-search-item-sub{font-size:var(--text-2xs);color:var(--fg-subtle);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.top-nav{margin-top:max(var(--space-2), env(safe-area-inset-top));margin-left:max(var(--space-2), env(safe-area-inset-left));margin-right:max(var(--space-2), env(safe-area-inset-right));height:54px;padding:0 var(--space-3);grid-template-columns:1fr auto}.top-nav-center{display:none}.top-nav-brand{font-size:var(--text-md)}.top-nav-stats{gap:var(--space-2);padding-right:0}}.top-nav-stats{justify-content:flex-end;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding-right:var(--space-2);color:var(--fg-muted);display:flex}.top-nav-status{align-items:center;gap:var(--space-1);padding:4px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);display:inline-flex}.top-nav-status.is-down{opacity:.65}.top-nav-status.is-pending .status-dot{background:repeating-linear-gradient(45deg, var(--fg-muted) 0 2px, transparent 2px 4px)}.top-nav-status-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.status-dot{border:1px solid var(--border-strong);background:var(--status-off);border-radius:50%;width:8px;height:8px}.status-dot.on{background:var(--status-on);border-color:var(--status-on);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-on) 25%, transparent)}.status-dot.off{background:0 0}.side-nav{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);width:64px;box-shadow:var(--glass-shadow);padding:var(--space-2);gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.side-nav-collapse{border-radius:var(--radius-md);height:32px;color:var(--fg-muted);cursor:pointer;margin-bottom:var(--space-1);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.side-nav-collapse:hover{background:var(--surface-hover);color:var(--fg)}.side-nav-reopen{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);width:28px;min-width:28px;color:var(--fg-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.side-nav-reopen:hover{background:var(--surface-hover);color:var(--fg)}.side-nav-item{position:relative}.side-nav-btn{width:100%;padding:var(--space-2) 0;border-radius:var(--radius-md);color:var(--fg-muted);cursor:pointer;font-size:var(--text-2xs);font-family:var(--font-sans);font-weight:var(--fw-medium);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.side-nav-btn:hover{background:var(--surface-hover);color:var(--fg)}.side-nav-badge{padding:1px var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-subtle);margin-top:2px;font-size:11px}.side-nav-tooltip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--fg);border:1px solid var(--border);box-shadow:var(--glass-shadow);font-size:var(--text-xs);white-space:nowrap;z-index:var(--z-side-tooltip);position:absolute;top:50%;left:70px;transform:translateY(-50%)}.side-nav-spacer{flex:1}.side-nav-footer{padding:var(--space-3) 0 var(--space-2);margin-top:var(--space-2);border-top:1px solid var(--border-soft);justify-content:center;align-items:center;display:flex;position:relative}.side-nav-avatar{border:1px solid var(--border-strong);background:var(--accent);width:38px;height:38px;color:var(--accent-contrast);cursor:pointer;font-family:var(--font-display);font-style:italic;font-size:var(--text-md);font-weight:var(--fw-regular);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}.side-nav-avatar:hover{background:var(--accent-hover);box-shadow:0 0 0 4px var(--focus-ring);transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.mobile-nav{left:max(var(--space-3), env(safe-area-inset-left));right:max(var(--space-3), env(safe-area-inset-right));bottom:max(var(--space-3), calc(env(safe-area-inset-bottom) + var(--space-2)));height:68px;padding:0 var(--space-2);border-radius:var(--radius-lg);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-top:2px solid var(--card-top-accent);box-shadow:var(--glass-shadow);z-index:var(--z-nav);display:none;position:fixed}@media (width<=1023px){.mobile-nav{justify-content:space-around;align-items:stretch;gap:var(--space-1);display:flex}}.mobile-nav-item{min-height:52px;padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal);color:var(--fg-muted);-webkit-tap-highlight-color:transparent;transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.mobile-nav-item:active{background:var(--surface-hover);color:var(--fg)}.mobile-nav-item.is-active{color:var(--accent)}.mobile-nav-item.is-active:before{content:"";background:var(--accent);border-radius:0;width:14px;height:2px;position:absolute;top:-3px}.mobile-nav-item{position:relative}.graph-page{height:100%;padding:var(--space-3);gap:var(--space-3);display:flex;overflow:hidden}@media (width<=1023px){.graph-page{padding:var(--space-2);padding-bottom:var(--space-3);gap:var(--space-2);flex-direction:column}}.graph-mobile-search{display:none}@media (width<=640px){.graph-mobile-search{align-items:center;gap:var(--space-2);padding:0 var(--space-1);margin-bottom:var(--space-1);flex-shrink:0;display:flex}.graph-mobile-search>*{flex:1;min-width:0}}.graph-canvas-wrapper{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--surface-elevated);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}@media (width<=1023px){.graph-canvas-wrapper{min-height:420px}}@media (width<=640px){.graph-canvas-wrapper{min-height:480px}}.graph-canvas,.graph-canvas-inner,.graph-canvas-container{width:100%;height:100%;position:absolute;inset:0}.graph-canvas-container{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:var(--graph-canvas-bg);background-image:linear-gradient(var(--graph-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--graph-grid-line) 1px, transparent 1px);background-position:0 0;background-size:50px 50px}.graph-canvas-wrapper{background:var(--graph-canvas-bg)}.graph-loading-overlay{pointer-events:none;z-index:5;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 4%, transparent) 0%, transparent 60%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.graph-loading-overlay.is-blocking{pointer-events:auto;cursor:progress}.graph-canvas-container.is-loading{pointer-events:none}.graph-loading-text{font-family:var(--font-mono);color:var(--fg-muted);font-size:13px}.graph-overlay-bottom-left{left:var(--space-3);bottom:var(--space-3);z-index:var(--z-overlay-panel);pointer-events:none;position:absolute}.graph-overlay-top-right{right:var(--space-3);top:var(--space-3);z-index:var(--z-overlay-panel);pointer-events:none;position:absolute}.graph-overlay-bottom-right{right:var(--space-3);bottom:var(--space-3);z-index:var(--z-overlay-panel);pointer-events:none;position:absolute}.graph-toolbar{right:var(--space-3);gap:var(--space-1);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);z-index:var(--z-overlay-panel);flex-direction:column;padding:4px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.graph-toolbar button{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;font-size:var(--text-md);color:var(--fg-muted);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;line-height:1;display:flex}.graph-toolbar button:hover{background:var(--surface-hover);color:var(--fg)}.node-detail-panel{border-radius:var(--radius-lg);background:var(--glass-bg-strong);border:1px solid var(--glass-border);width:320px;-webkit-backdrop-filter:blur(var(--blur-md)) saturate(160%);box-shadow:var(--glass-shadow);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}@media (width<=1023px){.node-detail-panel{right:var(--space-3);width:calc(100% - var(--space-6));max-width:360px;z-index:var(--z-overlay-panel);position:fixed;top:76px;bottom:80px}}@media (width<=640px){.node-detail-panel{top:auto;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;width:100%;max-width:none;max-height:55vh;box-shadow:0 -12px 32px #00000073}}.node-detail-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.node-detail-header h3{font-family:var(--font-display);font-style:italic;font-size:var(--text-md);font-weight:var(--fw-regular);letter-spacing:var(--tracking-tight);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.node-detail-body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.node-detail-row{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);align-items:baseline;display:flex}.node-detail-row code{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;text-align:right;flex:1;min-width:0}.node-detail-label{color:var(--fg-subtle);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-2xs);flex-shrink:0}.node-detail-value{color:var(--fg);text-align:right;word-break:break-word;flex:1;min-width:0}.node-detail-section{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft);flex-direction:column;display:flex}.node-detail-section:last-child{border-bottom:0;padding-bottom:0}.node-detail-section-title{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--fg-muted);margin-bottom:2px}.node-detail-section-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.node-detail-section-header .node-detail-section-title{margin-bottom:0}.node-detail-section-actions{align-items:center;gap:4px;display:inline-flex}.node-detail-regen-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);width:22px;height:22px;color:var(--fg-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.node-detail-regen-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.node-detail-regen-btn:disabled{opacity:.45;cursor:not-allowed}.node-detail-regen-btn .spin{animation:1s linear infinite regen-spin}@keyframes regen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.node-detail-description{font-size:var(--text-sm);line-height:var(--leading-loose);white-space:pre-wrap;word-break:break-word;color:var(--fg)}.node-detail-muted{font-size:var(--text-sm);color:var(--fg-subtle)}.node-detail-view-file{align-items:center;gap:var(--space-1);margin-top:var(--space-2);display:inline-flex}.node-file-meta{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--fg-muted);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.node-file-truncated{color:var(--warn)}.node-file-copy-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--fg-muted);cursor:pointer;font-size:var(--text-xs);align-items:center;gap:4px;margin-left:auto;padding:2px 8px;line-height:1.4;display:inline-flex}.node-file-copy-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.node-file-copy-btn:disabled{opacity:.45;cursor:not-allowed}.node-file-modal.dialog-content{background:color-mix(in srgb, var(--glass-bg-strong) 65%, var(--surface-solid))}.node-file-content{max-height:60vh;padding:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);white-space:pre;color:var(--fg);margin:0;overflow:auto}.node-detail-neighbors{padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:3px;height:220px;margin:0;list-style:none;display:flex;overflow-y:auto}.node-detail-neighbor{list-style:none}.node-detail-neighbor-btn{align-items:center;gap:var(--space-2);width:100%;padding:5px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:var(--fg);background:0 0;border:1px solid #0000;display:flex}.node-detail-neighbor-btn:hover{background:var(--surface-hover);border-color:var(--border)}.node-detail-neighbor-type{width:22px;height:22px;font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.node-detail-neighbor-name{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.node-detail-neighbor-id{font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.node-detail-neighbor-weight{font-size:var(--text-xs);color:var(--fg-subtle);font-variant-numeric:tabular-nums;flex-shrink:0}.node-detail-snapshot-picker{gap:var(--space-2,.5rem);align-items:center;display:flex}.node-detail-snapshot-picker select{padding:var(--space-2,.5rem) var(--space-3,.75rem);border-radius:var(--radius-2,6px);background:var(--surface-2,#ffffff0d);color:var(--text-1,currentColor);border:1px solid var(--border-1,#ffffff1a);font-family:inherit;font-size:var(--font-size-sm,.875rem);flex:1}.node-detail-divergent-badge{font-size:var(--font-size-xs,.75rem);border-radius:var(--radius-1,4px);background:var(--accent-warn-bg,#ffaa0026);color:var(--accent-warn-fg,currentColor);padding:2px 6px}@keyframes violation-pulse{0%,to{opacity:1;box-shadow:0 0 10px color-mix(in srgb, var(--danger) 45%, transparent)}50%{opacity:.7;box-shadow:0 0 22px color-mix(in srgb, var(--danger) 70%, transparent)}}.violation-pulse{animation:2.4s ease-in-out infinite violation-pulse}.signals-overlay{pointer-events:auto;flex-direction:column;gap:2px;display:flex}.signals-overlay-row{font-family:var(--font-mono);color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.signals-overlay-dot{flex-shrink:0;font-size:5px}.signals-overlay-label{color:var(--fg);font-weight:500}.signals-overlay-node{color:var(--fg-muted);text-overflow:ellipsis;max-width:200px;overflow:hidden}.violation-badge{border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);pointer-events:auto;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.violation-badge-dot{background:var(--danger);width:6px;height:6px;box-shadow:0 0 6px var(--danger);border-radius:50%}.dynamic-legend{font-family:var(--font-mono);color:var(--fg-muted);pointer-events:auto;flex-direction:column;gap:3px;font-size:12px;display:flex}.dynamic-legend-item{font:inherit;color:var(--fg-muted);cursor:pointer;text-align:left;border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:6px;padding:2px 4px;display:flex}.dynamic-legend-item:hover{color:var(--fg)}.dynamic-legend-item.is-inactive{opacity:.35}.dynamic-legend-item.is-isolated{outline:1px solid var(--accent);outline-offset:-1px;background:var(--surface-hover)}.dynamic-legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.dynamic-legend-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.dynamic-legend-count{color:var(--fg-subtle);font-variant-numeric:tabular-nums}@media (width<=900px){.dynamic-legend{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);gap:4px;padding:8px}.dynamic-legend-item{gap:8px;padding:5px 6px}}.filter-panel{left:var(--space-3);top:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);width:200px;box-shadow:var(--glass-shadow);z-index:var(--z-overlay-panel);position:absolute}.filter-panel-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.filter-panel-header h4{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--fg-muted)}.filter-panel-body{padding:var(--space-2) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.filter-panel-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;display:flex}.callback-page{justify-content:center;align-items:center;gap:var(--space-3);height:100vh;color:var(--fg);flex-direction:column;display:flex}.callback-spinner{border:2px solid var(--accent);border-top-color:#0000;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-status{width:100%;height:100vh;font-size:var(--text-md);font-family:var(--font-sans);color:var(--fg);background:var(--bg);background-image:var(--bg-gradient);justify-content:center;align-items:center;display:flex}.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}.ui-input{width:100%;height:42px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-input);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--fw-regular);letter-spacing:0;color:var(--fg);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);outline:none}.ui-input::placeholder{color:var(--fg-subtle)}.ui-input:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.ui-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface-elevated)}.ui-input[aria-invalid=true],.ui-input.is-error{border-color:var(--danger)}.ui-input[aria-invalid=true]:focus,.ui-input.is-error:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 28%, transparent)}.ui-helper{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--fg-subtle);font-family:var(--font-sans);line-height:var(--leading-snug)}.ui-helper.is-error{color:var(--danger)}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);height:42px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:inline-flex}.ui-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.ui-button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ui-button.is-block,.ui-button.full-width{width:100%}.ui-button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.ui-button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button.danger{background:var(--danger);color:var(--fg-on-accent);border-color:var(--danger)}.ui-button.danger:hover:not(:disabled){filter:brightness(.95)}.ui-label{margin-bottom:var(--space-2);font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--fg-muted);font-family:var(--font-sans);display:block}.ui-badge{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);font-size:var(--text-xs);letter-spacing:.02em;color:var(--fg);align-items:center;display:inline-flex}.dialog-overlay{background:var(--scrim);z-index:var(--z-modal-scrim);pointer-events:auto;cursor:not-allowed;position:fixed;inset:0}.dialog-content{width:calc(100% - var(--space-6));max-width:520px;max-height:calc(100% - var(--space-6));background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-top:2px solid var(--card-top-accent);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-6);z-index:var(--z-modal);cursor:auto;animation:dialog-in var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.dialog-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.dialog-title{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);font-weight:var(--fw-regular);letter-spacing:var(--tracking-tight);color:var(--fg);font-variation-settings:"opsz" 36, "SOFT" 80;line-height:var(--leading-tight);overflow-wrap:anywhere;word-break:break-word;min-width:0}.node-file-modal .dialog-title{font-size:clamp(var(--text-base), 2.2vw, var(--text-xl))}.dialog-description{font-size:var(--text-sm);color:var(--fg-muted);margin-top:var(--space-2);line-height:var(--leading-snug)}.dialog-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);gap:var(--space-2);justify-content:flex-end;display:flex}.modal-body{gap:var(--space-4);padding-right:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.dialog-content>[data-slot=dialog-close]{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;align-self:flex-end;align-items:center;display:inline-flex}.coming-soon-modal{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-3) 0;flex-direction:column;display:flex}.coming-soon-icon{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);font-size:var(--text-xl);justify-content:center;align-items:center;display:flex}.coming-soon-title{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);font-weight:var(--fw-regular);letter-spacing:var(--tracking-tight)}.enrichment-modal,.search-modal,.sources-modal,.settings-modal{gap:var(--space-4);flex-direction:column;display:flex}.enrichment-modal-row,.search-modal-row,.sources-modal-row{gap:var(--space-2);align-items:center;display:flex}.enrichment-modal-field{flex:1}.enrichment-modal-status,.sources-schedule-item{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm)}.search-modal-results,.sources-schedules{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.search-result-item{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;font-family:var(--font-sans)}.search-result-item:hover{background:var(--surface-hover)}.search-result-header{align-items:center;gap:var(--space-2);margin-bottom:2px;display:flex}.search-result-name{font-weight:var(--fw-semibold);color:var(--fg)}.search-result-desc{font-size:var(--text-xs);color:var(--fg-muted);margin-bottom:2px}.search-result-id{font-size:var(--text-xs);color:var(--fg-subtle);font-family:var(--font-mono)}.sources-schedule-item{justify-content:space-between;align-items:center;display:flex}.sources-schedule-actions{gap:var(--space-1);display:flex}.sources-view{gap:var(--space-2);flex-direction:column;display:flex}.sources-view-row,.sources-purge-row{gap:var(--space-2);display:flex}.settings-modal-themes{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.theme-option{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--fg);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:flex}.theme-option:hover{background:var(--surface-hover);border-color:var(--border-strong)}.theme-option:active{transform:scale(.98)}.theme-option.is-active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.theme-option-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, currentColor 12%, transparent);justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.theme-option-label{text-align:left;flex:1}.theme-option-check{font-weight:var(--fw-bold)}.graph-config{gap:var(--space-5);flex-direction:column;display:flex}.graph-config-section{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.graph-config-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.graph-config-section-title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-style:italic;font-size:var(--text-md);font-weight:var(--fw-regular);letter-spacing:var(--tracking-tight);color:var(--fg);display:inline-flex}.graph-config-section-help{font-size:var(--text-xs);color:var(--fg-muted);line-height:var(--leading-loose)}.graph-config-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=480px){.graph-config-grid{grid-template-columns:1fr}}.graph-config-toggle{align-items:center;gap:var(--space-2);padding:4px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.graph-config-toggle input{accent-color:var(--accent);cursor:pointer}.graph-config-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.user-modal{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-2) 0;flex-direction:column;display:flex}.user-modal-avatar{border:1px solid var(--border-strong);background:var(--accent);width:64px;height:64px;color:var(--accent-contrast);font-family:var(--font-display);font-style:italic;font-size:var(--text-2xl);font-weight:var(--fw-regular);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-modal-info{gap:var(--space-1);flex-direction:column;align-items:center;display:flex}.user-modal-name{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-regular);font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.user-modal-tabs{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-3);background:var(--surface);gap:0;display:flex;overflow:hidden}.user-modal-tab{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--fw-medium);color:var(--fg-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:1}.user-modal-tab+.user-modal-tab{border-left:1px solid var(--border)}.user-modal-tab:hover{background:var(--surface-hover);color:var(--fg)}.user-modal-tab.is-active{background:var(--accent);color:var(--accent-contrast)}.user-modal-tab-check{margin-left:var(--space-1);font-weight:var(--fw-bold)}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--fg);cursor:pointer;min-width:140px;display:flex}.select-content{background:var(--surface-solid);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-md);z-index:var(--z-tooltip);box-shadow:var(--glass-shadow)}.select-item{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-6) var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;display:flex;position:relative}.select-item:hover{background:var(--surface-hover)}.select-item-indicator{right:var(--space-2);position:absolute;top:50%;transform:translateY(-50%)}.select-label{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--fg-muted)}.select-separator{background:var(--border);height:1px;margin:var(--space-1) 0}.swap-toast{bottom:var(--space-4);right:var(--space-4);z-index:1000;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--fg);border:1px solid var(--border);border-top:2px solid var(--card-top-accent);box-shadow:var(--glass-shadow);animation:swap-toast-in .22s var(--ease-out);align-items:center;display:flex;position:fixed}@keyframes swap-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sources-modal{flex-direction:column;gap:0;height:100%;max-height:72vh;display:flex}.sources-modal-body{flex:1;gap:0;min-height:0;display:flex}.sources-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;width:240px;min-width:240px;display:flex;overflow-y:auto}.sources-sidebar-add{border-bottom:1px solid var(--border);padding:10px 12px}.sources-sidebar-list{flex:1;max-height:calc(72vh - 120px);overflow-y:auto}.sources-sidebar-footer{font-size:var(--text-xs);border-top:1px solid var(--border);padding:8px 12px}.sources-sidebar-empty{font-size:var(--text-sm);text-align:center;padding:16px}.source-list-item{border-bottom:1px solid var(--border);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.source-list-item:hover{background:var(--surface-hover)}.source-list-item.is-active{background:var(--accent-soft)}.source-list-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.source-list-item-chip{border-radius:var(--radius-xs);letter-spacing:.04em;padding:1px 6px;font-size:11px}.source-list-item-chip.running{background:var(--accent-tint);color:var(--accent)}.source-list-item-loaded-icon,.snapshot-row-loaded-icon{color:var(--accent);opacity:.9;flex-shrink:0}.source-list-item.is-active .source-list-item-loaded-icon{color:var(--accent-contrast);opacity:1}.source-list-item-chevron{opacity:.4}.add-source-input{flex-direction:column;gap:6px;display:flex}.add-source-input>:first-child{gap:6px;display:flex}.add-source-input-error{font-size:var(--text-xs);color:#e07070}.sources-modal-detail{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sources-modal-empty{font-size:var(--text-sm);text-align:center;padding:24px}.source-detail-pane{flex-direction:column;height:100%;display:flex}.detail-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.detail-header-back{font-size:var(--text-xs);padding:4px 8px!important}.detail-header-body{flex:1;min-width:0}.detail-header-title{font-size:var(--text-base);font-weight:600}.detail-header-meta{font-size:var(--text-xs);opacity:.6;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-strip{border-bottom:1px solid var(--border);font-size:var(--text-xs);align-items:center;gap:10px;padding:8px 14px;display:flex}.schedule-popover{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);z-index:100;width:280px;box-shadow:var(--glass-shadow);padding:12px;position:absolute;top:80px;right:20px}.schedule-popover-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.schedule-popover-active-label{font-size:var(--text-xs);opacity:.6;text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px}.schedule-popover-actions{gap:4px;margin-left:auto;display:flex}.schedule-popover-footer{justify-content:flex-end;margin-top:12px;display:flex}.snapshot-list{flex:1;max-height:calc(72vh - 180px);padding:8px 14px;overflow-y:auto}.snapshot-list-paginator{text-align:center;padding:12px 0}.snapshot-row{border-bottom:1px solid var(--border-soft);flex-direction:column;display:flex}.snapshot-row.is-expanded{background:color-mix(in srgb, var(--accent) 5%, transparent)}.snapshot-row-summary{align-items:center;gap:8px;padding:8px 0;display:flex}.snapshot-row-body{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.snapshot-row-body:disabled{cursor:default}.snapshot-row-ts{font-size:var(--text-sm);min-width:80px}.snapshot-row-chip{border-radius:var(--radius-xs);letter-spacing:.04em;padding:2px 6px;font-size:11px}.snapshot-row-chip.status-completed{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.snapshot-row-chip.status-failed{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.snapshot-row-chip.status-cancelled{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.snapshot-row-chip.status-cleaned{background:var(--surface-sunken);color:var(--fg-muted)}.snapshot-row-chip.status-running{background:color-mix(in srgb, var(--info) 18%, transparent);color:var(--info)}.snapshot-row-chip.status-pending{background:var(--surface-sunken);color:var(--fg-muted)}.snapshot-row-progress{font-size:var(--text-xs);opacity:.7;align-items:center;gap:6px;display:inline-flex}.snapshot-row-progress-bar{background:var(--surface-sunken);border-radius:2px;width:80px;height:3px;display:inline-block;overflow:hidden}.snapshot-row-progress-bar>span{background:var(--accent-soft);height:100%;transition:width .3s;display:block}.snapshot-row-progress-bar>span.indeterminate{background:linear-gradient(90deg, transparent 0%, var(--accent-soft) 50%, transparent 100%);background-size:50% 100%;animation:1.6s linear infinite indeterminate-slide}@keyframes indeterminate-slide{0%{background-position:-50% 0}to{background-position:150% 0}}.snapshot-row-progress-spinner{vertical-align:-1px;margin-right:4px;animation:1s linear infinite spin}.sync-expanded-body{gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.snapshot-stats-panel{gap:var(--space-2);flex-direction:column;display:flex}.snapshot-stats-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--fg-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.snapshot-stats-grid{gap:var(--space-1) var(--space-6);grid-template-columns:1fr 1fr;margin:0;display:grid}.snapshot-stats-row{display:contents}.snapshot-stats-row dt{font-size:var(--text-xs);color:var(--fg-subtle)}.snapshot-stats-row dd{font-size:var(--text-sm);color:var(--fg);font-variant-numeric:tabular-nums;margin:0}.sync-issues-inline{background:color-mix(in srgb, var(--danger) 6%, transparent);border:1px dashed color-mix(in srgb, var(--danger) 28%, transparent);border-radius:var(--radius-sm);max-height:400px;margin:4px 0 8px 22px;padding:10px 12px;overflow-y:auto}.sync-issues-inline-header{align-items:center;margin-bottom:6px;display:flex}.sync-issues-inline-header .label{font-size:var(--text-xs);opacity:.6;text-transform:uppercase;letter-spacing:.5px;flex:1}.sync-issues-inline-list{margin:0;padding:0;list-style:none}.sync-issue{font-family:var(--font-mono);border-left:2px solid var(--border);background:var(--surface-sunken);margin-bottom:2px;padding:6px 8px;font-size:12px}.sync-issue.level-error{border-left-color:color-mix(in srgb, var(--danger) 65%, transparent)}.sync-issue.level-warning{border-left-color:color-mix(in srgb, var(--warn) 65%, transparent)}.sync-issue .lvl{margin-right:6px;font-weight:600}.sync-issue.level-error .lvl{color:var(--danger)}.sync-issue.level-warning .lvl{color:var(--warn)}.sync-issue.level-info .lvl{color:var(--info)}.sync-issue .meta{opacity:.45;font-size:11px}.sync-issue .msg{white-space:pre-wrap;word-break:break-word;margin-top:4px}.sync-issues-inline-truncation{font-size:var(--text-xs);text-align:center;margin-top:6px}.unified-toolbar{border-bottom:1px solid var(--border);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:6px;min-height:52px;padding:10px 14px;display:flex}.unified-toolbar.unified-toolbar-empty{background:0 0}.unified-toolbar-label{opacity:.55;text-transform:uppercase;letter-spacing:.5px;padding-right:6px;font-size:11px}.unified-toolbar-hint{font-size:var(--text-sm)}.unified-schedule-row{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.muted{opacity:.55;font-size:var(--text-sm)}.nav-icon-wrap{display:inline-flex;position:relative}.nav-badge{background:var(--accent-soft,#fcdebe);min-width:14px;height:14px;color:var(--bg,#1a1035);border-radius:7px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-8px}@media (width<=900px){.graph-overlay-bottom-left{left:var(--space-2);bottom:calc(116px + env(safe-area-inset-bottom));max-width:min(58vw,240px)}.graph-overlay-bottom-right{right:var(--space-2);bottom:calc(116px + env(safe-area-inset-bottom));max-width:min(42vw,176px);display:block}.graph-toolbar{top:auto;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));flex-direction:row;transform:none}}@media (width<=640px){.graph-toolbar{top:var(--space-2);right:var(--space-2);flex-direction:row;gap:2px;padding:3px;bottom:auto;left:auto}.graph-toolbar button{width:28px;height:28px}.graph-overlay-bottom-right{bottom:calc(55vh + 64px + env(safe-area-inset-bottom) + var(--space-2));max-width:min(60vw,200px)}.graph-overlay-bottom-left{bottom:calc(55vh + 64px + env(safe-area-inset-bottom) + var(--space-2))}.graph-canvas-container[data-spotlight-active=false]~.graph-overlay-bottom-right,.graph-canvas-container[data-spotlight-active=false]~.graph-overlay-bottom-left{bottom:calc(64px + env(safe-area-inset-bottom) + var(--space-2))}.dynamic-legend{font-size:var(--text-xs);padding:4px 6px}.dynamic-legend-count{display:none}}.confirm-dialog-body{padding:8px 0 16px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:6px;display:flex}.sources-settings{grid-template-rows:auto auto 1fr;height:100%;min-height:0;display:grid;overflow:hidden}.sources-settings-header{border-bottom:1px solid var(--border);align-items:center;padding:6px 8px;display:flex}.sources-settings-back{align-items:center;gap:4px;display:inline-flex}.sources-settings-body{min-height:0;padding:0 var(--space-2) var(--space-2);grid-template-columns:minmax(200px,240px) 1fr minmax(220px,260px);gap:8px;display:grid;overflow:hidden}.sources-settings-detail{min-height:0;overflow:auto}@media (width<=1023px){.sources-settings-body{gap:var(--space-2);padding:0 var(--space-2) var(--space-3);grid-template:"rail""sidebar""detail"1fr/1fr}.sources-sidebar{grid-area:sidebar}.sources-settings-detail{grid-area:detail;min-height:200px;overflow-y:auto}.currently-rendered-rail{flex-flow:row;grid-area:rail;align-items:center;gap:6px;max-height:140px;padding:6px;overflow:auto}.sources-sidebar{min-height:180px;max-height:35vh;overflow-y:auto}.sources-sidebar-list{max-height:none}.currently-rendered-rail .currently-rendered-row{flex-shrink:0;align-self:stretch;min-width:180px}.currently-rendered-rail .currently-rendered-header{flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;gap:4px;min-width:120px;margin-bottom:0}}.sources-settings-empty{padding:16px}.currently-rendered-rail{background:color-mix(in srgb, var(--success) 8%, transparent);border:1px solid color-mix(in srgb, var(--success) 22%, transparent);border-radius:var(--radius-sm);flex-direction:column;gap:4px;min-height:0;padding:8px;display:flex;overflow-y:auto}.currently-rendered-header{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.rail-export-btn{letter-spacing:normal;text-transform:none;padding:2px 6px;font-size:12px;font-weight:500}.rail-export-btn:disabled{opacity:.4;cursor:not-allowed}.currently-rendered-row{background:color-mix(in srgb, var(--success) 12%, transparent);border-radius:var(--radius-xs);cursor:pointer;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 8px;display:grid}.currently-rendered-row:hover{background:color-mix(in srgb, var(--success) 22%, transparent)}.currently-rendered-label{grid-area:1/1;font-weight:500}.currently-rendered-meta{grid-area:2/1;font-size:12px}.currently-rendered-unload{background:var(--surface-sunken);border-radius:var(--radius-xs);color:inherit;cursor:pointer;border:none;grid-area:1/2/3;align-self:center;padding:2px 6px}.currently-rendered-empty{padding:6px 8px;font-size:11px}.config-dialog{flex-direction:column;gap:14px;display:flex}.config-dialog section{flex-direction:column;gap:8px;display:flex}.config-section-label{color:var(--fg-muted);letter-spacing:var(--tracking-wider);text-transform:uppercase;font-size:12px;font-weight:600;font-family:var(--font-sans)}.config-field{flex-direction:column;gap:3px;display:flex}.config-field>span{color:var(--fg-muted);font-size:11px}.config-field input{background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;padding:4px 6px}.config-field input:disabled{opacity:.5;cursor:not-allowed}.config-field-row{gap:8px;display:flex}.config-field-row .config-field{flex:1}.config-toggle{align-items:center;gap:6px;font-size:11px;display:flex}.config-error{color:var(--danger,#c06060);font-size:11px}.config-actions{justify-content:flex-end;gap:6px;display:flex}.ask-page{height:100%;min-height:0;display:flex}.ask-rail{border-right:1px solid var(--border);flex-direction:column;flex:0 0 260px;gap:8px;padding:12px;display:flex;overflow-y:auto}.ask-new-btn{justify-content:center;width:100%}.ask-thread-list{flex-direction:column;gap:4px;display:flex}.ask-thread-item{border-radius:6px;align-items:center;gap:4px;padding:0 4px;display:flex}.ask-thread-item.is-active{background:var(--surface-hover)}.ask-thread-select{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px;display:flex}.ask-thread-title{font-weight:500}.ask-thread-preview{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.ask-thread-edit{flex:1;padding:6px}.ask-thread-delete{opacity:.4;cursor:pointer;background:0 0;border:0}.ask-thread-item:hover .ask-thread-delete{opacity:1}.ask-chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ask-chat-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.ask-back-btn{cursor:pointer;background:0 0;border:0;padding:4px}.ask-chat-title{margin:0;font-size:1rem;font-weight:600}.ask-list{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ask-list-loading{justify-content:center;padding:24px;display:flex}.ask-bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:12px;max-width:75%;padding:10px 14px}.ask-bubble.is-user{background:var(--accent);color:var(--accent-contrast);align-self:flex-end}.ask-bubble.is-assistant{background:var(--surface-elevated);align-self:flex-start}.ask-bubble.is-typing{color:var(--fg-muted);align-items:center;gap:6px;font-style:italic;display:inline-flex}.ask-citations{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ask-citation-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.8rem;display:inline-flex}.ask-citation-chip:hover{background:var(--surface-hover)}.ask-citation-type{color:var(--fg-muted);font-size:.75rem}.ask-composer{border-top:1px solid var(--border);background:var(--surface-elevated);align-items:flex-end;gap:8px;padding:12px;display:flex}.ask-composer-input{resize:none;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-input);min-height:44px;max-height:160px;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--fg);line-height:var(--leading-normal);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);outline:none;flex:1;padding:10px 12px}.ask-composer-input::placeholder{color:var(--fg-subtle)}.ask-composer-input:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.ask-composer-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);background:var(--surface-elevated)}.ask-composer-input:disabled{opacity:.5;cursor:not-allowed}.ask-composer-send{flex-shrink:0;align-self:flex-end;height:44px}@media (width<=640px){.ask-composer{gap:6px;padding:8px}.ask-composer-input{padding:8px 10px;font-size:16px}.ask-composer-send{height:40px;padding:0 12px}}.ask-empty{color:var(--fg-muted);text-align:center;padding:40px}@media (width<=900px){.ask-rail{flex:0 0 72px}.ask-thread-preview{display:none}.ask-thread-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (width<=640px){.ask-page{flex-direction:column}.ask-rail{border-right:0;border-bottom:1px solid var(--border);flex:auto}.ask-page:has(.ask-chat-header) .ask-rail{display:none}.ask-page:has(.ask-chat-header) .ask-chat{flex:100%}}
