/* gambit. design system
   Semantic tokens drive every colour so light and dark themes share one set of component rules.
   Identity: navy/graphite surfaces, restrained green accent (the period in "gambit."), borders do
   the structural work, compact type and spacing. The theme follows the device unless the user
   picks one (html[data-theme]); the collapsed sidebar is html[data-sidebar="collapsed"]. */

/* ---- type: Inter, self-hosted (SIL OFL 1.1, fonts/Inter-LICENSE.txt), latin subset, weights 400-700 ---- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* A local face sized to Inter's metrics, so text does not jump when Inter arrives. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial");
  ascent-override: 90.2%;
  descent-override: 22.48%;
  line-gap-override: 0%;
  size-adjust: 107.4%;
}

/* ---- tokens: scale (theme-independent) ---- */
:root {
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 28px; --s7: 40px; --s8: 56px; --s9: 80px; --s10: 112px;
  --radius: 8px;
  --radius-sm: 6px;
  /* corner language: controls 6px, cards 10px, hero panels 16px, pills fully round */
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px; --r-pill: 999px;
  /* motion: fast for hover/press, base for reveals, slow for page-level changes (all off under reduced motion) */
  --dur-fast: 120ms; --dur: 200ms; --dur-slow: 320ms;
  /* type scale: UI sizes are fixed; display sizes are fluid between phone and desktop */
  --t-xs: 0.78rem; --t-sm: 0.875rem; --t-md: 1rem; --t-lg: 1.125rem; --t-xl: 1.375rem;
  --t-2xl: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem);
  --t-display: clamp(2.15rem, 1.4rem + 3.4vw, 3.9rem);
  /* breakpoints (documentation; media queries cannot read variables): 480 phone, 760 small tablet,
     900 drawer, 1024 tablet, 1280 desktop */
  /* the public hero band is navy in both themes */
  --hero-bg: #0b1f3a; --hero-text: #ffffff; --hero-muted: #a9b6c9; --hero-accent: #7fdcb2; --hero-line: #22385a;
  --font: "Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "Cascadia Mono", SFMono-Regular, Consolas, "Liberation Mono", monospace;
  --side-w: 228px;
  --side-w-collapsed: 60px;
  --topbar-h: 48px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --brand-green: #20a36b;  /* the green period in the "gambit." wordmark; identical in both themes */
}

/* ---- tokens: light theme (default) ---- */
:root {
  color-scheme: light;
  --bg: #f3f5f8;
  --surface: #ffffff;
  --surface-2: #eef1f5;
  --surface-hover: #e7ebf1;
  --border: #dce1e8;
  --border-soft: #e9edf2;
  --border-strong: #c3cbd6;
  --text: #17233a;
  --text-strong: #0b1f3a;
  --text-muted: #5b677a;
  --text-subtle: #7f8a9b;
  --accent: #137a4f;          /* green text on light surfaces (AA) */
  --accent-strong: #0f6641;
  --accent-soft: #e5f4ec;
  --accent-ink: #0e5a3a;
  --primary: #0b1f3a;         /* primary action: navy */
  --primary-hover: #17325a;
  --primary-ink: #ffffff;
  --focus: #20a36b;
  --warn-ink: #7a4b00;
  --warn-soft: #fbf1dc;
  --warn-line: #ecd9a8;
  --danger-ink: #9b2216;
  --danger-soft: #fdeae7;
  --fact: #137a4f;            /* evidence classes: verified fact / hypothesis / insufficient evidence */
  --fact-soft: #e5f4ec;
  --hyp: #8a5a00;
  --hyp-soft: #fbf1dc;
  --gap: #5b677a;
  --gap-soft: #eef1f5;
  /* evidence tiers, always shown with an icon and a label (never colour alone) */
  --tier-reported: #137a4f; --tier-reported-soft: #e5f4ec;
  --tier-calculated: #1d4f6e; --tier-calculated-soft: #e3eef5;
  --tier-interpretation: #8a5a00; --tier-interpretation-soft: #fbf1dc;
  --tier-open: #4a5568; --tier-open-soft: #eef1f5;
  --up: #137a4f;
  --down: #a3341f;
  --bar: #1d4f6e;             /* chart series: muted navy-teal */
  --bar-hover: #0b1f3a;
  --side-bg: #0b1f3a;
  --side-border: #0b1f3a;
  --side-text: #a9b6c9;
  --side-text-strong: #ffffff;
  --side-hover: rgba(255, 255, 255, 0.07);
  --side-active: rgba(255, 255, 255, 0.11);
  --tip-bg: #0b1f3a;
  --tip-text: #ffffff;
  --scrim: rgba(8, 15, 26, 0.45);
  --shadow-pop: 0 8px 28px rgba(11, 31, 58, 0.18);
}

/* ---- tokens: dark theme (device preference, unless light is chosen; or chosen explicitly) ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #0a0f17;
    --surface: #111823;
    --surface-2: #161f2c;
    --surface-hover: #1c2736;
    --border: #222d3c;
    --border-soft: #1a2330;
    --border-strong: #33415a;
    --text: #d6deea;
    --text-strong: #f1f4f9;
    --text-muted: #8c99ac;
    --text-subtle: #6b7789;
    --accent: #3cc489;
    --accent-strong: #5bd49f;
    --accent-soft: rgba(32, 163, 107, 0.14);
    --accent-ink: #7fdcb2;
    --primary: #e6ebf2;
    --primary-hover: #ffffff;
    --primary-ink: #0b1f3a;
    --focus: #3cc489;
    --warn-ink: #f0c36e;
    --warn-soft: rgba(240, 180, 60, 0.12);
    --warn-line: rgba(240, 180, 60, 0.28);
    --danger-ink: #ff9c8f;
    --danger-soft: rgba(255, 100, 80, 0.12);
    --fact: #5fd3a0;
    --fact-soft: rgba(32, 163, 107, 0.15);
    --hyp: #f0c36e;
    --hyp-soft: rgba(240, 180, 60, 0.13);
    --gap: #9aa6b8;
    --gap-soft: rgba(140, 153, 172, 0.13);
    --tier-reported: #5fd3a0; --tier-reported-soft: rgba(32, 163, 107, 0.15);
    --tier-calculated: #7fb4d4; --tier-calculated-soft: rgba(79, 143, 179, 0.16);
    --tier-interpretation: #f0c36e; --tier-interpretation-soft: rgba(240, 180, 60, 0.13);
    --tier-open: #b3bdcc; --tier-open-soft: rgba(140, 153, 172, 0.14);
    --up: #5fd3a0;
    --down: #ff9c8f;
    --bar: #4f8fb3;
    --bar-hover: #7fb4d4;
    --side-bg: #070b11;
    --side-border: #1a2330;
    --side-text: #8794a8;
    --side-text-strong: #f1f4f9;
    --side-hover: rgba(255, 255, 255, 0.05);
    --side-active: rgba(255, 255, 255, 0.08);
    --tip-bg: #e6ebf2;
    --tip-text: #0b1f3a;
    --scrim: rgba(0, 0, 0, 0.55);
    --shadow-pop: 0 8px 28px rgba(0, 0, 0, 0.5);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0a0f17;
  --surface: #111823;
  --surface-2: #161f2c;
  --surface-hover: #1c2736;
  --border: #222d3c;
  --border-soft: #1a2330;
  --border-strong: #33415a;
  --text: #d6deea;
  --text-strong: #f1f4f9;
  --text-muted: #8c99ac;
  --text-subtle: #6b7789;
  --accent: #3cc489;
  --accent-strong: #5bd49f;
  --accent-soft: rgba(32, 163, 107, 0.14);
  --accent-ink: #7fdcb2;
  --primary: #e6ebf2;
  --primary-hover: #ffffff;
  --primary-ink: #0b1f3a;
  --focus: #3cc489;
  --warn-ink: #f0c36e;
  --warn-soft: rgba(240, 180, 60, 0.12);
  --warn-line: rgba(240, 180, 60, 0.28);
  --danger-ink: #ff9c8f;
  --danger-soft: rgba(255, 100, 80, 0.12);
  --fact: #5fd3a0;
  --fact-soft: rgba(32, 163, 107, 0.15);
  --hyp: #f0c36e;
  --hyp-soft: rgba(240, 180, 60, 0.13);
  --gap: #9aa6b8;
  --gap-soft: rgba(140, 153, 172, 0.13);
  --tier-reported: #5fd3a0; --tier-reported-soft: rgba(32, 163, 107, 0.15);
  --tier-calculated: #7fb4d4; --tier-calculated-soft: rgba(79, 143, 179, 0.16);
  --tier-interpretation: #f0c36e; --tier-interpretation-soft: rgba(240, 180, 60, 0.13);
  --tier-open: #b3bdcc; --tier-open-soft: rgba(140, 153, 172, 0.14);
  --up: #5fd3a0;
  --down: #ff9c8f;
  --bar: #4f8fb3;
  --bar-hover: #7fb4d4;
  --side-bg: #070b11;
  --side-border: #1a2330;
  --side-text: #8794a8;
  --side-text-strong: #f1f4f9;
  --side-hover: rgba(255, 255, 255, 0.05);
  --side-active: rgba(255, 255, 255, 0.08);
  --tip-bg: #e6ebf2;
  --tip-text: #0b1f3a;
  --scrim: rgba(0, 0, 0, 0.55);
  --shadow-pop: 0 8px 28px rgba(0, 0, 0, 0.5);
}

/* Fallback theme animation (browsers without view transitions): a brief colour cross-fade. */
html.theme-fade *, html.theme-fade *::before, html.theme-fade *::after {
  transition: background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), fill .3s var(--ease) !important;
}
::view-transition-old(root), ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }

/* ---- base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.55 var(--font); font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { margin: 0 0 var(--s2); color: var(--text-strong); line-height: 1.25; font-weight: 650; letter-spacing: -0.015em; }
h1 { font-size: clamp(1.45rem, 2.6vw, 1.85rem); letter-spacing: -0.025em; }
h2 { font-size: 1.2rem; }
h3 { font-size: 1rem; }
p { margin: 0 0 var(--s3); }
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { color: var(--text-strong); }
ul, ol { margin: 0; padding-left: 1.2rem; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
.wrap { width: min(1120px, 100% - 2.5rem); margin-inline: auto; }
.skip { position: absolute; left: -999px; top: 0; background: var(--surface); color: var(--text-strong); padding: var(--s2) var(--s4); z-index: 60; border-radius: var(--radius-sm); }
.skip:focus { left: var(--s2); top: var(--s2); }
.muted, .quiet, .quiet-inline, .hint { color: var(--text-muted); }
.quiet { font-size: 0.9rem; margin: 0 0 var(--s3); }
.quiet-inline { font-size: 0.86rem; margin-left: var(--s2); }
.hint { font-size: 0.86rem; margin: var(--s2) 0 0; }
.mono { font-family: var(--mono); font-size: 0.85em; word-break: break-all; }
.missing { color: var(--text-muted); font-style: italic; font-size: 0.9rem; }
.num, .stat-value, .results-table td, .details dd { font-variant-numeric: tabular-nums; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* ---- app shell: sidebar + main column ---- */
.shell { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); min-height: 100vh; transition: grid-template-columns .22s var(--ease); }
html[data-sidebar="collapsed"] .shell { grid-template-columns: var(--side-w-collapsed) minmax(0, 1fr); }
.main-col { display: flex; flex-direction: column; min-width: 0; }
main { flex: 1; }

.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: var(--s4); padding: var(--s3) var(--s2); background: var(--side-bg); border-right: 1px solid var(--side-border); color: var(--side-text); z-index: 30; }
.side-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); min-height: 36px; padding-left: var(--s2); }
.brand { color: var(--text-strong); text-decoration: none; font-weight: 750; font-size: 1.3rem; letter-spacing: -0.045em; line-height: 1; white-space: nowrap; }
.brand:hover { color: var(--text-strong); }
.brand .dot { color: var(--brand-green); }
.sidebar .brand { color: var(--side-text-strong); }
.brand-mark { display: none; }

.icon-btn { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; cursor: pointer; transition: background .15s, color .15s; }
.sidebar .icon-btn:hover { background: var(--side-hover); color: var(--side-text-strong); }
.side-collapse .icon { transition: transform .22s var(--ease); }
.side-close { display: none; }

.nav { display: flex; flex-direction: column; gap: 2px; }
.nav a { position: relative; display: flex; align-items: center; gap: var(--s3); height: 34px; padding: 0 var(--s3); border-radius: var(--radius-sm); color: var(--side-text); text-decoration: none; font-size: 0.9rem; font-weight: 500; white-space: nowrap; transition: background .15s, color .15s; }
.nav a:hover { background: var(--side-hover); color: var(--side-text-strong); }
.nav a[aria-current="page"] { background: var(--side-active); color: var(--side-text-strong); font-weight: 600; }
.nav a[aria-current="page"]::before { content: ""; position: absolute; left: -8px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--brand-green); }
.nav a[aria-current="page"] .icon { color: var(--brand-green); }

.side-foot { margin-top: auto; display: flex; flex-direction: column; gap: var(--s3); }
.theme-switch { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 3px; margin: 0 var(--s1); border-radius: var(--radius); background: var(--side-hover); }
.theme-switch button { display: grid; place-items: center; height: 28px; border: 0; border-radius: 5px; background: transparent; color: var(--side-text); cursor: pointer; transition: background .15s, color .15s; }
.theme-switch button:hover { color: var(--side-text-strong); }
.theme-switch button[aria-pressed="true"] { background: var(--side-active); color: var(--side-text-strong); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); }
.theme-switch .icon { width: 16px; height: 16px; }

/* collapsed rail: icons only; labels become hover/focus tooltips but stay in the accessibility tree */
@media (min-width: 901px) {
  html[data-sidebar="collapsed"] .sidebar { padding-inline: var(--s2); align-items: center; }
  html[data-sidebar="collapsed"] .side-head { flex-direction: column; padding-left: 0; gap: var(--s3); }
  html[data-sidebar="collapsed"] .brand-word { display: none; }
  html[data-sidebar="collapsed"] .brand-mark { display: inline; }
  html[data-sidebar="collapsed"] .side-collapse .icon { transform: scaleX(-1); }
  html[data-sidebar="collapsed"] .nav, html[data-sidebar="collapsed"] .side-foot { align-items: center; width: 100%; }
  html[data-sidebar="collapsed"] .nav a { width: 40px; height: 36px; justify-content: center; padding: 0; }
  html[data-sidebar="collapsed"] .nav a[aria-current="page"]::before { left: -10px; }
  html[data-sidebar="collapsed"] .nav-label { position: absolute; left: calc(100% + 10px); top: 50%; transform: translate(-4px, -50%); padding: 4px 8px; border-radius: 5px; background: var(--tip-bg); color: var(--tip-text); font-size: 0.8rem; font-weight: 600; box-shadow: var(--shadow-pop); opacity: 0; pointer-events: none; transition: opacity .12s, transform .12s; }
  html[data-sidebar="collapsed"] .nav a:hover .nav-label, html[data-sidebar="collapsed"] .nav a:focus-visible .nav-label { opacity: 1; transform: translate(0, -50%); }
  html[data-sidebar="collapsed"] .theme-switch { grid-template-columns: 1fr; margin: 0; padding: 2px; }
  html[data-sidebar="collapsed"] .theme-switch button { width: 36px; }
  html[data-sidebar="collapsed"] .theme-switch button[aria-pressed="false"] { display: none; }
}

.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: var(--s3); height: var(--topbar-h); padding: 0 var(--s5); background: color-mix(in srgb, var(--bg) 86%, transparent); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--border); }
.topbar .icon-btn { color: var(--text-muted); }
.topbar .icon-btn:hover { background: var(--surface-hover); color: var(--text-strong); }
.nav-open, .brand-top { display: none; }
.topbar-end { margin-left: auto; display: flex; align-items: center; gap: var(--s3); }
.mode-switch { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); font-size: 0.8rem; }
.mode-switch a { color: var(--text-muted); text-decoration: none; padding: 2px var(--s3); border-radius: 4px; font-weight: 550; }
.mode-switch a:hover { color: var(--text-strong); background: var(--surface-2); }
.mode-switch a.on { color: var(--text-strong); font-weight: 650; background: var(--surface-2); }
.is-demo .mode-switch a.on { color: var(--warn-ink); background: var(--warn-soft); }

