:root{--bg:#fafcfe;--panel:#fff;--panel2:#eff4fa;--panel3:#dfecff;--border:#dde2e8;--border-strong:#b8bec8;--text:#0d1624;--text-dim:#3a4350;--muted:#5c646f;--accent:#005bd2;--accent-hover:#0047bd;--accent-ink:#fcfcfc;--good:#00723b;--warn:#875400;--bad:#c21725;--sr-overall:#6b7a92;--sr-1:#3f6fd6;--sr-2:#8b45c8;--sr-3:#0f8f81;--sr-4:#b96c22;--sr-5:#c34372;--sr-6:#4e8f28;--sr-7:#2f7fa8;--shadow-cast:220 40% 12%;--e1:0 1px 2px hsl(var(--shadow-cast) / .1);--e2:0 2px 8px hsl(var(--shadow-cast) / .14);--scrim-colour:#151c2873;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--t-meta:12px;--t-body:14px;--t-section:18px;--t-metric:30px;--t-hero:40px;--r-control:6px;--r-surface:10px;--r-pill:999px;--dur:.13s;--ease:cubic-bezier(.22, 1, .36, 1);--z-sticky:10;--z-drawer:30;--z-modal-back:40;--z-modal:41;--z-tooltip:50;font-size:16px}.dark{--bg:#090c11;--panel:#13171e;--panel2:#21262d;--panel3:#233651;--border:#2c3138;--border-strong:#606770;--text:#eef0f3;--text-dim:#cbd0d7;--muted:#a4abb6;--accent:#5b9eff;--accent-hover:#7ab5ff;--accent-ink:#030d1e;--good:#59d38c;--warn:#f9b64f;--bad:#fd736d;--sr-overall:#cbd5e6;--sr-1:#5b8def;--sr-2:#b06ef0;--sr-3:#17b6a4;--sr-4:#e08c3c;--sr-5:#e2618f;--sr-6:#6fbf3f;--sr-7:#4fa8d8;--shadow-cast:220 60% 2%;--e1:0 1px 2px hsl(var(--shadow-cast) / .35);--e2:0 2px 8px hsl(var(--shadow-cast) / .45);--scrim-colour:#06090ead;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--t-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit;color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-control)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.layout{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);width:216px;padding:var(--s4) var(--s3);gap:var(--s3);flex-direction:column;flex:0 0 216px;height:100vh;display:flex;position:sticky;top:0}.brand{padding:0 var(--s2);align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{object-fit:cover;background:#000;border-radius:8px;flex:none;width:28px;height:28px;display:block}.brand-name{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-name b{letter-spacing:-.01em;font-size:15px;font-weight:600}.brand-name small{color:var(--muted);font-size:11px}.project-switch{display:block}.project-switch select{width:100%}.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}.icon-btn{border-radius:var(--r-control);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);transition:color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--panel2);color:var(--text);border-color:var(--border-strong)}.nav{flex-direction:column;gap:2px;display:flex}.nav button{justify-content:space-between;align-items:center;gap:var(--s2);text-align:left;width:100%;color:var(--muted);padding:var(--s2) var(--s3);border-radius:var(--r-control);font-size:var(--t-body);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;display:flex}.nav button:hover{background:var(--panel2);color:var(--text)}.nav button.active{background:var(--panel3);color:var(--text);font-weight:600}.nav .count{font-size:var(--t-meta);background:var(--bad);color:var(--panel);border-radius:var(--r-pill);text-align:center;min-width:18px;padding:0 6px;font-weight:600}.sidebar .foot{padding:var(--s2);color:var(--muted);font-size:var(--t-meta);border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:auto;display:flex}.sidebar .foot-row{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.sidebar .foot-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar .foot button{color:var(--muted);background:0 0;border:0;padding:0;text-decoration:underline}.sidebar .foot button:hover{color:var(--text)}.content-wrap{flex:1;justify-content:center;min-width:0;display:flex}.main{width:100%;max-width:1280px;padding:var(--s5) var(--s6);flex:1;min-width:0}.mobile-bar,.scrim{display:none}@media (width<=860px){.mobile-bar{align-items:center;gap:var(--s3);z-index:var(--z-sticky);background:var(--panel);border-bottom:1px solid var(--border);padding:var(--s3) var(--s4);display:flex;position:sticky;top:0}.layout{flex-direction:column}.sidebar{z-index:var(--z-drawer);transition:transform var(--dur) var(--ease);box-shadow:var(--e2);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.scrim{background:var(--scrim-colour);z-index:calc(var(--z-drawer) - 1);display:block;position:fixed;inset:0}.main{padding:var(--s4)}.card.table-card table{min-width:640px}.card.table-card td:first-child,.card.table-card th:first-child{min-width:240px}}.topbar{align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.topbar h1{font-size:var(--t-section);letter-spacing:-.01em;margin:0;font-weight:650}.topbar .spacer{flex:1}.topbar .status{font-size:var(--t-meta);color:var(--muted);font-variant-numeric:tabular-nums}.stack>*+*{margin-top:var(--s6)}.section-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--t-section);letter-spacing:-.01em;margin:0;font-weight:600}.section-head .sub{font-size:var(--t-meta);color:var(--muted)}select,input,textarea{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-control);padding:var(--s2) var(--s3);font:inherit;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}select:hover,input:hover,textarea:hover{border-color:var(--border-strong)}select:focus-visible,input:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent);outline:none}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 15px) 54%,calc(100% - 10px) 54%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}.btn{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-control);padding:var(--s2) var(--s4);font-weight:600;font-size:var(--t-body);justify-content:center;align-items:center;gap:var(--s2);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform 60ms var(--ease);border:1px solid #0000;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--panel2);color:var(--text);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:var(--panel3);border-color:var(--border-strong)}.btn.danger{color:var(--bad);border-color:color-mix(in oklch, var(--bad) 40%, transparent);background:0 0}.btn.danger:hover:not(:disabled){background:color-mix(in oklch, var(--bad) 12%, transparent);border-color:var(--bad)}.btn.sm{padding:5px var(--s3);font-size:var(--t-meta)}.btn>.label{text-align:center;min-width:6.5em;display:inline-block}.btn.sm>.label{min-width:4.5em}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.grid{gap:var(--s3);display:grid}.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-surface);padding:var(--s4)}.card>h3{margin:0 0 var(--s3);font-size:var(--t-meta);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.card.table-card{padding:var(--s4) 0 0;overflow-x:auto}.table-scroll{max-height:62vh;overflow:auto}.card.table-card>h3{padding:0 var(--s4)}.card.table-card>.card-toolbar{padding:0 var(--s4) var(--s3)}.kpis{gap:var(--s3);grid-template-columns:repeat(5,1fr);display:grid}.kpi-card{gap:var(--s1);flex-direction:column;display:flex}.kpi-card.hero{background:var(--panel2);box-shadow:var(--e1);grid-column:span 2}.kpi-card .kpi-label{font-size:var(--t-meta);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.kpi-value{font-size:var(--t-metric);font-variant-numeric:tabular-nums;letter-spacing:-.02em;align-items:baseline;gap:var(--s2);flex-wrap:wrap;font-weight:700;line-height:1.1;display:flex}.hero .kpi-value{font-size:var(--t-hero)}.kpi-value.empty{font-size:var(--t-section);color:var(--muted);letter-spacing:0;font-weight:400}.kpi-value .unit{font-size:var(--t-body);color:var(--muted);font-weight:400}.kpi-foot{font-size:var(--t-meta);color:var(--muted);align-items:center;gap:var(--s2);white-space:nowrap;display:flex}.kpi-card .sparkline{margin-top:var(--s2)}.delta-up{color:var(--good);font-weight:600}.delta-down{color:var(--bad);font-weight:600}.delta-flat{color:var(--muted);font-weight:600}@media (width<=1100px){.kpis{grid-template-columns:repeat(3,1fr)}.kpi-card.hero{grid-column:span 3}}@media (width<=760px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi-card.hero{grid-column:span 2}}@media (width<=520px){.kpis{grid-template-columns:1fr}.kpi-card.hero{grid-column:span 1}}table{border-collapse:collapse;width:100%;font-size:var(--t-body)}th{text-align:left;color:var(--muted);font-weight:600;font-size:var(--t-meta);text-transform:uppercase;letter-spacing:.05em;padding:var(--s2) var(--s3);white-space:nowrap;z-index:1;background:var(--panel);box-shadow:inset 0 -1px 0 var(--border);position:sticky;top:0}td{padding:var(--s3);border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:0}.table-card th:first-child,.table-card td:first-child{padding-left:var(--s4)}.table-card th:last-child,.table-card td:last-child{padding-right:var(--s4)}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover td,tbody tr:focus-within td{background:var(--panel2)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.link-cell{text-align:left;color:var(--accent);font:inherit;background:0 0;border:0;padding:0}.link-cell:hover{text-decoration:underline}.tag{background:var(--panel2);border:1px solid var(--border);border-radius:var(--r-pill);padding:1px var(--s2);font-size:var(--t-meta);color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;margin:1px 3px 1px 0;display:inline-flex}.tag.quiet{color:var(--muted)}.tag.warn{color:var(--warn);border-color:color-mix(in oklch, var(--warn) 38%, transparent)}.dot{border-radius:50%;flex:none;width:7px;height:7px}.pill{border-radius:var(--r-pill);padding:1px var(--s2);font-size:var(--t-meta);white-space:nowrap;font-weight:600;display:inline-block}.pill.good{background:color-mix(in oklch, var(--good) 15%, transparent);color:var(--good)}.pill.warn{background:color-mix(in oklch, var(--warn) 15%, transparent);color:var(--warn)}.pill.bad{background:color-mix(in oklch, var(--bad) 15%, transparent);color:var(--bad)}.pill.info{background:color-mix(in oklch, var(--accent) 15%, transparent);color:var(--accent)}.pill.neutral{background:var(--panel3);color:var(--muted)}.muted{color:var(--muted)}.dim{color:var(--text-dim)}.row{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.mt{margin-top:var(--s3)}.meter{align-items:center;gap:var(--s2);justify-content:flex-end;display:flex}.meter-track{border-radius:var(--r-pill);background:var(--panel3);width:56px;height:5px;display:inline-block;overflow:hidden}.meter-fill{background:var(--accent);border-radius:var(--r-pill);height:100%;display:block}.meter-fill.done{background:var(--good)}.spin{color:var(--muted);padding:var(--s6);text-align:center}.err{border:1px solid color-mix(in oklch, var(--bad) 35%, transparent);background:color-mix(in oklch, var(--bad) 8%, transparent);border-radius:var(--r-surface);padding:var(--s4);align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.err .msg{color:var(--bad);flex:1;min-width:240px}.is-stale{opacity:.5;pointer-events:none;transition:opacity var(--dur) var(--ease)}.load-bar{background:var(--panel3);border-radius:var(--r-pill);height:2px;overflow:hidden}.load-bar:after{content:"";background:var(--accent);width:40%;height:100%;animation:slide 1.1s var(--ease) infinite;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.skeleton{background:linear-gradient(90deg, var(--panel2) 25%, var(--panel3) 37%, var(--panel2) 63%);border-radius:var(--r-control);background-size:400% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{padding:var(--s6) var(--s4);text-align:center;max-width:46ch;margin:0 auto}.empty h4{margin:0 0 var(--s2);font-size:var(--t-body);color:var(--text);font-weight:600}.empty p{margin:0 0 var(--s3);color:var(--muted);font-size:var(--t-meta)}td .empty{padding:var(--s5) var(--s4)}.splash{min-height:100vh;padding:var(--s4);color:#fff;background:#000;place-items:center;display:grid;position:relative}.splash-theme{top:var(--s4);right:var(--s4);position:absolute}.splash-stack{align-items:center;gap:var(--s3);text-align:center;flex-direction:column;width:min(340px,100%);display:flex}.splash-icon{object-fit:contain;width:168px;height:168px}.splash-name{letter-spacing:-.02em;color:#fff;margin:0;font-size:28px;font-weight:700}.splash-tagline{color:#a09080;margin:0;font-size:14px;font-weight:400}.splash-wait{margin:var(--s2) 0 0;color:#a09080;font-size:13px}.splash .card{gap:var(--s3);text-align:left;flex-direction:column;width:100%;display:flex}.splash input,.splash .btn{width:100%}.answer{background:var(--panel2);border:1px solid var(--border);border-radius:var(--r-control);padding:var(--s3);white-space:pre-wrap;font-size:var(--t-body);max-height:300px;line-height:1.6;overflow:auto}.article-body{line-height:1.65}.article-body h2{border-bottom:1px solid var(--border);padding-bottom:var(--s1)}.modal-back{background:var(--scrim-colour);z-index:var(--z-modal-back);padding:var(--s4);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-surface);padding:var(--s5);width:min(780px,100%);max-height:88vh;z-index:var(--z-modal);box-shadow:var(--e2);overflow:auto}.modal-head{align-items:center;gap:var(--s3);margin-bottom:var(--s4);display:flex}.modal-head h2{font-size:var(--t-section);flex:1;margin:0;font-weight:600}.chart{position:relative}.chart-measure{pointer-events:none;height:0;position:absolute;top:0;left:0;right:0}.chart-plot{max-width:100%;overflow:auto hidden}.chart-legend{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.legend-chip{background:var(--panel2);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px var(--s2);font-size:var(--t-meta);color:var(--text-dim);transition:background var(--dur) var(--ease), opacity var(--dur) var(--ease);align-items:center;gap:6px;display:inline-flex}.legend-chip:hover{background:var(--panel3)}.legend-chip.off{opacity:.4}.legend-chip.nodata{opacity:.55;cursor:default}.legend-chip .nd{color:var(--muted);font-size:11px}.chart-tip{z-index:var(--z-tooltip);pointer-events:none;background:var(--panel3);border:1px solid var(--border-strong);border-radius:var(--r-control);padding:var(--s2) var(--s3);font-size:var(--t-meta);box-shadow:var(--e2);min-width:150px;position:absolute}.chart-tip .tip-date{color:var(--muted);margin-bottom:var(--s1)}.chart-tip .tip-row{align-items:center;gap:var(--s3);justify-content:space-between;display:flex}.chart-tip .tip-row .nm{align-items:center;gap:6px;display:flex}.chart-tip .tip-row .vl{font-variant-numeric:tabular-nums;font-weight:600}.sparkline{width:100%;height:34px;display:block}.bar-row{align-items:center;gap:var(--s3);margin:var(--s2) 0;display:flex}.bar-label{min-width:84px;font-size:var(--t-meta);text-overflow:ellipsis;white-space:nowrap;flex:0 180px;overflow:hidden}.bar-track{background:var(--panel2);border-radius:var(--r-pill);flex:60px;height:14px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:var(--r-pill);height:100%;transition:width var(--dur) var(--ease)}.bar-fill.brand{background:var(--sr-2)}.bar-val{text-align:right;font-size:var(--t-meta);font-variant-numeric:tabular-nums;flex:0 0 58px}.platform{align-items:center;gap:var(--s2);font-weight:600;display:inline-flex}
