.dashboard{flex-direction:column;flex:1;width:100%;max-width:1200px;min-height:0;margin:0 auto;display:flex}@media (width>=1600px){.dashboard{max-width:1720px}}.dashboard-header{text-align:center;margin-bottom:32px}.dashboard-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;color:var(--text-primary);margin:0;padding-left:.18em;font-size:1.25rem;font-weight:700;line-height:1.4}.dashboard-description{max-width:64ch;color:var(--text-secondary);margin:8px auto 0;font-size:.9375rem}.filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin:-12px 0 24px;display:flex}.filter-control{align-items:center;gap:8px;display:flex}.filter-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;font-size:10px;font-weight:600}.filter-input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--surface-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);transition:border-color var(--speed) var(--ease-app);border-radius:8px;padding:5px 10px;font-size:.8125rem}.filter-input:hover{border-color:var(--baseline)}.filter-input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.filter-range-sep{color:var(--muted);-webkit-user-select:none;user-select:none}.filter-clear{font:inherit;color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;transition:background-color var(--speed) var(--ease-app), color var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);background:0 0;border-radius:999px;padding:5px 12px;font-size:.8125rem;font-weight:550}.filter-clear:hover{background:var(--hover);color:var(--text-primary)}.filter-clear:active{transform:scale(.98)}.dashboard-grid{flex:1;grid-template-columns:repeat(12,1fr);gap:16px;min-height:0;display:grid}.grid-cell{grid-column:span var(--card-span,12);min-width:0}.grid-cell>.card{height:100%}@media (width<=767px){.grid-cell{grid-column:1/-1}}.card-state{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.chart-frame{height:var(--chart-height);flex:auto;min-width:0}@media (width<=767px){.chart-frame{flex:none;height:320px}}.card-state--loading{background:var(--gridline);animation:1.4s ease-in-out infinite pulse}.loading-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.card-state--loading{opacity:.6;animation:none}.filter-clear{transition:none}.filter-clear:active{transform:none}}.stat-value{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:8px 0;padding-left:14px;font-size:clamp(30px,2.6vw,38px);font-weight:700;line-height:1.15;position:relative}.stat-value:before{content:"";background:var(--accent-grad-v);width:2px;box-shadow:var(--active-glow);border-radius:1px;position:absolute;top:.14em;bottom:.14em;left:0}.stat-unit{letter-spacing:0;color:var(--text-secondary);font-size:.5em;font-weight:600}.table-scroll{max-height:48vh;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);box-shadow:inset 0 -1px 0 var(--baseline);white-space:nowrap;background:var(--surface);padding:10px 12px;font-size:.6875rem;font-weight:600;position:sticky;top:0}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--hairline);padding:10px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--hover)}.cell-text{text-align:left}.cell-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8125rem}.page-message{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px;margin:48px auto 0;padding:32px 28px;display:flex}.page-message-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--text-primary);margin:0;padding-left:.14em;font-size:1.0625rem;font-weight:700}.skeleton-title{width:280px;max-width:60%;height:28px;margin:0 auto 32px}.skeleton-card{border-radius:16px;height:120px}.skeleton-card--tall{height:var(--chart-height)}.page{width:100%;max-width:1240px;margin:0 auto}.page-header{text-align:center;margin:20px 0 32px}.page-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;color:var(--text-primary);margin:0;padding-left:.18em;font-size:1.25rem;font-weight:700;line-height:1.4}.page-lede{max-width:60ch;color:var(--text-secondary);margin:10px auto 0;font-size:.9375rem}.home{width:100%;max-width:1400px;margin:0 auto}.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:24px clamp(48px,6vw,88px);padding:44px 0 8px;display:grid}.hero-eyebrow,.landing-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--accent-ink);-webkit-user-select:none;user-select:none;cursor:default;margin:0 0 14px;font-size:11px;font-weight:600}.hero-headline{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin:0 0 18px;font-size:clamp(2rem,4.2vw,2.9rem);font-weight:700;line-height:1.1}.hero-sub{max-width:50ch;color:var(--text-secondary);margin:0;font-size:1.0625rem;line-height:1.6}.hero-ctas{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{-webkit-user-select:none;user-select:none;transition:box-shadow var(--speed) var(--ease-app), transform var(--speed) var(--ease-app), border-color var(--speed) var(--ease-app), background-color var(--speed) var(--ease-app);border-radius:12px;justify-content:center;align-items:center;padding:11px 24px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent-grad);color:#221204;box-shadow:0 2px 12px #ea580c40}.btn-primary:hover{box-shadow:var(--glow-accent), 0 2px 14px #ea580c4d;color:#221204}.btn-ghost{color:var(--text-primary);background:var(--panel-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge)}.btn-ghost:hover{color:var(--text-primary);border-color:var(--baseline);background:var(--hover)}.hero-visual{min-width:0}.hero-visual-svg{width:100%;height:auto;display:block}.stat-band{background:var(--panel-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);border-radius:18px;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;padding:26px 32px;display:grid}.stat-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.stat-figure{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(1.75rem,3vw,2.375rem);font-weight:700;line-height:1.1}.stat-caption{color:var(--text-secondary);font-size:.8125rem}.landing-section{margin-top:72px}.landing-heading{font-family:var(--font-display);color:var(--text-primary);margin:0 0 24px;font-size:1.5rem;font-weight:700;line-height:1.2}.home-steps{grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid;position:relative}.home-steps:before{content:"";background:linear-gradient(90deg,#0000,#f59e0b66,#ea580c66,#0000);border-radius:1px;height:2px;position:absolute;top:27px;left:40px;right:40px}.home-step{flex-direction:column;align-items:flex-start;display:flex;position:relative}.step-icon{width:54px;height:54px;color:var(--illus-ink);background:var(--panel);border:1px solid var(--glass-border);box-shadow:var(--glass-edge), var(--active-glow);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.step-num{font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;margin-top:14px;font-size:11px}.step-title{font-family:var(--font-display);color:var(--text-primary);margin:4px 0 6px;font-size:1.0625rem;font-weight:700}.step-text{max-width:52ch;color:var(--text-secondary);margin:0;font-size:.9375rem}.source-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.source-card{background:var(--surface-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);border-radius:16px;flex-direction:column;gap:8px;padding:20px;display:flex}.source-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.source-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.source-span{font-family:var(--font-mono);white-space:nowrap;color:var(--accent-ink);background:var(--accent-wash);border-radius:999px;padding:3px 10px;font-size:11px}.source-detail{max-width:68ch;color:var(--text-secondary);margin:0;font-size:.875rem}.cta-banner{text-align:center;background:linear-gradient(var(--panel), var(--panel)) padding-box, var(--accent-grad) border-box;box-shadow:var(--glow-accent);border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:8px;margin-top:72px;padding:44px 32px;display:flex}.cta-heading{margin:0}.cta-text{max-width:52ch;color:var(--text-secondary);margin:0 0 16px;font-size:.9375rem}@media (width<=900px){.landing-hero{grid-template-columns:minmax(0,1fr);padding-top:28px}.hero-visual{order:2;width:100%;max-width:480px;margin:0 auto}.stat-band{grid-template-columns:repeat(2,1fr)}.home-steps{grid-template-columns:minmax(0,1fr)}.home-steps:before{content:none}.source-grid{grid-template-columns:minmax(0,1fr)}.landing-section,.cta-banner{margin-top:56px}}.home-text{color:var(--text-secondary);margin:8px 0 0;font-size:.9375rem}.home-link{color:var(--series);font-weight:500}.home-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.home-chips{flex-wrap:wrap;gap:8px;margin:12px 0 4px;padding:0;list-style:none;display:flex}.home-chip{color:var(--text-secondary);border:1px solid var(--hairline);background:var(--surface);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.8125rem}.about-intro{max-width:72ch;color:var(--text-secondary);margin:0 auto;font-size:1rem;line-height:1.65}.about-text{max-width:75ch;color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.6}.about-flow{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:0;list-style:none;display:flex}.about-flow-step{align-items:center;gap:10px;display:inline-flex}.about-flow-label{font-family:var(--font-mono);white-space:nowrap;color:var(--text-primary);background:var(--surface-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);border-radius:999px;padding:6px 14px;font-size:.8125rem}.about-flow-arrow{color:var(--accent-ink);-webkit-user-select:none;user-select:none;cursor:default}.home-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;margin:0 0 16px;font-size:.75rem;font-weight:600}.home-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.home-card{background:var(--surface-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);transition:border-color var(--speed) var(--ease-app), box-shadow var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);border-radius:16px;flex-direction:column;gap:4px;padding:18px 36px 18px 20px;text-decoration:none;display:flex;position:relative}.home-card:hover{border-color:var(--baseline);box-shadow:var(--shadow-lift), var(--glass-edge);transform:translateY(-1px)}.home-card:active{transform:scale(.98)}.home-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.home-card:after{content:"→" / "";color:var(--text-secondary);opacity:0;transition:opacity var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);font-size:.9375rem;position:absolute;top:50%;right:14px;transform:translate(-4px,-50%)}.home-card:hover:after,.home-card:focus-visible:after{opacity:1;transform:translateY(-50%)}.home-card-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6875rem;font-weight:600}.home-card-title{color:var(--text-primary);font-size:1rem;font-weight:600}.home-card-skeleton{border-radius:16px;height:80px}.home-status{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.home-status .error-message{text-align:left}.chat-teaser{max-width:820px;margin:0 auto;padding:24px}.chat-teaser .home-text{margin:0}.chat-composer{gap:10px;margin-top:20px;display:flex}.chat-input{min-width:0;font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--glass-border);border-radius:12px;flex:1;padding:9px 14px;font-size:.9375rem}.chat-input:disabled{color:var(--muted);cursor:not-allowed}.chat-send:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.docs-card{max-width:760px;margin:0 auto}.docs-links{margin:8px 0 0;padding:0;list-style:none}.docs-link-row{border-bottom:1px solid var(--hairline);flex-direction:column;gap:2px;padding:10px 0;display:flex}.docs-link-row:last-child{border-bottom:none;padding-bottom:2px}.docs-link{font-family:var(--font-mono);color:var(--series);align-self:flex-start;font-size:.8125rem;font-weight:500}.docs-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.docs-link-detail{color:var(--text-secondary);font-size:.875rem}.faq-list{flex-direction:column;gap:12px;max-width:960px;margin:0 auto;display:flex}.faq-item{padding:0}.faq-question{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:12px;padding:15px 20px;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.faq-question-text{min-width:0}.faq-chevron{color:var(--accent-ink);transition:transform .14s var(--ease-app);flex:none;margin-left:auto}.faq-item[open] .faq-chevron{transform:rotate(90deg)}.faq-answer{max-width:75ch;color:var(--text-secondary);padding:0 20px 16px;font-size:.9375rem}.faq-answer p{margin:0 0 10px}.faq-answer p:last-child{margin-bottom:0}.faq-glossary{margin:0 0 10px}.faq-glossary:last-child{margin-bottom:0}.faq-glossary-row{border-bottom:1px solid var(--hairline);padding:8px 0}.faq-glossary-row:last-child{border-bottom:none;padding-bottom:0}.faq-glossary dt{font-family:var(--font-mono);color:var(--text-primary);font-size:.8125rem;font-weight:600}.faq-glossary dd{color:var(--text-secondary);margin:2px 0 0;font-size:.875rem}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:50vh;display:flex}.not-found-title{font-family:var(--font-display);letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0 -.12em 0 0;font-size:3rem;font-weight:700}.not-found-text{color:var(--text-secondary);margin:0;font-size:.9375rem}.not-found-link{color:var(--series);margin-top:8px;font-size:.9375rem;font-weight:500}.not-found-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.home-card,.home-card:after,.btn,.faq-chevron{transition:none}.home-card:hover,.home-card:active,.btn:active{transform:none}}.app-shell{--header-h:60px;flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:40;min-height:var(--header-h);background:var(--panel-glass);-webkit-backdrop-filter:var(--backdrop-panel);backdrop-filter:var(--backdrop-panel);border-bottom:1px solid var(--glass-border);align-items:center;gap:22px;padding:0 20px;display:flex;position:sticky;top:0}.app-header:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#f59e0b73,#ea580c73,#0000);height:1px;position:absolute;bottom:-1px;left:8%;right:8%}.header-nav{align-items:center;gap:2px;min-width:0;display:flex}.header-link{color:var(--text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color var(--speed) var(--ease-app), background-color var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);border-radius:9px;padding:7px 12px;font-size:.875rem;font-weight:500;text-decoration:none;position:relative}.header-link:hover{color:var(--text-primary);background:var(--hover)}.header-link:active{transform:scale(.97)}.header-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.header-link--active{color:var(--illus-ink);font-weight:600}.header-link--active:hover{color:var(--illus-ink)}.header-link--active:after{content:"";background:var(--illus-grad);border-radius:1px;height:2px;position:absolute;bottom:1px;left:12px;right:12px;box-shadow:0 0 8px #f59e0b59}.header-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.header-github{width:32px;height:32px;color:var(--muted);transition:color var(--speed) var(--ease-app), background-color var(--speed) var(--ease-app);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.header-github:hover{color:var(--text-primary);background:var(--hover)}.header-github:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.etl-stamp{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;align-items:center;gap:7px;margin:0;font-size:10.5px;line-height:1.4;display:flex}.etl-dot{border-radius:50%;flex:none;width:7px;height:7px}.etl-dot--live{background:var(--status-live);box-shadow:0 0 6px var(--status-live);animation:2.4s ease-in-out infinite pulse}.etl-dot--seed{background:var(--status-seed)}@media (prefers-reduced-motion:reduce){.etl-dot--live{animation:none}}.hamburger{appearance:none;width:38px;height:38px;color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;transition:border-color var(--speed) var(--ease-app), background-color var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:none}.hamburger:hover{border-color:var(--baseline);background:var(--hover)}.hamburger:active{transform:scale(.94)}.hamburger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.analytics-shell{--rail-w:68px;--sidebar-w:296px;grid-template-columns:calc(var(--rail-w) + 12px) minmax(0, 1fr);flex:auto;min-height:0;display:grid}.sidebar{background:var(--panel-glass);-webkit-backdrop-filter:var(--backdrop-panel);backdrop-filter:var(--backdrop-panel);border:1px solid var(--glass-border);box-shadow:var(--shadow-panel), var(--glass-edge);scrollbar-width:thin;scrollbar-color:var(--baseline) transparent;border-radius:20px;flex-direction:column;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar-body::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--baseline);border-radius:3px}.sidebar-body::-webkit-scrollbar-thumb{background:var(--baseline);border-radius:3px}.sidebar-header{-webkit-user-select:none;user-select:none;cursor:default;align-items:center;gap:12px;margin:0 16px;padding:14px 0 12px;display:flex;position:relative}.sidebar-header:after{content:"";background:linear-gradient(90deg,#0000,#f59e0b8c,#ea580c8c,#0000);height:1px;position:absolute;bottom:0;left:10%;right:10%}.sidebar-home{border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-home:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sidebar-home .logo-mark{filter:drop-shadow(0 0 12px #f59e0b59);display:block}.sidebar-overline{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;white-space:nowrap;color:var(--muted);margin:0;font-size:10px;font-weight:600}.sidebar-body{padding:12px 12px 24px}.nav-status{color:var(--muted);flex-direction:column;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.9375rem;display:flex}.nav-status p{margin:0}.app-content{background:0 0;flex-direction:column;flex:auto;min-width:0;padding:36px 36px 48px;display:flex}.app-content:focus{outline:none}@media (width>=768px){.sidebar{top:calc(var(--header-h) + 12px);height:calc(100vh - var(--header-h) - 24px);height:calc(100dvh - var(--header-h) - 24px);width:var(--rail-w);z-index:30;transition:width .2s var(--ease-app), background-color .2s var(--ease-app), box-shadow .2s var(--ease-app);margin:12px 0 12px 12px;position:sticky;overflow:hidden}.sidebar:hover,.sidebar:focus-within{width:var(--sidebar-w);background:var(--panel-glass-strong);box-shadow:var(--shadow-overlay), var(--glass-edge)}.sidebar-body{min-height:0;width:calc(var(--sidebar-w) - 2px);opacity:0;visibility:hidden;transition:opacity .1s var(--ease-app), visibility 0s linear .1s;flex:auto;overflow-y:auto}.sidebar-overline{opacity:0;visibility:hidden;max-width:0;transition:max-width .2s var(--ease-app), opacity .1s var(--ease-app), visibility 0s linear .1s;overflow:hidden}.sidebar:hover .sidebar-body,.sidebar:focus-within .sidebar-body{opacity:1;visibility:visible;transition:opacity .12s var(--ease-app) 80ms, visibility 0s}.sidebar:hover .sidebar-overline,.sidebar:focus-within .sidebar-overline{opacity:1;visibility:visible;max-width:240px;transition:max-width .2s var(--ease-app), opacity .12s var(--ease-app) 80ms, visibility 0s}}.sidebar-backdrop{display:none}.nav-tree,.nav-group{margin:0;padding:0;list-style:none}.nav-row{min-height:38px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--speed) var(--ease-app), color var(--speed) var(--ease-app), box-shadow var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);border-radius:9px;align-items:center;gap:8px;padding:7px 12px;font-size:.9375rem;text-decoration:none;display:flex;position:relative}.nav-row:hover{color:var(--text-primary);background:var(--hover)}.nav-row:active{transform:scale(.98)}.nav-row:focus-visible{outline:2px solid var(--focus);outline-offset:2px;z-index:1}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-chevron{width:13px;height:13px;color:var(--accent-ink);transition:transform .14s var(--ease-app);flex:none;margin-left:auto}.nav-chevron--open{transform:rotate(90deg)}.nav-row--active{color:var(--accent-ink);background:var(--accent-wash);box-shadow:var(--active-glow);font-weight:600}.nav-row--active:hover{color:var(--accent-ink);background:var(--accent-wash)}.nav-row--active:before{content:"";background:var(--accent-grad-v);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:0;box-shadow:0 0 10px #f59e0b66}@media (width<=919px){.app-header .etl-stamp{display:none}}.sidebar-footer{display:none}@media (width<=919px){.sidebar-footer{padding:10px 14px 12px;display:block}}@media (width<=767px){.app-header{flex-wrap:wrap;gap:10px 12px;padding:10px 16px}.header-nav{scrollbar-width:none;flex:100%;order:4;margin:-4px;padding:4px 4px 6px;overflow-x:auto}.header-nav::-webkit-scrollbar{display:none}.hamburger{display:inline-flex}.analytics-shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;visibility:hidden;width:284px;height:auto;transition:transform .2s var(--ease-app), visibility .2s var(--ease-app);margin:0;position:fixed;top:10px;bottom:10px;left:10px;transform:translate(calc(-100% - 24px));box-shadow:0 16px 48px #00000059}.sidebar--open{visibility:visible;transform:translate(0)}.sidebar-footer{border-top:1px solid var(--hairline);margin-top:auto;padding:12px 16px 14px;display:block}.sidebar-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;display:block;position:fixed;inset:0}.app-content{padding:20px 16px 40px}}.app-content--page{padding-inline:clamp(20px,4vw,56px)}@media (prefers-reduced-transparency:reduce){.sidebar-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-body,.sidebar-overline,.nav-chevron,.nav-row,.hamburger,.header-link,.header-github{transition:none}.nav-row:active,.hamburger:active,.header-link:active{transform:none}}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-ext-600-normal-Cue1zdhl.woff2)format("woff2"),url(/assets/sora-latin-ext-600-normal-DLOJK0Ta.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2)format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-ext-700-normal-DM0oy5s8.woff2)format("woff2"),url(/assets/sora-latin-ext-700-normal-Oc7uZIYt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:var(--lightningcss-light,#fbfbfd)var(--lightningcss-dark,#141627);--panel:var(--lightningcss-light,#f6f7fa)var(--lightningcss-dark,#101120);--page:var(--lightningcss-light,#f4f5f8)var(--lightningcss-dark,#0a0b16);--surface-glass:var(--lightningcss-light,#fffc)var(--lightningcss-dark,#17192cc7);--panel-glass:var(--lightningcss-light,#ffffff8c)var(--lightningcss-dark,#1416288c);--panel-glass-strong:var(--lightningcss-light,#ffffffd1)var(--lightningcss-dark,#141628d9);--backdrop-panel:blur(24px) saturate(150%);--backdrop-card:blur(18px) saturate(150%);--glass-border:var(--lightningcss-light,#0b0b1414)var(--lightningcss-dark,#a0aaff1a);--glass-edge:inset 0 1px 0 var(--lightningcss-light,#ffffffb3)var(--lightningcss-dark,#bec8ff14);--text-primary:var(--lightningcss-light,#0c0d12)var(--lightningcss-dark,#f2f4fc);--text-secondary:var(--lightningcss-light,#50545f)var(--lightningcss-dark,#b8bfd9);--muted:var(--lightningcss-light,#82868f)var(--lightningcss-dark,#7e849c);--gridline:var(--lightningcss-light,#e3e4ea)var(--lightningcss-dark,#242940);--baseline:var(--lightningcss-light,#c6c8d2)var(--lightningcss-dark,#394062);--series:var(--lightningcss-light,#2a78d6)var(--lightningcss-dark,#3987e5);--hairline:var(--lightningcss-light,#0b0b141a)var(--lightningcss-dark,#a5afff1a);--hover:var(--lightningcss-light,#0b0b140d)var(--lightningcss-dark,#2e305080);--accent-wash:var(--lightningcss-light,#7c3aed1a)var(--lightningcss-dark,#a78bfa24);--accent-a:#8b5cf6;--accent-b:#7c3aed;--accent-grad:linear-gradient(135deg, var(--accent-a), var(--accent-b));--accent-grad-v:linear-gradient(180deg, var(--accent-a), var(--accent-b));--accent-ink:var(--lightningcss-light,#6d28d9)var(--lightningcss-dark,#a78bfa);--focus:var(--lightningcss-light,#7c3aed)var(--lightningcss-dark,#a78bfa);--illus-a:#f59e0b;--illus-b:#fb923c;--illus-ink:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#fbbf24);--illus-grad:linear-gradient(90deg, var(--illus-a), var(--illus-b));--glow-accent:0 0 24px var(--lightningcss-light,#7c3aed2e)var(--lightningcss-dark,#a78bfa38);--shadow-panel:0 1px 2px #0b0b140a, 0 12px 32px #0b0b1412;--shadow-lift:0 2px 4px #0b0b140a, 0 10px 28px #0b0b1417;--shadow-overlay:0 4px 12px #0b0b1414, 0 24px 64px #0b0b142e;--chart-height:clamp(300px, 36vh, 560px);--ease-app:cubic-bezier(.2, 0, 0, 1);--speed:.16s;--font-sans:system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Sora", var(--font-sans);--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--active-glow:0 2px 12px #7c3aed29;--blob-a:var(--lightningcss-light,#8b5cf61f)var(--lightningcss-dark,#a78bfa1f);--blob-b:var(--lightningcss-light,#2a78d61a)var(--lightningcss-dark,#3987e51f);--blob-c:var(--lightningcss-light,#7c3aed0f)var(--lightningcss-dark,#3987e50f);--stage-grid:var(--lightningcss-light,#0b0b1406)var(--lightningcss-dark,#a0aaff08);--status-live:var(--lightningcss-light,#1a8a52)var(--lightningcss-dark,#2fd07f);--status-seed:var(--lightningcss-light,#82868f)var(--lightningcss-dark,#7e849c)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root{--shadow-panel:0 1px 2px #0006, 0 16px 48px #00000080;--shadow-lift:0 2px 4px #0006, 0 10px 32px #0006;--shadow-overlay:0 4px 12px #00000073, 0 28px 72px #0009;--active-glow:0 0 14px #f59e0b33}}:root[data-theme=dark]{--shadow-panel:0 1px 2px #0006, 0 16px 48px #00000080;--shadow-lift:0 2px 4px #0006, 0 10px 32px #0006;--shadow-overlay:0 4px 12px #00000073, 0 28px 72px #0009;--active-glow:0 0 14px #f59e0b33}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--surface-glass:var(--surface);--panel-glass:var(--panel);--panel-glass-strong:var(--panel);--backdrop-panel:none;--backdrop-card:none}}@media (prefers-reduced-transparency:reduce){:root{--surface-glass:var(--surface);--panel-glass:var(--panel);--panel-glass-strong:var(--panel);--backdrop-panel:none;--backdrop-card:none}}*,:before,:after{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:var(--baseline) transparent;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--baseline);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}body{background:var(--page);min-height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(44% 38% at 14% 6%, var(--blob-a), transparent 70%), radial-gradient(48% 44% at 90% 82%, var(--blob-b), transparent 70%), radial-gradient(34% 30% at 82% 10%, var(--blob-c), transparent 70%);position:fixed;inset:-12%}body:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--stage-grid) 1px, transparent 1px), linear-gradient(90deg, var(--stage-grid) 1px, transparent 1px);background-size:56px 56px;position:fixed;inset:0}.brand-wordmark{font-family:var(--font-display);font-kerning:normal;text-transform:uppercase;letter-spacing:.16em;white-space:nowrap;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-right:-.16em;font-size:1.0625rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.brand-wordmark:hover{color:var(--text-primary)}.brand-wordmark:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}.logo-mark{filter:drop-shadow(0 0 10px #8b5cf647)}.card{background:var(--surface-glass);-webkit-backdrop-filter:var(--backdrop-card);backdrop-filter:var(--backdrop-card);border:1px solid var(--glass-border);min-width:0;box-shadow:var(--glass-edge);transition:border-color var(--speed) var(--ease-app), box-shadow var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);border-radius:16px;flex-direction:column;padding:20px 20px 16px;display:flex}.card:hover{border-color:var(--baseline);box-shadow:var(--shadow-lift), var(--glass-edge);transform:translateY(-1px)}.card-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);-webkit-user-select:none;user-select:none;cursor:default;margin:0 0 4px;font-size:.75rem;font-weight:600;line-height:1.4}.card-subtitle{color:var(--muted);margin:0 0 16px;font-size:.75rem;line-height:1.5}.loading-text{color:var(--muted);font-size:.875rem}.error-message{text-align:center;max-width:44ch;color:var(--text-secondary);margin:0;font-size:.875rem}.retry-button{appearance:none;font:inherit;color:var(--text-primary);background:linear-gradient(var(--surface), var(--surface)) padding-box, var(--accent-grad) border-box;cursor:pointer;transition:box-shadow var(--speed) var(--ease-app), transform var(--speed) var(--ease-app);border:1px solid #0000;border-radius:10px;padding:6px 16px;font-size:.875rem;font-weight:500}.retry-button:hover{box-shadow:var(--glow-accent)}.retry-button:active{transform:scale(.98)}.retry-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skeleton{background:var(--gridline);border-radius:10px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.6;animation:none}.card,.retry-button{transition:none}.card:hover,.retry-button:active{transform:none}}