.demo-banner { background: var(--warn-soft); color: var(--warn-ink); border-bottom: 1px solid var(--warn-line); padding: 6px 0; font-size: 0.86rem; }
.site-footer { margin-top: var(--s8); border-top: 1px solid var(--border); padding: var(--s4) 0 var(--s5); color: var(--text-muted); font-size: 0.8rem; }
.site-footer p { margin: 0; max-width: 90ch; }
.site-footer a { color: var(--text-muted); }
.site-footer a:hover { color: var(--text-strong); }
.scrim { display: none; }

/* ---- page structure ---- */
.page-head { padding: var(--s6) 0 var(--s3); }
.page-head .lead { color: var(--text-muted); max-width: 64ch; margin: 0; font-size: 0.98rem; }
.page-head .head-link { color: var(--accent); }
.eyebrow { font-size: 0.74rem; font-weight: 650; color: var(--text-muted); margin: 0 0 var(--s2); text-transform: uppercase; letter-spacing: 0.06em; }
.section { padding-top: var(--s5); }
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.section-head p { margin: 0; color: var(--text-muted); font-size: 0.9rem; }
.block-title { font-size: 1.08rem; margin: var(--s5) 0 var(--s3); display: flex; align-items: baseline; gap: var(--s3); flex-wrap: wrap; }
.subhead { font-size: 0.74rem; color: var(--text-muted); font-weight: 650; margin: var(--s4) 0 var(--s2); text-transform: uppercase; letter-spacing: 0.06em; }
.plain-link { font-size: 0.9rem; font-weight: 600; text-decoration: none; }
.plain-link:hover { text-decoration: underline; }
.prose { padding-top: var(--s4); display: grid; gap: var(--s3); max-width: 760px; }
.prose .card { padding: var(--s4) var(--s5); }
.prose h2 { font-size: 1.05rem; }
.prose p { margin: 0; color: var(--text); }

/* ---- surfaces ---- */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.signals { padding: var(--s4) var(--s5); }
.empty { padding: var(--s6) var(--s5); text-align: center; }
.empty h3 { margin-bottom: var(--s2); }
.empty p { color: var(--text-muted); margin: 0 auto var(--s3); max-width: 56ch; }
.callout { background: var(--surface-2); border: 1px solid var(--border-soft); border-radius: var(--radius); padding: var(--s3) var(--s4); font-size: 0.92rem; }
.callout p:last-child { margin-bottom: 0; }

/* ---- buttons ---- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s2); font: inherit; font-weight: 600; font-size: 0.9rem; color: var(--primary-ink); background: var(--primary); border: 1px solid var(--primary); border-radius: var(--radius-sm); padding: 8px var(--s4); cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.btn:hover { background: var(--primary-hover); border-color: var(--primary-hover); color: var(--primary-ink); }
.btn:disabled { cursor: not-allowed; opacity: 0.45; filter: grayscale(1); }
.btn.is-busy:disabled { cursor: progress; opacity: 0.75; filter: none; }
.btn-secondary { background: var(--surface); color: var(--text-strong); border-color: var(--border-strong); }
.btn-secondary:hover { background: var(--surface-2); border-color: var(--border-strong); color: var(--text-strong); }
.btn-small { padding: 5px var(--s3); font-size: 0.85rem; }
.btn-link { background: none; border-color: transparent; color: var(--accent); padding-inline: var(--s2); }
.btn-link:hover { background: var(--surface-2); border-color: transparent; color: var(--text-strong); }
.actions { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; margin-top: var(--s4); }
.spinner { display: none; width: 14px; height: 14px; border: 2px solid color-mix(in srgb, var(--primary-ink) 40%, transparent); border-top-color: var(--primary-ink); border-radius: 50%; animation: spin 0.8s linear infinite; }
.btn-secondary .spinner, .spinner-dark { border-color: var(--accent-soft); border-top-color: var(--accent); }
.btn.is-busy .spinner { display: inline-block; }
.spinner-dark { display: inline-block; margin-right: var(--s2); vertical-align: -2px; }
@keyframes spin { to { transform: rotate(360deg); } }

/* ---- forms ---- */
label, .field > label { display: block; font-size: 0.86rem; font-weight: 600; color: var(--text-strong); margin-bottom: var(--s1); }
input[type="text"], input[type="search"], input[type="email"], input[type="password"], select, textarea { width: 100%; font: inherit; font-size: 0.92rem; color: var(--text); background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 8px var(--s3); transition: border-color .15s, box-shadow .15s; }
input::placeholder, textarea::placeholder { color: var(--text-subtle); }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none; border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent); }
.field { margin-bottom: var(--s4); }
.field-error { color: var(--danger-ink); font-size: 0.86rem; margin: var(--s1) 0 0; }
input[aria-invalid="true"] { border-color: var(--danger-ink); }
.check { display: flex; align-items: center; gap: var(--s2); font-weight: 500; cursor: pointer; margin: 0; }
.check input { width: 1rem; height: 1rem; accent-color: var(--brand-green); }
.search { display: grid; grid-template-columns: 1fr 1fr auto; gap: var(--s3) var(--s4); align-items: end; padding: var(--s4) var(--s5); }
.search .field { margin: 0; }
.search-head { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); flex-wrap: wrap; }
.search-head h2 { font-size: 1.05rem; margin: 0; }
.source-pill { font-size: 0.82rem; color: var(--text-muted); }
.search .hint, .search .progress { grid-column: 1 / -1; margin: 0; }
.search-extra { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3) var(--s4); align-items: end; }
.search-extra .hint { grid-column: 1 / -1; margin: 0; }
.distance { display: block; font-size: 0.82rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.retry-form { margin: var(--s3) 0 0; }
.match { display: block; font-size: 0.78rem; color: var(--text-muted); }
.suggestions { text-align: left; max-width: 56ch; margin: var(--s3) auto 0; }
.suggestions .retry-form { margin: var(--s2) 0 var(--s2); }
.progress { color: var(--accent-ink); font-size: 0.9rem; font-weight: 600; margin: 0 0 var(--s3); }
.progress[hidden], .loading[hidden] { display: none; }
.filters { display: grid; grid-template-columns: 2fr 1.3fr auto auto; gap: var(--s3) var(--s4); align-items: end; padding: var(--s3) var(--s4); margin-bottom: var(--s4); }
.filters .field { margin: 0; }
.filter-actions { display: flex; gap: var(--s2); }
.website-form { padding: var(--s4) var(--s5); display: grid; gap: var(--s3); max-width: 640px; }
.research-form { margin: 0; display: inline-flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }

/* ---- alerts ---- */
.alert { display: block; border-radius: var(--radius); padding: var(--s3) var(--s4); margin-bottom: var(--s4); font-size: 0.92rem; border: 1px solid transparent; }
.alert-icon { display: none; }
.alert > div > strong:first-child, .alert > strong:first-child { display: block; }  /* the title only: bold words inside a list stay inline */
.alert-ok { background: var(--accent-soft); color: var(--accent-ink); }
.alert-error { background: var(--danger-soft); color: var(--danger-ink); }
.alert-warn, .alert-demo { background: var(--warn-soft); color: var(--warn-ink); }
.alert-actions { display: flex; gap: var(--s2); flex-wrap: wrap; margin-top: var(--s3); }

/* ---- small status text (no pills) ---- */
.badge { font-size: 0.8rem; font-weight: 600; white-space: nowrap; margin-right: var(--s2); cursor: help; color: var(--text-muted); }
.badge-new, .badge-confirmed { color: var(--accent); }
.badge-known { color: var(--text-muted); }
.badge-known_changed { color: var(--warn-ink); }
.badge-not_saved { color: var(--danger-ink); }
.badge-demo { color: var(--warn-ink); cursor: default; }
.tag { font-size: 0.76rem; font-weight: 600; color: var(--text-muted); margin-right: var(--s1); }
.tag-ai { color: var(--warn-ink); }
.tag-page { color: var(--accent); }
.tag-rule { color: var(--text-muted); }
.chip { display: inline-block; font-size: 0.8rem; color: var(--text-strong); background: var(--surface-2); border: 1px solid var(--border-soft); border-radius: 4px; padding: 0 var(--s2); }

/* ---- counts: a quiet summary line instead of dashboard tiles ---- */
.stats { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin: 0 0 var(--s3); }
.stat { display: inline-flex; align-items: baseline; gap: var(--s2); }
.stat-value { font-weight: 650; color: var(--text-strong); }
.stat-label { color: var(--text-muted); font-size: 0.88rem; }
.stat-note { display: none; }

/* ---- filters as text links ---- */
.pills { display: flex; gap: var(--s1) var(--s2); flex-wrap: wrap; margin: 0 0 var(--s4); }
.pills a { text-decoration: none; color: var(--text-muted); font-size: 0.88rem; padding: 3px var(--s2); border-radius: var(--radius-sm); }
.pills a:hover { color: var(--text-strong); background: var(--surface-2); }
.pills a[aria-current="true"] { color: var(--text-strong); font-weight: 650; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--border); }
.pills .count { color: var(--text-muted); margin-left: var(--s1); font-weight: 400; }
.legend { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s5); margin: var(--s3) 0 0; font-size: 0.82rem; color: var(--text-muted); }
.attribution { margin: var(--s4) 0 0; font-size: 0.82rem; color: var(--text-muted); }

