/* ==========================================================================================
   401kaider v0.50.8 — Modernist design system (Claude Design "401kaider Prototype" / Modernist).
   Section 1 is the vendored Modernist token sheet and component layer, unchanged except: the Google Fonts
   import is removed (the product serves fonts itself; see @font-face below) and the header-bar class is
   renamed .ds-nav because the app already uses .nav for its section bar.
   Section 2 maps the product's existing tokens onto Modernist so every screen shares one system.
   Section 3+ are the product layers (shell, Review, …), built from the prototype's markup.
   ========================================================================================== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-display:swap;src:local("Archivo"),local("Archivo Variable"),url("/fonts/archivo/Archivo-Variable.woff2") format("woff2")}
/* ---------- 1 · Modernist (vendored) ---------- */
/* Modernist — design-system tokens and component classes. This file is the source of truth for the system's look; retune it here and see readme.md. */

:root {
  --color-bg: #f3f2f2;
  --color-surface: #eae9e9;
  --color-text: #201e1d;
  --color-accent: #ec3013;
  --color-accent-2: #e15b47;
  --color-divider: color-mix(in srgb, #201e1d 40%, transparent);

  /* Tonal ramps — generated in OKLCH on one shared lightness scale, so the
     same step of any role matches the others in visual value. */
  --color-neutral-100: #f8f4f4;
  --color-neutral-200: #eae7e7;
  --color-neutral-300: #d7d3d3;
  --color-neutral-400: #bab6b6;
  --color-neutral-500: #9b9797;
  --color-neutral-600: #7d7979;
  --color-neutral-700: #605d5d;
  --color-neutral-800: #444141;
  --color-neutral-900: #2d2b2b;

  --color-accent-100: #fff2ef;
  --color-accent-200: #ffe0d9;
  --color-accent-300: #ffc4b8;
  --color-accent-400: #ff9783;
  --color-accent-500: #ff563c;
  --color-accent-600: #dd2b0f;
  --color-accent-700: #ae1800;
  --color-accent-800: #7c1405;
  --color-accent-900: #4d170e;

  --color-accent-2-100: #fff2ef;
  --color-accent-2-200: #ffe0da;
  --color-accent-2-300: #ffc4b9;
  --color-accent-2-400: #ff9784;
  --color-accent-2-500: #ef6853;
  --color-accent-2-600: #c94b39;
  --color-accent-2-700: #9e3526;
  --color-accent-2-800: #71261b;
  --color-accent-2-900: #471d16;

  --font-heading: "Archivo", system-ui, sans-serif;
  --font-heading-weight: 800;
  --font-body: "Archivo", system-ui, sans-serif;

  --space-1: 4.0px;
  --space-2: 8.0px;
  --space-3: 12.0px;
  --space-4: 16.0px;
  --space-6: 24.0px;
  --space-8: 32.0px;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;

  /* Elevation — derived from the ground: soft ink-tinted shadows on a
     light theme, a hairline edge + ambient darkness on a dark one. */
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }

.grayscale{filter:grayscale(1) contrast(1.08)}

/* ══════════════════════════════════════════════════════════════════════════
   Components — built with the tokens above. Plain CSS
   on plain HTML: no JavaScript, no build step. Each class is documented in
   readme.md and demonstrated in foundations/ and components/.
   ══════════════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
figcaption {
  font-size: 11px; margin-top: var(--space-1);
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

/* — rules — */
.hr {
  height: 2px; border: 0; margin: var(--space-4) 0;
  background: var(--color-divider);
}

/* — buttons — */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text); /* matches the .input's 14px —
     the pair sits side by side in sign-up rows */
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0; }
.btn-block { width: 100%; margin-top: var(--space-2); justify-content: flex-start; text-align: left; }

/* — forms — */
.field > label {
  display: block; font-size: 12px; margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
.input {
  width: 100%; min-height: 36px; padding: 6px 10px; font: inherit;
  font-size: 14px; color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input {
  position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}
.radio .dot {
  width: 16px; height: 16px; flex: none; border-radius: 50%;
  border: 1.5px solid var(--color-divider);
}
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot {
  border-color: var(--color-accent); background: var(--color-accent);
  box-shadow: inset 0 0 0 4px var(--color-bg);
}
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg {
  display: inline-flex; overflow: hidden;
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.seg-opt {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 13px; cursor: pointer;
}
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }

/* — cards — */
.card {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface);
}
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 17px; line-height: 1.2;
}
.card-body { margin: 0; font-size: 13px; opacity: 0.8; flex: 1; }
.card-meta {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent);
}
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }

/* — tags — */
.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }

/* — navigation — */
.ds-nav {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--color-divider);
}
.ds-nav-brand {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 18px; margin-right: auto;
}
.ds-nav a { color: inherit; text-decoration: none; font-size: 14px; }
.ds-nav a:hover, .ds-nav a[aria-current='page'] { color: var(--color-accent); }

/* — tables — */
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
  text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: var(--space-2); border-bottom: 2px solid var(--color-divider);
}
.table td {
  padding: var(--space-2);
  border-bottom: 1px solid var(--color-divider);
}
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }

/* — dialog — */
.dialog-backdrop {
  position: fixed; inset: 0; display: grid; place-items: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
}
.dialog {
  width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--color-surface); box-shadow: var(--shadow-lg);
}
.dialog-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 20px;
}
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }



/* ---------- 2 · One system: the product's existing tokens resolve to Modernist ---------- */
:root{
  --font-heading:"Archivo","Archivo Variable","Helvetica Neue",Arial,system-ui,sans-serif;
  --font-body:"Archivo","Archivo Variable","Helvetica Neue",Arial,system-ui,sans-serif;
  --display:var(--font-heading); --ui:var(--font-body); --serif:var(--font-heading);
  --canvas:var(--color-bg); --surface:var(--color-bg); --surface-2:var(--color-surface); --surface-3:var(--color-neutral-200);
  --ink:var(--color-text); --ink-2:var(--color-neutral-800); --ink-3:var(--color-neutral-700);
  --line:var(--color-divider); --line-2:var(--color-neutral-400);
  --accent:var(--color-accent-700); --accent-hover:var(--color-accent-800); --accent-soft:var(--color-accent-100); --accent-ink:#fff;
  --navy:var(--color-text); --brass:var(--color-accent-700); --brass-soft:var(--color-accent-100);
  --ok:#2f7d4f; --bad:var(--color-accent-700); --warn:#8a5a00;
  --mx-rule:2px solid var(--color-text); --mx-hair:1px solid var(--color-divider);
  --mx-max:1240px; --mx-pad:clamp(16px,4vw,40px);
}
:root[data-theme="dark"]{
  --color-bg:#151413;--color-surface:#1f1d1c;--color-text:#efedec;--color-accent:#ff563c;--color-accent-2:#ff563c;
  --color-divider:color-mix(in srgb,#efedec 30%,transparent);
  --color-neutral-100:#1c1a19;--color-neutral-200:#272524;--color-neutral-300:#363433;--color-neutral-400:#4e4b4a;--color-neutral-500:#6c6968;--color-neutral-600:#8f8b8a;--color-neutral-700:#b4b0af;--color-neutral-800:#d4d0cf;--color-neutral-900:#eeeaea;
  --color-accent-100:#2b1510;--color-accent-200:#3e1b13;--color-accent-300:#5e2317;--color-accent-400:#8c2d1a;--color-accent-500:#ff563c;--color-accent-600:#ff765f;--color-accent-700:#ff9783;--color-accent-800:#ffc4b8;--color-accent-900:#ffe0d9;
  --shadow-sm:0 0 0 1px rgba(255,255,255,.05);--shadow-md:0 0 0 1px rgba(255,255,255,.06),0 6px 18px rgba(0,0,0,.45);--shadow-lg:0 0 0 1px rgba(255,255,255,.07),0 18px 48px rgba(0,0,0,.6);color-scheme:dark;--accent-ink:#151413;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --color-bg:#151413;--color-surface:#1f1d1c;--color-text:#efedec;--color-accent:#ff563c;--color-accent-2:#ff563c;
  --color-divider:color-mix(in srgb,#efedec 30%,transparent);
  --color-neutral-100:#1c1a19;--color-neutral-200:#272524;--color-neutral-300:#363433;--color-neutral-400:#4e4b4a;--color-neutral-500:#6c6968;--color-neutral-600:#8f8b8a;--color-neutral-700:#b4b0af;--color-neutral-800:#d4d0cf;--color-neutral-900:#eeeaea;
  --color-accent-100:#2b1510;--color-accent-200:#3e1b13;--color-accent-300:#5e2317;--color-accent-400:#8c2d1a;--color-accent-500:#ff563c;--color-accent-600:#ff765f;--color-accent-700:#ff9783;--color-accent-800:#ffc4b8;--color-accent-900:#ffe0d9;color-scheme:dark;--accent-ink:#151413}}
/* Modernist rule: no rounded corner anywhere */
*,*::before,*::after{border-radius:0!important}
html,body{background:var(--color-bg);color:var(--color-text)}
body{font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.phead h1,.fp-head h1,.mf-lede,.lt-hl,.lt-lede{font-family:var(--font-heading)!important;font-weight:800!important;letter-spacing:-.02em}
a{color:var(--color-accent-700);text-underline-offset:3px}a:hover{color:var(--color-accent)}
:focus-visible{outline:2px solid var(--color-accent)!important;outline-offset:2px}
.eyebrow,.mx-kicker,.mx-kind{font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--color-neutral-700)!important}
/* the product's existing buttons take the Modernist button */
.btn{font-family:var(--font-body);font-weight:800;justify-content:flex-start;text-align:left;box-shadow:none!important}
.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.btn-primary:hover{background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff}
.btn:not(.btn-primary):not(.btn-ghost){background:transparent;border:1px solid var(--color-text);color:var(--color-text)}
.btn:not(.btn-primary):not(.btn-ghost):hover{background:var(--color-surface)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text)}
.btn svg{width:16px;height:16px}
.badge,.chip,.pill,.tag{font-family:var(--font-body)}
.chip,.pill:not(.lt-fp){background:transparent;border:1px solid var(--color-divider);color:var(--color-text);font-weight:600;font-size:12.5px}
.panel,.card,.rv-metric,.cmp-card,.rx-menu-card{box-shadow:none!important}
.tbl th,.table th{font:600 11px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);background:transparent!important;border-bottom:2px solid var(--color-text)}
.tbl td,.table td{border-bottom:1px solid var(--color-divider);font-variant-numeric:tabular-nums}
input,select,textarea{font-family:var(--font-body)}
.input,input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="number"],select,textarea{border:1px solid var(--color-neutral-500);background:var(--color-surface);color:var(--color-text)}

