












:root {

  --font-head: "Plus Jakarta Sans", "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: var(--font);


  --fs-display: 30px;  --lh-display: 38px;  --fw-display: 700;
  --fs-section: 22px;  --lh-section: 30px;  --fw-section: 600;
  --fs-subhead: 18px;  --lh-subhead: 24px;
  --fs-card-title: 16px; --lh-card-title: 22px; --fw-card-title: 600;
  --fs-metric: 28px;   --lh-metric: 32px;   --fw-metric: 600;
  --fs-metric-lg: 40px; --lh-metric-lg: 44px;
  --fs-metric-xl: 44px; --lh-metric-xl: 48px;
  --fs-body: 15px;     --lh-body: 22px;
  --fs-label: 13px;    --lh-label: 18px;
  --fs-nav: 14px;      --lh-nav: 20px;
  --fs-caption: 12px;  --lh-caption: 16px;
  --fs-micro: 11px;    --lh-micro: 14px;

  --dur-fast: 120ms; --dur-base: 200ms; --dur-slow: 300ms;
  --ease-out: cubic-bezier(0, 0, 0.2, 1); --ease-in: cubic-bezier(0.6, 0, 0.8, 0.6);


  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px;








  --surface-page:#F5F7FB;
  --surface-card:#FFFFFF;
  --surface-panel:#EDF1F7;
  --surface-row:#F3F6FA;
  --border-neutral:#D3DAE5;
  --text-muted:#4E5B70;



  --colour-primary:#141C2E;
  --radius-pill:999px;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 8px;
  --radius-2xs: 5px;
  --blue-soft: var(--blue-tint-2);
  --disabled-opacity: .5;








  --z-sticky: 20; --z-nav: 40; --z-popover: 60; --z-pane: 80; --z-modal: 100; --z-toast: 200;








  --border: #D6DCE6;
  --chrome-edge: #C6CDD9;





  --gauge-below: color-mix(in srgb, var(--amber-bright) 42%, var(--surface));






  --fill-good: #1DA56C;


  --switch-off: #7D889C;
  --fill-bad:  #EE5A4B;
  --gauge-on:    color-mix(in srgb, var(--fill-good) 55%, var(--surface));
  --gauge-above: color-mix(in srgb, var(--fill-bad) 54%, var(--surface));



  --below-ink: color-mix(in srgb, var(--amber-bright) 38%, #3a2600);
  --on-ink:    color-mix(in srgb, var(--favourable) 42%, var(--ink));
  --above-ink: color-mix(in srgb, var(--unfavourable) 46%, var(--ink));





  --prev-common: var(--differs);
  --prev-alt:    color-mix(in srgb, var(--differs) 55%, var(--surface));
  --prev-rare:   color-mix(in srgb, var(--differs) 18%, var(--surface));
  --prev-ink:    color-mix(in srgb, var(--differs) 40%, var(--ink));

  --shadow-card: 0 1px 2px rgba(16,24,40,.05), 0 3px 8px rgba(16,24,40,.04), 0 14px 28px -12px rgba(16,24,40,.07);
  --shadow-lift: 0 6px 20px rgba(16,24,40,.08);
  --shadow-pop: 0 8px 28px rgba(16,24,40,.14), 0 2px 6px rgba(16,24,40,.08);
  --shadow-soft: var(--shadow-card);











  --paper: #F9FAFC;
  --surface: #FFFFFF;
  --surface-sunk: #F1F4F9;
  --gold: #E0A11B;



  --gold-ink: color-mix(in srgb, var(--gold) 55%, var(--ink));
  --ink: #111B2E;
  --ink-soft: #475467;
  --ink-faint: #5D6B82;






  --grey-neutral: #7A8A9C;
  --grey-neutral-ink: #5E6B7A;




  --blue: #2048B0;
  --blue-deep: #1E3A8A;
  --blue-bright: #2E62D9;
  --blue-tint: #EBF0FA;
  --blue-tint-2: #D7E0F4;
  --navy: #1F2A44;
  --navy-tint: color-mix(in srgb, var(--navy) 8%, #fff);






  --appbar-bg:var(--blue);
  --lumi-navy:var(--appbar-bg);
  --lumi-coral: #F08C6E;
  --lumi-coral-deep: #B23A1F;










  --lumi-ink: #243642;
  --lumi-tile: var(--blue-tint);
  --color-text-danger: #B42318;
  --red: #B3261E;
  --paper-2: #F8F9FC;
  --amber-deep: #854F0B;
  --green-deep: #3B6D11;
  --color-text-tertiary: var(--ink-faint);
  --brandbar-h: 64px;


  --you: var(--blue);
  --you-soft: var(--blue-tint);


  --favourable: #2E7D52;   --favourable-tint: #E4F0E9;
  --favourable-ink: color-mix(in srgb, var(--favourable) 78%, var(--ink));
  --neutral-perf: #8A5805; --neutral-perf-tint: #FBEFD9;
  --neutral-perf-ink: color-mix(in srgb, var(--neutral-perf) 78%, var(--ink));
  --amber-bright: #F5A60A;
  --unfavourable: #C0392B; --unfavourable-tint: #F7E4E1;
  --unfavourable-ink: color-mix(in srgb, var(--unfavourable) 78%, var(--ink));
  --unfavourable-deep: #8A1C12;









  --pos-below-gauge: var(--gauge-below);  --pos-on-gauge: var(--gauge-on);  --pos-above-gauge: var(--gauge-above);
  --pos-below-onink: var(--below-ink);    --pos-on-onink: var(--on-ink);    --pos-above-onink: var(--above-ink);
  --pos-below-strong: var(--amber-deep);  --pos-on-strong: var(--favourable-ink); --pos-above-strong: var(--unfavourable-ink);
  --pos-below-text: var(--amber-deep);    --pos-on-text: var(--favourable); --pos-above-text: var(--unfavourable);
  --pos-below-fill: var(--amber-bright);  --pos-on-fill: var(--favourable); --pos-above-fill: var(--unfavourable);
  --pos-below-dot: var(--neutral-perf);   --pos-on-dot: var(--favourable);  --pos-above-dot: var(--unfavourable);
  --pos-below-tint: var(--neutral-perf-tint); --pos-on-tint: var(--favourable-tint); --pos-above-tint: var(--unfavourable-tint);
  --pos-below-tintink: var(--neutral-perf-ink); --pos-on-tintink: var(--favourable-ink); --pos-above-tintink: var(--unfavourable-ink);
  --pos-below-edge: color-mix(in srgb, var(--amber-bright) 45%, var(--surface));
  --pos-on-edge: color-mix(in srgb, var(--favourable) 35%, var(--surface));
  --pos-above-edge: color-mix(in srgb, var(--unfavourable) 35%, var(--surface));
  --pos-below-rich: color-mix(in srgb, var(--amber-bright) 58%, var(--surface));
  --pos-on-rich: color-mix(in srgb, var(--fill-good) 72%, var(--surface));
  --pos-above-rich: color-mix(in srgb, var(--fill-bad) 70%, var(--surface));



  --differs: #6257C9;      --differs-tint: #ECE9FA;
  --differs-ink: color-mix(in srgb, var(--differs) 78%, var(--ink));




  --lens-save: #0E8A5F;     --lens-save-tint: #DFF3E9;
  --lens-attract: #6D5BD0;  --lens-attract-tint: #ECE8FB;
  --lens-retain: #0E7A8A;   --lens-retain-tint: #DFF1F4;
  --lens-engage: #C2542E;   --lens-engage-tint: #FBE9E0;
  --lens-save-ink: color-mix(in srgb, var(--lens-save) 78%, var(--ink));
  --lens-attract-ink: color-mix(in srgb, var(--lens-attract) 78%, var(--ink));
  --lens-retain-ink: color-mix(in srgb, var(--lens-retain) 78%, var(--ink));
  --lens-engage-ink: color-mix(in srgb, var(--lens-engage) 78%, var(--ink));




  --quartile-fill: var(--blue);


  --chart-cat: #7285C2;
  --chart-band: #E5E9F1;
  --chart-band-mid: #BFC6D6;




  --chart-quartile: #5C6579;




  --chart-nodata: #F2F2F2;
  --chart-median: #3F4A5E;




  --chart-axis: #595959;
  --chart-grid: #EEF1F6;


  --card-pad: var(--s5);
  --chart-h: 170px;







  --focus-outline: 2px solid var(--blue-bright);








  --line: var(--border);
  --surface-2: var(--surface-sunk);
  --ink-2: var(--ink-soft);
}

* { box-sizing: border-box; }


input[type=checkbox], input[type=radio] { accent-color: var(--blue); }



html, body { margin: 0; padding: 0; background: var(--surface-page); color: var(--ink);
  font-family: var(--font); font-size: var(--fs-body); line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
a { color: var(--blue-bright); text-decoration: none; }
a:hover { text-decoration: underline; }
svg text { font-family: var(--font); font-variant-numeric: tabular-nums; }





.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; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: var(--z-toast);
  background: var(--surface); color: var(--blue-deep); border: 1px solid var(--blue);
  border-radius: var(--radius-sm); padding: var(--s2) var(--s3); font-weight: 600;
  font-size: var(--fs-label); box-shadow: var(--shadow-pop); }
.skip-link:focus { left: var(--s3); top: var(--s2); }


.shell { display: flex; flex-direction: column; min-height: 100vh; }



.shell-body { display: flex; flex: 1; min-height: 0; max-width: 1720px; width: 100%; margin: 0 auto; }




.sidebar { width: 224px; flex: 0 0 224px; background: var(--surface);
  border-right: 1px solid var(--chrome-edge);
  padding: var(--s5) var(--s3) var(--s4); position: sticky; top: var(--brandbar-live, var(--brandbar-h)); height: calc(100vh - var(--brandbar-live, var(--brandbar-h))); overflow-y: auto;
  display: flex; flex-direction: column; z-index: 30;
  transition: width var(--dur-base) cubic-bezier(.2,.7,.3,1), flex-basis var(--dur-base) cubic-bezier(.2,.7,.3,1); }



.main { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow-x: clip; }
.topbar { background: var(--surface); border-bottom: 1px solid var(--chrome-edge);
  box-shadow: 0 6px 16px rgba(16,24,40,.03); padding: var(--s2) var(--s5);
  display: flex; align-items: flex-start; gap: var(--s4); position: sticky; top: 0; z-index: var(--z-nav); flex-wrap: wrap; }
.ctlgroup { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ctlgroup .hint { font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint);
  max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar .ctl, .topbar .btn { height: 36px; }
.topbar { align-items: center; }
.peerset-note { font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint);
  overflow: hidden; text-overflow: ellipsis; max-width: 340px; }
.peerset-note a { color: var(--blue-bright); }




.topbar-search { position: relative; flex: 1 1 440px; min-width: 200px; max-width: 440px; }
.topbar-kbd { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); pointer-events: none;
  font: 500 var(--fs-micro)/1 var(--font); color: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius-2xs); padding: 3px 5px; }
.topbar-search:focus-within .topbar-kbd { display: none; }
@media (max-width: 640px), (pointer: coarse) { .topbar-kbd { display: none; } .topbar-search .ctl { padding-right: var(--s3); } }
.topbar-search-icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%);
  color: var(--ink-faint); pointer-events: none; display: inline-flex; }
.topbar-search .ctl { width: 100%; max-width: none; padding-left: 34px; padding-right: 52px; }
.topbar-search .ctl:focus { border-color: var(--blue); outline: 2px solid rgba(255,255,255,.85); outline-offset: 1px; }
.topbar-right { display: flex; align-items: center; gap: var(--s3); margin-left: auto; flex: none; }

.topbar-sep { width: 1px; height: 22px; background: var(--chrome-edge); margin: 0 var(--s1); flex: none; }

.brandbar .topbar-right { gap: var(--s4); }
.brandbar .topbar-sep { margin: 0 var(--s2); }






.brandbar { background: var(--appbar-bg); border-bottom: 0;


  background-image: linear-gradient(100deg, color-mix(in srgb, var(--appbar-bg) 88%, #0B1A4A) 0%, var(--appbar-bg) 45%, color-mix(in srgb, var(--appbar-bg) 86%, #4F7BF0) 100%); height: var(--brandbar-h); gap: var(--s5);
  padding: 0 max(var(--s5), calc((100vw - 1720px) / 2 + var(--s5)));
  box-shadow: 0 1px 0 rgba(20,32,64,.16), 0 2px 8px rgba(20,32,64,.06); }
.brandbar-logo { display: inline-flex; align-items: center; flex: none; }


.brandbar-logo svg { height: 32px; width: 70px; display: block; transform: translateY(1.5px); }

.brandbar .topbar-search .ctl { background: rgba(255,255,255,.14); border: .5px solid rgba(255,255,255,.28); color: #fff; }
.brandbar .topbar-search .ctl::placeholder { color: rgba(255,255,255,.72); }
.brandbar .topbar-search-icon { color: rgba(255,255,255,.72); }
.brandbar .topbar-search .ctl:focus { border-color: rgba(255,255,255,.5);
  box-shadow: 0 0 0 3px rgba(255,255,255,.16); background: rgba(255,255,255,.18); }

.brandbar .btn.feature { background: #fff; border-color: #fff; color: var(--lumi-navy); }


.brandbar .btn.feature.is-ask:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }




.databar-chip-lab { font-size: var(--fs-micro); opacity: .8; letter-spacing: .02em; margin-left: 2px; }



.databar-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px;
  padding: 0 var(--s3) 0 var(--s2); border-radius: 999px; border: 1px solid rgba(255,255,255,.4);
  background: transparent; color: #fff; font-size: var(--fs-caption);
  font-weight: 600; cursor: pointer; transition: background var(--dur-fast) ease; }
.databar-chip:hover { background: rgba(255,255,255,.10); }
.databar-chip:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 900px) { .databar-chip { display: none; } }
.brandbar .btn.feature:hover { background: rgba(255,255,255,.92); border-color: rgba(255,255,255,.92); color: var(--lumi-navy); }



.brandbar .btn.feature.suggest-pill { background: transparent; border-color: rgba(255,255,255,.4); color: #fff; }
.brandbar .btn.feature.suggest-pill:hover { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.4); color: #fff; }
.brandbar .btn.feature.suggest-pill:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }
.brandbar .topbar-sep { background: rgba(255,255,255,.22); }

.brandbar .notif-btn { color: #fff; }
.brandbar .notif-btn:hover, .brandbar .notif-btn.active { background: rgba(255,255,255,.16); color: #fff; }
.brandbar .notif-badge { background: var(--lumi-coral-deep); color: #fff; box-shadow: 0 0 0 2px var(--lumi-navy); }
.notif-dot { position: absolute; top: 7px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--lumi-coral-deep); box-shadow: 0 0 0 2px var(--appbar-bg); }
.brandbar .avatar { background: var(--lumi-navy); border-color: rgba(255,255,255,.6); color: #fff; }
.brandbar .avatar:hover { box-shadow: 0 0 0 4px rgba(255,255,255,.22); }
.brandbar .avatar.active { box-shadow: 0 0 0 4px rgba(255,255,255,.32); }


.brandbar .notif-btn:focus-visible, .brandbar .avatar:focus-visible,
.brandbar-logo:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }



.notif-bell { position: relative; display: inline-flex; }
.notif-btn { position: relative; width: 36px; height: 36px; border-radius: var(--radius-sm);
  border: 1px solid transparent; background: transparent; color: var(--ink-soft); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; transition: background var(--dur-fast) ease, color var(--dur-fast) ease; }
.notif-btn:hover, .notif-btn.active { background: var(--surface-sunk); color: var(--ink); }
.notif-badge { position: absolute; top: 1px; right: 1px; min-width: 16px; height: 16px; padding: 0 var(--s1);
  border-radius: 999px; background: var(--blue); color: #fff; font-size: var(--fs-micro); font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px var(--surface); }
.notif-pop { position: absolute; top: calc(100% + 8px); right: 0; width: 360px; max-height: 470px;
  display: flex; flex-direction: column; padding: 0; z-index: var(--z-popover); box-shadow: var(--shadow-pop); overflow: hidden;




  max-width: calc(100vw - 76px - var(--s4)); }
@media (max-width: 480px) {
  .notif-pop { position: fixed; top: calc(var(--brandbar-h) + var(--s2));
    left: var(--s3); right: var(--s3); width: auto; max-width: none; z-index: 300; }
}
.notif-head { display: flex; align-items: center; justify-content: space-between; padding: var(--s3) var(--s4);
  border-bottom: 1px solid var(--border); }
.notif-mark { border: 0; background: transparent; color: var(--blue); font-size: var(--fs-caption); font-weight: 600; cursor: pointer; min-height: 28px; display: inline-flex; align-items: center; padding: 0 var(--s1); }
.notif-mark:hover { text-decoration: underline; }
.notif-list { overflow-y: auto; flex: 1; padding: var(--s1) 0; }



.notif-list::after { content: ""; display: block; position: sticky; bottom: 0; height: 26px;
  background: linear-gradient(to bottom, transparent, var(--surface)); pointer-events: none; }
.notif-group { padding: var(--s1) 0; }
.notif-group-head { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s4) var(--s1); }
.notif-group-head.lens-save { color: var(--lens-save); }
.notif-group-head.lens-attract { color: var(--lens-attract); }
.notif-group-head.lens-retain { color: var(--lens-retain); }
.notif-group-head.lens-engage { color: var(--lens-engage); }
.notif-row { display: flex; flex-direction: column; gap: 1px; width: 100%; text-align: left;
  padding: var(--s2) var(--s4) var(--s2) calc(var(--s4) + 3px); border: 0; border-left: 3px solid transparent;
  background: transparent; cursor: pointer; }
.notif-row:hover { background: var(--surface-sunk); }
.notif-row.unread.lens-save { border-left-color: var(--lens-save); }
.notif-row.unread.lens-attract { border-left-color: var(--lens-attract); }
.notif-row.unread.lens-retain { border-left-color: var(--lens-retain); }
.notif-row.unread.lens-engage { border-left-color: var(--lens-engage); }
.notif-row-title { font-size: var(--fs-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-faint); }
.notif-row.unread .notif-row-title { color: var(--blue); }






.notif-unread-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--lumi-coral-deep); margin-right: var(--s2); vertical-align: middle; flex: none; }
.notif-row-body { font-size: var(--fs-caption); color: var(--ink); line-height: 1.35; }
.notif-empty { display: flex; flex-direction: column; align-items: center; gap: var(--s3); text-align: center; padding: var(--s5) var(--s4); }
.notif-empty-ring { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; background: var(--surface-sunk); color: var(--ink-faint); }
.notif-foot { padding: var(--s3) var(--s4); border-top: 1px solid var(--border); text-align: right; }
.notif-foot a { font-size: var(--fs-caption); color: var(--blue); cursor: pointer; }
.notif-prefs .field { margin-top: var(--s4); }
.notif-lens-checks { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2px var(--s4); max-width: 380px; }
.notif-lens-check span { display: inline-flex; align-items: center; gap: var(--s2); }
.notif-lens-check .lens-save { color: var(--lens-save); }
.notif-lens-check .lens-attract { color: var(--lens-attract); }
.notif-lens-check .lens-retain { color: var(--lens-retain); }
.notif-lens-check .lens-engage { color: var(--lens-engage); }


.notif-prefs .seg-btn { padding: var(--s3) var(--s5); font-weight: 500; }
.notif-prefs .notif-lens-check { align-items: center; margin: 0; padding: var(--s2) var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  transition: background var(--dur-fast), border-color var(--dur-fast); }
.notif-prefs .notif-lens-check:hover { background: var(--blue-tint); }


.notif-prefs .notif-lens-check:has(input:checked) { background: var(--blue-tint); border-color: var(--blue); }


.notif-prefs .notif-lens-check [class^="lens-"] { color: var(--ink); }
.notif-prefs .notif-lens-check:has(input:checked) [class^="lens-"] { color: var(--blue-deep); }
.content { padding: var(--s5); max-width: 1320px; width: 100%; margin: 0 auto; }



.nav-hamburger { display: none; width: 36px; height: 36px; border-radius: var(--radius-sm);
  border: 1px solid transparent; background: transparent; color: #fff; cursor: pointer;
  align-items: center; justify-content: center; flex: none; margin-right: var(--s2);
  transition: background var(--dur-fast) ease; }
.nav-hamburger:hover { background: rgba(255,255,255,.16); }
.nav-hamburger:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }

.nav-scrim { display: none; position: fixed; inset: 0; z-index: 45;
  background: rgba(20,32,64,.42); opacity: 0; transition: opacity var(--dur-base) ease; }








@media (min-width: 861px) { .nav-suggest { display: none !important; } }
@media (max-width: 860px) {



  .brandbar { height: auto; min-height: var(--brandbar-h); }
  .topbar { row-gap: 0; padding-bottom: var(--s2); }
  .topbar .suggest-pill { display: none; }
  .nav-suggest { display: flex; }
  .topbar-search { order: 10; flex: 1 1 100%; min-width: 0; }
  .topbar-right { margin-left: auto; }
}









@media (min-width: 861px) {
  .brandbar { flex-wrap: nowrap; }
  .brandbar .topbar-search { min-width: 180px; }
}
@media (min-width: 861px) and (max-width: 1100px) { .brandbar .databar-chip { display: none; } }
@media (min-width: 861px) and (max-width: 1439px) {
  .brandbar:has(.unit-switch) .databar-chip { display: none; }
  .brandbar:has(.unit-switch) .unit-switch-name { max-width: 140px; }
}
@media (min-width: 861px) and (max-width: 1100px) {
  .brandbar:has(.unit-switch) .suggest-pill { display: none; }
  .brandbar:has(.unit-switch) .unit-switch-name { max-width: 110px; }
  body:has(.brandbar .unit-switch) .sidebar .nav-suggest { display: flex !important; }
}




@media (max-width: 480px) {
  .brandbar { gap: var(--s3); padding-left: var(--s4); padding-right: var(--s4); }
  .brandbar .topbar-right { gap: var(--s2); }
  .brandbar .topbar-sep { display: none; }
  .brandbar .btn.feature { padding: 0 var(--s3); }
}

@media (max-width: 900px) {

  .nav-hamburger { display: inline-flex; }
  .sidebar { position: fixed; top: var(--brandbar-live, var(--brandbar-h)); left: 0; bottom: 0; height: auto;
    width: 280px; max-width: 84vw; z-index: 46; transform: translateX(-100%);
    transition: transform var(--dur-base) cubic-bezier(.2,.7,.3,1),
                visibility 0s linear var(--dur-base);
    box-shadow: 4px 0 24px rgba(20,32,64,.16);





    visibility: hidden; }
  body.nav-open .sidebar { transform: translateX(0); visibility: visible;
    transition: transform var(--dur-base) cubic-bezier(.2,.7,.3,1), visibility 0s; }

  .sidebar .rail-toggle { display: none; }
  body.nav-open .nav-scrim { display: block; opacity: 1; }
  .content { padding: var(--s4); }
}
@media (prefers-reduced-motion: reduce) {
  .sidebar { transition: none; }
  .nav-scrim { transition: none; }
}








@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;




    animation-delay: 0ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }
}







.modal[role="alertdialog"] .btn.danger {
  background: var(--unfavourable); color: #fff; border-color: var(--unfavourable); }
.modal[role="alertdialog"] .btn.danger:hover { background: var(--unfavourable-deep); border-color: var(--unfavourable-deep); }


.modal[role="alertdialog"] .btn[disabled] {
  opacity: 1; background: var(--surface-sunk); color: var(--ink-faint);
  border-color: var(--border); cursor: default; }










.brandmark { display: inline-flex; align-items: center; gap: calc(var(--brandmark-h, 30px) * 0.663); }
.brandmark-svg { display: block; line-height: 0; }






.brandmark-svg svg { display: block; width: auto;
  height: calc(var(--brandmark-h, 30px) * 2.618);










  margin: calc(var(--brandmark-h, 30px) * -0.695) calc(var(--brandmark-h, 30px) * -0.686)
          calc(var(--brandmark-h, 30px) * -0.673) calc(var(--brandmark-h, 30px) * -0.695); }
.brandmark-desc { font-family: var(--font-head); font-weight: 600;
  font-size: calc(var(--brandmark-h, 30px) * 0.46); letter-spacing: -.01em;
  color: var(--ink-faint); }




.nav-group { margin-bottom: var(--s4); }
.nav-label { color: var(--ink-faint); padding: 0 var(--s2); margin-bottom: var(--s2); }
.nav-item { display: flex; align-items: center; gap: var(--s3); width: 100%; text-align: left;
  height: 40px; padding: 0 var(--s3); border: 0; background: none; border-radius: var(--radius-sm);
  cursor: pointer; color: var(--ink-soft); font-weight: 500; font-size: var(--fs-nav); line-height: var(--lh-nav);
  transition: background var(--dur-base) ease, color var(--dur-fast) ease; }


.nav-item svg { flex: 0 0 auto; color: var(--ink-faint); transition: color var(--dur-fast) ease; }
.nav-suggest { font: inherit; }
.nav-item:hover { background: var(--surface-sunk); color: var(--ink); }
.nav-item:hover svg { color: var(--ink-soft); }
.nav-item.active { background: var(--blue-tint); color: var(--blue-deep); font-weight: 650; }
.sidebar .nav-label { font-size: var(--fs-micro); }
.nav-item.active svg { color: var(--blue); }


.nav-count { margin-left: auto; min-width: 24px; height: 20px; padding: 0 7px; border-radius: var(--radius-pill);
  display: inline-flex; align-items: center; justify-content: center; background: var(--surface-sunk);
  font-size: var(--fs-micro); color: var(--ink-soft); font-weight: 600; }
.nav-item.active .nav-count { background: var(--surface); color: var(--blue-deep); box-shadow: 0 0 0 1px var(--blue-tint-2); }


.nav-beta { margin-left: calc(var(--s2) - var(--s3)); }
.nav-item.active .nav-beta { background: var(--surface); box-shadow: 0 0 0 1px var(--blue-tint-2); }
.nav-parent { font-weight: 600; }
.nav-chev { margin-left: auto; display: inline-flex; color: var(--ink-faint); transition: transform var(--dur-fast) ease; transform: rotate(-90deg); }
.nav-chev.open { transform: rotate(0deg); }
.nav-child { padding-left: var(--s6); height: 36px; font-size: var(--fs-label); }
.nav-child .nav-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


.bp-export { display: inline-flex; gap: 0; position: relative; }
.bp-export .btn.small { color: var(--lumi-navy); }



.bp-export .btn.small:first-child:not(:only-of-type) { border-radius: var(--radius-sm) 0 0 var(--radius-sm); border-right: 0; }
.bp-export .btn.small:nth-child(2) { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; border-left: 1px solid var(--border); padding: 0 var(--s2); }
.bp-menu { position: absolute; right: 0; top: calc(100% + 4px); min-width: 240px; z-index: var(--z-popover);
  border-radius: var(--radius-sm);
  padding: var(--s2); box-shadow: var(--shadow-pop);
  max-height: min(60vh, 480px); overflow-y: auto; }



@media (max-width: 480px) {
  .bp-menu { position: fixed; top: auto; left: var(--s3); right: var(--s3); bottom: var(--s3);
    min-width: 0; z-index: 300; }
}
.bp-menu-item { display: block; width: 100%; text-align: left; border: 0; background: none;
  padding: var(--s2) var(--s3); border-radius: var(--radius-xs); font-size: var(--fs-label); color: var(--ink); cursor: pointer; }
.bp-menu-item:hover { background: var(--blue-tint); color: var(--blue-deep); }
.nav-id { padding: var(--s2) var(--s2) 0; border-top: 1px solid var(--border); margin-top: var(--s2); }
.nav-id .who { font-size: var(--fs-label); font-weight: 600; color: var(--ink); }
.nav-id .org { font-size: var(--fs-caption); color: var(--ink-faint); margin-bottom: var(--s1); }


.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s2); padding: 0 var(--s4);
  height: 36px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface);
  color: var(--ink); font-family: var(--font-head); font-weight: 500; font-size: var(--fs-label);



  line-height: var(--lh-label);
  cursor: pointer; white-space: nowrap; transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.btn { box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.btn:hover { border-color: #C5CEDC; background: var(--paper); }
.btn.primary { background: var(--blue); border-color: var(--blue); color: #fff;
  box-shadow: 0 1px 2px rgba(16,24,40,.10), inset 0 1px 0 rgba(255,255,255,.12); }
.btn.primary:hover { background: var(--blue-deep); border-color: var(--blue-deep); }



.btn.outline-navy { background: transparent; border-color: var(--lumi-navy); color: var(--lumi-navy); }
.btn.outline-navy:hover { background: color-mix(in srgb, var(--lumi-navy) 8%, transparent); border-color: var(--lumi-navy); }
.btn.quiet { border-color: transparent; background: none; color: var(--ink-soft); box-shadow: none; }
.btn.quiet:hover { background: var(--surface-sunk); }
.btn.danger { color: var(--unfavourable); border-color: var(--unfavourable-tint); background: #fff; }
.btn.danger:hover { border-color: var(--unfavourable); }
.btn.small { height: 28px; padding: 0 var(--s3); font-size: var(--fs-caption); }
.btn.block { width: 100%; justify-content: center; }
.btn.disclose { min-height: 24px; display: inline-flex; align-items: center; padding: 0;
  border: 0; background: none; height: auto; color: var(--blue-bright); font-family: var(--font); }

.btn.feature { border-color: var(--blue-tint-2); background: var(--blue-tint); color: var(--blue-deep);
  border-radius: 999px; padding: 0 var(--s4); }
.btn.feature:hover { border-color: var(--blue); background: var(--blue-tint); }







.ico-dot { fill: var(--lumi-coral); }





.iconbtn .ico-dot, .acad-cover-glyph .ico-dot { fill: currentColor; }
.brf-verb.is-ask { color: var(--blue-deep); font-weight: 650; }


.section-title.is-ai svg { color: var(--blue); }
.brf-verb.is-ask:hover { color: var(--blue-deep); text-decoration: underline; }








.btn[disabled] { opacity: var(--disabled-opacity); cursor: default; pointer-events: none; }
.btn.primary[disabled] {
  opacity: 1;
  background: var(--surface-sunk);
  border-color: var(--border);
  color: var(--ink-soft);
}





.iconbtn { height: 28px; min-width: 28px; padding: 0 var(--s1); display: inline-flex; align-items: center;
  justify-content: center; border: 1px solid transparent; background: none; border-radius: var(--radius-sm);
  cursor: pointer; color: var(--ink-faint); font-size: var(--fs-caption); }
.iconbtn:hover { background: var(--surface-sunk); color: var(--ink); }
.iconbtn.on { color: var(--blue-deep); background: var(--blue-tint); }

.iconbtn.is-pinned { color: var(--blue-deep); }
.iconbtn.is-pinned svg path { fill: currentColor; fill-opacity: .22; }








.bench-card:hover .iconbtn.is-ask, .bench-card:focus-within .iconbtn.is-ask,
.iconbtn.is-ask:hover, .iconbtn.is-ask:focus-visible { color: var(--blue-deep); }
.iconbtn.is-ask:hover { background: var(--blue-tint); }


@media (hover: none) { .iconbtn.is-ask { color: var(--blue-deep); } }

.chip { display: inline-flex; align-items: center; gap: var(--s1); height: 22px; padding: 0 var(--s3);
  border-radius: 999px; background: var(--surface-sunk); border: 1px solid transparent;
  font-size: var(--fs-caption); font-weight: 500; color: var(--ink-soft); white-space: nowrap; }
.chip.accent { background: var(--blue-tint); color: var(--blue-deep); }







.chip.good, .chip-good { background: var(--favourable-tint); color: var(--favourable-ink); }
.chip.bad,  .chip-bad  { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.chip.warn, .chip-mid  { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }






:root[data-pos-colours] {
  --pos-below-gauge: color-mix(in srgb, var(--pos-below) 50%, var(--surface));
  --pos-below-onink: color-mix(in srgb, var(--pos-below) 35%, var(--ink));
  --pos-below-strong: color-mix(in srgb, var(--pos-below) 45%, var(--ink));
  --pos-below-text: color-mix(in srgb, var(--pos-below) 45%, var(--ink));
  --pos-below-fill: var(--pos-below);  --pos-below-dot: var(--pos-below);
  --pos-below-tint: color-mix(in srgb, var(--pos-below) 14%, var(--surface));
  --pos-below-tintink: color-mix(in srgb, var(--pos-below) 40%, var(--ink));
  --pos-below-edge: color-mix(in srgb, var(--pos-below) 40%, var(--surface));
  --pos-below-rich: color-mix(in srgb, var(--pos-below) 72%, var(--surface));
  --pos-on-gauge: color-mix(in srgb, var(--pos-on) 50%, var(--surface));
  --pos-on-onink: color-mix(in srgb, var(--pos-on) 35%, var(--ink));
  --pos-on-strong: color-mix(in srgb, var(--pos-on) 45%, var(--ink));
  --pos-on-text: color-mix(in srgb, var(--pos-on) 45%, var(--ink));
  --pos-on-fill: var(--pos-on);  --pos-on-dot: var(--pos-on);
  --pos-on-tint: color-mix(in srgb, var(--pos-on) 14%, var(--surface));
  --pos-on-tintink: color-mix(in srgb, var(--pos-on) 40%, var(--ink));
  --pos-on-edge: color-mix(in srgb, var(--pos-on) 40%, var(--surface));
  --pos-on-rich: color-mix(in srgb, var(--pos-on) 72%, var(--surface));
  --pos-above-gauge: color-mix(in srgb, var(--pos-above) 50%, var(--surface));
  --pos-above-onink: color-mix(in srgb, var(--pos-above) 35%, var(--ink));
  --pos-above-strong: color-mix(in srgb, var(--pos-above) 45%, var(--ink));
  --pos-above-text: color-mix(in srgb, var(--pos-above) 45%, var(--ink));
  --pos-above-fill: var(--pos-above);  --pos-above-dot: var(--pos-above);
  --pos-above-tint: color-mix(in srgb, var(--pos-above) 14%, var(--surface));
  --pos-above-tintink: color-mix(in srgb, var(--pos-above) 40%, var(--ink));
  --pos-above-edge: color-mix(in srgb, var(--pos-above) 40%, var(--surface));
  --pos-above-rich: color-mix(in srgb, var(--pos-above) 72%, var(--surface));
}
.chip-pos-below { background: var(--pos-below-tint); color: var(--pos-below-tintink); }
.chip-pos-on    { background: var(--pos-on-tint);    color: var(--pos-on-tintink); }
.chip-pos-above { background: var(--pos-above-tint); color: var(--pos-above-tintink); }
.chip.you { background: var(--you-soft); color: var(--you); }





.pos-pill.hastip, .chip.prac-tag.hastip, .sig-pill.hastip, .sig-flag.hastip { position: relative; cursor: help; }

.sig-pill.hastip { overflow: visible; text-overflow: clip; }
.pos-pill.hastip:focus-visible, .chip.prac-tag.hastip:focus-visible {
  outline: var(--focus-outline); outline-offset: 2px; }
.pos-pill { display: inline-flex; align-items: center; gap: var(--s1); height: 22px; padding: 0 var(--s2);
  border-radius: 999px; font-size: var(--fs-caption); font-weight: 600; flex: 0 0 auto; }













.pos-pill.v-below { background: var(--pos-below-tint); color: var(--pos-below-tintink); box-shadow: inset 0 0 0 1px var(--pos-below-edge); }
.pos-pill.v-at    { background: var(--pos-on-tint);    color: var(--pos-on-tintink);    box-shadow: inset 0 0 0 1px var(--pos-on-edge); }
.pos-pill.v-above { background: var(--pos-above-tint); color: var(--pos-above-tintink); box-shadow: inset 0 0 0 1px var(--pos-above-edge); }







.sig-pill { display: inline-flex; align-items: center; gap: var(--s1); flex: 0 0 auto; max-width: 230px;

  height: 24px; padding: 0 var(--s3); border-radius: 999px; font-size: var(--fs-caption); font-weight: 650;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sig-pill svg { flex: 0 0 auto; }



.sig-pill.lens-save    { background: var(--lens-save-tint);    color: var(--lens-save-ink); }
.sig-pill.lens-attract { background: var(--lens-attract-tint); color: var(--lens-attract-ink); }
.sig-pill.lens-retain  { background: var(--lens-retain-tint);  color: var(--lens-retain-ink); }
.sig-pill.lens-engage  { background: var(--lens-engage-tint);  color: var(--lens-engage-ink); }
.sig-pill.is-clear { background: var(--surface-sunk); color: var(--ink-faint); font-weight: 600; }
.sig-pill.is-add { background: var(--blue-tint); color: var(--blue); text-decoration: none;
  cursor: pointer; transition: background var(--dur-fast) ease, transform var(--dur-fast) ease; }
.sig-pill.is-add:hover { background: var(--blue-tint-2); transform: translateY(-1px); }
.cat-filters { margin-left: auto; display: flex; gap: var(--s2); align-items: center; }
.cat-filters .ctl { margin-left: 0; }







select.ctl, input.ctl { height: var(--ctl-h, 32px); padding: 0 var(--ctl-pad, var(--s2));
  border: 1px solid var(--border); border-radius: var(--ctl-radius, var(--radius-sm));
  background: var(--surface); font-size: var(--fs-label); max-width: 260px; }




textarea.ctl { padding: var(--s2); border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface); font-size: var(--fs-label); font-family: inherit; line-height: 1.5;
  width: 100%; resize: vertical; }
textarea.ctl:focus { outline: var(--focus-outline); border-color: var(--blue); }

.ctl[disabled], .field input[disabled], .field select[disabled], .field textarea[disabled] {
  background: var(--surface-sunk); color: var(--ink-faint); cursor: default; }
::placeholder { color: var(--ink-faint); opacity: 1; }

.peerbar { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; margin: 0 0 var(--s4); }
.peerbar-lead { display: inline-flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption);
  color: var(--ink-faint); font-weight: 500; }
.peerbar-pill { position: relative; display: inline-flex; align-items: center;
  border: 1px solid var(--border); border-radius: 999px; background: var(--surface);
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.peerbar-pill:hover { border-color: var(--blue); }
.peerbar-pill.narrowed { border-color: var(--blue); background: var(--blue-tint); }
.peerbar-pill .peer-ctl { appearance: none; -webkit-appearance: none; border: 0; background: transparent;



  font: 600 var(--fs-label)/1.4 var(--font-head); color: var(--ink);
  padding: var(--s2) var(--s6) var(--s2) var(--s4); cursor: pointer; max-width: 320px; border-radius: 999px; }
.peerbar-pill .peer-ctl:focus { outline: none; }
.peerbar-pill.narrowed .peer-ctl { color: var(--blue-deep); }

.peerbar-pill:focus-within { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }
.peerbar-caret { position: absolute; right: 11px; top: 50%; transform: translateY(-50%);
  display: inline-flex; color: var(--ink-faint); pointer-events: none; }
.peerbar-pill.narrowed .peerbar-caret { color: var(--blue); }

.peerbar-selwrap { position: relative; display: inline-flex; align-items: center; }
.peerbar-pill { overflow: hidden; }

select.ctl:focus, input.ctl:focus { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }

.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow-card); }
.section-title { font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-section);
  font-weight: var(--fw-section); letter-spacing: 0.005em; margin: 0 0 var(--s3); }
.display-title { font-family: var(--font-head); font-size: var(--fs-display); line-height: var(--lh-display); letter-spacing: -0.015em;
  font-weight: var(--fw-display); margin: 0; }




.settings-shell { max-width: 1040px; margin: 0 auto; }






.settings-hero { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap;
  padding: var(--s5); border-radius: var(--radius); border: 1px solid var(--border);
  background:
    radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--blue) 12%, transparent) 0%, transparent 55%),
    radial-gradient(90% 120% at 100% 100%, color-mix(in srgb, #7C5CE0 10%, transparent) 0%, transparent 60%),
    var(--surface);
  box-shadow: var(--shadow-card); }
.settings-hero-avatar { width: 56px; height: 56px; flex: none; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; font: 700 20px/1 var(--font-head); color: #fff; letter-spacing: .02em;
  background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep));
  box-shadow: 0 0 0 4px var(--surface), 0 6px 16px color-mix(in srgb, var(--blue) 30%, transparent); }
.settings-hero-id { min-width: 0; flex: 1 1 240px; }
.settings-hero-who { display: flex; flex-wrap: wrap; gap: 2px var(--s2); align-items: baseline; margin-top: 2px;
  font-size: var(--fs-label); color: var(--ink-soft); }
.settings-hero-who b { color: var(--ink); font-weight: 600; }
.settings-hero-meta { display: flex; flex-wrap: wrap; gap: var(--s2); }
.settings-hero-pill { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 var(--s3);
  border-radius: var(--radius-pill); background: var(--surface); border: 1px solid var(--border);
  font-size: var(--fs-caption); font-weight: 600; color: var(--ink); max-width: 100%; }
.settings-hero-pill svg { color: var(--ink-faint); }
.settings-hero-pill.role { background: var(--blue-tint); border-color: var(--blue-tint-2); color: var(--blue-deep); }
.settings-hero-pill.role svg { color: var(--blue); }
.settings-grid { display: grid; grid-template-columns: 212px minmax(0, 1fr); gap: var(--s6); align-items: start; margin-top: var(--s5); }
.settings-rail { position: sticky; top: calc(var(--brandbar-h) + var(--s4)); display: flex; flex-direction: column; gap: 2px; }
.settings-rail-group { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-faint);
  font-weight: 650; padding: 0 var(--s3); margin: var(--s4) 0 var(--s1); }
.settings-rail-group:first-child { margin-top: 0; }
.settings-rail-item { display: flex; align-items: center; gap: var(--s3); width: 100%; text-align: left; background: none;
  border: 0; cursor: pointer; font: inherit; font-size: var(--fs-label); font-weight: 500; color: var(--ink-soft);
  padding: 7px var(--s3); border-radius: var(--radius-sm); position: relative;
  text-decoration: none; transition: background var(--dur-fast) ease, color var(--dur-fast) ease; }
.settings-rail-ico { display: inline-flex; color: var(--ink-faint); transition: color var(--dur-fast) ease; }
.settings-rail-item:hover { background: var(--surface); color: var(--ink); }
.settings-rail-item:hover .settings-rail-ico { color: var(--ink-soft); }
.settings-rail-item.active { background: var(--surface); color: var(--blue-deep); font-weight: 600;
  box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 0 0 1px var(--border); }
.settings-rail-item.active .settings-rail-ico { color: var(--blue); }
.settings-rail-item.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--blue); }
.settings-stack { display: flex; flex-direction: column; gap: var(--s4); min-width: 0; }
.settings-card { padding: var(--s5); scroll-margin-top: calc(var(--brandbar-h) + var(--s5));
  --st: var(--blue); }
.settings-card { --st-tint: color-mix(in srgb, var(--st) 11%, var(--surface)); }







.settings-card.tone-navy   { --st: var(--navy); }
.settings-card.tone-azure  { --st: #14649F; }
.settings-card.tone-plum   { --st: #8E3D96; }
.settings-card.tone-slate  { --st: #4C6088; }
.settings-card-head { display: flex; align-items: flex-start; gap: var(--s4); }
.settings-ico { flex: none; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center;
  justify-content: center; color: var(--st); background: var(--st-tint);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--st) 14%, transparent); }
.settings-card-titles { flex: 1; min-width: 0; }
.settings-card-title { font-family: var(--font-head); font-size: var(--fs-subhead); line-height: var(--lh-subhead); font-weight: 650; color: var(--ink); margin: 0; letter-spacing: -.005em; }
.settings-desc { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.5; margin: 4px 0 0; max-width: 62ch; }
.settings-card-body { margin-top: var(--s4); padding-top: var(--s4); border-top: 1px solid var(--border); }
.settings-card-body > :first-child { margin-top: 0; }
.scope-chip { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-micro); font-weight: 600; letter-spacing: .02em;
  padding: 3px var(--s2); border-radius: 999px; background: var(--surface-sunk); color: var(--ink-soft); white-space: nowrap; }
.scope-chip.you { background: var(--blue-tint); color: var(--blue-deep); }
.scope-chip.org { background: var(--navy-tint); color: var(--navy); }
.scope-chip.lock { background: var(--surface-sunk); color: var(--ink-faint); }

.settings-go { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4);
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--paper);
  color: var(--ink); text-decoration: none; transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.settings-go:hover { text-decoration: none; border-color: color-mix(in srgb, var(--st) 40%, var(--border)); background: var(--surface);
  box-shadow: 0 2px 8px rgba(16,24,40,.06); }
.settings-go:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.settings-go-l { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.settings-go-l b { font-size: var(--fs-label); font-weight: 600; color: var(--ink); }
.settings-go-l span { font-size: var(--fs-caption); color: var(--ink-soft); }
.settings-go > svg { color: var(--ink-faint); transition: transform var(--dur-fast) ease, color var(--dur-fast) ease; }
.settings-go:hover > svg { color: var(--st); transform: translateX(2px); }


.notif-prefs .na-toggle { align-items: center; gap: var(--s3); color: var(--ink); }
.notif-prefs .na-toggle input[type=checkbox] { appearance: none; -webkit-appearance: none; flex: none; margin: 0;
  width: 36px; height: 20px; border-radius: 999px; background: var(--switch-off); position: relative; cursor: pointer;
  transition: background var(--dur-fast) ease; }
.notif-prefs .na-toggle input[type=checkbox]::before { content: ""; position: absolute; top: 2px; left: 2px;
  width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.25);
  transition: transform var(--dur-base) var(--ease-out); }
.notif-prefs .na-toggle input[type=checkbox]:checked { background: var(--blue); }
.notif-prefs .na-toggle input[type=checkbox]:checked::before { transform: translateX(16px); }
.notif-prefs .na-toggle input[type=checkbox]:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .notif-prefs .na-toggle input[type=checkbox]::before { transition: none; } }

.settings-group { display: flex; align-items: center; gap: var(--s3); font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .06em;
  color: var(--ink-faint); font-weight: 650; padding: 0 2px; margin: var(--s3) 0 calc(-1 * var(--s1)); }
.settings-group::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.settings-group:first-of-type { margin-top: 0; }

.settings-saved { font-size: var(--fs-caption); font-weight: 600; color: var(--blue-deep); }

.linklike { background: none; border: 0; padding: 0; font: inherit; color: var(--blue-bright);
  cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.linklike:hover { color: var(--blue-deep); }
.linklike:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }


.poscol { display: flex; flex-direction: column; gap: var(--s4); }
.poscol-presets { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s2); }
.poscol-preset { display: flex; align-items: flex-start; gap: var(--s3); text-align: left; padding: var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); cursor: pointer; font: inherit; }
.poscol-preset:hover { border-color: var(--blue); }
.poscol-preset.on { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.poscol-preset:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.poscol-name { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-caption); }
.poscol-name span { color: var(--ink-soft); font-size: var(--fs-micro); }
.poscol-trio { display: inline-flex; gap: 3px; flex: none; margin-top: 2px; }
.poscol-trio i { width: 14px; height: 14px; border-radius: 50%; display: block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.poscol-own { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s4); }
.poscol-own-lead { display: flex; align-items: center; gap: var(--s2); min-width: 90px; font-size: var(--fs-caption); }
.poscol-pick { display: inline-flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption); cursor: pointer; }
.poscol-pick input[type=color] { width: 34px; height: 26px; padding: 0; border: 1px solid var(--border); border-radius: var(--radius-xs); background: none; cursor: pointer; }
.poscol-preview { display: flex; flex-wrap: wrap; gap: var(--s2); }
@media (max-width: 560px) { .poscol-presets { grid-template-columns: 1fr; } }
.set-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s4); padding: var(--s3) 0; }
.set-row + .set-row { border-top: 1px solid var(--border); }
.set-row-l { min-width: 0; }
.set-row-l b, .set-row-l > label { font-size: var(--fs-label); font-weight: 600; color: var(--ink); display: block; }
.set-row-l .set-help { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.45; margin-top: 2px; display: block; max-width: 60ch; }
.set-row-l .set-help b.inline { display: inline; font-size: inherit; }
.set-row-ctl { flex: none; display: flex; align-items: center; gap: var(--s2); }

.set-rows > .set-row:first-child { padding-top: 0; }
.set-rows > .set-row:last-child { padding-bottom: 0; }
.set-row { padding: var(--s4) 0; }
.set-subform + .set-row { border-top: 1px solid var(--border); }
.set-row-ctl-grow { flex: 0 1 340px; min-width: 0; }
.set-row-ctl-grow .ctl { flex: 1; min-width: 0; height: 36px; }
.set-row-ctl-grow .btn { height: 36px; }
.set-row-stack { flex-direction: column; align-items: stretch; gap: var(--s3); }
.set-subform { padding: 0 0 var(--s4); margin-top: calc(-1 * var(--s2)); }
.set-devices { display: flex; flex-direction: column; gap: var(--s2); }
.set-device { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--paper); }
.set-device-ico { display: inline-flex; width: 28px; height: 28px; border-radius: 8px; align-items: center; justify-content: center;
  background: var(--blue-tint); color: var(--blue); flex: none; }
.set-badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 var(--s3); border-radius: var(--radius-pill);
  background: var(--blue-tint); color: var(--blue-deep); font-size: var(--fs-caption); font-weight: 600; white-space: nowrap; }


.set-switch { appearance: none; border: 0; padding: 0; cursor: pointer; flex: none; width: 40px; height: 22px;
  border-radius: 999px; background: var(--switch-off); position: relative; transition: background var(--dur-fast) ease; }
.set-switch::before { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.25); transition: transform var(--dur-base) var(--ease-out); }
.set-switch[aria-checked="true"] { background: var(--blue); }
.set-switch[aria-checked="true"]::before { transform: translateX(18px); }


.set-switch[aria-disabled="true"] { opacity: .6; cursor: progress; }
.set-switch:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .set-switch::before { transition: none; } }




@media (forced-colors: active) {
  .set-switch, .notif-prefs .na-toggle input[type=checkbox] { border: 1px solid ButtonText; background: Canvas; forced-color-adjust: none; }
  .set-switch::before, .notif-prefs .na-toggle input[type=checkbox]::before { background: ButtonText; box-shadow: none; forced-color-adjust: none; }
  .set-switch[aria-checked="true"], .notif-prefs .na-toggle input[type=checkbox]:checked { background: Highlight; border-color: Highlight; }
  .set-switch[aria-checked="true"]::before, .notif-prefs .na-toggle input[type=checkbox]:checked::before { background: HighlightText; }
  .set-switch::before { top: 2px; left: 2px; }
  .notif-prefs .na-toggle input[type=checkbox]::before { top: 1px; left: 1px; }
}
@media (max-width: 640px) {
  .set-row { flex-wrap: wrap; }
  .set-row-ctl-grow { flex: 1 1 100%; }
}

.sigpeer-search { width: 100%; box-sizing: border-box; height: 32px; padding: 0 var(--s3); margin-bottom: var(--s2);
  border: 1px solid var(--border); border-radius: var(--radius-sm); font: inherit; font-size: var(--fs-caption); background: var(--surface); }

.sigpeer-search:focus { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }
.sigpeer-chips { display: flex; flex-wrap: wrap; gap: var(--s1); margin-bottom: var(--s2); }
.sigpeer-tag { display: inline-flex; align-items: center; gap: 4px; background: var(--blue-tint); color: var(--blue-deep);
  font-size: var(--fs-caption); font-weight: 550; padding: 3px var(--s1) 3px var(--s2); border-radius: 999px; }
.sigpeer-tag button { background: none; border: 0; cursor: pointer; color: var(--blue-deep); line-height: 0;
  padding: 2px; margin: -2px -2px -2px 0; min-width: 24px; min-height: 24px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center; }
.sigpeer-tag button:hover { background: rgba(0,0,0,.08); }
.sigpeer-match { font-size: var(--fs-caption); color: var(--ink); margin-top: var(--s3); }
.sigpeer-match.warn { color: var(--blue-deep); font-weight: 600; }
@media (max-width: 900px) {
  .settings-grid { grid-template-columns: 1fr; gap: var(--s3); }




  .settings-rail { position: sticky; top: var(--brandbar-live, var(--brandbar-h)); z-index: 3; flex-direction: row; overflow-x: auto; gap: var(--s1);
    background: var(--surface); padding: var(--s2); margin: 0 calc(-1 * var(--s2)); border-bottom: 1px solid var(--border); }
  .settings-rail-group { display: none; }
  .settings-rail-item { white-space: nowrap; width: auto; flex: none; padding: 6px var(--s3); }
  .settings-rail-item.active::before { display: none; }
  .settings-hero { padding: var(--s4); gap: var(--s3); }
  .settings-hero-avatar { width: 44px; height: 44px; font-size: 16px; }
  .settings-card { padding: var(--s4); }
  .settings-card-head { gap: var(--s3); }
  .settings-ico { width: 36px; height: 36px; border-radius: 10px; }
}

.caption { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.label { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); font-weight: 550; }
.muted { color: var(--ink-faint); }


.term { border-bottom: 1px dotted var(--ink-faint); cursor: help; position: relative; }
.term .tip, .hastip .tip { display: none; position: absolute; bottom: calc(100% + 6px); left: 50%;
  transform: translateX(-50%); background: var(--ink); color: #fff; padding: var(--s2) var(--s3);
  border-radius: var(--radius-sm); font-size: var(--fs-caption); line-height: 1.5; width: 230px; z-index: var(--z-popover);
  font-weight: 400; white-space: normal; }
.term:hover .tip, .hastip:hover .tip { display: block; }


.term:focus .tip, .term:focus-within .tip { display: block; }
.term:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-2xs); }


















@media (max-width: 700px) {
  .term .tip, .hastip .tip, .indic-tip {
    position: fixed;
    left: var(--s3); right: var(--s3); bottom: var(--s3);
    top: auto; width: auto; max-width: none; transform: none;
    z-index: 300;
    box-shadow: var(--shadow-pop);
  }
}
@media (min-width: 701px) {
  .term .tip, .hastip .tip { max-width: min(230px, calc(100vw - 2rem)); }
  .indic-tip { max-width: min(200px, calc(100vw - 2rem)); }
}












.bench-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); }

.cat-subdomain-head { display: flex; align-items: center; gap: var(--s2);



  font-size: var(--fs-subhead); letter-spacing: -0.01em; margin: var(--s5) 0 var(--s3);
  padding-top: var(--s3); border-top: 1px solid var(--border); }
.cat-subdomain-head:first-of-type { border-top: 0; padding-top: 0; }
.subdom-jump { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s3) 0 var(--s4); }
.subdom-jump-chip { font-size: var(--fs-caption); padding: 4px 12px; border-radius: 999px;
  border: 1px solid var(--border); background: var(--surface);
  cursor: pointer; color: var(--ink-soft); }
.subdom-jump-chip:hover { border-color: var(--blue); color: var(--ink); }
.subdom-jump-chip b { font-weight: 600; opacity: .55; margin-left: 2px; }










.subdom-jump-stick { position: sticky; top: var(--brandbar-live, var(--brandbar-h)); z-index: 20;
  background: var(--surface-page); padding: var(--s2) 0; margin: 0 0 var(--s3); }
.subdom-jump-chip.active { border-color: var(--blue); background: var(--blue-tint);
  color: var(--lumi-navy); font-weight: 650; }
.subdom-jump-chip.active b { opacity: .7; }
@media (max-width: 760px) {
  .subdom-jump-stick { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .subdom-jump-stick::-webkit-scrollbar { display: none; }
  .subdom-jump-stick .subdom-jump-chip { flex: 0 0 auto; }
}
@media (max-width: 1060px) { .bench-grid { grid-template-columns: minmax(0, 1fr); } }
.bench-card { display: flex; flex-direction: column; padding: var(--card-pad); position: relative;
  transition: box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; height: 100%; }
.bench-card:hover { box-shadow: var(--shadow-lift); transform: translateY(-1px); }
.bench-card.w2 { grid-column: span 2; }



@media (max-width: 1060px) { .bench-card.w2 { grid-column: span 1; } }

.bench-head { display: flex; align-items: flex-start; gap: var(--s2); margin-bottom: var(--s2); }


.bench-n { font-size: var(--fs-caption); color: var(--ink-soft); margin-top: auto; cursor: help; }
.bench-lead { font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 500; color: var(--ink); }

.bench-title { font-family: var(--font-head); font-size: var(--fs-card-title); line-height: var(--lh-card-title);
  font-weight: var(--fw-card-title); margin: 0; flex: 1; cursor: default;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }



.bench-chart { min-height: var(--chart-h); display: flex; flex-direction: column; justify-content: center; }
.bench-chart > * { width: 100%; }
.bench-chart svg { max-width: 560px; max-height: 100%; margin: 0 auto; display: block; }










.cooc-note { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink);
  margin-top: var(--s2); }




.cooc-base { display: block; margin-top: 2px; color: var(--ink-faint); font-size: var(--fs-micro);
  line-height: var(--lh-micro); }
.method-note { margin-top: var(--s2); padding-top: var(--s2); border-top: 1px solid var(--border); }
.method-note-head { font-size: var(--fs-micro); letter-spacing: .04em; text-transform: uppercase;
  color: var(--ink-faint); margin-bottom: var(--s1); }
.method-note-row { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft);
  padding-left: var(--s3); text-indent: calc(-1 * var(--s3)); }
.method-note-row + .method-note-row { margin-top: var(--s1); }
.method-note-row::before { content: "·"; display: inline-block; width: var(--s3); text-indent: 0;
  color: var(--ink-faint); }
.method-note-row a { color: var(--blue-bright); white-space: nowrap; }
.metric-value { font-size: var(--fs-metric); line-height: var(--lh-metric); font-weight: var(--fw-metric);
  letter-spacing: -0.01em; }
.metric-value.lg { font-size: var(--fs-metric-lg); line-height: var(--lh-metric-lg); }
.metric-value .unit { font-size: var(--fs-body); font-weight: 550; color: var(--ink-soft); margin-left: 1px; }

.locked-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: var(--s2); border-radius: var(--radius); z-index: 5;
  background: linear-gradient(color-mix(in srgb, var(--blue-tint) 55%, transparent),
                              color-mix(in srgb, var(--blue-tint) 88%, #fff)); backdrop-filter: blur(1px); }
.blurred { filter: blur(5px); pointer-events: none; user-select: none; }
.suppressed-box { display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--s1); padding: var(--s4); background: var(--surface-sunk); border-radius: var(--radius-sm);
  color: var(--ink-soft); text-align: center; font-size: var(--fs-label); height: 100%; }
.noanswer-box { border: 1px dashed var(--border); border-radius: var(--radius-sm); padding: var(--s2) var(--s3);
  color: var(--ink-faint); font-size: var(--fs-label); text-align: center; }

.noanswer-cta { color: var(--blue); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.noanswer-cta:hover { color: var(--blue-deep); }
.noanswer-key { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .04em;
  color: var(--lumi-navy); background: color-mix(in srgb, var(--lumi-navy) 8%, transparent);
  border-radius: var(--radius-2xs); padding: 1px 6px; margin-left: var(--s1); white-space: nowrap; }


.empty-state { gap: var(--s2); }
.empty-state .es-ring { width: 44px; height: 44px; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; background: var(--surface-sunk);
  color: var(--ink-faint); margin-bottom: var(--s1); flex: 0 0 auto; }
.empty-state .es-title { font-weight: 650; color: var(--ink); }
.empty-state .es-body { color: var(--ink-soft); max-width: 340px; line-height: 1.5; }
.empty-state .es-action { margin-top: var(--s2); display: flex; gap: var(--s2); align-items: center; flex-wrap: wrap; justify-content: center; }

.empty-state.es-invite { background: transparent; }
.empty-state.es-invite .es-ring { width: 56px; height: 56px; background: var(--blue-tint); color: var(--blue);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--blue) 6%, transparent); }

.empty-state.es-error .es-ring { background: var(--unfavourable-tint); color: var(--unfavourable); }


@keyframes popIn { 0% { transform: scale(.6); opacity: 0; } 70% { transform: scale(1.06); } 100% { transform: scale(1); opacity: 1; } }
.success-ring { width: 72px; height: 72px; border-radius: 50%; background: var(--favourable-tint);
  color: var(--favourable); font-size: 34px; display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--s3); border: 2px solid var(--favourable); animation: popIn var(--dur-slow) ease both; }
.success-pop h1 { animation: riseIn var(--dur-base) ease var(--dur-fast) both; }
@media (prefers-reduced-motion: no-preference) {



  .unlock-position-line { animation: riseIn var(--dur-base) var(--ease-out) var(--dur-fast) both; }
}
.return-strip { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-label);
  color: var(--navy); background: color-mix(in srgb, var(--navy) 7%, var(--surface));
  border-radius: var(--radius-sm); padding: var(--s2) var(--s3); margin-bottom: var(--s3); }
@media (prefers-reduced-motion: no-preference) { .return-strip { animation: riseIn var(--dur-base) var(--ease-out) both; } }
.return-strip .iconbtn { margin-left: auto; }




.success-pop.unlocked .success-ring { width: 84px; height: 84px;
  animation: popIn 420ms ease both; }


.unlock-position-line { font-family: var(--font-head); font-weight: 650;
  font-size: var(--fs-subhead); line-height: var(--lh-subhead); color: var(--ink);
  margin: var(--s2) 0 var(--s3); }
.unlock-housekeeping { font-size: var(--fs-caption); line-height: var(--lh-caption);
  color: var(--ink-soft); max-width: 46ch; margin: 0 auto var(--s5); }


@keyframes riseIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.bench-grid > * { animation: riseIn var(--dur-fast) ease both; }



.bench-grid > .skel-card { animation: none; }




@media (prefers-reduced-motion: no-preference) {
  .bench-grid > *:nth-child(1) { animation-delay: 0ms; }
  .bench-grid > *:nth-child(2) { animation-delay: 25ms; }
  .bench-grid > *:nth-child(3) { animation-delay: 50ms; }
  .bench-grid > *:nth-child(4) { animation-delay: 75ms; }
  .bench-grid > *:nth-child(5) { animation-delay: 100ms; }
  .bench-grid > *:nth-child(6) { animation-delay: 125ms; }
  .bench-grid > *:nth-child(7) { animation-delay: 150ms; }
  .bench-grid > *:nth-child(n+8) { animation-delay: 175ms; }
}


@keyframes shimmer { 0% { opacity: .55; } 50% { opacity: 1; } 100% { opacity: .55; } }
.skel { background: var(--surface-sunk); border-radius: var(--radius-sm); animation: shimmer 1.4s ease-in-out infinite; }
.skel-card { display: flex; flex-direction: column; padding: var(--card-pad); height: 100%; min-height: 320px; }
.skel-card .skel { margin-bottom: var(--s2); }


.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s4);
  margin-bottom: var(--s5); flex-wrap: wrap; }
.page-head .titleblock { display: flex; align-items: center; gap: var(--s3); }
.sp-glyph { width: 40px; height: 40px; border-radius: var(--radius); background: var(--blue-tint);
  color: var(--blue); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.page-head .meta { margin-top: 2px; }
.page-head .controls { display: flex; gap: var(--s2); align-items: center; }





.hero-title-wrap { display: flex; flex-direction: column; gap: 2px; min-width: 0; }




.conf-line { flex-basis: 100%; display: flex; justify-content: flex-end; margin-top: 2px; }
.conf-chip { position: relative; display: inline-flex; align-items: center; gap: var(--s2);
  border: 1px solid var(--border); background: var(--surface); border-radius: 999px;
  padding: var(--s1) var(--s3); font-size: var(--fs-caption); color: var(--ink-soft); }
.conf-chip b { color: var(--ink); font-weight: 650; }
.conf-n { color: var(--ink-faint); }
.conf-meter { display: inline-flex; gap: 2.5px; }
.conf-meter i { width: 5px; height: 12px; border-radius: 2px; background: var(--navy); flex: none; }
.conf-meter i.off { background: var(--border); }


.conf-label { font-size: var(--fs-micro); font-weight: 600; color: var(--ink-soft); letter-spacing: .02em; }


.cat-driver-vs { margin-left: var(--s2); }
.conf-score { font-weight: 700; font-size: var(--fs-caption); font-variant-numeric: tabular-nums; }
.conf-green .conf-meter i:not(.off) { background: var(--favourable); }
.conf-green .conf-score { color: var(--favourable-ink); }
.conf-amber .conf-meter i:not(.off) { background: var(--amber-bright); }
.conf-amber .conf-score { color: var(--below-ink); }
.conf-red .conf-meter i:not(.off) { background: var(--unfavourable); }
.conf-red .conf-score { color: var(--unfavourable-ink); }
.conf-chip .indic-tip { left: auto; right: 0; width: 240px; }
.conf-chip:hover .indic-tip, .conf-chip:focus .indic-tip, .conf-chip:focus-within .indic-tip { opacity: 1; visibility: visible; }

.ov-journey { display: flex; align-items: center; gap: var(--s4); margin-bottom: var(--s4);
  padding: var(--s2) var(--s4); border: 1px solid var(--border); border-radius: var(--radius);
  background: color-mix(in srgb, var(--blue-tint) 40%, var(--surface)); }
.ov-journey-spark { width: 130px; flex: 0 0 auto; display: block; }
.ov-journey-copy { color: var(--ink-soft); }
.ov-journey-copy b { color: var(--blue); }


.eyebrow, .nav-label, .rail-flyout-head,
.notif-group-head, .sig-worth, .sig-teaser-label, .kebab-label, .cat-sum-label,
.cat-filter-cue, .cat-axis, .mp-class-label, .cat-hero-label {
  text-transform: uppercase; }
.eyebrow, .nav-label, .rail-flyout-head {
  font-size: var(--fs-caption); font-weight: 650; letter-spacing: .06em; }
.notif-group-head, .sig-worth, .sig-teaser-label, .kebab-label, .cat-sum-label,
.cat-filter-cue, .cat-axis, .mp-class-label {
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; }
.cat-hero-label { font-size: var(--fs-body); font-weight: 700; letter-spacing: .04em; }
.eyebrow { color: var(--ink-soft); }











.hero-actions { margin-left: auto; display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.hero-actions .conf-chip, .hero-actions .btn.small, .hero-actions .peerbar-pill { height: 36px; box-sizing: border-box; }
.hero-actions .peerbar { gap: var(--s2); }
.peerbar-inline { margin: 0; }
.banner { padding: var(--s4) var(--s5); display: flex; gap: var(--s5); align-items: stretch; flex-wrap: wrap; }
.banner .divider { border-left: 1px solid var(--border); padding-left: var(--s5); }
.callout { padding: var(--s2) var(--s4); border-left: 3px solid var(--border); background: var(--surface);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: var(--fs-label); line-height: var(--lh-label);
  color: var(--ink-soft); margin-bottom: var(--s2);
  border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
  transition: box-shadow var(--dur-fast); }
.callout:hover { box-shadow: var(--shadow-lift); }
.callout.good { border-left-color: var(--favourable); }
.callout.bad { border-left-color: var(--unfavourable); }




table.data { width: 100%; border-collapse: collapse; font-size: var(--fs-label); }



.th-sort { background: none; border: 0; padding: var(--s2) 0; min-height: 36px; font: inherit; color: inherit; cursor: pointer;
  text-transform: inherit; letter-spacing: inherit; display: inline-flex; align-items: center; gap: 3px; }
.th-sort:hover { color: var(--ink); }





.gap-tablewrap { overflow-x: auto; }
.gap-tablewrap table.data th { position: static; }
.gap-table td { font-size: var(--fs-label); vertical-align: top; padding: var(--s2) var(--s3); }
.gap-table .gap-sentence { margin-top: 2px; max-width: 46ch; }
.gap-table td.num { white-space: nowrap; }



@media (max-width: 640px) {
  .gap-table, .gap-table tbody { display: block; }
  .gap-table thead tr { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); padding: var(--s2) var(--s4);
    border-bottom: 1px solid var(--border); }
  .gap-table thead tr th { display: block; padding: 0; border: 0; background: none; height: auto; }
  .gap-table tbody tr.gap-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s2) var(--s3);
    padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border); }
  .gap-tablewrap table.data.gap-table tbody tr td { display: block; padding: 0; border: 0; text-align: left; background: none; }
  .gap-table thead .th-sort { padding: 4px 0; min-height: 24px; height: auto; line-height: var(--lh-caption); }
  .gap-table tbody td:first-child { grid-column: 1 / -1; }
  .gap-table tbody td:nth-child(2) { grid-column: 1 / 3; align-self: center; }
  .gap-table tbody td:nth-child(3) { grid-column: 3; justify-self: end; }
  .gap-table tbody td.num { white-space: normal; }
  .gap-table tbody td.num::before { content: attr(data-label); display: block; font-size: var(--fs-micro);
    letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: var(--ink-faint); }
}
table.data th { position: sticky; top: var(--brandbar-h); z-index: 2; text-align: left; font-size: var(--fs-caption);
  text-transform: uppercase; letter-spacing: .06em; background: var(--surface); color: var(--ink-soft);
  font-weight: 650; padding: var(--s2) var(--s3); white-space: nowrap;
  border-bottom: 1.5px solid var(--chrome-edge, var(--border)); }
table.data td { padding: var(--s3); border-bottom: 1px solid var(--chart-grid); vertical-align: top; }
table.data tbody tr:nth-child(even) td { background: var(--surface-sunk); }
table.data tbody tr:hover td, table.data tbody tr:nth-child(even):hover td { background: var(--blue-tint); }
table.data .chip { border-color: var(--border); }
td.num, th.num, table.data th.num { text-align: right; }


.auth-wrap { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0;


  padding: var(--s6) var(--s5) calc(var(--s6) + min(9vh, 80px));





  position: relative; isolation: isolate; overflow: hidden; }
.auth-wrap::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(58rem 34rem at 50% -8%, rgba(31, 42, 68, .055), transparent 68%),
    radial-gradient(42rem 30rem at 92% 108%, rgba(240, 140, 110, .05), transparent 66%); }











.auth-wrap:has(> .auth-card)::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: min(46vh, 420px);
  z-index: -1; pointer-events: none;
  background:
    radial-gradient(60% 120% at 85% 0%, rgba(240,140,110,.14), transparent 60%),
    radial-gradient(50% 90% at 10% 100%, rgba(255,255,255,.08), transparent 70%),
    linear-gradient(170deg, var(--appbar-bg) 0%, color-mix(in srgb, var(--appbar-bg) 70%, #0B1433) 100%); }
.auth-card { width: 400px; max-width: 100%; padding: var(--s6);


  box-shadow: var(--shadow-pop); }


@media (prefers-reduced-motion: no-preference) {
  .auth-card { animation: authRise 380ms var(--ease-out) both; }
  .auth-footer { animation: authRise 380ms var(--ease-out) 90ms both; }
}
@keyframes authRise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }


.auth-card .field label { transition: color var(--dur-base) var(--ease-out); }
.auth-card .field:focus-within label { color: var(--blue-deep); }



.auth-card input:-webkit-autofill,
.auth-card input:-webkit-autofill:hover,
.auth-card input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink);
  -webkit-box-shadow: 0 0 0 40px var(--surface) inset;
  caret-color: var(--ink); }

.field-note { margin: var(--s1) 0 0; font-size: var(--fs-caption); color: var(--ink-soft);
  display: flex; align-items: center; gap: 6px; }
.field-note::before { content: ""; width: 5px; height: 5px; border-radius: 50%;
  background: var(--blue-bright); flex: 0 0 auto; }
.auth-card .brandmark { display: flex; }


.auth-card .btn.block { height: 44px; border-radius: var(--radius); font-size: var(--fs-body); font-weight: 600; }
@media (max-width: 420px) { .auth-card { padding: var(--s5); } }



.auth-head { margin: var(--s4) 0 var(--s5); }
.auth-title { font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-section);
  font-weight: var(--fw-section); letter-spacing: -0.01em; color: var(--ink); margin: 0; }
.auth-sub { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); margin: var(--s1) 0 0; }





.auth-alt { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s2);
  margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--border); }
.auth-alt-quiet { font-size: var(--fs-caption); color: var(--ink-soft); }
.auth-alt-quiet:hover { color: var(--blue-deep); }
.field { margin-bottom: var(--s4); }
.field label { display: block; font-size: var(--fs-label); font-weight: 600; margin-bottom: var(--s1);
  color: var(--ink); }





.field input:not([type=checkbox]):not([type=radio]), .field select, .field textarea {
  width: 100%; height: 44px; padding: 0 var(--s4);
  border: 1px solid var(--border); border-radius: var(--radius); font-size: var(--fs-body);
  background: var(--surface); color: var(--ink); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.field textarea { height: auto; min-height: 76px; padding: var(--s3) var(--s4); line-height: 1.5; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-faint); }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--ink-faint); }

.pw-meter { margin: calc(-1 * var(--s2)) 0 var(--s3); display: flex; align-items: center; gap: var(--s2); }
.pw-bar { flex: 1 1 auto; height: 4px; border-radius: 3px; background: var(--surface-sunk); overflow: hidden; }
.pw-bar > span { display: block; height: 100%; border-radius: 3px; transition: width var(--dur-base) var(--ease-out), background var(--dur-base); }
.pw-bar.pw-weak > span { background: var(--unfavourable); }
.pw-bar.pw-fair > span { background: #C9871F; }
.pw-bar.pw-ok > span { background: var(--favourable); }
.pw-note { flex: 0 0 auto; white-space: nowrap; }
.field input:focus, .field select:focus, .field textarea:focus { outline: var(--focus-outline);


  outline-offset: 0; border-color: var(--blue); }

.field input[readonly] { background: var(--surface-sunk); border-color: var(--border);
  color: var(--ink-soft); cursor: default; }
.field input[readonly]:hover { border-color: var(--border); }





.field input:-webkit-autofill, .field input:-webkit-autofill:hover,
.field input:-webkit-autofill:focus, .field input:-webkit-autofill:active,
.ctl:-webkit-autofill, .suggest-input:-webkit-autofill,
.ana-composer input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 100px var(--surface) inset;
  box-shadow: 0 0 0 100px var(--surface) inset;
  -webkit-text-fill-color: var(--ink);
  caret-color: var(--ink);
  transition: background-color 100000s ease-in-out 0s; }


.field input:autofill, .field input:autofill:hover, .field input:autofill:focus,
.ctl:autofill, .suggest-input:autofill, .ana-composer input:autofill {
  box-shadow: 0 0 0 100px var(--surface) inset;
  caret-color: var(--ink);
  transition: background-color 100000s ease-in-out 0s; }


.confirm-text { color: var(--blue-deep); font-size: var(--fs-label); line-height: var(--lh-label); }

.field input.code-input { font-size: var(--fs-subhead); text-align: center; letter-spacing: .3em;
  text-indent: .3em; font-variant-numeric: tabular-nums; }


.invite-form .ctl { --ctl-h: 44px; --ctl-pad: var(--s4); --ctl-radius: var(--radius); max-width: none;
  font-size: var(--fs-body); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.invite-form .ctl:hover { border-color: var(--ink-faint); }

.invite-form .ctl:focus { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }
.error-text { color: var(--color-text-danger); font-size: var(--fs-label); margin-top: var(--s1); }
.warn-text { color: var(--amber-deep); font-size: var(--fs-label); margin-top: var(--s1); }
.ok-text { color: var(--favourable); font-size: var(--fs-label); margin-top: var(--s1); }


.sigpeer-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s4); }
@media (max-width: 720px) { .sigpeer-grid { grid-template-columns: 1fr; } }
.sigpeer-lbl { font-size: var(--fs-label); font-weight: 600; color: var(--ink); margin-bottom: var(--s2); }

.sigpeer-opts { display: flex; flex-direction: column; gap: 1px; height: 236px; overflow-y: auto;
  border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--s1); background: var(--surface); }








@media (max-width: 720px) { .sigpeer-opts { height: auto; max-height: 236px; } }
.sigpeer-opts .sigpeer-chk { display: flex; align-items: center; gap: var(--s2); width: 100%; box-sizing: border-box;
  margin: 0; padding: var(--s2); border-radius: var(--radius-xs); font-size: var(--fs-label); font-weight: 400;
  color: var(--ink); cursor: pointer; line-height: 1.3; }
.sigpeer-opts .sigpeer-chk:hover { background: var(--surface-sunk); }
.sigpeer-opts .sigpeer-chk.on { background: var(--blue-tint); }
.sigpeer-opts .sigpeer-chk.on .sigpeer-name { color: var(--blue-deep); font-weight: 550; }
.sigpeer-opts .sigpeer-chk input { flex: none; width: 15px; height: 15px; margin: 0; accent-color: var(--blue); cursor: pointer; }
.sigpeer-name { flex: 1; min-width: 0; }
.sigpeer-n { flex: none; color: var(--ink-faint); font-variant-numeric: tabular-nums; font-size: var(--fs-caption); }


.progressbar { height: 8px; border-radius: 999px; background: var(--blue-tint); overflow: hidden; }
.progressbar > div { height: 100%; border-radius: 999px; min-width: 4px;
  background: linear-gradient(90deg, var(--blue), var(--blue-bright)); transition: width var(--dur-slow) cubic-bezier(.4, 0, .2, 1); }
.q-block { padding: var(--s4); border-bottom: 1px solid var(--chart-grid); }
.q-block:last-child { border-bottom: 0; }


.qwiz-saved { font-size: var(--fs-caption); color: var(--ink-soft); transition: color var(--dur-base); }
.qwiz-saved.on { color: var(--favourable); }
.qwiz-saved.err { color: var(--color-text-danger); font-weight: 600; }





.qwiz-pips { display: flex; flex-wrap: nowrap; gap: 4px; margin: var(--s1) 0 var(--s4); }




.qwiz-pip { position: relative; flex: 1 1 0; min-width: 6px; max-width: 22px;
  height: 7px; border-radius: var(--radius-2xs); border: 0; padding: 0; cursor: pointer;
  background: var(--surface-sunk); box-shadow: inset 0 0 0 1px var(--border); transition: background var(--dur-fast), transform var(--dur-fast); }
.qwiz-pip::before { content: ""; position: absolute; left: 0; right: 0;
  top: 50%; transform: translateY(-50%); height: 24px; }
.qwiz-pip:hover { transform: translateY(-1px); }
.qwiz-pip.key { box-shadow: inset 0 0 0 1px var(--blue-soft); }
.qwiz-pip.done { background: var(--blue); box-shadow: none; }
.qwiz-pip.now { background: var(--blue); box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--blue); }
.qwiz-pip.now:not(.done) { background: var(--ink); box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--ink); }

.qwiz-pip:nth-child(10n):not(:last-child) { margin-right: var(--s2); }


.qwiz-scan { position: relative; height: 7px; border-radius: var(--radius-2xs);
  background: var(--surface-sunk); box-shadow: inset 0 0 0 1px var(--border);
  margin: var(--s1) 0 var(--s4); }
.qwiz-scan-done { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: var(--blue);
  transition: width var(--dur-slow) var(--ease-out); }
.qwiz-scan-now { position: absolute; top: 50%; width: 3px; height: 15px; border-radius: 2px;
  background: var(--ink); transform: translate(-50%, -50%);
  box-shadow: 0 0 0 2px var(--surface); }
.qwiz-divider { font-size: var(--fs-caption); color: var(--ink-soft); margin: 0 0 var(--s3);
  padding-bottom: var(--s2); border-bottom: 1px dashed var(--border); }
.qwiz-divider span { font-weight: 600; color: var(--ink); }
.qwiz-card { padding: var(--s4) var(--s5) var(--s5); margin-bottom: var(--s4); animation: qwiz-in var(--dur-base) var(--ease-out) both; }
.qwiz-qhead { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3);
  padding-bottom: var(--s3); border-bottom: 1px solid var(--border); }
.pulse-q-num.done { background: var(--favourable); color: #fff; box-shadow: none; animation: q-done-pop 180ms var(--ease-out); }




.qwiz-card .q-block { animation: qwiz-swap 180ms var(--ease-out) backwards; }
@keyframes qwiz-swap { from { opacity: 0; transform: translateY(4px); } }
@keyframes q-done-pop { from { transform: scale(.8); } 60% { transform: scale(1.08); } }
.qwiz-card .q-block { border-bottom: 0; }
@keyframes qwiz-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.qwiz-nav { margin-bottom: var(--s6); }
.qwiz-skip { font-size: var(--fs-caption); color: var(--ink-soft); cursor: pointer; }
.qwiz-skip:hover { color: var(--ink); text-decoration: underline; }

.qwiz-skip-key { font-size: var(--fs-micro); color: var(--ink-faint); }

.qwiz-unlock { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  margin: 0 0 var(--s3); padding: var(--s2) var(--s3); border-radius: var(--radius-sm);
  background: var(--blue-tint); color: var(--blue-deep); font-size: var(--fs-caption); }
.qwiz-unlock-lead { display: inline-flex; align-items: center; gap: 5px; }
.qwiz-unlock-lead b { font-variant-numeric: tabular-nums; }
.qwiz-unlock-bar { flex: 1 1 80px; min-width: 60px; max-width: 200px; height: 5px;
  border-radius: 3px; background: color-mix(in srgb, var(--blue) 16%, #fff); overflow: hidden; }
.qwiz-unlock-bar > span { display: block; height: 100%; background: var(--blue); border-radius: 3px;
  transition: width var(--dur-slow) var(--ease-out); }
.radio-row, .check-row { display: flex; align-items: flex-start; gap: var(--s2); padding: var(--s1) 0;
  cursor: pointer; font-size: var(--fs-body); }
.radio-row input, .check-row input { accent-color: var(--blue); }
.matrix-grid input { width: 110px; height: 34px; padding: 0 var(--s3); border: 1px solid var(--border);
  border-radius: var(--radius-sm); text-align: right; transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }



.matrix-grid input:focus { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }



table.matrix-grid tbody tr:nth-child(even) td { background: transparent; }
.matrix-grid tr.mg-row-flagged td { border-bottom: 0; }
.matrix-grid tr.mg-note-row td { padding: 0 var(--s3) var(--s3); }
.matrix-grid tr.mg-note-row:hover td { background: transparent; }
.matrix-grid tr.mg-note-row .warn-panel { margin-top: 2px; }

.matrix-heat-wrap { overflow-x: auto; }


.matrix-heat { min-width: max(100%, calc(120px + var(--mh-cols, 8) * 46px)); }
.matrix-heat { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px;
  font-size: var(--fs-label); }
.matrix-heat thead th { font-size: var(--fs-micro); font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  color: var(--ink-soft); text-align: center; padding: 0 2px var(--s2); vertical-align: bottom; line-height: 1.15;
  background: transparent; border: 0; overflow-wrap: anywhere; }
.matrix-heat thead th.mh-lvl { text-align: left; }


.matrix-heat thead th.mh-band-num { white-space: nowrap; overflow-wrap: normal; }
.matrix-heat thead th.mh-you { text-align: right; }
.matrix-heat th.mh-lvl, .matrix-heat td.mh-lvl { width: 150px; }
.matrix-heat th.mh-you, .matrix-heat td.mh-you { width: 54px; }



.matrix-heat.you-wide th.mh-you, .matrix-heat.you-wide td.mh-you { width: 112px; }
.matrix-heat td.mh-you b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


.matrix-heat td, .matrix-heat tbody th { height: 40px; vertical-align: middle; }

.matrix-heat td.mh-lvl, .matrix-heat tbody th.mh-lvl { text-align: left; color: var(--ink);
  padding-right: var(--s2); font-weight: 600; background: transparent; border: 0; }
.matrix-heat .mh-lvl-txt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: var(--fs-label); font-weight: 600; line-height: 1.16; }
.matrix-heat td.mh-cell { text-align: center; border-radius: var(--radius-xs);
  font-variant-numeric: tabular-nums; font-size: var(--fs-caption); font-weight: 600; color: var(--ink);
  transition: box-shadow var(--dur-fast) ease; }



.matrix-heat td.mh-cell.mh-zero { background: var(--surface); color: var(--ink-faint); }
.matrix-heat td.mh-cell.mh-empty { background: var(--chart-nodata); }
.matrix-heat td.mh-cell.mode { font-weight: 600; }



.matrix-heat td.mh-cell.you { box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3.5px var(--blue-deep); font-weight: 700; }
.matrix-heat td.mh-empty { background:
  repeating-linear-gradient(135deg, var(--surface-sunk) 0 6px, transparent 6px 7px), var(--surface-sunk); }
.matrix-heat td.mh-you { text-align: right; white-space: nowrap; padding-left: var(--s3); }
.matrix-heat td.mh-you b { color: var(--blue-deep); font-weight: 700; }
.matrix-heat .mh-row:hover td.mh-lvl { color: var(--blue); }
.matrix-heat .mh-row:hover td.mh-cell:not(.mode):not(.you) { box-shadow: inset 0 0 0 1px rgba(15,23,42,.14); }
.mh-supp { text-align: left; color: var(--ink-soft); }
.matrix-scale { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4);
  margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--chart-grid);
  font-size: var(--fs-label); color: var(--ink-soft); }
.mscale { display: inline-flex; align-items: center; gap: var(--s2); }
.mscale-bar { width: 96px; height: 9px; border-radius: var(--radius-2xs);
  background: linear-gradient(90deg, rgb(224,229,245), var(--quartile-fill)); }
.mleg { display: inline-flex; align-items: center; gap: var(--s2); white-space: nowrap; }
.msw { width: 13px; height: 13px; border-radius: var(--radius-2xs); flex: 0 0 auto; background: var(--surface); }
.mh-mode-key { color: var(--ink); font-weight: 700; }
.msw-you { background: rgb(133,152,211); box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px var(--blue-deep); }


.matrix-num-wrap { overflow-x: auto; }





.matrix-num-wrap {
  background:
    linear-gradient(to right, var(--surface) 30%, rgba(255,255,255,0)) left center / 32px 100% no-repeat local,
    linear-gradient(to left, var(--surface) 30%, rgba(255,255,255,0)) right center / 32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(16,24,40,.26), rgba(16,24,40,0)) left center / 14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(16,24,40,.26), rgba(16,24,40,0)) right center / 14px 100% no-repeat scroll;
}
















.matrix-num { min-width: 420px; }
.matrix-num { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;
  font-size: var(--fs-label); }
.matrix-num thead th { font-size: var(--fs-micro); font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;





  color: var(--ink-soft); text-align: right; padding: 0 var(--s2) var(--s2); vertical-align: baseline;
  border-bottom: 1px solid var(--chart-grid); white-space: nowrap; }
.matrix-num thead th.mn-lvl { text-align: left; }
.matrix-num thead th.mn-strip-h { text-align: left; padding-left: var(--s4); }





























.matrix-num th.mn-lvl, .matrix-num td.mn-lvl { width: 108px; }



.matrix-num th.mn-num, .matrix-num td.mn-num { width: 64px; }













.matrix-num th.mn-pos, .matrix-num td.mn-pos { width: 100px; white-space: nowrap; }
.matrix-num td, .matrix-num tbody th { height: 42px; vertical-align: middle; border-bottom: 1px solid var(--chart-grid); }
.matrix-num tbody tr:last-child td { border-bottom: 0; }
.matrix-num td.mn-lvl, .matrix-num tbody th.mn-lvl { text-align: left; padding-right: var(--s2);
  color: var(--ink); font-weight: 600; background: transparent; }
.matrix-num .mn-lvl-txt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; font-size: var(--fs-label); font-weight: 600; line-height: 1.16; color: var(--ink); }


.metric-xl .matrix-num th.mn-lvl, .metric-xl .matrix-num td.mn-lvl { width: 148px; }
.matrix-num td.mn-num { text-align: right; padding: 0 var(--s2); font-variant-numeric: tabular-nums;
  font-size: var(--fs-caption); color: var(--ink-soft); white-space: nowrap; }




.matrix-num td.mn-pos { padding-left: 0; }







.matrix-num td.mn-pos.mid  { color: var(--pos-on-strong); }
.matrix-num td.mn-pos.good { color: var(--pos-above-strong); }
.matrix-num td.mn-pos.bad  { color: var(--pos-below-strong); }
.matrix-num td.mn-p50 { color: var(--ink); font-weight: 600; }
.matrix-num td.mn-youval b { color: var(--blue-deep); font-weight: 700; }
.matrix-num td.mn-youval.mid b  { color: var(--pos-on-strong); }
.matrix-num td.mn-youval.good b { color: var(--pos-above-strong); }
.matrix-num td.mn-youval.bad b  { color: var(--pos-below-strong); }



.cov-note { margin: 0 0 var(--s2); color: var(--ink-soft); }


.matrix-num td.mn-strip { padding: 0 var(--s3); }
.mn-track { position: relative; height: 20px; }













.mn-track::before { content: ""; position: absolute; left: calc(-1 * var(--s3)); right: calc(-1 * var(--s3)); top: 50%; height: 1px;
  transform: translateY(-50%); background: var(--chart-grid); }
.mn-iqr { position: absolute; top: 50%; transform: translateY(-50%); height: 9px; border-radius: var(--radius-2xs);
  background: var(--chart-band-mid); }




.mn-cap { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 2px; height: 13px;
  background: var(--chart-quartile); border-radius: 1px; }


.mn-median { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 2px; height: 19px;
  background: var(--chart-median); border-radius: 1px; box-shadow: 0 0 0 1px #fff; }


.mn-break { position: absolute; top: 50%; transform: translateY(-50%); font-size: 12px; line-height: 1;
  font-weight: 700; color: var(--chart-quartile); }



.mn-break.lo { left: calc(-1 * var(--s3)); } .mn-break.hi { right: calc(-1 * var(--s3)); }
.mn-you { position: absolute; top: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 11px; height: 11px;
  background: var(--you); border-radius: 2px; box-shadow: 0 0 0 1.5px #fff, 0 1px 2px rgba(0,0,0,.25); }





.mn-you.mid  { background: var(--pos-on-strong); }
.mn-you.good { background: var(--pos-above-strong); }
.mn-you.bad  { background: var(--pos-below-strong); }











.card-tools .iconbtn:focus-visible { outline: 2px solid var(--blue-deep); outline-offset: 2px; }
@media (pointer: coarse) { .card-tools .iconbtn { height: 44px; min-width: 44px; } }



.ins-cov { margin: 0 0 var(--s2); color: var(--ink-soft); }
.ins-lead { margin: 0 0 var(--s3); font-size: var(--fs-label); line-height: var(--lh-label);
  color: var(--ink); }
.ins-block { margin: 0 0 var(--s3); }
.ins-block:last-child { margin-bottom: 0; }
.ins-block > b { display: block; font-size: var(--fs-label); line-height: var(--lh-label);
  color: var(--ink); margin-bottom: 2px; }

.card-evidence { margin-top: var(--s3); }
.ev-list { margin: 0; }
.ev-item { margin: 0 0 var(--s3); }
.ev-item dt { font-weight: 650; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink); }
.ev-item dd { margin: 2px 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.ev-table { border-collapse: collapse; width: 100%; margin-top: var(--s2);
  font-size: var(--fs-caption); font-variant-numeric: tabular-nums; }
.ev-table caption { caption-side: top; text-align: left; padding-bottom: var(--s1);
  font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint); }
.ev-table th, .ev-table td { border-bottom: 1px solid var(--border); padding: 3px var(--s2) 3px 0;
  text-align: left; font-weight: 400; }
.ev-table thead th { font-weight: 650; color: var(--ink); }
.ev-table tbody th { font-weight: 600; color: var(--ink); }



.card-evidence.print-only { display: none; }








.matrix-shares { width: 100%; overflow-x: auto; }
.msh { width: 100%; border-collapse: collapse; min-width: 420px; }
.msh-cap { caption-side: top; text-align: left; padding-bottom: var(--s2);
  font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint); }
.msh thead th { font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-soft);
  text-align: left; font-weight: 700; padding: 0 var(--s2) var(--s2) 0;
  border-bottom: 1px solid var(--chart-grid); }
.msh th.msh-lvl, .msh td.msh-lvl { width: 108px; }
.msh th.msh-you, .msh td.msh-you { width: 88px; text-align: right; padding-left: var(--s2);
  font-size: var(--fs-caption); color: var(--blue-deep); }
.msh td, .msh tbody th { height: 34px; vertical-align: middle; border-bottom: 1px solid var(--chart-grid); }
.msh tbody tr:last-child td, .msh tbody tr:last-child th { border-bottom: 0; }
.msh tbody th.msh-lvl { text-align: left; font-weight: 600; font-size: var(--fs-label); color: var(--ink); }
.msh .msh-lvl-txt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; line-height: 1.16; }
.msh td.msh-cell { padding: 0 var(--s3) 0 0; }
.msh-track { position: relative; height: 22px; }


.msh-rule { position: absolute; left: 0; right: 30px; top: 0; bottom: 0; display: block; }
.msh-rule::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px;
  transform: translateY(-50%); background: var(--chart-grid); }
.msh-dot { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 9px; height: 9px;
  border-radius: 50%; background: var(--chart-cat); box-shadow: 0 0 0 1.5px var(--surface-card); }
.msh-dot.you { background: var(--you); width: 11px; height: 11px;
  box-shadow: 0 0 0 1.5px var(--surface-card), 0 0 0 3.5px var(--you-soft); }
.msh-val { position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint);
  font-variant-numeric: tabular-nums; }
.msh-supp { text-align: left; color: var(--ink-soft); }

.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; }








.mn-strip-sub { display: block; margin-top: 2px; font-size: var(--fs-micro);
  font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink-faint);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.matrix-num tbody tr:last-child th { border-bottom: 0; }

.mn-context { margin-top: var(--s2); color: var(--ink-soft); font-size: var(--fs-caption); }
.matrix-num.ctx-folded tr.mn-ctx-row { display: none; }


@media print {
  .mn-context { display: none; }
  .matrix-num.ctx-folded tr.mn-ctx-row { display: table-row; }
}

.mn-supp { text-align: left; color: var(--ink-soft); }



.pulse-report-doc .matrix-num.mn-noyou .mn-youhead, .pulse-report-doc .matrix-num.mn-noyou .mn-youval,
.pulse-report-doc .matrix-num.mn-noyou .mn-pos { display: none; }
.matrix-num-scale { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4);
  margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--chart-grid);
  font-size: var(--fs-label); color: var(--ink-soft); }
.matrix-num-scale .mleg { display: inline-flex; align-items: center; gap: var(--s2); white-space: nowrap; }
.mn-key-iqr { width: 22px; height: 9px; border-radius: var(--radius-2xs); background: var(--chart-band-mid); flex: 0 0 auto; }
.mn-key-median { width: 2px; height: 14px; background: var(--chart-median); flex: 0 0 auto; }
.mn-key-you { width: 11px; height: 11px; transform: rotate(45deg); background: var(--you); border-radius: 2px;
  box-shadow: 0 0 0 1.5px #fff; flex: 0 0 auto; }


.mn-key-you.mid  { background: var(--favourable-ink); }
.mn-key-you.good { background: var(--unfavourable-ink); }
.mn-key-you.bad  { background: var(--amber-deep); }
.mn-scale-range { margin-left: auto; }


.qsec-head { padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border);
  background: var(--surface-sunk); border-radius: var(--radius) var(--radius) 0 0; }
.key-chip { background: var(--blue); color: #fff; font-size: var(--fs-micro); padding: 1px var(--s2);
  border-radius: var(--radius-xs); vertical-align: 2px; text-transform: uppercase; letter-spacing: .04em; }





.unit-input { display: inline-flex; align-items: center; gap: var(--s1); border: 1px solid var(--border);
  border-radius: var(--radius); background: var(--surface); padding: 0 var(--s3); height: 44px;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.unit-input:hover { border-color: var(--ink-faint); }

.unit-input:focus-within { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }
.unit-input input { border: 0 !important; outline: none !important; background: transparent;
  width: 110px; height: 100%; text-align: right; font-size: var(--fs-body); padding: 0 !important; }
.unit-input.compact { height: 38px; }
.unit-input.compact input { width: 84px; }
.unit-input.disabled { opacity: var(--disabled-opacity); background: var(--surface-sunk); }
.unit-sym { color: var(--ink-soft); font-size: var(--fs-label); font-weight: 600; }
.band-select { height: 30px; min-width: 150px; border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--surface); padding: 0 var(--s2);
  font-size: var(--fs-label); }
.na-toggle { display: inline-flex; align-items: flex-start; gap: var(--s2); cursor: pointer;
  font-size: var(--fs-label); color: var(--ink-soft); white-space: normal; }
.na-toggle input { accent-color: var(--blue); }

.warn-panel { margin-top: var(--s2); padding: var(--s2) var(--s3);
  border: 1px solid color-mix(in srgb, var(--amber-bright) 45%, var(--surface));
  background: var(--neutral-perf-tint); border-radius: var(--radius-sm); max-width: 560px; text-align: left; }
.warn-panel .warn-text { margin-top: 0; }


.seg-toggle, .chart-switch { display: inline-flex; background: color-mix(in srgb, var(--ink) 6%, var(--surface));
  border-radius: var(--radius-sm); padding: 2px; gap: 2px; }
.seg-btn, .chart-switch-btn { padding: var(--s1) var(--s4); background: none; border: 0; cursor: pointer; border-radius: var(--radius-xs);
  font-size: var(--fs-label); font-weight: 600; color: var(--ink-soft);
  transition: background var(--dur-fast), color var(--dur-fast); }
.seg-btn.on, .chart-switch-btn.on { background: var(--blue); color: #fff; box-shadow: 0 1px 3px color-mix(in srgb, var(--blue) 35%, transparent); }
.seg-btn:not(.on):hover, .chart-switch-btn:not(.on):hover { color: var(--ink); }
.def-toggle { cursor: pointer; font-size: var(--fs-label); }
.def-box { background: var(--surface-sunk); border-radius: var(--radius-sm);
  padding: var(--s2) var(--s3); font-size: var(--fs-label); color: var(--ink-soft);
  margin-bottom: var(--s2); max-width: 620px; }









.mk-card { padding: var(--s6); margin-bottom: var(--s5); container: mk-card / inline-size; }


.hm-titles { align-self: stretch; display: flex; flex-direction: column; gap: var(--s1); min-width: 0; }
.hm-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2); }
.hm-title { margin: 0; font-family: var(--font-head); font-size: var(--fs-subhead); line-height: var(--lh-subhead); font-weight: 700; color: var(--ink); letter-spacing: -0.01em; }
.mk-cats-title { margin: 0; }
.mk-cats-top { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--s2) var(--s5); margin-bottom: var(--s3); }
.hm-status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); min-height: 24px; }
.hm-status > .scn-sum-chip.indicative { background: transparent; border: 1px solid var(--border); color: var(--ink-soft); font-weight: 500; height: 24px; }
.mk-grid { display: grid; grid-template-columns: 304px minmax(0, 1fr); gap: var(--s7); align-items: start; }
.mk-head { display: flex; flex-direction: column; align-items: center; gap: var(--s5); padding-right: var(--s6); border-right: 1px solid var(--border); min-width: 0; container: mk-head / inline-size; }

.mk-aim { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 24px; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); cursor: help; }
.mk-aim:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-2xs); }
.mk-aim:focus .tip, .mk-aim:focus-within .tip { display: block; }
.mk-aim .tip { left: 0; right: auto; transform: none; }

.mk-aimmark { display: inline-flex; align-items: center; justify-content: center; flex: none; border-radius: 50%; }
.mk-aimmark.aim-on_target { background: color-mix(in srgb, var(--favourable) 16%, var(--surface)); color: var(--favourable); }
.mk-aimmark.aim-behind { background: color-mix(in srgb, var(--amber-bright) 24%, var(--surface)); color: var(--amber-deep); }
.mk-aimmark.aim-ahead { background: color-mix(in srgb, var(--unfavourable) 14%, var(--surface)); color: var(--unfavourable); }

.mk-ring { position: relative; width: 220px; height: 220px; flex: none; border-radius: 50%; }
.mk-ring:focus-visible { outline: var(--focus-outline); outline-offset: 4px; }
.mk-ring svg { display: block; overflow: visible; }
.mk-arc { transition: stroke-width var(--dur-fast) var(--ease-out); cursor: default; }
.mk-centre { position: absolute; inset: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; pointer-events: none; }

.mk-verdict { font-family: var(--font-head); font-size: 24px; line-height: 28px; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); max-width: 150px; text-wrap: balance; }


.mk-verdict.long { font-size: 20px; line-height: 24px; max-width: 140px; }
.mk-arctip { position: absolute; transform: translate(-50%, -50%); background: var(--ink); color: #fff; border-radius: var(--radius-sm); padding: 6px 10px; font-size: var(--fs-caption); line-height: var(--lh-caption); white-space: nowrap; pointer-events: none; z-index: var(--z-popover); box-shadow: 0 8px 24px rgba(16,24,40,.22); }
.mk-arctip b { font-weight: 700; }

.mk-ring.sweep .mk-sweep { animation: mk-sweep 700ms var(--ease-out) both; }
@keyframes mk-sweep { from { stroke-dashoffset: var(--mk-c); } }
.mk-ring.sweep .mk-centre { animation: mk-words 300ms var(--ease-out) 450ms both; }
@keyframes mk-words { from { opacity: 0; transform: translateY(4px); } }


.mk-tally { align-self: stretch; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: calc(-1 * var(--s2)); font-variant-numeric: tabular-nums; }
.mk-tl { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; }
.mk-tl + .mk-tl { border-left: 1px solid var(--border); }
.mk-tl b { font-family: var(--font-head); font-size: var(--fs-subhead); line-height: var(--lh-subhead); font-weight: 700; color: var(--ink); }
.mk-tl-w { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); white-space: nowrap; }
.mk-tl-w .di-sw { width: 9px; height: 9px; }




.mk-bal { align-self: stretch; display: flex; flex-direction: column; gap: 6px; padding-bottom: var(--s4); border-bottom: 1px solid var(--border); }
.mk-bal-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.mk-bal-l { display: inline-flex; align-items: center; gap: 2px; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.mk-bal-l .mk-info .tip { left: 0; right: auto; transform: none; width: 260px; }
.mk-bal-i { font-family: var(--font-head); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 700; color: var(--ink); }
.mk-bal-i.t-below { color: var(--pos-below-strong); }
.mk-bal-i.t-on { color: var(--pos-on-strong); }
.mk-bal-i.t-above { color: var(--pos-above-strong); }
.mk-bal-bar { position: relative; height: 6px; margin: 6px 7px 2px; }
.mk-bal-z { position: absolute; top: 0; bottom: 0; box-shadow: 0 0 0 1px var(--surface); }
.mk-bal-z.z-below { background: color-mix(in srgb, var(--pos-below-gauge) 75%, var(--surface)); border-radius: 3px 0 0 3px; }
.mk-bal-z.z-slightly_below { background: color-mix(in srgb, var(--pos-below-gauge) 38%, var(--surface)); }
.mk-bal-z.z-at { background: color-mix(in srgb, var(--pos-on-gauge) 55%, var(--surface)); }
.mk-bal-z.z-slightly_above { background: color-mix(in srgb, var(--pos-above-gauge) 38%, var(--surface)); }
.mk-bal-z.z-above { background: color-mix(in srgb, var(--pos-above-gauge) 75%, var(--surface)); border-radius: 0 3px 3px 0; }
.mk-bal-mid { position: absolute; top: -2px; bottom: -2px; width: 2px; margin-left: -1px; border-radius: 1px; background: var(--ink-faint); }
.mk-bal-dot { position: absolute; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--ink-faint); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px color-mix(in srgb, var(--ink) 35%, transparent); }
.mk-bal-dot.d-below { background: var(--pos-below-fill); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--pos-below-strong); }
.mk-bal-dot.d-on { background: var(--pos-on-fill); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--pos-on-strong); }
.mk-bal-dot.d-above { background: var(--pos-above-fill); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--pos-above-strong); }
.mk-bal-scale { position: relative; height: 14px; margin: 0 7px; font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.mk-bal-scale span { position: absolute; top: 0; transform: translateX(-50%); }
.mk-bal-say { margin: 2px 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.mk-found { align-self: stretch; display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4); border: 1px solid color-mix(in srgb, var(--amber-bright) 35%, var(--border)); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--amber-bright) 8%, var(--surface)); cursor: pointer; font: inherit; color: var(--ink); text-align: left; transition: background var(--dur-fast) var(--ease-out); }
.mk-found:hover { background: color-mix(in srgb, var(--amber-bright) 16%, var(--surface)); }
.mk-found:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.mk-found-flag { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--amber-bright) 24%, var(--surface)); color: var(--amber-deep); }
.mk-found-t { flex: 1; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.mk-found-t b { font-family: var(--font-head); font-size: var(--fs-subhead); font-weight: 700; color: var(--ink); margin: 0 2px; }
.mk-found-cut { display: block; font-size: var(--fs-caption); color: var(--ink-faint); }
.mk-found > svg { color: var(--ink-faint); flex: none; }
.mk-ask { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: var(--fs-label); font-weight: 600; color: var(--blue-bright); min-height: 24px; }
.mk-ask:hover { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }


.mk-cats { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; container: mk-cats / inline-size; }
.mk-thead, .mk-row { --mk-cat-w: 188px; --mk-gut: 32px; display: grid; grid-template-columns: var(--mk-cat-w) minmax(0, 1fr) var(--mk-tail); column-gap: var(--mk-gut); align-items: center; }
.mk-thead { padding: 0 var(--s3) var(--s3); border-bottom: 1px solid var(--border); }

.mk-th { display: inline-flex; align-items: center; gap: 2px; min-width: 0; font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }
.mk-th-aim { justify-content: flex-start; }
.mk-th-l { white-space: nowrap; }
.mk-th-aim .mk-th-l { white-space: normal; }
.mk-info { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex: none; border-radius: 50%; color: var(--ink-faint); cursor: help; }
.mk-info:hover { color: var(--ink); background: var(--surface-sunk); }
.mk-info:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 0; }
.mk-info:focus .tip, .mk-info:focus-within .tip { display: block; }
.mk-info .tip { text-transform: none; letter-spacing: 0; font-weight: 400; color: #fff; }
.mk-th-aim .mk-info .tip { left: auto; right: 0; transform: none; }
.mk-sort { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; padding: 0 4px; margin: 0 -4px; border: 0; border-radius: var(--radius-2xs); background: none; cursor: pointer; color: var(--ink); font: inherit; font-weight: 700; letter-spacing: inherit; text-transform: inherit; }
.mk-sort:hover { background: var(--surface-sunk); }
.mk-sort:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 1px; }

.mk-key { display: inline-flex; flex-wrap: wrap; gap: 2px var(--s3); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.mk-key .di-kk { display: inline-flex; align-items: center; gap: 5px; }
.mk-rows { display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }
.mk-row { position: relative; min-height: 72px; padding: 0 var(--s3); border-bottom: 1px solid color-mix(in srgb, var(--border) 55%, transparent); cursor: pointer; border-radius: var(--radius-sm); }
.mk-row:last-child { border-bottom: 0; }
.mk-row:hover { background: color-mix(in srgb, var(--surface-sunk) 70%, transparent); }
.mk-row:hover .mk-go { color: var(--ink); transform: translateX(2px); }

.mk-row.lead { background: var(--surface-sunk); border-bottom-color: transparent; }
.mk-row.lead::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 2px; background: var(--ink); }
.mk-cat { display: flex; flex-direction: column; min-width: 0; }
.mk-open { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: var(--fs-nav); line-height: 18px; font-weight: 600; color: var(--ink); text-align: left; }
.mk-open:hover { text-decoration: underline; text-underline-offset: 3px; }

.mk-sub { display: flex; align-items: center; gap: var(--s2); min-height: 20px; margin-top: 2px; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.mk-lead { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 10px; background: var(--pos-below-tint); box-shadow: inset 0 0 0 1px var(--pos-below-edge); color: var(--pos-below-tintink); font-size: var(--fs-micro); font-weight: 650; white-space: nowrap; }


.mk-bar { min-width: 0; }
.mk-bar .di-bar { height: 22px; }
.mk-blobs { gap: 4px; border-radius: 11px; cursor: help; }
.mk-blobs:focus-visible { outline: var(--focus-outline); outline-offset: 3px; }
.mk-blobs .di-fill { min-width: 22px; border-radius: 11px; }
.mk-blobs .di-fill-below { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pos-below-gauge), var(--ink) 28%); }
.mk-blobs .di-fill-on { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pos-on-gauge), var(--ink) 28%); }
.mk-blobs .di-fill-above { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pos-above-gauge), var(--ink) 28%); }
.mk-blobs .mk-bartip { display: none; width: max-content; max-width: none; white-space: nowrap; }
.mk-bar .mk-blobs:hover .mk-bartip, .mk-bar .mk-blobs:focus .mk-bartip { display: flex; gap: var(--s3); }
.mk-bt { display: inline-flex; align-items: center; gap: 5px; }
.mk-bt .di-sw { width: 9px; height: 9px; }
.mk-bt b { font-weight: 700; }

.mk-pos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mk-posline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.mk-bar, .mk-th-bar { padding-right: var(--s2); }
.mk-word { font-size: var(--fs-nav); line-height: 20px; font-weight: 600; }

.mk-word.z-slight { font-weight: 500; }
.mk-word.v-below { color: var(--pos-below-text); }
.mk-word.v-at { color: var(--pos-on-text); }
.mk-word.v-above { color: var(--pos-above-text); }
.mk-none { font-size: var(--fs-caption); color: var(--ink-faint); }

.mk-word.ind { font-weight: 500; text-decoration: underline dashed var(--ink-faint); text-underline-offset: 4px; }
.mk-ind { font-size: var(--fs-caption); font-style: italic; color: var(--ink-soft); }
.mk-aimcell { display: flex; justify-content: flex-start; }

.mk-dash { display: block; width: 16px; height: 2px; border-radius: 1px; background: var(--ink-faint); }

.mk-go { display: flex; justify-content: flex-end; color: var(--ink-faint); transition: transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
@container mk-card (max-width: 900px) {
  .mk-grid { grid-template-columns: minmax(0, 1fr); }
  .mk-head { padding-right: 0; border-right: 0; padding-bottom: var(--s5); border-bottom: 1px solid var(--border); }
}



@container mk-cats (max-width: 830px) { .mk-thead, .mk-row { --mk-cat-w: 180px; --mk-gut: 24px; } }



@container mk-cats (max-width: 740px) {
  .mk-row { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "cat cat go" "bar bar bar" "pos aim aim"; row-gap: 10px; column-gap: var(--s3); padding-top: var(--s3); padding-bottom: var(--s3); }
  .mk-cat { grid-area: cat; } .mk-bar { grid-area: bar; } .mk-pos { grid-area: pos; } .mk-aimcell { grid-area: aim; justify-content: flex-end; } .mk-go { grid-area: go; }
  .mk-thead { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "pos aim"; }
  .mk-th-pos { grid-area: pos; } .mk-th-aim { grid-area: aim; } .mk-th-bar { grid-area: bar; }
  .mk-th-bar, .mk-th-cat, .mk-th-go { display: none; }
  .mk-bar, .mk-th-bar { padding-right: 0; }
  .mk-blobs .mk-bartip { left: 0; transform: none; }
}
@media (max-width: 760px) { .mk-card { padding: var(--s4); } }

.ov-hl-says { min-height: calc(var(--lh-label) * 2); }





.ov-headline { padding: var(--s6); margin-bottom: var(--s4); container: ov-card / inline-size; }


.ov-pk-side { display: inline-flex; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s3); }
.ov-pk-side > .scn-sum-chip.indicative { background: transparent; border: 1px solid var(--border); color: var(--ink-soft); font-weight: 500; height: 24px; }
.ov-pk-basis { position: relative; font-size: var(--fs-label); color: var(--ink-faint); cursor: help; white-space: nowrap; border-bottom: 1px dotted var(--ink-faint); }
.ov-pk-basis:focus .tip, .ov-pk-basis:focus-within .tip { display: block; }
.ov-pk-basis:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-2xs); }
.ov-pk-basis .tip { left: 0; right: auto; transform: none; width: 280px; }
.ov-pk-cta { margin-top: var(--s5); }
.ov-pk-cta .btn { gap: var(--s2); }


.ov-sum { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s5) 0 var(--s1); min-width: 0; }
.ov-sum-title { font-family: var(--font-head); font-size: var(--fs-display); line-height: 36px; font-weight: 700; color: var(--ink); letter-spacing: -0.02em; }
.ov-sum-body { margin: 0; font-size: var(--fs-body); line-height: 23px; color: var(--ink-soft); max-width: 640px; }
.ov-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); margin-top: var(--s5); }


.ov-hl { position: relative; display: flex; flex-direction: column; gap: var(--s1); min-width: 0; padding: var(--s4) var(--s5) var(--s4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); overflow: hidden; }
.ov-hl::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--border); }
.ov-hl.b-on::before { background: var(--pos-on-gauge); }
.ov-hl.b-below::before, .ov-hl.b-above::before { background: color-mix(in srgb, var(--amber-bright) 70%, var(--surface)); }


.ov-hl-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); }
.ov-hl-label { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.ov-hl-p { font-size: var(--fs-caption); line-height: var(--lh-micro); font-weight: 500; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.ov-hl-word { font-family: var(--font-head); font-size: var(--fs-section); line-height: 28px; font-weight: 700; color: var(--ink); letter-spacing: -0.02em; white-space: nowrap; }
.ov-hl-word.pos-on { color: var(--pos-on-text); }
.ov-hl-word.pos-below, .ov-hl-word.pos-above { color: var(--amber-deep); }
.ov-hl-word.none { font-family: var(--font); font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; color: var(--ink-faint); letter-spacing: 0; }
.ov-hl-says { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }




.ov-pk { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s7); align-items: start; }
.ov-pk-main { min-width: 0; }
.pl { display: flex; flex-direction: column; gap: 6px; padding-top: var(--s5); }
.pl-ax { font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 600; color: var(--ink-faint); white-space: nowrap; }
.pl-ax-x { align-self: flex-end; }
.pl-box { position: relative; width: 248px; height: 248px; border-radius: 14px; background: color-mix(in srgb, var(--surface-sunk) 70%, var(--surface)); border: 1px solid var(--border); overflow: hidden; }
.pl-box > * { position: absolute; }
.pl-cell { background: color-mix(in srgb, var(--amber-bright) 16%, transparent); }
.pl-edge.v { top: 0; bottom: 0; width: 0; border-left: 1px dashed color-mix(in srgb, var(--ink) 16%, var(--surface)); }
.pl-edge.h { left: 0; right: 0; height: 0; border-top: 1px dashed color-mix(in srgb, var(--ink) 16%, var(--surface)); }
.pl-band { background: color-mix(in srgb, var(--fill-good) 16%, var(--surface)); border-radius: 8px; }
.pl-mkt { left: 50%; top: 50%; width: 11px; height: 11px; transform: translate(-50%, -50%) rotate(45deg); background: var(--surface); border: 1.5px solid var(--ink-soft); box-sizing: border-box; }
.pl-mkt-name { left: 50%; top: 50%; transform: translate(-50%, 9px); font-size: var(--fs-micro); line-height: 16px; font-weight: 700; color: var(--ink-soft); white-space: nowrap; }
.pl-dot { width: 18px; height: 18px; transform: translate(-50%, -50%); border-radius: 50%; background: var(--navy); border: 3px solid var(--surface); box-sizing: border-box;
  box-shadow: 0 0 0 1.5px var(--navy), 0 4px 10px color-mix(in srgb, var(--navy) 25%, transparent); animation: pl-dot-in var(--dur-slow) var(--ease-out) both; }
.pl-you { transform: translate(-50%, calc(-100% - 14px)); background: var(--navy); color: var(--surface); font-size: var(--fs-micro); line-height: 16px; font-weight: 700; padding: 3px 9px; border-radius: var(--radius-pill); white-space: nowrap;
  animation: pl-dot-in var(--dur-slow) var(--ease-out) both; }
.pl-you.under { transform: translate(-50%, 14px); }
@keyframes pl-dot-in { from { left: 50%; top: 50%; opacity: 0; } }

@container ov-card (max-width: 960px) {
  .ov-pk { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  .pl { justify-self: start; }
}
@container ov-card (max-width: 640px) {
  .pl { justify-self: center; }
  .ov-tiles { grid-template-columns: minmax(0, 1fr); margin-top: var(--s1); }
  .ov-tiles { gap: var(--s3); }
}
@media (max-width: 760px) { .ov-headline { padding: var(--s4); } }
.donut-top { font-size: var(--fs-metric-lg); }
.donut-pos { font-size: var(--fs-label); font-weight: 600; color: var(--ink-soft); margin-top: 4px; }
.ov-top { display: grid; grid-template-columns: 356px minmax(0, 1fr); gap: var(--s4); }
.ov-wrap .grid2 { gap: var(--s4) !important; margin: var(--s4) 0 !important; }




@media (max-width: 1000px) { .ov-top { grid-template-columns: minmax(0, 1fr); } }


@media (max-width: 640px) {
  .signal-row { flex-wrap: wrap; row-gap: var(--s2); }
  .signal-row .signal-body { flex: 1 1 60%; }
  .signal-row .sig-actions { margin-left: auto; }
}





.ov-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s5); }



.ov-wrap > :not(.ov-controls):not(.ov-aurora) { transition: opacity var(--dur-base) var(--ease-out); }
.ov-wrap.is-refreshing > :not(.ov-controls):not(.ov-aurora) { opacity: .5; pointer-events: none; }


.mk-bar .di-fill { transition: flex-grow var(--dur-slow) var(--ease-out); }


.ov-controls .peerbar-lead, .ov-controls .conf-chip { font-size: var(--fs-caption); font-weight: 500; color: var(--ink-soft); }
.ov-ctx { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; min-width: 0; }



@media (max-width: 640px) {
  .ov-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--s3); row-gap: var(--s3); }
  .ov-ctx { display: contents; }
  .ov-ctx > .peerbar { grid-column: 1 / -1; min-width: 0; }
  .ov-ctx > :not(.peerbar) { justify-self: start; min-width: 0; }
}
.ov-ctx .peerbar { gap: var(--s2); }
.ov-ctx .conf-chip, .ov-ctx .peerbar-pill { height: 36px; box-sizing: border-box; }
.ov-lens { display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap; }


.ov-actions { display: flex; align-items: center; gap: var(--s3); }
.ov-actions .btn.small { height: 36px; box-sizing: border-box; }



.ov-seg { display: inline-flex; background: color-mix(in srgb, var(--ink) 6%, var(--surface));
  border: 1px solid var(--border); border-radius: 999px; padding: 3px; gap: 2px;
  box-shadow: inset 0 1px 3px color-mix(in srgb, var(--ink) 7%, transparent); }
.ov-seg-btn { font: inherit; font-size: var(--fs-label); font-weight: 600; line-height: 1.6; padding: var(--s1) var(--s3);
  border: none; cursor: pointer; border-radius: 999px; background: transparent; color: var(--ink-soft); transition: background var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }



.ov-seg-btn.on { background: var(--blue); color: #fff; box-shadow: 0 1px 3px color-mix(in srgb, var(--blue) 35%, transparent); }
.ov-seg-btn:not(.on):hover { color: var(--ink); }

.ov-seg-mini { padding: 2px; }
.ov-seg-mini .ov-seg-btn { font-size: var(--fs-micro); font-weight: 600; line-height: 1.4; padding: 2px var(--s2);
  min-height: 24px; display: inline-flex; align-items: center; }





.ov-top .ov-seg { background: none; border: 0; border-radius: 0; padding: 0; gap: var(--s4); box-shadow: none; }
.ov-top .ov-seg-btn { background: none; box-shadow: none; border-radius: 0; padding: 2px 0; min-height: 24px;
  color: var(--ink-faint); font-size: var(--fs-label); font-weight: 500; border-bottom: 1.5px solid transparent; }
.ov-top .ov-seg-btn.on { background: none; box-shadow: none; color: var(--ink); border-bottom-color: var(--ink); }
.ov-top .ov-seg-btn:not(.on):hover { color: var(--ink); }
.ov-controls .peerbar-pill:hover, .ov-controls .peerbar-pill.narrowed { border-color: var(--ink); background: var(--surface); }
.ov-controls .peerbar-pill.narrowed .peer-ctl { color: var(--ink); }
.ov-controls .peerbar-pill:focus-within { border-color: var(--ink); }


.cat-tile-practice .catp-bar { height: 9px; border-radius: var(--radius-2xs); background: var(--differs-tint); overflow: hidden; margin-top: var(--s2); }
.cat-tile-practice .catp-bar-fill { height: 100%; background: var(--differs); border-radius: var(--radius-2xs); transition: width var(--dur-fast) ease; }
.cat-tile-practice .cat-differ { margin-top: var(--s2); }

.arc-card { padding: var(--s5); display: flex; flex-direction: column;
  position: relative; }
.arc-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 1px; border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); pointer-events: none; }
.card-head { display: flex; align-items: center; gap: var(--s2); padding-bottom: var(--s3);
  border-bottom: 1px solid var(--border); margin-bottom: var(--s1); }
.card-head > svg { color: var(--ink-faint); flex: 0 0 auto; }


.card-head > span, .card-head > .card-head-title { font-family: var(--font-head); font-size: var(--fs-label); font-weight: 650; color: var(--ink); letter-spacing: .015em; }


.card-head > .card-head-title { margin: 0; font-family: var(--font-head); line-height: inherit; }


.arc-card .card-head > svg, .dom-instr .card-head > svg { color: var(--lumi-navy); }



.arc-stage { display: flex; justify-content: center; margin-top: var(--s2); }
.arc-svg { width: 100%; max-width: 334px; display: block; }

.donut { position: relative; margin: 0 auto; max-width: 100%; }
.donut-svg { display: block; width: 100%; height: 100%; }
.donut-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center; pointer-events: none; }
.donut-num { font-size: var(--fs-metric-lg); line-height: 1; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.donut-sub { font-size: var(--fs-caption); color: var(--ink-soft); margin-top: 3px; }




.donut-word { font-family: var(--font-head); font-size: var(--fs-metric); line-height: 30px; letter-spacing: -0.015em; font-weight: 700;
  letter-spacing: -0.015em; color: var(--ink); text-align: center; max-width: 100%; }





.cat-brief .donut-word-long { font-size: calc(var(--fs-metric) * 0.8); line-height: 26px; }
.donut-count { font-size: var(--fs-caption); font-weight: 500; letter-spacing: .01em; color: var(--ink-soft); margin-top: 2px; font-variant-numeric: tabular-nums; }


.arc-verdict { text-align: center; margin-top: var(--s2); }
.arc-word { font-family: var(--font-head); font-size: var(--fs-display); font-weight: 650; letter-spacing: -0.02em; line-height: 1.1; }
.arc-lean { font-size: var(--fs-label); font-weight: 500; color: var(--ink-soft); margin-top: var(--s1); letter-spacing: .005em; }



.arc-legend { display: flex; justify-content: center; gap: var(--s5); font-size: var(--fs-caption); color: var(--ink-soft);
  border-top: 1px solid var(--border); padding-top: var(--s3); margin-top: var(--s3); }
.arc-leg-fig { font-size: var(--fs-label); font-weight: 650; color: var(--ink); margin-right: 3px; }


.arc-caption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center;
  gap: var(--s2) var(--s3); font-size: var(--fs-caption); color: var(--ink-soft); margin-top: var(--s3); }
.arc-caption .arc-lean { margin-top: 0; }
.arc-caption-sep { color: var(--ink-faint); }






.arc-duo { display: flex; flex-direction: column; align-items: center; gap: var(--s3); padding: var(--s2) 0 0; min-width: 0; }
.arc-duo .arc-stage { margin-top: 0; flex: none; max-width: 100%; }
.arc-duo .arc-caption { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: center;
  gap: var(--s1) var(--s3); margin-top: 0; min-width: 0; }
.arc-duo .arc-caption .arc-lean { flex-basis: 100%; text-align: center; font-size: var(--fs-label); font-weight: 650; color: var(--ink); }

.arc-duo .arc-caption > span:not(.arc-lean):not(.arc-caption-sep) { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; font-size: var(--fs-micro); }
.arc-duo .arc-leg-fig { font-size: var(--fs-caption); }
.arc-duo .arc-caption-sep { display: none; }



.arc-marker { margin-top: var(--s5); }
.arc-markscale { height: 16px; }
.arc-markscale .z-below { border-radius: var(--radius-xs) 0 0 var(--radius-xs); }
.arc-markscale .z-above { border-radius: 0 var(--radius-xs) var(--radius-xs) 0; }.arc-marker .bp-scale-labels { margin-top: var(--s2); }
.arc-card .bp-scale-labels { font-size: var(--fs-micro); }











.ov-top:not(.ov-top-lens) > .arc-card .arc-duo { flex: 1 1 auto; justify-content: center; }
@media (min-width: 1001px) {
  .ov-top:not(.ov-top-lens) > .arc-card .arc-duo { gap: var(--s4); }
  .ov-top:not(.ov-top-lens) > .arc-card .donut { width: 232px !important; height: 232px !important; }
  .ov-top:not(.ov-top-lens) > .arc-card .donut-word { font-size: 32px; line-height: 34px; }
  .ov-top:not(.ov-top-lens) > .arc-card .donut-count { font-size: var(--fs-label); }
}
.card-head-side { margin-left: auto; display: inline-flex; align-items: center; gap: var(--s2);
  font-size: var(--fs-caption); }
.signals-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--s3); text-align: center; padding: var(--s5) 0; animation: riseIn var(--dur-base) ease; }
.signals-empty-ring { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; background: var(--surface-sunk); color: var(--ink-faint); }

.signals-empty.is-clear .signals-empty-ring { background: var(--favourable-tint); color: var(--favourable);
  animation: clear-tick 360ms var(--ease-out) both; }
@keyframes clear-tick { from { transform: scale(.7); opacity: 0; } 60% { transform: scale(1.06); opacity: 1; } }


.sig-unlock { max-width: 720px; margin-top: var(--s4); }
.sig-unlock-hero { text-align: center; padding: var(--s6) var(--s5); }
.sig-unlock-ring { width: 60px; height: 60px; border-radius: 50%; margin: 0 auto var(--s4);
  display: inline-flex; align-items: center; justify-content: center; color: var(--blue);
  background: var(--blue-tint); box-shadow: 0 0 0 7px color-mix(in srgb, var(--blue) 7%, transparent);
  animation: du-pulse 3s ease-in-out 2; }
@media (prefers-reduced-motion: reduce) { .sig-unlock-ring { animation: none; } }
.sig-unlock-prog { max-width: 360px; margin: var(--s4) auto 0; text-align: left; }
.sig-unlock-cta { margin-top: var(--s4); }
.sig-unlock-reassure { margin-top: var(--s2); color: var(--ink-faint); }
.sig-unlock-clocknote { margin: var(--s2) 0 0; color: var(--ink-faint); text-align: left; }
.sig-teaser-label { text-align: center; margin: var(--s5) 0 var(--s2); color: var(--ink-faint); }
.sig-teaser-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s3); }
@media (max-width: 640px) { .sig-teaser-grid { grid-template-columns: 1fr; } }
.sig-teaser { cursor: default; pointer-events: none; }
.sig-teaser:hover { transform: none; box-shadow: none; }
.sig-teaser .signal-roundel { transition: none; }
.sig-teaser .sig-name, .sig-teaser .sig-stand { filter: blur(3.5px); user-select: none; }
.sig-teaser-lock { flex: 0 0 auto; color: var(--ink-faint); opacity: .7; display: inline-flex; }
.signal-row { display: flex; align-items: center; gap: var(--s3); padding: var(--s4) var(--s3); border-radius: var(--radius-sm);
  cursor: pointer; transition: transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease; border: 1px solid transparent; }
.signal-row:hover { transform: translateY(-1px); box-shadow: var(--shadow-lift); }
.signal-row svg { flex: 0 0 auto; }

.signal-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }



button.sig-open { font: inherit; color: inherit; text-align: left; background: none;
  border: 0; padding: 0; cursor: pointer; }
.sig-lead { display: inline-flex; align-items: center; gap: var(--s2); }
.sig-lead:empty { display: none; }
.sig-worth { color: var(--ink-faint); margin-bottom: 1px; }



.sfold-prio { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro);
  font-weight: 700; color: var(--blue-deep); background: var(--blue-tint); border-radius: var(--radius-2xs);
  padding: 1px var(--s1); vertical-align: middle; position: relative; top: -1px; }
.sig-new-tag { font-size: var(--fs-micro); font-weight: 800; letter-spacing: .06em; color: var(--blue-deep);
  background: var(--blue-tint); padding: 1px var(--s1); border-radius: var(--radius-2xs);
  display: inline-block; vertical-align: middle; position: relative; top: -1px; }

.sig-name { font-size: var(--fs-label); font-weight: 650; color: var(--ink); line-height: 1.25; }
.sig-stand { font-size: var(--fs-caption); line-height: 1.3; }
.sig-tag { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  border-radius: 999px; padding: 3px var(--s2); flex: 0 0 auto; white-space: nowrap; background: var(--surface);
  align-self: center; }
.signal-row.lens-save    { background: var(--lens-save-tint); }
.signal-row.lens-save    svg, .signal-row.lens-save .sig-tag { color: var(--lens-save); }
.signal-row.lens-save    .sig-stand, .signal-row.lens-save .sig-name { color: var(--lens-save-ink); }
.signal-row.lens-attract { background: var(--lens-attract-tint); }
.signal-row.lens-attract svg, .signal-row.lens-attract .sig-tag { color: var(--lens-attract); }
.signal-row.lens-attract .sig-stand, .signal-row.lens-attract .sig-name { color: var(--lens-attract-ink); }
.signal-row.lens-retain  { background: var(--lens-retain-tint); }
.signal-row.lens-retain  svg, .signal-row.lens-retain .sig-tag { color: var(--lens-retain); }
.signal-row.lens-retain  .sig-stand, .signal-row.lens-retain .sig-name { color: var(--lens-retain-ink); }
.signal-row.lens-engage  { background: var(--lens-engage-tint); }
.signal-row.lens-engage  svg, .signal-row.lens-engage .sig-tag { color: var(--lens-engage); }
.signal-row.lens-engage  .sig-stand, .signal-row.lens-engage .sig-name { color: var(--lens-engage-ink); }

.signal-roundel.lens-save    svg { color: var(--lens-save); }
.signal-roundel.lens-attract svg { color: var(--lens-attract); }
.signal-roundel.lens-retain  svg { color: var(--lens-retain); }
.signal-roundel.lens-engage  svg { color: var(--lens-engage); }

.signal-row .sig-stand { opacity: .82; }









.sig-chips { display: flex; gap: var(--s2); flex-wrap: wrap; }
.sig-chip { display: inline-flex; align-items: center; gap: var(--s2); background: var(--surface);
  border: 1px solid var(--chrome-edge, var(--border)); border-radius: 999px; padding: var(--s2) var(--s3);
  font-size: var(--fs-label); font-weight: 600; font-family: inherit; color: var(--ink-soft);
  cursor: pointer; transition: all var(--dur-fast) ease; }
.sig-chip:hover { border-color: var(--ink-soft); color: var(--ink); }
.sig-chip:active:not(.is-zero) { transform: scale(.97); }
.sig-chip .sig-chip-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.sig-chip .n { color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.sig-chip.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.sig-chip.on .n { color: rgba(255,255,255,.72); }
.sig-chip.is-zero { opacity: var(--disabled-opacity); cursor: default; pointer-events: none; }



.sig-filters { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.sig-filters-lbl { font-size: var(--fs-label); color: var(--ink-soft); white-space: nowrap; }
.sig-fchip { display: inline-flex; align-items: center; gap: var(--s2); background: var(--surface); border: 1px dashed var(--border);
  border-radius: 999px; padding: var(--s2) var(--s3); font-size: var(--fs-label); font-family: inherit; color: var(--ink-soft); cursor: pointer; transition: border-color var(--dur-fast), background var(--dur-fast); }
.sig-fchip:hover { border-color: var(--ink-faint); }
.sig-fchip .n { color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.sig-fchip.on { background: color-mix(in srgb, var(--blue) 12%, var(--surface)); border: 1px solid var(--blue); color: var(--blue); }
.sig-fchip.on .n { color: var(--blue); }
.sig-fchip-risk svg { color: var(--lumi-coral); flex: none; }
.sig-fchip-risk.on { background: color-mix(in srgb, var(--lumi-coral) 16%, var(--surface)); border-color: var(--lumi-coral); color: var(--ink); }




.sig-tone-green     { background: var(--surface); border-left-color: var(--favourable); }
.sig-tone-amber     { background: var(--surface); border-left-color: color-mix(in srgb, var(--amber-bright) 65%, #3a2600); }
.sig-tone-red       { background: var(--surface); border-left-color: var(--unfavourable); }
.sig-tone-approach  { background: var(--surface); border-left-color: var(--differs); }
.sig-tone-neutral   { background: var(--surface); border-left-color: var(--navy); }
.sig-tone-green:hover     { background: var(--favourable-tint); }
.sig-tone-amber:hover     { background: color-mix(in srgb, var(--amber-bright) 9%, var(--surface)); }
.sig-tone-red:hover       { background: var(--unfavourable-tint); }
.sig-tone-approach:hover  { background: var(--differs-tint); }
.sig-tone-neutral:hover   { background: var(--blue-tint); }



.sig-prov { cursor: help; white-space: nowrap; border-bottom: 1px dotted color-mix(in srgb, currentColor 40%, transparent); }
.sig-prov-ok  { color: var(--ink-soft); }
.sig-prov-est { color: var(--neutral-perf); font-style: italic; }
.pos-tag { font-size: var(--fs-micro); font-weight: 650; letter-spacing: .015em; padding: var(--s1) var(--s3); border-radius: 999px; white-space: nowrap; flex: none; }



.pos-green    { background: var(--favourable-tint); color: var(--favourable-ink); }
.pos-amber    { background: var(--neutral-perf-tint); color: var(--neutral-perf); }
.pos-red      { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.pos-approach { background: var(--differs-tint); color: var(--differs); }
.pos-neutral  { background: var(--blue-tint); color: var(--navy); }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--s4); }


@media (min-width: 1400px) {
  .cat-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cat-tile { padding: var(--s3); }
}
.cat-tile .row.spread { flex-wrap: wrap; gap: var(--s1); }
.cat-tile { padding: var(--s4); cursor: pointer; transition: transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
  border-top: 3px solid var(--border); border-radius: 0 0 var(--radius) var(--radius);
  display: flex; flex-direction: column; gap: var(--s2); }
.cat-tile .row.spread { min-height: 26px; }




.cat-tile-align { margin-top: var(--s2); }
.cat-tile:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.cat-tile.v-below { border-top-color: var(--pos-below-fill); }
.cat-tile.v-above { border-top-color: var(--pos-above-fill); }
.cat-tile.v-above-over { border-top-color: var(--unfavourable-deep); }
.cat-tile.v-at { border-top-color: var(--pos-on-fill); }
.cat-tile.v-practice { border-top-color: var(--blue-tint-2); }
.cat-tile.v-neutral-mkt { border-top-color: var(--grey-neutral); }





.cat-tile.cat-tile-norate { border-top-color: color-mix(in srgb, var(--ink-faint) 38%, transparent);
  background: color-mix(in srgb, var(--surface-sunk) 55%, var(--surface)); }
.cat-tile-norate .cat-icon { background: color-mix(in srgb, var(--ink-faint) 16%, transparent); color: var(--ink-soft); }
.cat-tile-norate .cat-open { color: var(--ink-soft); }




.cat-tile-name { margin: 0; font-size: var(--fs-label); font-weight: 600; line-height: inherit; font-family: inherit; }
.cat-tile-name .cat-open { display: inline-flex; align-items: center; gap: var(--s2);
  font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }




.cat-axis { color: var(--ink-faint); margin-bottom: calc(2px - var(--s2)); line-height: var(--lh-micro); }



.cat-na { height: 26px; border-radius: var(--radius-2xs); border: 1.5px dashed var(--border);
  background: color-mix(in srgb, var(--surface-sunk) 50%, transparent);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-caption); font-weight: 700; letter-spacing: 0.06em; color: var(--ink-faint); }


.cat-na-note { margin-top: var(--s2); font-size: var(--fs-micro); line-height: var(--lh-micro);
  color: var(--ink-faint); }

.arc-word.arc-word-pending { font-size: var(--fs-subhead); font-weight: 600; line-height: 1.2; letter-spacing: 0;
  color: var(--ink-soft); max-width: 220px; margin: 0 auto; }
.arc-pending .arc-lean { color: var(--ink-faint); max-width: 250px; margin: var(--s1) auto 0; }
.arc-pending .arc-legend { justify-content: center; }
.arc-pending-note { color: var(--ink-soft); font-weight: 600; font-size: var(--fs-caption); }
.arc-pending-cta { margin: var(--s3) auto 0; display: block; }


.cat-pending-note { margin-top: var(--s2); color: var(--ink-faint); }
.cat-icon { width: 26px; height: 26px; border-radius: var(--radius-xs); background: var(--blue-tint);
  display: inline-flex; align-items: center; justify-content: center; color: var(--blue); flex: 0 0 auto; }
.tile-chip { font-size: var(--fs-micro); font-weight: 650; padding: 2px var(--s2); }
.chip-bad-over { background: var(--unfavourable-tint); color: var(--unfavourable-deep); }
.chip-practice { background: var(--differs-tint); color: var(--differs-ink); }


.chip-neutral-mkt { background: color-mix(in srgb, var(--grey-neutral) 18%, transparent); color: var(--grey-neutral-ink); }



.tile-chip.chip-indicative { box-shadow: inset 0 0 0 1px currentColor; background: transparent; }


.indic-flag { display: inline-flex; align-items: center; gap: 3px; position: relative;
  font-size: var(--fs-micro); font-weight: 500; color: var(--color-text-tertiary); white-space: nowrap; cursor: default; }
.indic-flag svg { color: var(--color-text-tertiary); flex: 0 0 auto; }
.indic-flag:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-2xs); }
.indic-tip { position: absolute; bottom: calc(100% + 6px); left: 0; width: 200px; white-space: normal;
  background: var(--ink); color: #fff; font-size: var(--fs-caption); font-weight: 400; line-height: 1.4; padding: var(--s2) var(--s2);
  border-radius: var(--radius-2xs); box-shadow: var(--shadow-pop); opacity: 0; visibility: hidden;
  transition: opacity var(--dur-fast) ease; z-index: var(--z-popover); pointer-events: none; }
.indic-flag:hover .indic-tip, .indic-flag:focus .indic-tip, .indic-flag:focus-within .indic-tip { opacity: 1; visibility: visible; }




.sample-caveat-line { flex-basis: 100%; display: flex; justify-content: flex-end; margin-top: 2px; }
.sample-caveat-line .indic-tip { left: auto; right: 0; }
@media (prefers-reduced-motion: reduce) { .indic-tip { transition: none; } }
.tile-band { position: relative; height: 7px; background: var(--surface-sunk); border-radius: var(--radius-2xs); margin: 0; }
.tile-fill { position: absolute; left: 0; height: 100%; background: var(--chart-cat); border-radius: var(--radius-2xs); }



.cat-pos { margin-top: var(--s2); }
.cat-bar { position: relative; }
.cat-bar-track { display: flex; height: 11px; border-radius: var(--radius-2xs); overflow: hidden;
  background: var(--surface-sunk); box-shadow: inset 0 0 0 1px rgba(20,24,40,.05); }

.cat-bar-seg { min-width: 0; transition: width var(--dur-fast) ease; }
.cat-bar-mark { position: absolute; top: -3px; height: 17px; width: 2px; background: var(--ink-soft);
  border-radius: 1px; transform: translateX(-1px); }
.cat-bar-mark i { position: absolute; top: -4px; left: 50%; transform: translateX(-50%);
  width: 7px; height: 7px; border-radius: 50%; background: var(--ink);
  border: 1.5px solid var(--surface); box-shadow: 0 1px 2px rgba(20,24,40,.25); }
.cat-pos-indic .cat-bar-track { opacity: 0.5; }
.cat-pos-indic .cat-bar-mark, .cat-pos-indic .cat-bar-mark i { opacity: 0.6; }
.cat-foot { margin-top: auto; display: flex; justify-content: space-between; gap: var(--s1);
  padding-top: var(--s2); border-top: 1px solid var(--border); }
.cat-foot span { font-size: var(--fs-micro); color: var(--ink-soft); white-space: nowrap; }
.cat-foot b { font-weight: 650; color: var(--ink); font-size: var(--fs-caption); margin-right: 3px;
  font-variant-numeric: tabular-nums; }


.cat-differ { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-micro);
  color: var(--ink-soft); margin-top: var(--s2); }
.cat-pos ~ .cat-differ, .cat-foot + .cat-differ { margin-top: var(--s2); }
.tile-band ~ .cat-differ { margin-top: auto; padding-top: var(--s2); }
.cat-differ .cat-differ-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--differs); flex: none; }
.cat-differ-txt { white-space: nowrap; }
.cat-differ b { font-weight: 650; color: var(--differs); font-variant-numeric: tabular-nums; margin-right: 2px; }



.ov-wrap { position: relative; }
.ov-aurora { position: absolute; inset: -28px -20px auto -20px; height: 420px; pointer-events: none; z-index: 0;
  background:
    radial-gradient(560px 300px at 12% 0%, color-mix(in srgb, var(--blue) 5.5%, transparent), transparent 70%),
    radial-gradient(640px 320px at 88% 8%, rgba(194, 84, 46, 0.04), transparent 70%),
    radial-gradient(420px 260px at 55% 0%, rgba(14, 138, 95, 0.035), transparent 70%);



  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 110px, #000 60%, transparent 100%),
                      linear-gradient(to right, transparent 0, #000 96px, #000 calc(100% - 96px), transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image: linear-gradient(to bottom, transparent 0, #000 110px, #000 60%, transparent 100%),
                      linear-gradient(to right, transparent 0, #000 96px, #000 calc(100% - 96px), transparent 100%);
          mask-composite: intersect;
  animation: aurora-drift 24s ease-in-out 2 alternate; }
@keyframes aurora-drift { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-14px, 7px, 0) scale(1.05); } }
.ov-wrap > :not(.ov-aurora) { position: relative; z-index: 1; }



.ov-top .card, .cat-tile, .grid2 .card { box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,.85); }
.card-spot { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0; opacity: 0;
  transition: opacity var(--dur-slow) ease;
  background: radial-gradient(440px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--blue) 8%, transparent), transparent 60%); }
.ov-top .card:hover .card-spot { opacity: 1; }
.arc-card > *:not(.card-spot), .dom-instr > *:not(.card-spot) { position: relative; z-index: 1; }
.n-pill { font-size: var(--fs-caption); color: var(--ink-soft); background: var(--surface-sunk);
  border-radius: var(--radius-sm); padding: 2px var(--s3); }
.signal-roundel { width: 30px; height: 30px; border-radius: 50%; background: var(--surface);
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  box-shadow: 0 1px 3px rgba(16,24,40,.12); transition: transform var(--dur-fast) ease; }
.signal-row:hover .signal-roundel { transform: scale(1.1) rotate(-5deg); }
.signal-row { box-shadow: inset 3px 0 0 transparent; }
.signal-row.lens-save    { box-shadow: inset 3px 0 0 var(--lens-save); }
.signal-row.lens-attract { box-shadow: inset 3px 0 0 var(--lens-attract); }
.signal-row.lens-retain  { box-shadow: inset 3px 0 0 var(--lens-retain); }
.signal-row.lens-engage  { box-shadow: inset 3px 0 0 var(--lens-engage); }
.signal-row.lens-save:hover    { box-shadow: inset 3px 0 0 var(--lens-save), 0 8px 22px rgba(14,138,95,.16); }
.signal-row.lens-attract:hover { box-shadow: inset 3px 0 0 var(--lens-attract), 0 8px 22px rgba(109,91,208,.18); }
.signal-row.lens-retain:hover  { box-shadow: inset 3px 0 0 var(--lens-retain), 0 8px 22px rgba(14,122,138,.16); }
.signal-row.lens-engage:hover  { box-shadow: inset 3px 0 0 var(--lens-engage), 0 8px 22px rgba(194,84,46,.16); }





.sig-risk { display: inline-flex; align-items: center; gap: 3px; margin-left: var(--s2); vertical-align: middle;
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .02em; color: var(--ink-soft);
  background: color-mix(in srgb, var(--lumi-coral) 20%, transparent); padding: 0 var(--s2); border-radius: var(--radius-2xs); }
.sig-risk svg { color: var(--lumi-coral); flex: none; }







.sig-onplan { display: inline-flex; align-items: center; gap: 3px; margin-left: var(--s2); vertical-align: middle;
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .02em; color: var(--ink-soft);
  background: color-mix(in srgb, var(--favourable) 18%, transparent); padding: 0 var(--s2); border-radius: var(--radius-2xs); }
.sig-onplan svg { color: var(--favourable); flex: none; }




.sig-lens-sec { margin-bottom: var(--s5); }
.sig-lens-head { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s2);
  padding-bottom: var(--s2); border-bottom: 1px solid var(--chart-grid); }
.sig-lens-head b { font-size: var(--fs-body); }
.sig-lens-head.lens-save svg    { color: var(--lens-save); }
.sig-lens-head.lens-attract svg { color: var(--lens-attract); }
.sig-lens-head.lens-retain svg  { color: var(--lens-retain); }
.sig-lens-head.lens-engage svg  { color: var(--lens-engage); }
.signals-page .signal-detail { font-size: var(--fs-body); }
.signals-page .signal-val { white-space: nowrap; flex: 0 0 auto; min-width: 0; }
.signals-page .signal-row { gap: var(--s3); }
.sig-kind { font-size: var(--fs-micro); font-weight: 650; text-transform: uppercase; letter-spacing: .04em;
  white-space: nowrap; opacity: .75; padding: 2px var(--s2); border-radius: var(--radius-xs);
  background: color-mix(in srgb, currentColor 12%, transparent); }




.category-page .back-link { display: inline-flex; align-items: center; gap: 3px; margin-bottom: 0;
  padding-right: var(--s3); border-right: 1px solid var(--border); align-self: center; }
.cat-glyph { width: 40px; height: 40px; border-radius: var(--radius); background: var(--blue-tint);
  color: var(--blue); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cat-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s4); margin: var(--s3) 0 var(--s5); }
@media (max-width: 760px) { .cat-hero { grid-template-columns: 1fr; } }
.cat-hero-cell { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s4) var(--s4) var(--s4); }
.cat-hero-label { color: var(--ink); margin-bottom: var(--s3); }


.cat-lens-of { font-weight: 400; text-transform: none; letter-spacing: 0;
  font-variant-numeric: tabular-nums; opacity: .8; }
.cat-band { position: relative; height: 9px; background: var(--surface-sunk); border-radius: var(--radius-2xs); }
.cat-band-mid { position: absolute; left: 25%; width: 50%; height: 100%; background: var(--chart-band-mid); border-radius: var(--radius-2xs); }
.cat-band-dot { position: absolute; top: -4px; width: 17px; height: 17px; border-radius: 50%;
  border: 2.5px solid var(--surface); box-shadow: 0 1px 3px rgba(16,24,40,.25); }
.cat-band-ends { display: flex; justify-content: space-between; margin-top: var(--s2);
  font-size: var(--fs-caption); color: var(--ink-faint); }
.cat-prev-wrap { display: flex; align-items: center; gap: var(--s4); margin-top: 2px; }
@media (max-width: 420px) { .cat-prev-wrap { flex-wrap: wrap; } }
.cat-donut { position: relative; width: 104px; height: 104px; flex: 0 0 auto; }
.cat-donut svg { width: 100%; height: 100%; display: block; }
.cat-donut-center { position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; line-height: 1; pointer-events: none; }
.cat-donut-center b { font-size: var(--fs-metric); letter-spacing: -0.02em; color: var(--blue-deep); }
.cat-donut-center span { font-size: var(--fs-caption); color: var(--ink-faint); margin-top: 3px; }



.cat-insights-bar { display: flex; justify-content: space-between; align-items: center; margin: var(--s4) 0 0; }
.cat-insights-toggle { color: var(--ink-soft); }
.cat-insights-strip { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap;
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s2) var(--s4); margin: var(--s4) 0 var(--s5); }
.cat-insights-strip .cat-insights-toggle { margin-left: auto; }





.cat-brief { padding: var(--s5) var(--s6); margin: var(--s5) 0 var(--s6);


  display: grid; grid-template-columns: minmax(0, clamp(240px, 33%, 340px)) minmax(0, 1fr);



  grid-template-areas: "stand head" "stand read"; grid-template-rows: auto 1fr;
  gap: 0 var(--s6); align-items: stretch; }
.cat-brief > .cat-brief-head { grid-area: head; }




.cat-brief > .cat-brief-read { grid-area: stand; align-self: center; }
.cat-brief > .cat-brief-body { grid-area: read; }
@media (max-width: 900px) {
  .cat-brief { grid-template-columns: 1fr; grid-template-areas: "head" "stand" "read";
    grid-template-rows: auto auto 1fr; }
}
.cat-brief-head { display: flex; align-items: center; justify-content: flex-end; gap: var(--s3); flex-wrap: wrap; }
.cat-brief-head .cat-insights-toggle { margin-left: 0; }






.cat-brief-read { display: block; padding: 0; }
.cat-brief-lab { font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: .04em; }
.cat-brief-read .chip { justify-self: start; min-width: 88px; justify-content: center; }
.cat-brief-ruler .bp-scale-wrap { margin: 0; }
.cat-brief-ruler .bp-scale { height: 22px; }
.cat-brief-ruler .z-below { border-radius: var(--radius-sm) 0 0 11px; }
.cat-brief-ruler .z-above { border-radius: 0 11px 11px 0; }




.cat-brief-ruler { margin-top: var(--s4); }
.cat-brief-ruler .bp-scale-labels { display: flex; }


.cat-brief-band { margin: var(--s2) 0 0; text-align: center; color: var(--ink-faint); }
.cat-brief-band b { color: var(--ink-soft); }

.cat-brief-basis { margin: var(--s3) 0 0; color: var(--ink-faint); cursor: help; text-align: center; }
.cat-brief-basis b { color: var(--ink-soft); font-weight: 650; }



.cat-stand-duo { margin: 0; padding-top: 0; }
.cat-stand-aim { display: inline-flex; margin-top: var(--s2); }
.cat-brief-minibar { display: flex; gap: 3px; height: 22px; }
.cat-brief-minibar span { border-radius: var(--radius-2xs); print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.cat-brief-minibar span:first-child { border-radius: var(--radius-sm) 5px 5px 11px; }
.cat-brief-minibar span:last-child { border-radius: var(--radius-2xs) 11px 11px 5px; }
.cat-brief-counts { font-size: var(--fs-caption); color: var(--ink-soft); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--s1); justify-self: end; }
.cat-brief-span { grid-column: 2 / -1; }
.cat-brief-body { display: grid; grid-template-columns: minmax(0, 1fr);
  gap: var(--s5); padding-top: var(--s4); }
.cat-brief-collab { font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--s3); }
.cat-brief-collab-sub { font-weight: 400; text-transform: none; letter-spacing: 0; }
.cat-driver { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left;
  background: none; border: none; border-bottom: 1px solid var(--border); border-radius: 0;
  padding: var(--s3) 2px; cursor: pointer; font-size: var(--fs-body); color: var(--ink); }
.cat-driver:hover .cat-driver-lab { color: var(--blue); text-decoration: underline; }
.cat-driver svg { flex: none; color: var(--amber-deep); }
.cat-driver:last-of-type { border-bottom: none; }
.cat-driver-lab { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cat-driver-p { margin-left: auto; font-size: var(--fs-caption); font-weight: 600; color: var(--amber-deep); }
.cat-driver-p i { font-style: normal; font-weight: 400; color: var(--ink-faint); }
.cat-driver-p.strength, .cat-driver:has(.cat-driver-p.strength) svg { color: var(--green-deep); }
.cat-brief-drivers .cat-flag-link { display: inline-flex; margin-top: var(--s2); }


.cat-brief-narrwrap .cat-summary-body { display: flex; flex-direction: column; gap: var(--s3); }
.cat-brief-narrwrap .cat-sum-text { font-size: var(--fs-label); line-height: 1.65; margin: 0; color: var(--ink); }
.cat-brief-narrwrap .cat-sum-prov { border-top: 1px solid var(--border); padding-top: var(--s2);
  margin-top: var(--s1); font-size: var(--fs-caption); color: var(--ink-faint); }



.cat-filterbar { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap;
  padding: var(--s3) var(--s4); margin-bottom: var(--s4);
  background: color-mix(in srgb, var(--ink) 3%, transparent); border-radius: var(--radius); }
.cat-fgroup { display: inline-flex; align-items: center; gap: var(--s2); }
.cat-fgroup + .cat-fgroup { border-left: 1px solid var(--border); padding-left: var(--s3); }
.cat-fgroup-lab { font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint);
  text-transform: uppercase; letter-spacing: .04em; }
.cat-fbar-right { margin-left: auto; display: inline-flex; align-items: center; gap: var(--s2); }



.prac-bucket { padding: var(--s3) var(--s5) var(--s4); margin-top: var(--s4); cursor: pointer;
  transition: box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }
.prac-bucket:hover { box-shadow: var(--shadow-lift); transform: translateY(-1px); }


.prac-bucket-top { display: flex; flex-direction: column; gap: 2px; }
.prac-bucket-head { font-size: var(--fs-body); color: var(--ink); }
.prac-bucket-head b { font-weight: 700; }
.prac-bucket-split { display: inline-flex; gap: var(--s2); align-items: baseline; flex-wrap: wrap;
  font-size: var(--fs-caption); color: var(--ink-soft); margin-left: var(--s3); }
.prac-bucket-split b { color: var(--ink); }
.prac-dot { color: var(--ink-faint); }
.prac-bucket-basis { color: var(--ink-faint); }
.prac-bucket-rare { border-top: 1px solid var(--border); margin-top: var(--s4); padding-top: var(--s4);
  display: flex; flex-direction: column; gap: var(--s3); }
.prac-rare-row { display: flex; gap: var(--s3); align-items: baseline; flex-wrap: wrap; }
.prac-rare-lab { font-size: var(--fs-caption); font-weight: 600; color: var(--ink); }
.prac-bucket-foot { margin-top: var(--s3); color: var(--ink-faint); }




.prac-tag { font-size: var(--fs-micro); }
.prac-tag-band { color: var(--ink-soft); padding-right: var(--s2); margin-right: var(--s1);
  border-right: 1px solid var(--border); }




.pack-print-head, .pack-print-foot { display: none; }
@media print {
  .print-analysis .peerbar, .print-analysis .cat-filterbar, .print-analysis .cat-insights-toggle, .print-analysis .cat-flag-link, .print-analysis .bp-export,
  .print-analysis .back-link, .print-analysis .iconbtn, .print-analysis .brandbar,
  .print-analysis .sidebar, .print-analysis .cat-clear, .print-analysis .cat-fbar-right,
  .print-analysis .cat-sum-caveat { display: none !important; }
  .print-analysis .content { max-width: none; padding: 0; }
  .print-analysis .category-page { padding-bottom: 28pt; }
  .print-analysis .pack-print-head { display: flex; align-items: center; gap: 12pt;
    border-bottom: 1.5pt solid var(--ink); padding-bottom: 8pt; margin-bottom: 14pt; }
  .print-analysis .pack-print-brand { font-weight: 700; font-size: 14pt; letter-spacing: -0.02em; }
  .print-analysis .pack-print-title b { display: block; font-size: 12pt; }
  .print-analysis .pack-print-title span { font-size: 9pt; color: var(--ink-soft); }
  .print-analysis .pack-print-foot { display: flex; position: fixed; bottom: 0; left: 0; right: 0;
    justify-content: space-between; font-size: 8pt; color: var(--ink-soft);
    border-top: 1px solid var(--border); padding-top: 4pt; background: #fff; }
    .print-analysis .cat-brief, .print-analysis .bench-card { box-shadow: none !important;
    break-inside: avoid; page-break-inside: avoid; }
  .print-analysis .bench-grid { gap: 10pt; }
  .print-analysis .cat-brief-minibar span, .print-analysis .di-pill { print-color-adjust: exact;
    -webkit-print-color-adjust: exact; }
  .print-analysis .cat-driver { cursor: default; }
  .print-nocharts .bench-chart, .print-nocharts .bench-chart-full { display: none !important; }
}
.cat-pos-card { display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--s2); padding: var(--s4); }
.cat-pos-card .cat-hero-label { align-self: flex-start; }





.cat-card-chips { width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--s2); margin-top: auto; padding-top: var(--s3); border-top: 1px solid var(--border); }

.cat-filter-cue { display: inline-flex; align-items: center; gap: var(--s1); color: var(--ink-faint);
  margin-right: 2px; }
.cat-filter-cue svg { color: var(--ink-soft); }
.cat-pos-card .donut { margin-top: var(--s2); }
.cat-card-cap { font-size: var(--fs-caption); font-weight: 500; color: var(--ink-soft); letter-spacing: .005em; }
.cat-card-counts { display: flex; gap: var(--s4); flex-wrap: wrap; justify-content: center;
  font-size: var(--fs-caption); color: var(--ink-soft); margin-top: 1px; }
.cat-card-counts b { color: var(--ink); font-weight: 700; }
.cat-card-align { margin-top: var(--s1); }
.cat-prev-legend { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; }
.cat-leg-row { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption); color: var(--ink-soft); }
.cat-leg-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.cat-leg-row b { color: var(--ink); font-variant-numeric: tabular-nums; min-width: 11px; text-align: right; }
.cat-section { margin-bottom: var(--s5); }
.cat-sec-head { display: flex; align-items: center; gap: var(--s2); margin-bottom: var(--s3);
  background: var(--blue-tint); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s3) var(--s4); flex-wrap: wrap; }
.cat-sec-head > b { font-size: var(--fs-body); }
.cat-sec-ico { width: 24px; height: 24px; border-radius: var(--radius-xs); background: var(--blue-tint); color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cat-sec-link { margin-left: auto; font-weight: 600; }



.cat-flag-link { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
  font-weight: 650; font-size: var(--fs-caption); color: var(--blue-deep);
  background: var(--blue-tint); border: 1px solid color-mix(in srgb, var(--blue) 22%, transparent);
  padding: 4px var(--s3); border-radius: 999px; }
.cat-flag-link:hover { background: color-mix(in srgb, var(--blue) 15%, var(--surface)); }
.cat-flag-link svg { color: var(--blue); transition: transform var(--dur-fast) ease; }
.cat-flag-link:hover svg { transform: translateX(1px); }

.cat-type { margin-left: auto; }




.cat-masthead { align-items: center; }
.cat-masthead-ctl { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.cat-masthead .peerbar { margin: 0; padding: 0; border: none; background: none; }
.cat-masthead .peerbar-lead { display: none; }


@keyframes cat-bar-grow { from { transform: scaleX(0); } }
@keyframes cat-pill-pop { from { opacity: 0; transform: translate(-50%, -50%) scale(.6); } }
.cat-brief-minibar span { transform-origin: left; animation: cat-bar-grow var(--dur-slow) cubic-bezier(.2,.7,.3,1) backwards; }
.cat-brief-minibar span:nth-child(2) { animation-delay: 70ms; }
.cat-brief-minibar span:nth-child(3) { animation-delay: 140ms; }
.cat-brief-ruler .bp-scale-pill { animation: cat-pill-pop var(--dur-slow) var(--dur-base) cubic-bezier(.2,.7,.3,1) backwards; }
@media (prefers-reduced-motion: reduce) {
  .cat-brief-minibar span, .cat-brief-ruler .bp-scale-pill { animation: none; }
}




.cat-head-ctl { margin-left: auto; display: flex; align-items: center; gap: var(--s2); }
.cat-clear { background: none; border: none; color: var(--ink-soft); font-size: var(--fs-caption);
  font-weight: 600; cursor: pointer; padding: 2px 4px; white-space: nowrap; }
.cat-clear:hover { color: var(--blue); }


.cat-ai-consent { display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  flex-wrap: wrap; background: var(--blue-tint); border: 1px solid color-mix(in srgb, var(--blue) 18%, transparent);
  border-radius: var(--radius); padding: var(--s3) var(--s4); margin-bottom: var(--s5); }
.cat-ai-consent > span { display: inline-flex; align-items: center; gap: var(--s2); color: var(--ink-soft);
  font-size: var(--fs-caption); }
.cat-ai-consent svg { color: var(--blue); flex: none; }



.cat-summary { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s4) var(--s5); margin-bottom: var(--s5); }
.cat-sum-ico { background: var(--blue-tint); color: var(--blue); }
.cat-ai-tag { margin-left: auto; font-size: var(--fs-micro); color: var(--ink-faint); font-weight: 600;
  letter-spacing: .01em; white-space: nowrap; }
.cat-summary-body { margin-top: var(--s3); display: flex; flex-direction: column; gap: var(--s3); }
.cat-sum-part { }
.cat-sum-label { color: var(--ink-soft); margin-bottom: 2px; }
.cat-sum-text { margin: 0; line-height: 1.5; color: var(--ink); }
.cat-sum-prov { font-size: var(--fs-caption); color: var(--ink-soft); padding-top: var(--s2);
  border-top: 1px solid var(--border); }
.cat-sum-caveat { font-size: var(--fs-micro); color: var(--ink-faint); font-style: italic; }
.cat-sum-skel { height: 2.6em; border-radius: var(--radius-2xs); background: linear-gradient(90deg,
  var(--surface-sunk) 25%, color-mix(in srgb, var(--surface-sunk) 60%, var(--surface)) 50%,
  var(--surface-sunk) 75%); background-size: 200% 100%; animation: cat-sum-shimmer 1.3s infinite; }
@keyframes cat-sum-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }


.comp-ring { display: block; }
.comp-ring-pct { font: 700 var(--fs-label)/1 var(--font-head); font-variant-numeric: tabular-nums; }
.comp-ring-arc { transition: stroke-dashoffset 700ms cubic-bezier(.3,.8,.3,1); }


.data-hero-ringwrap { position: relative; flex: 0 0 auto; display: grid; place-items: center;
  padding: var(--s2); border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--blue) 9%, transparent), transparent 72%); }
.dh-num { font-size: var(--fs-metric-xl); font-weight: 750; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums; line-height: 1; }
.dh-den { font-size: var(--fs-section); font-weight: 500; color: var(--text-muted);
  font-variant-numeric: tabular-nums; }
.dh-lbl { display: block; margin-top: 2px; font-size: var(--fs-caption); color: var(--text-muted);
  letter-spacing: .02em; }
.data-row-count b { font-weight: 700; font-variant-numeric: tabular-nums; }
.data-row-count .drc-den { color: var(--text-muted); font-weight: 500;
  font-variant-numeric: tabular-nums; font-size: var(--fs-caption); }
.dh-stats { display: flex; gap: var(--s5); margin-top: var(--s4); padding-top: var(--s3);
  border-top: 1px solid color-mix(in srgb, var(--blue) 8%, var(--border-neutral)); flex-wrap: wrap; }
.dh-stat b { font-size: var(--fs-subhead); font-weight: 700; font-variant-numeric: tabular-nums;
  margin-right: 5px; }
.dh-stat span { font-size: var(--fs-caption); color: var(--text-muted); }

.dh-stat.key b { color: var(--blue); }
.dh-stat.key span { color: var(--blue-deep); }
.data-hero { position: relative; }

.data-review-link { display: inline-flex; align-items: center; gap: var(--s1);
  padding: 5px var(--s3); border: 1px solid color-mix(in srgb, var(--blue) 26%, var(--border-neutral));
  border-radius: var(--radius-pill); font-weight: 600; font-size: var(--fs-label);
  color: var(--blue); margin-top: var(--s3);
  transition: background var(--dur-fast) ease, border-color var(--dur-fast) ease; }
.data-review-link:hover { background: var(--surface-row); border-color: var(--blue);
  text-decoration: none; }
.data-hero { display: flex; align-items: center; gap: var(--s5); padding: var(--s5);
  background: linear-gradient(120deg, var(--surface-row) -10%, var(--surface-card) 45%); }
@media (max-width: 560px) { .data-hero { flex-direction: column; align-items: flex-start; gap: var(--s4); } }
.data-hero .comp-ring { flex: 0 0 auto; }
.data-hero-body { flex: 1; min-width: 0; }
.data-hero-fig { font-size: var(--fs-subhead); margin-bottom: var(--s3); }
.data-hero-fig b { font-size: var(--fs-section); letter-spacing: -.01em; }
.data-hero-payoff { font-size: var(--fs-label); line-height: 1.55; color: var(--ink-soft);
  max-width: 560px; margin: 0 auto var(--s3); }
.data-hero-payoff b, .data-hero-reassure b { color: var(--ink); }
.data-hero-reassure { margin-top: var(--s3); color: var(--text-muted); }
.data-unlock { display: flex; gap: var(--s3); align-items: flex-start; font-size: var(--fs-label);
  color: var(--ink-soft); line-height: 1.5; }
.data-unlock b { color: var(--ink); }
.du-ico { width: 26px; height: 26px; border-radius: var(--radius-xs); flex: 0 0 auto; display: inline-flex;
  align-items: center; justify-content: center; background: var(--blue-tint); color: var(--blue); }
.data-unlock.good .du-ico { background: color-mix(in srgb, var(--colour-primary) 10%, transparent); color: var(--colour-primary); }


.data-unlock.warn .du-ico { background: color-mix(in srgb, var(--amber-bright) 18%, transparent); color: var(--amber-deep, var(--amber-bright)); }
.data-unlock.warn { border-color: color-mix(in srgb, var(--amber-bright) 40%, var(--border-neutral)); }
.data-unlock .btn { margin-left: var(--s2); vertical-align: middle; }
.data-access { display: flex; gap: var(--s2); align-items: flex-start; margin-top: var(--s3); padding: var(--s2) var(--s3);
  border-radius: var(--radius-sm); background: var(--surface-sunk); border: 1px dashed var(--border-neutral);
  font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.5; }
.data-access > svg { flex: 0 0 auto; margin-top: 2px; color: var(--text-muted); }
.data-access.warn { background: color-mix(in srgb, var(--amber-bright) 10%, var(--surface-sunk));
  border-color: color-mix(in srgb, var(--amber-bright) 35%, var(--border-neutral)); color: var(--ink); }





.data-rows { padding: 0; overflow: hidden;
  box-shadow: 0 1px 2px rgba(32, 40, 76, .04), 0 6px 24px -18px rgba(32, 40, 76, .28); }
.data-row { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4);
  cursor: pointer; position: relative;
  transition: background var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.data-row + .data-row::before {
  content: ""; position: absolute; top: 0; left: var(--s4); right: var(--s4); height: 1px;
  background: var(--border-neutral); }
.data-row:hover, .data-row:focus-visible { background: color-mix(in srgb, var(--blue) 4%, var(--surface-card));
  box-shadow: inset 3px 0 0 var(--blue-bright); }
.data-row:focus-visible { outline: var(--focus-outline); outline-offset: -2px; }
.data-row .cat-icon { flex: 0 0 auto; }
.data-row-name { flex: 0 0 220px; font-weight: 650; font-size: var(--fs-label); }





.data-row-next { flex: 0 0 118px; display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .01em;
  padding: 3px var(--s2); border-radius: var(--radius-pill); white-space: nowrap;





  background: color-mix(in srgb, var(--blue) 8%, var(--surface-card)); color: var(--blue-deep);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--blue) 17%, var(--surface-card)); }
.data-row-next.is-blank { background: none; box-shadow: none; }
.data-row.is-next { background: color-mix(in srgb, var(--blue) 3%, var(--surface-card));
  box-shadow: inset 3px 0 0 var(--blue); }
.data-row.is-next:hover { background: color-mix(in srgb, var(--blue) 6%, var(--surface-card)); }
@media (max-width: 760px) {

  .data-row-next { display: none; }
  .data-row-next:not(.is-blank) { display: inline-flex; flex: 0 0 auto; }
}














.data-bar {
  --chip: 10%;
  --chip-mask: repeating-linear-gradient(90deg,
    #000 0, #000 calc(var(--chip) - 3px),
    transparent calc(var(--chip) - 3px), transparent var(--chip)); }
.data-bar::before { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit;
  background: color-mix(in srgb, var(--colour-primary) 9%, var(--surface-sunk));
  -webkit-mask-image: var(--chip-mask); mask-image: var(--chip-mask); }

.data-bar::after { content: ""; position: absolute; z-index: 3; top: -3px; bottom: -3px;
  left: var(--gate, 80%); width: 2px; border-radius: var(--radius-pill);
  background: var(--surface-card);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--colour-primary) 45%, transparent); }
.data-bar.done::after { opacity: 0; }
.data-bar { position: relative; flex: 1 1 auto; height: 10px; min-width: 80px; border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--blue) 6%, var(--surface-sunk));
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--blue) 14%, transparent),
              inset 0 0 0 1px color-mix(in srgb, var(--blue) 7%, transparent);
  overflow: hidden; position: relative; }

.data-bar-fill { display: block; height: 100%; border-radius: var(--radius-pill); position: relative;
  min-width: 10px;
  
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30),
              0 0 0 1px color-mix(in srgb, var(--blue) 22%, transparent);


  transition: width 700ms cubic-bezier(0.33, 1, 0.68, 1);
  transform-origin: left center;
  animation: data-fill-in 800ms cubic-bezier(0.33, 1, 0.68, 1) both;
  animation-delay: calc(var(--dur-fast) + 45ms * var(--i, 0)); 
  z-index: 1;
  background: linear-gradient(90deg, var(--blue-deep) 0%, var(--blue) 45%,
    var(--blue-bright) 78%, var(--lumi-coral) 100%);





  background-size: calc(10000% / var(--pct, 100)) 100%;
  -webkit-mask-image: var(--chip-mask); mask-image: var(--chip-mask);}
@keyframes data-fill-in { from { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) { .data-bar-fill { animation: none; } }
.data-row:hover .data-row-go { transform: translateX(2px); color: var(--blue); }
.data-row .data-row-go { transition: transform var(--dur-fast) ease, color var(--dur-fast) ease; }
.data-row .data-q-flag.ok { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--colour-primary) 22%, transparent); }
.data-row .cat-icon { width: 30px; height: 30px; border-radius: var(--radius-xs);
  background: linear-gradient(135deg, var(--surface-row), color-mix(in srgb, var(--surface-row) 35%, var(--surface-card)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--blue) 14%, transparent),
              0 1px 2px color-mix(in srgb, var(--blue) 8%, transparent); }
.data-bar-fill { color: var(--blue-bright); }
.data-bar-fill.done { color: var(--colour-primary); }

.data-bar-fill[style*="width: 100%"]::after { display: none; }
.data-bar-fill.done {
  background: var(--colour-primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30),
              0 0 0 1px color-mix(in srgb, var(--colour-primary) 22%, transparent); }
.data-row-count { flex: 0 0 72px; text-align: right; font-variant-numeric: tabular-nums; }
.data-row .data-q-flag { flex: 0 0 auto; min-width: 96px; justify-content: center; }
.data-row-go { flex: 0 0 auto; color: var(--text-muted); display: inline-flex; }
@media (max-width: 720px) {
  .data-row { flex-wrap: wrap; row-gap: var(--s2); }
  .data-row-name { flex: 1 1 auto; }
  .data-bar { flex: 1 1 100%; order: 5; }
  .data-row-count { flex: 0 0 auto; }
}
.data-todo { color: var(--blue); font-weight: 600; }
.data-qlist { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--border-neutral);
  border-radius: var(--radius); overflow: hidden; }
.data-q { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4);
  border-top: 1px solid var(--border-neutral); background: var(--surface-card); }
.data-q:first-child { border-top: 0; }
.data-q.unans { background: color-mix(in srgb, var(--blue) 3%, var(--surface-card)); }
.data-q-main { flex: 1; min-width: 0; }
.data-q-title { font-weight: 600; font-size: var(--fs-label); display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.data-q-req { font-size: var(--fs-micro); font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  color: var(--blue); background: var(--surface-row); padding: 1px var(--s2); border-radius: var(--radius-2xs); }
.data-q-val { font-size: var(--fs-label); color: var(--ink); font-weight: 600; margin-top: 3px; }









.data-q-rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: var(--s1) var(--s3); margin-top: var(--s1); font-size: var(--fs-caption); color: var(--ink); }
.data-q-rows > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) { .data-q-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.data-q-none { font-size: var(--fs-caption); color: var(--text-muted); margin-top: 3px; }
.data-q-flag { display: inline-flex; align-items: center; gap: var(--s1); flex: 0 0 auto; font-size: var(--fs-micro);
  font-weight: 650; padding: 3px var(--s2); border-radius: var(--radius-pill); }
.data-q-flag.ok { background: color-mix(in srgb, var(--colour-primary) 10%, transparent); color: var(--colour-primary); }
.data-q-flag.todo { background: var(--surface-row); color: var(--blue); }



.data-q-flag.refresh { background: color-mix(in srgb, var(--amber-bright) 14%, transparent);
  color: color-mix(in srgb, var(--amber-bright) 42%, var(--ink)); }
.data-q-updated { font-size: var(--fs-caption); color: var(--text-muted); margin-top: var(--s1); }
.data-q-updated a { font-weight: 600; }
.dh-stat.refresh b { color: color-mix(in srgb, var(--amber-bright) 55%, var(--ink)); }
.yourdata .back-link { display: inline-flex; align-items: center; gap: 3px; margin-bottom: var(--s1); }
.data-done { display: inline-flex; align-items: center; gap: var(--s1); font-size: var(--fs-caption);
  font-weight: 650; color: var(--favourable); }



.dompage-modebar { align-items: center; margin: 0 0 var(--s4); gap: var(--s3); flex-wrap: wrap; }
.dompage-modebar .sig-tabs { margin: 0; border-bottom: 0; }


.dq-area-lead { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-muted); margin: var(--s4) 0 var(--s2); }
.dq-area-lead:first-child { margin-top: 0; }
.dq-list { display: flex; flex-direction: column; gap: var(--s2); }
.dq-row { border: 1px solid var(--border-neutral); border-radius: var(--radius-sm); background: var(--surface-card);
  overflow: hidden; transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.dq-row.unans { background: color-mix(in srgb, var(--blue) 3%, var(--surface-card)); }
.dq-row.open { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.dq-row.dq-flash { animation: dq-flash 1.6s ease both; }
@keyframes dq-flash {
  0%, 25% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 38%, transparent), inset 0 0 0 1px var(--blue); }
  100% { box-shadow: inset 0 0 0 1px var(--blue); } }
.dq-row.err { border-color: var(--color-text-danger); }

.dq-list { gap: var(--s3); }
.dq-row { border-left: 3px solid color-mix(in srgb, var(--colour-primary) 45%, var(--border-neutral)); }
.dq-row.unans { border-left-color: color-mix(in srgb, var(--blue) 45%, var(--border-neutral)); }


.yourdata .seg-btn { padding: var(--s3) var(--s5); font-weight: 500; }
.yourdata .radio-row, .yourdata .check-row {
  align-items:center; padding:var(--s2) var(--s3); border:0;
  border-radius:var(--radius-sm); margin-bottom:2px; font-size:var(--fs-caption);
  min-height:32px; background:var(--surface-row);
}
.yourdata .radio-row:last-child, .yourdata .check-row:last-child { margin-bottom: 0; }
.yourdata .radio-row:hover, .yourdata .check-row:hover { background: var(--surface-row); }
.yourdata .radio-row:has(input:checked), .yourdata .check-row:has(input:checked) {
  background: var(--surface-row); border-color: var(--blue); }
.dq-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s3);
  padding: var(--s3) var(--s4); cursor: pointer; }
.dq-summary:hover { background: color-mix(in srgb, var(--ink) 3%, transparent); }
.dq-row.open .dq-summary:hover { background: transparent; }
.dq-sum-left { min-width: 0; flex: 1; }
.dq-sum-right { display: flex; align-items: center; gap: var(--s3); flex: 0 0 auto; }
.dq-chev { color: var(--text-muted); display: inline-flex; }
.dq-add { color: var(--blue); font-weight: 600; }
.dq-editor { border-top: 1px solid var(--border-neutral); padding: 2px var(--s4) var(--s2); background: var(--surface-sunk); }
.dq-editor .q-block { padding: var(--s3) 0; border-bottom: 0; }


.unsub-bar { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: calc(var(--z-popover) - 1);
  display: flex; align-items: center; gap: var(--s3); max-width: calc(100vw - 32px);
  padding: var(--s2) var(--s2) var(--s2) var(--s4); background: var(--surface); border: 1px solid var(--border);
  border-radius: 999px; box-shadow: var(--shadow-pop);
  animation: unsub-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }
@keyframes unsub-rise { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }
.unsub-bar-msg { font-size: var(--fs-label); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.unsub-dot { display: inline-flex; vertical-align: -2px; margin-right: var(--s1); color: var(--favourable); }
.unsub-x { border: 0; background: transparent; color: var(--ink-faint); cursor: pointer;
  padding: var(--s2); border-radius: 50%; display: inline-flex; }
.unsub-x:hover { background: var(--surface-sunk); color: var(--ink); }


body.has-unsub-bar .content { padding-bottom: 88px; }
@media (max-width: 600px) { .unsub-bar { left: 16px; right: 16px; transform: none; }
  @keyframes unsub-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  .unsub-bar-msg { white-space: normal; } }
.data-hero.fresh { background: var(--surface-card); }
.data-start { margin-top: var(--s3); align-self: flex-start; }
.data-hero-fig b { line-height: 1.2; }



.data-hero { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }
.data-row { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both;
  animation-delay: calc(50ms + 40ms * var(--i, 0)); }
.data-row .cat-icon { transition: transform var(--dur-fast) ease, background var(--dur-fast) ease; }
.data-row:hover .cat-icon { transform: scale(1.12) rotate(-5deg); background: var(--surface-panel); }
.data-unlock.good .du-ico { animation: du-pulse 2.6s ease-in-out 600ms 2; }
@keyframes du-pulse { 0%,100% { transform: none; } 50% { transform: scale(1.12); box-shadow: 0 0 0 5px color-mix(in srgb, var(--favourable) 14%, transparent); } }
.data-q { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }
.data-q:nth-child(1){animation-delay:30ms}.data-q:nth-child(2){animation-delay:70ms}.data-q:nth-child(3){animation-delay:110ms}.data-q:nth-child(4){animation-delay:150ms}.data-q:nth-child(5){animation-delay:190ms}
.data-q-flag.ok { transition: transform var(--dur-fast) ease; }
.data-q:hover .data-q-flag.ok { transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) {
  .data-hero, .data-domain, .data-q, .data-unlock.good .du-ico { animation: none !important; }
  .data-domain { transition: none !important; }
}
.cat-sec-head .cat-type + * { margin-left: 0; }


.sig-tabs { display: flex; flex-wrap: wrap; gap: 2px; margin: var(--s4) 0 var(--s5);
  border-bottom: 1px solid var(--chart-grid); }
.sig-tab { display: inline-flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s3); border: 0;
  background: none; color: var(--ink-soft); font-size: var(--fs-label); font-weight: 600; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color var(--dur-fast) ease, border-bottom-color var(--dur-fast) ease; }
.sig-tab:hover { color: var(--ink); }
.sig-tab:not(.on):hover { border-bottom-color: var(--ink-faint); }
.sig-tab .num { font-variant-numeric: tabular-nums; font-size: var(--fs-caption); padding: 1px var(--s2);
  border-radius: var(--radius-xs); background: var(--surface-sunk); color: var(--ink-soft); }
.sig-tab.on { color: var(--blue); border-bottom-color: var(--blue); }
.sig-tab.on .num { background: var(--blue-tint); color: var(--blue-deep); }
.sig-actions { display: inline-flex; align-items: center; gap: 2px; flex: 0 0 auto; }







.signal-row .sig-act { width: 28px; height: 28px; display: inline-flex; align-items: center;
  justify-content: center; border: 0; background: none; color: var(--ink-soft); opacity: .28;
  border-radius: var(--radius-sm); cursor: pointer; transition: all var(--dur-fast); }
.signal-row .sig-act svg { color: inherit; }
.signal-row:hover .sig-act, .signal-row:focus-within .sig-act { opacity: .92; }
.signal-row .sig-act:hover { background: rgba(15,23,42,.08); color: var(--ink); opacity: 1; }
.signal-row .sig-act.on { color: var(--blue); opacity: 1; }

.sig-snooze-wrap { position: relative; display: inline-flex; }
.sig-snooze-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: var(--z-popover); min-width: 148px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-pop); padding: var(--s2); display: flex; flex-direction: column; gap: 2px; }
.sig-snooze-lbl { font-size: var(--fs-caption); color: var(--ink-soft); padding: 2px var(--s2) 4px; }
.sig-snooze-opt { text-align: left; border: 0; background: none; font: inherit; font-size: var(--fs-label);
  padding: var(--s2); border-radius: var(--radius-xs); cursor: pointer; color: var(--ink); }
.sig-snooze-opt:hover { background: var(--blue-tint); color: var(--blue-deep); }
.sig-snoozed-until { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro);
  font-weight: 600; color: var(--ink-soft); background: var(--surface-sunk); padding: 1px var(--s2);
  border-radius: 999px; vertical-align: 1px; }
.signal-row .sig-act.on svg { fill: color-mix(in srgb, var(--blue) 20%, transparent); }
.signal-row.is-dismissed { opacity: .62; }
.signal-row.is-dismissed:hover { opacity: 1; }
.sig-register-foot { display: flex; gap: var(--s3); align-items: flex-start; margin-top: var(--s6);
  padding: var(--s3) var(--s4); border: 1px dashed var(--border); border-radius: var(--radius);
  background: var(--surface-sunk); color: var(--ink-soft); font-size: var(--fs-caption); line-height: 1.5; }
.sig-register-foot > svg { flex: 0 0 auto; margin-top: 2px; color: var(--ink-faint); }
.sig-register-foot a { font-weight: 600; }
.cat-tile:hover { box-shadow: var(--shadow-lift), inset 0 1px 0 rgba(255,255,255,.85); }
.cat-tile::after { content: "→"; position: absolute; right: 12px; bottom: 8px; font-weight: 650;
  color: var(--blue-bright); opacity: 0; transform: translateX(-4px);
  transition: opacity var(--dur-fast) ease, transform var(--dur-fast) ease; }
.cat-tile { position: relative; }
.cat-tile:hover::after { opacity: 1; transform: none; }



@keyframes ov-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes dot-pop { 0% { transform: scale(0); } 70% { transform: scale(1.25); } 100% { transform: scale(1); } }
.arc-card, .ov-top .card { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }


.cat-tile { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }

.grid2 .card { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; animation-delay: 380ms; }
.arc-verdict, .arc-caption, .ov-after { animation: ov-rise var(--dur-slow) ease-out both; animation-delay: 320ms; }








.ov-top .arc-verdict, .ov-top .arc-caption { animation: none; }
.ov-top .di-rows-anim { animation: none; }
.ov-top .di-pill { animation: none; }
.ov-top .sg-dot { animation: none; }
.ov-top .sg-halo { animation: none; display: none; }
.signal-go { opacity: 0; transform: translateX(-4px); transition: opacity var(--dur-fast) ease, transform var(--dur-fast) ease;
  font-weight: 650; flex: 0 0 auto; }
.signal-row:hover .signal-go { opacity: 1; transform: none; }
.signal-row:hover { transform: translateY(-1px) scale(1.004); }



.cat-tile .cat-icon { transition: transform var(--dur-fast) ease, background var(--dur-fast) ease; }
.cat-tile:hover .cat-icon { transform: scale(1.12) rotate(-4deg); background: var(--blue-tint-2); }


.cat-tile { box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,.85);
  transition: transform var(--dur-base) ease-out, box-shadow var(--dur-base) ease-out, border-top-width var(--dur-base) ease-out; }
.cat-tile:hover { transform: translateY(-2px); border-top-width: 4px;



  box-shadow: var(--shadow-lift), inset 0 1px 0 rgba(255,255,255,.85); }


.category-page .page-head { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; }
.cat-hero-cell { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both;
  transition: box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease, border-color var(--dur-fast) ease; }
.cat-hero-cell:nth-child(1) { animation-delay: 70ms; }
.cat-hero-cell:nth-child(2) { animation-delay: 150ms; }
.cat-hero-cell:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift);
  border-color: color-mix(in srgb, var(--blue) 28%, var(--border)); }
.category-page .cat-section { animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; animation-delay: 240ms; }

.cat-band-dot { animation: dot-pop 540ms cubic-bezier(.34,1.4,.5,1) both; animation-delay: 320ms; }
.cat-donut { animation: donut-in 620ms cubic-bezier(.2,.7,.3,1) both; animation-delay: 240ms; transform-origin: center; }
@keyframes donut-in { from { transform: rotate(-16deg) scale(.86); opacity: 0; } to { transform: none; opacity: 1; } }
.cat-donut-center b { display: inline-block; animation: prev-pop 560ms cubic-bezier(.34,1.5,.4,1) both; animation-delay: 420ms; }
@keyframes prev-pop { 0% { transform: scale(.45); opacity: 0; } 60% { transform: scale(1.08); } 100% { transform: none; opacity: 1; } }

.category-page .back-link svg { transition: transform var(--dur-fast) ease; }
.category-page .back-link:hover svg { transform: translateX(-3px); }
.cat-glyph { transition: transform var(--dur-fast) ease, background var(--dur-fast) ease; }
.category-page .titleblock:hover .cat-glyph { transform: scale(1.08) rotate(-4deg); background: var(--blue-tint-2); }
.cat-sec-link, .cat-sec-link svg { transition: transform var(--dur-fast) ease; }
.cat-sec-link:hover { transform: translateX(2px); }
.cat-allclear { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s5);
  padding: var(--s3) var(--s4); border-radius: var(--radius); font-size: var(--fs-caption); color: var(--ink-soft);
  background: linear-gradient(100deg, color-mix(in srgb, var(--favourable) 9%, var(--surface-sunk)), var(--surface-sunk));
  border: 1px solid color-mix(in srgb, var(--favourable) 22%, var(--border));
  animation: ov-rise var(--dur-slow) cubic-bezier(.2,.7,.3,1) both; animation-delay: 240ms; }
.cat-allclear-ring { width: 26px; height: 26px; border-radius: 50%; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--favourable) 16%, transparent); color: var(--favourable); }

@media (prefers-reduced-motion: reduce) {
  .arc-card, .ov-top .card, .signal-row, .cat-tile, .grid2 .card, .arc-verdict, .ov-after,
  .signal-go, .ov-aurora,
  .category-page .page-head, .cat-hero-cell, .category-page .cat-section, .cat-band-dot, .cat-donut, .cat-donut-center b, .cat-allclear {
    animation: none !important; transition: none !important; opacity: 1; stroke-dashoffset: 0; transform: none !important; }
  .ov-aurora { transform: none !important; }
}



.pulse-chip { background: var(--blue); color: #fff; }


.pulse-stepper { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; margin: var(--s3) 0 0; }
.pulse-step { display: flex; align-items: center; gap: var(--s2); font-size: var(--fs-label);
  color: var(--color-text-tertiary); padding: 3px var(--s3); border-radius: var(--radius); background: var(--surface-sunk); }
.pulse-step-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border); }
.pulse-step.done { color: var(--blue-deep); }
.pulse-step.done .pulse-step-dot { background: var(--blue-bright); }
.pulse-step.current { background: var(--blue-tint); color: var(--blue-deep); font-weight: 600; }
.pulse-step.current .pulse-step-dot { background: var(--blue); }
.pulse-step.warn { background: var(--surface-sunk); color: var(--ink-soft); }
.pulse-step.warn .pulse-step-dot { background: var(--ink-faint); }
.pulse-libpick { max-height: 240px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-xs); margin-top: var(--s2); }
.pulse-librow { display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  width: 100%; text-align: left; padding: var(--s2) var(--s3); border: 0;
  border-bottom: 1px solid var(--border); background: var(--surface); cursor: pointer; font: inherit; }
.pulse-librow:last-child { border-bottom: 0; }
.pulse-librow:hover:not(:disabled) { background: var(--blue-tint); }
.pulse-librow:disabled { opacity: 0.5; cursor: default; }
.pulse-lib-tags { flex: none; display: flex; gap: 4px; align-items: center; }
.pulse-lib-tag { font-size: var(--fs-micro); font-weight: 600; line-height: 1; white-space: nowrap;
  padding: 3px var(--s2); border-radius: 999px; background: var(--surface-sunk); color: var(--ink-soft); }
.pulse-lib-tag.added { background: var(--blue-tint); color: var(--blue-deep); }
.pulse-lib-tag.locked { display: inline-flex; align-items: center; gap: 3px; background: var(--blue-tint); color: var(--blue-deep); }

.pulse-preview { border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--surface-sunk); margin-top: var(--s3); overflow: hidden; }
.pulse-preview-head { padding: var(--s3) var(--s4); border-bottom: 1px solid var(--border); background: var(--surface); }
.pulse-preview-body { padding: var(--s4) var(--s4) var(--s5); }
.pulse-preview-title { margin: 0; font-size: var(--fs-card-title); }
.pulse-preview-q { padding: var(--s4) 0; border-bottom: 1px solid var(--border); }
.pulse-preview-q:last-child { border-bottom: 0; }
.pulse-preview-label { font-weight: 600; margin-bottom: var(--s2); }
.pulse-preview-num { color: var(--ink-soft); font-weight: 700; margin-right: 4px; }
.pulse-preview-reused { margin: 0; font-style: italic; }




.pulse-survey { padding: 0; overflow: hidden; }
.pulse-survey-head { padding: var(--s4) var(--s4) var(--s4); background: var(--blue-tint);
  border-bottom: 1px solid var(--border); }
.pulse-progress { height: 8px; border-radius: 999px; background: var(--surface);
  box-shadow: inset 0 0 0 1px var(--border); overflow: hidden; margin-top: var(--s3); }
.pulse-progress-fill { height: 100%; border-radius: 999px; min-width: 0;
  background: linear-gradient(90deg, var(--blue), var(--blue-bright));
  transition: width var(--dur-slow) cubic-bezier(.4, 0, .2, 1); }


.pulse-print-progress { margin: var(--s3) 0 var(--s2); padding: var(--s3) var(--s4); border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--surface-sunk); }
.pulse-print-progress .pulse-progress { margin-top: var(--s2); background: var(--surface); }
.pulse-print-progress .pulse-progress-fill { transition: width var(--dur-base, 240ms) ease; }
.pulse-survey-body { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s4); }
.pulse-q { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface);
  padding: var(--s4); transition: border-color var(--dur-base), background var(--dur-base), box-shadow var(--dur-base); }
.pulse-q:hover { box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06); }
.pulse-q.answered { border-color: color-mix(in srgb, var(--blue) 40%, var(--border));
  background: color-mix(in srgb, var(--blue-tint) 45%, var(--surface)); }
.pulse-q-head { display: flex; align-items: flex-start; gap: var(--s3); margin-bottom: var(--s2); }
.pulse-q-num { flex: none; width: 28px; height: 28px; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; font-size: var(--fs-label); font-weight: 700;
  background: var(--surface-sunk); color: var(--blue-deep); box-shadow: inset 0 0 0 1px var(--border);
  transition: background var(--dur-base), color var(--dur-base), box-shadow var(--dur-base); }
.pulse-q.answered .pulse-q-num { background: var(--blue); color: #fff; box-shadow: none; }
.pulse-q-text { font-weight: 600; font-size: var(--fs-body); line-height: 1.4; padding-top: 3px; }
.pulse-q-hint { font-size: var(--fs-caption); color: var(--ink-soft);
  margin: 0 0 var(--s3) calc(28px + var(--s3)); }
.pulse-q-input { margin-left: calc(28px + var(--s3)); }
.pulse-survey-foot { padding: var(--s4); border-top: 1px solid var(--border); background: var(--surface-sunk); }

.pulse-survey .seg-toggle { border-radius: var(--radius); }
.pulse-survey .seg-btn { padding: var(--s3) var(--s5); font-weight: 500; }
.pulse-survey .radio-row, .pulse-survey .check-row { align-items: center; padding: var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: var(--s2);
  transition: background var(--dur-fast), border-color var(--dur-fast); }
.pulse-survey .radio-row:last-child, .pulse-survey .check-row:last-child { margin-bottom: 0; }
.pulse-survey .radio-row:hover, .pulse-survey .check-row:hover { background: var(--blue-tint); }
.pulse-survey .radio-row:has(input:checked), .pulse-survey .check-row:has(input:checked) {
  background: var(--blue-tint); border-color: var(--blue); }

.admin-status-approved { background: var(--favourable-tint); color: var(--favourable-ink); }
.admin-status-in_review, .admin-status-changes_requested { background: var(--neutral-perf-tint); color: var(--neutral-perf); }
.admin-status-paid { background: var(--blue); color: #fff; }
.admin-status-building { background: var(--blue-tint); color: var(--blue-deep); }


.pulse-form label { display: block; font-size: var(--fs-label); font-weight: 600;
  color: var(--ink); margin: var(--s4) 0 var(--s1); }




.pulse-form .ctl { width: 100%; max-width: none; font-size: var(--fs-body);
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface);
  color: var(--ink); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }


.pulse-form input.ctl, .pulse-form select.ctl { --ctl-h: 44px; --ctl-pad: var(--s4); --ctl-radius: var(--radius); }
.pulse-form textarea.ctl { min-height: 76px; padding: var(--s3) var(--s4); line-height: 1.5; }
.pulse-form .ctl::placeholder { color: var(--ink-faint); }
.pulse-form .ctl:hover { border-color: var(--ink-faint); }

.pulse-form .ctl:focus, .pulse-form .ctl:focus-visible { outline: var(--focus-outline);
  outline-offset: 0; border-color: var(--blue); }
.pulse-form h2 { margin-top: 0; }

.pulse-form .qsec-head { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  background: var(--blue-tint); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s3) var(--s4); }
.pulse-count-chip { display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 var(--s2); border-radius: 999px; background: var(--blue);
  color: #fff; font-size: var(--fs-caption); font-weight: 700; }

.pulse-newq { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface);
  padding: var(--s4) var(--s5) var(--s5); margin: var(--s4) 0 0; }
.pulse-newq-head { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s1); }
.pulse-newq-head b { flex: 1; }
.pulse-newq-tools { display: flex; gap: 2px; }
.pulse-keep-row { display: flex; align-items: center; gap: var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-sunk);
  padding: var(--s3) var(--s4); margin: var(--s4) 0 0; }
.pulse-keep-main { flex: 1; min-width: 0; }
.pulse-keep-text { font-weight: 600; font-size: var(--fs-body); }
.pulse-keep-meta { display: flex; align-items: center; gap: var(--s2); margin-top: 3px; }

.pulse-add-tile { width: 100%; margin-top: var(--s4); padding: var(--s4); cursor: pointer;
  border: 1.5px dashed var(--blue-soft); border-radius: var(--radius); background: var(--blue-tint);
  color: var(--blue-deep); font-weight: 600; font-size: var(--fs-body);
  transition: background var(--dur-fast), border-color var(--dur-fast); }
.pulse-add-tile:hover { background: var(--blue-tint); border-color: var(--blue); }




.pulse-page {
  --pulse-accent: #5B4BE0;
  --pulse-accent-bright: #6D5EF5;
  --pulse-accent-deep: #3A2CA0;
  --pulse-accent-tint: #EEEBFC;
  --pulse-accent-tint-2: #DAD3F8;
  --pulse-accent-ink: #FFFFFF;
  --pulse-glow: 0 10px 30px -18px color-mix(in srgb, var(--pulse-accent) 55%, transparent);
}

.pulse-empty { padding: var(--s5); margin-top: var(--s4); overflow: hidden; position: relative;
  background: radial-gradient(100% 140% at 100% 0%, var(--pulse-accent-tint) 0%, transparent 55%), var(--surface); }
.pulse-empty-head { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.pulse-empty-ico { flex: none; width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center;
  justify-content: center; color: var(--pulse-accent); background: var(--pulse-accent-tint);
  box-shadow: inset 0 0 0 1px var(--pulse-accent-tint-2); }
.pulse-empty-txt { flex: 1 1 280px; min-width: 0; }
.pulse-empty-txt .section-title { margin: 0 0 2px; }
.pulse-empty-txt .caption { margin: 0; }
.pulse-steps { list-style: none; margin: var(--s5) 0 0; padding: var(--s5) 0 0; border-top: 1px solid var(--border);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); }
.pulse-steps li { display: flex; gap: var(--s3); align-items: flex-start; }
.pulse-steps li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-top: 5px; }
.pulse-step-n { flex: none; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; font: 700 var(--fs-label)/1 var(--font-head); color: var(--pulse-accent-deep); background: var(--pulse-accent-tint); }
.pulse-steps b { font-size: var(--fs-label); color: var(--ink); }
.pulse-steps li > div > span { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.45; }
@media (max-width: 720px) { .pulse-steps { grid-template-columns: 1fr; } }
.pulse-lead { max-width: 60ch; color: var(--ink-soft); margin: var(--s2) 0 0; }

.pulse-tabs { display: flex; gap: var(--s5); background: none; border-radius: 0; padding: 0; margin: var(--s5) 0 var(--s6); border-bottom: 1px solid var(--border); }
.pulse-tab { position: relative; display: inline-flex; align-items: center; gap: var(--s2); background: none; border: 0; border-radius: 0; font: inherit;
  font-size: var(--fs-label); font-weight: 600; letter-spacing: -.01em; text-decoration: none;
  color: var(--ink-soft); cursor: pointer; padding: var(--s3) 2px; margin-bottom: -1px; transition: color var(--dur-fast); }
.pulse-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px 2px 0 0;
  background: var(--pulse-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-base) cubic-bezier(.4,0,.2,1); }
.pulse-tab:hover { color: var(--ink); }
.pulse-tab.on { color: var(--pulse-accent-deep); }
.pulse-tab.on::after { transform: scaleX(1); }
.pulse-tab:focus-visible { outline: var(--focus-outline); outline-offset: 3px; border-radius: var(--radius-xs); }
.pulse-how { display: flex; gap: var(--s2); margin: var(--s4) 0 var(--s5); }
.pulse-how-step { flex: 1; display: flex; gap: var(--s3); align-items: center; padding: var(--s3) var(--s3);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.pulse-how-num { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--pulse-accent-tint, var(--blue-tint));
  color: var(--pulse-accent-deep, var(--blue-deep)); font-weight: 700; font-size: var(--fs-label); display: flex; align-items: center; justify-content: center; }
.pulse-how-step b { font-size: var(--fs-label); display: block; }
@media (max-width: 680px) { .pulse-how { flex-direction: column; } }
.pulse-note { display: flex; gap: var(--s2); align-items: flex-start; background: var(--blue-tint);
  border-radius: var(--radius-sm); padding: var(--s3) var(--s3); font-size: var(--fs-label); color: var(--blue-deep); margin: var(--s3) 0; }
.pulse-note svg { flex: none; margin-top: 1px; }

.pulse-srow { padding: var(--s4); margin-bottom: var(--s3); cursor: pointer; transition: border-color var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast); }
.pulse-srow:hover { border-color: var(--blue-bright); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(20,40,90,.07); }
.pulse-launch { text-align: center; padding: var(--s6) var(--s5); }
.pulse-launch.live { background: linear-gradient(180deg, var(--blue-tint), var(--surface)); border-color: var(--blue-bright); }
.pulse-launch-emoji { font-size: var(--fs-display); line-height: 1; }
.pulse-fee { font-size: var(--fs-display); font-weight: 700; color: var(--blue-deep); margin: var(--s2) 0; letter-spacing: -.01em; }
.pulse-empty-ico { width: 52px; height: 52px; border-radius: 50%; background: var(--pulse-accent-tint, var(--blue-tint));
  color: var(--pulse-accent-deep, var(--blue)); display: flex; align-items: center; justify-content: center; margin: 0 auto var(--s2); }


.setup-checklist { padding: var(--s4) var(--s5); margin-bottom: var(--s4); }
.setup-checklist-head { margin-bottom: var(--s3); }
.setup-steps { display: flex; flex-direction: column; gap: var(--s2); }
.setup-step { display: flex; align-items: center; gap: var(--s3); font-size: var(--fs-label); }
.setup-step .setup-label { flex: 1; color: var(--ink-soft); }
.setup-step.done .setup-label { color: var(--ink); }
.setup-step.now .setup-label { color: var(--ink); font-weight: 600; }
.setup-tick { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; background: var(--surface-sunk); color: var(--ink-faint); }
.setup-step.done .setup-tick { background: color-mix(in srgb, var(--favourable) 16%, var(--surface)); color: var(--favourable-ink); }
.setup-step.now .setup-tick { background: var(--blue-tint); color: var(--blue); }
.setup-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.setup-note { flex: 0 0 auto; }

.pulse-teaser { background: var(--surface-sunk); border-radius: var(--radius-sm); padding: var(--s3) var(--s4); }
.pulse-teaser ul { margin: 0; padding-left: var(--s5); }
.pulse-teaser li { margin: 3px 0; font-size: var(--fs-label); color: var(--ink); }
.pulse-close { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro); font-weight: 600;
  color: var(--ink-soft); background: var(--surface-sunk); border-radius: 999px; padding: 1px var(--s2); }
.pulse-close.soon { color: var(--blue-deep); background: var(--blue-tint); }









.pulse-report-doc > .card { padding: 0 0 var(--s4); }
.pulse-report-doc .qsec-head {
  background: none; border-radius: var(--radius) var(--radius) 0 0;
  padding: var(--s4) var(--s5) var(--s3);
}


.pulse-narrative { padding-left: var(--s5); padding-right: var(--s5); }
.pulse-narrative { background: none; margin: var(--s4) 0 0; }
.pulse-narrative > p:first-child {
  font-size: var(--fs-body); line-height: 1.55; max-width: 76ch; color: var(--ink);
}
.pulse-findings { margin-top: var(--s4); padding: var(--s4) 0 0; border-top: 1px solid var(--border); }
.pulse-findings .eyebrow { margin-bottom: var(--s2); }
.pulse-findings ol { max-width: 88ch; }
.pulse-findings ol { margin: var(--s1) 0 0; padding-left: var(--s5); }
.pulse-findings li { margin: 0 0 var(--s2); font-size: var(--fs-label); line-height: 1.5; padding-left: 2px; }
.pulse-pdf-head, .pulse-pdf-foot { display: none; }
.pulse-pdf-head .logo { font-weight: 700; color: var(--blue); }
.pulse-pdf-head .logo span { color: var(--lumi-coral); }
@media print {
  .pulse-pdf-head { display: block; font-size: 10pt; color: var(--ink-soft); border-bottom: 1px solid var(--border);
    padding-bottom: 6pt; margin-bottom: 12pt; }
  .pulse-pdf-foot { display: block; font-size: 8.5pt; color: var(--ink-soft); border-top: 1px solid var(--border);
    padding-top: 6pt; margin-top: 16pt; }
  .pulse-report-doc .card { box-shadow: none; border: 0; margin: 0; padding: 0; }
  .pulse-report-doc .pulse-qcard { break-inside: avoid; page-break-inside: avoid; }
  .pulse-narrative { break-inside: avoid; }
}


.unlock-moment { position: relative; display: flex; gap: var(--s4); align-items: flex-start;
  padding: var(--s5); margin-bottom: var(--s4); border: 1px solid var(--blue-tint-2);
  background: linear-gradient(135deg, var(--blue-tint) 0%, var(--surface) 70%);
  animation: msg-in var(--dur-slow) var(--dur-fast) ease both; }
.unlock-spark { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: var(--blue-tint);
  color: var(--blue); display: flex; align-items: center; justify-content: center; }
.unlock-links { display: flex; flex-wrap: wrap; gap: var(--s2); }
.unlock-x { position: absolute; top: var(--s2); right: var(--s2); }


@media (max-width: 560px) {
  .unlock-moment { padding: var(--s4); gap: var(--s3); }
  .unlock-moment > div[style] { min-width: 0 !important; }
  .unlock-spark { width: 36px; height: 36px; }
  .unlock-links .btn { white-space: normal; height: auto; min-height: 32px; padding-top: 6px; padding-bottom: 6px; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .unlock-moment { animation: none; } }

.chip-neutral { background: var(--surface-sunk); color: var(--ink-soft); }
.pulse-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.pulse-head-l { min-width: 0; }
.pulse-head-stat { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.05; }
.pulse-head-stat b { font-size: var(--fs-display); color: var(--navy); }
.pulse-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: var(--s5); margin-top: var(--s5); align-items: stretch; }


.pulse-page > .section-title { margin: var(--s7) 0 var(--s4); }

.pulse-hero { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); flex-wrap: wrap;
  padding: var(--s6); border-left: 3px solid var(--pulse-accent); cursor: pointer;
  background: radial-gradient(120% 140% at 0% 0%, var(--pulse-accent-tint) 0%, transparent 58%), linear-gradient(180deg, var(--blue-tint), var(--surface));
  transition: transform var(--dur-fast), box-shadow var(--dur-fast); }
.pulse-hero:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift), var(--pulse-glow); }
.pulse-hero-body { min-width: 0; flex: 1; }
.pulse-hero-tag { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-micro); font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; color: var(--pulse-accent-deep); }
.pulse-hero-tag svg { color: var(--pulse-accent); }
.pulse-hero-name { font-family: var(--font-head); font-size: var(--fs-section); font-weight: 650; color: var(--ink); margin: var(--s1) 0; }
.pulse-hero-desc { color: var(--ink-soft); margin: 0 0 var(--s2); max-width: 64ch; }
.pulse-hero-meta { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.pulse-hero-cta { flex: none; }
.pulse-dot { color: var(--ink-faint); }

.pulse-card { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5); cursor: pointer;
  transition: border-color var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast); }
.pulse-card:hover { border-color: color-mix(in srgb, var(--pulse-accent) 45%, transparent); transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.pulse-card-top { display: flex; gap: var(--s3); align-items: flex-start; }
.pulse-medallion { flex: none; width: 34px; height: 34px; border-radius: 50%;
  background: linear-gradient(180deg, var(--pulse-accent-tint), var(--pulse-accent-tint-2));
  color: var(--pulse-accent-deep); display: inline-flex; align-items: center; justify-content: center;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pulse-accent) 16%, transparent), inset 0 1px 1px rgba(255,255,255,.7); }
.pulse-card-headwrap { min-width: 0; }
.pulse-card-name { font-size: var(--fs-label); display: block; }
.pulse-card-meta { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-top: 2px; }
.pulse-card-desc { color: var(--ink-soft); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.pulse-card-teaser { display: block; font-size: var(--fs-caption); line-height: 1.35; padding: var(--s3);
  border-radius: var(--radius-xs); background: var(--pulse-accent-tint); border: 1px solid color-mix(in srgb, var(--pulse-accent) 16%, transparent); }
.pulse-card-teaser b { color: var(--pulse-accent-deep); font-weight: 700; }
.pulse-card-teaser span { color: var(--ink-soft); }
.pulse-card-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); margin-top: auto; padding-top: var(--s1); }
.pulse-card-cta { font-size: var(--fs-caption); font-weight: 600; color: var(--pulse-accent-deep); white-space: nowrap; }
.pulse-card:hover .pulse-card-cta { color: var(--pulse-accent); }
.pulse-taken { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-caption); font-weight: 600; color: var(--blue-deep); }
.pulse-partic { display: inline-flex; align-items: center; gap: 4px; }
.pulse-momentum { display: flex; flex-direction: column; gap: 3px; }
.pulse-meter { height: 5px; border-radius: 999px; background: var(--surface-sunk); overflow: hidden; max-width: 220px; }
.pulse-meter i { display: block; height: 100%; background: linear-gradient(90deg, var(--pulse-accent), var(--pulse-accent-bright)); border-radius: 999px;
  transition: width var(--dur-slow) var(--ease-out); }
.pulse-action { display: inline-flex; align-items: center; gap: 4px; margin-top: var(--s2); font-size: var(--fs-caption); font-weight: 600; color: var(--blue-deep); }
.pulse-first .pulse-how { text-align: left; max-width: none; margin: var(--s5) 0; }


.pulse-page .btn.primary { background: var(--pulse-accent); border-color: var(--pulse-accent); box-shadow: var(--pulse-glow); }
.pulse-page .btn.primary:hover { background: var(--pulse-accent-bright); border-color: var(--pulse-accent-bright); }
@media (max-width: 560px) { .pulse-hero { flex-direction: column; align-items: flex-start; } .pulse-hero-cta, .pulse-hero-cta .btn { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  .pulse-tab::after { transition: none; }
  .pulse-hero, .pulse-card, .pulse-page .btn.primary { transition: none; }
  .pulse-hero:hover, .pulse-card:hover, .pulse-page .btn.primary:hover { transform: none; }
}







.analyst-pane { position: fixed; right: 0; top: 0; bottom: 0; width: clamp(430px, 30vw, 560px); max-width: 95vw;
  background: var(--paper); border-left: 1px solid var(--border); box-shadow: var(--shadow-pop);
  z-index: var(--z-pane); display: flex; flex-direction: column;


  animation: ana-in var(--dur-base) var(--ease-out) both; }
@keyframes ana-in { from { transform: translateX(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.ana-head { display: flex; align-items: center; gap: var(--s2);
  padding: var(--s3) var(--s4); background: var(--surface); border-bottom: 1px solid var(--border);


  min-height: var(--brandbar-h); box-sizing: border-box; }
.ana-head-sep { width: 1px; height: 16px; background: var(--border); margin: 0 var(--s1); flex: none; }

.ana-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-top: var(--s2); }

.ana-mark { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  border-radius: 9px; background: var(--blue-tint); color: var(--blue-deep); flex: none; }
.ana-title { font-family: var(--font-head); font-size: var(--fs-subhead); font-weight: 650; letter-spacing: -0.01em; }
.analyst-msgs { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: var(--s4); display: flex; flex-direction: column;
  gap: var(--s3); }
.msg { max-width: 88%; padding: var(--s3) var(--s4); font-size: var(--fs-body); line-height: 1.55;


  white-space: pre-wrap; overflow-wrap: anywhere; }











.msg.user { align-self: flex-end; max-width: 82%; background: var(--blue-tint); color: var(--ink);
  border-radius: 14px; font-weight: 500; }
.msg.bot { align-self: stretch; max-width: 100%; padding: 0; background: none; border: 0;
  border-radius: 0; box-shadow: none; color: var(--ink); }

.analyst-msgs { gap: var(--s5); }
.msg.bot + .msg.user { margin-top: var(--s1); }

.statchip-stack { display: flex; flex-direction: column; gap: var(--s2); margin-top: var(--s3); }
.statchip { display: flex; flex-direction: column; gap: 2px; padding: var(--s3) var(--s4);
  background: var(--paper); border: 1px solid var(--border); border-radius: 12px;
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }

.statchip[role="button"] { cursor: pointer; }
.statchip[role="button"]:hover { border-color: var(--blue); box-shadow: var(--shadow-card); transform: translateY(-1px); }
.statchip[role="button"]:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.statchip-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); }
.statchip-label { font-weight: 650; color: var(--ink); font-size: var(--fs-body); }
.statchip-view { flex: none; font-size: var(--fs-caption); color: var(--blue-deep); font-weight: 600; white-space: nowrap; }
.statchip-arrow { display: inline-block; transition: transform var(--dur-fast) ease; }
.statchip[role="button"]:hover .statchip-arrow { transform: translateX(2px); }
.statchip b { font-size: var(--fs-body); font-weight: 650; color: var(--blue-deep); }
.statchip .statchip-sub { font-size: var(--fs-caption); color: var(--ink-soft); }

.ana-starters { display: flex; flex-direction: column; gap: var(--s2); }
.ana-starter { display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
  width: 100%; text-align: left; padding: var(--s3) var(--s4); background: var(--surface);
  border: 1px solid var(--border); border-radius: 12px; font: inherit; font-size: var(--fs-body);
  color: var(--ink); cursor: pointer;
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }
.ana-starter svg { flex: none; color: var(--ink-faint); transition: transform var(--dur-fast) ease, color var(--dur-fast) ease; }
.ana-starter:hover { border-color: var(--blue); box-shadow: var(--shadow-card); transform: translateY(-1px); }
.ana-starter:hover svg { color: var(--blue-deep); transform: translateX(2px); }
.ana-starter:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }

.ana-foot { padding: var(--s3) var(--s4) var(--s3); background: var(--surface); border-top: 1px solid var(--border); }
.ana-composer { display: flex; align-items: center; gap: var(--s2);
  background: var(--surface); border: 1.5px solid var(--border); border-radius: 14px;
  padding: 4px 4px 4px var(--s4); transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.ana-composer:focus-within { border-color: var(--blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 14%, transparent); }
.ana-composer input { flex: 1; border: 0; outline: 0; background: none; font: inherit;
  font-size: var(--fs-body); color: var(--ink); min-width: 0; height: 36px; }









.ana-composer input:focus, .ana-composer input:focus-visible { outline: none; }
.ana-composer input::placeholder { color: var(--ink-faint); }
.ana-send { border-radius: 10px; height: 36px; padding: 0 var(--s4); flex: none; }
.msg { animation: msg-in .16s var(--dur-fast) ease both; }
@keyframes msg-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.msg-copy { background: none; border: 0; padding: 6px; margin-left: var(--s1); color: var(--ink-faint);
  cursor: pointer; vertical-align: middle; }
.msg-copy:hover { color: var(--ink); }
.tdots { display: inline-flex; gap: 3px; margin-right: var(--s1); vertical-align: middle; }
.tdots span { width: 5px; height: 5px; border-radius: 50%; background: var(--ink-soft);
  animation: tdot 1s ease-in-out infinite; }
.tdots span:nth-child(2) { animation-delay: .15s; }
.tdots span:nth-child(3) { animation-delay: .3s; }
@keyframes tdot { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-2px); } }
@media (max-width: 480px) { .analyst-pane { width: 100%; max-width: 100vw; }




  .ana-composer input { font-size: 16px; height: 44px; }
  .ana-send { height: 44px; }
  .ana-head .iconbtn, .analyst-pane .msg-copy, .msg .ana-thumbs .iconbtn { height: 40px; min-width: 40px; }
  .msg .btn.small { min-height: 36px; padding-top: 6px; padding-bottom: 6px; }
  .ana-foot { padding-bottom: calc(var(--s3) + env(safe-area-inset-bottom)); } }

.msg .ana-src { font-size: var(--fs-micro); color: var(--color-text-tertiary); margin-top: var(--s2); }
.statchip .chip-gloss { display: block; font-size: var(--fs-micro); color: var(--color-text-tertiary); }
.ana-disclosure { font-size: var(--fs-micro); color: var(--color-text-tertiary); margin-top: var(--s2);
  text-align: center; }
.msg .ana-thumbs { display: inline-flex; gap: 2px; margin-top: var(--s2); }
.msg .ana-thumbs .iconbtn { width: 24px; height: 24px; color: var(--color-text-tertiary); }
.msg .ana-thanks { display: inline-block; font-size: var(--fs-micro); color: var(--color-text-tertiary);
  margin-top: var(--s2); }
@media (prefers-reduced-motion: reduce) {
  .msg { animation: none; }
  .tdots span { animation: none; opacity: .6; }
}




.modal-back { position: fixed; inset: 0; background: color-mix(in srgb, var(--lumi-ink) 45%, transparent); z-index: var(--z-modal); display: flex;
  align-items: center; justify-content: center; padding: var(--s5); }



.modal { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-pop); width: 560px;
  max-width: 100%; max-height: 90vh; max-height: 90dvh; overflow-y: auto; overscroll-behavior: contain; padding: var(--s5); }
.modal.xl { width: 980px; padding: var(--s6); }








.modal.has-head { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.modal-head { flex: none; display: flex; align-items: flex-start; gap: var(--s3);
  padding: var(--s5) var(--s5) var(--s4); border-bottom: 1px solid var(--border); }
.modal-title { font-family: var(--font-head); font-size: var(--fs-subhead); line-height: 1.25;
  font-weight: 500; color: var(--ink); margin: 0; flex: 1 1 auto; min-width: 0; }
.modal-close { flex: none; width: 32px; height: 32px; margin: -2px -6px 0 0; padding: 0; border: 0; background: none;
  color: var(--ink-faint); cursor: pointer; border-radius: var(--radius-xs);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--dur-fast) ease, color var(--dur-fast) ease; }
.modal-close:hover { background: var(--surface-sunk); color: var(--ink); }


.modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--s5); }


.modal-body > :first-child { margin-top: 0; }
.modal.xl.has-head .modal-head { padding: var(--s6) var(--s6) var(--s4); }
.modal.xl.has-head .modal-body { padding: var(--s6); }





.modal-back { animation: modal-back-in 180ms ease both; }
.modal { animation: modal-in 220ms var(--ease-out) both; }
@keyframes modal-back-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-in { from { opacity: 0; transform: scale(.97) translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .modal-back, .modal { animation: none !important; opacity: 1 !important; transform: none !important; }
}


@media (max-width: 560px) {
  .modal-back { padding: var(--s3); }
  .modal { max-height: 92vh; max-height: 92dvh; }
  .modal.has-head .modal-head { padding: var(--s4) var(--s4) var(--s3); }
  .modal.has-head .modal-body { padding: var(--s4); }
  .modal-close { width: 44px; height: 44px; margin: -6px -10px 0 0; }
}

.bench-chart.zoomable { cursor: zoom-in; }
.bench-chart.zoomable:hover { background: color-mix(in srgb, var(--surface-sunk) 45%, transparent); border-radius: var(--radius-sm); }















@page { size: A4; margin: 0; }

@media print {




  body:not(:has(.pack-page)) .content { padding: 14mm !important; }
}
@media print {









  table.data th { position: static !important; top: auto !important; }


  body { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body { background: #fff; }





  body { overflow: visible !important; }
  .no-print, .sidebar, .topbar, .analyst-pane, .modal-back, #toast-host { display: none !important; }


















  .content { padding: 0; max-width: none; }



}

.bp-scale-wrap { margin: var(--s5) 0 var(--s3); }
.bp-scale { position: relative; display: flex; height: 14px; }
.bp-scale-zone { height: 100%; print-color-adjust: exact; -webkit-print-color-adjust: exact; }



.bp-scale .z-below { background: var(--pos-below-gauge); border-radius: var(--radius-xs) 0 0 var(--radius-xs); }
.bp-scale .z-on { background: var(--pos-on-gauge); }
.bp-scale .z-above { background: var(--pos-above-gauge); border-radius: 0 var(--radius-xs) var(--radius-xs) 0; }


.bp-scale-pill { position: absolute; top: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; height: 19px; padding: 0 var(--s2); border-radius: 999px;
  background: var(--ink); color: #fff; font-size: var(--fs-micro); font-weight: 700; line-height: 1;
  white-space: nowrap; box-shadow: 0 0 0 2px var(--surface);
  print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.bp-scale-labels { display: flex; justify-content: space-between; gap: var(--s3); margin-top: var(--s2); }
.bp-scale-labels span:nth-child(2) { text-align: center; }
.bp-scale-labels span:last-child { text-align: right; }




.di-markrow { position: relative; display: flex; height: 14px; width: 100%; border-radius: var(--radius-xs); }
.di-mk-zone { height: 100%; }
.di-markrow .z-below { background: var(--pos-below-gauge); border-radius: var(--radius-xs) 0 0 var(--radius-xs); }
.di-markrow .z-on { background: var(--pos-on-gauge); }
.di-markrow .z-above { background: var(--pos-above-gauge); border-radius: 0 var(--radius-xs) var(--radius-xs) 0; }








.di-markrow.mk-neutral { height: 16px; }
.di-markrow.mk-neutral .z-below, .di-markrow.mk-neutral .z-above { background: color-mix(in srgb, var(--ink) 6%, var(--surface)); }
.di-markrow.mk-neutral .z-on { background: color-mix(in srgb, var(--ink) 15%, var(--surface)); }
.di-markrow.mk-neutral .di-mk-zone + .di-mk-zone { border-left: 1px solid color-mix(in srgb, var(--ink) 30%, transparent); }
.di-markrow.mk-neutral::after { content: ""; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 16%, transparent); }
.di-mk-centre { position: absolute; left: 50%; top: -3px; bottom: -3px; width: 0;
  border-left: 1px dashed color-mix(in srgb, var(--ink) 45%, transparent); }




.di-pill { position: absolute; top: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; height: 19px; padding: 0 var(--s2); border-radius: 999px;
  background: var(--ink); color: #fff; font-size: var(--fs-micro); font-weight: 700; line-height: 1;
  white-space: nowrap; box-shadow: 0 0 0 2px var(--surface); animation: di-dot-in var(--dur-slow) ease-out var(--dur-fast) both;
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.di-pill.ind { background: var(--surface); color: var(--ink); border: 1.5px dashed var(--ink); box-sizing: border-box; }
.di-row:hover .di-pill { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 2px var(--surface), 0 2px 6px rgba(16,24,40,.18); }


.di-axis-poskey { display: flex; flex-direction: column; justify-content: center; height: 30px; }
.di-pk-labels { display: flex; justify-content: space-between; font-size: var(--fs-micro); color: var(--ink-faint); line-height: 1; }
.di-pk-labels span:nth-child(2) { text-align: center; }
.di-colhead { font-size: var(--fs-caption); color: var(--ink-faint); font-weight: 500; padding: 0 var(--s2);
  text-align: center; white-space: nowrap; }



.di-rows-anim { animation: di-mode-in .30s ease-out both; }
@keyframes di-mode-in { from { opacity: 0; transform: translateY(6px); } }
@keyframes di-dot-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .di-rows-anim, .di-dot, .di-plabel { animation: none; }
}



@media (max-width: 720px) {
  .share-dashboard { padding: var(--s4) var(--s3) !important; }
}


.row { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; }
.spread { justify-content: space-between; }
.grid2 { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s4); }



.grid2 > .card { min-width: 0; }
@media (max-width: 900px) { .grid2 { grid-template-columns: 1fr; } }
.searchpop-head { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); padding: var(--s2) var(--s3) var(--s1); }
.searchpop { position: absolute; top: calc(100% + 4px); left: 0; width: 420px; max-width: 90vw; max-height: 50vh;
  overflow-y: auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow-pop); z-index: var(--z-popover); }
.search-hit { padding: var(--s2) var(--s3); cursor: pointer; border-bottom: 1px solid var(--chart-grid); }
.search-hit:hover { background: var(--surface-sunk); }


.search-hit[aria-selected="true"] { background: var(--blue-tint);
  box-shadow: inset 2px 0 0 var(--blue); }
.dragging { opacity: var(--disabled-opacity); }
.drop-target { outline: 2px dashed var(--blue); outline-offset: 2px; }
.spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--border);
  border-top-color: var(--blue); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }



.contrib-banner {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
  flex-wrap: wrap; padding: var(--s3) var(--s4); margin-bottom: var(--s4);
  border-left: 3px solid var(--blue); background: var(--blue-tint);
  animation: riseIn var(--dur-slow) ease both;
}
.contrib-banner.paused { border-left-color: var(--neutral-perf); background: #FDF6E8; }
.contrib-banner > div { flex: 1 1 360px; }

.welcome-hero {
  display: flex; gap: var(--s6); flex-wrap: wrap; align-items: center;
  padding: var(--s5); margin-bottom: var(--s4);
  background: linear-gradient(135deg, var(--blue-tint) 0%, var(--surface) 65%);
  border-color: var(--blue-tint-2);
  animation: riseIn var(--dur-slow) ease both;
}






.submit-banner {
  --banner-accent: var(--lumi-navy);
  display: flex; align-items: center; gap: var(--s5);
  background: var(--blue-tint); border-radius: var(--radius);
  border-left: 4px solid var(--banner-accent);
  padding: var(--s5) var(--s5); margin-bottom: var(--s4);
  animation: riseIn var(--dur-slow) ease both;
}
.submit-banner-msg { flex: 1 1 auto; min-width: 0; }
.submit-banner-head { font-size: var(--fs-card-title); font-weight: 500; color: var(--ink); }
.submit-banner-body { font-size: var(--fs-label); line-height: 1.5; color: var(--ink-soft); margin: var(--s1) 0 var(--s3); max-width: 660px; }
.submit-banner-progress { display: flex; align-items: center; gap: var(--s3); }
.submit-banner-progress .progressbar { flex: 1 1 auto; max-width: 280px; }
.submit-banner-pct { color: var(--ink-soft); white-space: nowrap; }
.submit-banner-reassure { color: var(--ink-faint); margin: var(--s2) 0 0; max-width: 660px; }
.submit-banner-cta { flex: none; align-self: center; height: auto; padding: var(--s3) var(--s4);
  transition: background var(--dur-fast) ease, transform var(--dur-fast) ease; }
.submit-banner-cta:hover { background: var(--blue-deep); }
.submit-banner-cta:active { transform: scale(.98); }
@media (max-width: 760px) { .submit-banner { flex-wrap: wrap; gap: var(--s4); } .submit-banner-cta { width: 100%; } }


.suggest-back { position: fixed; inset: 0; z-index: var(--z-modal); background: color-mix(in srgb, var(--lumi-ink) 45%, transparent);
  display: flex; align-items: center; justify-content: center; padding: var(--s4); }


.suggest-modal { position: relative; background: var(--surface); border-radius: var(--radius); width: 100%; max-width: 560px;
  max-height: 90vh; padding: var(--s6) var(--s6) var(--s6); box-shadow: var(--shadow-pop);
  display: flex; flex-direction: column; }
.suggest-close { position: absolute; top: var(--s4); right: var(--s4); width: 32px; height: 32px; border: 0; background: none;
  color: var(--ink-faint); cursor: pointer; border-radius: var(--radius-xs); display: inline-flex; align-items: center; justify-content: center; }
.suggest-close:hover { background: var(--surface-sunk); color: var(--ink); }
.suggest-head { flex: none; padding-right: var(--s6); }
.suggest-title { font-family: var(--font-head); font-size: var(--fs-subhead); font-weight: 500; color: var(--ink); margin: 0; }
.suggest-sub { font-size: var(--fs-label); color: var(--ink-soft); line-height: 1.5; margin: var(--s2) 0 0; }
.suggest-body { flex: 1 1 auto; overflow-y: auto; display: flex; flex-direction: column; gap: var(--s5); margin-top: var(--s5);
  min-height: 96px; }
.suggest-field { display: flex; flex-direction: column; }
.suggest-field label { font-size: var(--fs-label); font-weight: 500; color: var(--ink); margin-bottom: var(--s2); }
.suggest-input { width: 100%; border: 1px solid var(--border); border-radius: var(--radius); padding: 0 var(--s4); height: 44px;
  font-size: var(--fs-body); font-family: inherit; color: var(--ink); background: var(--surface); transition: border-color var(--dur-fast), box-shadow var(--dur-fast); }
.suggest-input:hover { border-color: var(--ink-faint); }



.suggest-input:focus { outline: var(--focus-outline); outline-offset: 0; border-color: var(--blue); }
textarea.suggest-input { resize: vertical; min-height: 76px; height: auto; padding: var(--s3) var(--s4); line-height: 1.5; }
.suggest-input.err { border-color: var(--color-text-danger); }
.suggest-hint { font-size: var(--fs-caption); color: var(--ink-soft); margin-top: var(--s1); }
.suggest-err { font-size: var(--fs-caption); color: var(--color-text-danger); margin-top: var(--s1); }
.suggest-foot { flex: none; display: flex; justify-content: space-between; align-items: center;
  margin-top: var(--s5); flex-wrap: wrap; gap: var(--s2); }


@media (max-width: 480px) {
  .suggest-input { font-size: 16px; }
  .suggest-close { width: 44px; height: 44px; }
}



.suggest-cancel { padding: var(--s3) var(--s4); }
.suggest-submit { padding: var(--s3) var(--s4); height: auto; }
.suggest-done { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: var(--s5) 0; }
.suggest-done-ring { width: 48px; height: 48px; border-radius: 50%; background: var(--blue-tint); display: inline-flex;
  align-items: center; justify-content: center; color: var(--lumi-navy); margin-bottom: var(--s4); }
.suggest-done-head { font-size: var(--fs-card-title); font-weight: 500; color: var(--ink); }
.suggest-done-body { font-size: var(--fs-label); color: var(--ink-soft); margin-top: var(--s2); max-width: 360px; }
.suggest-done-btn { margin-top: var(--s5); height: auto; padding: var(--s3) var(--s4); }


.suggest-back { animation: suggest-back-in 200ms ease both; }
.suggest-modal { animation: suggest-modal-in 250ms ease-out both; }
.suggest-modal:focus { outline: none; }
.suggest-back.closing { animation: suggest-back-out 250ms ease both; }
.suggest-modal.closing { animation: suggest-modal-out 200ms ease both; }
@keyframes suggest-back-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes suggest-back-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes suggest-modal-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
@keyframes suggest-modal-out { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.96); } }

.suggest-done-ring { animation: suggest-tick var(--dur-slow) cubic-bezier(.34,1.56,.64,1) both; }
.suggest-done-head { animation: suggest-head-fade var(--dur-base) ease both; animation-delay: 100ms; }
@keyframes suggest-tick { from { transform: scale(0); } to { transform: scale(1); } }
@keyframes suggest-head-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .suggest-back, .suggest-modal, .suggest-back.closing, .suggest-modal.closing,
  .suggest-done-ring, .suggest-done-head { animation: none !important; opacity: 1 !important; transform: none !important; }
  .submit-banner-cta, .nav-item, .nav-item svg { transition: none !important; }
}


.terms-tick { display: flex; gap: var(--s3); align-items: flex-start; margin: var(--s3) 0; cursor: pointer; font-size: var(--fs-body); }
.terms-tick input { margin-top: 3px; accent-color: var(--blue); width: 16px; height: 16px; flex: none; }
.terms-text h2 { font-family: var(--font-head); font-size: var(--fs-section); margin: 0 0 var(--s2); }
.terms-text h3 { font-family: var(--font-head); font-size: var(--fs-body); margin: var(--s3) 0 var(--s1); }
.terms-text p { margin: var(--s1) 0; }
.terms-li { margin: var(--s1) 0 var(--s1) var(--s2); }
.next-step { display: flex; gap: var(--s3); align-items: flex-start; margin-bottom: var(--s2); }
.next-step-n {
  flex: none; width: 22px; height: 22px; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; background: var(--blue-tint-2);
  color: var(--blue-deep); font: 700 var(--fs-caption)/1 var(--font-body);
}

.next-step.is-value .next-step-n { background: var(--blue); color: #fff; }
.next-step-badge { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .04em;
  color: var(--blue-deep); background: var(--blue-tint); border-radius: var(--radius-2xs);
  padding: 1px 6px; margin-left: var(--s1); vertical-align: middle; }




button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 1px;
}









.content[tabindex]:focus, .content[tabindex]:focus-visible { outline: none; }


.btn:active:not([disabled]), .iconbtn:active { transform: translateY(0.5px); }
::selection { background: var(--blue-tint-2); color: var(--ink); }

.toast-action { margin-left: var(--s3); background: none; border: 0; color: #fff;
  font-weight: 700; text-decoration: underline; cursor: pointer; font-size: var(--fs-label); }


.back-to-top { position: fixed; right: 20px; bottom: 20px; z-index: calc(var(--z-popover) - 2);
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px 9px 11px;
  font-size: var(--fs-caption); font-weight: 600; color: var(--ink);
  background: var(--surface-card, #fff); border: 1px solid var(--border-neutral, var(--border));
  border-radius: var(--radius-pill, 999px); box-shadow: var(--shadow-pop); cursor: pointer;
  animation: btt-in var(--dur-fast) var(--ease-out) both; }
.back-to-top:hover { border-color: var(--blue); color: var(--blue); }
.back-to-top:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
@keyframes btt-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .back-to-top { animation: none; } }
@media (max-width: 640px) { .back-to-top { right: 12px; bottom: 12px; } }

#toast-host { position: fixed; left: 20px; bottom: 20px; z-index: var(--z-toast);
  display: flex; flex-direction: column; gap: var(--s2); pointer-events: none; }
.toast { background: var(--navy); color: #fff; border-radius: var(--radius-sm);
  padding: var(--s3) var(--s3); font-size: var(--fs-label); box-shadow: 0 6px 24px rgba(31,42,68,.28);
  opacity: 0; transform: translateY(6px); transition: opacity var(--dur-base) ease, transform var(--dur-base) ease;
  max-width: 340px; pointer-events: auto; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.error { background: var(--unfavourable); }
.toast.success { background: var(--favourable); }

.idle-count { font-variant-numeric: tabular-nums; font-weight: 700; }


.metric-page { max-width: 980px; margin: 0 auto; }

.metric-cm-edit { width: 100%; resize: vertical; min-height: 62px; font: inherit;
  line-height: 1.5; padding: var(--s2) var(--s3); }
.metric-commentary .metric-cm-foot { color: var(--ink-soft); }

.metric-utility { align-items: center; gap: var(--s3); flex-wrap: wrap; }
.metric-utility .peerbar { margin: 0; flex-wrap: wrap; }



.metric-prevnext { display: inline-flex; align-items: center; gap: 2px; margin-right: auto; }
.metric-prevnext .iconbtn { height: 28px; min-width: 28px; }

.metric-pdf-head, .metric-pdf-foot { display: none; }
@media print {






  .metric-pdf-head { display: block; font-size: 10pt; color: var(--ink-soft);
    border-bottom: 1px solid var(--border); padding-bottom: 6pt; margin-bottom: 12pt; }
  .metric-pdf-head .logo { font-weight: 800; color: var(--ink); }
  .metric-pdf-foot { display: block; font-size: 8.5pt; color: var(--ink-soft);
    border-top: 1px solid var(--border); padding-top: 6pt; margin-top: 14pt; }
  .metric-page .chart-switch, .metric-page button,
  .metric-page a.btn, .metric-page .noanswer-box,
  .metric-page select, .metric-page .metric-sigbar, .metric-page .metric-info-reveal,
  .metric-page .metric-commentary:not(.has-narrative) { display: none !important; }
  .metric-page .card { box-shadow: none; border: 1px solid var(--border);
    break-inside: avoid; page-break-inside: avoid; margin-top: 10pt; }
  .metric-page .metric-commentary { break-inside: auto; }
  .metric-page .metric-xl { --chart-h: 250px; break-inside: avoid; }
  .metric-page .metric-card-title { font-size: 20pt; line-height: 1.1; }





  .metric-page .metric-stage { background: none !important; padding: 0 !important; }






  .metric-page .bench-chart svg, .metric-page .metric-xl svg { max-width: none; width: 100%; }



  .metric-page .metric-xl svg text { font-size: 14px; }
  .metric-page .metric-xl { --chart-h: 230px; }


  .metric-page .metric-hero-card, .metric-page .metric-commentary {
    border: 0 !important; padding: 0 !important; margin-top: 12pt !important; }
  .metric-page .metric-foot-band { border-top: 1px solid var(--border); padding-top: 6pt; }
}








.metric-lead { display: flex; gap: var(--s2); align-items: flex-start;
  font-size: var(--fs-subhead); font-family: var(--font); color: var(--ink);
  max-width: 68ch; margin: 0 0 var(--s4); line-height: 1.5; }
.metric-lead svg { flex: none; }
.pos-pill.lg { font-size: var(--fs-body); height: 30px; padding: 0 var(--s3); flex: none; }




.metric-actions { display: flex; align-items: center; gap: var(--s2);
  flex-wrap: wrap; justify-content: flex-end; margin-top: var(--s3); }





.metric-actions .card-tools { display: flex; align-items: center; gap: var(--s2);
  flex: 1 1 auto; min-width: 0; flex-wrap: wrap; justify-content: flex-end; }


.metric-card-head { display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--s3) var(--s4); margin-bottom: var(--s3); flex-wrap: wrap; }
.metric-card-titles { min-width: 0; flex: 1 1 320px; }





.metric-page .metric-hero-card { padding: var(--s6); margin-top: var(--s4);
  border-radius: var(--radius); box-shadow: var(--shadow-card); }
.metric-page .metric-commentary { padding: var(--s5); margin-top: var(--s5);
  box-shadow: none; background: transparent; border: 1px solid var(--border); }


.metric-page .pos-pill.lg { font-size: var(--fs-subhead); height: 36px; padding: 0 var(--s4);
  border-radius: 999px; }
.metric-card-title { font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-section);
  font-weight: 650; letter-spacing: -0.01em; margin: 0 0 2px; }
.metric-verdicts { display: flex; gap: var(--s2); align-items: center; flex: none; flex-wrap: wrap; }


.metric-head-right { display: flex; flex-direction: column; align-items: flex-end;
  gap: var(--s3); flex: none; }



.onepager-cta { display: inline-flex; align-items: center; gap: 7px;
  background: var(--blue); color: #fff; border: 1px solid var(--blue-deep);
  border-radius: 10px; padding: 9px 16px; font: inherit; font-size: var(--fs-body);
  font-weight: 600; cursor: pointer; box-shadow: 0 2px 8px rgba(32, 72, 176, .22);
  transition: background var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }
.onepager-cta:hover:not([disabled]) { background: var(--blue-deep);
  box-shadow: 0 4px 14px rgba(32, 72, 176, .28); transform: translateY(-1px); }
.onepager-cta:active:not([disabled]) { transform: none; }



.onepager-cta[disabled] { background: var(--surface-sunk);
  border-color: var(--border); color: var(--ink-soft); box-shadow: none;
  cursor: default; pointer-events: none; }
.onepager-cta svg { flex: 0 0 auto; }
.onepager-cta:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }


.onepager-cta.quiet { background: var(--surface); color: var(--blue-deep);
  border-color: var(--border); box-shadow: none; }
.onepager-cta.quiet:hover:not([disabled]) { background: var(--surface-sunk);
  box-shadow: none; transform: none; }


.onepager-cta.quiet[disabled] { color: var(--ink-soft); background: var(--color-surface-sunken, #EEECF1); }

.pos-pill.hastip, .ctx-chip { position: relative; }
.hastip:focus .tip, .hastip:focus-within .tip { display: block; }
.hastip:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }



.ctx-chip { display: inline-flex; align-items: center; gap: 4px; height: 30px; padding: 0 var(--s3);
  border-radius: 999px; border: 1px solid var(--border); background: var(--surface-sunk);
  color: var(--ink-soft); font-size: var(--fs-body); font-weight: 600; cursor: help; }
.ctx-chip .prac-band { color: var(--ink); font-weight: 600; }


@media (prefers-reduced-motion: no-preference) {
  .pos-pill.v-above.pill-glow { animation: pill-glow 900ms var(--ease-out) 400ms 1 both; }
  @keyframes pill-glow {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--favourable) 45%, transparent); }
    100% { box-shadow: 0 0 0 14px color-mix(in srgb, var(--favourable) 0%, transparent); }
  }
}

.metric-statrow { align-items: flex-end; gap: var(--s4); margin-bottom: var(--s3); flex-wrap: wrap; }
.metric-stats { display: flex; gap: var(--s6); align-items: flex-end; min-width: 0; }
.metric-stat { display: flex; flex-direction: column; gap: 2px; }
.metric-stat .metric-value { line-height: 1.05; }
.metric-stat.mkt .metric-value { color: var(--ink-soft); font-size: var(--fs-section); font-weight: 600; }









.metric-stage { border-radius: var(--radius-sm); padding: var(--s5) 0 var(--s4); }
.metric-stage.busy { background: color-mix(in srgb, var(--surface-sunk) 45%, transparent); }
.metric-stage .metric-xl { transition: opacity var(--dur-fast); }
.metric-stage.busy .metric-xl { opacity: var(--disabled-opacity); }
















.metric-xl { --chart-h: 170px; min-height: var(--chart-h); display: flex; flex-direction: column; justify-content: center; }
.metric-xl > * { width: 100%; }
.metric-chart-swap { width: 100%; }
@media (prefers-reduced-motion: no-preference) {
  .metric-chart-swap { animation: riseIn var(--dur-fast) ease both; }
  .metric-xl .you-marker { animation: dot-pop var(--dur-slow) var(--ease-out) 300ms both;
    transform-box: fill-box; transform-origin: center; }
}

.metric-foot-band { display: flex; align-items: flex-start; gap: var(--s4);
  margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--border); }
.metric-foot-band .exact-figs { border-top: none; margin-top: 0; padding-top: 0; flex: 1; min-width: 0; }
.metric-foot-band .card-tools { margin-left: auto; }


@media (max-width: 640px) {
  .metric-foot-band { flex-wrap: wrap; }
  .metric-foot-band .card-tools { margin-left: 0; width: 100%; justify-content: flex-end; }
}
.exact-figs b { font-variant-numeric: tabular-nums; }
.exact-figs .you b { font-size: var(--fs-card-title); }
.iconbtn[disabled] { opacity: var(--disabled-opacity); pointer-events: none; }

@media (prefers-reduced-motion: no-preference) {
  .metric-sigbar { animation: sigbar-in var(--dur-base) var(--ease-out) backwards; }
  @keyframes sigbar-in {
    from { opacity: 0; max-height: 0; margin-top: 0; padding-top: 0; padding-bottom: 0; }
    to { opacity: 1; max-height: 140px; margin-top: var(--s3); padding-top: var(--s2); padding-bottom: var(--s2); }
  }
}



.metric-sigbar { display: flex; align-items: center; gap: var(--s3); margin-top: var(--s3);
  padding: var(--s2) var(--s3); border: 1px solid color-mix(in srgb, var(--blue) 14%, var(--border));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--blue-tint) 30%, var(--surface)); }
.metric-sigbar-txt { flex: 1; min-width: 0; font-size: var(--fs-label); }
.metric-sigbar-txt .caption { color: var(--ink-soft); }
.metric-sigbar .sig-actions { flex: 0 0 auto; gap: var(--s1); }






.metric-sigbar .sig-act { width: 28px; height: 28px; display: inline-flex; align-items: center;
  justify-content: center; border: 0; background: none; color: var(--ink-soft); opacity: .55;
  border-radius: var(--radius-sm); cursor: pointer; transition: all var(--dur-fast); }
.metric-sigbar .sig-act svg { color: inherit; }
.metric-sigbar .sig-act:hover { background: color-mix(in srgb, var(--blue) 10%, transparent);
  color: var(--blue-deep); opacity: 1; transform: translateY(-1px); }
.metric-sigbar .sig-act:focus-visible { outline: var(--focus-outline); outline-offset: 1px; opacity: 1; }
.metric-sigbar .sig-act.on { color: var(--blue); opacity: 1; background: var(--blue-tint); }
@media (max-width: 640px) {
  .metric-sigbar { flex-wrap: wrap; }
}
.cut-row { display: flex; gap: var(--s5); align-items: center; padding: var(--s3) 0;
  border-bottom: 1px solid var(--border); }
.cut-row:last-of-type { border-bottom: none; }
.cut-row-label { flex: 0 0 210px; display: flex; flex-direction: column; gap: var(--s1); align-items: flex-start; }
.cut-row-chart { flex: 1; min-width: 0; --chart-h: 120px; }
.exact-figs { display: flex; gap: var(--s6); flex-wrap: wrap; margin-top: var(--s4);
  padding-top: var(--s3); border-top: 1px solid var(--border); }
.exact-figs > div { display: flex; flex-direction: column; gap: 2px; }
@media (max-width: 760px) { .cut-row { flex-direction: column; align-items: stretch; } .cut-row-label { flex: none; } }




.bench-card.stacked .bench-head { align-items: center; flex-wrap: wrap; margin-bottom: var(--s3); }
.bench-card.stacked .bench-title { flex: 1 1 200px; min-width: 0; }








.bench-chart-full { min-height: 200px; display: flex; flex-direction: column;
  justify-content: center; cursor: zoom-in; border-radius: var(--radius-sm);
  margin-bottom: var(--s3); position: relative; }
.bench-chart-full:hover { background: color-mix(in srgb, var(--surface-sunk) 45%, transparent); }












.bench-chart-full.suppressed { cursor: default; height: auto; min-height: 0; }
.bench-chart-full.suppressed:hover { background: transparent; }
.bench-chart-full.suppressed .suppressed-box { height: auto; }
.bench-chart-full > * { width: 100%; }
.bench-chart-full svg { max-width: 100%; max-height: 100%; display: block; margin: 0 auto; }




.bench-chart-full:has(table) { height: auto; justify-content: flex-start; cursor: default; }



.bench-chart-full:has(svg.ob-tall) { height: auto; justify-content: flex-start; }
.bench-chart-full svg.ob-tall { max-height: none; }
.bench-card.stacked .bench-lead { margin-bottom: var(--s2); }
.bench-card.stacked .bench-n { margin-top: auto; padding-top: var(--s2); }

.cut-chip { border: none; cursor: pointer; font: inherit; font-size: var(--fs-caption);
  font-weight: 650; flex: none; }
.cut-chip:hover { background: var(--blue-tint-2); }

.kebab-wrap { position: relative; flex: none; margin-left: 2px; }
.iconbtn.kebab { font-size: var(--fs-card-title); font-weight: 700; line-height: 1; width: 26px; height: 26px;
  border-radius: var(--radius-sm); color: var(--ink-faint); }
.iconbtn.kebab:hover, .iconbtn.kebab[aria-expanded="true"] { color: var(--ink); background: var(--surface-sunk); }
.kebab-menu { position: absolute; right: 0; top: 30px; z-index: var(--z-popover); min-width: 240px;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-pop); padding: var(--s2); animation: popIn var(--dur-fast) ease both;
  transform-origin: top right; overflow-y: auto; overscroll-behavior: contain;




  background:
    linear-gradient(var(--surface) 30%, rgba(255,255,255,0)) 0 0 / 100% 22px no-repeat local,
    linear-gradient(rgba(255,255,255,0), var(--surface) 70%) 0 100% / 100% 22px no-repeat local,
    radial-gradient(farthest-side at 50% 0, rgba(31,42,68,.16), transparent) 0 0 / 100% 9px no-repeat,
    radial-gradient(farthest-side at 50% 100%, rgba(31,42,68,.16), transparent) 0 100% / 100% 9px no-repeat,
    var(--surface);
  scrollbar-width: thin; scrollbar-color: var(--ink-faint) transparent; }
.kebab-menu::-webkit-scrollbar { width: 9px; }
.kebab-menu::-webkit-scrollbar-thumb { background: var(--ink-faint); border-radius: var(--radius-2xs); border: 3px solid var(--surface); }
.kebab-menu::-webkit-scrollbar-track { background: transparent; }

.kebab-menu.up { top: auto; bottom: 30px; transform-origin: bottom right; }



@media (max-width: 480px) {
  .kebab-menu, .kebab-menu.up { position: fixed; top: auto; left: var(--s3); right: var(--s3);
    bottom: var(--s3); min-width: 0; max-width: none; z-index: 300; max-height: 60vh;
    overflow-y: auto; transform-origin: bottom center; }
}








.bench-grid > *:has(.kebab-menu), .sp-grid > *:has(.kebab-menu) { position: relative; z-index: var(--z-popover); }
.kebab-label { color: var(--ink-faint); padding: var(--s2) var(--s3) var(--s1); }
.kebab-item { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left;
  background: none; border: none; cursor: pointer; padding: var(--s2) var(--s3); border-radius: var(--radius-xs);
  font: 500 var(--fs-label)/1.2 var(--font-body); color: var(--ink); }
.kebab-item:hover { background: var(--blue-tint); color: var(--blue-deep); }
.kebab-item.on { font-weight: 650; color: var(--blue-deep); }
.kebab-check { width: 14px; flex: none; color: var(--blue); display: inline-flex; align-items: center; justify-content: center; }
.kebab-sep { height: 1px; background: var(--border); margin: var(--s2) var(--s1); }




.chart-switch-btn { padding: var(--s1) var(--s3); line-height: 1; }



.next-step-n.done { background: var(--favourable-tint); color: var(--favourable-ink); }


.ctlgroup .hint.hint-wide { max-width: 420px; white-space: normal; line-height: 1.3; }


.group-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s3) var(--s5);
  max-height: 46vh; overflow-y: auto; padding-right: var(--s2); margin-bottom: var(--s3); }
@media (max-width: 760px) { .group-fields { grid-template-columns: 1fr; } }
.group-fields .chip-row { display: flex; flex-wrap: wrap; gap: var(--s1); }
.crit-chip { border: 1px solid var(--border); background: var(--surface); border-radius: 999px;
  padding: var(--s1) var(--s3); font: 500 var(--fs-caption)/1.2 var(--font-body); color: var(--ink-soft); cursor: pointer; }
.crit-chip:hover { border-color: color-mix(in srgb, var(--blue) 30%, var(--border)); color: var(--ink); }
.crit-chip.on { background: var(--blue-tint); border-color: var(--blue); color: var(--blue-deep); font-weight: 650; }
.group-count { background: var(--surface-sunk); border-radius: var(--radius-sm);
  padding: var(--s2) var(--s3); font-size: var(--fs-label); margin-bottom: var(--s3);
  font-variant-numeric: tabular-nums; }
.group-count.warn { background: var(--neutral-perf-tint); color: var(--neutral-perf); font-weight: 600; }



.aud-picker { margin-top: var(--s2); }
.aud-mode { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s2); margin-bottom: var(--s3); }
@media (max-width: 560px) { .aud-mode { grid-template-columns: 1fr; } }
.aud-mode-opt { display: flex; align-items: flex-start; gap: var(--s2); text-align: left; padding: var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface);
  color: var(--ink-soft); cursor: pointer; font: inherit; }
.aud-mode-opt > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.aud-mode-opt b { color: var(--ink); font-size: var(--fs-label); }
.aud-mode-opt svg { flex: none; margin-top: 2px; }
.aud-mode-opt:hover { border-color: color-mix(in srgb, var(--blue) 30%, var(--border)); }
.aud-mode-opt.on { border-color: var(--blue); background: var(--blue-tint); color: var(--blue-deep); }
.aud-mode-opt.on b { color: var(--blue-deep); }
.aud-mode-opt:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.aud-rule { margin: 0 0 var(--s3); }
.aud-from { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s3); }
.aud-from .ctl, .pulse-form .aud-from .ctl { width: auto; max-width: 280px; }
.aud-fields { max-height: none; }
.aud-named { border-top: 1px solid var(--border); padding-top: var(--s3); margin-bottom: var(--s3); }
.aud-named-head { margin-bottom: var(--s2); font-size: var(--fs-label); }
.aud-named > .ctl, .admin-form .aud-named > .ctl { width: 100%; max-width: 32rem; }
.aud-named-chips { display: flex; flex-wrap: wrap; gap: var(--s1); margin-bottom: var(--s2); }
.aud-named-chip { display: inline-flex; align-items: center; gap: var(--s1); cursor: default; }
.aud-x { border: 0; background: none; color: inherit; cursor: pointer; font-size: 1.1em; line-height: 1; padding: 0 2px; }
.aud-x:focus-visible { outline: var(--focus-outline); outline-offset: 1px; border-radius: var(--radius-xs); }
.aud-orglist { border: 1px solid var(--border); border-radius: var(--radius-sm); margin-top: var(--s1);
  max-height: 240px; overflow-y: auto; background: var(--surface); }
.aud-orgopt { display: flex; justify-content: space-between; gap: var(--s3); width: 100%; padding: var(--s2) var(--s3);
  border: 0; border-bottom: 1px solid var(--border); background: none; color: var(--ink); text-align: left;
  cursor: pointer; font: inherit; font-size: var(--fs-label); }
.aud-orgopt:last-child { border-bottom: 0; }
.aud-orgopt:hover, .aud-orgopt:focus-visible { background: var(--blue-tint); }
.aud-orgnone { padding: var(--s2) var(--s3); }
.aud-count { margin: var(--s2) 0; }
.aud-who { list-style: none; margin: var(--s2) 0 0; padding: 0; max-height: 260px; overflow-y: auto;
  border: 1px solid var(--border); border-radius: var(--radius-sm); }
.aud-who li { display: flex; justify-content: space-between; gap: var(--s3); padding: var(--s1) var(--s3);
  border-bottom: 1px solid var(--border); font-size: var(--fs-label); }
.aud-who li:last-child { border-bottom: 0; }
.pulse-aud { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; font-size: var(--fs-micro); font-weight: 600;
  color: var(--blue-deep); background: var(--blue-tint); border-radius: 999px; padding: 1px var(--s2); margin-top: var(--s1); }
.pulse-aud > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pulse-aud svg { flex: none; }
.pulse-aud-note { margin: 0 0 var(--s3); }

.pulse-holder-note { align-items: center; margin: var(--s4) 0 0; }
.pulse-holder-note > span { flex: 1; min-width: 0; }
.pulse-holder-note .btn { flex: none; margin-left: auto; }
.pulse-survey-foot .btn.small { margin-left: var(--s2); }






.pulse-mast { margin: 0 0 var(--s4); }
.pulse-mast .pulse-back { margin-left: calc(-1 * var(--s2)); }
.pulse-eyebrow { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-top: var(--s3);
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pulse-accent-deep); }
.pulse-eyebrow svg { color: var(--pulse-accent); flex: none; }

.pulse-eyebrow > span + span::before { content: "·"; color: var(--ink-faint); margin-right: var(--s2); }
.pulse-eyebrow .pulse-state { color: var(--ink-soft); }
.pulse-eyebrow .pulse-state.open { color: var(--favourable-ink); }
.pulse-mast .pulse-title { margin: var(--s2) 0; }
.pulse-desc { margin: 0; max-width: 76ch; color: var(--ink-soft); line-height: 1.55; font-size: var(--fs-body); }
.pulse-facts { list-style: none; margin: var(--s4) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); }
.pulse-facts li { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-label); color: var(--ink);
  font-variant-numeric: tabular-nums; }
.pulse-facts svg { color: var(--pulse-accent); flex: none; }
.pulse-facts li.soon { color: var(--blue-deep); font-weight: 600; }
.pulse-facts li.soon svg { color: var(--blue); }



.pulse-invite { padding: var(--s5); margin: var(--s4) 0; border-left: 3px solid var(--pulse-accent);
  background: radial-gradient(120% 140% at 0% 0%, var(--pulse-accent-tint) 0%, transparent 58%), var(--surface); }
.pulse-invite-head { display: flex; gap: var(--s4); align-items: flex-start; }
.pulse-invite-head > div { min-width: 0; flex: 1; }

.pulse-invite-head > .pulse-empty-ico { flex: none; margin: 0; width: 48px; height: 48px; border-radius: 14px; }
.pulse-invite-head .eyebrow { margin-bottom: 2px; color: var(--pulse-accent-deep); }
.pulse-invite-head b { font-size: var(--fs-card-title); display: block; line-height: 1.3; }
.pulse-invite-head .caption { margin: var(--s2) 0 0; max-width: 64ch; }
.pulse-invite-qs { list-style: none; margin: var(--s4) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--s1); }
.pulse-invite-qs li { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3);
  border-radius: var(--radius-xs); background: color-mix(in srgb, var(--surface-sunk) 70%, var(--surface)); font-size: var(--fs-label); }
.pulse-invite-qs li > span:nth-child(2) { flex: 1; min-width: 0; }
.pulse-invite-n { flex: none; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--fs-micro); font-weight: 700; color: var(--pulse-accent-deep); background: var(--pulse-accent-tint); }
.pulse-invite-type { flex: none; font-size: var(--fs-micro); color: var(--ink-faint); white-space: nowrap; }
.pulse-invite-qs li.more { background: none; color: var(--ink-soft); font-size: var(--fs-caption); padding-left: calc(22px + 2 * var(--s3)); }
.pulse-invite-foot { display: flex; flex-direction: column; gap: var(--s3); margin-top: var(--s4); align-items: flex-start; }
.pulse-invite-foot .caption { max-width: 70ch; margin: 0; }
@media (max-width: 560px) { .pulse-invite { padding: var(--s4); } .pulse-invite-type { display: none; } .pulse-invite-foot .btn { width: 100%; } }


.pulse-survey-foot { display: flex; align-items: center; gap: var(--s3) var(--s4); flex-wrap: wrap; }
.pulse-survey-foot .pulse-foot-note { margin: 0; flex: 1 1 24ch; min-width: 0; }




.pulse-timeline { list-style: none; margin: var(--s5) auto 0; padding: 0; max-width: 36rem; text-align: left;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); }
.pulse-timeline li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--s2); position: relative; }
.pulse-timeline li + li::before { content: ""; position: absolute; top: 10px; left: calc(-50% + 14px); width: calc(100% - 28px); height: 2px;
  background: var(--border); border-radius: 2px; }
.pulse-timeline li.done + li::before { background: var(--pulse-accent); }
.tl-dot { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none;
  background: var(--surface); box-shadow: inset 0 0 0 2px var(--border); color: #fff; position: relative; z-index: 1; }
.pulse-timeline li.done .tl-dot { background: var(--pulse-accent); box-shadow: none; }
.pulse-timeline li.now .tl-dot { box-shadow: inset 0 0 0 2px var(--pulse-accent); }
.pulse-timeline li.now .tl-dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pulse-accent); }
.pulse-timeline li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pulse-timeline b { font-size: var(--fs-label); color: var(--ink); }
.pulse-timeline li:not(.done):not(.now) b { color: var(--ink-soft); }
.pulse-timeline li > div > span { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.4; }
.pulse-next .pulse-lock-actions { margin-top: var(--s5); }
@media (max-width: 560px) {
  .pulse-timeline { grid-template-columns: 1fr; gap: var(--s3); }
  .pulse-timeline li { flex-direction: row; text-align: left; align-items: flex-start; }
  .pulse-timeline li + li::before { display: none; }
}


.pulse-live-meter { display: flex; flex-direction: column; align-items: center; gap: 4px; max-width: 320px; margin: 0 auto var(--s4); }
.pulse-live-meter .pulse-meter { width: 100%; max-width: none; }




.pulse-q-page [role="img"] { max-width: 760px; }




.pulse-glance { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s3); padding: var(--s4) var(--s5) 0; }
.pulse-glance-tile { padding: var(--s3) var(--s4); border-radius: var(--radius-sm); min-width: 0;
  background: var(--pulse-accent-tint); border: 1px solid color-mix(in srgb, var(--pulse-accent) 14%, transparent); }
.pulse-glance-q { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.35; min-height: calc(2 * 1.35em);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pulse-glance-big { font-family: var(--font-head); font-size: var(--fs-section); font-weight: 650; color: var(--pulse-accent-deep); margin-top: var(--s1); line-height: 1.1; }
.pulse-glance-sub { font-size: var(--fs-caption); color: var(--ink); margin-top: 2px; overflow-wrap: anywhere; }
.pulse-yours { padding: var(--s4) var(--s5) 0; }
.pulse-yours .eyebrow { margin-bottom: var(--s2); }
.pulse-yours-wrap { overflow-x: auto; }


.pulse-yours-table { width: 100%; border-collapse: collapse; font-size: var(--fs-label); }
.pulse-yours-table th, .pulse-yours-table td { text-align: left; vertical-align: top; padding: var(--s2) var(--s3); border-bottom: 1px solid var(--border); }
.pulse-yours-table thead th { font-size: var(--fs-caption); font-weight: 650; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .04em; position: static; }
.pulse-yours-table th[scope="row"] { font-weight: 500; color: var(--ink); width: 34%; }
.pulse-yours-table td:nth-child(2) { width: 18%; }
.pulse-yours-table td:nth-child(3) { width: 26%; }
.pulse-yours-table tbody tr:last-child th, .pulse-yours-table tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 560px) {
  .pulse-yours-table thead { display: none; }
  .pulse-yours-table, .pulse-yours-table tbody, .pulse-yours-table tr, .pulse-yours-table th, .pulse-yours-table td { display: block; width: auto; }
  .pulse-yours-table tr { padding: var(--s2) 0 var(--s3); border-bottom: 1px solid var(--border); }
  .pulse-yours-table tr:last-child { border-bottom: 0; }
  .pulse-yours-table th[scope="row"], .pulse-yours-table td:nth-child(2), .pulse-yours-table td:nth-child(3) { width: auto; }
  .pulse-yours-table th[scope="row"] { padding: 0 0 var(--s1); border: 0; font-weight: 600; }
  .pulse-yours-table td { padding: 2px 0; border: 0; }
  .pulse-yours-table td::before { content: attr(data-label) ": "; color: var(--ink-soft); font-size: var(--fs-caption); }
}
.pulse-yours-you { color: var(--blue-deep); font-weight: 650; }
.pulse-yours-note { margin: var(--s2) 0 0; }
.pulse-about { padding: var(--s4) var(--s5); margin-top: var(--s4); }
.pulse-about .eyebrow { margin-bottom: var(--s3); }
.pulse-about-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s3) var(--s5); margin: 0; }
.pulse-about-grid dt { font-size: var(--fs-caption); font-weight: 650; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .04em; }
.pulse-about-grid dd { margin: 2px 0 0; font-size: var(--fs-label); line-height: 1.5; color: var(--ink); }
.pulse-doc-head { display: none; }


@page pulse-report { size: A4; margin: 16mm 14mm 18mm; }
@media print {




  body:has(.pulse-page-report, .pulse-q-page), body:has(.pulse-page-report, .pulse-q-page) :is(.shell, .shell-body, .main, .content),
  .pulse-page-report, .pulse-q-page { page: pulse-report; }
  .pulse-page-report .pulse-report-doc { margin-bottom: 0; }
  body:not(:has(.pack-page)):has(.pulse-page-report, .pulse-q-page) .content { padding: 0 !important; }
  .pulse-mast .pulse-back { display: none !important; }
  .pulse-page-report .pulse-eyebrow .pulse-state:last-child { display: none; }
  .pulse-doc-head.print-only { display: flex; align-items: baseline; gap: var(--s3); font-size: 10pt; color: var(--ink-soft);
    border-bottom: 1px solid var(--border); padding-bottom: 6pt; margin-bottom: 14pt; }
  .pulse-doc-head .logo { font-weight: 700; color: var(--blue); font-size: 13pt; }
  .pulse-doc-head .logo span { color: var(--lumi-coral); }
  .pulse-doc-head > span + span::before { content: "·"; margin-right: var(--s3); color: var(--ink-faint); }



  .pulse-report-doc .pulse-grid-cards { display: block; counter-reset: pq; }
  .pulse-report-doc .pulse-grid-cards .pulse-qcard { margin: 0 0 var(--s5); }

  .pulse-report-doc .pulse-qcard .bench-title::before { counter-increment: pq; content: counter(pq) ". "; color: var(--ink-soft); }

  .pulse-report-doc .pulse-qcard .bench-chart-full { max-width: 640px; }

  .pulse-glance, .pulse-about { break-inside: avoid; }

  .pulse-report-doc .pulse-about { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--border); }
  .pulse-yours-table thead { display: table-header-group; }
  .pulse-yours-table tr { break-inside: avoid; }

  .pulse-yours { break-inside: avoid; }

  .pulse-report-doc .bench-foot .base-note::before { content: "· "; color: var(--ink-faint); }
  .pulse-report-doc .pulse-qcard .bench-chart-full { min-height: 0; }
}
.pulse-goes-to { display: flex; align-items: center; gap: var(--s1); }
.admin-aud-head { margin: var(--s4) 0 0; font-size: var(--fs-caption); }
.admin-aud-cell { max-width: 260px; }
.admin-aud-warn { color: var(--neutral-perf); font-weight: 600; }


.profile-menu { position: relative; }
.avatar { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--blue-tint-2);
  background: var(--blue-tint); color: var(--blue-deep); font: 650 var(--fs-caption)/1 var(--font-head);
  letter-spacing: .02em; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  transition: box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease; }
.avatar:hover { box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 14%, transparent); }
.avatar.active { box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 22%, transparent); }
.profile-pop { position: absolute; right: 0; top: calc(100% + 8px); min-width: 264px; z-index: var(--z-popover);
  padding: var(--s2); box-shadow: var(--shadow-pop); }
.profile-id { padding: var(--s2) var(--s3) var(--s2); display: flex; align-items: center; gap: var(--s3); }
.profile-id-av { flex: none; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font: 700 14px/1 var(--font-head); color: #fff; background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep)); }
.profile-id-name { font-weight: 650; font-size: var(--fs-label); color: var(--ink); }
.profile-id-mail { font-size: var(--fs-caption); color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-id-org { font-size: var(--fs-caption); color: var(--ink-faint); margin-top: 1px; }
.profile-sep { height: 1px; background: var(--border); margin: var(--s1) 2px; }
.profile-item { display: flex; align-items: center; gap: var(--s3); width: 100%; text-align: left; border: 0; background: none;
  padding: var(--s2) var(--s3); border-radius: var(--radius-xs); font-size: var(--fs-label); color: var(--ink); cursor: pointer; }
.profile-item svg { color: var(--ink-faint); }
.profile-item:hover { background: var(--surface-sunk); }
.profile-item:hover svg { color: var(--blue); }


.group-table td, .group-table th { vertical-align: top; }
.grp-cell { white-space: nowrap; }



.grp-above, .grp-below { color: var(--amber-deep); font-weight: 650; }
.grp-on { color: var(--ink); }
.grp-active td { background: var(--blue-tint); }
.grp-unit-name { overflow-wrap: anywhere; }






.group-card { position: relative; }
@media screen {
  .group-scroll { overflow-x: auto; border-radius: inherit; }
  .group-table th { white-space: nowrap; }



  .group-scroll table.data th { position: static; top: auto; }
  .group-scroll .group-table th:first-child, .group-scroll .group-table td:first-child {
    position: sticky; left: 0; z-index: 1; background: var(--surface); min-width: 11rem; max-width: 16rem; }
  .group-scroll .group-table tbody tr:nth-child(even) td:first-child { background: var(--surface-sunk); }
  .group-scroll .group-table tbody tr.grp-active td:first-child,
  .group-scroll .group-table tbody tr:hover td:first-child { background: var(--blue-tint); }
  .group-card.more-left .group-table th:first-child, .group-card.more-left .group-table td:first-child {
    box-shadow: 8px 0 10px -8px color-mix(in srgb, var(--ink) 28%, transparent); }
  .group-card.more-right::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 44px;
    pointer-events: none; border-radius: 0 var(--radius) var(--radius) 0;
    background: linear-gradient(to right, transparent, color-mix(in srgb, var(--ink) 10%, transparent)); }
  .group-scroll:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
}
.grp-scroll-hint { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin: 0 0 var(--s2); color: var(--ink-soft); }

.grp-cards { display: flex; flex-direction: column; gap: var(--s3); }
.grp-ucard { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s1); min-width: 0; }
.grp-ucard.grp-active { border-color: var(--blue); }
.grp-ucard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s3); }
.grp-ucard-head .team-state { flex: none; }
.grp-ucard-market { display: flex; flex-direction: column; gap: 2px; margin-top: var(--s2); padding-top: var(--s2); border-top: 1px solid var(--border); }
.grp-ucard-areas { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--s3); margin: var(--s2) 0 0;
  font-size: var(--fs-caption); line-height: var(--lh-caption); }
.grp-ucard-areas > div { display: contents; }
.grp-ucard-areas dt { color: var(--ink-soft); min-width: 0; }
.grp-ucard-areas dd { margin: 0; text-align: right; }
.print-only { display: none; }




@page group { size: A4 landscape; margin: 0; }
@media print {
  .print-only { display: block; }
  body:has(.group-view), .group-view { page: group; }
  .group-view .card { box-shadow: none; border: 0; }
  .group-scroll { overflow: visible; }


  .group-view table.data.group-table { table-layout: fixed; width: 100%; font-size: 7.5pt; }
  .group-view .group-table th, .group-view .group-table td { white-space: normal !important; padding: 4px; overflow-wrap: break-word; }
  .group-view table.data.group-table th { font-size: 6pt; letter-spacing: 0; }
  .group-view .group-table th:nth-child(1) { width: 12%; }
  .group-view .group-table th:nth-child(2) { width: 9%; }
  .group-view .group-table th:nth-child(3) { width: 11%; }
  .group-view .group-table th:nth-child(4) { width: 10%; }
  .group-view .group-table .caption, .group-view .group-table .team-state { font-size: 6.5pt; }
  .group-view .group-table .grp-market { min-width: 0; }
  .group-view .grp-unit-name { overflow-wrap: normal; }
  .group-view .grp-market-verdict, .group-view .grp-market-counts { white-space: normal; }
  .group-table tr { break-inside: avoid; }
}

.unit-access { position: relative; white-space: nowrap; }
.unit-access-list { display: flex; flex-direction: column; border-top: 1px solid var(--border); }
.unit-access-row { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) 0; border-bottom: 1px solid var(--border);
  font-size: var(--fs-label); cursor: pointer; }
.unit-access-row input[type="checkbox"] { flex: none; width: 18px; height: 18px; }
.unit-access-row .unit-access-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.unit-access-row .ctl { flex: none; width: auto; }
.unit-access-acts { gap: var(--s2); margin-top: var(--s4); flex-wrap: wrap; }
.team-unit-role { font-size: var(--fs-label); color: var(--ink); white-space: nowrap; }

.copy-unit { margin: var(--s4) 0; padding: var(--s4) var(--s5); }
.copy-unit-head { align-items: center; gap: var(--s3); flex-wrap: wrap; }
.copy-unit.is-off { background: var(--surface-sunk); box-shadow: none; }
.copy-unit-form { display: flex; flex-direction: column; gap: var(--s3); margin-top: var(--s3); }
.copy-unit-form .ctl { display: block; margin-top: 4px; max-width: 360px; width: 100%; }
.copy-unit-areas { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); align-items: center; }
.copy-unit-picks { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); width: 100%; }
@media (max-width: 640px) { .copy-unit { padding: var(--s4); } }


.data-q-flag.staged { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }
.data-staged { display: flex; gap: var(--s3); align-items: flex-start; margin-top: var(--s3); padding: var(--s3);
  border-radius: var(--radius-sm); background: var(--neutral-perf-tint); font-size: var(--fs-label); line-height: 1.5; color: var(--ink-soft); }
.data-staged b { color: var(--ink); }
.data-staged .du-ico { background: var(--surface); color: var(--neutral-perf-ink); }

.unit-add-form { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: flex-end; margin-top: var(--s2); }
.unit-add-field { display: flex; flex-direction: column; gap: 2px; flex: 1 1 18rem; min-width: 0; }
.unit-add-field .ctl { max-width: none; width: 100%; }
.unit-add-err { margin-top: var(--s1); }
.unit-row .set-row-l { min-width: 0; }
.unit-row .set-row-ctl { flex-wrap: wrap; justify-content: flex-end; gap: var(--s2); }

.unit-caption { display: flex; align-items: center; gap: 6px; margin-top: var(--s1); color: var(--ink-soft); min-width: 0; }
.unit-caption > svg { flex: none; color: var(--ink-faint); }
.unit-caption > span { min-width: 0; overflow-wrap: anywhere; }
.unit-caption b { color: var(--ink); font-weight: 650; }
.ov-page > .unit-caption { margin: 0 0 var(--s3); }
.unit-switch { position: relative; }
.unit-switch-btn { max-width: 260px; gap: 6px; }
.unit-switch.is-fixed .unit-switch-btn { cursor: default; }
.unit-switch-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; }
.unit-switch-caret { opacity: .7; font-size: 11px; }




.unit-pop { min-width: 280px; width: max-content; max-width: min(440px, calc(100vw - 32px)); }
.unit-pop-group { display: block; margin-top: 2px; color: var(--ink-faint); font-weight: 400; overflow-wrap: anywhere; }
.unit-item { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s3); }
.unit-item.on { background: var(--blue-tint); color: var(--blue-deep); font-weight: 650; }
.unit-item-txt { display: flex; flex-direction: column; min-width: 0; }
.unit-item-name { white-space: normal; overflow-wrap: anywhere; }
.unit-item-state { flex: none; color: var(--ink-soft); font-weight: 400; padding-top: 1px; }
@media (max-width: 900px) { .unit-switch-name { max-width: 110px; } }
@media (max-width: 600px) {
  .brandbar .unit-switch { position: static; }
  .brandbar .unit-pop { left: var(--s4); right: var(--s4); top: calc(100% + 4px); width: auto; min-width: 0; max-width: none; }
}


.how-hub { display: flex; gap: var(--s5); align-items: flex-start; }
.how-tabs { position: sticky; top: calc(var(--brandbar-live, var(--brandbar-h)) + 20px); flex: 0 0 200px; display: flex; flex-direction: column; gap: 2px; }
.how-tab { text-align: left; border: 0; background: none; padding: var(--s2) var(--s3); border-radius: var(--radius-xs);
  font-size: var(--fs-label); color: var(--ink-soft); cursor: pointer; }
.how-tab:hover { background: var(--surface-sunk); color: var(--ink); }
.how-tab.active { background: var(--blue-tint); color: var(--blue-deep); font-weight: 650; }
.how-body { flex: 1; min-width: 0; }
.how-section-head { font-family: var(--font-head); font-size: var(--fs-section); font-weight: 650; color: var(--ink);
  margin: var(--s5) 0 var(--s3); padding-top: var(--s2); scroll-margin-top: calc(var(--brandbar-live, var(--brandbar-h)) + 28px); }
.how-card { padding: var(--s5); margin-bottom: var(--s4); scroll-margin-top: calc(var(--brandbar-live, var(--brandbar-h)) + 28px); }
.how-card h3.section-title { margin-top: 0; }


.how-card > p, .how-card > ul, .how-card > ol { max-width: 72ch; }
.how-body { max-width: 900px; }

.mp-legend { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin: var(--s1) 0 var(--s4); font-size: var(--fs-caption); color: var(--ink-soft); }
.mp-legend span { display: inline-flex; align-items: center; gap: var(--s2); }
.mp-legend .sw { width: 11px; height: 11px; border-radius: 3px; display: inline-block; flex: none; }


.mp-class-chip.headline { background: var(--favourable-tint); color: var(--favourable-ink); }
.mp-class-chip.differs  { background: var(--differs-tint); color: var(--differs); }
.mp-class-chip.context  { background: var(--blue-tint); color: var(--navy); }
.mp-class-chip.fav      { background: var(--favourable-tint); color: var(--favourable-ink); }
.how-note { background: var(--neutral-perf-tint); border-radius: var(--radius-sm); padding: var(--s3) var(--s4);
  margin-bottom: var(--s3); font-size: var(--fs-body); }
.anchor-flash { animation: anchor-flash 1.6s ease-out; }
@keyframes anchor-flash { 0%, 30% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 35%, transparent); }
  100% { box-shadow: 0 0 0 3px transparent; } }
.legal-list { display: flex; flex-direction: column; gap: 2px; margin-top: var(--s2); }
.legal-row { display: flex; align-items: center; gap: var(--s3); width: 100%; text-align: left; border: 0;
  background: none; padding: var(--s3); border-radius: var(--radius-sm); cursor: pointer; font-size: var(--fs-label);
  color: var(--ink); border: 1px solid transparent; }
.legal-row:hover { background: var(--surface-sunk); border-color: var(--border); }
.legal-row-go { color: var(--ink-faint); }
.legal-modal .terms-text { font-size: var(--fs-body); }


.auth-footer { display: flex; gap: var(--s2); justify-content: center; align-items: center;


  margin-top: var(--s5); color: var(--ink-faint); font-size: var(--fs-caption); }
.auth-foot-link { background: none; border: 0; padding: 0; color: var(--ink-soft); cursor: pointer;
  font-size: var(--fs-caption); }
.auth-foot-link:hover { color: var(--blue-bright); text-decoration: underline; text-underline-offset: 3px; }






.auth-cert { display: flex; align-items: center; justify-content: center; gap: 24px;
  margin-top: 24px; color: var(--ink-soft); font-size: var(--fs-caption); text-decoration: none; }
.auth-cert img { width: 60px; height: auto; }
.auth-cert:hover { color: var(--blue-bright); text-decoration: underline; text-underline-offset: 3px; }
.cert-line { display: block; }




.not-asked { margin: 0 0 var(--s2) 52px; font-size: var(--fs-caption); color: var(--text-muted); }
.not-asked > summary { cursor: pointer; padding: var(--s1) 0; list-style: none; width: fit-content;
  border-radius: var(--radius); }
.not-asked > summary::-webkit-details-marker { display: none; }
.not-asked > summary::before { content: "›"; display: inline-block; width: 1em; transition: transform 120ms var(--ease-out); }
.not-asked[open] > summary::before { transform: rotate(90deg); }
.not-asked > summary:hover { color: var(--ink); }
.not-asked > summary:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.not-asked ul { margin: var(--s1) 0 var(--s2); padding-left: 1.15em; display: grid; gap: 6px; }
.not-asked li { line-height: 1.5; }
.not-asked li b { font-weight: 600; color: var(--ink); }
@media (max-width: 640px) { .not-asked { margin-left: var(--s3); } }



.field-input { position: relative; }
.field-input.has-toggle input { padding-right: 68px; }
.field-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  background: none; border: 0; padding: var(--s1) var(--s2); min-height: 32px;
  color: var(--ink-soft); cursor: pointer; font-size: var(--fs-label); font-weight: 600;
  border-radius: var(--radius-xs); }
.field-toggle:hover { color: var(--blue-deep); background: var(--surface-sunk); }
.field-toggle:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }

.how-hub > * { min-width: 0; }
.how-card table.data { display: block; overflow-x: auto; }
@media (max-width: 880px) {







  .how-hub { flex-direction: column; align-items: stretch; }
  .how-hub > * { max-width: 100%; }
  .how-tabs { position: static; flex-direction: row; flex-wrap: wrap; flex-basis: auto; }
}


.search-empty { padding: var(--s2); }
.search-suggest { border-radius: var(--radius-xs); }
.search-divider { height: 1px; background: var(--border); margin: var(--s2) 0; }
.search-nores { padding: 2px; }




.sidebar-head { position: absolute; top: var(--s1); right: var(--s2); display: flex; align-items: center; justify-content: flex-end;
  min-height: 0; padding: 0; }
.sidebar.collapsed .sidebar-head { position: static; }
.rail-toggle { border: 0; background: none; cursor: pointer; color: var(--ink-faint); padding: var(--s1);
  border-radius: var(--radius-xs); display: inline-flex; align-items: center; transition: background var(--dur-fast) ease, color var(--dur-fast) ease; }
.rail-toggle:hover { background: var(--surface-sunk); color: var(--ink); }

.sidebar.collapsed { width: 66px; flex-basis: 66px; padding-left: var(--s2); padding-right: var(--s2); overflow: visible; }
.sidebar.collapsed .sidebar-head { justify-content: center; padding: var(--s1) 0 var(--s3); }
.sidebar.collapsed .nav-txt,
.sidebar.collapsed .nav-count,
.sidebar.collapsed .nav-beta,
.sidebar.collapsed .nav-label,
.sidebar.collapsed .nav-chev { display: none; }
.sidebar.collapsed .nav-item { justify-content: center; padding: 0; gap: 0; position: relative; }
.sidebar.collapsed .nav-group { display: flex; flex-direction: column; align-items: stretch; }


.sidebar.collapsed .nav-item::after {
  content: attr(data-tip); position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%);
  background: var(--ink); color: #fff; font-size: var(--fs-caption); font-weight: 600; white-space: nowrap;
  padding: var(--s1) var(--s2); border-radius: var(--radius-xs); box-shadow: var(--shadow-pop); opacity: 0; pointer-events: none;
  transition: opacity var(--dur-fast) ease; z-index: var(--z-popover); }
.sidebar.collapsed .nav-item:hover::after,
.sidebar.collapsed .nav-item:focus-visible::after { opacity: 1; }


.rail-flyout-wrap { position: relative; }
.rail-flyout { position: absolute; left: calc(100% + 10px); top: 0; min-width: 188px; z-index: var(--z-popover);
  padding: var(--s2); box-shadow: var(--shadow-pop); }
.rail-flyout-head { color: var(--ink-faint); padding: var(--s1) var(--s2) var(--s2); }
.rail-flyout-item { display: flex; align-items: center; width: 100%; text-align: left; border: 0;
  background: none; padding: var(--s2) var(--s3); border-radius: var(--radius-xs); font-size: var(--fs-label); color: var(--ink);
  cursor: pointer; }
.rail-flyout-item .nav-count { margin-left: auto; font-size: var(--fs-caption); color: var(--ink-faint); font-weight: 500; }

.nav-count-tick { animation: nav-count-in 220ms var(--ease-out) backwards; }
@keyframes nav-count-in { from { opacity: 0; transform: translateY(-3px); } }
.rail-flyout-item:hover { background: var(--surface-sunk); }
.rail-flyout-item.active { background: var(--blue-tint); color: var(--blue-deep); font-weight: 650; }
.rail-flyout-item.active .nav-count { color: var(--blue-deep); }

@media (prefers-reduced-motion: reduce) {
  .sidebar.collapsed .nav-item::after { transition: none; }
}


.admin-console { max-width: 1120px; }
.admin-head { margin-bottom: var(--s3); display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--s2) var(--s4); flex-wrap: wrap; }
.admin-head-who { margin: 0; color: var(--ink-faint); }







.admin-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--border); margin: var(--s3) 0 var(--s4);
  overflow-x: auto; scrollbar-width: thin; }


.admin-tabs { scroll-behavior: smooth;
  mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent 100%); }
.admin-tabs:not(.is-scrollable) { mask-image: none; -webkit-mask-image: none; }
.admin-tabs .admin-tab { flex: none; white-space: nowrap; }
.admin-tab { display: inline-flex; align-items: center; gap: var(--s2); background: none; border: 0;
  border-bottom: 2px solid transparent; padding: var(--s2) var(--s2); font-size: var(--fs-label); font-weight: 600;
  color: var(--color-text-tertiary); cursor: pointer; }
.admin-tab:focus-visible { outline: var(--focus-outline); outline-offset: -2px; border-radius: 4px; }
.admin-tab:hover { color: var(--ink); }
.admin-tab.on { color: var(--blue); border-bottom-color: var(--blue); }

.admin-tab.group-start { margin-left: var(--s3); position: relative; }
.admin-tab.group-start::before { content: ""; position: absolute; left: calc(-1 * var(--s2) - 1px); top: 25%;
  bottom: 25%; width: 1px; background: var(--border); }

.admin-tab-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem;
  height: 1.2rem; padding: 0 5px; border-radius: 999px; font-size: var(--fs-micro); font-weight: 700;
  font-variant-numeric: tabular-nums; background: var(--blue); color: #fff; line-height: 1; }
.admin-tab-badge.warn { background: var(--neutral-perf-tint); color: var(--amber-deep); }
.admin-toolbar { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); flex-wrap: wrap; }
.admin-toolbar .ctl { max-width: 340px; }













.admin-tablewrap { overflow-x: visible; position: relative; }
@media (max-width: 1359px) {
  .admin-tablewrap { overflow-x: auto; }
  .admin-tablewrap table.data th { position: static; top: auto; }
}
.admin-table { width: 100%; }
.admin-table td, .admin-table th { vertical-align: top; }
.admin-card { padding: var(--s4); margin-bottom: var(--s3); }

.admin-rowlink { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; color: var(--ink);
  cursor: pointer; text-align: left; }
.admin-rowlink:hover { color: var(--blue); text-decoration: underline; }
.admin-rowlink:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-xs); }

.admin-orgline { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); align-items: baseline;
  margin: var(--s1) 0 var(--s2); font-size: var(--fs-label); color: var(--ink-soft); }
.admin-orgline > span { position: relative; }
.admin-orgline > span + span::before { content: "·"; color: var(--ink-soft);
  margin-right: var(--s3); margin-left: calc(var(--s3) * -0.5); }
.admin-orgline .good { color: var(--favourable, #2A7049); font-weight: 700; }
.admin-orgline .bad { color: var(--amber-deep); font-weight: 700; }



.admin-fold > summary { cursor: pointer; list-style: none; display: flex; gap: var(--s2);
  align-items: baseline; padding: var(--s2) 0; }
.admin-fold > summary::-webkit-details-marker { display: none; }
.admin-fold > summary::before { content: "▸"; color: var(--ink-faint); font-size: 11px;
  transition: transform .12s ease; display: inline-block; }
.admin-fold[open] > summary::before { transform: rotate(90deg); }
.admin-fold > summary:hover { color: var(--blue-deep); }
.admin-fold > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px;
  border-radius: var(--radius-xs); }
.admin-fold.tight > summary { font-size: var(--fs-label); font-weight: 600; color: var(--ink-soft); }
@media (prefers-reduced-motion: reduce) { .admin-fold > summary::before { transition: none; } }




.admin-orgsum { display: flex; gap: var(--s5); align-items: baseline; flex-wrap: wrap;
  margin-bottom: var(--s3); font-size: var(--fs-body); color: var(--ink-soft); }
.admin-orgsum b { color: var(--ink); font-size: var(--fs-h3); font-weight: 700;
  margin-right: 2px; font-variant-numeric: tabular-nums; }
.admin-orgsum .warn, .admin-orgsum .warn b { color: var(--amber-deep); }
.admin-orgsum .quiet, .admin-orgsum .quiet b { color: var(--ink-faint); font-weight: 600; }

.admin-views { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--radius-sm);
  background: var(--sunk, rgba(0,0,0,.04)); flex-wrap: wrap; }
.admin-view { border: 0; background: transparent; cursor: pointer; border-radius: calc(var(--radius-sm) - 2px);
  padding: 6px var(--s3); font: inherit; font-size: var(--fs-label); font-weight: 600;
  color: var(--ink-soft); display: inline-flex; align-items: center; gap: 6px; }
.admin-view:hover { color: var(--ink); }
.admin-view.on { background: var(--surface, #fff); color: var(--ink);
  box-shadow: 0 1px 2px rgba(20,38,79,.10); }
.admin-view .n { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--ink-faint);
  font-size: var(--fs-micro); }
.admin-view.on .n { color: var(--blue-deep); }
.admin-view:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }



.admin-sub { font-size: var(--fs-micro); color: var(--ink-faint); margin-top: 2px;
  max-width: 34ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-ok { color: var(--favourable, #2A7049); font-weight: 600; font-size: var(--fs-label); }

.admin-table td.num.quiet { color: var(--ink-faint); }


.admin-row-attn td:first-child { box-shadow: inset 3px 0 0 var(--amber-bright); }




.admin-stale { color: var(--amber-deep); font-weight: 600; }

.admin-pill { display: inline-block; font-size: var(--fs-micro); font-weight: 600; padding: 1px var(--s2);
  border-radius: var(--radius-xs); background: var(--blue-tint); color: var(--blue-deep); white-space: nowrap; }
.admin-status { display: inline-block; font-size: var(--fs-micro); font-weight: 600; padding: 1px var(--s2);
  border-radius: var(--radius-xs); text-transform: capitalize; background: var(--surface-sunk); color: var(--ink); white-space: nowrap; }




.admin-status.phrase { text-transform: none; }
.admin-status-open, .admin-status-accepted, .admin-status-applied { background: var(--favourable-tint); color: var(--favourable-ink); }
.admin-status-closed, .admin-status-rejected { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.admin-status-draft, .admin-status-queued, .admin-status-new { background: var(--blue-tint); color: var(--blue-deep); }
.admin-status-archived, .admin-status-reviewed, .admin-status-scheduled { background: var(--surface-sunk); color: var(--color-text-tertiary); }



.admin-status.admin-status-in_review, .admin-status.admin-status-changes_requested {
  background: var(--neutral-perf-tint); color: var(--neutral-perf); }
.admin-yes { color: var(--favourable); font-weight: 600; font-size: var(--fs-caption); }
.admin-triage { display: grid; grid-template-columns: 150px 1fr auto; gap: var(--s2); align-items: start; margin-top: var(--s2); }
.admin-actions { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; }
.admin-form { max-width: 720px; }
.admin-form > label { display: block; font-size: var(--fs-caption); font-weight: 600; color: var(--ink); margin: var(--s3) 0 0; }
.admin-form .ctl, .admin-form textarea.ctl, .admin-form select.ctl { width: 100%; margin-top: var(--s1); }
.admin-grid2 { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s3); }
.admin-grid2 > label { display: block; font-size: var(--fs-caption); font-weight: 600; color: var(--ink); margin: var(--s3) 0 0; }
.admin-qpick { max-height: 280px; overflow: auto; border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: var(--s2); margin-top: var(--s1); }
.admin-qpick label { display: flex; gap: var(--s2); align-items: center; padding: var(--s1) var(--s2);
  font-size: var(--fs-label); cursor: pointer; border-radius: var(--radius-2xs); }
.admin-qpick label:hover { background: var(--surface-sunk); }
.admin-subform { border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--s3) var(--s3); margin-top: var(--s3); background: var(--surface-sunk); }
.admin-subform label { display: block; font-size: var(--fs-caption); font-weight: 600; margin: var(--s2) 0 0; }
.admin-subform .ctl { width: 100%; margin-top: var(--s1); }



.admin-qlist { margin-top: var(--s1); }
.admin-qlist .pulse-newq, .admin-qlist .pulse-keep-row { margin-top: var(--s3); }
.admin-qlist .pulse-newq label { display: block; font-size: var(--fs-caption); font-weight: 600; color: var(--ink); margin: var(--s2) 0 0; }
.admin-qlist .pulse-newq .ctl { width: 100%; max-width: none; margin-top: var(--s1); }
.admin-qlist .pulse-add-tile { margin-top: var(--s3); }

.admin-close-when { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--s3); }
.admin-close-when > label { display: block; font-size: var(--fs-caption); font-weight: 600; color: var(--ink); margin: var(--s3) 0 0; }
.admin-close-when .ctl { width: 100%; max-width: none; margin-top: var(--s1); }

.admin-when-inline .ctl { width: auto; }
.admin-pulse-filter .seg-btn .caption { margin-left: 3px; opacity: .75; }
.seg-btn.on .caption { color: inherit; }
@media (max-width: 640px) {
  .admin-close-when { grid-template-columns: minmax(0, 1fr); }



  .admin-pulse-table, .admin-pulse-table tbody, .admin-pulse-table tr, .admin-pulse-table td { display: block; }
  .admin-pulse-table thead { display: none; }
  .admin-pulse-table tbody tr { padding: var(--s3) 0; border-bottom: 1px solid var(--border); }
  .admin-pulse-table td { padding: 2px 0; border: 0; text-align: left; }
  .admin-pulse-table td.admin-pulse-name { padding-bottom: var(--s1); }
  .admin-pulse-table td[data-label]::before { content: attr(data-label) " · "; font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft); }
  .admin-pulse-table td.num { display: inline-block; margin-right: var(--s3); text-align: left; }
  .admin-pulse-table td.admin-aud-cell { max-width: none; }
  .admin-pulse-table td.admin-pulse-actions { padding-top: var(--s2); }
}



.srl-line.muted { opacity: .6; font-weight: 500; }
.cr-opt.on { background: var(--blue); border-color: var(--blue); color: #fff; }

@media print {





  .qstage, .qstage > * { animation: none !important; opacity: 1 !important; transform: none !important; }
  .unsub-bar { display: none !important; }
}


.confirm-grid { display: flex; flex-direction: column; gap: var(--s3); }
.confirm-row { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s4) var(--s4); display: flex; align-items: center; justify-content: space-between; gap: var(--s4); box-shadow: var(--shadow-soft); }
.derived-note { background: var(--blue-tint); border: 1px dashed var(--blue-tint-2); border-radius: var(--radius-sm);
  padding: var(--s3) var(--s4); font-size: var(--fs-label); color: var(--blue-deep); display: flex; gap: var(--s2); align-items: flex-start; }
.derived-note svg { flex: none; margin-top: 1px; }


.scale { position: relative; padding: var(--s2) 0 2px; }


.kbd-hint { display: none; font-size: var(--fs-micro); opacity: .72; font-weight: 500; margin-left: var(--s2); }

@media (hover: hover) and (pointer: fine) { .kbd-hint { display: inline; } }
.qstage { opacity: 1; transition: opacity var(--dur-fast) var(--ease-in); }
.qstage.leaving { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .qstage { animation: q-in var(--dur-base) var(--ease-out) both; }
  .qstage > * { animation: q-in var(--dur-base) var(--ease-out) both; }
  .qstage > *:nth-child(2) { animation-delay: 50ms; }
  .qstage > *:nth-child(3) { animation-delay: 100ms; }
  .qstage.leaving { animation: none; transform: translateY(-10px); transition: opacity var(--dur-fast) var(--ease-in), transform var(--dur-fast) var(--ease-in); }
  @keyframes q-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
  .cr-opt:active { transform: scale(0.97); }













  .signal-row:active { transform: translateY(0); }
  .data-row:active { background: color-mix(in srgb, var(--blue) 8%, var(--surface-card)); }
  .cr-opt { transition: transform var(--dur-fast) var(--ease-out), background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
}
@media (max-width: 640px) { .confirm-row { flex-wrap: wrap; } }




.align-chip { display: inline-flex; align-items: center; gap: var(--s1); font-size: var(--fs-caption);
  font-weight: 600; color: var(--navy); background: color-mix(in srgb, var(--navy) 8%, transparent);
  padding: 1px var(--s2); border-radius: var(--radius-2xs);


  line-height: var(--lh-caption); white-space: nowrap; }
.align-chip svg { color: var(--navy); flex: none; }
.align-chip-sm { font-size: var(--fs-micro); padding: 0 6px; gap: 3px; }





.sglyph { display: inline-block; vertical-align: middle; flex: none; }
.sg-track { fill: color-mix(in srgb, var(--ink) 11%, transparent); }
.sg-zone { fill: color-mix(in srgb, var(--ink) 20%, transparent); }
.sg-dot { fill: var(--navy); transform-box: fill-box; transform-origin: center;
  animation: sg-pop .5s cubic-bezier(.2,.85,.3,1.4) both; }






.sg-dot-on_target { fill: var(--favourable); }
.sg-dot-behind { fill: var(--amber-bright); }
.sg-dot-ahead { fill: var(--unfavourable); }


.sg-arrow { stroke: var(--navy); fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sg-arrow-on_target { stroke: var(--favourable); }
.sg-arrow-behind { stroke: var(--amber-bright); }
.sg-arrow-ahead { stroke: var(--unfavourable); }
.sg-halo { fill: var(--navy); transform-box: fill-box; transform-origin: center; }
.sg-halo-behind { fill: var(--amber-bright); }
.sg-halo-ahead { fill: var(--unfavourable); }
.sglyph-behind .sg-halo, .sglyph-ahead .sg-halo { animation: sg-halo 2.6s ease-out .5s 3 both; }
.sglyph-on_target .sg-halo { display: none; }
@keyframes sg-pop { from { transform: scale(0); opacity: 0; } 60% { transform: scale(1.25); } to { transform: scale(1); opacity: 1; } }
@keyframes sg-halo { 0% { transform: scale(1); opacity: .5; } 70%, 100% { transform: scale(2.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .sg-dot, .sg-halo { animation: none !important; } .sg-halo { display: none; } }
.di-smark { display: inline-flex; align-items: center; justify-content: center; }

.filterbar { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; padding: var(--s2) 0 var(--s3); }
.fb-cue { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-micro); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-faint); margin-right: var(--s1); }
.fb-cue svg, .fb-facet svg { color: var(--ink-faint); }
.fb-wrap { position: relative; }



.fb-facet { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface); font-size: var(--fs-caption); font-weight: 500; color: var(--ink-soft); cursor: pointer;
  transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
.fb-facet:hover { border-color: color-mix(in srgb, var(--ink) 22%, var(--surface)); }
.fb-facet.on { background: color-mix(in srgb, var(--navy) 9%, var(--surface)); border-color: color-mix(in srgb, var(--navy) 34%, var(--border)); color: var(--navy); }
.fb-facet.on svg { color: var(--navy); }
.fb-facet[aria-expanded="true"] { border-color: var(--navy); box-shadow: 0 0 0 2px color-mix(in srgb, var(--navy) 13%, transparent); }
.fb-badge { font-size: var(--fs-micro); background: var(--navy); color: #fff; border-radius: 999px; min-width: 15px; text-align: center; padding: 0 4px; line-height: 15px; }
.fb-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; min-width: 212px; padding: 5px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow-pop);
  animation: fb-menu-in var(--dur-fast) ease-out both;
  max-width: min(280px, calc(100vw - 2 * var(--s3))); }



@media (max-width: 700px) {
  .fb-menu { position: fixed; top: auto; left: var(--s3); right: var(--s3); bottom: var(--s3);
    max-width: none; z-index: 300; max-height: 60vh; overflow-y: auto; }
}
@keyframes fb-menu-in { from { opacity: 0; transform: translateY(-4px); } }



.profile-pop, .notif-pop, .kebab-menu, .brf-menu, .bp-menu { animation: fb-menu-in 140ms var(--ease-out) both; }
.fb-menu-h { font-size: var(--fs-micro); letter-spacing: .07em; text-transform: uppercase; color: var(--ink-faint); padding: 7px 10px 5px; }
.fb-row { display: flex; align-items: center; gap: var(--s2); width: 100%; padding: 7px 10px; border: 0; background: none; border-radius: var(--radius-xs);
  font-size: var(--fs-label); color: var(--ink); cursor: pointer; text-align: left; }
.fb-row:hover { background: color-mix(in srgb, var(--navy) 7%, transparent); }
.fb-row-sep { margin-top: 5px; padding-top: 11px; border-top: 1px solid var(--border); border-radius: 0; }


.fb-ck { width: 15px; height: 15px; border-radius: var(--radius-2xs); border: 1.5px solid color-mix(in srgb, var(--ink) 45%, transparent); flex: none; position: relative; }
.fb-ck-radio { border-radius: 50%; }
.fb-row.sel .fb-ck { background: var(--navy); border-color: var(--navy); }
.fb-row.sel .fb-ck:not(.fb-ck-radio)::after { content: "\2713"; color: #fff; font-size: 10px; line-height: 14px; text-align: center; position: absolute; inset: 0; }
.fb-row.sel .fb-ck-radio::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #fff; position: absolute; inset: 0; margin: auto; }
.fb-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.fb-dot-amber { background: var(--amber-bright); } .fb-dot-green { background: var(--favourable); }
.fb-dot-red { background: var(--unfavourable); } .fb-dot-practice { background: var(--differs); }
.fb-row-lab { flex: 1; }
.fb-n { font-size: var(--fs-caption); color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.fb-clear { border: 0; background: none; color: var(--blue-bright); font-size: var(--fs-label); font-weight: 500; cursor: pointer; padding: 6px; }
.fb-clear:hover { text-decoration: underline; }

.sp-masthead { display: flex; flex-direction: column; gap: var(--s3); margin-bottom: var(--s5); }
.sp-ctl-band { display: flex; align-items: center; gap: var(--s3) var(--s4); flex-wrap: wrap; }
.sp-ctl-band .filterbar { padding: 0; }
.sp-ctl-band .peerbar { margin: 0; }


.bench-strat { flex: none; display: inline-flex; align-items: center; margin-left: auto; }
.sig-strat { display: inline-flex; align-items: center; margin-left: var(--s2); vertical-align: middle; }
.brf-strat { display: inline-flex; align-items: center; }



.strat-nudge { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4); margin-bottom: var(--s4);
  background: var(--blue-tint); border: 1px solid var(--blue-tint-2); border-radius: var(--radius); }
.strat-nudge-icon { width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--surface); color: var(--blue);
  display: inline-flex; align-items: center; justify-content: center; flex: none; box-shadow: var(--shadow-soft); }
.strat-nudge-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.strat-nudge-body b { font-size: var(--fs-label); color: var(--ink); }
.strat-nudge-body span { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.4; }
.strat-nudge-cta { flex: none; }
@media (max-width: 640px) { .strat-nudge { flex-wrap: wrap; } .strat-nudge-body { flex-basis: 100%; } }





.dash-tabs { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s4); align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border); padding-bottom: var(--s3); margin-bottom: var(--s3); }
.dash-tab-track { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: center; min-width: 0; }
.dash-tab-actions { display: flex; gap: var(--s2); align-items: center; flex: none; margin-left: auto; }
.dash-tab { display: inline-flex; align-items: center; gap: var(--s2); height: 32px; padding: 0 var(--s3);
  border: 1px solid var(--border); background: var(--surface); color: var(--ink-soft);
  border-radius: 999px; font-size: var(--fs-label); font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast); }
.dash-tab:hover { color: var(--ink); border-color: var(--ink-faint); }
.dash-tab.on { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 2px 8px color-mix(in srgb, var(--blue) 22%, transparent); }
.dash-tab-name { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.dash-tab-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px;
  padding: 0 var(--s1); border-radius: 999px; font-size: var(--fs-micro); font-weight: 700; background: var(--surface-sunk); color: var(--ink-soft); }
.dash-tab.on .dash-tab-count { background: rgba(255,255,255,.22); color: #fff; }
.dash-tab-new { color: var(--blue); border-style: dashed; background: transparent; font-weight: 700; }
.dash-tab-new:hover { color: var(--blue-deep); border-color: var(--blue); background: var(--blue-tint); }
.dash-tab-new[disabled], .dash-tab-build[disabled] { opacity: .5; cursor: default; }



.dash-tab-build { gap: 6px; font-weight: 700; border-color: var(--blue-tint-2);
  background: var(--blue-tint); color: var(--blue-deep); }
.dash-tab-build:hover { border-color: var(--blue); background: var(--blue-tint); color: var(--blue-deep); }
.dash-tab-build svg { color: var(--blue-deep); }

.dash-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s4); }
.dash-toolbar-l { display: flex; align-items: center; gap: var(--s2); min-width: 0; }
.dash-name { font-family: var(--font-head); font-size: var(--fs-subhead); font-weight: 600; margin: 0; color: var(--ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 50vw; }
.dash-name-input { height: 34px; font-size: var(--fs-subhead); font-weight: 600; padding: 0 var(--s3); min-width: 220px;
  border: 1px solid var(--blue); border-radius: var(--radius-sm); }


.dash-ops { margin-left: 2px; }
.dash-ops .brf-menu { min-width: 176px; }
.brf-menu-opt:disabled { opacity: var(--disabled-opacity); cursor: not-allowed; }
.brf-menu-opt:disabled:hover { background: none; color: var(--ink); }


.dash-toolbar-r { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
.dash-toolbar-r .peerbar { margin: 0; }

.dash-toolbar-r .peerbar-pill, .dash-toolbar-r .btn.small { height: 34px; box-sizing: border-box; }
@media (max-width: 640px) { .dash-toolbar { flex-wrap: wrap; } .dash-toolbar-r { justify-content: flex-start; } }






.bench-grid.is-busy { opacity: .5; pointer-events: none; transition: opacity var(--dur-fast); }




.dplan { white-space: normal; margin-top: var(--s3); display: flex; flex-direction: column; gap: var(--s2); }
.msg.bot:has(.dplan) { max-width: 100%; }
.dplan-head { display: flex; align-items: center; gap: var(--s2); }
.dplan-name { flex: 1; min-width: 0; height: 34px; font-weight: 650; font-size: var(--fs-body); }
.dplan-count { flex: none; font-size: var(--fs-caption); color: var(--ink-soft); white-space: nowrap; }
.dplan-sec { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); margin-top: var(--s1); }
.dplan-sec .linklike { font-size: var(--fs-caption); font-weight: 600; }





.dplan-list { display: flex; flex-direction: column; gap: 4px; max-height: 310px; overflow-y: auto;
  overscroll-behavior: contain; padding-right: 2px; }
.dplan-row { display: flex; align-items: flex-start; gap: var(--s2); padding: var(--s2) var(--s3);
  border: 1px solid var(--border); border-radius: 10px; background: var(--paper);
  transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
.dplan-row.on { border-color: color-mix(in srgb, var(--blue) 40%, var(--border)); background: var(--blue-tint); }
.dplan-row input[type="checkbox"] { margin: 3px 0 0; flex: none; width: 16px; height: 16px; accent-color: var(--blue); cursor: pointer; }
.dplan-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; cursor: pointer; }
.dplan-title { font-size: var(--fs-body); font-weight: 600; color: var(--ink); line-height: 1.3; }
.dplan-sub { font-size: var(--fs-caption); color: var(--ink-soft); }
.dplan-view { flex: none; align-self: center; font-size: var(--fs-caption); font-weight: 600; color: var(--blue-deep); text-decoration: none; white-space: nowrap; }
.dplan-view:hover { text-decoration: underline; }
.dplan-actions { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-top: var(--s2); }

.dplan-more { display: inline-flex; align-items: center; gap: var(--s2); background: none; border: 0;
  padding: 2px 0; font: inherit; color: var(--ink-soft); cursor: pointer; }
.dplan-more:hover { color: var(--ink); }
.dplan-more:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 4px; }
.dplan-more .eyebrow { cursor: pointer; }
.dplan-more svg { flex: none; }


.dplan-actions .brf-menu { left: auto; right: 0; min-width: 240px; max-height: 260px; overflow-y: auto; }
.dplan-actions .brf-menu-opt { display: flex; align-items: center; gap: var(--s2); }
.dplan-menu-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.dbuild-box { display: flex; gap: var(--s2); align-items: center; }
.dbuild-box .ctl { flex: 1; min-width: 0; height: 38px; }
.dbuild-examples { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); }
.dbuild-wait { max-width: none; margin-top: var(--s3); }
@media (max-width: 480px) {



  .dplan-row { padding: var(--s2); flex-wrap: wrap; }
  .dplan-view { flex: 1 0 100%; text-align: right; align-self: auto; padding-top: 2px; }
  .dplan-row input[type="checkbox"] { width: 20px; height: 20px; }
  .dplan-list { max-height: 42vh; }
  .dbuild-box { flex-wrap: wrap; }
  .dbuild-box .btn { width: 100%; } }





.dash-print-head, .dash-print-foot { display: none; }
@media print {
  .dash-tabs, .dash-toolbar { display: none !important; }
  .dash-print-head { display: block !important; border-bottom: 2px solid var(--blue);
    padding-bottom: 5mm; margin-bottom: 7mm; }
  .dash-print-brand { font-family: var(--font-head); font-weight: 800; letter-spacing: -0.02em;
    font-size: 15pt; color: var(--blue); }
  .dash-print-brand span { color: var(--ink-faint); font-weight: 600; }
  .dash-print-brand span::before { content: " · "; }
  .dash-print-title { font-family: var(--font-head); font-weight: 700; font-size: 21pt;
    color: var(--ink); margin: 3mm 0 1.5mm; }
  .dash-print-meta { font-size: 9.5pt; color: var(--ink-soft); }
  .dash-print-foot { display: block !important; margin-top: 8mm; padding-top: 4mm;
    border-top: 1px solid var(--border); font-size: 8.5pt; color: var(--ink-faint); text-align: center; }

  .bench-grid { grid-template-columns: 1fr !important; gap: 7mm !important; }
  .bench-grid > * { break-inside: avoid; page-break-inside: avoid; animation: none !important; }
  .bench-card.w2, .bench-grid > [style*="span 2"] { grid-column: span 1 !important; }
}


.kebab-item.kebab-haschild { display: flex; align-items: center; }
.kebab-chev { margin-left: auto; color: var(--ink-faint); font-weight: 700; font-size: var(--fs-body); padding-left: var(--s2); }
.kebab-back { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left; background: none;
  border: none; cursor: pointer; padding: var(--s2) var(--s3) var(--s2) var(--s2); margin-bottom: 2px; border-radius: var(--radius-xs);
  font: 700 var(--fs-label)/1.2 var(--font-body); color: var(--ink); }
.kebab-back:hover { background: var(--surface-sunk); }
.kebab-chev-back { color: var(--ink-faint); font-weight: 800; font-size: var(--fs-card-title); line-height: 1; }
.kebab-pickrow { gap: var(--s2); }
.kebab-box { width: 17px; height: 17px; flex: none; border: 1.6px solid var(--border); border-radius: var(--radius-2xs);
  display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-micro); font-weight: 800; color: #fff; }
.kebab-box.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.kebab-box { display: inline-flex; align-items: center; justify-content: center; }
.kebab-pickname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kebab-new { color: var(--blue-deep); font-weight: 600; }
.kebab-plus { font-weight: 700; margin-right: 2px; }
.kebab-newrow { display: flex; gap: var(--s2); padding: var(--s1); align-items: center; }
.kebab-newinput { height: 32px; font-size: var(--fs-label); flex: 1; min-width: 0; }
.kebab-item.muted { color: var(--ink-faint); cursor: default; }


.card-tools { display: flex; align-items: center; gap: 3px; flex: 0 0 auto; }
.card-tools .iconbtn { color: var(--ink-faint); }


.card-tools .iconbtn:hover { color: var(--ink); background: var(--surface-sunk); }
.pop-wrap { position: relative; display: inline-flex; }
.cmp-pill { display: inline-flex; align-items: center; gap: var(--s1); height: 27px; padding: 0 var(--s2) 0 var(--s2);
  border: 1px solid var(--border); background: var(--surface); color: var(--ink-soft);
  border-radius: 999px; font: 600 var(--fs-caption)/1 var(--font-body); cursor: pointer; max-width: 210px;
  transition: background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast); }
.cmp-pill:hover { border-color: var(--ink-faint); color: var(--ink); }
.cmp-pill.on { background: var(--blue-tint); border-color: var(--blue-tint-2); color: var(--blue-deep); }
.cmp-pill svg { flex: none; opacity: .75; }
.cmp-pill-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }



.cmp-menu { min-width: 224px; left: 0; right: auto; transform-origin: top left; }
.cmp-menu.up { transform-origin: bottom left; }


.bench-foot { display: flex; align-items: center; gap: var(--s2); margin-top: auto; padding-top: var(--s3); flex-wrap: wrap; }
.bench-card .bench-foot .bench-n { margin: 0; padding: 0; }
.bench-foot .card-tools { margin-left: auto; }



.bench-foot .bench-strat { margin-left: 0; }
.sig-flag { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto;
  font-size: var(--fs-caption); font-weight: 650; color: var(--ink-soft); }
.sig-flag svg { color: var(--navy); flex: 0 0 auto; }
.sig-flag.lens-save svg    { color: var(--lens-save-ink); }
.sig-flag.lens-attract svg { color: var(--lens-attract-ink); }
.sig-flag.lens-retain svg  { color: var(--lens-retain-ink); }
.sig-flag.lens-engage svg  { color: var(--lens-engage-ink); }
.bench-card .card-tools { opacity: .5; transition: opacity var(--dur-base) var(--ease-out); }
.bench-card:hover .card-tools, .bench-card:focus-within .card-tools { opacity: 1; }






@media (hover: hover) and (pointer: fine) {





  .bench-card .card-tools { opacity: .45; transition: opacity var(--dur-fast) ease; }
  .bench-card:hover .card-tools, .bench-card:focus-within .card-tools { opacity: 1; }
}
.tool-div { width: 1px; min-height: 16px; align-self: stretch; background: var(--border); margin: 2px var(--s1); flex: none; }

.signals-page { position: relative; }
.signals-page > :not(.ov-aurora) { position: relative; z-index: 1; }

.sig-group-flash { animation: sigGroupFlash 1.7s ease; border-radius: var(--radius-sm); }
@keyframes sigGroupFlash {
  0%, 100% { box-shadow: 0 0 0 0 transparent; }
  18% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--lumi-navy) 35%, transparent); }
}






@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) { .sig-group-flash { animation: none; } }













.dom-instr { display: flex; flex-direction: column; padding: var(--s5); }
.di-standfirst { font-size: var(--fs-label); color: var(--ink-soft); line-height: 1.5;
  margin: var(--s1) 0 var(--s3); max-width: 68ch; }
.di-standfirst-pending { color: var(--ink-soft); }



.di-axis, .di-row { display: grid; align-items: center; column-gap: var(--s3);







  grid-template-columns: 132px minmax(0, 1fr) auto 64px 76px; }
.di-axis { margin: var(--s2) 0 0; }
.di-axis-scale { position: relative; height: 30px; }
.di-rows { display: flex; flex-direction: column; flex: 1; }








.dom-instr-pending .di-row { min-height: 0; padding-block: var(--s2); }
.dom-instr-pending .di-rows { margin-top: var(--s2); }
.di-row { min-height: 48px; padding: var(--s2) var(--s2); margin: 0 calc(-1 * var(--s2));
  position: relative; cursor: pointer;
  border-radius: var(--radius-sm); transition: background var(--dur-fast) ease; }
.di-row + .di-row::before { content: ""; position: absolute; top: 0; left: var(--s2); right: var(--s2);
  height: 1px; background: var(--border); }
.di-row:hover .di-open { text-decoration: underline; text-underline-offset: 3px; }
.di-ident { min-width: 0; }
.di-name { margin: 0; font-size: var(--fs-label); font-weight: 600; line-height: 1.25; font-family: inherit; }



.di-name .di-open { display: inline-flex; align-items: center; gap: var(--s2); font: inherit; color: inherit;
  background: none; border: 0; padding: 0; cursor: pointer; text-align: left; min-height: 24px; }

.di-sub { display: block; font-size: var(--fs-micro); color: var(--ink-faint); line-height: var(--lh-micro);
  margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.di-indic { font-style: normal; font-weight: 650; color: var(--ink-soft); letter-spacing: .02em; }
.di-trackcell { min-width: 0; }
.di-track { position: relative; display: block; height: 28px; }
.di-norate { font-size: var(--fs-micro); color: var(--ink-faint); }
.di-track-pending { position: relative; display: block; height: 10px; border-radius: var(--radius-2xs);
  border: 1.5px dashed var(--border); background: color-mix(in srgb, var(--surface-sunk) 50%, transparent); }










.di-bar { position: relative; display: flex; gap: 3px; height: 20px;
  border-radius: var(--radius-xs); background: transparent; }
.di-fill { position: relative; display: flex; align-items: center; justify-content: center;
  min-width: 0; overflow: hidden; border-radius: var(--radius-xs);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 6%, transparent);
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .02em; line-height: 1; font-variant-numeric: tabular-nums; }
.di-fill-below { background: var(--pos-below-gauge); color: var(--pos-below-onink); }
.di-fill-on    { background: var(--pos-on-gauge);    color: var(--pos-on-onink); }
.di-fill-above { background: var(--pos-above-gauge); color: var(--pos-above-onink); }


.di-fill-common { background: var(--prev-common); color: #fff; }
.di-fill-alt    { background: var(--prev-alt);    color: var(--prev-ink); }
.di-fill-rare   { background: var(--prev-rare);   color: var(--prev-ink);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--differs) 30%, var(--surface)); }


.di-bar-ind .di-fill::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  border-radius: inherit;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 5px,
    color-mix(in srgb, var(--ink) 11%, transparent) 5px, color-mix(in srgb, var(--ink) 11%, transparent) 10px); }
.di-bar-ind .di-fillnum { position: relative; background: var(--surface); border-radius: 3px; padding: 0 4px; }


.di-fill-below .di-fillnum, .di-fill-on .di-fillnum, .di-fill-above .di-fillnum {
  position: relative; background: var(--surface); border-radius: 3px; padding: 0 4px; font-weight: 600; }
.di-fill-below .di-fillnum { color: var(--pos-below-tintink); }
.di-fill-on    .di-fillnum { color: var(--pos-on-tintink); }
.di-fill-above .di-fillnum { color: var(--pos-above-tintink); }




.di-stratcol { justify-content: center; border-left: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
  padding-left: var(--s2); }







.di-seg { position: absolute; top: calc(50% - 7px); height: 14px; }
.di-seg:first-child { border-radius: var(--radius-2xs) 0 0 4px; } .di-seg:last-child { border-radius: 0 4px 4px 0; }
.di-seg:only-child { border-radius: var(--radius-2xs); }

.di-seg-common { background: var(--navy); }
.di-seg-alt { background: color-mix(in srgb, var(--navy) 38%, var(--surface)); }
.di-seg-rare { background: var(--surface); box-shadow: inset 0 0 0 1px var(--border); }


.di-seg-below { background: var(--pos-below-fill); }
.di-seg-on { background: var(--pos-on-fill); }
.di-seg-above { background: var(--pos-above-fill); }


.di-seg-ind { opacity: .55; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 25%, transparent); }


.di-axis-key { display: flex; align-items: center; gap: var(--s3); height: 30px; overflow: hidden; }
.di-kk { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-caption); font-weight: 500; color: var(--ink-faint); white-space: nowrap; }
.di-sw { width: 11px; height: 11px; border-radius: 3px; flex: none; }
.di-sw.di-seg-rare { box-shadow: inset 0 0 0 1px var(--border); }

.arc-leg-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(16,24,40,.10);
  margin-right: 5px; vertical-align: -1px; }

.di-evid { font-size: var(--fs-caption); color: var(--ink-soft); text-align: right;
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.di-evid b { color: var(--ink); font-weight: 650; }
.di-n { color: var(--ink-faint); margin-left: 6px; }

.di-scent { min-width: 24px; height: 24px; border: 0; cursor: pointer; border-radius: var(--radius-2xs);
  font-size: var(--fs-label); font-weight: 600; line-height: 1; padding: 0 var(--s1); font-variant-numeric: tabular-nums;
  background: none; color: var(--ink);
  display: inline-flex; align-items: center; justify-content: center; }
.di-scent:hover { text-decoration: underline; text-underline-offset: 3px; }
.di-scentcol { display: flex; justify-content: center; }
.di-chipcol { display: flex; justify-content: center; }


.di-foot { margin-top: auto; padding-top: var(--s2); border-top: 1px solid var(--border);
  font-size: var(--fs-micro); color: var(--ink-faint); }
.di-foot b { color: var(--ink-soft); font-weight: 650; }
@media (max-width: 700px) { .arc-card, .dom-instr { padding: var(--s4) var(--s4) var(--s3); } }



@media (max-width: 1180px) {
  .di-axis, .di-row { grid-template-columns: 112px minmax(0, 1fr) auto 24px auto; }
}
@media (max-width: 700px) {
  .di-axis { grid-template-columns: minmax(0, 1fr); }
  .di-axis .di-cell:not(.di-trackcell) { display: none; }
  .di-axis-scale { height: auto; }
  .di-axis-key { height: auto; flex-wrap: wrap; gap: 4px 12px; overflow: visible; }
  .di-row { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--s2);
    row-gap: var(--s1); padding: var(--s2); min-height: 0; }
  .di-ident { order: 1; flex: 1 0 52%; }
  .di-scentcol { order: 2; flex: none; }
  .di-chipcol { order: 3; flex: none; }
  .di-stratcol { border-left: 0; padding-left: 0; }
  .di-trackcell { order: 5; flex: 1 1 60%; }
  .di-evid { order: 6; flex: 1 0 auto; font-size: var(--fs-micro); }
  .di-track { height: 20px; }
  .di-seg { top: calc(50% - 6px); height: 12px; }
  .di-norate { white-space: normal; line-height: 1.35; }
}
@media (prefers-reduced-motion: reduce) {
  .di-dot { animation: none !important; }
}





sfold-* — the
   shared .signal-row family (home band, metric page) is untouched. Soft tints only: ZERO
   full-strength pills on this page. */
.brf-std { color: var(--ink-soft); }
.brf-std b { color: var(--ink); }





.brf-page { --brf-below-ink: var(--pos-below-dot);
  --brf-above-ink: var(--pos-above-strong);
  --brf-on-ink: var(--pos-on-strong); }





















.sfold-nav { display: flex; align-items: stretch; gap: var(--s1); flex-wrap: wrap;
  margin: 0 0 var(--s5); padding: 0 var(--s2); border-bottom: 2px solid var(--chrome-edge);
  background: color-mix(in srgb, var(--blue) 4%, var(--paper));
  border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.sfold-pillwrap { display: inline-flex; align-items: center; gap: 2px; }


.sfold-subgroup { display: inline-flex; align-items: center; gap: var(--s1); flex-wrap: wrap;
  padding-left: var(--s3); margin-left: var(--s1); }



.sfold-subgroup::before { content: ""; flex: none; width: 1px; height: 16px;
  margin-right: var(--s3); background: var(--chrome-edge); }
.sfold-saved svg { color: var(--navy); }



.sfold-pill { display: inline-flex; align-items: center; gap: var(--s2); background: transparent;
  border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; border-radius: 0;
  font: inherit; font-size: var(--fs-body); font-weight: 600; color: var(--ink-soft);
  cursor: pointer; padding: var(--s3) var(--s3) var(--s2); min-height: 44px;
  transition: color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.sfold-pill:hover { color: var(--blue); border-bottom-color: color-mix(in srgb, var(--blue) 30%, transparent); }
.sfold-pill svg { color: var(--ink-faint); }

.sfold-pill b { font-weight: 700; margin-left: 1px; font-size: var(--fs-caption);
  color: var(--ink-soft); background: color-mix(in srgb, var(--ink) 7%, transparent);
  border-radius: 999px; padding: 1px var(--s2); }
.sfold-pill.on { color: var(--blue); font-weight: 700; border-bottom-color: var(--blue); }
.sfold-pill.on svg { color: var(--blue); }
.sfold-pill.on b { color: #fff; background: var(--blue); }


.sfold-pillwrap .sfold-ops { opacity: 0; transition: opacity var(--dur-base) var(--ease-out); }
.sfold-pillwrap:hover .sfold-ops, .sfold-pillwrap:focus-within .sfold-ops,
.sfold-pillwrap .sfold-pill.on ~ .sfold-ops { opacity: 1; }
.sfold-ops { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center;
  background: none; border: 0; border-radius: 999px; font-size: var(--fs-body); font-weight: 700;
  color: var(--ink-faint); cursor: pointer; line-height: 0; }
.sfold-ops:hover { background: color-mix(in srgb, var(--ink) 8%, transparent); color: var(--ink); }


.sfold-new { background: none; border: 1px dashed var(--border); border-radius: var(--radius-sm);
  font: inherit; font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint);
  cursor: pointer; padding: var(--s1) var(--s3); min-height: 30px; align-self: center;
  margin-left: var(--s3); }
.sfold-new:hover { color: var(--ink); border-color: var(--ink-faint); }
.sfold-newrow { display: flex; align-items: center; gap: var(--s2); padding: var(--s1) var(--s2); }
.sfold-newrow-nav { padding: 0; }
.sfold-newinput { font: inherit; font-size: var(--fs-caption); padding: var(--s1) var(--s2);
  border: 1px solid var(--border); border-radius: 999px; min-width: 0; width: 150px; min-height: 32px;
  background: var(--surface); color: var(--ink); }
.sfold-newinput:focus { outline: var(--focus-outline); outline-offset: 1px; }
.sfold-newgo { background: var(--navy); color: #fff; border: 0; border-radius: 999px; font: inherit;
  font-size: var(--fs-caption); font-weight: 650; cursor: pointer; padding: var(--s1) var(--s3); min-height: 32px; }
.sfold-newgo:disabled { opacity: var(--disabled-opacity); cursor: default; }
.sfold-caret { font-size: var(--fs-micro); color: var(--ink-faint); }
.sfold-ret { margin-left: auto; color: var(--ink-faint); font-size: var(--fs-micro); padding-left: var(--s3); }



.sig-posfilter { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin: calc(-1 * var(--s2)) 0 var(--s4); }
.sig-posfilter-lab { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-faint); font-weight: 650; margin-right: var(--s1); }
.sig-pos-pill { display: inline-flex; align-items: center; gap: var(--s1); background: var(--surface);
  border: 1px solid var(--border); border-radius: 999px; font: inherit; font-size: var(--fs-caption);
  font-weight: 600; color: var(--ink-soft); cursor: pointer; padding: 4px var(--s3); min-height: 28px;
  transition: border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast); }
.sig-pos-pill:hover { border-color: var(--ink-faint); color: var(--ink); }
.sig-pos-pill b { font-weight: 700; margin-left: 2px; }
.sig-pos-pill .pos-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.sig-pos-pill.pos-below .pos-dot { background: var(--pos-below-dot); }
.sig-pos-pill.pos-on .pos-dot { background: var(--pos-on-dot); }
.sig-pos-pill.pos-above .pos-dot { background: var(--pos-above-dot); }
.sig-pos-pill.pos-practice .pos-dot { background: var(--ink-faint); }
.sig-pos-pill.on { border-color: var(--navy); background: var(--navy); color: #fff; }
.sig-pos-pill.on b { color: #fff; }
.sig-pos-pill.pos-below.on { background: var(--pos-below-tint); border-color: var(--pos-below-dot); color: var(--pos-below-tintink); }
.sig-pos-pill.pos-on.on { background: var(--pos-on-tint); border-color: var(--pos-on-dot); color: var(--pos-on-tintink); }
.sig-pos-pill.pos-above.on { background: var(--pos-above-tint); border-color: var(--pos-above-dot); color: var(--pos-above-tintink); }
.sig-pos-pill.pos-below.on b, .sig-pos-pill.pos-on.on b, .sig-pos-pill.pos-above.on b { color: inherit; }
.sig-pos-pill:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }






.sig-tools { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; flex: 1 1 320px; }


@media (min-width: 1040px) { .sig-tools { padding-left: var(--s3); border-left: 1px solid var(--border); } }
.sig-sort { display: inline-flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption); color: var(--ink-soft); font-weight: 600; }
.sig-sort select { height: 30px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface);
  font: inherit; font-size: var(--fs-caption); color: var(--ink); padding: 0 var(--s2); cursor: pointer; }
.sig-sort select:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }
.sig-bulk { display: inline-flex; align-items: center; gap: var(--s2); }

.sig-count { font-size: var(--fs-caption); color: var(--ink-soft); font-weight: 600;
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.sig-bulk-btn { background: none; border: 1px solid var(--border); border-radius: 999px; font: inherit; font-size: var(--fs-caption);
  font-weight: 600; color: var(--ink-soft); cursor: pointer; padding: 3px var(--s3); min-height: 28px; }
.sig-bulk-btn:hover { border-color: var(--blue); color: var(--blue-deep); }


.sig-kbhint { margin: calc(-1 * var(--s3)) 0 var(--s4); font-size: var(--fs-micro); color: var(--ink-soft);
  white-space: nowrap; overflow-x: auto; }

.sig-domhead { font-size: var(--fs-micro); font-family: inherit; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-faint);
  font-weight: 650; margin: var(--s4) 0 var(--s2); padding-left: calc(var(--s4) + 6px); }
.sig-domhead:first-child { margin-top: 0; }


.sig-subhead { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap; }
.sig-subhead-l { display: inline-flex; align-items: center; gap: var(--s2) var(--s3); flex-wrap: wrap; }

.sig-ctl-band { margin-bottom: var(--s4); }
.sig-ctl-band .sig-reg-btn { margin-left: auto; }





.sig-filter-row { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap;
  margin: 0 0 var(--s5); position: relative; }
.signals-page > .sig-filter-row { z-index: 20; }





.signals-page > .sfold-nav { position: sticky; top: var(--brandbar-live, var(--brandbar-h)); z-index: 21; }
@media (max-width: 700px) { .signals-page > .sfold-nav { position: relative; top: auto; } }
.sig-filter-row .filterbar { padding: 0; }
.sig-peer-locked { gap: var(--s2); }
.sig-peer-pill { padding: 4px var(--s3); border: 1px solid var(--border); border-radius: 999px; background: var(--surface-sunk);
  color: var(--ink-soft); font-size: var(--fs-label); cursor: default; }
.sig-peer-pill b { color: var(--ink-soft); font-weight: 600; }
.sig-peer-pill svg { color: var(--ink-faint); margin-left: 2px; }
.sig-peer-change { font-size: var(--fs-caption); color: var(--blue-bright); font-weight: 500; white-space: nowrap;
  display: inline-flex; align-items: center; min-height: 24px; }
.sig-peer-change:hover { text-decoration: underline; }
.sig-peer-note { max-width: 640px; }
.sig-reg-btn { white-space: nowrap; flex: none; }




.sfold-unread { display: inline-block; width: 7px; height: 7px; padding: 0; min-width: 0;
  margin-left: 5px; border-radius: 50%; background: var(--blue); font-size: 0; }
.sfold-pill.on .sfold-unread { background: var(--navy); }




.sfold-name { max-width: 15ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.sfold-life { margin-left: auto; display: inline-flex; align-items: center; gap: var(--s2); }


.sfold-quiet { font-size: var(--fs-label); font-weight: 500; }
.sfold-quiet:not(.on) { color: var(--ink-faint); background: none; }
.sfold-quiet:not(.on) b { background: none; padding: 0 0 0 2px; font-weight: 600; }
.sfold-quiet:not(.on):hover { color: var(--ink-soft); }
@media (max-width: 640px) { .sfold-life { margin-left: 0; } }



.sig-find { display: inline-flex; align-items: center; gap: var(--s2); height: 32px;
  padding: 0 var(--s3); border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface); flex: 1 1 200px; max-width: 320px; }
.sig-find svg { color: var(--ink-faint); flex: none; }

.sig-find:focus-within { border-color: var(--blue); outline: var(--focus-outline); outline-offset: 0; }

.sig-search { border: 0; background: none; flex: 1 1 auto; min-width: 0; min-height: 24px;
  font: inherit; font-size: var(--fs-caption); color: var(--ink); padding: 0; }
.sig-search:focus-visible { outline: none; }
.sfold-snz { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro);
  font-weight: 650; color: var(--navy); border: 1px solid color-mix(in srgb, var(--navy) 25%, var(--surface));
  border-radius: 999px; padding: 0 var(--s2); }
.sfold-recover { display: inline-flex; align-items: center; gap: var(--s1); background: var(--navy); color: #fff;
  border: 0; border-radius: 999px; font: inherit; font-size: var(--fs-caption); font-weight: 650;
  cursor: pointer; padding: var(--s1) var(--s3); min-height: 32px; }
.sfold-recover:hover { background: color-mix(in srgb, var(--navy) 88%, #fff); }
.sfold-recover svg { color: #fff; }
.sfold-empty { padding: var(--s5) 0; }


.sfold-filter { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap;
  background: var(--surface-sunk); border: 1px solid var(--border); border-radius: 10px;
  padding: var(--s2) var(--s3); margin: 0 0 var(--s4); font-size: var(--fs-caption); color: var(--ink-soft); }
.sfold-filter-lab b { color: var(--ink); font-weight: 650; }
.sfold-filter-clear { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; cursor: pointer;
  font: inherit; color: var(--lumi-navy); font-weight: 600; padding: 2px 4px; min-height: 24px; border-radius: 6px; }
.sfold-filter-clear:hover { background: var(--blue-tint); text-decoration: underline; }


.brf-card { position: relative; background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: var(--s4) var(--s4) var(--s3) calc(var(--s4) + 6px);
  margin-bottom: var(--s3); box-shadow: var(--shadow-card);
  scroll-margin-top: calc(var(--brandbar-h) + var(--s6)); }


.brf-card::before { content: ""; position: absolute; left: 1px; top: var(--s2); bottom: var(--s2); width: 4px;
  border-radius: 999px; background: var(--border); }
.brf-tone-amber::before    { background: var(--pos-below-gauge); }
.brf-tone-red::before      { background: var(--pos-above-gauge); }
.brf-tone-green::before    { background: var(--pos-on-gauge); }
.brf-tone-approach::before { background: var(--prev-alt); }
.brf-tone-neutral::before  { background: color-mix(in srgb, var(--navy) 30%, var(--surface)); }

.brf-card { cursor: pointer; transition: box-shadow var(--dur-fast) ease, border-color var(--dur-fast) ease; }
.brf-card:hover { border-color: color-mix(in srgb, var(--blue) 30%, var(--border)); box-shadow: 0 6px 20px rgba(31,42,68,.10); }
.brf-card.kb-focus, .brf-card:focus-visible { border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue-tint-2), var(--shadow-card); }
.brf-card:focus { outline: none; }
.brf-card .brf-verbs, .brf-card .brf-menu, .brf-card .sfold-newrow { cursor: auto; }
.brf-cap { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  font-size: var(--fs-micro); color: var(--ink-faint); }


.brf-cap-name { text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--ink);
  font-size: inherit; font-family: inherit; margin: 0; }
.brf-shield { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro);
  font-weight: 700; color: color-mix(in srgb, var(--unfavourable) 72%, var(--ink));
  border: 1px solid color-mix(in srgb, var(--unfavourable) 32%, var(--surface));
  border-radius: 999px; padding: 0 var(--s2); }
.brf-shield svg { color: var(--lumi-coral); }
.brf-head { font-family: var(--font-head); font-size: var(--fs-card-title); line-height: 1.35; font-weight: 650;
  letter-spacing: -.01em; color: var(--ink); margin: var(--s1) 0 var(--s2); }
.brf-why { font-size: var(--fs-caption); color: var(--ink-soft); line-height: 1.5; }
.brf-why b { color: var(--ink); font-weight: 600; }



.brf-chips { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin: var(--s3) 0; }
.brf-chips .brf-lens { margin-left: var(--s3); }


.brf-stratline { display: flex; align-items: center; gap: var(--s2); margin: calc(-1 * var(--s1)) 0 var(--s2);
  font-size: var(--fs-micro); color: var(--navy); background: var(--navy-tint);
  border-radius: var(--radius-xs); padding: 3px var(--s2); width: fit-content; max-width: 100%; }
.brf-stratline svg { color: var(--navy); flex: none; }
.brf-pos { font-size: var(--fs-micro); font-weight: 650; border-radius: 999px; padding: var(--s1) var(--s3); white-space: nowrap; }




.brf-pos-amber    { background: var(--pos-below-tint); color: var(--brf-below-ink); }
.brf-pos-red      { background: var(--pos-above-tint); color: var(--brf-above-ink); }
.brf-pos-green    { background: var(--pos-on-tint); color: var(--brf-on-ink); }
.brf-pos-approach { background: var(--prev-rare); color: var(--prev-ink); }


.brf-pos-neutral  { background: var(--surface-sunk); color: var(--ink-soft); }

.brf-gap { font-size: var(--fs-caption); font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.brf-gap-amber { color: var(--brf-below-ink); }
.brf-gap-red   { color: var(--brf-above-ink); }
.brf-gap-green { color: var(--brf-on-ink); }
.brf-gap-approach, .brf-gap-neutral { color: var(--ink-soft); }
.brf-lens { font-size: var(--fs-micro); color: var(--ink-faint); }
.brf-onplan { display: inline-flex; align-items: center; gap: 3px; font-size: var(--fs-micro);
  font-weight: 650; color: var(--navy); }
.brf-onplan svg { color: var(--navy); }
.brf-verbs { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap;
  border-top: 1px solid color-mix(in srgb, var(--border) 65%, transparent); padding-top: var(--s2); }
.brf-verb, .brf-see { display: inline-flex; align-items: center; gap: var(--s1); background: none;
  border: 0; font: inherit; font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft);
  cursor: pointer; padding: var(--s1) 0; border-radius: var(--radius-xs); transition: color var(--dur-base) var(--ease-out); }
.brf-verb:hover { color: var(--ink); }
.brf-verb.on { color: var(--navy); }
.brf-verb.on svg { color: var(--navy); }


.brf-see { margin-left: auto; color: var(--blue); font-weight: 650; text-decoration: none;
  cursor: pointer; font-size: var(--fs-caption); }
.brf-see:hover { color: var(--blue-deep); text-decoration: underline; }





.brf-card.brf-leave { overflow: hidden; opacity: 0; min-height: 0; animation: none;
  padding-top: 0; padding-bottom: 0; margin-bottom: 0; border-width: 0; pointer-events: none;
  transition: height 240ms var(--ease-out), opacity 180ms var(--ease-out),
    padding 240ms var(--ease-out), margin 240ms var(--ease-out), border-width 240ms var(--ease-out); }











.brf-later-wrap { position: relative; display: inline-flex; flex: none; }
.brf-split { gap: 2px; align-items: center; }


.brf-split-caret { min-width: 26px; padding-left: var(--s2); padding-right: var(--s2);
  justify-content: center; border-left: 1px solid var(--border); }
.brf-split-main svg { color: var(--ink-faint); }
.brf-split-main:hover svg, .brf-split-caret.on svg { color: var(--navy); }





.brf-star.on { color: var(--gold-ink); }
.brf-star.on svg, .brf-star.on:hover svg { color: var(--gold); fill: var(--gold); }
.signal-row .sig-act.sig-star.on, .metric-sigbar .sig-act.sig-star.on { color: var(--gold-ink); }
.signal-row .sig-act.sig-star.on svg, .metric-sigbar .sig-act.sig-star.on svg { color: var(--gold); fill: var(--gold); }
.signal-row .sig-act.sig-star.on svg, .metric-sigbar .sig-act.sig-star.on svg { color: var(--gold); fill: color-mix(in srgb, var(--gold) 34%, transparent); }
.metric-sigbar .sig-act.sig-star.on { background: color-mix(in srgb, var(--gold) 12%, transparent); }
.brf-menu { position: absolute; left: 0; right: auto; top: calc(100% + 4px); z-index: var(--z-popover); min-width: 220px; max-width: 300px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--s2); box-shadow: var(--shadow-pop); }
.brf-card:has(.brf-menu) { position: relative; z-index: 2; }













.signals-page > :has(.brf-menu, .fb-menu, .kebab-menu, .sig-snooze-menu, .cmp-menu) {
  z-index: var(--z-popover); }






.dash-ops .brf-menu.dash-dl-menu { min-width: 300px; max-width: 320px; left: auto; right: 0; }
@media (max-width: 480px) {
  .brf-menu, .dash-ops .brf-menu.dash-dl-menu { position: fixed; top: auto; left: var(--s3); right: var(--s3); bottom: var(--s3);
    min-width: 0; max-width: none; z-index: 300; max-height: 60vh; overflow-y: auto; }
}
.brf-menu-lbl { font-size: var(--fs-micro); color: var(--ink-soft); padding: 2px var(--s2) 4px; }
.brf-menu-opt { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left;
  border: 0; background: none; font: inherit; font-size: var(--fs-label); color: var(--ink);
  padding: var(--s2) var(--s2); border-radius: var(--radius-xs); cursor: pointer; }
.brf-menu-opt:hover { background: var(--blue-tint); color: var(--blue-deep); }


a.brf-menu-opt, a.brf-menu-opt:hover, a.bp-menu-item, a.bp-menu-item:hover,
a.iconbtn, a.iconbtn:hover, a.btn, a.btn:hover { text-decoration: none; }
.brf-menu-opt svg { color: var(--ink-faint); flex: none; }




.brf-navy { margin-top: var(--s5); background: var(--navy); border-radius: var(--radius); color: #fff;
  padding: var(--s4) var(--s5); display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.brf-navy-reg { display: flex; align-items: flex-start; gap: var(--s3); flex: 1 1 340px;
  font-size: var(--fs-caption); color: #C7CEE0; line-height: 1.5; }
.brf-navy-reg > svg { flex: none; margin-top: 2px; color: #C7CEE0; }
.brf-navy-reg b { color: #fff; }
.brf-navy a { color: #fff; font-weight: 650; text-decoration: underline; }
.brf-life { display: inline-flex; align-items: center; gap: var(--s3); flex-wrap: wrap;
  margin-left: auto; font-size: var(--fs-caption); color: #C7CEE0; }


.brf-life-note { white-space: normal; }
.brf-life-note b { color: #fff; }


@media (max-width: 700px) {
  .brf-verbs { gap: var(--s3); }
  .brf-verb, .brf-see { min-height: 44px; }
  .sfold-pill, .sfold-new, .sfold-newgo, .sfold-newinput, .sfold-recover { min-height: 44px; }
  .sfold-ops { width: 44px; height: 44px; }
  .brf-menu-opt { min-height: 44px; }
  .brf-navy { padding: var(--s4); }
  .brf-life { margin-left: 0; }
}

.print-only-line { display: none; }
@media print {
  .print-only-line { display: block; }
}



@media (max-width: 700px) { .rp-tiles { grid-template-columns: 1fr; } }



button.rp-ex-row { width: 100%; font: inherit; text-align: left; background: none; border: 0;
  border-bottom: 1px solid var(--border); cursor: pointer; }
button.rp-ex-row:hover { background: var(--surface-sunk); }
button.rp-ex-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; border-radius: 8px; }




.loop-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--s4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: var(--s3) var(--s5); margin-bottom: var(--s5); box-shadow: var(--shadow-card); }
.loop-steps { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.loop-step { display: inline-flex; align-items: center; gap: 7px; font: inherit; font-size: var(--fs-caption);
  font-weight: 600; color: var(--ink-faint); background: none; border: 0; padding: 4px 6px;
  border-radius: 999px; cursor: pointer; }
.loop-step:hover { color: var(--blue); }
.loop-step:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.loop-dot { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
  border-radius: 50%; background: var(--surface-sunk); color: var(--ink-faint); flex: none; }
.loop-step.is-done { color: var(--ink); }
.loop-step.is-done .loop-dot { background: var(--favourable-tint); color: var(--favourable-ink); }
.loop-step.is-stale { color: var(--neutral-perf-ink); }
.loop-step.is-stale .loop-dot { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }
.loop-step.is-todo .loop-dot { background: var(--blue-tint); color: var(--blue); }
.loop-link { width: 18px; height: 2px; border-radius: 2px; background: var(--border); flex: none; }
.loop-return { width: 22px; position: relative; }
.loop-return::after { content: "↻"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  font-size: 13px; color: var(--ink-faint); background: var(--surface); padding: 0 3px; }
.loop-next { display: flex; align-items: center; gap: var(--s3); }
.loop-next-why { text-align: right; }
.loop-next-why b { display: block; font-size: var(--fs-label); color: var(--ink); }
.loop-next-why span { font-size: var(--fs-caption); color: var(--ink-soft); }
.loop-done { font-size: var(--fs-caption); color: var(--favourable-ink); gap: 7px; }
@media (max-width: 800px) {
  .loop-strip { flex-direction: column; align-items: stretch; }
  .loop-next { justify-content: space-between; flex-wrap: wrap; }
  .loop-next-why { text-align: left; flex: 1 1 220px; }
}




@media (max-width: 700px) {
  .sig-find, .sig-sort select, .sig-bulk-btn, .fb-facet, .fb-row, .fb-clear { min-height: 44px; }

  .iconbtn, .btn.small, .subdom-jump-chip, .sig-tab, .dash-tab, .th-sort, .notif-mark { min-height: 44px; }
  .iconbtn { min-width: 44px; }
  .cat-masthead .bp-menu, .cat-hero .bp-menu { right: auto; left: 0; }
  .sig-tools { margin-left: 0; padding-left: 0; border-left: 0; width: 100%; }
}

@media print {
  .signals-page .ov-aurora, .signals-page .sfold-nav, .signals-page .sig-filter-row,
  .signals-page .sig-kbhint, .signals-page .brf-verbs, .signals-page .brf-navy { display: none !important; }
  .signals-page .brf-card { break-inside: avoid; page-break-inside: avoid;
    box-shadow: none; border-color: #bbb; }
}




.team-page { max-width: 960px; margin: 0 auto; }
.profile-page { max-width: 880px; margin: 0 auto; }
.profile-card { padding: var(--s5); margin: var(--s4) 0; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s5); }
.profile-grid .field select { width: 100%; }
.profile-rich-h { margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--border); }
@media (max-width: 720px) { .profile-grid { grid-template-columns: 1fr; } }
.shares-page { max-width: 960px; margin: 0 auto; }
.shares-page > .row.spread { align-items: flex-end; flex-wrap: wrap; gap: var(--s3); }
.shares-create { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.shares-create-lab { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft); }
.shares-empty { padding: var(--s5); }

.btn-join { display: inline-flex; }
.btn-join > .btn { border-radius: 0; margin-left: -1px; }
.btn-join > .btn:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); margin-left: 0; }
.btn-join > .btn:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.btn-join > .btn:focus-visible { position: relative; z-index: 2; }
.btn-join > .btn:hover { position: relative; z-index: 1; border-color: var(--blue); color: var(--blue-deep); background: var(--blue-tint); }

.crumb-back { display: inline-flex; align-items: center; gap: 2px; margin-bottom: var(--s2); padding: 2px 8px 2px 4px;
  min-height: 26px; line-height: var(--lh-caption);
  border-radius: var(--radius-pill); font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft);
  background: none; border: 0; cursor: pointer; font-family: inherit; }
.crumb-back:hover { background: var(--surface); color: var(--blue-deep); text-decoration: none; box-shadow: 0 0 0 1px var(--border); }
.team-who { display: flex; align-items: center; gap: var(--s3); }
.team-av { flex: none; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font: 700 13px/1 var(--font-head); color: var(--blue-deep); background: var(--blue-tint); box-shadow: inset 0 0 0 1px var(--blue-tint-2); }
.team-av.me { color: #fff; background: linear-gradient(135deg, var(--blue-bright), var(--blue-deep)); box-shadow: none; }
.team-off .team-av { color: var(--ink-faint); background: var(--surface-sunk); box-shadow: none; }
.team-inviterow .ctl, .team-inviterow .btn { height: 40px; }
.team-card { padding: var(--s4); }
.team-card + .team-card { margin-top: var(--s4); }
.team-page .team-card:first-of-type { margin: var(--s4) 0; }





.team-tablewrap { overflow-x: auto; position: relative; }


@media (max-width: 640px) {
  .team-page .team-tablewrap table.data thead { display: none; }
  .team-page .team-tablewrap table.data, .team-page .team-tablewrap tbody { display: block; }
  .team-page .team-tablewrap tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3);
    padding: var(--s3) 0; border-bottom: 1px solid var(--border); }
  .team-page .team-tablewrap table.data tbody tr td { display: block; padding: 0; border: 0; background: none; }
  .team-page .team-tablewrap tbody td:first-child { flex: 1 1 100%; }
  .team-page .team-tablewrap tbody td.team-actions { margin-left: auto; text-align: right; }
}
.team-tablewrap table.data th { position: static; }




table.data th[scope="row"], .matrix-grid th[scope="row"] {
  font-weight: inherit; text-align: left; position: static; }




.matrix-num-wrap table.data th { position: static; }
.team-role { min-width: 130px; }
.team-actions { text-align: right; }



.btn.team-remove { color: var(--unfavourable-ink); }
.btn.team-remove:hover { background: var(--unfavourable-tint); border-color: var(--unfavourable); color: var(--unfavourable-ink); }

.team-roles { display: grid; gap: var(--s1) var(--s3); margin: var(--s4) 0 0;
  padding-top: var(--s3); border-top: 1px solid var(--border); }
.team-roles > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--s3); }
.team-roles dt { font-weight: 650; color: var(--ink); }
.team-roles dd { margin: 0; color: var(--ink-soft); }
.team-note { margin: var(--s3) 0 0; }
.team-subhead { font-size: var(--fs-label); margin: var(--s4) 0 var(--s2); }
.team-inviterow { flex-wrap: wrap; }
.team-invite-email { flex: 1 1 220px; }
.team-invite-role { flex: 0 1 auto; }
.team-linkrow { margin-top: var(--s2); gap: var(--s2); }
.team-linkfield { flex: 1; max-width: none; }
.invite-form .ok-text, .invite-form .error-text, .team-card > .error-text { margin-top: var(--s2); }
@media (max-width: 560px) {
  .team-roles > div { grid-template-columns: 1fr; gap: 0; }
  .team-inviterow > * { flex: 1 1 100%; }
}





.team-state { display: inline-block; padding: 1px 8px; border-radius: 999px;
  font-size: var(--fs-micro); font-weight: 650; white-space: nowrap; }


.team-state-on { background: var(--blue-tint); color: var(--blue-deep); }
.team-state-off { background: var(--surface-sunk); color: var(--ink-soft); cursor: help; }
.team-state-pending { background: var(--surface-sunk); color: var(--ink-soft); }





.credit-panel { padding: var(--s4); margin-bottom: var(--s3); }
.credit-balance { display: flex; align-items: baseline; gap: var(--s2); }
.credit-balance .num { font-size: var(--fs-metric); line-height: 1; }
.credit-balance .credit-zero { color: var(--unfavourable-ink); }
.credit-meta { margin-top: var(--s1); }
.credit-form { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: flex-end; margin-top: var(--s3); }
.credit-field { display: flex; flex-direction: column; gap: 2px; }
.credit-field.grow { flex: 1 1 18rem; min-width: 0; }
.credit-field .input { min-width: 0; }
.credit-hint { margin-top: var(--s2); }
.credit-ledger .credit-up { color: var(--favourable-ink); }
.credit-ledger .credit-down { color: var(--unfavourable-ink); }
td.credit-zero { color: var(--unfavourable-ink); font-weight: 600; }


.pulse-head-stat.pulse-credits .num { color: var(--blue); }
.pulse-head-stat.pulse-credits.none .num { color: var(--unfavourable-ink); }
.pulse-credit-wall { margin: var(--s3) 0 var(--s2); }








.pulse-grid-cards { margin-top: var(--s4); }




.pulse-qcard .bench-title { font-size: var(--fs-card-title); }

.pulse-qcard .bench-foot { margin-top: auto; }


.pulse-com {
  margin: var(--s3) 0 0; padding: var(--s3);
  background: var(--surface-sunk); border-radius: var(--radius-sm);
}
.pulse-detail {
  margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--border);
}
.pulse-detail p { margin: var(--s1) 0 var(--s2); }
.pulse-detail .btn { margin-top: var(--s2); }

@media print {
  .pulse-grid-cards { grid-template-columns: 1fr; gap: var(--s3); }
  .pulse-qcard { break-inside: avoid; page-break-inside: avoid; }
}





.pcom-compare { margin: 0; font-weight: 500; }
.pcom-implications { margin: var(--s2) 0 0; }
.pcom-note { margin: var(--s3) 0 0; color: var(--ink-soft); font-size: var(--fs-caption); }
.print-only { display: none; }




.pulse-q-page .pulse-onepager-read .eyebrow { margin-bottom: var(--s2); }
@media print {
  .print-only { display: block; }
  .pulse-com { background: none; padding: 0; margin-top: var(--s2); }
  .pulse-q-page .card { box-shadow: none; border: 0; padding: 0; }
  .pulse-q-page .pulse-onepager-read { margin-top: var(--s3); }
}





.pulse-page-report { max-width: none; }





.pulse-subhead { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: baseline; margin: 0; }
.pulse-subhead-desc { max-width: 96ch; }






.pulse-title { margin: var(--s4) 0 var(--s3); }
.pulse-page .pulse-subhead { margin: 0 0 var(--s5); line-height: 1.55; }
.pulse-page .pulse-subhead .chip { flex: none; }
.pulse-page-report .pulse-report-doc { margin-top: 0; }





.pulse-waiting, .pulse-locked { padding: var(--s5); margin: var(--s4) 0; text-align: center; }
.pulse-waiting .caption, .pulse-lock-body .caption { margin: var(--s2) auto 0; max-width: 56ch; }



.pulse-locked { background: var(--surface-sunk); border: 1px solid var(--border); }
.pulse-locked .pulse-empty-ico { background: var(--surface); color: var(--ink-soft); }
.pulse-locked b { color: var(--ink-soft); }
.pulse-lock-actions { display: flex; gap: var(--s2); justify-content: center; flex-wrap: wrap; margin-top: var(--s4); }
.pulse-lock-note { margin-top: var(--s2); color: var(--ink-faint); }
.pulse-lock-peek {
  margin: var(--s5) auto 0; max-width: 60ch; text-align: left; padding-top: var(--s4);
  border-top: 1px solid var(--border);
}
.pulse-lock-peek ul { margin: var(--s2) 0 0; padding-left: var(--s5); }
.pulse-lock-peek li { font-size: var(--fs-label); color: var(--ink-soft); margin-bottom: var(--s1); }


.pulse-cutwrap { position: relative; }
.pulse-cutmenu { min-width: 17rem; max-height: 60vh; overflow-y: auto; padding: var(--s2); }
.pulse-cutmenu .cutopt {
  display: block; width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
  padding: var(--s2); border-radius: var(--radius-xs); font-size: var(--fs-label); color: var(--ink);
}
.pulse-cutmenu .cutopt:hover, .pulse-cutmenu .cutopt:focus-visible { background: var(--surface-sunk); }
.pulse-cutmenu .cutgrp {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: .08em;
  color: var(--ink-faint); padding: var(--s3) var(--s2) var(--s1);
}




.pulse-section-head { margin: var(--s6) 0 var(--s3); }
.pulse-section-head .section-title { margin: 0; display: flex; align-items: baseline; gap: var(--s2); }
.pulse-section-head .caption { margin: var(--s1) 0 0; max-width: 74ch; }
.pulse-section-n {
  font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft);
  background: var(--surface-sunk); border-radius: var(--radius-xs); padding: 1px var(--s2);
  font-variant-numeric: tabular-nums;
}



.pulse-page-wide { max-width: none; margin: 0 auto; }




.pulse-credit-chip {
  display: inline-flex; align-items: center; gap: var(--s3); flex: none;
  background: var(--blue-tint); color: var(--blue-deep);
  border: 1px solid color-mix(in srgb, var(--blue) 22%, transparent);
  border-radius: var(--radius-sm); padding: var(--s2) var(--s3);
}
.pulse-credit-chip .pcc-text { display: flex; flex-direction: column; line-height: 1.25; }
.pulse-credit-chip .pcc-text b { font-size: var(--fs-body); }
.pulse-credit-chip .pcc-text .caption { color: inherit; opacity: .78; }
.pulse-credit-chip.none {
  background: var(--surface-sunk); color: var(--ink-soft); border-color: var(--border);
}
.pulse-credit-chip .pcc-cta {
  font-size: var(--fs-label); font-weight: 600; color: var(--blue-deep);
  text-decoration: none; border-left: 1px solid var(--border); padding-left: var(--s3); margin-left: var(--s1);
}
.pulse-credit-chip .pcc-cta:hover { text-decoration: underline; }



.pulse-how { flex-wrap: wrap; }
.pulse-how-step { flex: 1 1 clamp(14rem, 44%, 22rem); text-align: left; }







.pulse-grid { grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); }
.pulse-card-foot { flex-wrap: wrap; row-gap: var(--s2); }
.pulse-taken { white-space: nowrap; }




.notif-group-head.notif-head-todo { color: var(--ink-soft); }
.notif-row-signals { border-left-color: transparent; }


.sig-prov.indic-flag { margin-left: .3em; }
.cat-masthead .conf-chip .indic-tip, .cat-hero .conf-chip .indic-tip { bottom: auto; top: calc(100% + 6px); }
@media print {




  .card-evidence.print-only { display: block !important; break-inside: avoid; }
  .print-analysis .bench-card .card-evidence.print-only { display: block !important; }
  .card-evidence .ev-table { break-inside: auto; }
  .print-analysis .filterbar, .print-analysis .subdom-jump, .print-analysis .btn.disclose,
  .dash-tabs, .dash-toolbar, .sig-pill.is-add { display: none !important; }
}






@media print {
  .subdom-jump-stick, .subdom-jump, .sidebar, .brandbar, .filterbar, .cat-filterbar, .no-print,
  .sig-flag { display: none !important; }
  .shell { min-height: auto !important; }
  .main { overflow: visible !important; }
  .matrix-num .mn-lvl-txt { display: block; -webkit-line-clamp: unset; overflow: visible; }


  .bench-grid > div { order: var(--print-order, 0); }
}




.journey-gate { max-width: 640px; margin: var(--s8) auto; padding: var(--s7); }
.journey-gate-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-weight: 600;
  color: var(--ink-faint); margin-bottom: var(--s2); }
.journey-gate h1 { margin: 0 0 var(--s3); }
.journey-gate-why { color: var(--ink-2); margin: 0 0 var(--s6); max-width: 56ch; }
.journey-gate-steps { list-style: none; margin: 0 0 var(--s6); padding: 0;
  display: grid; gap: var(--s2); }
.jg-step { display: grid; grid-template-columns: 24px 1fr auto; align-items: center;
  gap: var(--s3); padding: var(--s3) var(--s4); border: 1px solid var(--border);
  border-radius: var(--radius-sm); color: var(--ink-faint); }
.jg-n { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  background: var(--surface-sunk); color: var(--ink-faint); font-size: var(--fs-label);
  font-weight: 700; font-variant-numeric: tabular-nums; }
.jg-state { font-size: var(--fs-label); font-weight: 600; }
.jg-step.is-done { color: var(--ink-2); }
.jg-step.is-done .jg-n { background: var(--favourable-tint); color: var(--favourable); }
.jg-step.is-now { color: var(--ink); border-color: var(--blue); background: var(--blue-tint); }
.jg-step.is-now .jg-n { background: var(--blue); color: #fff; }
.jg-step.is-now .jg-state { color: var(--blue); }
.journey-gate-ask { color: var(--ink-2); background: var(--surface-sunk);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--s4); margin: 0; max-width: 56ch; }



.data-row .data-bar-fill.done { background: linear-gradient(90deg,
  var(--blue) 0%, var(--blue-bright) 55%, var(--lumi-coral) 100%);
  background-size: 100% 100%; }





.hb-sub { margin: 0 0 var(--s4); max-width: 62ch; }


.hb-half { margin-bottom: var(--s5); background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow-card); padding: var(--s5) var(--s5) var(--s3); }
.hb-half-h { font-family: var(--font-head); font-size: var(--fs-subhead); line-height: var(--lh-subhead); font-weight: 650; margin: 0 0 2px; }
.hb-half-sub { margin: 0 0 var(--s3); }
.hb-rows { border-top: 1px solid var(--line); margin: 0 calc(-1 * var(--s3)); }
.hb-row { display: grid; grid-template-columns: minmax(0, 1.4fr) 58px minmax(140px, 1fr) 150px;
  gap: var(--s3); align-items: center; padding: var(--s3);
  border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; border-radius: var(--radius-xs);
  transition: background var(--dur-fast) ease; }
.hb-row:last-child { border-bottom: 0; }
.hb-row:hover { background: var(--surface-2); text-decoration: none; }
.hb-page { max-width: 1120px; }
.hb-row:focus-visible { outline: var(--focus-outline); outline-offset: -2px; }
.hb-name b { display: block; }
.hb-meta { display: block; margin-top: 1px; }
.hb-p { font-weight: 650; font-variant-numeric: tabular-nums; text-align: right; }
.hb-align { display: flex; justify-content: flex-end; }
.hb-foot { margin-top: var(--s4); max-width: 66ch; }
@media (max-width: 760px) {
  .hb-row { grid-template-columns: minmax(0, 1fr) 58px; row-gap: var(--s2); }
  .hb-ruler, .hb-align { grid-column: 1 / -1; }
  .hb-align { justify-content: flex-start; }
}


















@media (min-width: 900px) and (max-height: 800px) {
  .content:has(.loop-strip) { padding-top: var(--s4); padding-bottom: var(--s4); }
  .ov-page:has(.loop-strip) .ov-controls { margin-bottom: var(--s3); }
  .ov-page:has(.loop-strip) .ov-top > .card { padding-top: var(--s3); padding-bottom: var(--s3); }
  .ov-page:has(.loop-strip) .ov-top .card-head { padding-bottom: var(--s2); }
  .ov-page:has(.loop-strip) .ov-top .arc-marker { margin-top: var(--s3); }
  .ov-page:has(.loop-strip) .ov-top .arc-duo { padding-top: 0; gap: var(--s2); }
  .ov-page:has(.loop-strip) .di-row { min-height: 42px; padding-top: 5px; padding-bottom: 5px; }
}





@media (min-width: 900px) and (max-height: 700px) {
  .content:has(.ov-page) { padding-top: var(--s4); padding-bottom: var(--s4); }
  .ov-page .ov-wrap .ov-controls { margin-bottom: var(--s3); }
  .ov-page .ov-wrap .ov-top > .card { padding-top: var(--s3); padding-bottom: var(--s3); }
  .ov-page .ov-top .card-head { padding-bottom: var(--s1); }
  .ov-page .ov-top .arc-marker { margin-top: var(--s2); }
  .ov-page .ov-top .arc-duo { padding-top: 0; gap: var(--s2); }
  .ov-page .ov-top .di-row { min-height: 40px; padding-top: 4px; padding-bottom: 4px; }
}




.data-hero-payoff { margin: 0 0 var(--s3) 0 !important; max-width: 64ch; }
.data-hero .data-start { margin-top: var(--s3); }
.data-hero.fresh { align-items: flex-start; }















.onb-page { min-height: 100vh; min-height: 100dvh; display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  background: var(--surface-page, #F7F6F2); position: relative; isolation: isolate; }


.onb-page::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(58rem 34rem at 18% -8%, rgba(31, 42, 68, .055), transparent 68%),
    radial-gradient(42rem 30rem at 96% 106%, rgba(240, 140, 110, .05), transparent 66%); }


.onb-aside { display: flex; flex-direction: column; gap: var(--s6);
  padding: var(--s6) var(--s5); border-right: 1px solid var(--border); min-width: 0; }
.onb-aside-top { display: flex; flex-direction: column; gap: var(--s5); }
.onb-aside-org { min-width: 0; }
.onb-eyebrow { font-size: var(--fs-micro); line-height: var(--lh-micro); letter-spacing: .08em;
  text-transform: uppercase; font-weight: 600; color: var(--ink-faint); }
.onb-aside-name { font-family: var(--font-head); font-size: var(--fs-subhead); line-height: var(--lh-subhead);
  font-weight: 600; color: var(--ink); margin-top: 2px; overflow-wrap: anywhere; }




.onb-rail { display: flex; flex-direction: column; gap: var(--s1); margin: 0; padding: 0; list-style: none; }
.onb-rail-step { display: flex; align-items: flex-start; gap: var(--s3);
  padding: var(--s3); border-radius: var(--radius-sm); color: var(--ink-faint); }
.onb-rail-btn { display: flex; align-items: flex-start; gap: var(--s3); width: 100%;
  padding: 0; margin: 0; border: 0; background: none; font: inherit; color: inherit;
  text-align: left; cursor: pointer; }
.onb-rail-step.is-link:hover { background: var(--surface-sunk); }
.onb-rail-dot { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--border); background: var(--surface);
  font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint);
  font-variant-numeric: tabular-nums; }
.onb-rail-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.onb-rail-lbl { font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; }
.onb-rail-blurb { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.onb-rail-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.onb-rail-step.is-done { color: var(--ink-soft); }
.onb-rail-step.is-done .onb-rail-dot { background: var(--favourable); border-color: var(--favourable); color: #fff; }
.onb-rail-step.is-now { color: var(--ink); background: var(--surface); box-shadow: var(--shadow-card); }
.onb-rail-step.is-now .onb-rail-dot { background: var(--blue); border-color: var(--blue); color: #fff; }
.onb-rail-step.is-now .onb-rail-blurb { color: var(--ink-soft); }



.onb-aside-foot { margin-top: auto; display: flex; flex-direction: column; gap: var(--s1); }
.onb-aside-you { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint);
  overflow-wrap: anywhere; }
.onb-aside-unit { display: block; margin-top: var(--s2); color: var(--ink-soft); }
.onb-aside-unit select { display: block; width: 100%; margin-top: 4px; }
.onb-aside-links { display: flex; align-items: baseline; gap: var(--s2);
  font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.onb-aside-links a, .onb-aside-links .linklike { color: var(--blue); }






.onb-aside { color: #fff; border-right: 0;
  background:
    radial-gradient(120% 60% at 0% 0%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(90% 50% at 100% 100%, rgba(240,140,110,.16), transparent 65%),
    linear-gradient(170deg, var(--appbar-bg) 0%, color-mix(in srgb, var(--appbar-bg) 62%, #0B1433) 100%); }
.onb-aside .onb-eyebrow { color: rgba(255,255,255,.78); }
.onb-aside .onb-aside-name { color: #fff; }
.onb-aside .onb-rail-step { color: rgba(255,255,255,.82); }
.onb-aside .onb-rail-blurb { color: rgba(255,255,255,.78); }
.onb-aside .onb-rail-dot { background: transparent; border-color: rgba(255,255,255,.4); color: rgba(255,255,255,.85); }
.onb-aside .onb-rail-step.is-link:hover { background: rgba(255,255,255,.08); }
.onb-aside .onb-rail-step.is-done { color: rgba(255,255,255,.86); }
.onb-aside .onb-rail-step.is-done .onb-rail-dot { background: var(--fill-good); border-color: var(--fill-good); color: #fff; }
.onb-aside .onb-rail-step.is-now { color: #fff; background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 8px 24px -12px rgba(0,0,0,.4); }
.onb-aside .onb-rail-step.is-now .onb-rail-dot { background: #fff; border-color: #fff; color: var(--appbar-bg); }
.onb-aside .onb-rail-step.is-now .onb-rail-blurb { color: rgba(255,255,255,.86); }
.onb-aside .onb-aside-you { color: rgba(255,255,255,.78); }
.onb-aside .onb-aside-links { color: rgba(255,255,255,.5); }
.onb-aside .onb-aside-links a, .onb-aside .onb-aside-links .linklike { color: #fff; text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 2px; }
.onb-aside .onb-aside-unit { color: rgba(255,255,255,.8); }


.onb-aside .onb-aside-unit select { color: var(--ink); background: var(--surface); border-color: var(--surface); }
.onb-aside-back { display: inline-block; margin-top: var(--s2); font-size: var(--fs-caption); }
.onb-aside .onb-aside-back { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 2px; }

.onb-unit-m { display: none; }
.onb-aside :focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.onb-main { background: var(--surface); }






.onb-main { min-width: 0; display: flex; flex-direction: column;
  height: 100vh; height: 100dvh; padding: var(--s6) var(--s6) var(--s5);
  align-items: center; justify-content: center; }
.onb-step { width: 100%; max-width: 640px; flex: 0 1 auto; min-height: 0; max-height: 100%;
  display: flex; flex-direction: column; }

.onb-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-right: var(--s2); }
.onb-title { font-family: var(--font-head); font-size: var(--fs-display); line-height: var(--lh-display);
  font-weight: var(--fw-display); letter-spacing: -.015em; margin: 0 0 var(--s2); color: var(--ink); }
.onb-lede { margin: 0 0 var(--s5); color: var(--ink-soft); font-size: var(--fs-body); line-height: var(--lh-body); }
.onb-lede b { color: var(--ink); font-weight: 600; }




.onb-sec { display: flex; align-items: baseline; gap: var(--s2); margin: 0 0 var(--s3); }
.onb-sec-lbl { font-size: var(--fs-micro); line-height: var(--lh-micro); letter-spacing: .08em;
  text-transform: uppercase; font-weight: 600; color: var(--ink-soft); }
.onb-sec-meta { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }

.onb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s4); }
.onb-field { margin-bottom: var(--s4); min-width: 0; }
.onb-field label { font-size: var(--fs-caption); line-height: var(--lh-caption);
  color: var(--ink-soft); font-weight: 600; }
.onb-field select { height: 40px; border-radius: var(--radius-sm); }
.onb-disclose { display: flex; align-items: center; gap: var(--s2); width: 100%;
  padding: var(--s3) var(--s3) var(--s3) var(--s2); margin: 0 0 var(--s3);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface-sunk); color: var(--ink); cursor: pointer; text-align: left;
  font: inherit; font-size: var(--fs-label); line-height: var(--lh-label);
  transition: border-color var(--dur-fast), background var(--dur-fast); }
.onb-disclose:hover { border-color: var(--ink-faint); }
.onb-disclose.is-open { background: var(--surface); }
.onb-disclose-lbl { flex: 1 1 auto; font-weight: 600; }
.onb-note { margin: 0 0 var(--s3); font-size: var(--fs-caption); line-height: var(--lh-caption);
  color: var(--ink-faint); }


.onb-foot { flex: 0 0 auto; display: flex; align-items: center; gap: var(--s3);
  padding: var(--s4) 0 0; margin-top: var(--s4); border-top: 1px solid var(--border); }
.onb-back { flex: 0 0 auto; }
.onb-foot-note { flex: 1 1 auto; min-width: 0; margin-left: auto; text-align: right;
  font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.onb-foot-act { flex: 0 0 auto; display: flex; align-items: center; gap: var(--s2); margin-left: auto; }
.onb-foot-note + .onb-foot-act { margin-left: 0; }


.onb-peer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); align-items: start; }
.onb-peer-col { min-width: 0; }
.onb-peer-hd { display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--s2); margin-bottom: var(--s2); }
.onb-peer-lbl { font-size: var(--fs-micro); line-height: var(--lh-micro); letter-spacing: .08em;
  text-transform: uppercase; font-weight: 600; color: var(--ink-soft); }




.onb-peer-hd-r { display: flex; align-items: baseline; gap: var(--s2); flex: 0 0 auto; }
.onb-peer-hint { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.onb-peer-clr { border: 0; background: none; padding: 0; cursor: pointer; font: inherit;
  font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--blue); }
.onb-peer-clr:hover { text-decoration: underline; }
.onb-peer-opts { height: 214px; overflow-y: auto; border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: var(--s1); background: var(--surface); }
.onb-peer-chk { display: flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s2);
  border-radius: var(--radius-2xs); cursor: pointer; font-size: var(--fs-body); line-height: var(--lh-body); }
.onb-peer-chk:hover { background: var(--surface-sunk); }
.onb-peer-chk.on { background: var(--blue-tint); color: var(--blue-deep); font-weight: 600; }
.onb-peer-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.onb-peer-n { flex: 0 0 auto; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.onb-peer-chk.on .onb-peer-n { color: var(--blue-deep); }



.onb-peer-sample { margin-top: var(--s4); padding: var(--s3) var(--s4); border-radius: var(--radius-sm);
  background: var(--paper-2); border-left: 4px solid var(--ink-faint); min-height: 74px; }
.onb-peer-read { font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink); }
.onb-peer-read b { font-size: var(--fs-subhead); line-height: var(--lh-subhead); font-weight: 600; }
.onb-peer-why { margin-top: var(--s1); font-size: var(--fs-caption); line-height: var(--lh-caption);
  color: var(--ink-soft); }
.onb-peer-sample.ok { border-left-color: var(--favourable); }
.onb-peer-sample.busy { border-left-color: var(--border); }
.onb-peer-sample.bad { border-left-color: var(--unfavourable);
  background: color-mix(in srgb, var(--unfavourable) 8%, var(--paper-2)); }


.onb-invite-row { display: flex; align-items: center; gap: var(--s2); margin-bottom: var(--s2); }
.onb-invite-row .ctl { min-width: 0; }
.onb-invite-row > input { flex: 1 1 auto; }


.onb-invite-role { flex: 0 0 112px; }
.onb-invite-rm { flex: 0 0 auto; }
.onb-invite-rm[disabled] { visibility: hidden; }
.onb-invite-add { margin-top: var(--s1); }
.onb-next { margin-top: var(--s5); padding: var(--s4); border-radius: var(--radius-sm);
  background: var(--blue-tint); }
.onb-next-hd { font-size: var(--fs-micro); line-height: var(--lh-micro); letter-spacing: .08em;
  text-transform: uppercase; font-weight: 600; color: var(--blue-deep); margin-bottom: var(--s2); }
.onb-next-list { margin: 0; padding-left: var(--s4); color: var(--ink-soft);
  font-size: var(--fs-label); line-height: 20px; }
.onb-next-list li + li { margin-top: var(--s1); }
.onb-next-list b { color: var(--ink); font-weight: 600; }


@media (max-width: 900px) {
  .onb-page { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr);
    height: 100vh; height: 100dvh; }
  .onb-aside { flex-direction: row; align-items: center; gap: var(--s4);
    padding: var(--s3) var(--s4); border-right: 0; border-bottom: 0; }
  .onb-aside-top { flex: 0 0 auto; flex-direction: row; align-items: center; gap: var(--s3); }
  .onb-aside-org, .onb-aside-you, .onb-rail-blurb { display: none; }




  .onb-aside-foot { margin-top: 0; flex: 0 0 auto; }

  .onb-rail { flex: 1 1 auto; flex-direction: row; align-items: center;
    justify-content: flex-end; gap: var(--s2); }
  .onb-rail-step { flex: 0 0 auto; padding: var(--s1) var(--s2); box-shadow: none; background: none; }
  .onb-rail-step.is-now, .onb-aside .onb-rail-step.is-now { background: none; box-shadow: none; }
  .onb-rail-lbl { white-space: nowrap; }
  .onb-rail-step:not(.is-now) .onb-rail-lbl { display: none; }
  .onb-main { height: auto; min-height: 0; padding: var(--s4); }
  .onb-step { max-width: 640px; }
  .onb-body { padding-right: 0; }

  .onb-aside:has(.onb-unit-m) { flex-wrap: wrap; row-gap: var(--s2); }
  .onb-unit-m { display: flex; align-items: center; gap: var(--s2) var(--s3); flex: 1 1 100%; order: 10; flex-wrap: wrap;
    padding-top: var(--s2); border-top: 1px solid rgba(255,255,255,.18); font-size: var(--fs-caption); color: rgba(255,255,255,.86); }
  .onb-unit-m-name { display: inline-flex; align-items: center; gap: 6px; min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
  .onb-unit-m-name b { color: #fff; }
  .onb-unit-m .ctl { flex: 0 1 auto; max-width: 100%; color: var(--ink); background: var(--surface); border-color: var(--surface); }
}
@media (max-width: 640px) {

  .onb-aside { flex-wrap: wrap; row-gap: var(--s2); }
  .onb-aside-foot { margin-left: auto; }
  .onb-rail { flex: 1 1 100%; justify-content: space-between; }
  .onb-grid, .onb-peer-grid { grid-template-columns: 1fr; }


  .onb-peer-opts { height: auto; overflow: visible; }
  .onb-title { font-size: var(--fs-section); line-height: var(--lh-section); }
  .onb-foot { flex-wrap: wrap; }
  .onb-foot-note { order: -1; flex: 1 1 100%; text-align: left; margin-left: 0;
    margin-bottom: var(--s2); }
  .onb-foot-act { flex: 1 1 auto; }
  .onb-foot-act .btn { flex: 1 1 auto; }
  .onb-invite-role { flex: 0 0 100px; }
}



.card.pg-default { border-left: 4px solid var(--navy); background: var(--navy-tint); }
.pg-default-band { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: -4px 0 var(--s2);
  font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
.pg-default-note { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink-soft); }

























.acad {
  max-width: 1180px;


  --acad-blue:   #2048B0;
  --acad-azure:  #14649F;
  --acad-teal:   #0E7A8A;
  --acad-indigo: #4A4FCF;
  --acad-violet: #6D4BC4;
  --acad-plum:   #8E3D96;
  --acad-rose:   #A8386B;
  --acad-slate:  #4C6088;

  --acad-clay:   #8D4A35;




  --acad-pulse:  #3A2CA0;
  --acad-acc: var(--acad-blue);
}






.acad, .acad-card, .acad-detail {
  --acad-acc-deep: color-mix(in srgb, var(--acad-acc) 72%, #0C1220);
  --acad-acc-tint: color-mix(in srgb, var(--acad-acc) 11%, #fff);
  --acad-acc-ink:  color-mix(in srgb, var(--acad-acc) 84%, var(--ink));
}
.acad-t-start     { --acad-acc: var(--acad-blue); }
.acad-t-data      { --acad-acc: var(--acad-teal); }
.acad-t-bench     { --acad-acc: var(--acad-azure); }
.acad-t-dash      { --acad-acc: var(--acad-indigo); }
.acad-t-signals   { --acad-acc: var(--acad-violet); }
.acad-t-strategy  { --acad-acc: var(--acad-slate); }
.acad-t-exports   { --acad-acc: var(--acad-teal); }
.acad-t-team      { --acad-acc: var(--acad-plum); }
.acad-t-pulse     { --acad-acc: var(--acad-pulse); }
.acad-t-ask       { --acad-acc: var(--acad-violet); }
.acad-t-pay       { --acad-acc: var(--acad-indigo); }
.acad-t-pension   { --acad-acc: var(--acad-violet); }
.acad-t-benefits  { --acad-acc: var(--acad-plum); }
.acad-t-wellbeing { --acad-acc: var(--acad-rose); }
.acad-t-incentive { --acad-acc: var(--acad-rose); }
.acad-t-gov       { --acad-acc: var(--acad-slate); }
.acad-t-total     { --acad-acc: var(--acad-clay); }


.acad-topbar { display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap;
  border-bottom: 1px solid var(--border); margin: 0 0 var(--s5); padding-bottom: 0; }
.acad-brand { display: inline-flex; align-items: center; gap: var(--s2); background: none; border: 0; padding: var(--s2) 0 var(--s3);
  font-family: var(--font-head); font-size: var(--fs-subhead); color: var(--ink); cursor: pointer; }
.acad-brand b { color: var(--blue); font-weight: 700; }
.acad-tabs { display: flex; gap: var(--s2); flex-wrap: wrap; }
.acad-tab { background: none; border: 0; border-bottom: 3px solid transparent; padding: var(--s3) var(--s3) var(--s3);
  font-size: var(--fs-body); font-weight: 600; color: var(--ink-soft); cursor: pointer; margin-bottom: -1px; }
.acad-tab:hover { color: var(--ink); }
.acad-tab.active { color: var(--ink); border-bottom-color: var(--ink); }
.acad-tab:focus-visible { outline: var(--focus-outline); outline-offset: -2px; border-radius: var(--radius-2xs); }
.acad-tab-n { display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 2px; border-radius: var(--radius-pill);
  background: var(--blue-tint); color: var(--blue-deep); font-size: var(--fs-micro); line-height: 18px; text-align: center; }


.acad-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--s6); align-items: center;
  padding-bottom: var(--s6); margin-bottom: var(--s6); border-bottom: 1px solid var(--border); }
.acad-hero-copy p { margin: 0 0 var(--s3); max-width: 58ch; color: var(--ink-soft); }
.acad-hero-copy .display-title { margin: 0 0 var(--s3); }
.acad-search { display: flex; align-items: center; gap: var(--s2); border: 1.5px solid var(--border); border-radius: var(--radius-pill);
  padding: 0 var(--s3) 0 var(--s4); height: 52px; background: var(--surface); color: var(--ink-soft); margin-top: var(--s4);
  box-shadow: var(--shadow-card); transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.acad-search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint); }
.acad-search input { flex: 1; min-width: 0; border: 0; background: none; font: inherit; font-size: var(--fs-body); color: var(--ink); outline: none; }
.acad-search input::placeholder { color: var(--ink-faint); }
.acad-search input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.acad-search.compact { height: 38px; margin: 0; flex: 1 1 260px; max-width: 420px; box-shadow: none; }


.acad-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin-top: var(--s3); font-size: var(--fs-label); color: var(--ink-faint); }
.acad-suggest-btn { border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius-pill);
  padding: 4px 12px; font: inherit; font-size: var(--fs-label); color: var(--ink-soft); cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.acad-suggest-btn:hover { border-color: var(--blue); color: var(--blue-deep); background: var(--blue-tint); }
.acad-hero-media { position: relative; display: block; border: 0; padding: 0; background: var(--navy); border-radius: var(--radius); overflow: hidden;
  cursor: pointer; aspect-ratio: 16 / 10; box-shadow: var(--shadow-card); }
.acad-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; transition: transform var(--dur-slow) var(--ease-out); }
.acad-hero-media:hover img { transform: scale(1.02); }
.acad-hero-media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 46%;
  background: linear-gradient(to top, rgba(12,18,32,.72), transparent); pointer-events: none; }
.acad-hero-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; z-index: 1;
  background: rgba(255,255,255,.94); color: var(--blue); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-pop);
  transition: transform var(--dur-base) var(--ease-out); }
.acad-hero-media:hover .acad-hero-play { transform: scale(1.06); }
.acad-hero-play svg { margin-left: 3px; }
.acad-hero-cap { position: absolute; left: var(--s4); right: var(--s4); bottom: var(--s4); z-index: 1;
  color: #fff; font-size: var(--fs-label); font-weight: 600; text-align: left; text-shadow: 0 1px 3px rgba(12,18,32,.5); }
.acad-stats { display: flex; gap: var(--s4); flex-wrap: wrap; align-items: center; margin-top: var(--s4); color: var(--ink-soft); font-size: var(--fs-label); }
.acad-stats b { color: var(--ink); font-weight: 700; }

.acad-statgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); max-width: 560px; margin: 0 0 var(--s5); }
.acad-stat { padding: var(--s3) var(--s4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.acad-stat b { display: block; font-family: var(--font-head); font-size: var(--fs-metric); line-height: var(--lh-metric); font-weight: 700; color: var(--ink); }
.acad-stat span { display: block; margin-top: 2px; font-size: var(--fs-label); color: var(--ink-soft); }


.acad-row { margin-bottom: var(--s7); }
.acad-row-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s4); }
.acad-row-blurb { margin: var(--s1) 0 0; color: var(--ink-soft); }
.acad-showall { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--blue); cursor: pointer; white-space: nowrap; }
.acad-showall:hover { color: var(--blue-deep); text-decoration: underline; }
.acad-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4); align-items: stretch; }
.acad-pager { display: flex; align-items: center; justify-content: center; gap: var(--s3); margin-top: var(--s4); }


.acad-card { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 0; height: 100%;
  transition: box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.acad-card:hover { box-shadow: var(--shadow-lift); transform: translateY(-2px); }
.acad-card:focus-within { border-color: color-mix(in srgb, var(--acad-acc) 45%, var(--border)); }




.acad-cover { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 16 / 7; min-height: 96px;
  border: 0; padding: 0; cursor: pointer; overflow: hidden;
  background: linear-gradient(135deg, var(--acad-acc) 0%, var(--acad-acc-deep) 100%); }
.acad-cover::before { content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.22) 1px, transparent 1.2px);
  background-size: 13px 13px; opacity: .55; }
.acad-cover::after { content: ""; position: absolute; right: -14%; top: -38%; width: 62%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 34% 34%, rgba(255,255,255,.20), rgba(255,255,255,0) 68%); }



.acad-v1 .acad-cover { background: linear-gradient(205deg, var(--acad-acc) 0%, var(--acad-acc-deep) 100%); }
.acad-v1 .acad-cover::after { right: auto; left: -20%; top: auto; bottom: -46%; width: 70%; }
.acad-v1 .acad-cover::before { background-position: 6px 4px; }
.acad-v2 .acad-cover { background: linear-gradient(95deg, var(--acad-acc-deep) 0%, var(--acad-acc) 78%); }
.acad-v2 .acad-cover::after { right: 6%; top: -64%; width: 88%;
  background: radial-gradient(circle at 42% 58%, rgba(255,255,255,.17), rgba(255,255,255,0) 66%); }
.acad-v2 .acad-cover::before { background-size: 15px 15px; }
.acad-v3 .acad-cover { background: linear-gradient(165deg, color-mix(in srgb, var(--acad-acc) 84%, #fff) 0%, var(--acad-acc-deep) 96%); }
.acad-v3 .acad-cover::after { right: -30%; top: -12%; width: 58%;
  background: radial-gradient(circle at 30% 42%, rgba(255,255,255,.24), rgba(255,255,255,0) 70%); }
.acad-v3 .acad-cover::before { background-position: 3px 7px; opacity: .42; }
.acad-cover:focus-visible { outline: var(--focus-outline); outline-offset: -3px; }
.acad-cover-glyph { position: absolute; right: var(--s4); top: 50%; transform: translateY(-50%); color: #fff; opacity: .38;
  transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out); }
.acad-card:hover .acad-cover-glyph { transform: translateY(-50%) scale(1.06); opacity: .5; }


.acad-kind { position: absolute; left: var(--s3); top: var(--s3); display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: var(--radius-pill); background: rgba(255,255,255,.17); color: #fff;
  font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.acad-kind.draft { left: auto; right: 52px; top: var(--s3); background: color-mix(in srgb, var(--amber-bright) 22%, var(--surface)); color: #6B4A00; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amber-bright) 45%, var(--surface)); }
.acad-save { position: absolute; z-index: 2; top: var(--s2); right: var(--s2); width: 32px; height: 32px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.17); color: #fff; display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); transition: background var(--dur-fast) var(--ease-out); }
.acad-save:hover { background: rgba(255,255,255,.34); }
.acad-save.on { background: #fff; color: var(--acad-acc); }
.acad-save:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.acad-rail { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.26); }
.acad-rail i { display: block; height: 100%; background: #fff; transition: width var(--dur-slow) var(--ease-out); }

.acad-card-body { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s4); flex: 1; }
.acad-topic { display: flex; align-items: center; gap: var(--s2); margin: 0; font-size: var(--fs-micro); line-height: var(--lh-micro);
  font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--acad-acc-ink); }
.acad-topic > span { min-width: 0; }
.acad-topic::after { content: ""; flex: 1 0 12px; height: 1px; background: var(--border); }
.acad-card-title { margin: 0; font-size: var(--fs-card-title); line-height: var(--lh-card-title); font-weight: var(--fw-card-title); }
.acad-title-btn { background: none; border: 0; padding: 0; font: inherit; color: var(--ink); text-align: left; cursor: pointer; }
.acad-title-btn:hover { color: var(--acad-acc-ink); }



.acad-title-btn::after { content: ""; position: absolute; inset: 0; }


.acad-sum { margin: 0; font-size: var(--fs-label); line-height: 19px; color: var(--ink-soft);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-clamp: 2; overflow: hidden; }
.acad-foot { margin-top: auto; padding-top: var(--s2); display: flex; flex-direction: column; gap: 5px; }
.acad-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2);
  color: var(--ink-faint); font-size: var(--fs-label); }
.acad-meta > span + span::before { content: "·"; margin-right: var(--s2); color: var(--border-neutral); }
.acad-prog { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-label); font-weight: 600; }
.acad-prog.going { color: var(--favourable-ink, var(--favourable)); }
.acad-prog.done { color: var(--favourable); }
.acad-prog::before { display: none; }
.acad-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--favourable); display: inline-block; }
.acad-card.is-done .acad-cover { filter: saturate(.72); }
.acad-done-mark { position: absolute; left: var(--s3); bottom: var(--s3); width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--favourable);
  box-shadow: 0 1px 3px rgba(12,18,32,.22); }


.acad-toolbar { display: flex; gap: var(--s4); align-items: center; flex-wrap: wrap; margin-bottom: var(--s5); }
.acad-filters { display: inline-flex; align-items: center; gap: var(--s2); flex-wrap: wrap; margin-bottom: var(--s4); }
.acad-toolbar .acad-filters { margin-bottom: 0; }
.acad-filters .seg-btn { border: 1px solid var(--border); background: var(--surface); }
.acad-filters .seg-btn.on { border-color: var(--blue); background: var(--blue); color: #fff; }


.acad-detail { max-width: 880px; }
.acad-back { margin-bottom: var(--s3); padding-left: var(--s1); }


.acad-plate { position: relative; overflow: hidden; padding: var(--s5) var(--s5) var(--s4); margin-bottom: var(--s5);
  border-radius: var(--radius); background: linear-gradient(120deg, var(--acad-acc-tint) 0%, color-mix(in srgb, var(--acad-acc) 4%, #fff) 62%, var(--surface) 100%);
  border: 1px solid color-mix(in srgb, var(--acad-acc) 22%, var(--border)); }
.acad-plate::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--acad-acc), color-mix(in srgb, var(--acad-acc) 35%, #fff)); }
.acad-plate-glyph { position: absolute; right: -18px; bottom: -28px; color: var(--acad-acc); opacity: .11; pointer-events: none; z-index: 0; }
.acad-plate > *:not(.acad-plate-glyph) { position: relative; z-index: 1; }
.acad-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s5); }
.acad-detail-head > div:first-child { min-width: 0; }
.acad-detail-actions { display: flex; gap: var(--s2); flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; position: relative; }
.acad-detail-actions .btn[aria-pressed="true"] { background: var(--blue-tint); border-color: var(--blue-tint); color: var(--blue-deep); }
.acad-eyebrow { display: block; font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--acad-acc-ink); }
.acad-lede { font-size: var(--fs-subhead); line-height: 26px; color: var(--ink-soft); margin: 0 0 var(--s3); max-width: 62ch; }
.acad-plate .acad-meta { color: var(--ink-soft); }
.acad-bar { height: 8px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--ink) 9%, transparent);
  overflow: hidden; margin-top: var(--s3); }
.acad-bar i { display: block; height: 100%; background: var(--favourable); border-radius: inherit;
  transition: width var(--dur-slow) var(--ease-out); }
.acad-media { margin: 0 0 var(--s5); border-radius: var(--radius); overflow: hidden; background: var(--navy); box-shadow: var(--shadow-card); }
.acad-media img, .acad-media video { display: block; width: 100%; height: auto; }
.acad-media-soon { display: flex; align-items: center; gap: var(--s4); padding: var(--s4) var(--s5); background: var(--surface-panel); color: var(--ink);
  border: 1px dashed var(--border-neutral); box-shadow: none; }
.acad-soon-ring { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--surface); color: var(--acad-acc);
  display: flex; align-items: center; justify-content: center; border: 1px solid var(--border); }
.acad-panel { padding: var(--s5); margin-bottom: var(--s5); }
.acad-steps { margin: 0; padding: 0 0 0 var(--s5); display: flex; flex-direction: column; gap: var(--s3); }
.acad-steps li { padding-left: var(--s1); }
.acad-steps li::marker { color: var(--acad-acc); font-weight: 700; }
.acad-try { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); flex-wrap: wrap;
  margin-top: var(--s5); padding: var(--s4); border-radius: var(--radius-sm);
  background: var(--acad-acc-tint); border: 1px solid color-mix(in srgb, var(--acad-acc) 20%, transparent); }
.acad-try b { color: var(--acad-acc-ink); }
.acad-try > div:first-child { min-width: 0; }



.acad-try .btn { max-width: 100%; height: auto; min-height: 36px; padding-top: 7px; padding-bottom: 7px;
  white-space: normal; text-align: left; }
.acad-modules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s2); }
.acad-module { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.acad-module.open { border-color: var(--acad-acc); box-shadow: 0 0 0 3px color-mix(in srgb, var(--acad-acc) 10%, transparent); }
.acad-module.done { background: var(--surface-row); }
.acad-module-row { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3); }
.acad-tick { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--border-neutral); background: var(--surface);
  color: var(--ink-soft); font-weight: 700; font-size: var(--fs-caption); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.acad-tick:hover { border-color: var(--acad-acc); color: var(--acad-acc); }
.acad-tick.on { background: var(--favourable); border-color: var(--favourable); color: #fff; }
.acad-module-title { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--s3); background: none; border: 0; padding: var(--s1) 0;
  font: inherit; font-weight: 600; color: var(--ink); text-align: left; cursor: pointer; }
.acad-module-title > span:first-child { flex: 1; min-width: 0; }
.acad-module.done .acad-module-title > span:first-child { color: var(--ink-soft); }
.acad-module-body { padding: 0 var(--s4) var(--s4) 52px; }
.acad-module-body p { margin: 0 0 var(--s3); }
.acad-points { margin: 0; padding-left: var(--s4); display: flex; flex-direction: column; gap: var(--s2); }
.acad-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); margin-top: var(--s5); }
.acad-neighbour { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: var(--s3) var(--s4); border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--surface); font: inherit; font-weight: 600; color: var(--ink); cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.acad-neighbour.next { text-align: right; align-items: flex-end; }
.acad-neighbour:hover { border-color: var(--blue); color: var(--blue-deep); }

@media (max-width: 1100px) { .acad-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .acad-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acad-hero { grid-template-columns: 1fr; gap: var(--s5); }
  .acad-hero-media { order: -1; aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
  .acad-grid { grid-template-columns: 1fr; gap: var(--s3); }


  .acad-card { flex-direction: row; align-items: stretch; }
  .acad-cover { flex: 0 0 96px; width: 96px; aspect-ratio: auto; min-height: 0; align-self: stretch; }
  .acad-cover-glyph { right: 50%; transform: translate(50%, -50%); }
  .acad-card:hover .acad-cover-glyph { transform: translate(50%, -50%) scale(1.06); }
  .acad-kind { left: 6px; top: 6px; padding: 2px 7px; }
  .acad-done-mark { left: 6px; bottom: 6px; width: 22px; height: 22px; }
  .acad-card-body { padding: var(--s3) var(--s3) var(--s3) var(--s4); gap: 5px; }
  .acad-save { top: 4px; right: 4px; width: 28px; height: 28px; }
  .acad-sum { -webkit-line-clamp: 2; line-clamp: 2; }
  .acad-statgrid { grid-template-columns: 1fr 1fr; }
  .acad-topbar { gap: var(--s3); }
  .acad-tab { padding: var(--s2) var(--s2); }
  .acad-plate { padding: var(--s4); }
  .acad-plate-glyph { display: none; }
  .acad-detail-head { flex-direction: column; }
  .acad-detail-actions { justify-content: flex-start; }
  .acad-prevnext { grid-template-columns: 1fr; }
  .acad-neighbour.next { text-align: left; align-items: flex-start; }
  .acad-module-body { padding-left: var(--s3); }
  .acad-row-head { flex-direction: column; align-items: flex-start; }
  .acad-try { flex-direction: column; align-items: stretch; gap: var(--s3); }
  .acad-try .row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .acad-card, .acad-card:hover, .acad-cover-glyph, .acad-hero-media img, .acad-hero-play { transition: none; transform: none; }
}


.acad-draft-note { margin: 0 0 var(--s4); padding: var(--s3) var(--s4); border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--amber-bright) 18%, var(--surface)); border: 1px solid color-mix(in srgb, var(--amber-bright) 50%, transparent); }
.acad-media-embed { position: relative; aspect-ratio: 16 / 9; }
.acad-media-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }


.acad-admin-totals { display: flex; gap: var(--s4); flex-wrap: wrap; margin: 0 0 var(--s5); color: var(--ink-soft); font-size: var(--fs-label); }
.acad-admin-totals b { color: var(--ink); font-family: var(--font-head); font-size: var(--fs-subhead); margin-right: 3px; }
.acad-admin-section { margin-bottom: var(--s6); }
.acad-admin-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s3); }
.acad-admin-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }




.acad-admin-scroll table.data th { position: static; top: auto; }
.acad-admin-table td { vertical-align: top; }
.acad-admin-table tr.is-draft td { color: var(--ink-soft); }
.acad-admin-order { white-space: nowrap; width: 64px; }
.acad-admin-actions { white-space: nowrap; }
.acad-admin-actions .btn + .btn { margin-left: var(--s1); }
.acad-admin-ok { display: inline-flex; align-items: center; gap: 4px; color: var(--favourable); font-weight: 600; font-size: var(--fs-label); }
.acad-admin-todo { display: inline-block; padding: 1px 8px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--amber-bright) 22%, var(--surface));
  color: #6B4A00; font-size: var(--fs-caption); font-weight: 700; }
.acad-admin-checklist { margin: 0; padding-left: var(--s5); display: flex; flex-direction: column; gap: var(--s2); }
.acad-admin-checklist li { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.acad-admin-editor { max-width: 760px; }
.acad-admin-editor label { display: block; margin-top: var(--s3); font-size: var(--fs-label); font-weight: 600; }


.acad-admin-editor label .ctl, .acad-admin-editor label input.ctl, .acad-admin-editor label select.ctl, .acad-admin-editor label textarea.ctl {
  display: block; width: 100%; max-width: none; margin-top: 4px; font-weight: 400; box-sizing: border-box; }
.acad-admin-editor .acad-admin-check input { display: inline-block; width: auto; margin: 0; }
.acad-admin-editor textarea.ctl { resize: vertical; }
.acad-admin-fieldset { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--s3) var(--s4) var(--s4); margin: var(--s4) 0 0; }
.acad-admin-fieldset legend { font-weight: 700; font-size: var(--fs-label); padding: 0 var(--s1); }
.acad-admin-check { display: flex; align-items: center; gap: var(--s2); margin-top: var(--s2) !important; font-weight: 500 !important; }
.acad-admin-module { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--s3) var(--s4) var(--s4); margin-top: var(--s3); background: var(--surface-row); }
.acad-admin-module-head { display: flex; justify-content: space-between; align-items: center; }
.acad-admin-upload { display: flex; flex-direction: column; gap: var(--s2); margin-top: var(--s3); }
.acad-admin-upload .acad-bar { margin-top: 0; }















.scn { max-width: 1180px; margin: 0 auto; }
.scn-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); flex-wrap: wrap; margin-bottom: var(--s4); }



.beta-tag { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: var(--radius-2xs); flex: none;
  background: var(--blue-tint); color: var(--blue-deep); font-family: var(--font); font-size: var(--fs-micro); line-height: 1;
  font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.scn-title { display: flex; align-items: center; gap: var(--s2); }
.scn-how-btn { padding: 0 var(--s2); }

.scn-frame { margin: 0 0 var(--s4); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-frame b { color: var(--ink-soft); font-weight: 600; }
.scn-frame a { color: var(--ink-soft); text-decoration: underline; text-underline-offset: 2px; }
.scn-frame a:hover { color: var(--blue-deep); }

.scn-align { display: inline-flex; align-items: center; height: 20px; padding: 0 var(--s2); border-radius: var(--radius-pill); font-size: var(--fs-micro); line-height: 1;
  font-weight: 600; letter-spacing: .01em; white-space: nowrap; vertical-align: middle; }
.scn-align.with { background: var(--favourable-tint); color: var(--favourable-ink); }
.scn-align.against { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.scn-sugg-move .scn-align { margin-left: var(--s1); }

.scn-sig { display: inline-flex; align-items: center; color: var(--blue); line-height: 0; cursor: help; }

.scn-print-head, .scn-print-val { display: none; }
.scn-tools { flex-wrap: wrap; gap: var(--s3); }
.scn-tools .scn-build-top svg { margin-right: 6px; }
.scn-tools .ctl { max-width: 260px; }
.scn-eyebrow { font-family: var(--font); font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }


.scn-lock { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s5) var(--s6); align-items: center; padding: var(--s6); margin-top: var(--s2); }
.scn-lock-ring { position: relative; width: 132px; height: 132px; flex: none; }
.scn-lock-ring svg { display: block; }
.scn-lock-pct { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.scn-lock-num { font-family: var(--font-head); font-size: var(--fs-metric); line-height: var(--lh-metric); font-weight: var(--fw-metric); color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.scn-lock-num small { font-size: var(--fs-label); font-weight: 600; color: var(--ink-soft); margin-left: 1px; }
.scn-lock-cap { font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint); text-transform: uppercase; letter-spacing: .06em; }
.scn-lock-title { margin: var(--s1) 0 var(--s2); font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-section); font-weight: var(--fw-section); color: var(--ink); letter-spacing: -0.01em; }
.scn-lock-why { margin: 0 0 var(--s4); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-soft); max-width: 52ch; }
.scn-lock-ask { display: inline-block; margin: 0; padding: var(--s2) var(--s3); border-radius: var(--radius-sm); background: var(--surface-sunk); font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.scn-lock-what { grid-column: 1 / -1; list-style: none; margin: 0; padding: var(--s4) 0 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); }
.scn-lock-what li { display: flex; gap: var(--s2); align-items: flex-start; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.scn-lock-what li > svg { flex: none; color: var(--blue); margin-top: 1px; }
.scn-lock-what b { color: var(--ink); font-weight: 600; }




.scn-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "board cats" "picks panel"; gap: var(--s4); align-items: start; margin-bottom: var(--s4); }
.scn-grid > .card { min-width: 0; padding: 0 var(--s5) var(--s3); margin: 0; }
.scn-grid > .card > .card-head { padding: var(--s3) 0; }
.scn-board { grid-area: board; } .scn-cats { grid-area: cats; } .scn-picks { grid-area: picks; } .scn-panel { grid-area: panel; }

.scn-board-tools { display: inline-flex; align-items: center; gap: var(--s2); }
.scn-view { display: inline-flex; gap: var(--s3); margin-left: var(--s2); }
.scn-view-btn { border: 0; background: none; padding: 2px 0; font: inherit; font-size: var(--fs-label); color: var(--ink-soft); cursor: pointer; border-radius: 2px; }
.scn-view-btn:hover { color: var(--ink); }
.scn-view-btn.on { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.scn-view-btn:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-score { display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: var(--s4); align-items: center; padding: var(--s3) 0; border-top: 1px solid var(--border); }
.scn-board .scn-score:first-of-type { border-top: 0; }
.scn-score .scn-tile-top { grid-column: 1; }
.scn-score .scn-tile-nums { grid-column: 1; margin-top: 2px; min-height: 0; }
.scn-score .scn-num { font-size: var(--fs-metric); line-height: var(--lh-metric); }
.scn-score .scn-track, .scn-score .scn-meter { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.scn-score .scn-word { line-height: var(--lh-metric); }
.scn-score .scn-word.none { font-size: var(--fs-body); }



.scn-track { position: relative; padding: 16px 0 20px; container: scn-track / inline-size; }
.scn-track-cap { position: absolute; top: 0; font-size: var(--fs-micro); line-height: 1; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }
.scn-track-cap.left { left: 0; } .scn-track-cap.right { right: 0; }






@container scn-track (max-width: 340px) {
  :not(.ov-hl) > .scn-track > .scn-track-cap { position: static; display: block; white-space: normal; }
  :not(.ov-hl) > .scn-track > .scn-track-cap.left { margin-top: -16px; }
  :not(.ov-hl) > .scn-track > .scn-track-cap.right { margin-top: 2px; text-align: right; }
  :not(.ov-hl) > .scn-track > .scn-track-bar { margin-top: 8px; }
}
.scn-track-bar { position: relative; height: 12px; border-radius: var(--radius-pill); background: var(--surface-sunk); }
.scn-band { position: absolute; top: 0; height: 100%; background: var(--surface-sunk); }
.scn-band.lo { border-radius: var(--radius-pill) 0 0 var(--radius-pill); } .scn-band.hi { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.scn-band.mid { background: color-mix(in srgb, var(--ink) 10%, var(--surface)); }
.scn-track-tick { position: absolute; top: -4px; width: 2px; height: 20px; margin-left: -1px; background: var(--ink-faint); border-radius: 1px; }
.scn-track-tick.target { width: 3px; margin-left: -1.5px; background: var(--amber-bright); }
.scn-track-tick, .scn-track-lbl { font-style: normal; }
.scn-track-lbl { position: absolute; top: 23px; font-family: var(--font); font-size: var(--fs-micro); line-height: 1; font-weight: 600; color: var(--ink-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
.scn-track-tick.left .scn-track-lbl { right: 5px; } .scn-track-tick.right .scn-track-lbl { left: 6px; }
.scn-track-tick.target .scn-track-lbl { color: var(--amber-deep); }
button.scn-track-lbl { border: 0; background: none; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; text-decoration-style: dotted; }
button.scn-track-lbl:hover { color: var(--ink); }
.scn-track-join { position: absolute; top: 50%; height: 3px; margin-top: -1.5px; background: var(--blue); border-radius: 2px; transition: left var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out); }
.scn-track-now { position: absolute; top: 50%; width: 12px; height: 12px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--navy); box-shadow: 0 0 0 2px var(--surface); }
.scn-track-next { position: absolute; top: 50%; width: 16px; height: 16px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--surface); border: 3px solid var(--blue);
  box-shadow: 0 1px 3px rgba(16,24,40,.25), 0 0 0 2px var(--surface); transition: left var(--dur-base) var(--ease-out); animation: scn-pop var(--dur-slow) var(--ease-out); }
.scn-card-foot { margin-top: var(--s2); padding-top: var(--s3); border-top: 1px solid var(--border); }
.scn-board > .scn-note { margin: var(--s2) 0 0; padding-top: var(--s2); border-top: 1px solid var(--border); }



.scn-paths-wrap { overflow-x: auto; padding: var(--s1) 0 0; }
.scn-paths svg { display: block; overflow: visible; }
.scn-paths-hd { font-family: var(--font); font-size: 10.5px; font-weight: 650; letter-spacing: .08em; fill: var(--ink-soft); }
.scn-paths-band { fill: var(--blue-tint); fill-opacity: .55; }
.scn-paths-mkt { stroke: var(--ink-faint); stroke-width: 1; stroke-dasharray: 3 3; }
.scn-paths-tgt { stroke: var(--amber-deep); stroke-width: 1.5; stroke-dasharray: 4 3; }
.scn-paths-link { stroke: var(--chrome-edge); stroke-width: 1; }
.scn-paths-now { fill: var(--navy); } .scn-paths-end { fill: var(--blue); }
.scn-paths-bar.up { fill: var(--fill-good); } .scn-paths-bar.down { fill: var(--fill-bad); } .scn-paths-bar.flat { fill: var(--ink-faint); }
.scn-paths-v { font-family: var(--font); font-size: 11px; font-weight: 600; fill: var(--ink-soft); font-variant-numeric: tabular-nums; paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; }
.scn-paths-v.up { fill: var(--favourable-ink); } .scn-paths-v.down { fill: var(--unfavourable-ink); } .scn-paths-v.end { fill: var(--blue-deep); font-weight: 650; }
.scn-paths-name { font-family: var(--font); font-size: 12.5px; fill: var(--ink); }
.scn-paths-name.strong { font-weight: 650; }
.scn-paths-tick { font-family: var(--font); font-size: 10.5px; fill: var(--ink-faint); font-variant-numeric: tabular-nums; }
.scn-paths-note { margin: var(--s2) 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); }
.scn-board .scn-tile.journey { display: block; padding: var(--s3) 0 var(--s2); border-top: 0; }
.scn-figures { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-figures b { color: var(--ink); font-weight: 650; font-variant-numeric: tabular-nums; }
.scn-figures b.next { color: var(--blue); }

.scn-sum { padding: var(--s1) 0 var(--s3); border-bottom: 1px solid var(--border); }
.scn-sum-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s3); }
.scn-sum-title { font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-section); font-weight: 650; color: var(--ink); letter-spacing: -0.01em; }
.scn-sum-chip { display: inline-flex; align-items: center; height: 22px; padding: 0 var(--s2); border-radius: var(--radius-xs); font-size: var(--fs-caption); font-weight: 650; background: var(--surface-sunk); color: var(--ink-soft); white-space: nowrap; }
.scn-sum-chip.after { background: var(--blue-tint); color: var(--blue-deep); }
.scn-sum-chip.indicative { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }



.scn-tile.journey.grid { padding: var(--s2) 0 var(--s2); }
.scn-g9-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); flex-wrap: wrap; margin-bottom: var(--s2); }
.scn-g9-modelled { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-g9 { position: relative; }
.scn-g9 svg { display: block; max-width: 100%; overflow: visible; }
.scn-g9-bg { fill: var(--surface-sunk); stroke: var(--border); stroke-width: 1; }
.scn-g9-cell.mine { fill: var(--blue-tint-2); pointer-events: none; }
.scn-g9-band { fill: var(--surface); fill-opacity: .55; stroke: color-mix(in srgb, var(--ink) 22%, var(--surface)); stroke-width: 1; stroke-dasharray: 4 3; pointer-events: none; }
.scn-g9-sub { stroke: color-mix(in srgb, var(--ink) 10%, var(--surface)); stroke-width: 1; pointer-events: none; }
.scn-g9-dl { font-family: var(--font); font-weight: 650; fill: var(--ink-soft); paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; }
.scn-g9-dl.after { fill: var(--blue-deep); }
.scn-g9-third { pointer-events: none; }
.scn-g9-third.after { fill: var(--blue); fill-opacity: .28; }
.scn-g9-third.now { fill: var(--navy); fill-opacity: .18; }
.scn-g9-third.today { fill: var(--navy); fill-opacity: .08; }
.scn-g9-diamond { fill: var(--navy); }
.scn-g9-mkt { font-family: var(--font); font-weight: 650; fill: var(--navy); paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; }


.scn-g9-axis { font-family: var(--font); font-weight: 600; fill: var(--ink-soft); }
.scn-g9-axis-title { font-family: var(--font); font-weight: 650; fill: var(--ink); letter-spacing: .01em; }
.scn-g9-corner { font-family: var(--font); font-weight: 600; fill: var(--ink-soft); }
.scn-g9-end { font-family: var(--font); font-weight: 500; fill: var(--ink-faint); }
.scn-g9-note { margin: var(--s2) 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); text-align: center; }
.scn-g9-move { stroke: var(--ink-soft); stroke-width: 1.5; }
.scn-g9-arrowhead { fill: var(--ink-soft); }
.scn-g9-today { fill: var(--surface); stroke: var(--navy); stroke-width: 1.5; stroke-dasharray: 3 2; }
.scn-g9-halo { fill: var(--blue); fill-opacity: .14; }

.scn-g9-range { font-family: var(--font); font-weight: 600; fill: var(--ink-faint); pointer-events: none; }
.scn-g9-target path { stroke: var(--amber-deep); stroke-width: 2.2; stroke-linecap: round; fill: none; }
.scn-g9-lead.now .scn-g9-halo { fill: var(--navy); fill-opacity: .12; }
.scn-g9-dot { fill: var(--blue); stroke: var(--surface); stroke-width: 2; }
.scn-g9-lead.now .scn-g9-dot { fill: var(--navy); }
.scn-g9-lead.play .scn-g9-dot { fill: var(--blue-deep); }
.scn-g9-lead { transition: transform var(--dur-base) var(--ease-out); }
.scn-present-plane { max-width: 640px; }
.scn-present-sum { margin: var(--s3) 0 0; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-soft); }
.scn-present-sum b { color: var(--ink); font-weight: 650; }

.scn-tile.journey { padding: var(--s3) var(--s4) var(--s2); }
.scn-journey { position: relative; margin-top: var(--s1); }
.scn-journey svg { display: block; max-width: 100%; overflow: visible; }
.scn-journey-plane { fill: var(--surface-sunk); }
.scn-journey-path { fill: none; stroke: var(--blue); stroke-width: 1.5; stroke-opacity: .55; stroke-linejoin: round; stroke-linecap: round; }
.scn-journey-preview { stroke: var(--blue); stroke-width: 1.5; stroke-opacity: .5; stroke-dasharray: 3 4; stroke-linecap: round; }


.scn-journey-preview, .scn-journey-path { pointer-events: none; }
.scn-journey-step { fill: var(--blue); stroke: var(--surface); stroke-width: 1.5; }
.scn-journey-now circle { fill: var(--lumi-navy); stroke: var(--surface); stroke-width: 2; }
.scn-journey-next circle { fill: var(--surface); stroke: var(--blue); stroke-width: 2.5; }
.scn-journey-labels text { paint-order: stroke; stroke: var(--surface); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; }
.scn-journey-labels .lbl-now { font-family: var(--font); font-size: 10px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; fill: var(--ink-soft); }
.scn-journey-labels .lbl-next { font-family: var(--font); font-size: 11px; font-weight: 650; fill: var(--ink); }
.scn-journey-labels .lbl-play { font-family: var(--font); font-size: 11px; font-weight: 650; fill: var(--blue-deep); }
.scn-journey-labels .lbl-target { font-family: var(--font); font-size: 10px; font-weight: 650; letter-spacing: .04em; fill: var(--amber-deep); }
.scn-journey-labels .lbl-peers { font-family: var(--font); font-size: 10px; font-weight: 600; letter-spacing: .04em; fill: var(--ink-faint); }
.scn-journey-now text { font-family: var(--font); font-size: 10px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; fill: var(--ink-soft);
  paint-order: stroke; stroke: var(--surface-sunk); stroke-width: 3px; }
.scn-journey-next text { font-family: var(--font); font-size: 11px; font-weight: 650; fill: var(--ink); font-variant-numeric: tabular-nums;
  paint-order: stroke; stroke: var(--surface-sunk); stroke-width: 3px; }
.scn-journey-now, .scn-journey-next { transition: transform var(--dur-base) var(--ease-out); }

@keyframes scn-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes scn-pop { 0% { transform: scale(.5); } 70% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes scn-pulse { 0% { stroke-width: 1.5; stroke-opacity: 1; } 60% { stroke-width: 5; stroke-opacity: .35; } 100% { stroke-width: 1.5; stroke-opacity: 1; } }
.scn-tile-nums .scn-num.next, .scn-tile-nums .scn-chip { animation: scn-in var(--dur-base) var(--ease-out) both; }
.scn-journey-next circle { transform-box: fill-box; transform-origin: center; animation: scn-pop var(--dur-slow) var(--ease-out); }
.scn-journey-saved.new .scn-journey-ghost { animation: scn-pulse 1.1s var(--ease-out) 2; }
.scn-journey-saved { cursor: pointer; outline: none; }
.scn-journey-ghost { fill: none; stroke: var(--blue); stroke-opacity: .35; stroke-width: 1.5; transition: stroke-opacity var(--dur-fast) ease; }
.scn-journey-saved:hover .scn-journey-ghost, .scn-journey-saved:focus-visible .scn-journey-ghost { stroke-opacity: 1; }
.scn-journey-saved:focus-visible .scn-map-hit { stroke: var(--blue-bright); stroke-width: 2; }
.scn-tile { min-width: 0; }
.scn-tile-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s2); }
.scn-tile-nums { display: flex; align-items: baseline; gap: var(--s2); margin-top: var(--s1); flex-wrap: wrap; min-height: var(--lh-metric-lg); }
.scn-num { font-family: var(--font-head); font-size: var(--fs-metric-lg); line-height: var(--lh-metric-lg); font-weight: var(--fw-metric); color: var(--ink);
  letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.scn-num.next { color: var(--blue); }
.scn-arrow { color: var(--ink-faint); font-size: var(--fs-subhead); }
.scn-word { font-family: var(--font-head); font-size: var(--fs-section); line-height: var(--lh-metric-lg); font-weight: 650; color: var(--ink); letter-spacing: -0.01em; }
.scn-word.none { color: var(--ink-faint); font-weight: 600; }
.scn-word.diff-easy { color: var(--favourable-ink); }
.scn-word.diff-moderate { color: var(--neutral-perf-ink); }
.scn-word.diff-hard, .scn-word.diff-very-hard { color: var(--unfavourable-ink); }
.scn-tile-sub { margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-note { margin: var(--s2) 0 var(--s4); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }


.scn-meter { display: flex; gap: 4px; margin-top: var(--s3); }
.scn-meter-seg { flex: 1; height: 12px; border-radius: var(--radius-pill); background: var(--surface-sunk); transition: background var(--dur-base) var(--ease-out); }
.scn-meter.diff-easy .on { background: var(--fill-good); }
.scn-meter.diff-moderate .on { background: var(--amber-bright); }
.scn-meter.diff-hard .on, .scn-meter.diff-very-hard .on { background: var(--fill-bad); }


.scn-chip { position: relative; display: inline-flex; align-items: center; height: 22px; padding: 0 var(--s2); border-radius: var(--radius-pill); font-size: var(--fs-caption);
  font-weight: 650; font-variant-numeric: tabular-nums; background: var(--surface-sunk); color: var(--ink-soft); white-space: nowrap; letter-spacing: .01em; }
.scn-chip.up { background: var(--favourable-tint); color: var(--favourable-ink); }
.scn-chip.down { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.scn-chip.flat { color: var(--ink-faint); }

.scn-chip.mag::before { content: ""; position: absolute; left: 7px; right: 7px; bottom: 3px; height: 2px; border-radius: 1px; background: currentColor; opacity: .26; }
.scn-chip.mag::after { content: ""; position: absolute; left: 7px; bottom: 3px; height: 2px; width: calc((100% - 14px) * var(--mag, 0)); border-radius: 1px; background: currentColor; opacity: .55; }
.scn-chip.diff { color: var(--ink); }
.scn-size-ar { font-size: 8px; margin-right: 4px; position: relative; top: -1px; }

.scn-chip.scn-size { flex-direction: column; align-items: flex-start; gap: 5px; height: auto; padding: 0; background: none; border-radius: 0; font-size: var(--fs-label); line-height: var(--lh-label); }
.scn-size-w { display: inline-flex; align-items: center; }
.scn-size-m { display: inline-flex; gap: 3px; }
.scn-size-m i { display: block; width: 16px; height: 4px; border-radius: 2px; background: currentColor; opacity: .18; }
.scn-size-m i.on { opacity: .7; }
.scn-yours { display: block; margin-top: 3px; font-size: 11px; line-height: 14px; font-weight: 650; color: var(--blue-deep); white-space: nowrap; }


.scn-word { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 0; font-family: var(--font); font-size: var(--fs-label); line-height: var(--lh-label); max-width: 100%; box-sizing: border-box; color: var(--ink-soft); letter-spacing: 0; }
.scn-word.up { color: var(--favourable-ink); }
.scn-word.down { color: var(--unfavourable-ink); }
.scn-word.mid { color: var(--neutral-perf-ink); }
.scn-word.flat { color: var(--ink-soft); }
.scn-word-w { font-weight: 650; white-space: nowrap; }
.scn-pips { display: inline-flex; gap: 3px; }
.scn-pips i { display: block; width: 14px; height: 4px; border-radius: 2px; background: currentColor; opacity: .18; }
.scn-pips i.on { opacity: .7; }
.scn-chip.diff-easy { background: var(--favourable-tint); color: var(--favourable-ink); }
.scn-chip.diff-moderate { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }
.scn-chip.diff-hard { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.scn-chip.diff-very-hard { background: var(--unfavourable-deep); color: #fff; }
.scn-effect { display: inline-flex; align-items: center; gap: var(--s1); flex-wrap: wrap; }
.scn-link { border: 0; background: none; padding: 0; font: inherit; font-size: inherit; color: var(--blue-bright); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.scn-link:hover { color: var(--blue-deep); }
.scn-link:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }
.scn-muted { color: var(--ink-faint); font-size: var(--fs-caption); line-height: var(--lh-caption); }


.scn-map-grid { stroke: var(--border); stroke-width: 1; stroke-dasharray: 2 5; stroke-opacity: .6; }
.scn-map-axis { stroke: var(--border); stroke-width: 1; }
.scn-map-quad-tint { fill: var(--blue); fill-opacity: .05; }
.scn-map-quad { font-family: var(--font); font-size: 9.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; fill: var(--ink-faint); pointer-events: none; }
.scn-present-plane .scn-map-quad { font-size: 12px; }
.scn-map-cap { font-family: var(--font); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; fill: var(--ink-faint); }
.scn-map-dot { cursor: pointer; outline: none; animation: scn-fade var(--dur-fast) ease both; }
.scn-map-hit { fill: transparent; }
.scn-map-mark { fill: var(--blue); fill-opacity: .45; stroke: var(--surface); stroke-width: 1.5; transition: r var(--dur-fast) ease, fill-opacity var(--dur-fast) ease; }
.scn-map-dot.hot .scn-map-mark, .scn-map-dot:focus-visible .scn-map-mark { r: 5.5; fill-opacity: 1; fill: var(--blue-deep); }
.scn-map-dot:focus-visible .scn-map-hit { stroke: var(--blue-bright); stroke-width: 2; }
.scn-map-tip { position: absolute; transform: translate(-50%, calc(-100% - 14px)); background: var(--ink); color: #fff; border-radius: var(--radius-xs);
  padding: var(--s2) var(--s3); font-size: var(--fs-caption); line-height: var(--lh-caption); pointer-events: none; white-space: nowrap; z-index: 2;
  box-shadow: var(--shadow-pop); display: flex; flex-direction: column; gap: 2px; }
.scn-map-tip.below { transform: translate(-50%, 14px); }
.scn-map-tip b { font-weight: 650; }
.scn-map-tip span { opacity: .85; font-variant-numeric: tabular-nums; }

.scn-picks > .card-head { border-bottom: 1px solid var(--border); }
.scn-sugg { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--s2) var(--s3); padding: var(--s3) 0; cursor: default; }
.scn-sugg + .scn-sugg { border-top: 1px solid var(--border); }
.scn-sugg-kind { display: block; margin-bottom: 2px; font-family: var(--font); font-size: var(--fs-micro); line-height: var(--lh-micro); text-transform: uppercase; letter-spacing: .08em; font-weight: 650; color: var(--ink-faint); }
.scn-sugg-move { font-family: var(--font-head); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; color: var(--ink); min-width: 0; }
.scn-sugg .scn-muted { font-family: var(--font); font-weight: 400; }
.scn-moves-toggle { display: inline-flex; align-items: center; gap: var(--s1); font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; text-decoration: none; color: var(--ink); padding: 0; }
.scn-moves-toggle:hover { color: var(--blue-deep); }
.scn-moves { border-top: 1px solid var(--border); }
.scn-moves-list { list-style: none; margin: 0; padding: 0; }
.scn-move { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--s2) var(--s3); width: 100%; padding: var(--s3) 0; border: 0; border-top: 1px solid var(--border); background: none; font: inherit; text-align: left; cursor: pointer; color: var(--ink); border-radius: 4px; }
.scn-moves-list li:first-child .scn-move { border-top: 0; }
.scn-move:hover .scn-move-name, .scn-move:focus-visible .scn-move-name { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 2px; }
.scn-move:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-move-name { font-family: var(--font-head); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; min-width: 0; }


.scn-panel { outline: none; }
.scn-empty-state { padding: var(--s4) 0 var(--s2); text-align: center; }
.scn-empty-state .scn-empty b { display: block; color: var(--ink); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; margin-bottom: var(--s1); }
.scn-panel:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-panel .card-head-side { margin-left: auto; }
.scn-lead { margin: 0 0 var(--s2); padding: 0 0 var(--s3); border-bottom: 1px solid var(--border); }
.scn-story { margin: 0; padding: 0; font-family: var(--font-head); font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; color: var(--ink); }
.scn-changes { list-style: none; margin: 0; padding: 0; }
.scn-changes li { position: relative; padding: var(--s3) 0; border-bottom: 1px solid var(--border); animation: scn-in var(--dur-base) var(--ease-out) both; animation-delay: calc(var(--i, 0) * 35ms); }
.scn-change-name { font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; color: var(--ink); padding-right: 34px; }
.scn-change-name .scn-muted { display: block; font-weight: 400; }
.scn-change-fx { display: flex; align-items: center; gap: var(--s1); flex-wrap: wrap; margin-top: var(--s2); }
.scn-x { position: absolute; top: var(--s3); right: 0; border: 1px solid var(--border); background: var(--surface); border-radius: 50%; width: 26px; height: 26px;
  font: inherit; font-size: 15px; line-height: 1; color: var(--ink-faint); cursor: pointer; flex: none; transition: color var(--dur-fast) ease, border-color var(--dur-fast) ease; }
.scn-x:hover { color: var(--unfavourable-ink); border-color: currentColor; }
.scn-x:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-save { margin-top: var(--s4); display: flex; flex-direction: column; gap: var(--s2); }
.scn-save-row { flex-wrap: wrap; }
.scn-add-note { margin-left: auto; font-size: var(--fs-caption); }
.scn-empty { margin: 0; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }


.scn-read { margin: var(--s3) 0 0; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); outline: none; border-radius: 4px; animation: scn-in var(--dur-slow) var(--ease-out); }
.scn-read:focus-visible { outline: var(--focus-outline); outline-offset: 6px; }
.scn-read p { margin: 0 0 var(--s2); color: var(--ink); }
.scn-read ul { margin: 0; padding-left: 18px; }
.scn-read li { margin: 0 0 var(--s1); }
.scn-read-src { margin-top: var(--s2); font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--ink-faint); }
.scn-verbs { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s3); }
.scn-verb { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 0; font: inherit; font-size: var(--fs-caption); line-height: var(--lh-caption); font-weight: 600; color: var(--blue-bright); cursor: pointer; transition: color var(--dur-fast) ease; }
.scn-verb:hover { color: var(--blue-deep); }
.scn-verb:disabled { color: var(--ink-faint); cursor: default; }
.scn-verb.busy svg { animation: scn-breathe 1.2s ease-in-out infinite; }
@keyframes scn-breathe { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
@keyframes scn-fade { from { opacity: 0; } to { opacity: 1; } }
.scn-verb:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }
.scn-lands { color: var(--ink-faint); }


.scn-list-hd .scn-play { min-height: 24px; display: inline-flex; align-items: center; }
.scn-chg-acts { display: inline-flex; align-items: center; justify-content: flex-end; gap: var(--s1); width: 132px; flex: none; }
.scn-adj-btn { gap: 6px; }
.scn-adj-btn.on { background: var(--blue-tint); border-color: var(--blue); color: var(--blue-deep); }
.scn-adjust { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s5); margin-top: var(--s3); padding: var(--s5); border: 1px solid var(--border-neutral); border-radius: 12px; background: var(--surface-row); animation: scn-in var(--dur-base) var(--ease-out); }
.scn-adjust-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); padding-top: var(--s4); border-top: 1px solid var(--border); }
.scn-adjust-foot .scn-muted { flex: 1 1 220px; }



.scn-story-sub { margin-top: var(--s1); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-fund { margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-own-line { margin: var(--s2) 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-template.scn-budget { display: inline-flex; align-items: center; gap: var(--s1); padding-right: 4px; cursor: default; }
.scn-budget-go { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.scn-budget-go:hover { color: var(--blue-deep); }
.scn-budget-go:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }
.scn-stepper { display: inline-flex; gap: 2px; margin-left: 2px; }
.scn-stepper button { width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); font: inherit; font-size: 13px; line-height: 1; padding: 0; cursor: pointer; color: var(--ink-soft); }
.scn-stepper button:hover { border-color: var(--blue); color: var(--blue-deep); }
.scn-stepper button:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }
.scn-fund-cuts { margin-top: 2px; color: var(--ink-soft); }

.scn-present { position: fixed; inset: 0; z-index: var(--z-modal); background: var(--surface); overflow: auto; padding: var(--s5) clamp(var(--s4), 5vw, 64px) var(--s6); outline: none; animation: scn-fade var(--dur-base) ease both; }
.scn-present-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s4); }
.scn-present-title { margin: 2px 0 0; font-family: var(--font-head); font-size: clamp(24px, 3vw, 40px); line-height: 1.15; font-weight: 650; color: var(--ink); }
.scn-present-tools { display: flex; gap: var(--s2); flex-shrink: 0; }
.scn-present-plane { margin: 0 auto; }
.scn-present-plane .scn-journey-labels text { font-size: 14px; }
.scn-present-plane .scn-journey-labels .lbl-next, .scn-present-plane .scn-journey-labels .lbl-play { font-size: 15px; }
.scn-present-plane .scn-map-cap { font-size: 13px; }

.scn-present-plane .scn-journey-now circle { r: 8; stroke-width: 2.5; }
.scn-present-plane .scn-journey-next circle { r: 10; stroke-width: 3; }
.scn-present-plane .scn-journey-play circle { r: 13; stroke-width: 3; }
.scn-present-plane .scn-journey-path { stroke-width: 2.5; }
.scn-present-plane .scn-journey-preview { stroke-width: 2; }
.scn-present-plane .scn-journey-step { r: 4; stroke-width: 2; }
.scn-present-plane .scn-map-mark { r: 5; }
.scn-present-plane .scn-map-dot.hot .scn-map-mark { r: 8; }
.scn-present-plane .scn-journey-ghost { r: 6; stroke-width: 2; }
.scn-present-plane .scn-journey-peers rect { transform: rotate(45deg) scale(1.5); }
.scn-present-plane .scn-journey-target circle { r: 9.5; }
.scn-present-plane .scn-journey-target line { transform: scale(1.45); }
.scn-present-plane .scn-journey-target circle, .scn-present-plane .scn-journey-target line { stroke-width: 2; }
.scn-present-rows { max-width: 1000px; margin: var(--s4) auto 0; }
.scn-present-rows .scn-strip { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s6); }
.scn-present-rows .scn-strip.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.scn-present-rows .scn-fig-word { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; }
.scn-present-rows .scn-fig-m { font-size: var(--fs-body, 15px); }
.scn-present-story { max-width: 1200px; margin: var(--s5) auto 0; font-family: var(--font-head); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.3; font-weight: 600; color: var(--ink); }
.scn-present-sub { max-width: 1200px; margin: var(--s2) auto 0; font-size: var(--fs-body); color: var(--ink-soft); }
.scn-present-changes { list-style: none; max-width: 1200px; margin: var(--s4) auto 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: var(--s2) var(--s5); }
.scn-present-changes li { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); padding: var(--s2) 0; border-top: 1px solid var(--border); font-size: var(--fs-body); font-weight: 600; }
.scn-present-fx { display: inline-flex; gap: var(--s1); align-items: center; flex-shrink: 0; }
.scn-present-foot { max-width: 1200px; margin: var(--s5) auto 0; font-size: var(--fs-caption); color: var(--ink-faint); }
@media (max-width: 720px) { .scn-present-rows .scn-strip, .scn-present-rows .scn-strip.three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.scn-status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); }
.scn-status label { display: inline-flex; align-items: center; gap: var(--s1); color: var(--ink-soft); }
.scn-status .ctl { height: 28px; font-size: var(--fs-caption); padding: 0 var(--s2); }
.scn-comments { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--border); font-size: var(--fs-caption); line-height: var(--lh-caption); }
.scn-comments ul { list-style: none; margin: 0 0 var(--s2); padding: 0; }
.scn-comments li { padding: var(--s2) 0; border-bottom: 1px solid var(--border); }
.scn-comments li b { color: var(--ink); }
.scn-comments li div { margin-top: 2px; color: var(--ink); }
.scn-comments form { gap: var(--s2); }
.scn-comments form .ctl { flex: 1; height: 32px; font-size: var(--fs-caption); }
.scn-rating .scn-rating-edit { display: grid; gap: var(--s2); margin-top: var(--s2); max-width: 380px; }
.scn-rating .ctl { height: 30px; font-size: var(--fs-caption); padding: 0 var(--s2); }
.scn-rating .scn-rating-edit input.ctl { width: 100%; }
.scn-rating .scn-slider-val { min-width: 64px; font-size: var(--fs-caption); }
.scn-rating-act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); }
.scn-journey-peers rect { fill: var(--surface); stroke: var(--ink-faint); stroke-width: 1.5; }
.scn-journey-peers text { font-size: 10px; fill: var(--ink-faint); font-weight: 600; letter-spacing: .04em; }
.scn-journey-peers .scn-map-hit { fill: transparent; stroke: none; }
.scn-compare { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--border); }
.scn-compare .ctl { height: 32px; font-size: var(--fs-caption); max-width: 100%; }
.scn-cmp { width: 100%; border-collapse: collapse; margin-top: var(--s3); font-size: var(--fs-caption); line-height: var(--lh-caption); animation: scn-in var(--dur-slow) var(--ease-out); }
.scn-cmp th, .scn-cmp td { padding: 4px 0; text-align: right; border-bottom: 1px solid var(--border); font-weight: 400; }
.scn-cmp th[scope=row] { text-align: left; color: var(--ink-soft); }
.scn-cmp thead th { color: var(--ink); font-weight: 600; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scn-cmp td { font-variant-numeric: tabular-nums; color: var(--ink); }
.scn-cmp td.up { color: var(--favourable-ink); font-weight: 600; }
.scn-cmp td.down { color: var(--unfavourable-ink); }
.scn-cmp-only { margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-cmp-only p { margin: 0 0 var(--s1); }
.scn-cmp-only b { color: var(--ink); font-weight: 600; }
.scn-templates { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin-top: var(--s3); }
.scn-templates > .scn-muted { flex-basis: 100%; }
.scn-template { border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius-pill); padding: 0 var(--s3); height: 28px; font: inherit; font-size: var(--fs-caption); color: var(--ink); cursor: pointer; transition: border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
.scn-template:hover { border-color: var(--blue); background: var(--blue-tint); }
.scn-template:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-say { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); }
.scn-say .ctl { flex: 1 1 120px; min-width: 0; height: 32px; font-size: var(--fs-caption); }
.scn-say .scn-template { flex: 0 0 auto; height: 32px; }
.scn-said { margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-tile-btn { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius-pill); padding: 0 var(--s2); height: 22px; font: inherit; font-size: var(--fs-micro); font-weight: 600; color: var(--ink-soft); cursor: pointer; transition: border-color var(--dur-fast) ease, color var(--dur-fast) ease; }
.scn-tile-btn:hover, .scn-tile-btn.on { border-color: var(--blue); color: var(--blue-deep); }
.scn-tile-btn:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-journey-play { transition: transform var(--dur-slow) var(--ease-out); }
.scn-journey-play circle { fill: none; stroke: var(--blue-bright); stroke-width: 2.5; }
.scn-journey-play text { font-family: var(--font); font-size: 11px; font-weight: 650; fill: var(--blue-deep); }
.scn-tile-tools { display: inline-flex; align-items: center; gap: var(--s1); }
.scn-journey-target circle, .scn-journey-target line { fill: none; stroke: var(--amber-deep); stroke-width: 1.5; }
.scn-journey-target text { font-family: var(--font); font-size: 10px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; fill: var(--amber-deep); }
.scn-target .row { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }
.scn-target label { display: inline-flex; flex-direction: column; gap: var(--s1); font-size: var(--fs-caption); color: var(--ink-soft); }
.scn-target label .ctl { width: 96px; }
.scn-journey-preview.saved { stroke-dasharray: 3 3; animation: scn-fade var(--dur-fast) ease both; }
.scn-journey-saved.hot .scn-journey-ghost { stroke-opacity: 1; }
.scn-how p { margin: 0 0 var(--s3); font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.scn-how b { color: var(--ink); }



.scn-legend { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin: var(--s2) 0 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.scn-legend .on, .scn-stack-seg.on { background: color-mix(in srgb, var(--fill-good) 22%, var(--surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--favourable) 35%, var(--surface)); }
.scn-legend .off, .scn-stack-seg.off { background: color-mix(in srgb, var(--ink) 9%, var(--surface)); }
.scn-legend .chg, .scn-stack-seg.chg { background: var(--blue); }
.scn-legend .more, .scn-stack-seg.more { background: var(--blue); }
.scn-legend .level, .scn-stack-seg.level { background: var(--blue-tint-2); }
.scn-legend .less, .scn-stack-seg.less { background: var(--surface); box-shadow: inset 0 0 0 1.5px var(--border-neutral); }
.scn-cat-hdr, .scn-cat-row { display: grid; grid-template-columns: minmax(120px, 168px) minmax(0, 1fr) 52px 112px 20px; align-items: center; column-gap: var(--s3); }
.scn-cat-hdr { padding: var(--s2) 0 var(--s1); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-cat-hdr span:nth-child(3), .scn-cat-hdr span:nth-child(4) { text-align: center; }
.scn-cat { border-top: 1px solid var(--border); }
.scn-cat-row { width: 100%; padding: var(--s3) 0; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; color: var(--ink); border-radius: var(--radius-xs); transition: background var(--dur-fast) ease; }
.scn-cat-row:hover .scn-cat-name { text-decoration: underline; text-underline-offset: 3px; }
.scn-cat-row:focus-visible { outline: var(--focus-outline); outline-offset: -2px; }
.scn-cat-name { font-family: var(--font-head); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; min-width: 0; letter-spacing: -0.005em; }
.scn-cat-sig, .scn-cat-fx { text-align: center; font-size: var(--fs-body); font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ink); }
.scn-cat-fx { display: inline-flex; justify-content: center; gap: var(--s1); }
.scn-cat-row > svg { color: var(--ink-faint); justify-self: end; flex: none; }
.scn-stack { display: flex; gap: 3px; height: 22px; min-width: 0; }
.scn-stack-seg { display: flex; align-items: center; justify-content: center; font-style: normal; font-size: var(--fs-caption); font-weight: 650; border-radius: var(--radius-2xs); color: var(--ink-soft); white-space: nowrap; overflow: hidden; }
.scn-stack-seg.on { color: var(--favourable-ink); } .scn-stack-seg.chg, .scn-stack-seg.more { color: #fff; } .scn-stack-seg.level { color: var(--blue-deep); } .scn-stack-seg.less { color: var(--ink-soft); }
.scn-stack-seg.none { background: none; box-shadow: inset 0 0 0 1px var(--border); color: var(--ink-faint); font-weight: 500; }
.scn-cat.open { background: var(--surface-row); margin: 0 calc(-1 * var(--s5)); padding: 0 var(--s5); }
.scn-cat.open + .scn-cat { border-top-color: transparent; }
.scn-cat .scn-rows { margin: 0 calc(-1 * var(--s5)); background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.scn-cat-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--s2) var(--s3); padding: var(--s2) var(--s5); font-size: var(--fs-caption); line-height: var(--lh-caption); background: var(--surface-row); }
.scn-cat-links { white-space: nowrap; }
.scn-levers-tools { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); margin: 0; padding: var(--s3) 0 0; border-top: 1px solid var(--border); font-size: var(--fs-caption); line-height: var(--lh-caption); }
.scn-find { max-width: 240px; height: 32px; font-size: var(--fs-caption); }
.scn-note { resize: vertical; min-height: 52px; font: inherit; font-size: var(--fs-label); line-height: var(--lh-label); }
a.brf-verb { text-decoration: none; }
.scn-row { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.3fr) minmax(220px, .9fr); gap: var(--s2) var(--s4);
  padding: var(--s3) var(--s5); border-bottom: 1px solid var(--border); align-items: center; min-height: 60px; transition: background var(--dur-fast) ease; }
.scn-row:last-child { border-bottom: 0; }
.scn-row:hover { background: var(--surface-row); }
.scn-row.changed, .scn-row.changed:hover { background: var(--blue-tint); }
.scn-row.changed::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--blue); }
.scn-row.disabled { opacity: .72; }
.scn-row-name { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; color: var(--ink); }
.scn-tag { display: inline-flex; align-items: center; height: 18px; padding: 0 var(--s2); border-radius: var(--radius-pill); background: var(--neutral-perf-tint);
  color: var(--neutral-perf-ink); font-size: var(--fs-micro); font-weight: 650; }
.scn-tag.na { background: var(--surface-sunk); color: var(--ink-faint); }
.scn-row-name .scn-link { font-size: var(--fs-caption); font-weight: 400; }
.scn-details-btn { border: 0; background: none; padding: 3px; border-radius: 50%; color: var(--ink-faint); cursor: pointer; display: inline-flex; line-height: 0; opacity: 0;
  transition: color var(--dur-fast) ease, background var(--dur-fast) ease, opacity var(--dur-fast) ease; }
.scn-row:hover .scn-details-btn, .scn-row:focus-within .scn-details-btn, .scn-details-btn.on, .scn-details-btn:focus-visible { opacity: 1; }
@media (hover: none) { .scn-details-btn { opacity: 1; } }
.scn-details-btn:hover, .scn-details-btn.on { color: var(--blue); background: var(--blue-tint); }
.scn-details-btn:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }
.scn-row-fx { min-width: 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.scn-peer { display: inline-flex; align-items: center; gap: var(--s2); color: var(--differs-ink); }
.scn-peer.withheld { color: var(--ink-faint); cursor: help; padding-left: var(--s1); }
.scn-row-undo { flex: none; }
.scn-row-details { grid-column: 1 / -1; padding: 0 0 var(--s1); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-row-details p { margin: 0 0 var(--s1); }
.scn-row-details b { color: var(--ink); }


.scn-switch { position: relative; display: inline-flex; align-items: center; gap: var(--s2); cursor: pointer; font-size: var(--fs-label); font-weight: 500; color: var(--ink); user-select: none; }
.scn-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.scn-switch-track { width: 40px; height: 22px; border-radius: var(--radius-pill); background: var(--switch-off); position: relative; transition: background var(--dur-fast) ease; flex: none; }
.scn-switch-track::before { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 2px rgba(16,24,40,.25); transition: transform var(--dur-base) var(--ease-out); }
.scn-switch input:checked + .scn-switch-track { background: var(--blue); }
.scn-switch input:checked + .scn-switch-track::before { transform: translateX(18px); }
.scn-switch input:focus-visible + .scn-switch-track { outline: var(--focus-outline); outline-offset: 2px; }
.scn-switch.disabled { cursor: default; opacity: .6; }


.scn-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: var(--radius-sm); background: var(--surface-sunk); max-width: 100%; }
.scn-seg-opt { flex: 0 1 auto; display: inline-flex; align-items: center; justify-content: center; font: inherit; font-size: var(--fs-caption); font-weight: 600;
  color: var(--ink-soft); background: transparent; border: 0; border-radius: var(--radius-xs); padding: 0 10px; min-height: 28px; cursor: pointer; white-space: nowrap;
  transition: background var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.scn-seg-opt:hover { color: var(--ink); background: rgba(255,255,255,.65); }
.scn-seg-opt.on { background: var(--surface); color: var(--ink); font-weight: 650; box-shadow: 0 1px 2px rgba(16,24,40,.14), 0 0 0 1px var(--border); }
.scn-seg-opt:focus-visible { outline: var(--focus-outline); outline-offset: 1px; }
.scn-seg-opt:disabled { cursor: default; opacity: .6; }


.scn-slider { display: flex; align-items: center; gap: var(--s3); }
.scn-slider input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; background: transparent; margin: 0; cursor: pointer; }
.scn-slider input[type=range]::-webkit-slider-runnable-track { height: 6px; border-radius: var(--radius-pill);
  background: linear-gradient(to right, var(--blue) 0 var(--fill, 0%), var(--surface-sunk) var(--fill, 0%) 100%); }
.scn-slider input[type=range]::-moz-range-track { height: 6px; border-radius: var(--radius-pill); background: var(--surface-sunk); }
.scn-slider input[type=range]::-moz-range-progress { height: 6px; border-radius: var(--radius-pill); background: var(--blue); }
.scn-slider input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff;
  border: 2px solid var(--blue); box-shadow: 0 1px 3px rgba(16,24,40,.25); margin-top: -7px; }
.scn-slider input[type=range]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--blue); box-shadow: 0 1px 3px rgba(16,24,40,.25); }
.scn-slider input[type=range]:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-xs); }
.scn-slider input[type=range]:disabled { cursor: default; opacity: .6; }
.scn-slider-val { flex: none; min-width: 96px; text-align: right; font-family: var(--font-head); font-weight: 650; font-size: var(--fs-label); color: var(--ink); font-variant-numeric: tabular-nums; }





.scn-pills { margin-bottom: var(--s6); }
.scn-card { margin: 0 0 var(--s6); padding: var(--s7) var(--s7) var(--s6); }
.scn-stage { position: relative; text-align: center; }
.scn-more { position: absolute; right: calc(-1 * var(--s4)); top: calc(-1 * var(--s2)); }
.scn-more .brf-menu { right: 0; left: auto; min-width: 280px; text-align: left; }
.scn-eyebrow-line { margin-bottom: var(--s2); color: var(--ink-faint); }
.scn-eyebrow-line b { color: var(--ink); font-weight: 700; }
.scn-stage .scn-sum-title { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--s2) var(--s3); font-size: 28px; line-height: 34px; }
.scn-stage .scn-sum-chip.indicative { background: transparent; border: 1px solid var(--border); color: var(--ink-soft); font-weight: 500; height: 24px; }


.scn-stage .scn-sum-title { animation: scn-in var(--dur-base) var(--ease-out) both; }
.scn-quick { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--s2); flex-basis: 100%; margin: var(--s1) 0 0; }
.scn-quick .scn-muted { font-size: var(--fs-caption); margin-right: var(--s1); }
.scn-quick-btn { cursor: pointer; transition: border-color var(--dur-fast) ease, color var(--dur-fast) ease, background var(--dur-fast) ease; }
.scn-quick-btn:hover { border-color: var(--blue); color: var(--blue); background: var(--blue-tint); }
.scn-pills .dash-tab.fresh { animation: scn-pill-pop 520ms var(--ease-out) both; }
@keyframes scn-pill-pop { 0% { transform: scale(.86); opacity: 0; } 60% { transform: scale(1.04); opacity: 1; box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 18%, transparent); } 100% { transform: none; box-shadow: none; } }
.scn-sum-today { margin-top: var(--s1); font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.scn-sum-today b { color: var(--ink); font-weight: 600; }
.scn-stage-grid { max-width: 520px; margin: var(--s5) auto 0; }
.scn-thin-box { max-width: 600px; margin: var(--s5) auto 0; padding: var(--s6) var(--s5); border: 1px dashed var(--border); border-radius: var(--radius); font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.scn-thin-box p { margin: 0; } .scn-thin-box b { color: var(--ink); }
.scn-thin-box a { color: var(--blue-bright); }
.scn-note-centre { max-width: 600px; margin: var(--s3) auto 0; }

.scn-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s5); width: min(720px, 100%); margin: var(--s5) auto 0; padding-top: var(--s5); border-top: 1px solid var(--border); text-align: left; }
.scn-strip.three { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(560px, 100%); }

.scn-fig-n { display: flex; align-items: baseline; gap: 6px; margin-top: var(--s1); font-family: var(--font); font-size: 28px; line-height: 34px; font-weight: var(--fw-metric); color: var(--ink); letter-spacing: -0.01em; font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1, "lnum" 1; }
.scn-fig-word { font-family: var(--font-head); }

@media (min-width: 1100px) {
  .scn-card { padding-top: var(--s5); }


  .scn-stage-row.has-grid { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 440px); justify-content: center; align-items: center; gap: var(--s6); margin-top: var(--s4); }
  .scn-stage-row.has-grid .scn-stage-grid { margin: 0; max-width: 400px; }
  .scn-stage-row.has-grid .scn-strip, .scn-stage-row.has-grid .scn-strip.three { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); width: auto; margin: 0; padding: 0 0 0 var(--s6); border-top: 0; border-left: 1px solid var(--border); }
}
.scn-fig-arr { align-self: center; color: var(--ink-faint); font-family: var(--font); font-size: 18px; line-height: 1; transform: translateY(-1px); }
.scn-fig-next { color: var(--blue); animation: scn-in var(--dur-base) var(--ease-out) both; }
.scn-fig-word { font-size: var(--fs-section); }
.scn-fig-word.none { color: var(--ink-faint); font-weight: 600; }
.scn-fig-word.diff-easy { color: var(--favourable-ink); } .scn-fig-word.diff-moderate { color: var(--neutral-perf-ink); } .scn-fig-word.diff-hard, .scn-fig-word.diff-very-hard { color: var(--unfavourable-ink); }
.scn-fig-m { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s1); margin-top: 2px; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); font-variant-numeric: tabular-nums; }



.scn-fig-pos { flex-wrap: wrap; column-gap: var(--s2); row-gap: 0; }
.scn-fig-after { color: var(--blue); animation: scn-in var(--dur-base) var(--ease-out) both; }
.scn-fig-was { font-family: var(--font); font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 400; letter-spacing: 0; color: var(--ink-faint); }
.scn-ftrack { position: relative; height: 16px; margin-top: var(--s2); }
.scn-ftrack::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 6px; border-radius: 3px; background: var(--surface-sunk); box-shadow: inset 0 0 0 1px var(--border); }
.scn-ftrack-band { position: absolute; top: 5px; height: 6px; background: color-mix(in srgb, var(--blue) 24%, var(--surface)); }
.scn-ftrack-move { position: absolute; top: 7px; height: 2px; background: var(--blue); }
.scn-ftrack-now, .scn-ftrack-next, .scn-ftrack-rest { position: absolute; border-radius: 50%; transform: translateX(-50%); }
.scn-ftrack-now { top: 1px; width: 14px; height: 14px; box-sizing: border-box; border: 2px dashed var(--ink-soft); background: var(--surface); }
.scn-ftrack-next { top: 4px; width: 8px; height: 8px; background: var(--blue); box-shadow: 0 0 0 2px var(--surface); }
.scn-ftrack-rest { top: 3px; width: 10px; height: 10px; background: var(--ink); box-shadow: 0 0 0 2px var(--surface); }
.scn-fig-pos ~ .scn-fig-m { margin-top: var(--s2); gap: var(--s1) var(--s2); font-size: var(--fs-label); line-height: var(--lh-label); }
.scn-fig-pp { white-space: nowrap; }
.scn-fig-pp .scn-fig-next { font-weight: 600; }
.scn-fig-move { gap: 4px; font-weight: 600; white-space: nowrap; }
.scn-fig-move .scn-size-ar { font-size: 8px; }
.scn-ftrack-key { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1) var(--s4); margin: 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-ftrack-key span { display: inline-flex; align-items: center; gap: 6px; }
.scn-ftrack-key i { display: inline-block; flex: none; }
.scn-key-now { width: 12px; height: 12px; box-sizing: border-box; border: 2px dashed var(--ink-soft); border-radius: 50%; }
.scn-key-now.rest { width: 10px; height: 10px; border: 0; background: var(--ink); }
.scn-key-next { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.scn-key-band { width: 18px; height: 6px; border-radius: 3px; background: color-mix(in srgb, var(--blue) 24%, var(--surface)); }

.scn-detail { width: min(720px, 100%); margin: var(--s5) auto 0; padding-top: var(--s4); border-top: 1px solid var(--border); text-align: left; animation: scn-in var(--dur-base) var(--ease-out) both; }
.scn-detail-hd { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s2); }
.scn-rows-detail .scn-score:first-of-type { border-top: 0; }

.scn-list { width: min(880px, 100%); margin: var(--s6) auto 0; outline: none; text-align: left; }
.scn-list:focus-visible { outline: var(--focus-outline); outline-offset: 6px; border-radius: 4px; }
.scn-list-hd { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s3); }
.scn-list-title { margin: 0; font-family: var(--font-head); font-size: var(--fs-card-title); line-height: var(--lh-card-title); font-weight: var(--fw-card-title); color: var(--ink); }
.scn-list-n { font-family: var(--font); font-size: var(--fs-label); font-weight: 500; color: var(--ink-soft); }
.scn-play { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-label); text-decoration: none; }
.scn-play:hover { text-decoration: underline; }
.scn-chg-hdr { display: flex; align-items: flex-end; column-gap: var(--s4); padding: var(--s2) 0 var(--s2); border-bottom: 1px solid var(--border); font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }
.scn-chg-hdr > span:first-child { flex: 1 1 auto; }
.scn-chg-k { display: inline-flex; gap: var(--s2); }
.scn-chg-k span { width: 104px; text-align: left; }
.scn-chg-k span:last-child { width: 100px; }
.scn-list .scn-chg-hdr .scn-chg-x { width: 132px; margin-left: calc(var(--s2) - var(--s4)); }
.scn-list .scn-changes li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s4); align-items: center; padding: var(--s4) 0; }
.scn-list .scn-changes li > .scn-adjust { grid-column: 1 / -1; }
.scn-list .scn-change-name { padding-right: 0; font-size: var(--fs-body); line-height: var(--lh-body); }
.scn-change-open { display: inline; border: 0; background: none; padding: 0; margin: 0; font: inherit; font-weight: 600; color: var(--ink); text-align: left; cursor: pointer; }
.scn-change-open .scn-nw { white-space: nowrap; }
.scn-change-open svg { margin-left: 6px; vertical-align: -1px; color: var(--ink-faint); transition: color var(--dur-fast) ease; }
.scn-change-open:hover { color: var(--blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.scn-change-open:hover svg { color: var(--blue); }
.scn-change-open:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 3px; }
.scn-list .scn-fx > .scn-chip { display: flex; }
.scn-list .scn-change-fx { display: inline-flex; align-items: flex-start; gap: var(--s2); margin: 0; flex-wrap: nowrap; }
.scn-list .scn-fx { width: 104px; }
.scn-list .scn-fx-df { width: 100px; }
.scn-list .scn-fx .scn-chip.diff, .scn-tbl .scn-fx-df .scn-chip.diff { height: auto; padding: 0; background: none; font-size: var(--fs-label); line-height: var(--lh-label); font-weight: 600; }
.scn-list .scn-fx .scn-chip.diff-very-hard, .scn-tbl .scn-fx-df .scn-chip.diff-very-hard { color: var(--unfavourable-ink); }
.scn-fx-df { display: inline-flex; flex-direction: column; align-items: flex-start; }
.scn-list .scn-fx .scn-chip.diff-not-rated-yet, .scn-tbl .scn-fx-df .scn-chip.diff-not-rated-yet { color: var(--ink-faint); font-weight: 500; }
.scn-list .scn-chg-acts { align-self: center; }
.scn-list .scn-x { position: static; width: 32px; height: 32px; }
.scn-chg-x { display: inline-block; width: 26px; }
.scn-list .scn-change-fx .scn-chg-x { width: 132px; }
.scn-landed { min-width: 26px; font-size: var(--fs-caption); color: var(--ink-soft); white-space: nowrap; }
.scn-list .scn-landed { min-width: 132px; text-align: right; align-self: center; }
.scn-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s3); margin-top: var(--s5); }
.scn-actions.centre { justify-content: center; margin-top: var(--s3); }
.scn-actions.centre .scn-actions-sp { display: none; }
.scn-actions-sp { flex: 1; }
.scn-actions .btn.primary svg, .scn-actions .btn svg { margin-right: 4px; }
.scn-status-lbl { display: inline-flex; align-items: center; gap: var(--s1); font-size: var(--fs-caption); color: var(--ink-soft); }
.scn-status-lbl .ctl { height: 28px; font-size: var(--fs-caption); padding: 0 var(--s2); }
.scn-list .scn-empty-state { padding: var(--s5) var(--s4) var(--s4); border: 1px dashed var(--border); border-radius: var(--radius); }
.scn-list .scn-empty-state + .scn-actions.centre { margin-top: calc(-1 * var(--s2)); padding: 0 0 var(--s4); border: 1px dashed var(--border); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); }
.scn-list .scn-empty-state:has(+ .scn-actions.centre) { border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; }
.scn-viewer, .scn-saved-line { margin-top: var(--s3); }
.scn-foot-line { margin-top: var(--s6); padding-top: var(--s5); border-top: 1px solid var(--border); text-align: center; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-foot-basis + .scn-foot-line { margin-top: var(--s1); padding-top: 0; border-top: 0; }
.scn-foot-basis a { color: var(--blue-bright); }

.scn-popout { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }



.modal.xl.has-head:has(.scn-popout) { height: min(90vh, 900px); height: min(90dvh, 900px); }
.modal.xl:has(.scn-popout) { width: min(1160px, 94vw); }
.modal.xl.has-head .modal-body:has(> .scn-popout) { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.scn-popout-live { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s3) var(--s5); border-bottom: 1px solid var(--border); }
.scn-popout-sub { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-popout-now { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); }
.scn-popout-w { font-family: var(--font-head); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: 600; color: var(--ink); }
.scn-popout-f { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.scn-mini { flex: none; }
.scn-mini-cell { fill: var(--surface-sunk); } .scn-mini-cell.mine { fill: var(--blue-tint-2); }
.scn-mini-band { fill: none; stroke: color-mix(in srgb, var(--ink) 25%, var(--surface)); stroke-width: 1; stroke-dasharray: 2 2; }
.scn-mini-mkt { fill: var(--navy); }
.scn-mini-move { stroke: var(--ink-soft); stroke-width: 1; }
.scn-mini-today { fill: var(--surface); stroke: var(--navy); stroke-width: 1; stroke-dasharray: 2 1; }
.scn-mini-dot { fill: var(--navy); } .scn-mini-dot.after { fill: var(--blue); }
.scn-mini-ghost-line { stroke: var(--blue); stroke-width: 1; stroke-dasharray: 2 2; }
.scn-mini-ghost { fill: var(--blue-tint-2); stroke: var(--blue); stroke-width: 1; stroke-dasharray: 2 1; }
.scn-popout-tools { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s3); padding: var(--s2) var(--s5); border-bottom: 1px solid var(--border); }
.scn-popout-tools .scn-find { width: 240px; max-width: 100%; }

.scn-views { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 10px; background: var(--surface-sunk); }
.scn-view-opt { border: 0; background: none; padding: 5px 12px; border-radius: 8px; font: inherit; font-size: var(--fs-caption); font-weight: 650; color: var(--ink-soft); cursor: pointer; }
.scn-view-opt.on { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(16,24,40,.12); }
.scn-view-opt:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-view-n { font-weight: 500; color: var(--ink-faint); margin-left: 2px; font-variant-numeric: tabular-nums; }
.scn-sort-lbl { display: inline-flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption); font-weight: 650; color: var(--ink-faint); }
.scn-sort-sel { height: 32px; font-size: var(--fs-caption); }
.scn-popout-f b { color: var(--ink); font-weight: 650; }
.scn-applied { margin-left: auto; border: 1px solid var(--border); background: var(--surface); border-radius: var(--radius-pill); padding: 3px 10px; font: inherit; font-size: var(--fs-caption); font-weight: 650; color: var(--blue-deep); cursor: pointer; }
.scn-applied.on { background: var(--blue-tint); border-color: var(--blue-tint-2); }
.scn-tbl-wrap { flex: 1; min-height: 0; overflow: auto; padding: 0 var(--s5); }
.scn-tbl { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: var(--fs-label); line-height: var(--lh-label); }
.scn-tbl th { position: sticky; top: 0; z-index: 1; background: var(--surface); padding: var(--s2) var(--s2); border-bottom: 1px solid var(--border); text-align: left; font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }
.scn-tbl th.num, .scn-tbl td.num { text-align: right; }
.scn-tbl th.sort { color: var(--ink); }
.scn-th { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-transform: inherit; letter-spacing: inherit; }
.scn-th:hover { color: var(--ink); } .scn-th:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }
.scn-tbl td { padding: var(--s2) var(--s2); border-bottom: 1px solid var(--border); vertical-align: middle; }
.scn-tbl th:nth-child(2), .scn-tbl td.scn-td-nm { width: 29%; } .scn-tbl th:nth-child(3), .scn-tbl td.scn-td-lv { width: 22%; } .scn-tbl th:first-child, .scn-tbl td.scn-td-ap { width: 44px; } .scn-tbl th:last-child, .scn-tbl td.scn-td-i { width: 34px; }
.scn-tbl td.num, .scn-tbl th.num { padding-left: 4px; padding-right: 4px; }
.scn-tbl td.scn-td-word, .scn-tbl th.scn-th-word { padding-left: 4px; padding-right: 4px; }
.scn-tbl-name-btn { display: inline; border: 0; background: none; padding: 0; margin: 0; font: inherit; font-weight: 600; color: var(--ink); text-align: left; cursor: pointer; }
.scn-tbl-name-btn:hover { text-decoration: underline; text-underline-offset: 3px; }
.scn-tbl-name-btn:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 3px; }

.scn-details-sec { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px dashed var(--border); }
.scn-details-hd { font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: var(--s2); }
.scn-row-details .scn-adjust { margin-top: var(--s2); }



.scn-det { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s4) var(--s6); padding: var(--s3) var(--s2) var(--s1); }

.scn-det-tabs { display: flex; gap: var(--s5); border-bottom: 1px solid var(--border); }
.scn-det-tab { border: 0; background: none; padding: var(--s2) 0; min-height: 40px; font: inherit; font-size: var(--fs-label); font-weight: 650; color: var(--ink-faint); cursor: pointer; box-shadow: inset 0 -2px 0 transparent; }
.scn-det-tab:hover { color: var(--ink); }
.scn-det-tab.on { color: var(--ink); box-shadow: inset 0 -2px 0 var(--blue); }
.scn-det-tab:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 2px; }
.scn-det-about { max-width: 780px; }
.scn-det .scn-details-hd { margin-bottom: var(--s2); }
.scn-det-why { margin: 0 0 var(--s3) !important; color: var(--ink); max-width: 64ch; }
.scn-facts { margin: 0; display: grid; }
.scn-fact { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: var(--s3); align-items: baseline; padding: 7px 0; border-top: 1px solid var(--border); }
.scn-fact:last-child { border-bottom: 1px solid var(--border); }
.scn-fact dt { font-size: var(--fs-micro); line-height: var(--lh-caption); font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
.scn-fact dd { margin: 0; min-width: 0; color: var(--ink-soft); }
.scn-fact-sub { display: block; margin-top: 2px; color: var(--ink-faint); }
.scn-fact-bar { display: inline-block; position: relative; width: 56px; height: 6px; margin-right: 8px; vertical-align: 1px; border-radius: var(--radius-pill); background: var(--border); overflow: hidden; }
.scn-fact-bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--blue); border-radius: inherit; }
.scn-fact .scn-rating { margin: 0; }
.scn-det-ask { margin-top: var(--s3); }
.scn-det-figs { align-self: start; max-width: 860px; }
.scn-det-lede { margin: 0 0 var(--s3) !important; color: var(--ink-soft); }
.scn-det-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); margin-top: var(--s4); padding-top: var(--s3); border-top: 1px dashed var(--border); }
.scn-det-foot .scn-muted { flex: 1 1 200px; }

.scn-own-set { display: grid; gap: var(--s5); }
.scn-own-lbl { font-size: var(--fs-caption); line-height: var(--lh-caption); font-weight: 650; color: var(--ink); }


.scn-fig-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s2) var(--s4); }
.scn-fig-head:empty { display: none; }
.scn-fig-title { display: flex; flex-direction: column; gap: 2px; }
.scn-fig-title b { font-family: var(--font-head); font-size: var(--fs-card-title); line-height: var(--lh-card-title); font-weight: 700; color: var(--ink); }
.scn-fig-title .scn-muted { font-size: var(--fs-caption); line-height: var(--lh-caption); }
.scn-fig-head .scn-det-lede { flex: 1 1 320px; margin: 0 !important; }
.scn-fig-mode { flex: none; }
.scn-fig-row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--s2) var(--s5); }
.scn-fig-lbl { flex: 1 1 150px; max-width: 176px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.scn-fig-lbl .scn-own-lbl { font-size: var(--fs-label); line-height: var(--lh-label); }
.scn-fig-verb { font-weight: 400; color: var(--ink-soft); }
.scn-fig-reset { font-size: var(--fs-caption); }
.scn-fig-ctl { flex: 999 1 380px; min-width: 0; display: flex; flex-direction: column; gap: var(--s2); }
.scn-fig-note { margin: 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.scn-wpick, .scn-fig-row .scn-diff-pick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s2); padding: 0; background: none; border-radius: 0; }
.scn-wopt, .scn-fig-row .scn-diff-pick .scn-seg-opt { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 4px 8px; border: 1px solid var(--border-neutral); border-radius: var(--radius-sm); background: var(--surface); font: inherit; font-size: var(--fs-caption); line-height: 16px; font-weight: 650; color: var(--ink); text-align: center; white-space: normal; cursor: pointer; box-shadow: none; }
.scn-wopt:hover:not(:disabled), .scn-fig-row .scn-diff-pick .scn-seg-opt:hover { border-color: var(--blue); }
.scn-wopt.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.scn-wopt:disabled { background: var(--surface-sunk); border-color: var(--border); color: var(--ink-faint); cursor: not-allowed; }
.scn-wopt:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.scn-wopt.lumi::before { content: ""; flex: none; box-sizing: border-box; width: 10px; height: 10px; border-radius: 50%; border: 2px solid currentColor; opacity: .8; }
.scn-pts-hd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s1) var(--s3); margin-bottom: 2px; }
.scn-pts-hd .scn-own-path { font-size: var(--fs-label); line-height: var(--lh-label); white-space: normal; }
.scn-pts-hd .scn-own-path b { color: var(--ink); font-weight: 650; }
.scn-pts-box { display: inline-flex; align-items: center; gap: var(--s2); font-size: var(--fs-caption); color: var(--ink-soft); }
.scn-lands-ctl { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.scn-lands-ctl select { min-width: 160px; height: 36px; }
.scn-own-note { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
.scn-own-note b { color: var(--blue-deep); font-weight: 650; }
.scn-own-ring { display: inline-block; box-sizing: border-box; width: 10px; height: 10px; margin-right: 4px; vertical-align: -1px; border-radius: 50%; border: 2px solid var(--ink-faint); background: var(--surface); }
.scn-own-track { position: relative; flex: 1 1 auto; min-width: 0; height: 28px; }
.scn-own-rail { position: absolute; left: 9px; right: 9px; top: 11px; height: 6px; border-radius: var(--radius-pill); background: var(--border); }
.scn-own-fill { position: absolute; top: 0; bottom: 0; left: calc(var(--a) * 100%); width: calc(var(--w) * 100%); border-radius: var(--radius-pill); background: var(--blue); }
.scn-own-fill.good { background: var(--fill-good); } .scn-own-fill.bad { background: var(--fill-bad); }
.scn-own-zero { position: absolute; left: calc(var(--z) * 100%); top: -5px; width: 2px; height: 16px; margin-left: -1px; border-radius: 1px; background: var(--ink-faint); opacity: .5; }
.scn-own-mark { position: absolute; left: calc(var(--l) * 100%); top: 50%; box-sizing: border-box; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; border: 2px solid var(--ink-faint); background: var(--surface); }
.scn-own-track input[type=range] { -webkit-appearance: none; appearance: none; position: absolute; inset: 0; width: 100%; height: 28px; margin: 0; background: transparent; cursor: pointer; }
.scn-own-track input[type=range]::-webkit-slider-runnable-track { height: 28px; background: transparent; }
.scn-own-track input[type=range]::-moz-range-track { height: 28px; background: transparent; }
.scn-own-track input[type=range]::-moz-range-progress { background: transparent; }
.scn-own-track input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 18px; height: 18px; margin-top: 5px; border-radius: 50%; background: var(--surface); border: 2px solid var(--blue); box-shadow: 0 1px 3px rgba(16,24,40,.25); }
.scn-own-track input[type=range]::-moz-range-thumb { box-sizing: border-box; width: 18px; height: 18px; border-radius: 50%; background: var(--surface); border: 2px solid var(--blue); box-shadow: 0 1px 3px rgba(16,24,40,.25); }
.scn-own.yours .scn-own-track input[type=range]::-webkit-slider-thumb { background: var(--blue); border-color: var(--surface); box-shadow: 0 0 0 1.5px var(--blue), 0 1px 3px rgba(16,24,40,.3); }
.scn-own.yours .scn-own-track input[type=range]::-moz-range-thumb { background: var(--blue); border-color: var(--surface); box-shadow: 0 0 0 1.5px var(--blue), 0 1px 3px rgba(16,24,40,.3); }
.scn-own-track input[type=range]:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: var(--radius-xs); }
.scn-own-num { flex: none; width: 60px; height: 30px; padding: 0 6px; text-align: center; font-family: var(--font-head); font-weight: 650; font-size: var(--fs-caption); font-variant-numeric: tabular-nums; }
.scn-own.yours .scn-own-num { border-color: var(--blue); color: var(--blue-deep); }


.scn-own-track { height: 42px; }
.scn-own-band { position: absolute; top: -2px; bottom: -2px; left: calc(var(--b0) * 100%); width: calc((var(--b1) - var(--b0)) * 100%); border-radius: 2px; background: var(--blue-tint); }
.scn-own-ticks { position: absolute; left: 9px; right: 9px; top: 26px; height: 14px; font-size: 10.5px; line-height: 14px; color: var(--ink-faint); font-variant-numeric: tabular-nums; pointer-events: none; }
.scn-own-ticks span { position: absolute; white-space: nowrap; }
.scn-own-ticks .t0 { left: 0; } .scn-own-ticks .t1 { right: 0; }
.scn-own-path { font-size: 11px; line-height: 14px; color: var(--ink-soft); white-space: nowrap; font-variant-numeric: tabular-nums; }
.scn-own-off { margin: 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); background: var(--surface-sunk); border-radius: var(--radius-sm); padding: var(--s2) var(--s3); }
.scn-diff-pick { display: flex; width: 100%; box-sizing: border-box; }
.scn-diff-pick .scn-seg-opt { flex: 1 1 auto; }
.scn-diff-pick .scn-seg-opt.on.diff-easy { background: var(--favourable-tint); color: var(--favourable-ink); }
.scn-diff-pick .scn-seg-opt.on.diff-moderate { background: var(--neutral-perf-tint); color: var(--neutral-perf-ink); }
.scn-diff-pick .scn-seg-opt.on.diff-hard { background: var(--unfavourable-tint); color: var(--unfavourable-ink); }
.scn-diff-pick .scn-seg-opt.on.diff-very-hard { background: var(--unfavourable-deep); color: #fff; }
.scn-seg-opt.lumi::after { content: ""; flex: none; box-sizing: border-box; width: 9px; height: 9px; margin-left: 6px; border-radius: 50%; border: 2px solid currentColor; opacity: .75; }
@media (max-width: 760px) {
  .scn-wpick, .scn-fig-row .scn-diff-pick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .scn-fig-lbl { max-width: none; flex-basis: 100%; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px var(--s3); }
  .scn-adjust { padding: var(--s4); }
}
@media (max-width: 900px) {
  .scn-det { padding: var(--s3) 0 var(--s1); }
}
@media (max-width: 480px) {
  .scn-fact { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
.scn-commentary-btn svg { margin-right: 6px; }
.scn-commentary-sum { margin: 0 0 var(--s2); font-weight: 600; color: var(--ink); }
.scn-commentary-body ul { margin: 0; padding-left: 18px; }
.scn-commentary-body li { margin: 2px 0; }
.scn-commentary-src, .scn-commentary-off { margin-top: var(--s2); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-commentary-err { margin-top: var(--s2); font-size: var(--fs-caption); color: var(--unfavourable-ink); }
.scn-tbl tr.on td { background: var(--blue-tint); }
.scn-tbl tr.on td:first-child { box-shadow: inset 3px 0 0 var(--blue); }
.scn-tbl tr.hot td { background: var(--surface-row); } .scn-tbl tr.on.hot td { background: var(--blue-tint); }
.scn-tbl tr.spot td { animation: scn-spot 2.4s var(--ease-out) both; box-shadow: inset 0 2px 0 var(--blue), inset 0 -2px 0 var(--blue); }
.scn-tbl tr.spot td:first-child { box-shadow: inset 2px 0 0 var(--blue), inset 0 2px 0 var(--blue), inset 0 -2px 0 var(--blue); }
.scn-tbl tr.spot td:last-child { box-shadow: inset -2px 0 0 var(--blue), inset 0 2px 0 var(--blue), inset 0 -2px 0 var(--blue); }
@keyframes scn-spot { 0%, 35% { background: var(--blue-tint-2); } 100% { background: var(--blue-tint); } }
.scn-tbl .scn-details-btn { width: 32px; height: 32px; padding: 0; justify-content: center; align-items: center; color: var(--ink-soft); }
.scn-tbl .scn-lv.scn-lv-word { display: flex; color: var(--ink); }
.scn-tbl tr.disabled td { opacity: .6; }
.scn-tbl-name { font-weight: 600; color: var(--ink); }
.scn-tbl-was { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-faint); }
.scn-tbl-empty { padding: var(--s6) var(--s4); text-align: center; color: var(--ink-soft); }
.scn-tbl-details td { padding: 0 var(--s2) var(--s3); background: var(--surface-row); }
.scn-tbl .scn-switch { gap: 0; }
.scn-tbl .scn-details-btn { opacity: 1; }
.scn-lv { display: inline-flex; align-items: stretch; border: 1px solid var(--border); border-radius: var(--radius-xs); background: var(--surface); font-size: var(--fs-caption); line-height: var(--lh-caption); white-space: nowrap; overflow: hidden; }
.scn-lv b { display: inline-flex; align-items: center; padding: 2px 10px; font-weight: 600; color: var(--ink); }
.scn-tbl .scn-lv { max-width: 100%; width: 100%; white-space: normal; }
.scn-tbl .scn-lv b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; flex: 1 1 auto; min-width: 0; overflow: hidden; padding: 4px 10px; line-height: 16px; }
.scn-lv-st { display: inline-flex; }
.scn-lv-st button { width: 32px; border: 0; border-left: 1px solid var(--border); background: none; padding: 0; font: inherit; font-size: var(--fs-label); color: var(--ink-soft); cursor: pointer; }
.scn-lv-st button:hover:not(:disabled) { background: var(--surface-sunk); color: var(--ink); }
.scn-lv-st button:disabled { color: var(--border-neutral); cursor: default; }
.scn-lv-st button:focus-visible { outline: var(--focus-outline); outline-offset: -2px; }
.scn-lv.on { border-color: var(--blue); } .scn-lv.on b { color: var(--blue-deep); }
.scn-lv-word { font-size: var(--fs-caption); color: var(--ink-soft); }
.scn-popout-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s3) var(--s5); border-top: 1px solid var(--border); }

.scn-build { display: flex; flex-direction: column; gap: var(--s3); }
.scn-build > .ctl { width: 100%; }
.scn-build > .scn-muted { margin: 0; }
.scn-build-or { margin-top: var(--s1); }
.scn-build .scn-templates { margin-top: 0; }
.scn-build-row { justify-content: flex-end; gap: var(--s2); margin-top: var(--s2); }
.scn-build-lbl { display: flex; flex-direction: column; gap: var(--s1); font-size: var(--fs-caption); color: var(--ink-soft); }
@media (max-width: 900px) {
  .scn-card { padding: var(--s5) var(--s4) var(--s4); }
  .scn-stage { padding-top: var(--s5); }
  .scn-more { right: calc(-1 * var(--s2)); top: calc(-1 * var(--s3)); }
  .scn-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scn-chg-hdr { display: none; }
  .scn-list .scn-changes li { grid-template-columns: 1fr; row-gap: var(--s2); }
  .scn-list .scn-change-fx { flex-wrap: wrap; width: 100%; }
  .scn-list .scn-fx, .scn-list .scn-fx-df { width: auto; flex: 1 1 0; min-width: 0; }
  .scn-list .scn-fx::before { content: attr(data-k); display: block; margin-bottom: 2px; font-size: 10px; line-height: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
  .scn-list .scn-chg-acts, .scn-list .scn-landed { width: auto; min-width: 0; flex-basis: 100%; justify-content: flex-start; text-align: left; }
  .scn-actions-sp { flex-basis: 100%; }
  .modal.xl.has-head:has(.scn-popout) { height: calc(100vh - 32px); height: calc(100dvh - 32px); }
  .scn-popout-tools .scn-find { width: 100%; }
  .scn-tbl, .scn-tbl tbody, .scn-tbl tr, .scn-tbl td { display: block; }
  .scn-tbl thead { display: none; }
  .scn-tbl tr { position: relative; display: flex; flex-wrap: wrap; gap: 4px 6px; padding: var(--s3) 0 var(--s3) 52px; border-bottom: 1px solid var(--border); }
  .scn-tbl td { padding: 0; border: 0; background: none !important; box-shadow: none !important; }
  .scn-tbl td.scn-td-ap { position: absolute; left: 0; top: var(--s3); }
  .scn-tbl td.scn-td-nm { width: 100%; min-width: 0; }
  .scn-tbl td.scn-td-lv { width: 100%; }
  .scn-tbl td.scn-td-i { position: absolute; right: 0; top: var(--s3); }
  .scn-tbl tr.on td.scn-td-i { right: var(--s4); }
  .scn-tbl td.scn-td-nm { padding-right: 36px; }
  .scn-tbl td.num[data-k], .scn-tbl td.scn-td-word[data-k], .scn-tbl td.scn-td-df[data-k] { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  .scn-tbl td.num[data-k]::before, .scn-tbl td.scn-td-word[data-k]::before, .scn-tbl td.scn-td-df[data-k]::before { content: attr(data-k); font-size: 10px; line-height: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
  .scn-tbl tr.on { background: var(--blue-tint); margin: 0 calc(-1 * var(--s4)); padding-left: calc(52px + var(--s4)); padding-right: var(--s4); box-shadow: inset 3px 0 0 var(--blue); }
  .scn-tbl tr.on td.scn-td-ap { left: var(--s4); }
  .scn-tbl-details { padding-left: var(--s4) !important; }
  .scn-tbl-details td { width: 100%; }
}

@media (max-width: 1100px) {


  .scn-grid { grid-template-columns: 1fr; grid-template-areas: "board" "panel" "cats" "picks"; }
}
@media (max-width: 760px) {
  .scn-grid > .card { padding: 0 var(--s4) var(--s3); }
  .scn-score { grid-template-columns: 1fr; row-gap: var(--s1); }
  .scn-score .scn-track, .scn-score .scn-meter { grid-column: 1; grid-row: auto; }
  .scn-score .scn-num { font-size: var(--fs-metric); line-height: var(--lh-metric); }
  .scn-cat-hdr, .scn-cat-row { grid-template-columns: minmax(0, 1fr) 44px 104px 18px; column-gap: var(--s2); }
  .scn-cat-row .scn-cat-name { grid-column: 1 / -1; }
  .scn-cat-hdr span:first-child { display: none; }
  .scn-cat.open { margin: 0 calc(-1 * var(--s4)); padding: 0 var(--s4); }
  .scn-cat .scn-rows { margin: 0 calc(-1 * var(--s4)); }
  .scn-cat-foot { padding: var(--s2) var(--s4); }
  .scn-row { grid-template-columns: 1fr; gap: var(--s2); padding: var(--s3) var(--s4); }
  .scn-seg { display: flex; }
  .scn-seg-opt { flex: 1 1 45%; white-space: normal; text-align: center; }
  .scn-sugg, .scn-move { grid-template-columns: minmax(0, 1fr) auto; }
  .scn-sugg .scn-effect, .scn-move .scn-effect { grid-column: 1; }
  .scn-map-tip { white-space: normal; max-width: 220px; }
  .scn-lock { grid-template-columns: 1fr; justify-items: start; padding: var(--s5); }
  .scn-lock-what { grid-template-columns: 1fr; }
  .scn-levers-tools { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .scn-btn-txt { display: none; }
  .scn-tools { gap: var(--s1); }
  .scn-tools .ctl { max-width: 150px; }
  .scn-board-tools { flex-wrap: wrap; justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .scn-switch-track::before, .scn-map-mark, .scn-track-join, .scn-track-next, .scn-meter-seg, .scn-row, .scn-seg-opt, .scn-journey-now, .scn-journey-next, .scn-journey-play, .scn-cat-row { transition: none; }
  .scn-map-dot, .scn-present { animation: none; }
  .scn-tile-nums .scn-num.next, .scn-tile-nums .scn-chip, .scn-track-next, .scn-journey-next circle, .scn-journey-saved.new .scn-journey-ghost, .scn-read, .scn-cmp, .scn-changes li, .scn-verb.busy svg, .scn-journey-preview.saved, .scn-adjust, .scn-tbl tr.spot td, .scn-fig-after { animation: none; }
}
@media print {
  .scn-grid { display: block; }
  .scn-grid > .card { margin-bottom: var(--s4); }
  .scn-head, .scn-save, .scn-x, .scn-sugg .btn, .scn-details-btn, .scn-map-tip, .scn-row-ctl .scn-seg, .scn-row-ctl .scn-switch, .scn-row-ctl .scn-slider, .scn-verbs, .scn-compare .ctl, .scn-templates,
  .scn-levers-tools, .scn-panel .card-head-side, .scn-cat-row > svg, .scn-cat-foot .scn-cat-links, .scn-adjust, .scn-chg-acts, .scn-budget, .scn-comments form, .scn-status select, .scn-rating-edit, .scn-fund .scn-link, .scn-say, .scn-tile-btn, .scn-said, .scn-moves, .scn-moves-toggle, .scn-view, .scn-empty-state,
  .scn-pills, .scn-actions, .scn-more, .scn-play, .scn-detail-hd .scn-link, .scn-status-lbl { display: none; }
  .scn-card { max-width: none; padding: 0; border: 0; box-shadow: none; }
  .scn-print-val { display: inline; font-size: var(--fs-label); font-weight: 600; color: var(--ink); }
  .scn-print-head { display: block; border-bottom: 2px solid var(--blue); padding-bottom: 5mm; margin-bottom: 7mm; }
  .scn-print-brand { font-family: var(--font-head); font-weight: 800; letter-spacing: -0.02em; font-size: 15pt; color: var(--blue); }
  .scn-print-brand span { color: var(--ink-faint); font-weight: 600; }
  .scn-print-brand span::before { content: " · "; }
  .scn-print-title { font-family: var(--font-head); font-weight: 700; font-size: 21pt; color: var(--ink); margin: 3mm 0 1.5mm; }
  .scn-print-meta { font-size: 9.5pt; color: var(--ink-soft); }
  .scn-cat, .scn-board, .scn-cats, .scn-picks, .scn-panel { break-inside: avoid; page-break-inside: avoid; box-shadow: none; }




  html, body { background: #fff !important; }
  .scn-card { margin-bottom: 0 !important; }
  body:not(:has(.pack-page)) .content:has(.scn) { padding-bottom: 0 !important; }
  .scn-card, .scn-g9, .scn-pips, .scn-size-m, .scn-meter, .scn-ftrack, .scn-ftrack-key, .scn-fig-move { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .scn-list-hd .scn-play, .scn-eyebrow-line, .scn-foot-act, .scn-change-open svg, .scn-fund { display: none !important; }
  .scn-print-head { margin-bottom: 3mm !important; padding-bottom: 3mm !important; }
  .scn-changes li:last-child { border-bottom: 0; }
  .scn-stage-row.has-grid { margin-top: 2mm !important; }
  .scn-change-open { color: var(--ink); text-decoration: none; }
  .scn-own-line .scn-link { color: inherit; text-decoration: none; font-weight: inherit; }
  .scn-stage-row.has-grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); align-items: center; gap: 6mm; margin-top: 4mm; }
  .scn-stage-row.has-grid .scn-stage-grid { margin: 0; max-width: 320px; }
  .scn-g9 svg { width: 100%; height: auto; }
  .scn-stage-row.has-grid .scn-strip, .scn-stage-row.has-grid .scn-strip.three { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5mm; width: auto; margin: 0; padding: 0 0 0 6mm; border-top: 0; border-left: 1px solid var(--border); }
  .scn-stage { break-inside: avoid; page-break-inside: avoid; }
  .scn-list { width: 100% !important; margin-top: 3mm; }
  .scn-chg-hdr { display: flex !important; }
  .scn-list .scn-chg-hdr .scn-chg-x, .scn-list .scn-change-fx .scn-chg-x, .scn-list .scn-landed { width: 0 !important; min-width: 0 !important; margin: 0 !important; }
  .scn-list .scn-changes li { grid-template-columns: minmax(0, 1fr) auto !important; row-gap: 0 !important; padding: 2mm 0 !important; break-inside: avoid; page-break-inside: avoid; }
  .scn-list .scn-change-fx { flex-wrap: nowrap !important; width: auto !important; }
  .scn-list .scn-fx { width: 104px !important; flex: none !important; }
  .scn-list .scn-fx-df { width: 100px !important; }
  .scn-list .scn-fx::before { display: none !important; }
  .scn-foot-line { break-inside: avoid; margin-top: 3mm !important; padding-top: 3mm !important; }
  .scn-foot-line + .scn-foot-line { break-before: avoid; page-break-before: avoid; margin-top: 1mm !important; padding-top: 0 !important; }
  .scn-list-hd { margin-bottom: 1mm; }
}




@media (max-width: 600px) {
  .metric-head-right { flex: 1 1 100%; align-items: flex-start; min-width: 0; }
  .metric-verdicts { flex: 1 1 auto; min-width: 0; max-width: 100%; }
}



@media (max-width: 600px) {
  .bench-foot .card-tools { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-end; margin-left: 0; row-gap: 2px; }
}


@media (pointer: coarse) {
  .seg-btn, .chart-switch-btn { min-height: 36px; }
}




.group-table .grp-market { min-width: 13rem; }
.grp-market-verdict { white-space: nowrap; }
.grp-market-counts { white-space: nowrap; }




.welcome-hero.wh { display: block; padding: var(--s5) var(--s5) var(--s4); }
.wh-head { display: flex; gap: var(--s5); align-items: flex-start; justify-content: space-between; }
.wh-intro { min-width: 0; max-width: 720px; }
.wh-eyebrow { font: 600 var(--fs-micro)/var(--lh-micro) var(--font); text-transform: uppercase;
  letter-spacing: .08em; color: var(--blue); margin-bottom: var(--s1); }
.wh-title { font: var(--fw-display) var(--fs-display)/var(--lh-display) var(--font-head); margin: 0; color: var(--ink); }
.wh-lede { margin: var(--s2) 0 0; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink-soft); }
.wh-meter { flex: none; display: grid; justify-items: end; gap: 6px; padding-top: var(--s1); }
.wh-meter-num { font: 700 var(--fs-metric)/1 var(--font-head); color: var(--ink); }
.wh-meter-num span { font-size: var(--fs-card-title); color: var(--ink-faint); font-weight: 600; }
.wh-meter-bar { display: flex; gap: 4px; }
.wh-meter-bar i { width: 22px; height: 6px; border-radius: var(--radius-pill); background: var(--blue-tint-2); }
.wh-meter-bar i.on { background: var(--favourable); }
.wh-meter-lab { font-size: var(--fs-caption); color: var(--ink-faint); }
.wh-steps { list-style: none; margin: var(--s5) 0 0; padding: 0; display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s3); }
.wh-step { display: flex; flex-direction: column; gap: var(--s1); padding: var(--s4);
  border-radius: var(--radius-sm); background: var(--surface); border: 1px solid var(--border);
  min-width: 0; }
.wh-step.is-done { background: transparent; border-color: transparent; padding-left: var(--s4); }
.wh-step.is-done .wh-step-label { color: var(--ink-soft); }
.wh-step.is-due { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-tint), var(--shadow-sm, 0 1px 2px rgba(20,28,46,.06)); }
.wh-step-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); min-height: 24px; }
.wh-step-n { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--blue-tint-2); color: var(--blue-deep); font: 700 var(--fs-caption)/1 var(--font); flex: none; }
.wh-step.is-due .wh-step-n { background: var(--blue); color: #fff; }
.wh-step.is-done .wh-step-n { background: var(--favourable-tint); color: var(--favourable-ink); }
.wh-step-badge { font: 600 var(--fs-micro)/1 var(--font); text-transform: uppercase; letter-spacing: .04em;
  color: var(--blue-deep); background: var(--blue-tint); border-radius: var(--radius-2xs); padding: 4px 6px; white-space: nowrap; }
.wh-step-label { font: 600 var(--fs-card-title)/var(--lh-card-title) var(--font-head); color: var(--ink); margin-top: var(--s1); }
.wh-step-hint { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.wh-step-act { margin-top: auto; padding-top: var(--s3); }
.wh-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap;
  margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--border);
  font-size: var(--fs-label); color: var(--ink-faint); }
@media (max-width: 1100px) { .wh-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .welcome-hero.wh { padding: var(--s4); }
  .wh-head { flex-direction: column; gap: var(--s3); }
  .wh-meter { justify-items: start; grid-auto-flow: column; align-items: center; gap: var(--s2); padding: 0; }
  .wh-meter-num { font-size: var(--fs-section); }
  .wh-title { font-size: var(--fs-section); line-height: var(--lh-section); }
  .wh-steps { grid-template-columns: 1fr; gap: var(--s2); }
  .wh-step.is-done { padding: var(--s2) var(--s4); flex-direction: row; align-items: center; gap: var(--s3); }
  .wh-step.is-done .wh-step-top { min-height: 0; }
  .wh-step.is-done .wh-step-label { margin: 0; font-size: var(--fs-body); }
  .wh-step.is-done .wh-step-hint { display: none; }
  .wh-step-act .btn { width: 100%; }
}





.dom-instr-pending .di-row { grid-template-columns: 150px minmax(0, 1fr) 0 84px 0; column-gap: var(--s3); min-height: 44px; }
.di-prog { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.di-prog-bar { position: relative; flex: 1 1 auto; height: 6px; border-radius: var(--radius-pill); background: var(--surface-panel, #EDF1F7); }
.di-prog-bar i { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: var(--blue); min-width: 0; }
.di-prog-bar b { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; border-radius: 1px; background: var(--ink-faint); opacity: .55; }
.di-prog-txt { flex: none; min-width: 64px; text-align: right; font-size: var(--fs-caption); color: var(--ink-faint); }
.di-togo { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; font: 600 var(--fs-caption)/1 var(--font);
  color: var(--blue-deep); background: var(--blue-tint); border-radius: var(--radius-pill); padding: 5px 9px; }
.di-togo.is-met { color: var(--favourable-ink); background: var(--favourable-tint); }
.dom-instr-pending .di-scentcol { justify-content: flex-end; }
@media (max-width: 1180px) { .dom-instr-pending .di-row { grid-template-columns: 120px minmax(0, 1fr) 0 84px 0; } }
@media (max-width: 700px) {
  .dom-instr-pending .di-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name togo" "track track"; row-gap: 6px; }
  .dom-instr-pending .di-ident { grid-area: name; }
  .dom-instr-pending .di-trackcell { grid-area: track; }
  .dom-instr-pending .di-scentcol { grid-area: togo; }
  .dom-instr-pending .di-evid, .dom-instr-pending .di-chipcol { display: none; }
}
.arc-stage-rest { position: relative; }
.arc-rest-mark { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--blue-tint); color: var(--blue); }


.cat-empty { display: flex; align-items: center; gap: var(--s4); padding: var(--s5); margin-bottom: var(--s4);
  background: linear-gradient(135deg, var(--blue-tint) 0%, var(--surface) 70%); border-color: var(--blue-tint-2); }
.cat-empty-ico { flex: none; width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; background: var(--surface); color: var(--blue); box-shadow: 0 0 0 1px var(--blue-tint-2); }
.cat-empty-body { flex: 1 1 auto; min-width: 0; }
.cat-empty-title { font: 600 var(--fs-subhead)/var(--lh-subhead) var(--font-head); margin: 0; color: var(--ink); }
.cat-empty-text { margin: var(--s1) 0 0; font-size: var(--fs-label); line-height: 1.5; color: var(--ink-soft); max-width: 680px; }
.cat-empty > .btn { flex: none; }
@media (max-width: 700px) { .cat-empty { flex-wrap: wrap; } .cat-empty > .btn { width: 100%; } }

.onb-invite-row .ctl { height: 40px; font-size: var(--fs-body); }


.submit-banner .progressbar { background: var(--surface); box-shadow: inset 0 0 0 1px var(--blue-tint-2); width: 280px; }
.arc-rest-note { color: var(--ink-faint); font-size: var(--fs-label); line-height: 1.5; max-width: 250px; margin: var(--s1) auto 0; }
@media (max-width: 700px) {


  .dom-instr-pending .di-prog-txt { display: none; }
  .dom-instr-pending .di-row { padding-block: 6px; row-gap: 4px; min-height: 0; }
}




.data-row-setup-why { flex: 1 1 auto; min-width: 0; color: var(--text-muted); }
@media (max-width: 760px) {
  .data-row-setup-why { flex: 1 1 100%; order: 5; }
}

.qwiz-setup-intro { margin: 0 0 var(--s3); font-size: var(--fs-body); color: inherit; max-width: 62ch; }

.qwiz-na-hint.folded summary { cursor: pointer; color: var(--blue-deep); font-weight: 600; width: max-content; }
.qwiz-na-hint.folded[open] summary { margin-bottom: var(--s2); }
.qwiz-hint-ok { font-weight: 600; white-space: nowrap; }

.qwiz-keys { color: var(--text-muted); }
@media (hover: none) { .qwiz-keys { display: none; } }




@media (max-width: 720px) {
  .yourdata .qwiz-qhead:not(:has(.staged)) { display: none; }
  .yourdata .display-title { font-size: 26px; line-height: 1.2; }
  .yourdata .qwiz-unlock { padding-top: var(--s1); padding-bottom: var(--s1); margin-bottom: var(--s2); }
  .yourdata .dompage-modebar { margin-bottom: var(--s2); }
}







.qwiz-layout { max-width: 720px; }
.qwiz-main { min-width: 0; }
.qwiz-side { display: none; }
@media (min-width: 1180px) {
  .qwiz-layout { max-width: 1040px; display: grid; grid-template-columns: minmax(0, 720px) 280px;
    gap: var(--s6); align-items: start; }
  .qwiz-side { display: flex; flex-direction: column; gap: var(--s3); position: sticky;
    top: calc(var(--brandbar-h, 56px) + var(--s4)); max-height: calc(100vh - var(--brandbar-h, 56px) - 2 * var(--s4));
    font-size: var(--fs-caption); }

  .qwiz-layout .qwiz-pips, .qwiz-layout .qwiz-scan { display: none; }
  .qwiz-layout .qwiz-card .def-toggle, .qwiz-layout .qwiz-card .def-box { display: none; }
}
.qwiz-side-head { display: flex; flex-direction: column; gap: 2px; }
.qwiz-side-head b { font-size: var(--fs-label); color: var(--ink); }
.qwiz-side-def { background: var(--surface-card, var(--surface)); border: 1px solid var(--border-neutral);
  border-radius: var(--radius-sm); padding: var(--s3); color: var(--ink-soft); }
.qwiz-side-def p { margin: var(--s1) 0 0; line-height: 1.5; }
.qwiz-side-lead { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.qwiz-outline { list-style: none; margin: 0; padding: 0; overflow-y: auto; min-height: 120px; flex: 1 1 auto;
  border-top: 1px solid var(--border-neutral); padding-top: var(--s2); }
.qwiz-outline button { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left;
  background: none; border: 0; border-radius: var(--radius-xs); padding: 4px 6px; cursor: pointer;
  color: var(--ink-soft); font: inherit; font-size: var(--fs-caption); line-height: 1.35; }
.qwiz-outline button:hover { background: color-mix(in srgb, var(--ink) 5%, transparent); color: var(--ink); }
.qwiz-outline button:focus-visible { outline: var(--focus-outline); outline-offset: -2px; }
.qwiz-outline .qo-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qwiz-outline .qo-mark { flex: 0 0 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--border);
  display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.qwiz-outline li.done .qo-mark { background: var(--blue); border-color: var(--blue); }
.qwiz-outline li.done .qo-text { color: var(--text-muted); }
.qwiz-outline li.now button { background: var(--blue-tint); color: var(--blue-deep); font-weight: 600; }
.qwiz-outline li.now .qo-mark { border-color: var(--blue-deep); }
.qwiz-side-dropped summary { cursor: pointer; color: var(--blue-deep); font-weight: 600; }
.qwiz-side-dropped ul { margin: var(--s2) 0 0; padding-left: var(--s4); max-height: 200px; overflow: auto; }



.qwiz-compact { display: flex; align-items: center; gap: var(--s1) var(--s3); flex-wrap: wrap;
  margin: 0 0 var(--s3); padding-bottom: var(--s2); border-bottom: 1px solid var(--border-neutral); }
.qwiz-compact .back-link { flex: 0 0 auto; white-space: nowrap; }
.qwiz-compact-title { font-size: 20px; line-height: 1.25; font-weight: 650; margin: 0; color: var(--ink);
  flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qwiz-compact-right.dompage-modebar { display: inline-flex; align-items: center; gap: var(--s2); margin: 0 0 0 auto; flex-wrap: nowrap; }
.qwiz-compact .qwiz-saved { flex: 1 1 100%; order: 9; }
.qwiz-unlock-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px var(--s2); flex: 0 0 auto;
  border-radius: 999px; background: var(--blue-tint); color: var(--blue-deep); font-size: var(--fs-caption); white-space: nowrap; }
.qwiz-unlock-chip b { font-variant-numeric: tabular-nums; }


.qwiz-nav-sticky { position: sticky; bottom: 0; z-index: 4; background: var(--surface-page);
  padding: var(--s3) 0; margin-top: calc(-1 * var(--s2));
  box-shadow: 0 -1px 0 var(--border-neutral); }


.opt-key { display: none; }
@media (hover: hover) and (pointer: fine) {
  .opt-key { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    min-width: 18px; height: 18px; padding: 0 4px; border: 1px solid var(--border); border-radius: 4px;
    font-size: 11px; line-height: 1; color: var(--text-muted); font-variant-numeric: tabular-nums;
    background: var(--surface); }
  .seg-btn .opt-key { margin-right: 6px; }
  .seg-btn.on .opt-key { background: transparent; color: #fff; border-color: color-mix(in srgb, #fff 55%, transparent); }
}
.qwiz-keys-link { font-weight: 600; white-space: nowrap; }
.qwiz-keys-pop { margin: 0 0 var(--s3); padding: var(--s3) var(--s4); border-radius: var(--radius-sm);
  background: var(--surface-sunk); font-size: var(--fs-caption); }
.qwiz-keys-pop dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s1) var(--s4); }
.qwiz-keys-pop dl > div { display: flex; gap: var(--s2); align-items: baseline; }
.qwiz-keys-pop dt { flex: 0 0 92px; margin: 0; }
.qwiz-keys-pop dd { margin: 0; color: var(--ink-soft); }
.qwiz-keys-pop kbd { font: inherit; font-size: 11px; font-weight: 600; padding: 1px 6px; border-radius: 4px;
  border: 1px solid var(--border); background: var(--surface); white-space: nowrap; }


.opt-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin-bottom: 6px; }
.opt-chip { position: relative; display: flex; align-items: center; gap: var(--s2); min-height: 36px;
  padding: var(--s2) var(--s3); border-radius: var(--radius-sm); background: var(--surface-row);
  border: 1px solid transparent; cursor: pointer; font-size: var(--fs-caption); }
.opt-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.opt-chip:hover { border-color: var(--border); }
.opt-chip:has(input:checked) { background: var(--blue); color: #fff; }
.opt-chip:has(input:checked) .opt-key { background: transparent; color: #fff; border-color: color-mix(in srgb, #fff 55%, transparent); }
.opt-chip:has(input:focus-visible) { outline: var(--focus-outline); outline-offset: 2px; }


.check-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 6px; }
.yourdata .check-cols .check-row { margin-bottom: 4px; }
.none-row { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; margin: 0 0 var(--s3); }


.na-row { margin-top: var(--s3); }
.na-btn, .none-btn { display: inline-flex; align-items: center; gap: 4px; font: inherit; font-size: var(--fs-caption);
  padding: 4px var(--s3); border-radius: 999px; border: 1px dashed var(--border); background: none;
  color: var(--ink-soft); cursor: pointer; text-align: left; }
.na-btn:hover, .none-btn:hover { border-style: solid; color: var(--ink); }
.na-btn:focus-visible, .none-btn:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.na-btn.on, .none-btn.on { border-style: solid; border-color: var(--blue); background: var(--blue-tint); color: var(--blue-deep); font-weight: 600; }
.none-btn { font-weight: 600; color: var(--ink); }
.na-btn-undo { font-weight: 400; color: var(--text-muted); }


.yourdata .matrix-grid { width: auto; min-width: 360px; }
.yourdata .matrix-grid th[scope="row"] { text-transform: none; letter-spacing: normal; font-size: var(--fs-label);
  color: var(--ink); min-width: 200px; max-width: 360px; padding-right: var(--s5); }
.yourdata .mg-seg { flex-wrap: wrap; }
.yourdata .mg-seg .seg-btn { padding: 4px var(--s3); font-weight: 500; }
.mg-fill { margin-top: var(--s2); }
.mg-keys { margin-top: var(--s2); color: var(--text-muted); }
@media (hover: none) { .mg-keys { display: none; } }


.area-done { padding: var(--s5) var(--s6); margin-bottom: var(--s4); animation: qwiz-in var(--dur-base) var(--ease-out) both; }
.area-done-ring { width: 44px; height: 44px; border-radius: 50%; background: var(--blue); color: #fff;
  display: flex; align-items: center; justify-content: center; margin-bottom: var(--s3); }
.area-done-title { font-size: 24px; line-height: 1.25; margin: 0 0 var(--s2); }
.area-done-sub { margin: 0; color: var(--ink-soft); max-width: 62ch; }
.area-facts { margin: var(--s4) 0 0; padding-top: var(--s3); border-top: 1px solid var(--border-neutral);
  display: flex; flex-direction: column; gap: var(--s2); }
.area-facts-lead { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.area-fact { display: flex; align-items: baseline; gap: var(--s3); max-width: 62ch; }
.area-fact-pct { flex: 0 0 52px; font-size: 22px; font-weight: 700; color: var(--blue-deep); font-variant-numeric: tabular-nums; }
.area-done-actions { gap: var(--s3); align-items: center; flex-wrap: wrap; margin-top: var(--s5); }

.data-row-time { flex: 0 0 96px; text-align: right; color: var(--text-muted); white-space: nowrap; }
@media (max-width: 760px) { .data-row-time { display: none; } }



.qwiz-area-chip { margin-left: auto; font-size: var(--fs-micro); font-weight: 600; color: var(--text-muted);
  padding: 2px var(--s2); border-radius: 999px; background: var(--surface-row); white-space: nowrap; }

.qwiz-outline li.qo-area { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  color: var(--text-muted); padding: var(--s2) 6px 2px; }
.qwiz-outline li.qo-area:first-child { padding-top: 0; }

.review-areas { padding: var(--s3) var(--s4); }
.review-areas-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); flex-wrap: wrap;
  margin-bottom: var(--s2); }
.review-area { display: grid; grid-template-columns: minmax(0, 1fr) 96px 136px 104px 14px; align-items: center; gap: var(--s3);
  padding: var(--s2) var(--s2); margin: 0 calc(-1 * var(--s2)); border-radius: var(--radius-sm);
  color: var(--ink); text-decoration: none; border-top: 1px solid var(--border-neutral); }
.review-area:first-of-type { border-top: 0; }
.review-area:hover { background: color-mix(in srgb, var(--blue) 4%, var(--surface-card)); }
.review-area:focus-visible { outline: var(--focus-outline); outline-offset: 0; }
.review-area-name { font-weight: 600; min-width: 0; }
.review-area-left, .review-area-time { text-align: right; color: var(--text-muted); white-space: nowrap; }
.review-area-gate { white-space: nowrap; color: var(--text-muted); }
.review-area-gate.short { color: var(--blue-deep); font-weight: 600; }
@media (max-width: 720px) { .review-area { grid-template-columns: minmax(0, 1fr) auto 14px; }
  .review-area-left, .review-area-time { display: none; } }
.data-start-why { margin-top: var(--s2); max-width: 62ch; color: var(--ink-soft); }


.yourdata .matrix-grid th[scope="row"] { white-space: normal; }
.yourdata .matrix-grid td .band-select { width: 100%; max-width: 340px; min-width: 150px; text-overflow: ellipsis; }
.yourdata .matrix-grid:has(.band-select) { width: 100%; }

.unlock-card .success-ring { margin: 0 0 var(--s3); }
.unlock-eyebrow { font-size: var(--fs-micro); font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--blue-deep); margin-bottom: var(--s1); }
.unlock-card .unlock-position-line { margin: 0 0 var(--s2); max-width: 62ch; }


.qwiz-back-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  border-radius: var(--radius-sm); color: var(--ink-soft); }
.qwiz-back-icon:hover { background: color-mix(in srgb, var(--ink) 6%, transparent); color: var(--ink); }
@media (min-width: 1180px) and (max-width: 1320px) {
  .qwiz-layout { grid-template-columns: minmax(0, 720px) 248px; gap: var(--s5); }
}





.fbk-hl { position: fixed; z-index: calc(var(--z-modal) + 10); pointer-events: none;
  border: 2px solid var(--blue-bright); border-radius: 10px;
  background: color-mix(in srgb, var(--blue-bright) 8%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue-bright) 18%, transparent);
  transition: left var(--dur-fast) var(--ease-out), top var(--dur-fast) var(--ease-out),
    width var(--dur-fast) var(--ease-out), height var(--dur-fast) var(--ease-out); }
.fbk-hl-tag { position: absolute; left: -2px; bottom: 100%; margin-bottom: 4px; max-width: 360px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  padding: 2px var(--s2); border-radius: 6px; background: var(--blue-bright); color: #fff;
  font: 600 var(--fs-caption)/var(--lh-caption) var(--font); }
.fbk-hl-tag:empty { display: none; }
.fbk-hl-tag.below { bottom: auto; top: 100%; margin: 4px 0 0; }
body.fbk-picking, body.fbk-picking * { cursor: crosshair !important; }
body.fbk-picking .fbk-ui, body.fbk-picking .fbk-ui * { cursor: auto !important; }
body.fbk-picking .fbk-ui button { cursor: pointer !important; }
.fbk-banner { position: fixed; z-index: calc(var(--z-modal) + 12); top: 12px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: var(--s3); max-width: calc(100vw - 24px);
  padding: var(--s2) var(--s2) var(--s2) var(--s4); border-radius: 999px;
  background: var(--ink); color: #fff; box-shadow: var(--shadow-pop); font-size: var(--fs-label); }
.fbk-banner .btn { height: 28px; }
@media (max-width: 640px) {
  .fbk-banner { top: auto; bottom: 12px; border-radius: var(--radius-sm); flex-wrap: wrap; justify-content: center; }
}
.fbk-pop { position: fixed; z-index: calc(var(--z-modal) + 12); width: 340px; max-width: calc(100vw - 16px);
  display: flex; flex-direction: column; gap: var(--s3); padding: var(--s4);
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-pop); }
.fbk-pop.sheet { left: 0; right: 0; bottom: 0; width: auto; max-width: none; border-radius: var(--radius) var(--radius) 0 0; }
.fbk-pop-eyebrow { font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }
.fbk-pop-target { font: 600 var(--fs-label)/var(--lh-label) var(--font-head); color: var(--ink);
  margin-top: 2px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.fbk-pop-adjust { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s1); }
.fbk-link { border: 0; background: none; padding: 0; color: var(--blue-bright); cursor: pointer;
  font: 500 var(--fs-caption)/var(--lh-caption) var(--font); }
.fbk-link:hover { text-decoration: underline; }
.fbk-kinds { display: flex; flex-wrap: wrap; gap: var(--s1); }
.fbk-kind { height: 28px; padding: 0 var(--s3); border-radius: 999px; border: 1px solid var(--border);
  background: var(--surface); color: var(--ink-soft); cursor: pointer;
  font: 500 var(--fs-caption)/var(--lh-caption) var(--font); }
.fbk-kind:hover { border-color: #C5CEDC; color: var(--ink); }
.fbk-kind.on { background: var(--blue-tint); border-color: var(--blue); color: var(--blue-deep); }
.fbk-text { width: 100%; min-height: 96px; resize: vertical; font-family: var(--font); }
.fbk-note { margin: 0; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.fbk-err { margin: 0; font-size: var(--fs-caption); color: var(--lumi-coral-deep); }
.fbk-actions { display: flex; justify-content: flex-end; gap: var(--s2); }

.fbk-door { position: relative; width: 36px; height: 36px; border-radius: var(--radius-sm);
  border: 1px solid transparent; background: transparent; color: #fff; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; }
.fbk-door:hover { background: rgba(255,255,255,.16); }
.fbk-door:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: 2px; }
@media print { .fbk-ui, .fbk-door, .fbk-door-pill { display: none !important; } }


.fbk-admin-filters { display: flex; flex-wrap: wrap; gap: var(--s2); margin-bottom: var(--s4); }
.fbk-admin-list { display: flex; flex-direction: column; gap: var(--s2); }
.fbk-admin-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s3); align-items: start;
  text-align: left; width: 100%; padding: var(--s3) var(--s4); cursor: pointer;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); font: inherit; color: inherit; }
.fbk-admin-item:hover { border-color: var(--blue-bright); }
.fbk-admin-item.is-new { border-left: 4px solid var(--blue); }
.fbk-admin-comment { font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink); margin: 0 0 var(--s1); }
.fbk-admin-where { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft); }
.fbk-admin-where b { color: var(--ink); font-weight: 600; }
.fbk-admin-meta { font-size: var(--fs-caption); color: var(--ink-soft); text-align: right; white-space: nowrap; }
.fbk-admin-detail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s5); align-items: start; }
@media (max-width: 1100px) { .fbk-admin-detail { grid-template-columns: 1fr; } }
.fbk-admin-quote { margin: 0; padding: var(--s3) var(--s4); border-left: 4px solid var(--blue);
  background: var(--blue-tint); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: var(--fs-subhead); line-height: var(--lh-subhead); color: var(--ink); white-space: pre-wrap; }
.fbk-admin-trail { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1); font-size: var(--fs-label); color: var(--ink-soft); }
.fbk-admin-trail b { color: var(--ink); }
.fbk-admin-snap { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-page);
  overflow: auto; max-height: 720px; }
.fbk-admin-snap iframe { display: block; border: 0; transform-origin: 0 0; background: transparent; }
.fbk-admin-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--s1) var(--s3);
  margin: 0; font-size: var(--fs-label); }
.fbk-admin-dl dt { color: var(--ink-soft); }
.fbk-admin-dl dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.fbk-admin-text { white-space: pre-wrap; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--ink-soft);
  max-height: 200px; overflow: auto; background: var(--surface-sunk); padding: var(--s2) var(--s3); border-radius: var(--radius-sm); margin: 0; }

.fbk-flash { outline: 3px solid var(--blue-bright) !important; outline-offset: 4px;
  animation: fbk-flash 1.2s var(--ease-out) 3; }
@keyframes fbk-flash { 50% { outline-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .fbk-hl { transition: none; } .fbk-flash { animation: none; } }
.admin-status-in_progress { background: var(--neutral-perf-tint); color: var(--neutral-perf); }
.admin-status-resolved { background: var(--favourable-tint); color: var(--favourable-ink); }
.admin-status-wont_fix { background: var(--surface-sunk); color: var(--color-text-tertiary); }




.fbk-tab-wrap { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: calc(var(--z-popover) - 3);
  display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }

.fbk-tab-x { width: 24px; height: 24px; margin-right: 4px; border-radius: 50%; border: 1px solid var(--border);
  background: var(--surface); color: var(--ink-soft); cursor: pointer; display: inline-flex; align-items: center;
  justify-content: center; box-shadow: 0 1px 4px rgba(16,24,40,.12); }
.fbk-tab-x:hover { color: var(--ink); border-color: #C5CEDC; }
.fbk-tab-x:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.fbk-tab {
  display: inline-flex; align-items: center; gap: var(--s2); writing-mode: vertical-rl;
  padding: var(--s4) var(--s2); border: 0; border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  background: var(--lumi-coral-deep); color: #fff; cursor: pointer;
  font: 600 var(--fs-label)/1 var(--font-head); letter-spacing: .02em;
  box-shadow: -2px 4px 14px rgba(16,24,40,.18); transition: padding var(--dur-fast) var(--ease-out); }
.fbk-tab svg { transform: rotate(90deg); }
.fbk-tab:hover { padding-right: var(--s3); }
.fbk-tab:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }




@media (max-width: 640px) {
  .fbk-tab-wrap { top: auto; bottom: 76px; transform: none; flex-direction: row; align-items: center; }
  .fbk-tab { writing-mode: horizontal-tb; padding: 10px 8px 10px 10px; }
  .fbk-tab svg { transform: none; }
  .fbk-tab span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .fbk-tab:hover { padding-right: 8px; }
}
@media print { .fbk-tab-wrap { display: none !important; } }




.admin-acct-row { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); align-items: center; }
.admin-acct .seg-btn.admin-acct-susp.on { background: var(--unfavourable); box-shadow: none; }
.admin-acct .seg-btn:disabled { cursor: not-allowed; opacity: 0.55; }
.admin-acct-dates { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s3); }
.admin-acct-note { display: flex; flex-direction: column; gap: 2px; margin-top: var(--s3); }
.admin-acct-note textarea.ctl { width: 100%; resize: vertical; }
.admin-plan-customer { background: var(--favourable-tint); color: var(--favourable-ink); }


.admin-plan-individual { background: var(--blue-tint); color: var(--navy); }
.admin-plan-urgent { color: var(--amber-deep); font-weight: 600; }
.admin-plan-note { font-style: italic; max-width: 24ch; }



.admin-funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s2);
  margin-bottom: var(--s3); }
.admin-funnel-tile { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: var(--s2) var(--s3); min-width: 0; }
.admin-funnel-n { font-size: var(--fs-h3); font-weight: 700; color: var(--ink); line-height: 1.2;
  font-variant-numeric: tabular-nums; }
.admin-funnel-n .quiet { font-size: var(--fs-caption); font-weight: 600; color: var(--ink-faint); }
.admin-funnel-bar { height: 4px; border-radius: 2px; background: var(--blue-tint); margin: var(--s1) 0; overflow: hidden; }
.admin-funnel-bar > span { display: block; height: 100%; background: var(--blue); border-radius: 2px; }
.admin-funnel-label { font-size: var(--fs-micro); color: var(--ink-soft); font-weight: 600; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 760px) { .admin-funnel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.admin-goals { display: inline-flex; gap: 4px; align-items: center; }
.admin-goal { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--blue); box-sizing: border-box; display: inline-block; }
.admin-goal.met { background: var(--blue); }
.admin-goal.na { border-color: var(--border); background: var(--border); opacity: 0.6; }
.admin-goal-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s1); }
.admin-goal-list li { display: grid; grid-template-columns: 22px 1fr auto; gap: var(--s2); align-items: baseline; }
.admin-goal-list li.met { color: var(--ink-soft); }
.admin-goal-list li.na { color: var(--ink-faint); }
.admin-goal-mark { display: inline-flex; width: 20px; height: 20px; border-radius: 50%; align-items: center; justify-content: center;
  font-size: var(--fs-micro); font-weight: 700; background: var(--blue-tint); color: var(--blue-deep); }
.admin-goal-list li.met .admin-goal-mark { background: var(--favourable-tint); color: var(--favourable-ink); }
.admin-goal-list li.na .admin-goal-mark { background: var(--paper, #F9FAFC); color: var(--ink-faint); }

.admin-team-head { margin-bottom: var(--s4); }
.admin-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--s3); align-items: start; }
.admin-team-card { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); }
.admin-team-who { display: flex; align-items: center; gap: var(--s3); }
.admin-team-who .admin-tab-badge { margin-left: auto; }
.admin-team-face { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center;
  justify-content: center; background: var(--blue-tint); color: var(--blue-deep); font-weight: 700; font-size: var(--fs-h3); }
.admin-team-name { font-weight: 700; font-size: var(--fs-h3); color: var(--ink); line-height: 1.2; }
.admin-team-state { margin: 0; }
.admin-team-asks { margin: 0; padding-left: 1.2em; display: grid; gap: var(--s2); }
.admin-team-asks li > a { text-decoration: none; }
.admin-team-asks li > a:hover { text-decoration: underline; }
.admin-team-foot { display: flex; flex-direction: column; gap: var(--s2); margin-top: var(--s2);
  padding-top: var(--s2); border-top: 1px solid var(--border); }
.admin-team-foot .btn { align-self: flex-start; }

.admin-jonah-list { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); column-gap: var(--s5); }
.admin-context-form .field input.ctl, .admin-context-form .field select.ctl { width: 100%; }
.admin-move { border-left: 3px solid var(--amber-bright); }
.admin-move.held { border-left-color: var(--border); }
.admin-held { color: var(--ink-faint); font-style: italic; }
.admin-draft textarea.ctl { width: 100%; resize: vertical; font: inherit; line-height: 1.5; }
.admin-draft .field > span { display: block; font-size: var(--fs-caption); color: var(--ink-soft); margin-bottom: 2px; }
.admin-draft .field input.ctl { width: 100%; max-width: 60ch; }

.admin-context-step { padding: var(--s2) var(--s3); background: var(--blue-tint); border-radius: var(--radius-sm); }
.admin-context-form .field > span { display: block; font-size: var(--fs-caption); color: var(--ink-soft); margin-bottom: 2px; }
.admin-context textarea.ctl { width: 100%; resize: vertical; font: inherit; line-height: 1.5; }
.admin-context .field > span { display: block; font-size: var(--fs-caption); color: var(--ink-soft); margin-bottom: 2px; }
.admin-context-notes { margin-top: var(--s3); display: grid; gap: var(--s1); }
.admin-context-note > summary { gap: var(--s2); }
.admin-context-body { white-space: pre-wrap; font-size: var(--fs-label); line-height: 1.5; color: var(--ink);
  padding: var(--s2) 0; max-height: 24em; overflow: auto; }



.admin-sortbtn { all: unset; cursor: pointer; display: inline-flex; align-items: center; position: relative;
  font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }


.admin-sortarrow { position: absolute; left: calc(100% + 3px); top: 50%; transform: translateY(-50%); }
th.num .admin-sortarrow { left: auto; right: calc(100% + 3px); }
.admin-sortbtn:focus-visible { outline: var(--focus-outline); outline-offset: 2px; border-radius: 3px; }
.admin-sortbtn:hover, .admin-sortbtn.on { color: var(--ink); }
.admin-sortarrow { font-size: 0.9em; opacity: 0.35; }
.admin-sortbtn.on .admin-sortarrow { opacity: 1; color: var(--blue); }
th.num .admin-sortbtn { justify-content: flex-end; }

.admin-orgsum-link { all: unset; cursor: pointer; border-bottom: 1px dashed transparent; }
.admin-orgsum-link.warn, .admin-orgsum-link.warn b { color: var(--amber-deep); }
.admin-orgsum-link:hover { border-bottom-color: currentColor; }
.admin-orgsum-link:focus-visible { outline: var(--focus-outline); outline-offset: 3px; border-radius: 3px; }



@media (max-width: 640px) {
  .admin-orgs thead { display: none; }
  .admin-orgs, .admin-orgs tbody { display: block; }
  .admin-orgs tr { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2) var(--s3);
    padding: var(--s3) var(--s3); border-bottom: 1px solid var(--border); }
  .admin-orgs td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; }
  .admin-orgs td:first-child { grid-column: 1 / -1; }
  .admin-orgs td[data-label]::before { content: attr(data-label); display: block; font-size: var(--fs-micro);
    font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 2px; }
  .admin-orgs .admin-sub { max-width: none; white-space: normal; }
  .admin-orgs-wrap { overflow-x: visible; }
  .admin-row-attn td:first-child { box-shadow: none; }
  .admin-orgs tr.admin-row-attn { box-shadow: inset 3px 0 0 var(--amber-bright); }

  .admin-success thead { display: none; }
  .admin-success, .admin-success tbody { display: block; }
  .admin-success tr { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2) var(--s3);
    padding: var(--s3) var(--s3); border-bottom: 1px solid var(--border); }
  .admin-success td { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; }
  .admin-success td:first-child, .admin-success td[data-label="Move"] { grid-column: 1 / -1; }
  .admin-success td[data-label]::before { content: attr(data-label); display: block; font-size: var(--fs-micro);
    font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 2px; }
  .admin-success tr.admin-row-attn { box-shadow: inset 3px 0 0 var(--amber-bright); }
}

.admin-success td[data-label="Move"] .admin-sub { max-width: 44ch; white-space: normal; }

.admin-provision-person { display: flex; gap: var(--s2); align-items: flex-end; flex-wrap: wrap; }
.admin-provision-person > label { margin-top: var(--s2); font-size: var(--fs-caption);
  font-weight: 600; color: var(--ink); }


.admin-form > label, .admin-provision-person > label { display: flex; flex-direction: column; gap: 4px; }
.admin-form > label > .ctl, .admin-provision-person > label > .ctl { width: 100%; max-width: 32rem; margin-top: 0; }
.admin-provision-person > label:not(.grow) > .ctl { max-width: 18rem; }
.admin-provision-person > label.grow { flex: 1 1 16rem; }
.admin-provision-person > .btn { margin-bottom: 2px; }
.admin-form .admin-provision-person .ctl { width: 100%; }
.admin-acct-history { margin-top: var(--s3); }
.admin-acct-history ol { list-style: none; margin: var(--s2) 0 0; padding: 0; display: grid; gap: var(--s2); }
.admin-acct-history li { padding-left: var(--s3); border-left: 2px solid var(--border); white-space: pre-wrap; }


.admin-desk-who { margin-bottom: var(--s2); }
.admin-desk-moves { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2);
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.admin-desk-move { padding: var(--s3); display: flex; flex-direction: column; gap: var(--s1); }
.admin-desk-move a { text-decoration: none; }
.admin-desk-move a:hover { text-decoration: underline; }
.admin-desk-sections { display: grid; gap: var(--s3); margin-top: var(--s4); }
.admin-desk-section { padding: var(--s4); }
.admin-desk-section td { overflow-wrap: anywhere; }

.admin-becky-list { list-style: none; margin: var(--s2) 0 0; padding: 0; display: grid; gap: var(--s2); }
.admin-becky-item { padding: var(--s3); border: 1px solid var(--border); border-radius: var(--radius, 8px); overflow-wrap: anywhere; }
.admin-becky-was { margin-top: 2px; overflow-wrap: anywhere; }
.admin-becky-switch { display: flex; gap: var(--s2); align-items: flex-start; margin: var(--s2) 0; cursor: pointer; }
.admin-becky-switch input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.admin-becky-pair { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--s2); margin-top: var(--s1); align-items: baseline; }
@media (max-width: 560px) { .admin-becky-pair { grid-template-columns: 1fr; gap: 2px; } }
.admin-sources-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--s3); margin-top: var(--s2); }
.admin-source { display: flex; flex-direction: column; gap: var(--s1); padding: var(--s3); border: 1px solid var(--border); border-radius: var(--radius, 8px); }
.admin-source code { overflow-wrap: anywhere; }
.admin-triage-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s2); padding: var(--s2) 0; border-top: 1px solid var(--border); }
.admin-triage-row:first-of-type { border-top: 0; }

.admin-ask { display: flex; flex-direction: column; gap: var(--s1); margin: var(--s2) 0; }
.admin-ask-answer { padding: var(--s2) var(--s3); border-left: 3px solid var(--accent, #2a4dd0); background: var(--surface-2, rgba(0,0,0,.03)); border-radius: 4px; }
.admin-rules { list-style: none; margin: var(--s1) 0 0; padding: 0; display: grid; gap: var(--s1); }
.admin-rules li { display: flex; gap: var(--s2); align-items: center; flex-wrap: wrap; }
.admin-rules li .btn { margin-left: auto; }

.admin-desks { margin-bottom: 0; }
.admin-desk-tab { flex-direction: row; align-items: baseline; }
.admin-desk-role { font-size: var(--fs-caption, .8rem); color: var(--ink-faint); font-weight: 400; }
.admin-subtabs { margin-top: 0; border-bottom-style: dashed; }
.admin-subtabs .admin-tab { font-size: .92em; padding-top: var(--s2); padding-bottom: var(--s2); }
.admin-desks + .admin-body { margin-top: var(--s4); }


body.staff-console .sidebar, body.staff-console .nav-scrim, body.staff-console .nav-hamburger,
body.staff-console .suggest-pill, body.staff-console .fbk-door-pill, body.staff-console .btn.is-ask,
body.staff-console .databar-chip, body.staff-console .fbk-tab-wrap { display: none !important; }
body.staff-console .admin-console { max-width: 1200px; margin: 0 auto; }

.admin-team-face.sm { width: 28px; height: 28px; font-size: var(--fs-label); flex: none; }
.admin-desk-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 2px; flex: none; align-self: center; }
.admin-desk-about { margin-top: 2px; color: var(--ink-faint); }

.admin-move-acts { display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; margin-top: var(--s2); }
.admin-menu .brf-menu { min-width: 240px; max-width: 320px; }
.admin-menu .brf-menu-opt { white-space: nowrap; }


.admin-context-form .field { min-width: 0; }
.admin-context-form .field .ctl { width: 100%; }
.admin-menu .sfold-ret { margin-left: auto; color: var(--ink-faint); font-size: var(--fs-caption); }

.admin-h3 { font-size: var(--fs-h3); line-height: 1.3; margin: 0; }
.admin-label { font-size: var(--fs-caption); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 var(--s2); }

.admin-record-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s3); align-items: start; }
.admin-record-pair .admin-card { margin-bottom: 0; }
.admin-record > .admin-record-pair { margin-bottom: var(--s3); }
.admin-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--s3); }
.admin-facts-wide { grid-column: 1 / -1; }
.admin-chips { display: flex; flex-wrap: wrap; gap: var(--s1); margin-top: 2px; }
.admin-chip { display: inline-flex; gap: 4px; align-items: baseline; padding: 2px var(--s2); border-radius: 999px;
  background: var(--surface-sunk); border: 1px solid var(--border); font-size: var(--fs-caption); color: var(--ink); }
.admin-log, .admin-how { margin-top: var(--s3); }
.admin-how { margin-top: var(--s1); }
.admin-how summary { font-size: var(--fs-caption); }

.admin-console .caption { font-size: var(--fs-label); line-height: var(--lh-label); }
.admin-console .admin-sub { font-size: 12px; }

.admin-console p a:not(.btn), .admin-console .caption a:not(.btn) { text-decoration: underline; }
@media (max-width: 720px) {
  .admin-record-pair { grid-template-columns: minmax(0, 1fr); }
}

.admin-perf { display: flex; flex-direction: column; gap: var(--s4); max-width: 1120px; }
.admin-perf-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--s2); }
.admin-perf-table td, .admin-perf-table th { white-space: nowrap; }
.admin-perf-who { display: inline-flex; align-items: center; gap: var(--s2); font-weight: 600; }
.admin-perf-emp.open td { background: var(--surface-sunk); }
.admin-perf-play td { font-size: var(--fs-label); }
.admin-perf-indent { padding-left: calc(28px + var(--s2)); display: inline-block; }
.admin-perf-share { display: inline-flex; align-items: center; gap: var(--s2); font-variant-numeric: tabular-nums; }
.admin-perf-bar { width: 64px; height: 6px; border-radius: 3px; background: var(--surface-sunk); overflow: hidden; border: 1px solid var(--border); }
.admin-perf-bar span { display: block; height: 100%; background: var(--blue); }
.admin-perf-props { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--s3); }
.admin-perf-prop { margin: 0; display: grid; gap: var(--s2); border-left: 3px solid var(--blue); }
.admin-perf-prop-head { display: flex; gap: var(--s2); align-items: center; }
.admin-perf-replay { color: var(--ink); }
.admin-perf-came { display: inline-flex; gap: var(--s2); flex-wrap: wrap; font-size: var(--fs-label); }
.admin-perf-win { color: var(--favourable-ink, #1b6f42); font-weight: 600; }
.admin-perf-results { list-style: none; margin: var(--s2) 0 0; padding: 0; display: grid; gap: var(--s2); }
.admin-perf-results li { display: flex; gap: var(--s2); align-items: flex-start; }
@media (max-width: 720px) { .admin-perf-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .admin-perf-table td, .admin-perf-table th { white-space: normal; } }

.admin-today { display: flex; flex-direction: column; gap: var(--s4); max-width: 1040px; }
.admin-today-head { display: grid; gap: var(--s1); }
.admin-today-hello { margin: 0; font-size: var(--fs-h2, 1.6rem); line-height: 1.2; text-wrap: balance; }
.admin-today-three { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.admin-today-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: var(--s3); align-items: start;
  padding: var(--s3) var(--s4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm);
  border-left: 3px solid var(--who, var(--blue)); }
.admin-today-item.kb-on { outline: 2px solid var(--blue); outline-offset: 2px; }
.admin-today-item .admin-move-acts { margin-top: 0; justify-content: flex-end; }
.admin-today-what { display: grid; gap: 2px; min-width: 0; }
.admin-today-title { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: baseline; }
.admin-today-title a { text-decoration: none; color: var(--ink); }
.admin-today-title a:hover { text-decoration: underline; }
.admin-today-label { color: var(--ink-soft); }
.admin-today-also { color: var(--ink-faint); font-style: italic; }
.admin-today-clear { display: flex; gap: var(--s3); align-items: center; padding: var(--s5); }
.admin-today-clear-mark { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--favourable-tint); color: var(--favourable-ink); font-weight: 700; font-size: 20px; flex: none; }
.admin-today-section { display: grid; gap: var(--s2); }
.admin-prep-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--s3); }
.admin-prep { margin: 0; display: grid; gap: var(--s2); }
.admin-prep h3 a { text-decoration: none; }
.admin-prep-facts { display: grid; gap: 2px; margin: 0; }
.admin-prep-facts > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: var(--s2); font-size: var(--fs-label); }
.admin-prep-facts dt { color: var(--ink-faint); }
.admin-prep-facts dd { margin: 0; }
.admin-prep-recent { margin: 0; padding-left: 1.1em; display: grid; gap: 2px; font-size: var(--fs-label); }
.admin-team-rows { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.admin-team-row + .admin-team-row { border-top: 1px solid var(--border); }
.admin-team-rowhead { all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: grid; align-items: center;
  grid-template-columns: 40px 150px minmax(0, 1fr) auto 16px; gap: var(--s3); padding: var(--s3) var(--s4); }
.admin-team-rowhead:hover { background: var(--surface-sunk); }
.admin-team-rowhead:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.admin-team-rowwho { display: grid; line-height: 1.25; }
.admin-team-chips { display: flex; flex-wrap: wrap; gap: var(--s1); min-width: 0; }
.admin-team-left { font-size: var(--fs-label); color: var(--ink-faint); white-space: nowrap; }
.admin-team-left.on { color: var(--ink); font-weight: 600; }
.admin-team-caret { color: var(--ink-faint); }
.admin-team-rowbody { padding: 0 var(--s4) var(--s4) calc(var(--s4) + 40px + var(--s3)); display: grid; gap: var(--s3); }
.admin-team-rowfoot { display: flex; gap: var(--s2); align-items: flex-start; flex-wrap: wrap; }
.admin-team-rowfoot .admin-ask { flex: 1 1 320px; margin: 0; }
.admin-today-week summary { display: flex; gap: var(--s2); align-items: baseline; flex-wrap: wrap; }
.admin-kbhint { color: var(--ink-faint); }
.kbd { display: inline-block; font: 600 11px/1.6 var(--font-mono, ui-monospace, monospace); padding: 0 5px; border: 1px solid var(--border);
  border-bottom-width: 2px; border-radius: 4px; color: var(--ink-soft); background: var(--surface); }
.admin-keys { position: fixed; right: var(--s5); bottom: var(--s5); z-index: var(--z-popover); width: 300px; box-shadow: var(--shadow-pop); }
.admin-keys dl { margin: var(--s2) 0 0; display: grid; gap: var(--s1); }
.admin-keys dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: var(--s2); }
.admin-keys dd { margin: 0; }
@media (max-width: 720px) {
  .admin-today-item { grid-template-columns: 28px minmax(0, 1fr); }
  .admin-today-item .admin-move-acts { grid-column: 2; justify-content: flex-start; }
  .admin-team-rowhead { grid-template-columns: 40px minmax(0, 1fr) auto 16px; }
  .admin-team-chips { display: none; }
  .admin-team-rowbody { padding-left: var(--s4); }
  .admin-kbhint { display: none; }
}
@media (max-width: 720px) { .admin-desk-role { display: none; } }
.admin-ask > .row { width: 100%; max-width: 760px; }
.admin-ask > .row .ctl { min-width: 0; }



.admin-alerts-when { white-space: nowrap; }
@media (max-width: 720px) {
  .admin-stack-table thead { display: none; }
  .admin-stack-table, .admin-stack-table tbody { display: block; }
  .admin-stack-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2) var(--s3);
    padding: var(--s3) 0; border-bottom: 1px solid var(--border); }
  .admin-stack-table td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
  .admin-stack-table td.admin-stack-head { grid-column: 1 / -1; order: -1; }
  .admin-stack-table td[data-label]::before { content: attr(data-label); display: block; font-size: var(--fs-micro);
    font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 2px; }
  .admin-stack-table td.admin-stack-head::before { content: none; }
  .admin-alerts-when { white-space: normal; }
}

.admin-mcp code { font-size: var(--fs-caption); overflow-wrap: anywhere; }
.admin-mcp-made { margin: var(--s3) 0; padding: var(--s3); border-radius: var(--radius); background: var(--favourable-tint); }
.admin-mcp-cmd { margin: var(--s2) 0; padding: var(--s2) var(--s3); background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); font-size: var(--fs-caption); white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-mcp-new { gap: var(--s3); align-items: flex-end; flex-wrap: wrap; margin-top: var(--s3); }
.admin-mcp-new .field { margin: 0; min-width: 12rem; }
.admin-mcp-act { gap: var(--s2); align-items: center; padding-bottom: var(--s2); }

.admin-evals-list { list-style: none; margin: var(--s3) 0 0; padding: 0; display: grid; gap: var(--s3); }
.admin-evals-list > li { display: grid; grid-template-columns: minmax(12rem, 16rem) 1fr; gap: var(--s1) var(--s3); align-items: baseline; }
.admin-evals-suite { font-weight: 650; }
.admin-evals-fails { grid-column: 2; margin: var(--s1) 0 0; padding-left: var(--s4); }
.admin-evals-list > li > .caption { grid-column: 2; }
@media (max-width: 720px) { .admin-evals-list > li { grid-template-columns: 1fr; } .admin-evals-fails, .admin-evals-list > li > .caption { grid-column: 1; } }

.admin-kb-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--s3); align-items: start; }
@media (max-width: 960px) { .admin-kb-grid { grid-template-columns: 1fr; } }
.admin-kb-add-meta { gap: var(--s3); flex-wrap: wrap; }
.admin-kb-add-meta .field { margin: 0; }
.admin-kb-drop { display: block; margin: var(--s3) 0; padding: var(--s4); border: 2px dashed var(--border); border-radius: var(--radius);
  text-align: center; cursor: pointer; }
.admin-kb-drop.on, .admin-kb-drop:hover { border-color: var(--blue); background: var(--surface-2, var(--paper)); }
.admin-kb-drop input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-kb-drop:focus-within { outline: 2px solid var(--blue); outline-offset: 2px; }
.admin-kb-search { gap: var(--s3); align-items: center; margin: var(--s4) 0 var(--s2); flex-wrap: wrap; }
.admin-kb-search .ctl { flex: 1; min-width: 14rem; max-width: 32rem; }
.admin-kb-list { list-style: none; margin: 0; padding: 0; }
.admin-kb-list > li { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: baseline; padding: var(--s3) 0; border-bottom: 1px solid var(--border); }
.admin-kb-passage { flex-basis: 100%; max-width: 72ch; white-space: normal; }
.admin-kb-chips { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s2) 0; }
.admin-kb-chip { display: inline-flex; align-items: center; gap: var(--s1); padding: 2px 4px 2px 10px; border: 1px solid var(--border);
  border-radius: var(--radius-pill); font-size: var(--fs-label); }
.admin-kb-chip.small { padding: 0 8px; font-size: var(--fs-caption); }
.admin-kb-chip.spotted { border-style: dashed; }
.admin-kb-x { border: 0; background: none; cursor: pointer; font-size: 18px; line-height: 1; padding: 2px 6px; color: var(--ink-soft); min-width: 24px; min-height: 24px; }
.admin-kb-picker { position: relative; max-width: 26rem; }
.admin-kb-hits { list-style: none; margin: 4px 0 0; padding: var(--s1); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.admin-kb-hits li { padding: 4px 6px; }
.admin-kb-follows { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); }
.admin-kb-follow-acts { gap: var(--s2); align-items: flex-end; flex-wrap: wrap; margin-top: var(--s1); }
.admin-kb-follow-acts .field { margin: 0; }
.admin-kb-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--fs-body); line-height: 1.6; max-width: 80ch; }

.admin-today-draft { grid-column: 1 / -1; margin-top: var(--s1); }
.admin-today-draft .admin-draft { margin: 0; }

.admin-today-why { grid-column: 1 / -1; margin-top: var(--s1); padding: var(--s2) var(--s3); border-left: 3px solid var(--who, var(--border));
  background: var(--paper, transparent); border-radius: 0 var(--radius) var(--radius) 0; }
.admin-today-why p { margin: 0 0 var(--s1); }

.admin-budget-line { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; margin: var(--s2) 0; }
.admin-budget-bar { width: 12rem; }
.admin-budget-bar > span.warn { background: var(--amber-bright, #c98a00); }
.admin-budget-bar > span.over { background: var(--unfavourable, #b42318); }
.admin-budget-form { gap: var(--s3); align-items: flex-end; flex-wrap: wrap; }
.admin-budget-form .field { margin: 0; max-width: 12rem; }

.admin-cmd-open kbd { font: inherit; font-size: var(--fs-caption); border: 1px solid var(--border); border-radius: 4px; padding: 0 5px; margin-left: 4px; }
.admin-cmd-scrim { position: fixed; inset: 0; background: rgba(15, 20, 30, .35); z-index: 60; display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; }
.admin-cmd { width: min(40rem, 100%); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 18px 48px rgba(0,0,0,.18); padding: var(--s3); }
.admin-cmd-input { width: 100%; font-size: var(--fs-body-lg, 18px); }
.admin-cmd-said { min-height: 1.6em; margin: var(--s2) 2px 0; }
.admin-cmd-list, .admin-cmd-examples { list-style: none; margin: var(--s2) 0 0; padding: 0; max-height: 50vh; overflow: auto; }
.admin-cmd-list li { padding: var(--s2); border-radius: var(--radius); cursor: pointer; }
.admin-cmd-list li.on, .admin-cmd-list li:hover { background: var(--paper, rgba(0,0,0,.04)); }
.admin-cmd-examples { display: flex; flex-wrap: wrap; gap: var(--s2); }
.admin-cmd-examples button { font-size: var(--fs-caption); }
.admin-cmd-answer { margin-top: var(--s2); max-height: 50vh; overflow: auto; }

.admin-checkin { display: flex; flex-direction: column; gap: var(--s4); max-width: 760px; }
.admin-checkin-steps ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); }
.admin-checkin-step { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 4px 0; cursor: pointer;
  font: inherit; font-size: var(--fs-caption); color: var(--ink-soft); }
.admin-checkin-step:hover .admin-checkin-steplabel { text-decoration: underline; }
.admin-checkin-step.on { color: var(--ink); font-weight: 600; }
.admin-checkin-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--ink-soft); flex: none; }
.admin-checkin-step.past .admin-checkin-dot { background: var(--ink-soft); }
.admin-checkin-step.on .admin-checkin-dot { background: var(--blue); border-color: var(--blue); }
.admin-checkin-card { margin: 0; display: grid; gap: var(--s3); padding: var(--s5); }
.admin-checkin-card h3 { margin: 0; }
.admin-checkin-card h3:focus, .admin-checkin-card h3:focus-visible { outline: none; box-shadow: none; }
.admin-checkin-card .admin-label { margin: var(--s2) 0 0; }
.admin-checkin-card p.caption { margin: 0; }
.admin-checkin-cardhead { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s3); }
.admin-checkin-cardhead h3 { font-size: 20px; line-height: 1.25; }
.admin-checkin-of { white-space: nowrap; }
.admin-checkin-line { margin: 0; font-size: var(--fs-body-lg, 18px); line-height: 1.5; max-width: 60ch; }
.admin-checkin-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s2); }
.admin-checkin-list li { display: flex; gap: var(--s2); align-items: flex-start; }
.admin-checkin-focus textarea { width: 100%; resize: vertical; }
.admin-checkin-nav { display: flex; justify-content: space-between; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.admin-checkin-done { display: flex; gap: var(--s3); align-items: flex-start; }
.admin-checkin-done h2 { outline: none; }
.admin-today-focus { margin: var(--s1) 0 0; padding: var(--s2) var(--s3); border-left: 3px solid var(--blue); background: var(--surface);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0; display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: baseline; }
.admin-today-focus .admin-label { margin: 0; }
@media (max-width: 560px) { .admin-checkin-hint { display: none; } .admin-checkin-card { padding: var(--s4); } }


.admin-head { align-items: center; margin-bottom: var(--s2); }
.admin-head .display-title { font-size: 26px; line-height: 1.15; letter-spacing: -.01em; }
.admin-cmd-open { display: inline-flex; align-items: center; gap: var(--s2); width: min(360px, 100%); height: 36px;
  padding: 0 var(--s2) 0 var(--s3); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface);
  color: var(--ink-soft); font: inherit; font-size: var(--fs-label); cursor: text; box-shadow: 0 1px 2px rgba(16,24,40,.04);
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
.admin-cmd-open:hover { border-color: var(--ink-faint); box-shadow: 0 2px 6px rgba(16,24,40,.06); }
.admin-cmd-open:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
.admin-cmd-prompt { color: var(--blue); font-weight: 700; font-size: 18px; line-height: 1; margin-top: -2px; }
.admin-cmd-hint { flex: 1; min-width: 0; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 720px) { .admin-head > :first-child { flex: 1 1 100%; } .admin-cmd-open { width: 100%; } }

.admin-console .btn.small { height: 32px; }
.admin-console .field { margin-bottom: var(--s3); }
.admin-console .row > .field { margin-bottom: 0; }
.admin-console .field > span:first-child { display: block; font-size: var(--fs-caption); font-weight: 600; color: var(--ink-soft);
  margin-bottom: 4px; letter-spacing: .01em; }
.admin-console .field input:not([type=checkbox]):not([type=radio]), .admin-console .field select {
  height: 32px; padding: 0 var(--s3); font-size: var(--fs-label); border-radius: var(--radius-sm); }
.admin-console .field textarea { font-size: var(--fs-label); border-radius: var(--radius-sm); padding: var(--s2) var(--s3); }
@media (pointer: coarse) {
  .admin-console .field input:not([type=checkbox]):not([type=radio]), .admin-console .field select,
  .admin-console input.ctl, .admin-console select.ctl { height: 44px; }
}

.admin-team-state { min-width: 0; color: var(--ink-soft); font-size: var(--fs-label); line-height: 1.45; }
.admin-team-sep { color: var(--ink-faint); }
.admin-team-left.on { background: var(--blue-tint); color: var(--blue-deep); padding: 3px 10px; border-radius: 999px; font-weight: 600; }
.admin-team-clear { color: var(--favourable-ink); font-weight: 600; }
@media (max-width: 720px) { .admin-team-state { display: none; } }

.admin-today-item.is-leaving { pointer-events: none; animation: admin-leave 420ms ease-in forwards; }
.admin-today-item.is-done { background: var(--favourable-tint); }
.admin-today-tick { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--favourable-ink); color: #fff; font-weight: 700; font-size: 15px; animation: admin-pop 280ms cubic-bezier(.2, 1.5, .4, 1) both; }
@keyframes admin-leave { 0%, 50% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateX(18px); } }
@keyframes admin-pop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
.admin-today-clear { align-items: flex-start; }
.admin-today-clear-mark { animation: admin-pop 420ms cubic-bezier(.2, 1.5, .4, 1) both; }
.admin-today-clear-body { display: grid; gap: var(--s1); }
@media (prefers-reduced-motion: reduce) { .admin-today-item.is-leaving, .admin-today-tick, .admin-today-clear-mark { animation: none; } }

.admin-more-dots { display: none; }
@media (max-width: 720px) {
  .admin-more-word { display: none; }
  .admin-more-dots { display: inline; font-size: 18px; line-height: 1; letter-spacing: 1px; }
  .admin-more-dots ~ .admin-menu-caret { display: none; }
}

.admin-cmd .admin-cmd-input { width: 100%; max-width: none; height: 44px; padding: 0 var(--s3); font-size: 17px; }
.admin-cmd-examples button { font: inherit; font-size: var(--fs-caption); font-weight: 500; color: var(--ink-soft); background: var(--surface-sunk);
  border: 1px solid var(--border); border-radius: 999px; padding: 4px 10px; cursor: pointer; }
.admin-cmd-examples button:hover { color: var(--ink); border-color: var(--ink-faint); }
.admin-cmd-said { font-size: var(--fs-label); color: var(--ink-soft); }

@media (max-width: 720px) { .admin-today-item .admin-move-acts { grid-column: 1 / -1; } }

.admin-zero { color: var(--ink-faint); }
.admin-perf-start { display: flex; gap: var(--s3); align-items: flex-start; padding: var(--s4) var(--s5); margin: 0;
  background: linear-gradient(135deg, var(--blue-tint), var(--surface) 70%); border-color: var(--blue-tint-2); }
.admin-perf-start p { margin: var(--s1) 0 0; max-width: 72ch; }
.admin-perf-start-mark { width: 36px; height: 36px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center;
  background: var(--blue); color: #fff; font-size: 16px; }
.admin-perf-defs summary { font-size: var(--fs-label); }
.admin-perf-safe-h { margin: var(--s3) 0 0; }
.admin-perf-safe { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: var(--s4); align-items: start; }
.admin-perf-safe > .card { margin: 0; height: 100%; box-sizing: border-box; }
.admin-budget-line { justify-content: space-between; margin: var(--s2) 0 var(--s1); }
.admin-budget-n { font-size: var(--fs-body); font-variant-numeric: tabular-nums; }
.admin-budget-meter { height: 8px; border-radius: 4px; background: var(--surface-sunk); overflow: hidden; margin-bottom: var(--s2); }
.admin-budget-meter > span { display: block; height: 100%; border-radius: 4px; background: var(--blue); transition: width var(--dur-base, .2s) ease; }
.admin-budget-meter > span.warn { background: var(--amber-bright, #c98a00); }
.admin-budget-meter > span.over { background: var(--unfavourable, #b42318); }
@media (max-width: 720px) { .admin-perf-safe { grid-template-columns: minmax(0, 1fr); } }

.admin-kb { max-width: 1120px; }
.admin-ask .ctl { max-width: none; }
.admin-kb-ask-note { margin: var(--s2) 0 0; }
.admin-kb-empty { display: flex; gap: var(--s4); align-items: center; margin-top: var(--s4); padding: var(--s5); border: 1px dashed var(--border);
  border-radius: var(--radius); background: var(--surface); }
.admin-kb-empty p { margin: var(--s1) 0 0; max-width: 64ch; }
.admin-kb-empty-art { position: relative; width: 56px; height: 64px; flex: none; }
.admin-kb-empty-art span { position: absolute; width: 40px; height: 52px; border-radius: 6px; border: 1px solid var(--border); background: var(--surface);
  box-shadow: 0 1px 3px rgba(16,24,40,.08); }
.admin-kb-empty-art span:nth-child(1) { left: 0; top: 8px; transform: rotate(-8deg); background: var(--surface-sunk); }
.admin-kb-empty-art span:nth-child(2) { left: 10px; top: 4px; transform: rotate(4deg); }
.admin-kb-empty-art span:nth-child(3) { left: 16px; top: 0; background: linear-gradient(var(--surface) 0 30%, var(--blue-tint) 30% 34%, var(--surface) 34% 48%,
  var(--blue-tint) 48% 52%, var(--surface) 52% 66%, var(--blue-tint) 66% 70%, var(--surface) 70%); }
@media (max-width: 720px) { .admin-kb-grid { grid-template-columns: minmax(0, 1fr); } .admin-kb-empty { flex-direction: column; align-items: flex-start; } }

.admin-desk-clear { display: flex; align-items: center; gap: var(--s2); }
.admin-desk-clear-mark { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none;
  background: var(--favourable-tint); color: var(--favourable-ink); font-weight: 700; font-size: 13px; }



.admin-desk-tab .admin-desk-role { display: none; }
.admin-desk-tab.on .admin-desk-role { display: inline; }
@media (max-width: 720px) { .admin-desk-tab.on .admin-desk-role { display: none; } }




.sandbox-strip { display: flex; align-items: center; gap: var(--s2) var(--s3); flex-wrap: wrap;
  padding: var(--s2) max(var(--s5), calc((100vw - 1720px) / 2 + var(--s5)));
  background: #141C2E; color: #fff; font-size: var(--fs-label); line-height: 1.45; }
.sandbox-strip > span:not(.sandbox-dot) { flex: 1 1 240px; min-width: 0; }
.sandbox-strip b { font-weight: 700; }
.sandbox-strip a { color: #fff; text-decoration: underline; text-underline-offset: 3px; margin-left: auto; font-weight: 600; }
.sandbox-dot { width: 8px; height: 8px; border-radius: 50%; background: #F08C6E; flex: none;
  align-self: flex-start; margin-top: 6px; box-shadow: 0 0 0 3px rgba(240,140,110,.22); }
.auth-sandbox { margin: var(--s3) 0 0; padding: var(--s2) var(--s3); border-radius: var(--radius-sm);
  background: #FFF3EE; color: var(--ink); font-size: var(--fs-label); line-height: 1.5; }
.auth-sandbox a { color: var(--blue); }