/* ---- tables (discovery results) ---- */
.table-card { overflow: hidden; }
.results-table { width: 100%; border-collapse: collapse; }
.results-table th { text-align: left; font-size: 0.72rem; font-weight: 650; color: var(--text-muted); padding: var(--s2) var(--s4); border-bottom: 1px solid var(--border); background: var(--surface-2); text-transform: uppercase; letter-spacing: 0.05em; }
.results-table td { padding: var(--s2) var(--s4); border-bottom: 1px solid var(--border-soft); vertical-align: top; font-size: 0.9rem; }
.results-table tbody tr:hover td { background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
.results-table tbody tr:last-child td { border-bottom: 0; }
.biz { display: flex; flex-direction: column; gap: 2px; }
.biz-name { font-weight: 650; color: var(--text-strong); }
.biz-source { font-size: 0.8rem; color: var(--text-muted); }
.site { word-break: break-word; }

/* ---- saved businesses: a list that says what to click next ---- */
.biz-list { list-style: none; margin: 0; padding: 0; }
.biz-item { display: grid; grid-template-columns: 1fr auto; gap: var(--s3) var(--s5); align-items: center; padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border-soft); }
.biz-item:last-child { border-bottom: 0; }
.biz-item .name { font-weight: 650; font-size: 0.98rem; color: var(--text-strong); text-decoration: none; }
.biz-item .name:hover { text-decoration: underline; }
.biz-meta { color: var(--text-muted); font-size: 0.86rem; margin: 2px 0 0; }
.biz-site { font-size: 0.86rem; margin: var(--s1) 0 0; }
.biz-action { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s1); }
.biz-action .quiet-inline { margin: 0; font-size: 0.8rem; text-align: right; }
.website-edit { font-size: 0.82rem; margin-left: var(--s2); }

/* ---- details and technical sections ---- */
.details { margin-top: var(--s4); padding: var(--s3) var(--s4); }
.details summary { cursor: pointer; font-weight: 600; color: var(--text-strong); font-size: 0.92rem; }
.details dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s2) var(--s5); margin: var(--s3) 0 0; }
.details dl div { display: flex; justify-content: space-between; gap: var(--s4); border-bottom: 1px solid var(--border-soft); padding-bottom: var(--s1); font-size: 0.9rem; }
.details dt { color: var(--text-muted); }
.details dd { margin: 0; font-weight: 600; text-align: right; }
.problems { margin: var(--s3) 0 0; padding-left: 1.1rem; color: var(--text-muted); font-size: 0.88rem; }

/* ---- loading ---- */
.loading { padding: var(--s4) var(--s5); }
.loading-title { font-weight: 600; color: var(--accent-ink); margin-bottom: var(--s3); }
.skeleton { height: 12px; border-radius: 4px; margin-bottom: var(--s3); background: linear-gradient(90deg, var(--surface-2), var(--surface-hover), var(--surface-2)); background-size: 200% 100%; animation: shimmer 1.4s linear infinite; }
.skeleton.short { width: 55%; }
.is-pending { opacity: 0.5; }
@keyframes shimmer { to { background-position: -200% 0; } }

/* ---- research report ---- */
.hyp-list { display: grid; gap: var(--s3); }
.hyp { padding: var(--s4) var(--s5); }
.hyp h3 { font-size: 1rem; margin: var(--s1) 0 0; }
.hyp-cat { margin: 0; display: flex; gap: var(--s2); align-items: center; flex-wrap: wrap; font-size: 0.86rem; }
.evidence { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); }
.evidence li { border-left: 2px solid var(--border-strong); padding-left: var(--s3); overflow-wrap: anywhere; }
.evidence q { display: block; font-style: italic; }
.evidence .src { display: block; font-size: 0.82rem; color: var(--text-muted); margin-top: 2px; }
.evidence li.skipped { color: var(--text-muted); }
.hyp-notes { display: grid; gap: var(--s3); margin: var(--s3) 0 0; }
.hyp-notes dt { font-size: 0.74rem; color: var(--text-muted); font-weight: 650; text-transform: uppercase; letter-spacing: 0.05em; }
.hyp-notes dd { margin: 2px 0 0; }
.plain-list { margin: 0; padding-left: 1.1rem; display: grid; gap: var(--s2); }
.again { margin-top: var(--s5); display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.again .quiet { margin: 0; }
.summary-line { color: var(--text-muted); font-size: 0.9rem; margin: 0 0 var(--s4); }
.summary-line strong { color: var(--text-strong); }

/* ---- home: choosing a role ---- */
.home { max-width: 760px; margin-inline: auto; padding: var(--s7) 0 var(--s5); }
.home h1 { font-size: clamp(1.65rem, 3.4vw, 2.15rem); margin-bottom: var(--s3); }
.home .lead { color: var(--text-muted); font-size: 1rem; max-width: 52ch; margin-bottom: var(--s5); }
.choices { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); margin-bottom: var(--s4); }
.choice { display: flex; flex-direction: column; gap: var(--s1); padding: var(--s4) var(--s5); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); text-decoration: none; color: var(--text); transition: border-color .15s, background .15s, transform .15s; }
.choice:hover { border-color: var(--accent); color: var(--text); }
.choice-title { font-size: 1.05rem; font-weight: 650; color: var(--text-strong); }
.choice-text { color: var(--text-muted); font-size: 0.9rem; flex: 1; }
.choice-go { color: var(--accent); font-weight: 600; font-size: 0.88rem; margin-top: var(--s2); }
.fineprint { color: var(--text-muted); font-size: 0.84rem; max-width: 60ch; }