/* ---------- 3 · Shell (prototype: sample strip, header bar, section bar, tab bar) ---------- */
.banner.notice-line{background:var(--color-surface);border:0;border-bottom:1px solid var(--color-divider);padding:5px var(--mx-pad);min-height:28px;font-size:12px;color:var(--color-neutral-800)}
.notice-line .beta-pill{background:transparent;color:var(--color-text);font:600 10.5px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;padding:0;display:inline-flex;align-items:center;gap:8px}
.notice-line .beta-pill::before{content:"";width:6px;height:6px;background:var(--color-accent);display:inline-block}
.app-top .tb{background:var(--color-bg)!important;border-bottom:1px solid var(--color-divider)!important;min-height:64px;padding:0 var(--mx-pad);gap:24px;box-shadow:none}
.brand-word{font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em;color:var(--color-text)}
.brand-word span{font-weight:500}
.app-top .primary{gap:0}
.app-top .primary a{font:500 14.5px/1 var(--font-body);color:var(--color-neutral-800);padding:23px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}
.app-top .primary a svg{display:none}
.app-top .primary a:hover{color:var(--color-text)}
.app-top .primary a[aria-current="page"]{color:var(--color-text);font-weight:600;border-bottom-color:var(--color-accent)}
.app-top .primary a[aria-current="page"]::after{display:none}
.plan-status{border-left:1px solid var(--color-divider);padding-left:16px;text-align:left}
.plan-status small{font:600 12.5px/1.2 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--color-text)!important}
.plan-status span{font-size:11.5px;color:var(--color-neutral-700);font-weight:400}
.plan-status .dot{width:6px;height:6px}
.iconbtn,.tb .iconbtn{width:38px;height:38px;border:1px solid var(--color-divider);background:transparent;color:var(--color-text)}
.acct-btn .avatar,.avatar{background:var(--color-text)!important;color:var(--color-bg)!important;font:800 12px/1 var(--font-body)}
.app-top .subbar{background:var(--color-bg)!important;border-bottom:1px solid var(--color-divider)!important}
.app-top .subbar .pf-switch{font:600 11px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);border-right:1px solid var(--color-divider);padding-right:16px}
.app-top .subbar .pf-switch svg{display:none}
.app-top .nav.subnav a{font:500 14px/1 var(--font-body);color:var(--color-neutral-700);padding:12px 10px;border-radius:0;background:transparent!important;box-shadow:none!important;border-bottom:2px solid transparent}
.app-top .nav.subnav a svg{display:none}
.app-top .nav.subnav a[aria-current="page"]{color:var(--color-text);border-bottom-color:var(--color-accent)}
.tabbar{background:var(--color-bg);border-top:2px solid var(--color-text)}
.tabbar a{color:var(--color-neutral-700);font-weight:600}
.tabbar a[aria-current="page"]{color:var(--color-text);box-shadow:inset 0 2px 0 var(--color-accent)}
.app-foot{border-top:1px solid var(--color-divider);color:var(--color-neutral-700);background:transparent;font-size:12px}
.fabs .fab{border:1px solid var(--color-text)!important;background:var(--color-bg)!important;color:var(--color-text)!important}
.fabs .aider-fab{background:var(--color-text)!important;color:var(--color-bg)!important}

