:root{--bg:#f7f7f8;--panel:#fff;--ink:#1a1a1e;--ink-muted:#6b6b76;--border:#e2e2e6;--accent:#3457d5;--success-bg:#e3f5e9;--success-ink:#1b7a3e;--error-bg:#fbe9e9;--error-ink:#b3261e;--pending-bg:#eef0fb;--pending-ink:#3457d5;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--viz-surface:#fcfcfb;--viz-text-primary:#0b0b0b;--viz-text-secondary:#52514e;--viz-text-muted:#898781;--viz-gridline:#e1e0d9;--viz-baseline:#c3c2b7;--viz-series-1:#2a78d6;--viz-series-1-wash:#2a78d61a;--viz-cat-1:#2a78d6;--viz-cat-2:#eb6834;--viz-cat-3:#1baf7a;--viz-cat-4:#eda100;--viz-cat-5:#e87ba4;--viz-cat-6:#008300;--viz-cat-7:#4a3aa7;--viz-cat-8:#e34948;--viz-cat-other:#898781}@media (prefers-color-scheme:dark){:root{--bg:#16161a;--panel:#1f1f24;--ink:#f0f0f2;--ink-muted:#9a9aa4;--border:#333339;--accent:#7c93f0;--success-bg:#123420;--success-ink:#6fd696;--error-bg:#3a1616;--error-ink:#f28b84;--pending-bg:#1e2140;--pending-ink:#9db0f5;--viz-surface:#1a1a19;--viz-text-primary:#fff;--viz-text-secondary:#c3c2b7;--viz-text-muted:#898781;--viz-gridline:#2c2c2a;--viz-baseline:#383835;--viz-series-1:#3987e5;--viz-series-1-wash:#3987e51a;--viz-cat-1:#3987e5;--viz-cat-2:#d95926;--viz-cat-3:#199e70;--viz-cat-4:#c98500;--viz-cat-5:#d55181;--viz-cat-6:#008300;--viz-cat-7:#9085e9;--viz-cat-8:#e66767;--viz-cat-other:#898781}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0}.shell{flex-direction:column;min-height:100vh;display:flex}.shell__header{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:2rem;padding:.75rem 1.5rem;display:flex}.shell__title{font-size:1rem;font-weight:600}.shell__nav{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.shell__navlink{color:var(--ink-muted);border-bottom:2px solid #0000;padding-bottom:2px;font-size:.9rem;text-decoration:none}.shell__navlink--active{color:var(--ink);border-bottom-color:var(--accent)}.shell__main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}@media (width<=600px){.shell__header{gap:.75rem 1.25rem;padding:.75rem 1rem}.shell__main{padding:1rem}}.page__title{margin:0 0 .25rem;font-size:1.4rem}.page__subtitle{color:var(--ink-muted);margin:0 0 1.25rem;font-size:.9rem}.state-message{color:var(--ink-muted);text-align:center;padding:2rem 0}.state-message--error{color:var(--error-ink)}.table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;width:100%;font-size:.875rem;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .75rem}.table th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.table__row--clickable{cursor:pointer}.table__row--clickable:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.table__row--failed{background:color-mix(in srgb, var(--error-bg) 40%, transparent)}.table__disclosure{width:1.5rem;color:var(--ink-muted)}.table__detailRow td{background:color-mix(in srgb, var(--accent) 3%, transparent);padding:.75rem}.table--nested{border-radius:6px;font-size:.8rem}.badge{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--success{background:var(--success-bg);color:var(--success-ink)}.badge--error{background:var(--error-bg);color:var(--error-ink)}.badge--pending{background:var(--pending-bg);color:var(--pending-ink)}.error-detail{color:var(--error-ink);font-family:var(--font-mono);margin:.5rem 0;font-size:.8rem}.error-detail--inline{margin-top:.15rem;font-size:.7rem;display:block}.filters{flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1rem;display:flex}.table-scroll{width:100%;overflow-x:auto}.filters__field{color:var(--ink-muted);flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.filters__field select{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.pagination{color:var(--ink-muted);justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.pagination button{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;padding:.35rem .75rem;font-size:.85rem}.pagination button:disabled{opacity:.4;cursor:default}.preset-row{flex-wrap:wrap;gap:.4rem;display:flex}.preset-row__button{border:1px solid var(--border);background:var(--panel);color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:.3rem .65rem;font-size:.8rem}.preset-row__button--active{background:var(--accent);border-color:var(--accent);color:#fff}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-tile{background:var(--viz-surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}.stat-tile__label{color:var(--viz-text-secondary);margin-bottom:.35rem;font-size:.8rem}.stat-tile__value{color:var(--viz-text-primary);font-size:1.75rem;font-weight:600}.chart-card{background:var(--viz-surface);border:1px solid var(--border);border-radius:10px;min-width:0;margin-bottom:1.25rem;padding:1.1rem 1.25rem 1.25rem}.chart-card__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.chart-card__title{color:var(--viz-text-primary);margin:0;font-size:.95rem;font-weight:600}.chart-card__toggle{border:1px solid var(--border);color:var(--viz-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .6rem;font-size:.75rem}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.chart-grid__col{min-width:0}.bar-chart{flex-direction:column;gap:.6rem;display:flex}.bar-row{grid-template-columns:9rem 1fr auto;align-items:center;gap:.75rem;display:grid}.bar-row__label{color:var(--viz-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.bar-row__track{background:var(--viz-gridline);border-radius:4px;height:18px;overflow:hidden}.bar-row__fill{background:var(--viz-series-1);border-radius:0 4px 4px 0;min-width:4px;height:100%;transition:width .2s}.bar-row:hover .bar-row__fill{filter:brightness(1.1)}.bar-row__value{color:var(--viz-text-primary);font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem;font-size:.85rem}.line-chart{position:relative}.line-chart__svg{width:100%;height:auto;display:block}.line-chart__gridline{stroke:var(--viz-gridline);stroke-width:1px}.line-chart__tick{fill:var(--viz-text-muted);font-size:10px;font-family:var(--font-body)}.line-chart__area{fill:var(--viz-series-1-wash);stroke:none}.line-chart__line{fill:none;stroke:var(--viz-series-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart__crosshair{stroke:var(--viz-baseline);stroke-width:1px}.line-chart__dot{fill:var(--viz-series-1);stroke:var(--viz-surface);stroke-width:2px}.line-chart__tooltip{background:var(--panel);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:6px;padding:.35rem .6rem;position:absolute;top:.5rem;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.line-chart__tooltip-value{color:var(--viz-text-primary);font-size:.85rem;font-weight:600}.line-chart__tooltip-label{color:var(--viz-text-secondary);font-size:.7rem}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:360px;padding:2rem;display:flex}.auth-card__title{margin:0;font-size:1.2rem}.auth-card__subtitle{color:var(--ink-muted);margin:0 0 .5rem;font-size:.85rem}.auth-field{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.auth-field input{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:6px;padding:.5rem .6rem;font-size:.95rem}.auth-card__submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.6rem;font-size:.9rem;font-weight:600}.auth-card__submit:disabled{opacity:.5;cursor:default}.auth-card__footer{color:var(--ink-muted);text-align:center;margin-top:.25rem;font-size:.8rem}.funnel{grid-auto-columns:minmax(160px,1fr);grid-auto-flow:column;gap:.75rem;padding-bottom:.25rem;display:grid;overflow-x:auto}.funnel-column{background:var(--viz-surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;min-height:120px;padding:.75rem;display:flex}.funnel-column__header{justify-content:space-between;align-items:baseline;display:flex}.funnel-column__title{color:var(--viz-text-secondary);font-size:.8rem;font-weight:600}.funnel-column__count{color:var(--viz-text-primary);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.funnel-column__bar{background:var(--viz-series-1);border-radius:2px;min-width:4px;height:4px}.funnel-column__items{flex-direction:column;gap:.35rem;display:flex}.funnel-item{background:var(--panel);border:1px solid var(--border);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:.4rem .5rem;font-size:.75rem;overflow:hidden}.feed-tree{flex-direction:column;gap:1rem;display:flex}.feed-tree__master{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);margin-bottom:.4rem;font-size:.75rem;font-weight:600;text-decoration:none;display:block}a.feed-tree__master:hover{color:var(--ink)}.feed-tree__master--active{color:var(--accent)}.feed-tree__curated-list{flex-direction:column;gap:.3rem;display:flex}.feed-tree__link{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;font-size:.85rem;text-decoration:none;display:flex}.feed-tree__link--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.feed-tree__checkbox-row{align-items:center;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.two-col{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=720px){.two-col{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem}.assignment-row{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.assignment-row:last-child{border-bottom:none}.assignment-row__handle{cursor:grab;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.assignment-row__handle--locked{cursor:not-allowed;opacity:.35}.assignment-row__headline{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.assignment-row__meta{color:var(--ink-muted);font-size:.75rem}.icon-button{border:1px solid var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .5rem;font-size:.75rem}.icon-button--active{color:var(--accent);border-color:var(--accent)}.form-row{color:var(--ink-muted);flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.form-row input,.form-row select{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:6px;padding:.45rem .55rem;font-size:.9rem}.button{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-size:.85rem}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.invite-url{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;padding:.5rem;font-size:.75rem}.button--ghost{border:1px dashed var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem .9rem;font-size:.85rem}.link-chip{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.source-pager{flex-direction:column;min-height:60vh;display:flex}.source-pager__tabs{scrollbar-width:none;align-items:center;gap:.4rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.source-pager__tabs::-webkit-scrollbar{display:none}.source-pager__tab{border:1px solid var(--border);background:var(--panel);color:var(--ink-muted);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.8rem;display:flex}.source-pager__tab--active{background:var(--accent);border-color:var(--accent);color:#fff}.source-pager__inactive-dot{background:var(--error-ink);border-radius:50%;width:6px;height:6px;display:inline-block}.embla-ingestion{flex:1;overflow:hidden}.embla-ingestion__container{height:100%;display:flex}.embla-ingestion__slide{flex:0 0 100%;min-width:0;height:100%;overflow-y:auto}.ingestion-slide__inner{flex-direction:column;gap:.5rem;display:flex}.raw-article-row{border-bottom:1px solid var(--border);padding:.6rem 0}.raw-article-row__title{font-size:.9rem;font-weight:600}.raw-article-row__meta{color:var(--ink-muted);margin:.2rem 0;font-size:.75rem}.raw-article-row__footer{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.badge--candidate{border:1px dashed var(--ink-muted);color:var(--ink-muted);background:0 0;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.cluster-feed-chips{flex-wrap:wrap;gap:.3rem;display:flex}.cluster-detail__divider{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;margin:.75rem 0 .4rem;font-size:.75rem}.cluster-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.cluster-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.cluster-card__header{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:.5rem;width:100%;margin:0;padding:0;display:flex}.cluster-card__headline{flex:1;font-size:.9rem;font-weight:600;line-height:1.35}.cluster-card__headline--singleton{color:var(--ink-muted);font-style:italic;font-weight:400}.cluster-card__meta{color:var(--ink-muted);justify-content:space-between;gap:.75rem;font-size:.75rem;display:flex}.cluster-card__footer{justify-content:flex-end;display:flex}.cluster-card__detail{border-top:1px solid var(--border);padding-top:.6rem}.stacked-bar-chart__legend{color:var(--viz-text-secondary);flex-wrap:wrap;gap:.25rem .9rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.stacked-bar-chart__legend-item{align-items:center;gap:.35rem;display:inline-flex}.stacked-bar-chart__swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.stacked-bar-chart{align-items:flex-end;gap:.9rem;height:260px;padding:0 .25rem .25rem;display:flex;overflow-x:auto}.stacked-bar-chart__col{flex-direction:column;flex:none;align-items:center;gap:.3rem;display:flex}.stacked-bar-chart__total{color:var(--viz-text-secondary);font-variant-numeric:tabular-nums;min-height:1em;font-size:.7rem}.stacked-bar-chart__bar{cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;flex-direction:column-reverse;gap:2px;width:24px;min-height:4px;padding:0;display:flex;overflow:hidden}.stacked-bar-chart__bar--selected{outline:2px solid var(--accent);outline-offset:2px}.stacked-bar-chart__segment{cursor:pointer;flex-shrink:0;flex-basis:0;width:100%}.stacked-bar-chart__segment:hover,.stacked-bar-chart__segment:focus-visible{filter:brightness(1.12);outline:none}.stacked-bar-chart__label{color:var(--viz-text-muted);font-size:.7rem}.stacked-bar-chart__tooltip{background:var(--panel);border:1px solid var(--border);border-radius:6px;align-items:baseline;gap:.4rem;width:fit-content;margin-top:.5rem;padding:.35rem .6rem;font-size:.8rem;display:flex}.stacked-bar-chart__tooltip-value{color:var(--viz-text-primary);font-weight:600}.stacked-bar-chart__tooltip-label{color:var(--viz-text-secondary);font-size:.75rem}.stacked-bar-chart__seg--1,.stacked-bar-chart__legend .stacked-bar-chart__seg--1{background:var(--viz-cat-1)}.stacked-bar-chart__seg--2{background:var(--viz-cat-2)}.stacked-bar-chart__seg--3{background:var(--viz-cat-3)}.stacked-bar-chart__seg--4{background:var(--viz-cat-4)}.stacked-bar-chart__seg--5{background:var(--viz-cat-5)}.stacked-bar-chart__seg--6{background:var(--viz-cat-6)}.stacked-bar-chart__seg--7{background:var(--viz-cat-7)}.stacked-bar-chart__seg--8{background:var(--viz-cat-8)}.stacked-bar-chart__seg--other{background:var(--viz-cat-other)}.time-range-filter__custom{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.time-range-filter__custom input{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:6px;padding:.35rem .5rem;font-size:.85rem}