/* ---- guided flows (business owner) ---- */
.flow { max-width: 640px; margin-inline: auto; padding: var(--s6) 0 var(--s5); }
.flow h1 { font-size: clamp(1.4rem, 2.8vw, 1.75rem); }
.flow .lead { color: var(--text-muted); margin-bottom: var(--s5); }
.steps { margin: 0 0 var(--s5); }
.steps-label { font-size: 0.8rem; color: var(--text-muted); font-weight: 600; margin: 0 0 var(--s2); }
.steps-bar { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--s1); list-style: none; padding: 0; margin: 0; }
.steps-bar li { height: 3px; border-radius: 2px; background: var(--border); }
.steps-bar li.done { background: color-mix(in srgb, var(--brand-green) 55%, var(--border)); }
.steps-bar li.current { background: var(--brand-green); }
.candidates { list-style: none; margin: 0 0 var(--s5); padding: 0; display: grid; gap: var(--s2); }
.candidate { display: grid; grid-template-columns: 1fr auto; gap: var(--s3) var(--s4); align-items: center; padding: var(--s3) var(--s4); }
.candidate h2 { font-size: 1rem; margin: 0; }
.candidate p { margin: 2px 0 0; color: var(--text-muted); font-size: 0.88rem; }
.facts { display: grid; gap: var(--s2); margin: 0 0 var(--s5); padding: var(--s4) var(--s5); }
.facts div { display: grid; grid-template-columns: 9rem 1fr; gap: var(--s3); }
.facts dt { color: var(--text-muted); font-size: 0.9rem; }
.facts dd { margin: 0; overflow-wrap: anywhere; }
.options { display: grid; gap: var(--s2); margin: 0 0 var(--s5); padding: 0; border: 0; }
.options legend { padding: 0; margin-bottom: var(--s3); font-weight: 600; color: var(--text-strong); }
.option { display: flex; gap: var(--s3); align-items: flex-start; padding: var(--s3) var(--s4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); cursor: pointer; margin: 0; font-weight: 400; transition: border-color .15s, background .15s; }
.option:hover { border-color: var(--border-strong); }
.option:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.option input { margin-top: 4px; width: 1rem; height: 1rem; accent-color: var(--brand-green); }
.option strong { display: block; color: var(--text-strong); font-weight: 600; }
.option span { color: var(--text-muted); font-size: 0.88rem; }
.preview { max-width: 760px; margin-inline: auto; padding: var(--s6) 0 var(--s5); }
.preview > section { padding-top: var(--s4); margin-top: var(--s4); border-top: 1px solid var(--border); }
.preview h2 { font-size: 1.08rem; }
.preview .hyp-list { margin-top: var(--s3); }
.next-list { padding-left: 1.2rem; display: grid; gap: var(--s2); }
.tool-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.tool { display: grid; grid-template-columns: 1fr auto; gap: var(--s3) var(--s5); align-items: center; padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border-soft); }
.tool:last-child { border-bottom: 0; }
.tool h2 { font-size: 0.98rem; margin: 0; }
.tool p { margin: 2px 0 0; color: var(--text-muted); font-size: 0.88rem; }
.tool-status { color: var(--text-muted); font-size: 0.84rem; font-weight: 600; }

/* ---- evidence tiers: a label, an icon and a tint; the label alone carries the meaning ---- */
.tier { display: inline-flex; align-items: center; gap: 6px; width: max-content; max-width: 100%; padding: 3px 10px 3px 8px; border-radius: var(--r-pill); font-size: var(--t-xs); font-weight: 650; line-height: 1.5; white-space: nowrap; }
.tier .icon { width: 14px; height: 14px; stroke-width: 2.2; }
.tier-reported { color: var(--tier-reported); background: var(--tier-reported-soft); }
.tier-calculated { color: var(--tier-calculated); background: var(--tier-calculated-soft); }
.tier-interpretation { color: var(--tier-interpretation); background: var(--tier-interpretation-soft); }
.tier-open { color: var(--tier-open); background: var(--tier-open-soft); }

/* ---- workspace overview: tool cards ---- */
.tool-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: var(--s3); }
.tool-card { position: relative; display: grid; gap: var(--s2); align-content: start; padding: var(--s4) var(--s5); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); transition: border-color var(--dur-fast), transform var(--dur-fast); }
.tool-card:hover { border-color: var(--border-strong); }
.tool-card > .icon { color: var(--accent); width: 20px; height: 20px; }
.tool-card h3 { margin: 0; font-size: var(--t-md); }
.tool-card h3 a { color: var(--text-strong); text-decoration: none; }
.tool-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }  /* the whole card is the link target */
.tool-card h3 a:focus-visible { outline: none; }
.tool-card:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.tool-card p { margin: 0; color: var(--text-muted); font-size: var(--t-sm); }
.foot-links { margin-top: var(--s2) !important; }

/* ---- shared helpers ---- */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wrap-wide { width: min(1440px, 100% - 2.5rem); }
.h3 { font-size: 1rem; }
.count { color: var(--text-muted); font-weight: 500; font-variant-numeric: tabular-nums; margin-left: 2px; }
.ticker { display: inline-block; font: 650 0.72rem/1.5 var(--mono); letter-spacing: 0.02em; color: var(--text-strong); background: var(--surface-2); border: 1px solid var(--border); border-radius: 4px; padding: 0 5px; vertical-align: 0.12em; }
.ticker-lg { font-size: 0.8rem; margin-left: var(--s2); }
.nav-group { margin: var(--s3) 0 var(--s1); padding: 0 var(--s3); font-size: 0.68rem; font-weight: 650; letter-spacing: 0.07em; text-transform: uppercase; color: color-mix(in srgb, var(--side-text) 75%, transparent); white-space: nowrap; }
.page-head-compact { display: flex; align-items: center; justify-content: space-between; gap: var(--s3) var(--s5); flex-wrap: wrap; padding: var(--s5) 0 var(--s3); }
.page-head-compact h1 { margin: 0; font-size: 1.3rem; }

/* ---- company search box ---- */
.omni { position: relative; display: flex; align-items: center; gap: var(--s2); padding: 5px 5px 5px var(--s4); background: var(--surface); border: 1px solid var(--border-strong); border-radius: 10px; box-shadow: 0 1px 2px rgba(11, 31, 58, 0.05); transition: border-color .15s, box-shadow .15s; }
.omni:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent); }
.omni-icon { color: var(--text-muted); }
.omni input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-strong); font: inherit; font-size: 1rem; padding: 8px 0; }
.omni input::placeholder { color: var(--text-subtle); }
.omni-key { font: 600 0.72rem/1 var(--mono); color: var(--text-muted); border: 1px solid var(--border); border-bottom-width: 2px; border-radius: 4px; padding: 3px 6px; }
.omni:focus-within .omni-key { display: none; }
.omni-compact { width: min(520px, 100%); padding-block: 3px; }
.omni-compact input { font-size: 0.92rem; padding: 6px 0; }
.omni-compact .btn { padding-block: 6px; }

/* ---- home: search first ---- */
.launch { max-width: 760px; margin-inline: auto; padding: var(--s8) 0 var(--s5); }
.launch h1 { font-size: clamp(1.6rem, 3.2vw, 2.1rem); margin-bottom: var(--s2); }
.launch .lead { color: var(--text-muted); max-width: 60ch; margin-bottom: var(--s5); }
.launch-picks { display: flex; align-items: baseline; gap: var(--s2) var(--s3); flex-wrap: wrap; margin-top: var(--s4); }
.launch-picks-label { font-size: 0.8rem; color: var(--text-muted); font-weight: 600; }
.pick-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2); }
.pick { display: inline-flex; align-items: center; gap: var(--s2); padding: 3px var(--s3) 3px 4px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text); font-size: 0.84rem; text-decoration: none; transition: border-color .15s, background .15s; }
.pick:hover { border-color: var(--accent); color: var(--text-strong); }
.pick .ticker { border-radius: 999px; padding-inline: 7px; }
.launch .fineprint { margin-top: var(--s4); }
.local { max-width: 760px; margin-inline: auto; padding: var(--s4) 0; border-top: 1px solid var(--border); }
.local .subhead { margin-top: 0; }
.local .choice { padding: var(--s3) var(--s4); }
.local .choice-title { font-size: 0.98rem; }