/* ---------- 4 · Review (prototype: Review.dc.html) ---------- */
.mx-page{max-width:var(--mx-max);margin:0 auto;color:var(--color-text)}
.mx-review{padding:clamp(20px,4vw,48px) 0 72px}
.mx-kickrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:clamp(16px,2.4vw,28px)}
.mx-kickrow .mx-pdf{margin-left:auto}
.mx-review .rv-meta{margin:0}
.mx-h1,.mx-review .rv-hero h1{margin:0!important;max-width:21ch;font:800 clamp(32px,4.6vw,60px)/1.04 var(--font-heading)!important;letter-spacing:-.03em!important;text-wrap:balance;color:var(--color-text)}
.mx-review .rv-hero h1 .tr{font:inherit!important;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;border-bottom:.06em solid var(--color-neutral-400);font-variant-numeric:tabular-nums;text-decoration:none}
.mx-review .rv-hero h1 .tr:hover{border-bottom-color:var(--color-accent)}
.mx-verdict{color:var(--color-text)}.mx-verdict.is-attn{color:var(--color-accent)}
:root[data-theme="dark"] .mx-verdict.is-attn{color:var(--color-accent)}
.mx-dek,.mx-review .rv-dek{margin:clamp(16px,2vw,24px) 0 0!important;max-width:62ch;font:400 clamp(15px,1.4vw,18px)/1.55 var(--font-body)!important;color:var(--color-neutral-800)!important;text-wrap:pretty}
.mx-review .rv-hero{max-width:none;padding-bottom:clamp(28px,4vw,44px);margin:0}
.mx-figs.rv-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--color-text)!important;border-bottom:0!important;margin:0;max-width:none}
.mx-fig.rv-metric{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 20px 20px!important;border:0!important;border-bottom:1px solid var(--color-divider)!important;background:transparent!important}
.mx-fig.rv-metric:first-child{padding-left:0!important}
.mx-fig.rv-metric+.mx-fig.rv-metric{border-left:1px solid var(--color-divider)!important}
.mx-fig .fig{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font:600 clamp(28px,2.9vw,38px)/1 var(--font-body)!important;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:normal}
.mx-fig .fig small{font:400 14px/1.2 var(--font-body);color:var(--color-neutral-700);letter-spacing:0}
.mx-fig .note{font-size:13px;line-height:1.45;color:var(--color-neutral-800)}
.mx-src{display:flex;align-items:center;gap:7px;margin-top:auto;font-size:11.5px;color:var(--color-neutral-700)}
.mx-mark{flex:none;width:9px;height:9px;border:1.5px solid var(--color-text);background:linear-gradient(135deg,var(--color-text) 50%,transparent 50%)}
.mx-mark-plan,.mx-mark-sec{background:var(--color-text)}
.mx-mark-entry{background:transparent}
.mx-bar{display:flex;gap:2px;height:8px}
.mx-bar>span{flex:none;height:100%}
.b-ink{background:var(--color-text)}.b-mid{background:var(--color-neutral-500)}.b-light{background:var(--color-neutral-300)}.b-accent{background:var(--color-accent)}
.b-hatch{background:repeating-linear-gradient(135deg,var(--color-neutral-400) 0 2px,transparent 2px 5px);outline:1px solid var(--color-neutral-400);outline-offset:-1px}
/* what matters */
.mx-matters{margin-top:clamp(40px,6vw,72px)!important;max-width:none!important;background:transparent!important;border:0!important;padding:0!important;text-align:left}
.mx-sechead{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:2px solid var(--color-text)}
.mx-sechead h2,.mx-matters h2{margin:0!important;font:800 clamp(22px,2.2vw,28px)/1.15 var(--font-heading)!important;letter-spacing:-.015em}
.mx-sechead .count{font:400 13px/1.3 var(--font-body)!important;color:var(--color-neutral-700)!important;letter-spacing:0!important;text-transform:none!important;background:none!important;padding:0!important}
.mx-matters .rv-list{list-style:none;margin:0;padding:0}
.mx-matters .rv-item{display:grid!important;grid-template-columns:44px minmax(0,1fr) minmax(120px,200px)!important;gap:10px clamp(20px,3vw,40px)!important;padding:22px 0!important;border:0!important;border-bottom:1px solid var(--color-divider)!important;background:transparent!important;color:var(--color-text)!important}
.mx-matters .rv-item::before{display:none!important}
.mx-matters .rv-item .ico{display:none}
.mx-n{font:800 13px/1.6 var(--font-body);color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.mx-lead .mx-n{font-size:15px;color:var(--color-accent-700)}
.mx-matters .rv-item.mx-lead{padding:clamp(24px,3.4vw,40px) 0!important;border-bottom:2px solid var(--color-text)!important}
.mx-kind{margin-bottom:6px}
.mx-matters .rv-t{margin:0;max-width:46ch;font:800 19px/1.22 var(--font-heading)!important;letter-spacing:-.01em;text-wrap:balance;color:var(--color-text)!important}
.mx-lead .rv-t{max-width:24ch;font-size:clamp(24px,2.8vw,36px)!important;line-height:1.1!important;letter-spacing:-.02em}
.mx-matters .rv-why{margin:8px 0 0;max-width:70ch;font-size:14px;line-height:1.55;color:var(--color-neutral-800)!important;opacity:1!important}
.mx-lead .rv-why{margin-top:14px;max-width:64ch;font-size:16px}
.mx-ibar{margin-top:24px}.mx-ibar .mx-bar{height:12px}
.mx-leg{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:12.5px;color:var(--color-neutral-800);font-variant-numeric:tabular-nums}
.mx-leg span{display:inline-flex;align-items:center;gap:6px}.mx-leg i{width:8px;height:8px;display:inline-block}
.mx-matters .rv-ev{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:14px}
.mx-lead .rv-ev{margin-top:24px}
.mx-matters .rv-ev a{text-decoration:none!important;min-height:40px}
.mx-matters .rv-ev .btn-ghost{padding-left:0}
.mx-matters .rv-ev .mx-how{min-height:40px}
.mx-row .rv-ev .mx-how{background:transparent;border-color:transparent}
.mx-note{font-size:12.5px;color:var(--color-neutral-700)}
.mx-matters .rv-prov{border:0;padding:0;margin:10px 0 0;font-size:12px;color:var(--color-neutral-700)}
.mx-matters .rv-prov b{display:inline;font-weight:600;color:var(--color-text)}
.mx-measure{display:flex;flex-direction:column;gap:4px;min-width:0}
.mx-measure b{font:600 28px/1 var(--font-body);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.mx-lead .mx-measure b{font-size:clamp(44px,5.4vw,72px);line-height:.92;letter-spacing:-.04em}
.mx-measure span{font-size:12.5px;color:var(--color-neutral-700);max-width:18ch}
.mx-notes{border-bottom:1px solid var(--color-divider)}
.mx-notes summary{display:flex;align-items:center;gap:12px;padding:16px 0;cursor:pointer;list-style:none}
.mx-notes summary::-webkit-details-marker{display:none}
.mx-notes summary span{font-size:13px;color:var(--color-neutral-700)}
.mx-notes summary svg{margin-left:auto;transition:transform .2s}.mx-notes[open] summary svg{transform:rotate(180deg)}
.mx-noterow{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px clamp(20px,3vw,40px);padding:14px 0;border-top:1px solid var(--color-divider)}
.mx-noterow b{font-weight:600;font-size:14.5px}.mx-noterow p{margin:3px 0 0;font-size:13px;color:var(--color-neutral-700)}
.mx-dash{width:8px;height:2px;background:var(--color-neutral-600);margin-top:10px}
.mx-matters .rv-limit,.mx-review .rv-limit{margin:24px 0 0!important;padding:16px 0 0!important;border:0!important;border-top:1px solid var(--color-divider)!important;background:transparent!important;color:var(--color-neutral-800)!important;font-size:14.5px;max-width:80ch;text-align:left}
.mx-matters .rv-foot{padding:14px 0 0;font-size:13px;color:var(--color-neutral-700)}
.mx-review .rv-src{margin-top:28px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.mx-review .rv-src .chip{border:1px solid var(--color-divider);padding:4px 8px}
.mx-body{font-size:15.5px;line-height:1.55;color:var(--color-neutral-800);max-width:70ch;margin:16px 0 0}
.mx-matters.rv-none h2{font-size:clamp(24px,2.8vw,36px)!important}
.mx-basis.rv-quote{margin:56px 0 0;padding-top:16px;border-top:1px solid var(--color-divider);font-size:12.5px;color:var(--color-neutral-700);text-align:left;max-width:none}
.mx-matters .loading{padding:20px 0;color:var(--color-neutral-700);display:flex;align-items:center;gap:12px}
.mx-slide{position:relative;overflow:hidden;width:120px;height:2px;background:var(--color-neutral-300)}
.mx-slide::after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--color-accent);animation:mxSlide 1.3s cubic-bezier(.5,0,.3,1) infinite}
@keyframes mxSlide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@media (prefers-reduced-motion:reduce){.mx-slide::after{animation:none}}
@media (max-width:920px){
  .mx-figs.rv-metrics{grid-template-columns:1fr 1fr}
  .mx-fig.rv-metric:nth-child(3){border-left:0!important;padding-left:0!important}
  .mx-fig.rv-metric{padding:16px 14px 18px!important}
  .mx-fig.rv-metric:nth-child(odd){padding-left:0!important}
  .mx-fig .fig{font-size:26px!important}
  .mx-matters .rv-item,.mx-matters .rv-item.mx-lead{grid-template-columns:28px minmax(0,1fr)!important}
  .mx-measure{grid-column:2}
  .mx-lead .mx-measure b{font-size:40px}
  .mx-kickrow .mx-pdf{margin-left:0}
}
@media print{.tb,.subbar,.tabbar,.fabs,.notice-line,.mx-pdf{display:none!important}}
/* Review fixes after first render: beat the older Review layers explicitly */
.mx-matters .rv-item .rv-ev{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important}
.mx-matters .rv-item .rv-ev a.btn{display:inline-flex!important;align-items:center;gap:8px;padding:10px 14px!important;font:800 14px/1.2 var(--font-body)!important;text-decoration:none!important;border:1px solid transparent!important}
.mx-matters .rv-item .rv-ev a.btn-primary{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:#fff!important}
.mx-matters .rv-item .rv-ev a.btn-primary:hover{background:var(--color-accent-600)!important}
.mx-matters .rv-item .rv-ev a.btn-ghost{background:transparent!important;color:var(--color-text)!important;padding-left:0!important}
.mx-matters .rv-item .rv-ev a.btn-ghost:hover{color:var(--color-accent-700)!important}
.mx-how.prov-i{width:auto!important;height:auto!important;min-height:40px;display:inline-flex!important;align-items:center;padding:9px 14px!important;font:800 14px/1.2 var(--font-body)!important;color:var(--color-text)!important;background:transparent!important;border:1px solid var(--color-text)!important}
.mx-row .mx-how.prov-i{border-color:transparent!important}
.mx-how.prov-i:hover{background:var(--color-surface)!important}
.mx-review [tabindex="-1"]:focus,.mx-page [tabindex="-1"]:focus{outline:none!important}
.mx-fig.rv-metric{display:flex!important;flex-direction:column!important}
.mx-fig .fig,.mx-fig .note{text-align:left!important;grid-column:auto!important}
.mx-fig .mx-bar{width:100%}
.banner.demo,.demo-banner,.sample-banner{background:var(--color-surface)!important;color:var(--color-neutral-800)!important;border:0!important;border-bottom:1px solid var(--color-divider)!important;font-size:12px}
.banner.demo::before{content:"Sample plan";font:600 10.5px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);margin-right:10px;padding-left:14px;background:linear-gradient(var(--color-accent),var(--color-accent)) left center/6px 6px no-repeat}

/* ---------- 5 · My funds (prototype: MyFunds.dc.html) ---------- */
.mx-funds{padding:clamp(20px,4vw,48px) 0 72px}
.mf-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:end;padding-bottom:clamp(24px,3.4vw,40px)}
.mf-head .mx-kicker{margin-bottom:clamp(14px,2vw,22px)}
.mf-insight{margin:clamp(14px,2vw,20px) 0 0;max-width:54ch;font:400 clamp(16px,1.6vw,20px)/1.45 var(--font-body);color:var(--color-neutral-800)}
.mf-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mx-funds .mf-table{border:0!important;background:transparent!important;padding:0!important;margin:0!important}
.mf-tools{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:0 0 12px}
.mf-tools .input{max-width:320px;min-height:38px;padding:8px 10px}
.mx-table{width:100%;border-collapse:collapse;border-top:2px solid var(--color-text)}
.mx-table th{padding:12px 8px 10px;vertical-align:bottom;white-space:normal;max-width:12ch}
.mx-table th:first-child,.mx-table td:first-child{padding-left:0}
.mx-table td{padding:14px 8px;vertical-align:top;font-size:14px}
.mx-table td.r{text-align:right;font-weight:600}
.mx-table tbody tr:hover td{background:var(--color-surface)}
.mx-table tfoot td{border-top:2px solid var(--color-text);border-bottom:0;font-weight:800;padding-top:14px}
.mf-fund{display:flex;gap:12px;align-items:flex-start;min-width:0}
.mx-tile{flex:none;width:28px;height:28px;display:grid;place-items:center;background:var(--color-text);color:var(--color-bg);font:800 10px/1 var(--font-body);letter-spacing:.02em}
.mf-fund .fname{font-weight:600;font-size:14.5px;line-height:1.25;color:var(--color-text);text-decoration:none}
.mf-fund .fname:hover{color:var(--color-accent-700)}
.mf-fund .fsub{font-size:12.5px;color:var(--color-neutral-700);margin-top:3px}
.mx-tag-off{display:inline-block;margin-top:6px;padding:2px 6px;border:1px solid var(--color-accent-700);color:var(--color-accent-700);font-size:11.5px;font-weight:600}
.mf-pct{font-size:13.5px}
.mf-meter{display:block;margin-top:6px;height:6px;background:var(--color-neutral-200);min-width:56px}
.mf-meter>span{display:block;height:100%;background:var(--color-neutral-600)}
.mf-meter.is-heavy>span{background:var(--color-text)}
.mf-src{margin-top:4px}
.mf-src .st{font-size:11px;padding:0;background:transparent!important;border:0!important;color:var(--color-neutral-700)!important;font-weight:600}
.mf-contents{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--color-neutral-800)}
.mf-contents i{flex:none;width:9px;height:9px;display:inline-block}
.mx-costs{margin-top:clamp(40px,6vw,64px)!important;border:0!important;background:transparent!important;padding:0!important;color:var(--color-text)!important}
.mx-costs .mx-sechead h2{font:800 clamp(20px,2vw,26px)/1.2 var(--font-heading)!important;color:var(--color-text)!important}
.mx-costs u{text-decoration:none;border-bottom:.08em solid var(--color-neutral-400)}
.mx-two{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--color-divider)}
.mx-two>div{padding:18px 20px 20px 0}
.mx-two>div+div{border-left:1px solid var(--color-divider);padding-left:20px}
.mx-num{display:block;margin:10px 0 8px;font:600 clamp(26px,2.6vw,34px)/1 var(--font-body);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.mx-num small{font-size:14px;font-weight:400;color:var(--color-neutral-700);letter-spacing:0}
.mx-two p{margin:0;font-size:13.5px;line-height:1.5;color:var(--color-neutral-800);max-width:46ch}
.mx-costs .kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--color-divider);font-size:13.5px;color:var(--color-neutral-800)}
.mx-costs .kv b{color:var(--color-text);font-weight:600;text-align:right}
.mx-foot{margin-top:28px;font-size:12.5px;color:var(--color-neutral-700);max-width:80ch}
.mx-empty{display:flex;gap:16px;align-items:center;padding:20px 0}
.mx-funds .mf-enter{margin-top:24px;border:0;border-top:2px solid var(--color-text);background:transparent;padding:20px 0}
@media (max-width:920px){
  .mf-head{grid-template-columns:1fr}.mf-actions{justify-content:flex-start}
  .mx-table thead{display:none}
  .mx-table,.mx-table tbody,.mx-table tr,.mx-table td{display:block;width:100%}
  .mx-table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--color-divider)}
  .mx-table td{border:0!important;padding:2px 0!important}
  .mx-table td[data-th="Fund"]{grid-column:1/-1;padding-bottom:8px!important}
  .mx-table td[data-th]:not([data-th="Fund"])::before{content:attr(data-th);display:block;font:600 10.5px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
  .mx-table td.r{text-align:left}
  .mx-table tfoot tr{border-top:2px solid var(--color-text)}
  .mx-two{grid-template-columns:1fr}.mx-two>div+div{border-left:0;padding-left:0;border-top:1px solid var(--color-divider)}
}
/* My funds fixes after first render */
.mx-funds .tbl-wrap{border:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto}
.mx-table,.mx-table th,.mx-table td{border-left:0!important;border-right:0!important;background-color:transparent}
.mx-table thead th{background:transparent!important;border-top:0!important}
.mx-table tfoot td{background:transparent!important}
.tr{color:inherit!important;text-decoration:none!important;border-bottom:1px solid var(--color-neutral-400)!important;background:none!important}
.tr:hover{border-bottom-color:var(--color-accent)!important}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}}
:root[data-theme] .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
:root[data-theme] .btn-primary:hover,.btn-primary:hover{background:var(--color-accent-600);border-color:var(--color-accent-600)}
:root[data-theme="dark"] .btn-primary,:root[data-theme="dark"] .pills .pill[aria-pressed="true"]{color:#151413}
.app-top .content{padding-bottom:96px}

/* ---------- 6 · Section tabs (prototype: RESEARCH / LOOK-THROUGH sub-bars) ---------- */
.mx-subtabs{display:flex;gap:0;align-items:stretch;overflow-x:auto}
.app-top .subbar .mx-subtabs a,.mx-subtabs a{font:500 14px/1 var(--font-body);color:var(--color-neutral-700);padding:13px 12px 11px;border:0;border-bottom:2px solid transparent;background:transparent!important;text-decoration:none;white-space:nowrap;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.mx-subtabs a[aria-current="page"]{color:var(--color-text);font-weight:600;border-bottom-color:var(--color-accent)}
.mx-subtabs a:hover{color:var(--color-text)}
.mx-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 4px;background:var(--color-text);color:var(--color-bg);font:800 11px/1 var(--font-body)}
.lt .lt-tabs{display:flex;border-bottom:1px solid var(--color-divider);margin:12px 0 20px}
@media (min-width:921px){.lt .lt-tabs{display:none}}
.app-top .subbar .lt-tabs{display:flex}

/* ---------- 7 · Look-through (prototype: LookThrough.dc.html) ---------- */
.mx-look{padding:clamp(20px,4vw,48px) 0 72px}
.mx-look .phead{display:block;border:0;padding:0;margin:0 0 clamp(20px,3vw,32px)}
.mx-look .phead h1{margin:clamp(14px,2vw,22px) 0 0;font-size:clamp(32px,4.6vw,60px)!important;line-height:1.04!important;letter-spacing:-.03em!important}
.mx-look .lt-lede{margin-top:clamp(14px,2vw,20px)!important;font:400 clamp(16px,1.6vw,20px)/1.45 var(--font-body)!important;color:var(--color-neutral-800)!important;max-width:60ch}
.mx-look .lt-meta{font-size:12px;color:var(--color-neutral-700)}
.mx-look .lt-cov{border-top:2px solid var(--color-text)!important;border-bottom:1px solid var(--color-divider)!important}
.mx-look .lt-cov-fig b{font:600 clamp(28px,2.9vw,38px)/1 var(--font-body)!important;letter-spacing:-.025em}
.mx-look .lt-cov.low .lt-cov-fig.un b{color:var(--color-accent-700)}
.mx-look .lt-sel{display:flex;flex-wrap:wrap;gap:8px!important;margin:16px 0 6px}
.mx-look .pill.lt-fp{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-text)!important;padding:7px 10px!important;min-height:36px;font:600 13px/1 var(--font-body)!important;color:var(--color-text)!important;text-decoration:none!important}
.mx-look .pill.lt-fp i{display:none}
.mx-look .pill.lt-fp::before{content:"";flex:none;width:14px;height:14px;border:1.5px solid var(--color-text);background:var(--color-text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat}
.mx-look .pill.lt-fp[aria-pressed="false"]{border-color:var(--color-neutral-400)!important;color:var(--color-neutral-700)!important}
.mx-look .pill.lt-fp[aria-pressed="false"]::before{background:transparent}
.mx-look .pill.lt-fp small{font-weight:400;color:var(--color-neutral-700);font-variant-numeric:tabular-nums}
.mx-look .lt-step{border-top:2px solid var(--color-text)!important}
.mx-look .lt-sh{font:800 clamp(20px,2vw,26px)/1.15 var(--font-heading)!important;letter-spacing:-.015em}
.mx-look .lt-hl{font:800 clamp(22px,2.4vw,30px)/1.15 var(--font-heading)!important;letter-spacing:-.02em}
.mx-look .lt-ledger{border-top:2px solid var(--color-text)!important}
.mx-look .lt-ledger .fig{font:600 clamp(26px,2.6vw,34px)/1 var(--font-body)!important;letter-spacing:-.025em}
.mx-look .lt-bar{height:28px!important}
.lt-origin{margin:clamp(36px,5vw,56px) 0 0}
.lt-or-scroll{overflow-x:auto}
.lt-or{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.lt-or thead th{font:600 11px/1.25 var(--font-body);color:var(--color-neutral-700);padding:14px 6px 10px;vertical-align:bottom;border-bottom:2px solid var(--color-text);text-align:left}
.lt-or thead th.c{text-align:center;min-width:72px}
.lt-or thead th.c .mx-tile{margin:0 auto 6px}
.lt-or-fn{display:block;max-width:10ch;margin:0 auto;font-weight:400;letter-spacing:0;text-transform:none;color:var(--color-neutral-700)}
.lt-or thead th.r,.lt-or td.r{text-align:right}
.lt-or tbody th{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 6px 12px 0;font-weight:400}
.lt-or tbody th b{display:block;font-weight:600;font-size:14.5px}
.lt-or tbody th small,.lt-or td small{display:block;font-size:12px;color:var(--color-neutral-700)}
.lt-or-rk{font:800 13px/1.6 var(--font-body);color:var(--color-neutral-700);min-width:16px}
.lt-or td,.lt-or tbody th{border-bottom:1px solid var(--color-divider)}
.lt-or td.c{text-align:center;vertical-align:middle}
.lt-sq{display:inline-block;background:var(--color-text)}
.lt-or td.r b{font-weight:600;font-size:16px}
.lt-or-note{font-size:12.5px;color:var(--color-neutral-700);margin:12px 0 0;max-width:80ch}

/* ---------- 8 · Research: plan menu (prototype: Research.dc.html) ---------- */
#main .rx-head,#main .rsx-head,#main .phead{border:0}
.app-top #main h1{font:800 clamp(32px,4.6vw,60px)/1.04 var(--font-heading)!important;letter-spacing:-.03em!important;color:var(--color-text)}
.app-top #main .phead .sub{font:400 clamp(15px,1.4vw,18px)/1.55 var(--font-body)!important;color:var(--color-neutral-800)!important;max-width:62ch;margin-top:clamp(14px,2vw,20px)}
.rx-menu-card{border:0!important;border-top:2px solid var(--color-text)!important;background:transparent!important}
.rx-menu-card .rx-menu{width:100%;border-collapse:collapse}
.rx-menu-card .rx-menu thead th{font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--color-neutral-700)!important;border-bottom:2px solid var(--color-text)!important;background:transparent!important;padding:12px 8px 10px}
.rx-menu-card .rx-menu td{border-bottom:1px solid var(--color-divider)!important;background:transparent!important;padding:14px 8px;vertical-align:top}
.rx-menu-card .rx-menu tr:hover td{background:var(--color-surface)!important}
.rx-menu-card .rx-menu tr.rx-me td{background:transparent!important}
.rx-menu .tile,.cmp-table .tile{background:var(--color-text)!important;color:var(--color-bg)!important;border:0!important;width:28px!important;height:28px!important;font:800 10px/1 var(--font-body)!important}
.rx-menu .fname,.rx-menu a.fname{font-weight:600;color:var(--color-text);text-decoration:none}
.rx-menu .badge,.rx-menu .badge.info{border:1px solid var(--color-text)!important;background:var(--color-text)!important;color:var(--color-bg)!important;font:600 10.5px/1.4 var(--font-body)!important;padding:1px 6px!important;text-transform:none}
.fee-tag{color:var(--color-neutral-700)!important;font-weight:600}
.rx-tabs .seg,.seg{display:inline-flex;border:1px solid var(--color-neutral-500);background:transparent;padding:0;gap:0}
.seg button,.rx-tabs .seg button{border:0;border-right:1px solid var(--color-neutral-500);background:transparent;color:var(--color-text);font:500 13.5px/1 var(--font-body)!important;padding:10px 12px;min-height:38px}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"],.seg button.on{background:var(--color-accent)!important;color:#fff!important}
.pills{gap:0!important}
.pills .pill{border:1px solid var(--color-neutral-500)!important;margin-right:-1px;background:transparent!important;color:var(--color-text)!important;font:500 13.5px/1 var(--font-body)!important;padding:10px 12px!important;min-height:38px}
.pills .pill[aria-pressed="true"]{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:#fff!important}
.pills .pill svg{display:none}
.rx-foot{background:transparent!important;border-top:0!important;font-size:12.5px;color:var(--color-neutral-700)}
.rx-legend{font-size:11.5px;color:var(--color-neutral-700)}
.rx-tray,.rx-tray.rx-tray-float{background:var(--color-surface)!important;border:0!important;border-top:1px solid var(--color-divider)!important;box-shadow:none!important;left:0!important;right:0!important;transform:none!important;max-width:none!important;bottom:0;padding:10px var(--mx-pad)}
.rx-tray .chip,.rx-tray .rx-chip{border:1px solid var(--color-neutral-500)!important;background:var(--color-bg)!important;font-weight:600}
.rx-tray .btn-primary{margin-left:auto}

/* ---------- 9 · Section bar on destinations without sub-tabs (prototype: none on Review, My funds, Documents) ---------- */
.app-top .subbar.mx-plain .subnav-links>a{display:none!important}
.app-top .subbar.mx-plain [data-act=toolkitToggle]{display:inline-flex!important}
.app-top .subbar.mx-plain{min-height:44px}

/* ---------- 10 · Fund profile (prototype: FundProfile.dc.html) ---------- */
.fp-head{border:0!important;border-bottom:2px solid var(--color-text)!important;padding-bottom:clamp(20px,3vw,32px)!important}
.fp-head h1{font-size:clamp(32px,4.4vw,56px)!important;line-height:1.04!important;max-width:20ch}
.fp-head .meta,.fp-head .badge{font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--color-neutral-700)!important}
.fp-head .tile.lg{display:none}
.fp-head [data-act=rsxPin]{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:#fff!important}
.fp-head [data-act=rsxPin][aria-pressed="true"]{background:transparent!important;color:var(--color-text)!important;border-color:var(--color-text)!important}
.fp-card,.fp-perf,.fp-cost,.navy.fp-cost{background:transparent!important;border:0!important;border-top:2px solid var(--color-text)!important;padding:18px 0 0!important;color:var(--color-text)!important}
.fp-card h2,.fp-perf h2,.fp-cost h2{font:800 clamp(20px,2vw,26px)/1.2 var(--font-heading)!important;letter-spacing:-.015em!important;text-transform:none!important;color:var(--color-text)!important}
.fp-cost .big,.fp-cost .fig,.fp-perf .stat b,.fp-perf .stat .v{font:600 clamp(28px,2.9vw,38px)/1 var(--font-body)!important;letter-spacing:-.025em;color:var(--color-text)!important}
.fp-cost .box{background:transparent!important;border:0!important;border-top:1px solid var(--color-divider)!important}
.fp-fact{border-top:1px solid var(--color-divider)!important;background:transparent!important}
details.more>summary{font:800 15px/1.3 var(--font-body);border-top:2px solid var(--color-text);padding:14px 0}

/* ---------- 11 · Compare (prototype: Compare.dc.html) ---------- */
.cmp-crumb{font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
.cmp-card{border:0!important;background:transparent!important;border-top:2px solid var(--color-text)!important}
.cmp-table{border-collapse:collapse;width:100%}
.cmp-table thead th{border-bottom:2px solid var(--color-text)!important;vertical-align:bottom;padding:14px 16px!important;font:800 15px/1.25 var(--font-heading)!important;text-align:left}
.cmp-table thead th+th{border-left:1px solid var(--color-divider)!important}
.cmp-table tbody th{font:600 13px/1.3 var(--font-body)!important;color:var(--color-text)!important;padding:14px 16px 14px 0!important;text-align:left}
.cmp-table tbody td{font:600 16px/1.2 var(--font-body)!important;font-variant-numeric:tabular-nums;padding:14px 16px!important;border-bottom:1px solid var(--color-divider)!important;border-left:1px solid var(--color-divider)!important}
.cmp-table tr.srcrow th,.cmp-table tr.srcrow td{font:400 12px/1.4 var(--font-body)!important;color:var(--color-neutral-700)!important}
.cmp-table .badge{border:1px solid var(--color-text)!important;background:transparent!important;color:var(--color-text)!important}

/* ---------- 12 · Documents (prototype: Documents.dc.html) ---------- */
.mx-dockick{margin:clamp(20px,4vw,48px) 0 clamp(14px,2vw,22px)}
.inbox-zone.panel,.inbox-drop{border:2px solid var(--color-text)!important;background:transparent!important;padding:22px 24px!important}
.inbox-drop .ic{display:none}
.inbox-drop h2,.inbox-drop h3{font:800 20px/1.2 var(--font-heading)!important}
.doc-hist{border:0!important;border-top:2px solid var(--color-text)!important;background:transparent!important}
.doc-hist li{border-bottom:1px solid var(--color-divider)!important;background:transparent!important;padding:14px 0!important}
.doc-hist li .ic{display:none}
.doc-hist .active{border:1px solid var(--color-text)!important;background:var(--color-text)!important;color:var(--color-bg)!important;font-size:11px;padding:1px 6px}
.doc-unlock,.doc-truth{border:0!important;border-top:1px solid var(--color-divider)!important;background:transparent!important}

/* ---------- 13 · Menu analysis (prototype: MenuAnalysis.dc.html) ---------- */
.ix-h1 .ix-l1,.ix-h1 .ix-l2{font-family:var(--font-heading)!important;font-weight:800!important;letter-spacing:-.03em!important;color:var(--color-text)!important}
.ix-h1 .ix-l1{font-size:clamp(32px,4.6vw,56px)!important;line-height:1.04}
.ix-h1 .ix-l2{font-size:clamp(32px,4.6vw,56px)!important;line-height:1.04}
.ix .panel,.ix-grid>section,.ix-side{background:transparent!important;border:0!important;border-top:2px solid var(--color-text)!important}
.ix-pills .pill,.ix-ctrls .seg button{border-radius:0}
.ix-hull{fill:var(--color-neutral-200)!important;stroke:var(--color-text)!important;stroke-width:1.5!important}
.ix-hull.ix-inner{fill:none!important;stroke:var(--color-neutral-500)!important}
.ix .banner,.ix-demo{background:var(--color-surface)!important;border:0!important;border-left:4px solid var(--color-accent)!important;color:var(--color-text)!important}

/* ---------- 14 · Entry (prototype: Entry.dc.html) ---------- */
.auth-wrap{background:var(--color-bg)}
.auth-card{background:transparent!important;border:0!important;border-top:2px solid var(--color-text)!important;box-shadow:none!important;padding:24px 0 0!important}
.auth-card h1,.pub-in h1{font:800 clamp(32px,4.6vw,56px)/1.04 var(--font-heading)!important;letter-spacing:-.03em!important}
.pub-nav{border-bottom:1px solid var(--color-divider);background:var(--color-bg)}
.pub-sec{border-top:2px solid var(--color-text)}
.auth-or{color:var(--color-neutral-700)}

/* Fund profile: key-figure strip (prototype) */
.fp-figs.mx-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--color-text);margin:0 0 clamp(32px,5vw,56px)}
.fp-figs .fp-fig{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;border-bottom:1px solid var(--color-divider);min-width:0}
.fp-figs .fp-fig:first-child{padding-left:0}
.fp-figs .fp-fig+.fp-fig{border-left:1px solid var(--color-divider)}
@media (max-width:920px){.fp-figs.mx-figs{grid-template-columns:1fr 1fr}.fp-figs .fp-fig:nth-child(3){border-left:0;padding-left:0}.fp-figs .fp-fig:nth-child(odd){padding-left:0}}

/* tabs-led section bars keep All tools (the only route to deferred sections) */
.mx-tools-only{display:contents}
.mx-tools-only .subnav-links>a{display:none!important}
.mx-tools-only [data-act=toolkitToggle]{display:inline-flex!important}

/* ---------- 11b · Compare rebuilt (prototype: column heads, grouped rows, spread) ---------- */
.mx-cmp{border-top:2px solid var(--color-text)}
.mx-cmp thead th{vertical-align:bottom;border-bottom:2px solid var(--color-text)!important;padding:14px 12px!important;text-align:left;font:inherit!important}
.mx-cmp thead th+th{border-left:1px solid var(--color-divider)!important}
.mx-cmp .cmp-corner{padding-left:0!important;color:var(--color-neutral-700);width:22%}
.cmp-hd{display:flex;align-items:center;gap:8px}
.cmp-line{width:22px;height:3px;flex:none}
.cmp-avail{font:600 10.5px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
.cmp-x{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;background:none;border:0;color:var(--color-neutral-700);cursor:pointer}
.cmp-x:hover{color:var(--color-accent-700)}
.cmp-name{display:block;margin-top:6px;font:800 clamp(15px,1.5vw,18px)/1.2 var(--font-heading);letter-spacing:-.01em;color:var(--color-text);text-decoration:none}
.cmp-name:hover{color:var(--color-accent-700)}
.cmp-meta{display:block;margin-top:4px;font-size:12.5px;color:var(--color-neutral-700)}
.mx-cmp .cmp-spread{text-align:right;color:var(--color-neutral-700);font:600 10.5px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.mx-cmp td.cmp-spread{font:600 14px/1.2 var(--font-body)!important;letter-spacing:0;text-transform:none;color:var(--color-text)}
.mx-cmp td.cmp-spread.is-flag{color:var(--color-accent-700)}
.mx-cmp tr.cmp-group th{padding:18px 0 6px!important;font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)!important;border-bottom:1px solid var(--color-divider)!important;border-left:0!important;background:transparent}
.mx-cmp tbody th[scope=row]{padding:12px 16px 12px 0!important;font:600 14px/1.3 var(--font-body)!important;vertical-align:top}
.mx-cmp tbody th small{display:block;font-weight:400;font-size:12px;color:var(--color-neutral-700);margin-top:2px}
.mx-cmp tbody td{text-align:right;font:600 15px/1.2 var(--font-body)!important;padding:12px!important;vertical-align:top}
.mx-cmp tbody td .cmp-txt{font-weight:400;font-size:13.5px;color:var(--color-neutral-800)}
.mx-cmp tr.srcrow td,.mx-cmp tr.srcrow th{font:400 12px/1.4 var(--font-body)!important;color:var(--color-neutral-700)!important;text-align:left}
.cmp-mk{display:inline-block;width:8px;height:8px;margin-right:7px;vertical-align:1px}
.cmp-mk.is-plan{background:var(--color-text)}.cmp-mk.is-other{border:1.5px solid var(--color-text)}
.cmp-bar{display:block;height:4px;margin-top:6px;background:var(--color-neutral-200)}
.cmp-bar>span{display:block;height:100%;margin-left:auto;background:var(--color-neutral-600)}
.cmp-flag{display:inline-block;width:8px;height:8px;background:var(--color-accent);margin-right:8px;vertical-align:1px}
.cmp-key{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:12.5px;color:var(--color-neutral-700)}
.cmp-key .cmp-flag{margin:0}
@media (max-width:920px){.cmp-card{overflow-x:auto}.mx-cmp{min-width:560px}.mx-cmp .cmp-corner{width:auto}}

/* ---------- 12b · Documents rebuilt (prototype: header, one add-a-document block, sources list) ---------- */
.mx-dochead{padding:clamp(20px,4vw,48px) 0 clamp(20px,3vw,32px)!important}
.mx-dochead .mx-kicker{margin-bottom:clamp(14px,2vw,22px)}
.mx-dochead h1{max-width:18ch}
.doc-grid{display:block!important}
.doc-main{max-width:none}
.doc-side{margin-top:clamp(32px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:0 clamp(24px,4vw,48px)}
.inbox-zone.panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center}
.inbox-zone .btn-primary,.inbox-drop .btn-primary{justify-self:end}
.doc-hist{margin-top:clamp(28px,4vw,44px)}
.doc-hist h2,.doc-hist h3,.doc-hist .panel-h h2{font:800 clamp(20px,2vw,26px)/1.2 var(--font-heading)!important;letter-spacing:-.015em}
.doc-unlock h3,.doc-truth h3{font:800 18px/1.25 var(--font-heading)!important;text-transform:none!important;letter-spacing:-.01em!important}
.doc-unlock li svg,.doc-truth h3 svg{display:none}
.doc-unlock li{border-bottom:1px solid var(--color-divider);padding:9px 0;list-style:none}
.doc-unlock ul{padding:0;margin:12px 0 0}
@media (max-width:920px){.inbox-zone.panel{grid-template-columns:1fr}.inbox-zone .btn-primary{justify-self:start}}
.inbox-zone .inbox-drop,.inbox-zone.panel .inbox-drop{border:0!important;padding:0!important;text-align:left!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center;background:transparent!important}
.inbox-zone .inbox-drop>*{text-align:left;margin-left:0!important;margin-right:0!important;max-width:64ch}
.inbox-zone .inbox-drop .btn-primary{grid-column:2;grid-row:1/span 3;justify-self:end}
.doc-hist li svg,.doc-hist li .fi,.doc-hist li [class*="ico"]{display:none!important}
@media (max-width:920px){.inbox-zone .inbox-drop{grid-template-columns:1fr}.inbox-zone .inbox-drop .btn-primary{grid-column:1;grid-row:auto;justify-self:start}}

/* ---------- 14b · Entry rebuilt (prototype: Entry.dc.html) ---------- */
.mx-entry{background:var(--color-bg);color:var(--color-text)}
.mx-entry .pub-nav{border-bottom:1px solid var(--color-divider);background:var(--color-bg)}
.en-in{max-width:var(--mx-max);margin:0 auto;padding:0 var(--mx-pad)}
.en-hero .en-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:end;padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(40px,6vw,80px)}
.en-copy .mx-kicker{margin-bottom:clamp(16px,2.4vw,26px)}
.mx-entry .en-copy h1{margin:0;font:800 clamp(40px,6vw,80px)/1.0 var(--font-heading)!important;letter-spacing:-.035em!important;text-wrap:balance}
.en-lede{margin:clamp(20px,3vw,32px) 0 0;max-width:52ch;font:400 clamp(16px,1.6vw,20px)/1.5 var(--font-body);color:var(--color-neutral-800)}
.en-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(24px,3.4vw,36px)}
.en-cta .btn{min-height:48px;padding-inline:18px;font-size:15px}
.en-fine{margin:18px 0 0;font-size:12.5px;color:var(--color-neutral-700)}
.en-spec{margin:0;border-top:2px solid var(--color-text)}
.en-spec-h{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font:600 10.5px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);border-bottom:1px solid var(--color-divider)}
.en-spec-t{margin:18px 0 0;font:800 clamp(20px,2.2vw,28px)/1.12 var(--font-heading);letter-spacing:-.02em}
.en-spec-t span{color:var(--color-accent)}
.en-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--color-divider)}
.en-fig{padding:12px 12px 12px 0;border-bottom:1px solid var(--color-divider)}
.en-fig:nth-child(even){border-left:1px solid var(--color-divider);padding-left:12px}
.en-fig b{display:block;margin-top:4px;font:600 22px/1.1 var(--font-body);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.en-fig .mx-src{margin-top:6px}
.en-spec-note{margin:14px 0 0;font-size:12.5px;color:var(--color-neutral-700)}
.en-sec{border-top:2px solid var(--color-text);padding:clamp(36px,5vw,64px) 0}
.en-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,48px)}
.en-n{font:800 14px/1 var(--font-body);color:var(--color-accent-700)}
.en-steps h3{margin:12px 0 8px;font:800 20px/1.2 var(--font-heading)!important;letter-spacing:-.015em}
.en-steps p,.en-principles p{margin:0;font-size:14.5px;line-height:1.55;color:var(--color-neutral-800)}
.mx-entry .en-sec h2{margin:0 0 24px;font:800 clamp(24px,2.6vw,34px)/1.1 var(--font-heading)!important;letter-spacing:-.02em}
.en-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-divider)}
.en-principles>div{padding:18px 24px 20px 0;border-bottom:1px solid var(--color-divider)}
.en-principles>div:nth-child(even){border-left:1px solid var(--color-divider);padding-left:24px}
.en-pt{font:800 16px/1.3 var(--font-heading);margin-bottom:6px}
.en-legal{margin:18px 0 0;font-size:13px;color:var(--color-neutral-700)}
.en-close{background:var(--color-text);color:var(--color-bg);padding:clamp(40px,6vw,80px) 0}
.en-close .en-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end}
.en-mantra{margin:0;font:800 clamp(36px,5vw,64px)/1.0 var(--font-heading);letter-spacing:-.03em}
.en-close p{margin:0 0 18px;font-size:16px;line-height:1.5;color:inherit;opacity:.85;max-width:44ch}
.en-close .en-inv{border-color:var(--color-bg)!important;color:var(--color-bg)!important;background:transparent!important}
.en-close .en-inv:hover{background:color-mix(in srgb,var(--color-bg) 12%,transparent)!important}
@media (max-width:920px){.en-hero .en-in,.en-close .en-in{grid-template-columns:1fr}.en-steps{grid-template-columns:1fr}.en-principles{grid-template-columns:1fr}.en-principles>div:nth-child(even){border-left:0;padding-left:0}}
.mx-entry .en-close .en-mantra{font:800 clamp(36px,5vw,64px)/1.0 var(--font-heading)!important;letter-spacing:-.03em!important;color:var(--color-bg)!important;opacity:1!important}
.pub-foot,.mx-entry .pub-foot,footer.pub-foot{background:var(--color-surface)!important;color:var(--color-neutral-800)!important;border-top:2px solid var(--color-text)}
.pub-foot a,.pub-foot h4,.pub-foot b{color:var(--color-text)!important}
.brand-mark,.pub-nav .brand-mark,.tb .brand-mark{background:var(--color-text)!important;color:var(--color-bg)!important}
.pub-nav .btn-primary{background:var(--color-accent)!important;border-color:var(--color-accent)!important}