/* ---- companies: split results / preview ---- */
.split { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: var(--s4); align-items: start; }
.split-title { display: flex; align-items: baseline; gap: var(--s1); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); margin: 0; padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border); }
.result-list { list-style: none; margin: 0; padding: var(--s1); }
.result { display: flex; flex-direction: column; gap: 1px; padding: var(--s2) var(--s3); border-radius: var(--radius-sm); color: var(--text); text-decoration: none; border: 1px solid transparent; }
.result:hover { background: var(--surface-2); color: var(--text); }
.result.is-selected { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
.result-main { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.result-name { font-weight: 600; color: var(--text-strong); font-size: 0.92rem; }
.result-meta { font-size: 0.78rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.split-preview { padding: var(--s4) var(--s5); position: sticky; top: calc(var(--topbar-h) + var(--s3)); scroll-margin-top: calc(var(--topbar-h) + var(--s3)); }
.preview-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; padding-bottom: var(--s3); border-bottom: 1px solid var(--border-soft); margin-bottom: var(--s3); }
.preview-head h2 { margin: 0; font-size: 1.2rem; }
.preview-head .eyebrow { margin-bottom: 2px; }
.kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0 var(--s5); margin: 0; }
.kv div { display: flex; justify-content: space-between; gap: var(--s3); padding: 6px 0; border-bottom: 1px solid var(--border-soft); font-size: 0.86rem; }
.kv dt { color: var(--text-muted); }
.kv dd { margin: 0; text-align: right; color: var(--text-strong); }
.mini-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--s4) 0 0; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.mini { display: flex; flex-direction: column; gap: 1px; padding: var(--s2) var(--s3); border-right: 1px solid var(--border-soft); min-width: 0; }
.mini:last-child { border-right: 0; }
.mini-label, .kpi-label { font-size: 0.72rem; color: var(--text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-value { font-size: 1.15rem; font-weight: 650; color: var(--text-strong); letter-spacing: -0.01em; }
.mini-sub, .kpi-sub { font-size: 0.76rem; color: var(--text-muted); }
.coverage { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); font-size: 0.84rem; }
.coverage li { display: inline-flex; align-items: center; gap: 6px; color: var(--text-strong); }
.coverage li.is-off { color: var(--text-muted); }
.cov-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--fact); flex: none; }
.is-off .cov-dot { background: transparent; box-shadow: inset 0 0 0 1.5px var(--border-strong); }
.preview-note { font-size: 0.88rem; color: var(--text-muted); margin: 0; }
.preview-foot { margin: var(--s4) 0 0; padding-top: var(--s3); border-top: 1px solid var(--border-soft); font-size: 0.78rem; color: var(--text-muted); }

/* ---- top bar: analysis context ---- */
.ctx { display: flex; align-items: center; gap: var(--s3); min-width: 0; font-size: 0.84rem; }
.ctx-name { font-weight: 650; color: var(--text-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ctx-item { white-space: nowrap; color: var(--text); padding-left: var(--s3); border-left: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.ctx-k { color: var(--text-muted); margin-right: 3px; }
.insp-toggle[aria-expanded="true"] { background: var(--surface-2); border-color: var(--accent); }

/* ---- company workspace ---- */
.ws { display: grid; grid-template-columns: minmax(0, 1fr); width: min(1440px, 100% - 2.5rem); margin-inline: auto; gap: 0 var(--s5); }
.ws-main { min-width: 0; }
.ws-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s3) var(--s5); flex-wrap: wrap; padding: var(--s5) 0 var(--s3); }
.ws-head h1 { margin: 0; font-size: 1.45rem; }
.ws-head .eyebrow a { color: inherit; text-decoration: none; }
.ws-head .eyebrow a:hover { color: var(--text-strong); }
.demo-tag { color: var(--warn-ink); }
.ws-meta { display: flex; flex-wrap: wrap; gap: 2px var(--s3); margin: var(--s1) 0 0; font-size: 0.82rem; color: var(--text-muted); }
.ws-meta > span + span::before { content: "·"; margin-right: var(--s3); color: var(--border-strong); }
.ws-status { display: inline-flex; align-items: center; gap: var(--s2); margin: 0; font-size: 0.8rem; color: var(--text-muted); border: 1px solid var(--border); border-radius: 999px; padding: 3px var(--s3); background: var(--surface); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--fact); }
.ws-nav { position: sticky; top: var(--topbar-h); z-index: 10; display: flex; gap: var(--s1); overflow-x: auto; margin: 0 0 var(--s2); padding: var(--s2) 0; background: var(--bg); border-bottom: 1px solid var(--border); scrollbar-width: none; }
.ws-nav a { flex: none; padding: 4px var(--s3); border-radius: var(--radius-sm); color: var(--text-muted); text-decoration: none; font-size: 0.86rem; font-weight: 550; }
.ws-nav a:hover, .ws-nav a.is-active { color: var(--text-strong); background: var(--surface-2); }
.ws-section { padding-top: var(--s5); scroll-margin-top: calc(var(--topbar-h) + 52px); }
.ws-section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s2) var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.ws-section-head h2 { margin: 0; font-size: 1.02rem; }
.ws-section-note { margin: 0; font-size: 0.8rem; color: var(--text-muted); }
.empty-left { text-align: left; margin-top: var(--s3); }
.empty-left p { margin-left: 0; }
.card-title { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); margin: 0 0 var(--s3); }

/* segmented filter */
.seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 2px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.seg button { display: inline-flex; align-items: center; gap: 5px; font: inherit; font-size: 0.8rem; font-weight: 550; color: var(--text-muted); background: transparent; border: 0; border-radius: 5px; padding: 3px var(--s2); cursor: pointer; }
.seg button:hover:not(:disabled) { color: var(--text-strong); background: var(--surface-2); }
.seg button[aria-pressed="true"] { color: var(--text-strong); background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--border); }
.seg button:disabled { opacity: 0.45; cursor: default; }

/* evidence classification */
.cls { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; font-weight: 650; letter-spacing: 0.01em; white-space: nowrap; border-radius: 4px; padding: 1px 6px; cursor: help; }
.cls-fact { color: var(--fact); background: var(--fact-soft); }
.cls-hypothesis { color: var(--hyp); background: var(--hyp-soft); }
.cls-insufficient { color: var(--gap); background: var(--gap-soft); }
.cls-dot { width: 7px; height: 7px; border-radius: 2px; }
.cls-dot-fact { background: var(--fact); }
.cls-dot-hypothesis { background: var(--hyp); }
.cls-dot-insufficient { background: transparent; box-shadow: inset 0 0 0 1.5px var(--gap); }

/* findings */
.findings { list-style: none; margin: 0; padding: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.finding { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; border-bottom: 1px solid var(--border-soft); scroll-margin-top: calc(var(--topbar-h) + 52px); }
.finding:last-child { border-bottom: 0; }
.finding[hidden] { display: none; }
.finding::before { content: ""; position: absolute; left: -1px; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; }
.finding-fact::before { background: var(--fact); }
.finding-hypothesis::before { background: var(--hyp); }
.finding-insufficient::before { background: var(--border-strong); }
.finding.is-flash { animation: flash 1.2s var(--ease); }
@keyframes flash { from { background: var(--accent-soft); } }
.finding details { min-width: 0; }
.finding summary { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto 18px; align-items: center; gap: var(--s3); padding: var(--s2) var(--s2) var(--s2) var(--s4); cursor: pointer; list-style: none; min-height: 50px; }
.finding summary::-webkit-details-marker { display: none; }
.finding summary:hover { background: color-mix(in srgb, var(--surface-2) 60%, transparent); }
.finding-main { display: flex; flex-direction: column; min-width: 0; }
.finding-title { font-weight: 600; color: var(--text-strong); font-size: 0.92rem; }
.finding-meta { font-size: 0.78rem; color: var(--text-muted); }
.finding-metric { font-weight: 650; color: var(--text-strong); font-size: 0.88rem; text-align: right; white-space: nowrap; }
.finding-chev { width: 16px; height: 16px; color: var(--text-muted); transition: transform .18s var(--ease); }
.finding details[open] .finding-chev { transform: rotate(90deg); }
.finding > .ev-btn { margin: 13px var(--s3) 0 0; }
.finding-body { padding: 0 var(--s4) var(--s4) calc(9.5rem + var(--s4) + var(--s3)); }
.finding-dl { display: grid; gap: var(--s2); margin: 0; font-size: 0.88rem; }
.finding-dl div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--s3); }
.finding-dl dt { color: var(--text-muted); font-size: 0.78rem; font-weight: 600; padding-top: 2px; }
.finding-dl dd { margin: 0; }
.mono-soft { font-family: var(--mono); font-size: 0.82rem; overflow-wrap: anywhere; }
.finding-actions { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); }

/* evidence trigger */
.ev-btn { display: inline-flex; align-items: center; gap: 5px; font: inherit; font-size: 0.78rem; font-weight: 600; color: var(--accent); background: transparent; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 2px 8px; text-decoration: none; cursor: pointer; white-space: nowrap; transition: border-color .15s, background .15s, color .15s; }
.ev-btn:hover { color: var(--text-strong); border-color: var(--accent); background: var(--accent-soft); }
.ev-btn .icon { width: 14px; height: 14px; }
.ev-btn.is-current { border-color: var(--accent); background: var(--accent-soft); color: var(--text-strong); }
.ev-btn-ai { color: var(--text-muted); }

/* investigation priorities */
.priorities { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.priority { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--s3) var(--s4); }
.priority-head { display: flex; align-items: center; gap: var(--s2) var(--s3); flex-wrap: wrap; margin-bottom: var(--s2); }
.priority-head h3 { margin: 0; font-size: 0.94rem; flex: 1 1 18rem; }
.priority-rank { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border); font-size: 0.74rem; font-weight: 700; color: var(--text-muted); flex: none; }
.priority-link { font-size: 0.8rem; font-weight: 600; }
.priority-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s2) var(--s4); margin: 0; padding-left: calc(22px + var(--s3)); font-size: 0.84rem; }
.priority-grid dt { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--text-muted); }
.priority-grid dd { margin: 2px 0 0; color: var(--text); }

/* financial performance */
.kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: var(--s3); }
.kpi { position: relative; display: flex; flex-direction: column; gap: 2px; padding: var(--s3) var(--s4); border-right: 1px solid var(--border-soft); min-width: 0; }
.kpi:last-child { border-right: 0; }
.kpi-label { padding-right: 28px; }
.kpi-value { font-size: 1.35rem; font-weight: 680; color: var(--text-strong); letter-spacing: -0.02em; line-height: 1.25; }
.kpi-missing { font-size: 0.92rem; font-weight: 550; color: var(--text-muted); font-style: italic; letter-spacing: 0; line-height: 1.9; }
.tone-up { color: var(--up); }
.tone-down { color: var(--down); }
.kpi .ev-btn { position: absolute; top: var(--s2); right: var(--s2); padding: 1px 5px; }
.kpi .ev-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fin-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap: var(--s3); margin-bottom: var(--s3); }
.chart-card, .coverage-card { padding: var(--s3) var(--s4); }
.chart-card { position: relative; overflow: hidden; }
.chart { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s2); height: 210px; }
.chart-axis { display: flex; flex-direction: column; justify-content: space-between; font-size: 0.7rem; color: var(--text-muted); font-variant-numeric: tabular-nums; padding: 18px 0 22px; text-align: right; }
.chart-axis span:last-child { transform: translateY(50%); }
.bars { list-style: none; margin: 0; padding: 0 0 22px; display: flex; align-items: stretch; gap: var(--s2); position: relative; }
.bars::before { content: ""; position: absolute; left: 0; right: 0; top: 18px; bottom: 22px; border-bottom: 1px solid var(--border-strong); background: repeating-linear-gradient(to bottom, var(--border-soft) 0 1px, transparent 1px 25%); pointer-events: none; }
.bar-col { position: relative; flex: 1 1 0; min-width: 0; max-width: 96px; display: flex; }
.bar-hit { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 3px; text-decoration: none; color: var(--text); border-radius: 4px 4px 0 0; padding-top: 0; }
.bar-hit:hover .bar, .bar-hit:focus-visible .bar { background: var(--bar-hover); }
.bar-value { font-size: 0.72rem; font-weight: 650; color: var(--text-strong); white-space: nowrap; }
.bar { width: min(100%, 52px); height: calc((210px - 40px) * var(--h) / 100); min-height: 2px; background: var(--bar); border-radius: 3px 3px 0 0; transition: background .15s; }
.bar-conflict { background: repeating-linear-gradient(135deg, var(--hyp-soft) 0 5px, transparent 5px 9px); box-shadow: inset 0 0 0 1.5px var(--hyp); }
.bar-hit:hover .bar-conflict, .bar-hit:focus-visible .bar-conflict { background: repeating-linear-gradient(135deg, var(--hyp) 0 2px, transparent 2px 7px); }
.bar-label { position: absolute; bottom: -21px; font-size: 0.72rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.bar-col .tip { position: absolute; bottom: calc(100% - 4px); left: 50%; transform: translate(-50%, 4px); z-index: 5; width: max-content; max-width: 220px; padding: 6px 8px; border-radius: 6px; background: var(--tip-bg); color: var(--tip-text); font-size: 0.76rem; line-height: 1.4; box-shadow: var(--shadow-pop); opacity: 0; pointer-events: none; transition: opacity .12s, transform .12s; }
.bar-col:hover .tip, .bar-hit:focus-visible + .tip { opacity: 1; transform: translate(-50%, 0); }
.chart-note { margin: var(--s3) 0 0; font-size: 0.76rem; color: var(--text-muted); display: flex; align-items: center; gap: var(--s2); }
.swatch { display: inline-block; width: 12px; height: 10px; border-radius: 2px; }
.swatch-conflict { background: repeating-linear-gradient(135deg, var(--hyp) 0 2px, transparent 2px 5px); box-shadow: inset 0 0 0 1px var(--hyp); }
.coverage-list { flex-direction: column; flex-wrap: nowrap; gap: 0; }
.coverage-list li { display: grid; grid-template-columns: 7px 1fr auto; align-items: center; gap: var(--s2); padding: 5px 0; border-bottom: 1px solid var(--border-soft); }
.coverage-list li:last-child { border-bottom: 0; }
.cov-note { font-size: 0.76rem; color: var(--text-muted); text-align: right; }
.fin-table { margin-bottom: var(--s3); }
.table-card > .card-title { padding: var(--s3) var(--s4) var(--s2); margin: 0; }
.table-scroll { position: relative; overflow-x: auto; }  /* also the containing block, so nothing absolutely placed inside escapes the clip */
.data-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
.data-table th, .data-table td { padding: 7px var(--s4); border-bottom: 1px solid var(--border-soft); text-align: left; vertical-align: middle; }
.data-table thead th { font-size: 0.7rem; font-weight: 650; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; background: var(--surface-2); border-bottom-color: var(--border); white-space: nowrap; }
.data-table tbody th { font-weight: 600; color: var(--text-strong); }
.data-table tbody tr:last-child > * { border-bottom: 0; }
.data-table tbody tr:hover > * { background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
.data-table tr:target > * { background: var(--accent-soft); }
.data-table .r { text-align: right; }
.data-table .num { white-space: nowrap; }
.row-conflict > * { background: color-mix(in srgb, var(--hyp-soft) 60%, transparent); }
.ev-title { display: block; }
.ev-type { display: block; font-size: 0.74rem; font-weight: 400; color: var(--text-muted); font-family: var(--mono); overflow-wrap: anywhere; }

/* ---- the unified Evidence / AI panel ---- */
.inspector { position: sticky; top: calc(var(--topbar-h) + var(--s3)); align-self: start; height: calc(100vh - var(--topbar-h) - var(--s5)); display: flex; flex-direction: column; margin-top: var(--s5); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.inspector[hidden] { display: none; }
.insp-head { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s2) 0 var(--s3); border-bottom: 1px solid var(--border); }
.insp-tabs { display: flex; gap: var(--s1); flex: 1; }
.insp-tabs button { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 0.86rem; font-weight: 600; color: var(--text-muted); background: none; border: 0; border-bottom: 2px solid transparent; padding: var(--s2) var(--s2) 9px; margin-bottom: -1px; cursor: pointer; }
.insp-tabs button:hover { color: var(--text-strong); }
.insp-tabs button[aria-selected="true"] { color: var(--text-strong); border-bottom-color: var(--brand-green); }
.insp-tabs .icon { width: 15px; height: 15px; }
.insp-close { color: var(--text-muted); }
.insp-close:hover { background: var(--surface-2); color: var(--text-strong); }
.insp-context { display: flex; align-items: center; gap: var(--s2); margin: 0; padding: var(--s2) var(--s3); font-size: 0.8rem; color: var(--text-muted); border-bottom: 1px solid var(--border-soft); background: var(--surface-2); }
.insp-context [data-inspector-context] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.insp-pane { flex: 1; overflow-y: auto; padding: var(--s3) var(--s4) var(--s5); overscroll-behavior: contain; }
.insp-pane[hidden] { display: none; }
.insp-pane:focus-visible { outline-offset: -2px; }
.insp-all { margin: 0 0 var(--s2) calc(-1 * var(--s2)); }
.insp-all[hidden] { display: none; }
.ev-item { padding: var(--s3) 0; border-bottom: 1px solid var(--border-soft); scroll-margin-top: var(--s3); }
.ev-item:last-child { border-bottom: 0; }
.ev-item[hidden] { display: none; }
.ev-item h3 { font-size: 0.95rem; margin-bottom: var(--s2); }
.ev-item .subhead { margin: var(--s3) 0 var(--s1); font-size: 0.68rem; }
.ev-dl { display: grid; gap: 0; margin: 0; font-size: 0.84rem; }
.ev-dl div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: var(--s2); padding: 3px 0; }
.ev-dl dt { color: var(--text-muted); }
.ev-dl dd { margin: 0; overflow-wrap: anywhere; }
.filing-list { list-style: none; padding: 0; display: grid; gap: var(--s1); font-size: 0.82rem; }
.filing-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--s2); padding: 5px var(--s2); background: var(--surface-2); border-radius: var(--radius-sm); }
.filing-form { font-weight: 650; color: var(--text-strong); }
.filing-date { color: var(--text-muted); }
.filing-link { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; font-weight: 600; }
.filing-list .missing { margin-left: auto; font-size: 0.78rem; }
.filing-link .icon, .insp-pane p a .icon { width: 13px; height: 13px; }
.filing-acc { flex-basis: 100%; color: var(--text-muted); font-size: 0.74rem; }
.ev-limits { color: var(--text-muted); font-size: 0.84rem; }
.ai-unavailable { padding: var(--s3); border: 1px dashed var(--border-strong); border-radius: var(--radius); background: var(--surface-2); font-size: 0.86rem; }
.ai-unavailable p { margin: var(--s1) 0 0; color: var(--text-muted); }
.ai-context { font-size: 0.82rem; color: var(--text-muted); margin: var(--s3) 0 var(--s2); }
.ai-context span { color: var(--text-strong); font-weight: 600; }
.ai-prompts { display: flex; flex-wrap: wrap; gap: var(--s1); margin-bottom: var(--s3); }
.ai-prompt { font: inherit; font-size: 0.8rem; padding: 4px var(--s2); border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text-muted); cursor: not-allowed; opacity: 0.7; }
.ai-ask { display: flex; gap: var(--s2); align-items: flex-end; }
.ai-ask textarea { flex: 1; resize: none; font: inherit; font-size: 0.86rem; padding: var(--s2); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--text-muted); cursor: not-allowed; }
.ai-ask .btn { width: auto; }
.ai-ask .btn:disabled { cursor: not-allowed; opacity: 0.5; }