/* ---------- 13b · Menu analysis on the prototype's structure (MenuAnalysis.dc.html); the analytical map is kept ---------- */
.ix{max-width:var(--mx-max);margin:0 auto;padding:clamp(20px,4vw,40px) 0 72px;color:var(--color-text)}
.ix-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-divider);margin-bottom:clamp(20px,3vw,32px)}
.ix-tabs a{font:500 14px/1 var(--font-body);color:var(--color-neutral-700);padding:12px 12px 10px;border-bottom:2px solid transparent;text-decoration:none}
.ix-tabs a[aria-current="page"]{color:var(--color-text);font-weight:600;border-bottom-color:var(--color-accent)}
.ix-hero{padding-bottom:clamp(20px,3vw,32px)}
.ix-kicker{font:600 11px/1.3 var(--font-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--color-neutral-700)!important;margin-bottom:clamp(14px,2vw,22px)}
.ix-h1{margin:0!important;max-width:22ch}
.ix-h1 .ix-l1,.ix-h1 .ix-l2{display:inline!important;font:800 clamp(30px,4.4vw,56px)/1.04 var(--font-heading)!important;letter-spacing:-.03em!important}
.ix-h1 .ix-l1{color:var(--color-text)!important}
.ix-h1 .ix-l1::after{content:" "}
.ix-h1 .ix-l2{color:var(--color-accent)!important;transition:color .6s ease}
.ix-h1 .ix-l2.ix-pending{color:var(--color-neutral-400)!important}
.ix-lead{margin:clamp(14px,2vw,22px) 0 0!important;max-width:62ch;font:400 clamp(15px,1.4vw,18px)/1.55 var(--font-body)!important;color:var(--color-neutral-800)!important}
.ix-notice,.ix-srcbar{background:transparent!important;border:0!important;border-left:3px solid var(--color-accent)!important;padding:6px 0 6px 12px!important;color:var(--color-neutral-800)!important;font-size:12.5px}
.ix-mappanel{border:0!important;border-top:2px solid var(--color-text)!important;background:transparent!important;padding:16px 0 0!important;margin-top:8px}
.ix-maphead{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
.ix-maphead h2{font:800 clamp(20px,2vw,26px)/1.15 var(--font-heading)!important;letter-spacing:-.015em}
.ix-toggle{display:inline-flex;border:1px solid var(--color-neutral-500)}
.ix-toggle button{border:0;border-right:1px solid var(--color-neutral-500);background:transparent;color:var(--color-text);font:500 13.5px/1 var(--font-body);padding:10px 12px;min-height:38px}
.ix-toggle button:last-child{border-right:0}
.ix-toggle button[aria-pressed="true"]{background:var(--color-accent);color:#fff}
.ix-cut input[type=range]{accent-color:var(--color-accent)}
#ix-map .ix-node circle:not([fill="transparent"]){stroke:var(--color-text)}
#ix-map .ix-nl,#ix-map .ix-ll,#ix-map .ix-glabel{font-family:var(--font-body)!important;fill:var(--color-text)}
#ix-map .ix-glabel{font-weight:800}
#ix-map .ix-cnt{fill:var(--color-neutral-700);font-weight:400}
#ix-map .ix-pin circle{fill:var(--color-accent)!important;stroke:none}
#ix-map .ix-pin text{fill:#fff!important;font-weight:800}
#ix-map .ix-link-l{stroke:var(--color-neutral-500)}
.ix-hull{fill:transparent!important;stroke:var(--color-text)!important;stroke-width:1!important}
.ix-hull.ix-inner{stroke:var(--color-neutral-400)!important;stroke-dasharray:3 3}
.ix-mapfoot,.ix-legend{font-size:12.5px;color:var(--color-neutral-700)}
.ix-findings{margin-top:clamp(40px,6vw,72px)}
.ix-findings>h2,.ix-sec>h2{font:800 clamp(20px,2vw,26px)/1.15 var(--font-heading)!important;letter-spacing:-.015em;padding-bottom:12px;border-bottom:2px solid var(--color-text);margin:0}
.ix-fd{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:4px clamp(16px,3vw,32px);padding:22px 0!important;border:0!important;border-bottom:1px solid var(--color-divider)!important;background:transparent!important;counter-increment:ixf}
.ix-findings{counter-reset:ixf}
.ix-fd::before{content:counter(ixf,decimal-leading-zero);font:800 13px/1.6 var(--font-body);color:var(--color-neutral-700)}
.ix-fd>*{grid-column:2}
.ix-fdt{font:800 19px/1.25 var(--font-heading)!important;letter-spacing:-.01em;margin:0}
.ix-fdg{font:600 11px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700)}
.ix-rule{font-size:12px;color:var(--color-neutral-700)}
.ix-drawer{background:var(--color-bg)!important;border-left:2px solid var(--color-text)!important;box-shadow:none!important}
.ix-drhead h2,.ix-drhead h3{font:800 22px/1.15 var(--font-heading)!important}
.ix-kpis>div,.ix-cell{background:transparent!important;border:0!important;border-top:1px solid var(--color-divider)!important}
.ix-pills .pill[aria-pressed="true"]{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:#fff!important}
@media (max-width:920px){.ix-h1 .ix-l1,.ix-h1 .ix-l2{font-size:clamp(26px,7vw,34px)!important}.ix-mapwrap{overflow-x:auto}}

/* portfolio switcher keeps a usable target in the Modernist section bar */
.app-top .subbar .pf-switch{min-height:32px;display:inline-flex;align-items:center}

/* Review scope block (prototype) */
.mx-scope{margin-top:clamp(40px,6vw,64px)}
.mx-list{margin:10px 0 0;padding:0;list-style:none}
.mx-list li{padding:8px 0;border-bottom:1px solid var(--color-divider);font-size:14px;line-height:1.45;color:var(--color-neutral-800)}
.mx-list li:last-child{border-bottom:0}

/* ---------- 13c · Menu analysis: "The menu" as a grouped list (prototype) ---------- */
.ma-list{margin-top:16px}
.ma-group{border-top:2px solid var(--color-text);margin-top:18px}
.ma-group:first-child{margin-top:0}
.ma-ghead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 0 8px;border-bottom:1px solid var(--color-divider)}
.ma-gn{font:800 12px/1 var(--font-body);color:var(--color-accent-700)}
.ma-gname{font:800 17px/1.25 var(--font-heading);letter-spacing:-.01em;color:var(--color-text)}
.ma-gnote{font-size:12.5px;color:var(--color-neutral-700)}
.ma-grange{margin-left:auto;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}
.ma-row{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,.9fr) auto 72px;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--color-divider);background:transparent;color:var(--color-text);text-align:left;cursor:pointer;font:inherit}
.ma-row:hover{background:var(--color-surface)}
.ma-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}
.ma-tile{width:26px;height:26px;display:grid;place-items:center;font:800 9.5px/1 var(--font-body)}
.ma-tile.is-index{background:var(--color-text);color:var(--color-bg)}
.ma-tile.is-active{border:1.5px solid var(--color-text);color:var(--color-text)}
.ma-name{font-weight:600;font-size:14.5px;min-width:0;overflow-wrap:anywhere}
.ma-type{font-size:12.5px;color:var(--color-neutral-700);min-width:0}
.ma-held{font-size:12.5px;font-weight:600;white-space:nowrap}
.ma-er{text-align:right;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
.ma-outside .ma-gname{color:var(--color-neutral-700)}
.ma-maph{margin:clamp(28px,4vw,44px) 0 4px;padding-top:14px;border-top:2px solid var(--color-text);font:800 18px/1.25 var(--font-heading)!important}
.ma-maph span{display:block;margin-top:4px;font:400 12.5px/1.45 var(--font-body);color:var(--color-neutral-700)}
@media (max-width:920px){.ma-row{grid-template-columns:26px minmax(0,1fr) auto;row-gap:2px}.ma-type,.ma-held{grid-column:2}.ma-er{grid-column:3;grid-row:1}.ma-grange{margin-left:0;flex-basis:100%}}
/* Compare: measures and growth chart as a visible section (prototype) */
.mx-cmpmore{margin-top:clamp(40px,6vw,64px)}
.mx-cmpmore>summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:0 0 12px!important;border-top:0!important;border-bottom:2px solid var(--color-text);font:800 clamp(20px,2vw,26px)/1.15 var(--font-heading)!important;letter-spacing:-.015em;list-style:none;cursor:pointer}
.mx-cmpmore>summary svg{order:9;margin-left:auto;transition:transform .2s}
.mx-cmpmore[open]>summary svg{transform:rotate(180deg)}
.mx-cmpmore>summary .xs{font:400 13px/1.3 var(--font-body);letter-spacing:0;color:var(--color-neutral-700)}
.mx-cmpmore .seg{margin:16px 0}
.mx-cmpmore svg .rx-line,.mx-cmpmore svg path[stroke]{stroke-width:2}

/* Compare measures: neutral bars (no judgement colours), prototype line set */
.mx-cmpmore table th,.mx-cmpmore table thead th{background:transparent!important}
.mx-cmpmore td span[style*="background"],.mx-cmpmore td i[style*="background"]{background:var(--color-neutral-600)!important}
:root:not([data-theme="dark"]){--c-fund:#131111;--c-fund2:#8f8b8a;--c-fund3:#ec3013;--c-fund4:#4e4b4a}
:root[data-theme="dark"]{--c-fund:#efedec;--c-fund2:#8f8b8a;--c-fund3:#ff563c;--c-fund4:#d4d0cf}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c-fund:#efedec;--c-fund2:#8f8b8a;--c-fund3:#ff563c;--c-fund4:#d4d0cf}}
/* merged notice strip: sample plan + beta + email in one line */
.notice-line .mx-sample{color:var(--color-text)}
.notice-line .mx-sample-t{color:var(--color-neutral-800);margin-right:12px}
/* Fund profile body in the prototype's order: what it is, cost, performance, what it owns, deeper analysis */
.fp-grid{display:flex!important;flex-direction:column;gap:clamp(32px,5vw,48px)!important}
.fp-main,.fp-side{display:contents!important}
.fp-grid .fp-card{order:1}.fp-grid .fp-cost{order:2}.fp-grid .fp-perf{order:3}.fp-grid .fp-card+.fp-card,.fp-grid .fp-card:has(.fp-own){order:4}
.fp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0;border-top:1px solid var(--color-divider)}
.fp-facts .fp-fact{border-top:0!important;border-bottom:1px solid var(--color-divider)!important;padding:12px 16px 12px 0}
.doc-supports{display:block;margin-top:6px;font-size:12.5px;line-height:1.5;color:var(--color-neutral-800);max-width:80ch}
.doc-supports b{font-weight:600;color:var(--color-text)}
.fp-grid>*,.fp-grid section,.fp-grid .fp-card,.fp-grid .fp-perf,.fp-grid .fp-cost{width:100%!important;max-width:none!important;align-self:stretch}
table.rx-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- 15 · My funds › Enter funds manually (prototype: Manual.dc.html) ---------- */
.mn-ptabs{margin:0 0 8px}
@media (min-width:921px){.mn-ptabs{display:none!important}}
.mn-page{padding:clamp(20px,4vw,48px) 0 72px}
.mn-head{padding-bottom:clamp(20px,3vw,32px)}
.mn-head .mx-kicker{margin-bottom:clamp(14px,2vw,22px)}
.mn-lede{margin:clamp(14px,2vw,20px) 0 0;max-width:64ch;font:400 clamp(15px,1.4vw,18px)/1.55 var(--font-body);color:var(--color-neutral-800)}
.mn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(24px,4vw,48px);align-items:start}
.mn-find{border-top:2px solid var(--color-text);padding-top:16px}
.mn-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:12px 16px}
.mn-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.mn-field label{font-weight:600;font-size:13px}
.mn-field .input{min-height:40px;padding:8px 10px;width:100%;box-sizing:border-box}
.mn-help{font-size:12px;line-height:1.4;color:var(--color-neutral-700)}
.mn-results{margin-top:22px}
.mn-rhead{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--color-text)}
.mn-rhead h2{margin:0;font:800 20px/1.2 var(--font-heading)!important;letter-spacing:-.01em}
.mn-rhead span{font-size:13px;color:var(--color-neutral-700)}
.mn-rhead .btn{margin-left:auto}
.mn-hint{margin:0;padding:18px 0;border-bottom:1px solid var(--color-divider);font-size:14px;color:var(--color-neutral-800)}
.mn-row{display:grid;grid-template-columns:28px minmax(0,1.6fr) minmax(0,1fr) 80px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-divider)}
.mn-tile{width:28px;height:28px;display:grid;place-items:center;font:800 10px/1 var(--font-body)}
.mn-tile.is-index{background:var(--color-text);color:var(--color-bg)}
.mn-tile.is-active{box-shadow:inset 0 0 0 1.5px var(--color-text);color:var(--color-text)}
.mn-id{min-width:0}
.mn-name{display:block;font-weight:600;font-size:14.5px;color:var(--color-text);text-decoration:none;overflow-wrap:anywhere}
.mn-name:hover{color:var(--color-accent-700)}
.mn-name mark{background:var(--color-accent-100);color:inherit;box-shadow:inset 0 -2px 0 var(--color-accent)}
.mn-meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:3px;font-size:12.5px;color:var(--color-neutral-700)}
.mn-meta b{font-weight:800;color:var(--color-text);font-variant-numeric:tabular-nums}
.mn-cat{display:flex;flex-direction:column;gap:3px;font-size:12.5px;line-height:1.4;min-width:0}
.mn-src{display:flex;align-items:center;gap:6px;color:var(--color-neutral-700)}
.mn-mk{display:inline-block;flex:none;width:9px;height:9px;border:1.5px solid var(--color-text)}
.mn-mk-src{background:var(--color-text)}.mn-mk-entry{background:transparent}.mn-mk-demo{background:repeating-linear-gradient(135deg,var(--color-text) 0 2px,transparent 2px 4px)}
.mn-er{text-align:right;font-weight:600;font-size:14.5px;font-variant-numeric:tabular-nums}
.mn-er small{display:block;font-weight:400;font-size:11.5px;color:var(--color-neutral-700)}
.mn-row .btn{min-width:88px;justify-content:center}
.mn-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:12px;color:var(--color-neutral-700)}
.mn-key span{display:inline-flex;align-items:center;gap:7px}.mn-key .mn-tile{width:12px;height:12px}
.mn-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border-left:1px solid var(--color-divider)}
.mn-dircard{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:14px;background:transparent;border:0;border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);text-align:left;cursor:pointer;color:var(--color-text);font:inherit}
.mn-dircard:hover{background:var(--color-surface)}
.mn-dircard>span:first-child{display:flex;width:100%;align-items:baseline;gap:8px}
.mn-dircard b{font:800 16px/1.2 var(--font-heading)}.mn-dircard small{margin-left:auto;font-size:12px;color:var(--color-neutral-700)}
.mn-dircats{font-size:12px;line-height:1.4;color:var(--color-neutral-700)}
.mn-panel{position:sticky;top:16px;border:2px solid var(--color-text);padding:18px}
.mn-ph{display:flex;align-items:baseline;gap:12px}
.mn-ph h2{margin:0;font:800 20px/1.2 var(--font-heading)!important}
.mn-ph span{margin-left:auto;font-weight:600;font-size:13px}
.mn-slots{display:flex;gap:3px;margin-top:10px}.mn-slots span{flex:1;height:4px;background:var(--color-neutral-300)}.mn-slots span.on{background:var(--color-text)}
.mn-mode{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12.5px;color:var(--color-neutral-700)}
.mn-mode .seg button{min-height:34px;padding:7px 12px}
.mn-empty{margin:16px 0 0;padding:16px 0;border-top:1px solid var(--color-divider);font-size:14px;color:var(--color-neutral-800)}
.mn-items{margin-top:14px;border-top:1px solid var(--color-divider)}
.mn-item{display:grid;grid-template-columns:26px minmax(0,1fr) 104px 30px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-divider)}
.mn-iname{min-width:0}.mn-iname b{display:block;font-weight:600;font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}.mn-iname small{display:block;margin-top:1px;font-size:11.5px;color:var(--color-neutral-700)}
.mn-inp{position:relative;display:block}
.mn-inp input{width:100%;box-sizing:border-box;text-align:right;min-height:36px;padding:6px 22px 6px 22px;font-variant-numeric:tabular-nums}
.mn-inp.usd::before{content:"$";position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--color-neutral-700)}
.mn-inp.pct::after{content:"%";position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--color-neutral-700)}
.mn-x{width:30px;height:30px;display:grid;place-items:center;background:none;border:0;color:var(--color-neutral-700);cursor:pointer}.mn-x:hover{color:var(--color-accent-700)}
.mn-basis{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-divider);font-size:13px;font-weight:600}
.mn-basis small{font-weight:400;color:var(--color-neutral-700)}
.mn-total{display:flex;align-items:baseline;gap:10px;padding:12px 0 6px;font-size:14px}.mn-total b:last-child{margin-left:auto;font-variant-numeric:tabular-nums}
.mn-msg{margin:0;font-size:13px;line-height:1.45;color:var(--color-accent-700)}.mn-msg.ok{color:var(--color-neutral-800)}
.mn-bar{margin-top:10px;height:10px}
.mn-acts{display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:14px}
.mn-save{width:100%;margin-top:12px;min-height:46px;justify-content:space-between}
.mn-save[disabled]{opacity:.45;cursor:not-allowed}
.mn-full{margin:12px 0 0;padding:10px 12px;background:var(--color-surface);font-size:13px}
.mn-note{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:12px;line-height:1.45;color:var(--color-neutral-700)}.mn-note .mn-mk{margin-top:3px}
.mn-snap{margin-top:clamp(40px,6vw,64px)}
.mn-figs{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.mn-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);margin-top:clamp(28px,4vw,40px)}
.mn-two h3{margin:0;padding-bottom:10px;border-bottom:2px solid var(--color-text);font:800 17px/1.25 var(--font-heading)!important}
.mn-co{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--color-divider)}
.mn-n{font-size:12px;color:var(--color-neutral-700)}.mn-coname{font-weight:600;font-size:14px;min-width:0}
.mn-cov{text-align:right;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.mn-cov small{display:block;font-weight:400;font-size:11px;color:var(--color-neutral-700)}
.mn-ov{padding:10px 0;border-bottom:1px solid var(--color-divider)}
.mn-ov>div{display:flex;align-items:baseline;gap:10px;font-weight:600;font-size:14px}.mn-ov>div b{margin-left:auto;font-variant-numeric:tabular-nums}
.mn-ov .mx-bar{height:4px;margin-top:6px}.mn-ov small{display:block;margin-top:4px;font-size:11.5px;color:var(--color-neutral-700)}
.mn-fine{margin:10px 0 0;font-size:12px;color:var(--color-neutral-700)}
@media (max-width:920px){
  .mn-grid{grid-template-columns:1fr}.mn-panel{position:static}
  .mn-fields{grid-template-columns:1fr}
  .mn-row{grid-template-columns:28px minmax(0,1fr) auto;row-gap:4px}.mn-cat{grid-column:2}.mn-er{grid-column:3;grid-row:1}.mn-row .btn{grid-column:3;grid-row:2}
  .mn-figs{grid-template-columns:1fr 1fr!important}.mn-two{grid-template-columns:1fr}
}
.mn-figs.mx-figs{display:grid;border-top:2px solid var(--color-text);margin-top:4px}
.mn-figs .mn-fig{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;border-bottom:1px solid var(--color-divider);min-width:0}
.mn-figs .mn-fig:first-child{padding-left:0}
.mn-figs .mn-fig+.mn-fig{border-left:1px solid var(--color-divider)}
.mn-figs .fig{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font:600 clamp(26px,2.6vw,34px)/1 var(--font-body);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.mn-figs .fig small{font:400 14px/1.2 var(--font-body);color:var(--color-neutral-700);letter-spacing:0}
.mn-figs .note{font-size:13px;line-height:1.45;color:var(--color-neutral-800)}
@media (max-width:920px){.mn-figs .mn-fig:nth-child(3){border-left:0;padding-left:0}.mn-figs .mn-fig:nth-child(odd){padding-left:0}}

/* ---------- 14c · Sign-in is the Entry page (panel in place of the specimen) ---------- */
.en-auth{border-top:2px solid var(--color-text);padding:18px 0 0;max-width:420px;width:100%;justify-self:end}
.en-auth h2{margin:0 0 4px;font:800 26px/1.15 var(--font-heading)!important;letter-spacing:-.02em}
.en-auth-sub{margin:0 0 16px;font-size:13.5px;color:var(--color-neutral-700)}
.en-auth .field label{font-weight:600;font-size:13px}
.en-auth .input{width:100%;box-sizing:border-box;min-height:42px}
.en-auth .btn{justify-content:center}
.en-auth-new{margin:14px 0 0;font-size:13.5px}
.en-auth .indep-line{margin:12px 0 0;color:var(--color-neutral-700)}
.en-notickers{margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--color-divider);max-width:56ch;font-size:14px;line-height:1.5;color:var(--color-neutral-800)}
.en-notickers b{color:var(--color-text)}
@media (max-width:920px){.en-auth{justify-self:stretch;max-width:none}}