/* panel open: a column on wide screens, an overlay below that, a full-screen sheet on phones */
@media (min-width: 1280px) {
  html.insp-open .ws { grid-template-columns: minmax(0, 1fr) 380px; }
}
@media (min-width: 901px) and (max-width: 1279px) {
  .inspector { position: fixed; top: calc(var(--topbar-h) + var(--s2)); right: var(--s2); bottom: var(--s2); width: min(400px, 92vw); height: auto; align-self: stretch; margin: 0; z-index: 35; box-shadow: var(--shadow-pop); }
}
@media (max-width: 1100px) {
  .priority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 0; }
  .ctx-item + .ctx-item { display: none; }
}
@media (max-width: 900px) {
  .inspector { position: fixed; inset: 0; z-index: 45; height: auto; align-self: stretch; margin: 0; border: 0; border-radius: 0; }
  html.insp-open body { overflow: hidden; }
  .split { grid-template-columns: minmax(0, 1fr); }
  .split-preview { position: static; }
  .fin-grid { grid-template-columns: minmax(0, 1fr); }
  .kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi:nth-child(2) { border-right: 0; }
  .kpi:nth-child(-n+2) { border-bottom: 1px solid var(--border-soft); }
  .ws, .wrap-wide { width: min(1440px, 100% - 2rem); }
  .ctx-item { display: none; }
  .insp-toggle span { display: none; }
}
@media (max-width: 760px) {
  .launch { padding-top: var(--s6); }
  .omni .btn { width: auto; }
  .omni-key { display: none; }
  .finding summary { grid-template-columns: minmax(0, 1fr) 18px; gap: var(--s1) var(--s2); padding-left: var(--s3); }
  .finding-cls { grid-column: 1 / -1; }
  .finding-main { grid-column: 1; }
  .finding-metric { grid-column: 1; text-align: left; }
  .finding-chev { grid-row: 2; grid-column: 2; }
  .finding > .ev-btn { margin-top: var(--s2); }
  .finding > .ev-btn span { display: none; }
  .finding-body { padding: 0 var(--s3) var(--s3); }
  .finding-dl div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .priority-grid { grid-template-columns: minmax(0, 1fr); }
  .mini-strip { grid-template-columns: minmax(0, 1fr); }
  .mini { border-right: 0; border-bottom: 1px solid var(--border-soft); }
  .mini:last-child { border-bottom: 0; }
  .ctx-name { display: none; }
  .ws-status { display: none; }
  .kv { grid-template-columns: minmax(0, 1fr); }
  .page-head-compact .omni-compact { width: 100%; }
  .kpi-value { font-size: 1.15rem; }
}

/* ---- mobile: the sidebar becomes an off-canvas drawer opened from the top bar ---- */
@media (max-width: 900px) {
  .shell, html[data-sidebar="collapsed"] .shell { grid-template-columns: minmax(0, 1fr); }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: min(280px, 84vw); height: 100%; padding: var(--s3); transform: translateX(-100%); visibility: hidden; transition: transform .24s var(--ease), visibility 0s linear .24s; box-shadow: none; }
  html.nav-open .sidebar { transform: none; visibility: visible; transition: transform .24s var(--ease); box-shadow: var(--shadow-pop); }
  html.nav-open body { overflow: hidden; }
  .scrim { display: block; position: fixed; inset: 0; z-index: 25; background: var(--scrim); animation: fade-in .2s var(--ease); }
  .scrim[hidden] { display: none; }
  .side-collapse { display: none; }
  .side-close { display: inline-grid; }
  .nav a { height: 40px; }
  .nav-open, .brand-top { display: inline-grid; }
  .brand-top { display: inline-block; font-size: 1.2rem; }
  .topbar { padding: 0 var(--s3); gap: var(--s2); }
  .wrap { width: min(1120px, 100% - 2rem); }
}
@keyframes fade-in { from { opacity: 0; } }

@media (max-width: 760px) {
  .page-head { padding-top: var(--s5); }
  .home { padding-top: var(--s5); }
  .choices { grid-template-columns: 1fr; }
  .search, .filters { grid-template-columns: 1fr; }
  .btn { width: 100%; }
  .btn-small, .btn-link, .mode-switch a { width: auto; }
  .biz-item, .candidate, .tool { grid-template-columns: 1fr; }
  .biz-action { align-items: flex-start; }
  .biz-action .quiet-inline { text-align: left; }
  .facts div { grid-template-columns: 1fr; gap: 0; }
  .results-table thead { position: absolute; left: -999px; }
  .results-table, .results-table tbody, .results-table tr, .results-table td { display: block; width: 100%; }
  .results-table tr { padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border); }
  .results-table td { padding: var(--s1) 0; border: 0; }
  .results-table td::before { content: attr(data-label); display: block; font-size: 0.72rem; color: var(--text-muted); font-weight: 650; }
  .details dl { grid-template-columns: 1fr; }
  .research-form { display: flex; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media (min-width: 901px) {
  html[data-sidebar="collapsed"] .nav-group { height: 1px; width: 24px; margin: var(--s2) auto; padding: 0; overflow: hidden; color: transparent; background: var(--side-hover); }
}

/* M5.2: a small "Soon" tag beside a sidebar item whose feature is on the way */
.nav-tag { margin-left: auto; padding: 1px var(--s2); border-radius: var(--r-pill); border: 1px solid var(--border); font-size: 0.75rem; line-height: 1.4; color: inherit; opacity: 0.8; }
[data-sidebar="collapsed"] .nav-tag { display: none; }
