/* ==========================================================================
   QYRAI™ Diagnostic — v2 visual system (SPEC §15)
   Two looks, set by a class on <body> (js/core.js):
   - body.look-site: the website look (qy-rai.com, design/mockups-v2): the Diagnostic flow, Results, sign-up and log-in.
                Maxima Nouva + Instrument Serif. Mockups 01–07 are the source of truth for sizes.
   - body.look-app: the app look, everything under /app. Manrope, calmer scale, serif only for page titles
                and the Primacy Score™. The built app is the source of truth for sizes.
   Colours are shared. Type and spacing tokens live in each scope, so neither can leak into the other.
   Shared components (buttons, pills, inputs) read their sizes from the scope they sit in.
   ========================================================================== */

/* Manrope is only used (so only downloaded) in the app scope. One variable file, weights 400–700, Latin. */
@font-face{font-family:"Manrope";src:url("../assets/fonts/Manrope-Variable.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

/* ---------- Shared: colour, motion ---------- */
.v2{
  --g:#FAF8F3;          /* ground */
  --ink:#0B0B0B;
  --red:#C60021;        /* signal only */
  --red-dk:#EF4B60;     /* small red text on black only (5.5:1); the brand red is 3.2:1 there */
  --sand:#EFC9AB;       /* emphasis on dark; large text on red */
  --pink:#F6DCD9;       /* small text on red */
  --white:#FFFFFF;
  --t1:#3E3934;         /* body grey */
  --t2:#6B645C;         /* smallest grey: small text, placeholders */
  --rule:#DAD3C6;
  --rule-2:#CFC6B8;
  --rule-3:#E6E0D5;
  --soft:#EFEAE1;       /* soft fill (auto chips, code) */
  --note:#F1ECE2;       /* note boxes */
  --you:#F3E7E3;        /* "you" row highlight */
  --you-track:#E6D3CD;
  --dk:#151413;         /* dark panels */
  --dk-rule:#2E2B28;
  --dk-rule-2:#2A2826;
  --dk-line:#3A3733;
  --dk-edge:#5A534D;    /* borders on dark only */
  --dk-t1:#C9C1B7;      /* body text on dark */
  --dk-t2:#B8B1A7;      /* small text on dark */
  --dk-t3:#DCD5CB;
  --dk-t4:#8E877E;      /* subdued text on dark only (5.5:1); never on the ground */
  --serif:"Instrument Serif", Georgia, serif;
  --ease:cubic-bezier(0.22, 1, 0.36, 1);
  --dur:220ms;

  font-family:var(--sans);
  color:var(--ink);
  background:var(--g);
  font-size:var(--fs-base);
  line-height:var(--lh-base);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ---------- Site scope: the website look (qy-rai.com + mockups v2). 12px minimum. ---------- */
.look-site .v2{
  --sans:"Maxima Nouva", Archivo, system-ui, sans-serif;
  --fs-base:16px; --lh-base:1.6;
  --pad:clamp(20px, 4.5vw, 64px);
  /* text */
  --eb-fs:13px; --eb-track:.14em; --eb-w:400; --eb-s:12px; --eb-xs:12px;
  --lbl-fs:12px; --lbl-track:.14em; --lbl-w:600;
  /* Scale cut by about a third (Shina, 21 Oct): a form and a results page, not a poster. */
  --h-hero:clamp(40px, 4.6vw, 68px); --h-hero-lh:.95;
  --h-flow:clamp(36px, 4vw, 60px); --h-flow-lh:.95;
  --h-app:clamp(34px, 3.6vw, 52px); --h-app-lh:.98;
  --h-sec-font:var(--serif); --h-sec-w:400; --h-sec-track:-0.01em; --h-sec:clamp(30px, 3vw, 44px); --h-sec-lh:1.02;
  --h-display:clamp(36px, 4.4vw, 64px);   /* "Your score, and every fix", "However much help" */
  --h-result:clamp(34px, 3.8vw, 56px);    /* Results hero headline */
  --big-num:clamp(64px, 7vw, 96px);       /* the big result figure, at most 96px */
  --big-of:clamp(22px, 2vw, 28px);
  --stat-num:42px;
  /* Body text in Manrope; Maxima stays for eyebrows, labels and buttons (qy-rai.com) */
  --text-font:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lead-fs:17px; --lead-lh:1.6; --lead-max:68ch; --measure:68ch;
  --body-fs:16px; --small-fs:14px; --meta-fs:13px; --text-lh:1.6;
  /* spacing, about 25% tighter */
  --sec-pad:clamp(54px, 6vw, 90px); --hero-pad:clamp(48px, 6vw, 90px); --stack-gap:36px; --stack-gap-s:33px;
  --flow-pad:clamp(42px, 5.2vw, 78px); --flow-pad-b:72px; --flow-gap:clamp(36px, 5.2vw, 90px); --form-gap:33px;
  /* flow details */
  --why-fs:22px; --d1-p:17px; --need-n:38px; --need-fs:clamp(20px, 1.8vw, 24px); --need-pad:20px;
  --live-q:22px; --stage-fs:clamp(20px, 1.9vw, 26px); --stage-pad:16px;
  /* results details */
  --res-name:21px; --res-q:clamp(18px, 1.7vw, 21px); --res-eng:18px; --res-card-h:22px; --res-price:22px;
  /* buttons and links (qy-rai.com: uppercase, 500, 0.14em) */
  --btn-h:48px; --btn-pad:0 30px; --btn-fs:13px; --btn-track:.14em; --btn-case:uppercase; --btn-w:500; --btn-gap:10px;
  --lk-h:44px;
  /* tags, chips, options */
  --pill-h:30px; --pill-pad:0 14px; --pill-fs:12px; --pill-track:.12em; --pill-w:600;
  --pill-tc-fs:14px; --pill-tc-h:36px;
  --chip-h:40px; --chip-pad:0 6px 0 18px; --chip-fs:15px;
  --opt-h:48px; --opt-pad:0 22px; --opt-fs:16px;
  --chipf-h:40px; --chipf-pad:0 18px; --chipf-fs:14px;
  /* fields */
  --uf-font:var(--serif); --uf-w:400; --uf-fs:22px; --uf-lh:1.3; --uf-pad:6px 0 12px; --uf-caret:22px;
  --uf-xl:clamp(30px, 2.6vw, 38px); --uf-l:clamp(28px, 2.4vw, 34px); --uf-m:24px; --uf-s:20px;
  --url-fs:17px; --url-h:48px; --url-pad:5px;
  --sel-h:40px; --sel-lg-h:48px; --sel-fs:14px;
  --bf-h:56px; --bf-r:14px; --bf-pad:0 18px; --bf-fs:16px;
  --field-msg:14px;
  /* shapes */
  --dot:14px;
  --panel-r:20px; --panel-pad:clamp(20px, 2.4vw, 32px); --panel-red-pad:clamp(20px, 2.4vw, 28px);
  --note-r:18px; --note-pad:22px; --reading-r:14px; --reading-pad:18px 20px; --locked-pad:32px;
  --tab-gap:32px; --tab-h:48px; --tab-fs:12px; --tab-track:.14em; --tab-case:uppercase; --tab-w:400;
}
@media (max-width:340px){ .look-site .v2{--h-hero:34px;--h-flow:32px;--h-app:30px;--h-sec:28px;--big-num:60px} }
@media (max-width:430px){ .look-site .v2{--btn-pad:0 20px;--opt-pad:0 16px;--opt-fs:15px;--uf-xl:28px;--uf-l:26px;--uf-m:22px;--why-fs:20px;--d1-p:16px;--need-n:30px;--stat-num:34px;--res-name:19px;--res-card-h:20px} }
/* Website look: body text in Manrope; Maxima only for eyebrows, labels, buttons, pills, options and steps. */
.look-site .v2{font-family:var(--text-font)}
.look-site .v2 :is(.eb,.lbl,.btn,.pill,.opt,.chipf,.chip,.tag,.r2-tag,.soon-tag,.skip-demo,.fh-exit,.fsteps,.fsteps-red,.stage2 .st,.r2-dev,.url-pill input,legend,caption,th){font-family:var(--sans)}
.look-site .v2 main p{max-width:var(--measure)}

/* ---------- App scope: the app look (Manrope, calm scale) ---------- */
.look-app .v2{
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-base:15px; --lh-base:1.55;
  --pad:32px;
  /* named scale (SPEC §15), used by the app screens */
  --fs-title:32px; --fs-h:20px; --fs-card:17px; --fs-body:15px; --fs-sec:14px; --fs-label:12px;
  --fs-stat:28px; --fs-btn:14px; --fs-tag:12px; --fs-score:72px; --fs-score-xl:96px;
  --lh-title:1.15; --lh-body:1.55; --track:.06em; --measure:68ch; --card-pad:24px; --gap:20px; --tag-h:26px;
  /* text */
  --eb-fs:12px; --eb-track:.06em; --eb-w:500; --eb-s:12px; --eb-xs:12px;
  --lbl-fs:12px; --lbl-track:.06em; --lbl-w:500;
  --h-hero:32px; --h-hero-lh:1.15;
  --h-flow:32px; --h-flow-lh:1.15;
  --h-app:var(--fs-title); --h-app-lh:var(--lh-title);
  --h-sec-font:var(--sans); --h-sec-w:600; --h-sec-track:0; --h-sec:var(--fs-h); --h-sec-lh:1.3;
  --lead-fs:15px; --lead-lh:1.55; --lead-max:68ch;
  --body-fs:15px; --small-fs:14px; --meta-fs:13px; --text-lh:1.55;
  /* buttons and links */
  --btn-h:40px; --btn-pad:0 18px; --btn-fs:14px; --btn-track:0; --btn-case:none; --btn-w:600; --btn-gap:8px;
  --lk-h:40px;
  /* tags, chips, options */
  --pill-h:26px; --pill-pad:0 10px; --pill-fs:12px; --pill-track:.06em; --pill-w:500;
  --pill-tc-fs:13px; --pill-tc-h:32px;
  --chip-h:36px; --chip-pad:0 4px 0 14px; --chip-fs:14px;
  --opt-h:44px; --opt-pad:0 18px; --opt-fs:15px;
  --chipf-h:36px; --chipf-pad:0 14px; --chipf-fs:14px;
  /* fields */
  --uf-font:var(--sans); --uf-w:500; --uf-fs:18px; --uf-lh:1.4; --uf-pad:6px 0 10px; --uf-caret:16px;
  --uf-xl:22px; --uf-l:20px; --uf-m:18px; --uf-s:15px;
  --url-fs:16px; --url-h:44px; --url-pad:5px;
  --sel-h:40px; --sel-lg-h:40px; --sel-fs:14px;
  --bf-h:44px; --bf-r:12px; --bf-pad:0 14px; --bf-fs:15px;
  --field-msg:14px;
  /* shapes */
  --dot:12px;
  --panel-r:18px; --panel-pad:var(--card-pad); --panel-red-pad:var(--card-pad);
  --note-r:14px; --note-pad:20px; --reading-r:12px; --reading-pad:14px 16px; --locked-pad:var(--card-pad);
  --tab-gap:24px; --tab-h:44px; --tab-fs:14px; --tab-track:0; --tab-case:none; --tab-w:500;
}
@media (max-width:640px){ .look-app .v2{--pad:20px;--fs-title:26px;--fs-score:64px;--fs-score-xl:72px;--fs-stat:24px;--btn-pad:0 16px} }
/* The app never shows Maxima: keep body-level text (toast, skip link) on Manrope too */
body.look-app{font-family:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif}

.v2 *,.v2 *::before,.v2 *::after{box-sizing:border-box}
.v2 a{color:inherit;text-decoration:none}
.v2 a:hover{color:inherit}
.v2 h1,.v2 h2,.v2 h3,.v2 p,.v2 ol,.v2 ul,.v2 dl,.v2 dd,.v2 blockquote,.v2 figure{margin:0}
.v2 ol,.v2 ul{padding:0;list-style:none}
.v2 button{font:inherit;color:inherit}
.v2 ::selection{background:var(--red);color:var(--g)}
.v2 :focus-visible{outline:2px solid var(--red);outline-offset:3px}
.v2 .dark :focus-visible,.v2.dark :focus-visible,.v2 .on-red :focus-visible,.v2.on-red :focus-visible{outline-color:var(--sand)}
.v2 .dark ::selection,.v2.dark ::selection{background:var(--sand);color:var(--ink)}

.v2 .wrap{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.v2 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Grounds ---------- */
.v2 .dark,.v2.dark{background:var(--ink);color:var(--g)}
.v2 .on-red,.v2.on-red{background:var(--red);color:var(--g)}
.v2 .white{background:var(--white)}

/* ---------- Type ---------- */
.v2 .serif{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em}
.v2 .it{font-style:italic}
/* In the app, serif is only for page titles and the Primacy Score (class "score"). Low specificity on purpose. */
.look-app .v2 :where(.serif:not(.score)){font-family:var(--sans);font-weight:600;letter-spacing:0}
.v2 .eb::before{content:none;display:none}
.v2 .eb{display:revert;font-size:var(--eb-fs);letter-spacing:var(--eb-track);text-transform:uppercase;font-weight:var(--eb-w);line-height:1.4}
.v2 .eb-s{font-size:var(--eb-s)}
.v2 .eb-xs{font-size:var(--eb-xs)}
.v2 .lbl{font-size:var(--lbl-fs);letter-spacing:var(--lbl-track);text-transform:uppercase;font-weight:var(--lbl-w);color:var(--t1);line-height:1.4}
.v2 .dark .lbl{color:var(--dk-t2)}
.v2 .h-hero{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;font-size:var(--h-hero);line-height:var(--h-hero-lh)}
.v2 .h-flow{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;font-size:var(--h-flow);line-height:var(--h-flow-lh)}
.v2 .h-app{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;font-size:var(--h-app);line-height:var(--h-app-lh)}
.v2 .h-sec{font-family:var(--h-sec-font);font-weight:var(--h-sec-w);letter-spacing:var(--h-sec-track);font-size:var(--h-sec);line-height:var(--h-sec-lh)}
.v2 .lead{font-size:var(--lead-fs);line-height:var(--lead-lh);color:var(--t1);max-width:var(--lead-max)}
.v2 .dark .lead{color:var(--dk-t1)}
.v2 .body{font-size:var(--body-fs);line-height:var(--text-lh);color:var(--t1)}
.v2 .small{font-size:var(--small-fs);line-height:var(--text-lh);color:var(--t1)}
.v2 .meta{font-size:var(--meta-fs);color:var(--t2);text-transform:none;letter-spacing:0}
.v2 .dark .meta,.v2.dark .meta,.v2 .panel-ink .meta{color:var(--dk-t2)}
.v2 .c-red{color:var(--red)}
.v2 .c-sand{color:var(--sand)}
.v2 .c-pink{color:var(--pink)}
.v2 .c-t1{color:var(--t1)}
.v2 .c-t2{color:var(--t2)}
.v2 .dark .c-t1{color:var(--dk-t1)}
.v2 .dark .c-t2{color:var(--dk-t2)}
/* Numbers line up in tables, stats and lists (app) */
.look-app .v2 table,.look-app .v2 [class*="stat"],.look-app .v2 .pct,.look-app .v2 .n,.look-app .v2 .score,.look-app .v2 dd,.look-app .v2 .a2-share,.look-app .v2 .a2-vis,.look-app .v2 .a2-runs,.look-app .v2 .a2-mini,.look-app .v2 .a2-dim,.look-app .v2 .a2-st,.look-app .v2 .a2-pctbig,.look-app .v2 .a2-phd,.look-app .v2 .a2-crow,.look-app .v2 .a2-eng{font-variant-numeric:tabular-nums}

/* ---------- Buttons ---------- */
.v2 .btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);height:var(--btn-h);padding:var(--btn-pad);border-radius:999px;font-family:var(--sans);font-size:var(--btn-fs);letter-spacing:var(--btn-track);text-transform:var(--btn-case);font-weight:var(--btn-w);line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;max-width:100%;transition:filter var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.v2 .btn:hover{filter:brightness(.9)}
.v2 .ar{display:inline-block;transition:transform var(--dur) var(--ease)}
.v2 .btn:hover .ar,.v2 .lk:hover .ar{transform:translateX(5px)}
.v2 .btn-ink{background:var(--ink);color:var(--g)}
.v2 .btn-red{background:var(--red);color:var(--g)}
.v2 .btn-light{background:var(--g);color:var(--ink)}
.v2 .btn-line{background:transparent;border-color:var(--ink);color:var(--ink)}
.v2 .btn-line:hover{filter:none;background:rgba(11,11,11,.05);color:var(--ink);border-color:var(--ink)}
.v2 .btn-ink:hover{background:var(--ink);color:var(--g)}
.v2 .btn-red:hover{background:var(--red);color:var(--g)}
.v2 .btn-light:hover{background:var(--g);color:var(--ink)}
.v2 .btn-line-light{background:transparent;border-color:var(--g);color:var(--g)}
.v2 .btn-line-dk{background:transparent;border-color:var(--dk-edge);color:var(--g)}
.v2 .btn-line-light:hover,.v2 .btn-line-dk:hover{filter:none;background:rgba(250,248,243,.08);color:var(--g)}
/* Size modifiers are a website-look thing (mockups); in the app every button is one size */
.look-site .v2 .btn-52{height:52px;padding:0 28px}
.look-site .v2 .btn-48{height:48px;padding:0 24px;font-size:12px}
.look-site .v2 .btn-46{height:46px;padding:0 24px}
.look-site .v2 .btn-40{height:40px;padding:0 18px;font-size:12px}
.v2 .btn-block{display:flex;width:100%}
.v2 .btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;filter:none}
.v2 .btn .soon{font-size:12px;letter-spacing:var(--pill-track);opacity:.9}

/* Text link with arrow */
.v2 .lk{display:inline-flex;align-items:center;gap:8px;min-height:var(--lk-h)}
.v2 .ul{text-decoration:underline;text-underline-offset:3px}

/* ---------- Pills (tags) ---------- */
.v2 .pill{display:inline-flex;align-items:center;gap:6px;height:var(--pill-h);padding:var(--pill-pad);border-radius:999px;font-size:var(--pill-fs);letter-spacing:var(--pill-track);text-transform:uppercase;font-weight:var(--pill-w);white-space:nowrap;border:1px solid transparent;line-height:1}
.v2 .pill-ink{background:var(--ink);color:var(--g)}
.v2 .pill-line{border-color:var(--rule-2);color:var(--ink)}
.v2 .pill-line-ink{border-color:var(--ink);color:var(--ink)}
.v2 .pill-soft{background:var(--rule-3);color:var(--ink)}
.v2 .pill-dash{border:1px dashed var(--dk-t4);color:var(--t1)}
.v2 .pill-red{background:var(--red);color:var(--g)}
.v2 .pill-red-line{border-color:var(--red);color:var(--red)}
.v2 .pill-light{background:var(--g);color:var(--ink)}
.v2 .pill-dk{background:var(--dk-rule-2);color:var(--sand)}
.v2 .pill-dk-line{border-color:var(--dk-edge);color:var(--dk-t3)}
.v2 .pill-tc{text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--pill-tc-fs);height:var(--pill-tc-h)}
/* "Demo data" marker */
.v2 .demo{display:inline-flex;align-items:center;height:var(--pill-h);padding:var(--pill-pad);border-radius:999px;border:1px dashed var(--dk-t4);color:var(--t1);font-size:var(--pill-fs);letter-spacing:var(--pill-track);text-transform:uppercase;font-weight:var(--pill-w);white-space:nowrap}
.v2 .dark .demo,.v2.dark .demo{border-color:var(--dk-edge);color:var(--dk-t2)}

/* ---------- Chips and choice buttons ---------- */
/* Removable chip (aliases, products) */
.v2 .chip{display:inline-flex;align-items:center;gap:8px;height:var(--chip-h);padding:var(--chip-pad);border-radius:999px;border:1px solid var(--rule-2);font-size:var(--chip-fs);background:transparent}
.v2 .chip .x{position:relative;width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--t1);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.v2 .chip .x::after{content:"";position:absolute;inset:-7px}
.v2 .chip .x:hover{background:var(--soft)}
.v2 .chip-auto{background:var(--soft);border-color:var(--soft);padding-right:18px}
.v2 .chip-auto .tag{font-size:12px;letter-spacing:var(--pill-track);text-transform:uppercase;color:var(--t1)}
/* Big single-choice option (category) */
.v2 .opt{display:inline-flex;align-items:center;gap:10px;height:var(--opt-h);padding:var(--opt-pad);border-radius:999px;border:1px solid var(--rule-2);background:transparent;font-size:var(--opt-fs);color:var(--ink);cursor:pointer;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.v2 .opt:hover{border-color:var(--ink)}
.v2 .opt[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--g)}
/* Filter chip (Monitor, Fixes, Help) */
.v2 .chipf{position:relative;display:inline-flex;align-items:center;gap:6px;height:var(--chipf-h);padding:var(--chipf-pad);border-radius:999px;border:1px solid var(--rule-2);background:transparent;font-size:var(--chipf-fs);color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color var(--dur) var(--ease)}
.v2 .chipf:hover{border-color:var(--ink)}
.v2 .chipf[aria-pressed="true"],.v2 .chipf[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--g)}
.v2 .chipf-lg{height:calc(var(--chipf-h) + 2px);font-size:calc(var(--chipf-fs) + 1px)}
.v2 .dark .chipf{border-color:var(--dk-line);color:var(--dk-t3)}
.v2 .dark .chipf[aria-pressed="true"],.v2 .dark .chipf[aria-selected="true"]{background:var(--g);border-color:var(--g);color:var(--ink)}

/* ---------- Form fields ---------- */
/* Underlined field (Diagnostic steps: serif on the site; Manrope in the app, e.g. Help) */
.v2 .uf{display:flex;flex-direction:column;gap:10px;position:relative}
.v2 .uf input,.v2 .uf textarea,.v2 .uf select{width:100%;font-family:var(--uf-font);font-weight:var(--uf-w);font-size:var(--uf-fs);line-height:var(--uf-lh);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule-2);border-radius:0;padding:var(--uf-pad);outline:none;transition:border-color var(--dur) var(--ease);-webkit-appearance:none;appearance:none}
.v2 .uf input:focus,.v2 .uf textarea:focus,.v2 .uf select:focus{border-bottom-color:var(--red)}
.v2 .uf input:focus-visible,.v2 .uf textarea:focus-visible,.v2 .uf select:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.v2 .uf input::placeholder,.v2 .uf textarea::placeholder{color:var(--t2);opacity:1}
.v2 .uf textarea{resize:vertical}
.v2 .uf select{cursor:pointer;padding-right:28px}
.v2 .uf .caret{position:absolute;right:4px;bottom:var(--uf-caret);font-size:14px;pointer-events:none}
.v2 .uf.xl input{font-size:var(--uf-xl);line-height:1.1}
.v2 .uf.l select,.v2 .uf.l input{font-size:var(--uf-l);line-height:1.15}
.v2 .uf.m input,.v2 .uf.m textarea{font-size:var(--uf-m)}
.v2 .uf.s input,.v2 .uf.s textarea{font-size:var(--uf-s);line-height:1.35}
.v2 .uf.invalid input,.v2 .uf.invalid textarea{border-bottom-color:var(--red)}
.v2 .hint{font-size:var(--field-msg);line-height:1.6;color:var(--t1)}
.v2 .err{display:flex;gap:10px;align-items:center;font-size:var(--field-msg);color:var(--red)}
.v2 .ok{display:flex;gap:10px;align-items:center;font-size:var(--field-msg);color:var(--t1)}
.v2 .ok::before,.v2 .err::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}
/* URL field in a pill (step 1, on red) */
.v2 .url-pill{display:flex;align-items:center;background:var(--g);border-radius:999px;padding:var(--url-pad);gap:8px;color:var(--ink)}
.v2 .url-pill .pre{padding-left:22px;font-size:var(--url-fs);color:var(--t2)}
.v2 .url-pill input{flex:1 1 auto;min-width:0;border:0;background:transparent;font-family:var(--sans);font-size:var(--url-fs);color:var(--ink);height:var(--url-h);outline:none}
.v2 .url-pill input::placeholder{color:var(--t2);opacity:1}
.v2 .url-pill:focus-within{box-shadow:0 0 0 2px var(--sand)}
@media (max-width:520px){
  .v2 .url-pill{flex-wrap:wrap;border-radius:28px;padding:8px}
  .v2 .url-pill .pre{padding-left:14px}
  .v2 .url-pill .btn{flex:1 1 100%;justify-content:space-between}
}
/* Rounded select (fix status) */
.v2 .sel{font-family:var(--sans);font-size:var(--sel-fs);height:var(--sel-h);padding:0 14px;border-radius:999px;border:1px solid var(--rule-2);background:var(--white);color:var(--ink);width:100%;cursor:pointer}
.v2 .sel-lg{height:var(--sel-lg-h);padding:0 16px;min-width:180px}
.v2 .sel.prog{border-color:var(--red)}
/* Boxed field (sign-up, settings) */
.v2 .bf{display:flex;flex-direction:column;gap:8px}
.v2 .bf label{font-size:var(--lbl-fs);letter-spacing:var(--lbl-track);text-transform:uppercase;font-weight:var(--lbl-w);color:var(--t1)}
.v2 .bf .box{display:flex;align-items:center;height:var(--bf-h);border-radius:var(--bf-r);background:var(--white);border:1px solid var(--rule-2);padding:var(--bf-pad);transition:border-color var(--dur) var(--ease)}
.v2 .bf .box:focus-within{border-color:var(--red)}
.v2 .bf input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--sans);font-size:var(--bf-fs);color:var(--ink);height:100%}
.v2 .bf input::placeholder{color:var(--t2);opacity:1}
.v2 .bf.invalid .box{border-color:var(--red)}

/* ---------- Bars, dots, rules ---------- */
.v2 .bar{position:relative;display:block;height:5px;border-radius:999px;background:var(--rule-3);overflow:hidden}
.v2 .bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--ink);transform-origin:left center;animation:v2-fill .9s var(--ease) both}
.v2 .bar>i.r{background:var(--red)}
.v2 .dark .bar{background:var(--dk-rule-2)}
.v2 .bar.dashed{background:repeating-linear-gradient(90deg, var(--rule) 0 8px, transparent 8px 14px)}
@keyframes v2-fill{from{transform:scaleX(0)}}
.v2 .dot{display:inline-block;width:var(--dot);height:var(--dot);border-radius:50%;flex:none}
.v2 .dot.c{background:var(--red)}
.v2 .dot.m{background:var(--ink)}
.v2 .dot.a{border:1px solid var(--t2)}
.v2 .dot.f{border:1px dashed var(--t2);background:var(--soft)}
.v2 .rule-top{border-top:1px solid var(--ink)}
.v2 .rule-soft{border-top:1px solid var(--rule)}

/* ---------- Panels ---------- */
.v2 .panel{background:var(--white);border:1px solid var(--rule-3);border-radius:var(--panel-r);padding:var(--panel-pad)}
.v2 .panel-ink{background:var(--ink);color:var(--g);border-radius:var(--panel-r);padding:var(--panel-pad)}
.v2 .panel-dk{background:var(--dk);border:1px solid var(--dk-rule);border-radius:var(--panel-r);padding:var(--panel-pad)}
.v2 .panel-red-line{border:1px solid var(--red);border-radius:var(--panel-r);padding:var(--panel-red-pad)}
.v2 .note{background:var(--note);border-radius:var(--note-r);padding:var(--note-pad)}
.v2 .reading{border:1px dashed var(--dk-edge);border-radius:var(--reading-r);padding:var(--reading-pad)}
.v2 .locked{border:1px dashed var(--rule-2);border-radius:var(--panel-r);padding:var(--locked-pad);background:var(--white)}

/* ---------- Tabs ---------- */
.v2 .tabs{display:flex;gap:var(--tab-gap);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none;position:relative;z-index:1}
.v2 .tabs::-webkit-scrollbar{display:none}
.v2 .tabs a{display:inline-flex;align-items:center;height:var(--tab-h);padding:0 2px;font-size:var(--tab-fs);letter-spacing:var(--tab-track);text-transform:var(--tab-case);font-weight:var(--tab-w);border-bottom:2px solid transparent;white-space:nowrap;color:var(--t1)}
.v2 .tabs a:hover{color:var(--ink)}
.v2 .tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}

.v2.app2 .wrap{max-width:calc(1200px + 2 * var(--pad))}

/* ##########################################################################
   WEBSITE LOOK (body.look-site): Diagnostic flow header, flow screens, Results, sign-up and log-in.
   Sizes as drawn in design/mockups-v2. Accessibility: 12px minimum, #6B645C smallest grey,
   pale pink for small text on red, 44px tap areas.
   ########################################################################## */
/* ==========================================================================
   Diagnostic flow header
   ========================================================================== */
.v2 .fh{max-width:1440px;margin:0 auto;padding:0 var(--pad);width:100%}
.v2 .fh-row{height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.v2 .fh-brand{display:flex;align-items:center;gap:18px}
.v2 .fh-brand img{width:112px;height:auto;display:block}
.v2 .fh-brand .div{width:1px;height:22px;background:var(--rule-2)}
.v2 .fh-exit{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.v2 .fh-exit:hover{color:var(--red)}
/* Light steps (steps 2-5) */
.v2 .fsteps{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:16px;margin-top:8px}
.v2 .fsteps li{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--t2);min-width:0}
.v2 .fsteps li::before{content:"";height:2px;background:var(--rule)}
.v2 .fsteps li.done{color:var(--ink)}
.v2 .fsteps li.done::before{background:var(--ink)}
.v2 .fsteps li.cur{color:var(--red)}
.v2 .fsteps li.cur::before{background:var(--red)}
.v2 .fsteps .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){
  .v2 .fsteps{gap:8px}
  .v2 .fsteps .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
/* Red header (step 1) */
.v2 .fh-red{border-bottom:1px solid rgba(250,248,243,.22)}
.v2 .fh-red .fh-brand img{width:118px}
.v2 .fh-red .fh-exit:hover,.v2 .fh-dark .fh-exit:hover{color:var(--pink)}
.v2 .fsteps-red{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:16px}
.v2 .fsteps-red li{border-top:1px solid rgba(250,248,243,.35);padding-top:14px;display:flex;gap:12px;align-items:baseline;color:var(--pink);min-width:0}
.v2 .fsteps-red li.cur{border-top:2px solid var(--g);padding-top:13px;color:var(--g)}
.v2 .fsteps-red .n{font-family:var(--serif);font-size:26px;line-height:1}
.v2 .fsteps-red .t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){ .v2 .fsteps-red{gap:8px} .v2 .fsteps-red .t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} }
/* "Step N of 5" + full step name, phones only */
.v2 .fsteps-now{display:none}
@media (max-width:640px){
  .v2 .fsteps-now{display:flex;flex-direction:column;gap:2px;margin-top:12px}
  .v2 .fsteps-now span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
  .v2 .fsteps-now b{font-weight:400;font-size:16px;color:var(--ink)}
  .v2 .fsteps-red+.fsteps-now span{color:var(--pink)}
  .v2 .fsteps-red+.fsteps-now b{color:var(--g)}
}
/* Dark header (Analysing) */
.v2 .fh-dark{border-bottom:1px solid var(--dk-rule-2)}
.v2 .fh-dark .skip-demo{display:inline-flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--dk-line);border-radius:999px;padding:0 18px;color:var(--dk-t2)}
.v2 .fh-dark .skip-demo:hover{color:var(--g);border-color:var(--dk-edge)}
@media (max-width:520px){ .v2 .fh-row .mid{display:none} .v2 .fh-brand img{width:92px} .v2 .fh-brand{gap:12px} }


/* ##########################################################################
   APP LOOK (body.look-app): app shell and every /app screen. Uses the named scale (--fs-*).
   ########################################################################## */
/* ==========================================================================
   App shell: black sidebar (desktop) / compact bar (phones, small tablets)
   ========================================================================== */
.v2.app2{display:grid;grid-template-columns:248px minmax(0, 1fr);min-height:100dvh;min-height:100dvh;--pad:32px}
.v2 .side{position:sticky;top:0;height:100dvh;height:100dvh;overflow-y:auto;scrollbar-width:none;background:var(--ink);color:var(--g);padding:24px 20px;display:flex;flex-direction:column;gap:20px}
.v2 .side::-webkit-scrollbar{display:none}
.v2 .side :focus-visible{outline-color:var(--sand)}
.v2 .side-brand{display:flex;flex-direction:column;gap:6px}
.v2 .side-brand img{width:96px;height:auto;display:block}
.v2 .side-brand span{font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;color:var(--sand);font-weight:500}
.v2 .bsw{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;border:0;border-top:1px solid var(--dk-rule-2);border-bottom:1px solid var(--dk-rule-2);background:transparent;color:var(--g);text-align:left;cursor:pointer}
.v2 .bsw .av{width:32px;height:32px;border-radius:50%;border:1px solid var(--dk-edge);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14px;flex:none;font-weight:600}
.v2 .bsw .who{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}
.v2 .bsw .who b{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2 .bsw .who span{font-size:var(--fs-label);color:var(--dk-t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2 .bsw .cv{font-size:12px;color:var(--dk-t2)}
.v2 .snav{display:flex;flex-direction:column;gap:14px}
.v2 .sgroup{display:flex;flex-direction:column;gap:0}
.v2 .sgroup>.g{font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;color:var(--dk-t4);padding-bottom:4px;font-weight:500}
.v2 .snav a,.v2 .slinks a{display:flex;gap:12px;align-items:center;min-height:40px;padding:6px 0;color:var(--dk-t1);font-size:var(--fs-body);transition:color var(--dur) var(--ease);font-weight:500}
.v2 .snav a:hover,.v2 .slinks a:hover{color:var(--g)}
.v2 .snav .n,.v2 .slinks .n{font-family:var(--sans);font-size:var(--fs-label);color:var(--dk-t4);width:20px;flex:none;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}
.v2 .snav a[aria-current="page"],.v2 .slinks a[aria-current="page"]{color:var(--g)}
.v2 .snav a[aria-current="page"] .n,.v2 .slinks a[aria-current="page"] .n{color:var(--red-dk)}
.v2 .snav a[aria-current="page"]::after,.v2 .slinks a[aria-current="page"]::after{content:"";margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--red);align-self:center}
.v2 .side-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--dk-rule-2);padding-top:14px}
.v2 .planline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;font-size:var(--fs-label);color:var(--dk-t2);line-height:1.5}
.v2 .planline a{font-size:var(--fs-label);color:var(--sand);min-height:40px;display:inline-flex;align-items:center}
.v2 .slinks{display:flex;flex-direction:column}
.v2 .side .run{margin-top:10px;display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);border-radius:999px;border:1px solid var(--dk-edge);font-size:var(--fs-btn);text-transform:none;color:var(--g);text-align:center;padding:0 10px;letter-spacing:0;white-space:nowrap;font-weight:600}
.v2 .side .run:hover{background:rgba(250,248,243,.08)}
.v2 .side-close{display:none}

/* Top bar */
.v2 .tbar{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--rule-3)}
.v2 .tbar .crumb{font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;color:var(--t1);font-weight:500}
.v2 .tbar .r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.v2 .tbar .last{font-size:13px;color:var(--t1)}
.v2 .acc{width:32px;height:32px;border-radius:50%;border:1px solid var(--ink);background:transparent;font-size:var(--fs-label);letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;position:relative}
.v2 .acc:hover{background:var(--ink);color:var(--g)}
.v2 .app-page{padding-top:32px;padding-bottom:72px;display:flex;flex-direction:column;gap:32px;max-width:calc(1200px + 2 * var(--pad))}
.v2 .page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}
.v2 .page-head>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.v2 .page-head p{max-width:var(--measure)}
@media (max-width:600px){ .v2 .tbar .last{display:none} }

/* Compact bar (≤1024px) */
.v2 .cbar{display:none}
.v2 .scrim2{display:none}
@media (max-width:1024px){
  .v2.app2{grid-template-columns:minmax(0, 1fr)}
  .v2 .cbar{display:block;position:sticky;top:0;z-index:30;background:var(--ink);color:var(--g)}
  .v2 .cbar :focus-visible{outline-color:var(--sand)}
  .v2 .cbar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px;padding:0 var(--pad)}
  .v2 .cbar-top .b{display:flex;align-items:center;gap:14px;min-width:0}
  .v2 .cbar-top img{width:88px;height:auto;display:block}
  .v2 .cbar-top .here{font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;color:var(--sand);padding-left:14px;border-left:1px solid var(--dk-rule-2);white-space:nowrap;font-weight:500}
  .v2 .cbar-top .menu{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--dk-edge);background:transparent;color:var(--g);font-size:var(--fs-btn);letter-spacing:0;text-transform:none;cursor:pointer;font-weight:600}
  .v2 .cbar-top .menu i{display:block;width:14px;height:1px;background:currentColor;box-shadow:0 4px 0 currentColor;margin-top:-4px}
  .v2 .cbar-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:0 var(--pad);border-top:1px solid var(--dk-rule-2)}
  .v2 .cbar-nav::-webkit-scrollbar{display:none}
  .v2 .cbar-nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 10px 8px;font-size:var(--fs-sec);color:var(--dk-t1);white-space:nowrap;border-bottom:2px solid transparent;font-weight:500}
  .v2 .cbar-nav a:first-child{padding-left:0}
  .v2 .cbar-nav a .n{font-family:var(--sans);font-size:var(--fs-label);color:var(--dk-t4);font-variant-numeric:tabular-nums}
  .v2 .cbar-nav a[aria-current="page"]{color:var(--g);border-bottom-color:var(--red)}
  .v2 .cbar-nav a[aria-current="page"] .n{color:var(--red-dk)}
  /* Full list as a drawer */
  .v2 .side{position:fixed;left:0;top:0;bottom:0;z-index:60;width:min(300px, 86vw);transform:translateX(-100%);visibility:hidden;transition:transform .4s var(--ease),visibility 0s linear .4s}
  .v2 .side.open{transform:none;visibility:visible;transition:transform .4s var(--ease)}
  .v2 .side-close{display:inline-flex;position:absolute;right:16px;top:18px;align-items:center;gap:8px;min-height:44px;padding:0 10px;border:0;background:transparent;color:var(--dk-t2);font-size:13px;cursor:pointer}
  .v2 .scrim2{display:block;position:fixed;inset:0;z-index:55;background:rgba(11,11,11,.5);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
  .v2 .scrim2.open{opacity:1;pointer-events:auto}
}
@media (max-width:375px){ .v2 .cbar-top .here{display:none} }

/* Toast in v2 screens uses the v1 toast (body-level) */

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

/* Logo links keep a 44px tap area */
.v2 .fh-brand>a,.v2 .cbar-top .b{display:inline-flex;align-items:center;min-height:44px}
/* Touch: 40px controls (as drawn) get a 44px hit area */
@media (max-width:1024px), (pointer:coarse){
  .v2 .btn::after,.v2 .chipf::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
  .v2 .acc::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
  .v2 .snav a,.v2 .slinks a,.v2 .planline a{min-height:44px}
  .v2 .sel{min-height:44px}
}


/* ##########################################################################
   WEBSITE LOOK (body.look-site): Diagnostic flow header, flow screens, Results, sign-up and log-in.
   Sizes as drawn in design/mockups-v2. Accessibility: 12px minimum, #6B645C smallest grey,
   pale pink for small text on red, 44px tap areas.
   ########################################################################## */
/* ==========================================================================
   Diagnostic flow screens (redesign step 3)
   ========================================================================== */
.v2.dflow{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.v2 .dmain{flex:1 1 auto;width:100%;max-width:1440px;margin:0 auto;padding:var(--flow-pad) var(--pad) var(--flow-pad-b);display:flex;flex-wrap:wrap;gap:var(--flow-gap)}
.v2 .dform{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:var(--form-gap)}
.v2 .dform .head{display:flex;flex-direction:column;gap:16px}
.v2 .daside{flex:1 1 300px;min-width:0;align-self:flex-start;display:flex;flex-direction:column;gap:22px;padding-top:8px}
.v2 .daside .why{font-family:var(--serif);font-size:var(--why-fs);line-height:1.25;padding-top:18px}
.v2 .dactions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px}
.v2 .chips{display:flex;flex-wrap:wrap;gap:10px;max-width:760px}
.v2 .opts{display:flex;flex-wrap:wrap;gap:12px}
.v2 fieldset{border:0;margin:0;padding:0;min-width:0}
.v2 legend{padding:0 0 18px}
.v2 .soon-row{border-top:1px solid var(--rule-2);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.v2 .soon-tag{display:inline-flex;align-items:center;min-height:40px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px dashed var(--dk-t4);border-radius:999px;padding:0 16px;color:var(--t1)}
.v2 .two-col{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:40px}
@media (max-width:768px){ .v2 .dmain{padding-top:32px;padding-bottom:48px} .v2 .dform{gap:28px} }

/* Step 1, on red */
.v2 .d1main{flex:1 1 auto;width:100%;max-width:1440px;margin:0 auto;padding:var(--flow-pad) var(--pad);display:flex;flex-wrap:wrap;gap:48px;align-items:flex-end}
.v2 .d1copy{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.v2 .d1copy p{font-size:var(--d1-p);line-height:1.6;max-width:540px}
.v2 .d1form{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.v2 .d1steps{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--pad) 40px}
.v2 .d1form .msg{font-size:14px;line-height:1.6;color:var(--pink)}
.v2 .d1form .msg strong{font-weight:600;color:var(--g)}
.v2 .d1form .demo-try{align-self:flex-start;background:none;border:0;padding:0;min-height:44px;font-size:14px;color:var(--g);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:768px){ .v2 .d1main{gap:32px} }

/* Step 5, buyer needs */
.v2 .needs{display:flex;flex-direction:column;margin-top:16px;border-bottom:1px solid var(--rule-2)}
.v2 .need{display:grid;grid-template-columns:56px minmax(0, 1fr);gap:16px;align-items:start;border-top:1px solid var(--rule-2);padding:var(--need-pad) 0}
.v2 .need .n{font-family:var(--serif);font-size:var(--need-n);line-height:1;color:var(--red)}
.v2 .need .f{display:flex;flex-direction:column;gap:8px;min-width:0}
.v2 .need textarea{display:block;resize:none;overflow:hidden;line-height:1.3;font-family:var(--serif);font-size:var(--need-fs);border:0;border-bottom:1px solid transparent;background:transparent;width:100%;padding:4px 0;color:var(--ink);outline:none;transition:border-color var(--dur) var(--ease)}
.v2 .need textarea:hover{border-bottom-color:var(--rule-2)}
.v2 .need textarea:focus{border-bottom-color:var(--red)}
.v2 .need textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.v2 .need textarea::placeholder{color:var(--t2);opacity:1}
.v2 .need.bad textarea{border-bottom-color:var(--red)}
.v2 .summary{flex:1 1 320px;min-width:0;align-self:flex-start;background:var(--ink);color:var(--g);border-radius:var(--panel-r);padding:var(--panel-pad);display:flex;flex-direction:column;gap:18px}
.v2 .summary dl{display:flex;flex-direction:column}
.v2 .summary dl>div{border-top:1px solid var(--dk-rule);padding:16px 0;display:flex;justify-content:space-between;gap:16px}
.v2 .summary dl>div:last-child{border-bottom:1px solid var(--dk-rule)}
.v2 .summary dt{font-size:14px;color:var(--dk-t2)}
.v2 .summary dd{font-size:15px;text-align:right;overflow-wrap:anywhere}
.v2 .summary dd small{display:block;color:var(--dk-t2);font-size:13px}
.v2 .summary p{font-size:14px;line-height:1.6;color:var(--dk-t2)}
@media (max-width:520px){ .v2 .need{grid-template-columns:38px minmax(0, 1fr);gap:12px} }

/* Analysing */
.v2.an2{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.v2 .an2main{flex:1 1 auto;width:100%;max-width:1440px;margin:0 auto;padding:var(--flow-pad) var(--pad);display:flex;flex-wrap:wrap;gap:var(--flow-gap)}
.v2 .an2copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.v2 .an2copy>p{font-size:var(--lead-fs);line-height:1.6;color:var(--dk-t1);max-width:440px}
.v2 .live{margin-top:14px;border:1px solid var(--dk-rule);border-radius:var(--panel-r);padding:var(--panel-pad);display:flex;flex-direction:column;gap:16px;background:var(--dk)}
.v2 .live.alert{border-color:var(--red)}
.v2 .live .q{font-family:var(--serif);font-size:var(--live-q);line-height:1.2}
.v2 .live .note2{font-size:14px;color:var(--dk-t2)}
.v2 .live .txt{font-size:15px;line-height:1.6;color:var(--dk-t1)}
.v2 .stages2{flex:999 1 520px;min-width:0;align-self:center;display:flex;flex-direction:column}
.v2 .stage2{display:grid;grid-template-columns:44px minmax(0, 1fr) auto;gap:18px;align-items:center;padding:var(--stage-pad) 0;border-top:1px solid var(--dk-rule-2)}
.v2 .stage2:last-child{border-bottom:1px solid var(--dk-rule-2)}
.v2 .stage2 .name{font-family:var(--serif);font-size:var(--stage-fs);line-height:1.2}
.v2 .stage2 .st{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-t2);text-align:right}
.v2 .sdot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--dk-line)}
.v2 .stage2.waiting{color:var(--dk-t4)}
.v2 .stage2.waiting .st{color:var(--dk-t4)}
.v2 .stage2.done .sdot{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.v2 .stage2.active .sdot{background:var(--red);border-color:var(--red);animation:v2-pulse 1.8s var(--ease) infinite}
.v2 .stage2.active .sdot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--g)}
.v2 .stage2.active .st{color:var(--sand)}
.v2 .stage2.warn .sdot{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.v2 .stage2.warn .st{color:var(--sand)}
@keyframes v2-pulse{0%{box-shadow:0 0 0 0 rgba(198,0,33,.55)}70%{box-shadow:0 0 0 14px rgba(198,0,33,0)}100%{box-shadow:0 0 0 0 rgba(198,0,33,0)}}
.v2 .ready{display:flex;flex-direction:column;gap:16px;margin-top:8px}
@media (max-width:520px){
  .v2 .stage2{grid-template-columns:36px minmax(0, 1fr);gap:4px 16px}
  .v2 .sdot{width:36px;height:36px}
  .v2 .stage2 .st{grid-column:2;text-align:left}
  .v2 .live{padding:24px}
  .v2 .live .q{font-size:24px}
}
/* Hidden always wins (error and ready messages use display:flex) */
.v2 [hidden]{display:none!important}
/* Invisible 44px tap area for small text links */
.v2 .tap44{position:relative;display:inline-block}
.v2 .tap44::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}

/* ======================================================================
   Results (redesign step 4): /diagnostic/results
   ====================================================================== */
.v2.r2{min-height:100vh}
.v2 .r2-head{border-bottom:1px solid var(--rule)}
.v2 .r2-head .wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.v2 .r2-logo{display:inline-flex;align-items:center;min-height:44px}
.v2 .r2-logo img{width:112px;height:auto;display:block}
.v2 .r2-head-r{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.v2 .r2-hl{min-height:44px;display:inline-flex;align-items:center}
.v2 .r2-hl:hover{color:var(--red)}
.v2 .r2-note{background:var(--note);font-size:14px;color:var(--t1)}
.v2 .r2-note .wrap{padding-top:12px;padding-bottom:12px}

.v2 .r2-sec{padding:var(--sec-pad) 0}
.v2 .r2-sec:focus{outline:none}
.v2 .r2-stack{display:flex;flex-direction:column;gap:var(--stack-gap)}
.v2 .r2-gap44{gap:var(--stack-gap-s)}
.v2 .r2-sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.v2 .r2-sec-h>p{font-size:15px;line-height:1.6;color:var(--t1);max-width:400px}
.v2 .dark .r2-sec-h>p{color:var(--dk-t1);font-size:16px;max-width:420px}
.v2 .on-red .r2-sec-h>p{color:var(--g);font-size:17px}
.v2 .r2-title{display:flex;flex-direction:column;gap:14px}
.v2 .r2-split{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px)}
.v2 .r2-aside{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}
.v2 .r2-main{flex:999 1 560px;min-width:0}
.v2 .r2-top-rule{border-top:1px solid var(--rule)}

/* Hero */
.v2 .r2-hero{padding:var(--hero-pad) 0}
.v2 .r2-hero .wrap{display:flex;flex-direction:column;gap:40px}
.v2 .r2-hero-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.v2 .r2-hero-main{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px);align-items:flex-end}
.v2 .r2-hero-score{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:6px}
.v2 .r2-score{display:flex;align-items:baseline;gap:12px}
.v2 .r2-score .serif{font-size:var(--big-num);line-height:.85}
.v2 .r2-score .of{font-size:var(--big-of);color:var(--dk-t4)}
.v2 .r2-notyet{display:flex;flex-direction:column;gap:14px;padding-top:18px}
.v2 .r2-notyet>.serif{font-size:clamp(44px,5vw,70px);line-height:.9;color:var(--dk-t4)}
.v2 .r2-notyet p{font-size:16px;line-height:1.6;color:var(--dk-t1);max-width:420px}
.v2 .r2-hero-copy{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v2 .r2-hero-copy h1{font-size:var(--h-result);line-height:1}
.v2 .r2-hero-copy p{font-size:var(--lead-fs);line-height:1.6;color:var(--dk-t1);max-width:620px}
.v2 .r2-places{border-top:1px solid var(--dk-rule-2);padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.v2 .r2-place{color:var(--dk-t4)}
.v2 .r2-place.done{color:var(--g)}
.v2 .r2-place.cur{color:var(--g);border-bottom:1px solid var(--red);padding-bottom:4px}
.v2 .r2-arr{color:var(--dk-t4)}
.v2 .r2-more{margin-left:auto;font-size:14px;color:var(--sand);min-height:44px;display:inline-flex;align-items:center;gap:8px}

/* Dimensions */
.v2 .r2-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px}
.v2 .r2-dim{border-top:1px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;gap:16px}
.v2 .r2-dim.red{border-top:2px solid var(--red);padding-top:23px}
.v2 .r2-dim-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.v2 .r2-dim-h h3{font-size:13px}
.v2 .r2-dnum{font-size:clamp(52px,5vw,64px);line-height:.9}
.v2 .r2-dim p{font-size:16px;line-height:1.6;color:var(--t1)}
.v2 .r2-insuf{font-size:32px;line-height:1;font-style:italic;color:var(--t2)}
.v2 .r2-why{position:relative;background:none;border:0;padding:0;font:inherit;color:var(--red);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.v2 .r2-why::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.v2 .r2-why:hover .ar{transform:translateX(5px)}
.v2 .r2-why[aria-expanded="true"] .ar{transform:rotate(90deg)}
.v2 .r2-why-txt{border-left:2px solid var(--rule);padding-left:14px}
.v2 .r2-working{border-top:1px solid var(--rule);padding-top:28px;display:flex;flex-direction:column;gap:16px}
.v2 .r2-working ul{display:flex;flex-wrap:wrap;gap:10px}
.v2 .r2-working .pill-tc{font-size:13px}

/* Four stages */
.v2 .r2-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.v2 .r2-stage{display:flex;flex-direction:column;gap:18px;padding:26px 28px 0;border-top:1px solid var(--dk-line)}
.v2 .r2-stage:first-child{padding-left:0}
.v2 .r2-stage:last-child{padding-right:0}
.v2 .r2-stage.past{border-top:2px solid var(--sand);padding-top:25px}
.v2 .r2-stage.cur{border-top:2px solid var(--red);padding-top:25px}
.v2 .r2-stage-t{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--dk-t2)}
.v2 .r2-stage.cur .r2-stage-t{color:var(--sand)}
.v2 .r2-stage-t{position:relative}
.v2 .r2-sdot{position:absolute;right:0;top:-33px;width:14px;height:14px;border-radius:50%;border:1px solid var(--dk-t4);background:var(--ink)}
.v2 .r2-stage.past .r2-sdot{background:var(--sand);border-color:var(--sand)}
.v2 .r2-stage.cur .r2-sdot{background:var(--red);border-color:var(--red);box-shadow:0 0 0 6px rgba(198,0,33,.25)}
.v2 .r2-stage h3{font-size:44px;line-height:1}
.v2 .r2-pct{display:flex;align-items:baseline;gap:6px}
.v2 .r2-pct .serif:first-child{font-size:88px;line-height:.85}
.v2 .r2-pct .serif:last-child{font-size:28px}
.v2 .r2-stage.next h3,.v2 .r2-stage.next .r2-pct{color:var(--dk-t3)}
.v2 .r2-stage p{font-size:15px;line-height:1.6;color:var(--dk-t1)}

/* AI Answer Visibility */
.v2 .r2-aav{border-top:1px solid var(--rule-3);border-bottom:1px solid var(--rule-3);padding:clamp(64px,7vw,110px) 0}
.v2 .r2-big{display:flex;align-items:baseline;gap:8px}
.v2 .r2-big .serif:first-child{font-size:var(--big-num);line-height:.85}
.v2 .r2-big .serif:last-child{font-size:var(--big-of)}
.v2 .r2-p17{font-size:var(--body-fs);line-height:1.6;color:var(--t1);max-width:380px}
.v2 .r2-aav .meta{font-size:14px}
.v2 .r2-tbl{width:100%;border-collapse:collapse}
.v2 .r2-tbl caption{text-align:left;padding-bottom:20px;color:var(--t1)}
.v2 .r2-tbl thead th{text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--t1);padding:0 16px 14px 0;border-bottom:1px solid var(--ink)}
.v2 .r2-tbl td,.v2 .r2-tbl tbody th{padding:18px 16px 18px 0;border-bottom:1px solid var(--rule);font-size:16px;vertical-align:middle;text-align:left}
.v2 .r2-tbl tbody th{font-size:24px;font-weight:400}
.v2 .r2-tbl .r2-evl{text-align:right;padding-right:0}
.v2 .r2-tbl .r2-evl a{display:inline-flex;align-items:center;gap:8px;min-height:44px}

/* Evidence */
.v2 .r2-sec#ev{padding:clamp(64px,7vw,110px) 0}
.v2 .r2-ev{display:flex;flex-wrap:wrap;gap:24px}
.v2 .r2-evdl{flex:1 1 280px;min-width:0;display:flex;flex-direction:column}
.v2 .r2-evdl>div{border-top:1px solid var(--dk-rule);padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.v2 .r2-evdl>div:last-child{border-bottom:1px solid var(--dk-rule)}
.v2 .r2-evdl dt{font-size:14px;color:var(--dk-t2)}
.v2 .r2-evp{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.v2 .r2-q{display:flex;flex-direction:column;gap:8px}
.v2 .r2-q .serif{font-size:30px;line-height:1.2}
.v2 .r2-layer{display:flex;gap:10px;align-items:center}
.v2 .r2-ldot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--g)}
.v2 .r2-ldot.o{background:transparent;border:1px solid var(--sand)}
.v2 .r2-said{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--dk-rule);padding-top:20px}
.v2 .r2-said blockquote{font-size:24px;line-height:1.45}
.v2 .r2-said mark{background:transparent;color:var(--g)}
.v2 .r2-said mark.comp{border-bottom:1px solid var(--dk-t4)}
.v2 .r2-said mark.you{background:var(--red);padding:0 4px;border-radius:4px}
.v2 .r2-read{display:flex;flex-direction:column;gap:10px}
.v2 .r2-read p{font-size:16px;line-height:1.6;color:var(--dk-t3)}
.v2 .r2-src{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--dk-rule);padding-top:18px}
.v2 .r2-src ul{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--dk-t1)}
.v2 .r2-src li:not(.none)::after{content:" ↗"}
.v2 .r2-src .none{color:var(--dk-t4)}

/* Competitors */
.v2 .r2-comps{list-style:none}
.v2 .r2-comp{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(80px,2fr) 56px;gap:18px;align-items:center;border-top:1px solid var(--rule);padding:20px 0}
.v2 .r2-comp:first-child{border-top-color:var(--ink)}
.v2 .r2-comp:last-child{border-bottom:1px solid var(--rule)}
.v2 .r2-comp .n{font-size:30px;color:var(--t2)}
.v2 .r2-comp .nm{font-size:var(--res-name);line-height:1.15}
.v2 .r2-comp .pct{text-align:right}
.v2 .r2-comp.you{background:var(--you);margin:0 -16px;padding-left:16px;padding-right:16px;border-radius:12px}
.v2 .r2-comp.you .n,.v2 .r2-comp.you .nm{color:var(--red)}
.v2 .r2-comp.you .nm .eb{font-family:var(--sans)}
.v2 .r2-comp.you .pct{color:var(--red);font-weight:600}
.v2 .r2-comp.you .bar{background:var(--you-track)}

/* What to do next */
.v2 .r2-probs{list-style:none}
.v2 .r2-prob{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:24px;align-items:start;border-top:1px solid var(--rule);padding:28px 0}
.v2 .r2-prob.first{border-top-color:var(--ink)}
.v2 .r2-prob:last-child{border-bottom:1px solid var(--rule)}
.v2 .r2-prob .n{font-size:52px;line-height:1;color:var(--t2)}
.v2 .r2-prob.first .n{color:var(--red)}
.v2 .r2-prob-b{display:flex;flex-direction:column;gap:10px}
.v2 .r2-prob-b h3{font-size:clamp(26px,2.4vw,34px);line-height:1.15}
.v2 .r2-prob-b p{font-size:16px;line-height:1.6;color:var(--t1);max-width:760px}
.v2 .r2-prob-r{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.v2 .r2-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v2 .r2-lockt{font-size:14px;color:var(--t1)}
.v2 .r2-prob-r .lk{font-size:14px}
.v2 .r2-locked{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.v2 .r2-locked>div{display:flex;flex-direction:column;gap:8px;max-width:640px}
.v2 .r2-locked .serif{font-size:30px;line-height:1.15}
.v2 .r2-locked p{font-size:16px;line-height:1.6;color:var(--t1)}

/* What happens next */
.v2 .r2-bridge{padding:clamp(80px,9vw,130px) 0}
.v2 .r2-h96{font-size:var(--h-display);line-height:.98}
.v2 .r2-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.v2 .r2-tier{background:var(--g);color:var(--ink);border-radius:22px;padding:32px;display:flex;flex-direction:column;gap:14px}
.v2 .r2-tier .eb{color:var(--t2)}
.v2 .r2-tag{align-self:flex-start;display:inline-flex;align-items:center;height:28px;padding:0 12px;border:1px solid var(--ink);border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.v2 .r2-tier h3{font-size:40px;line-height:1}
.v2 .r2-price{font-size:var(--res-price);line-height:1}
.v2 .r2-price small{font-family:var(--sans);font-size:16px;color:var(--t1)}
.v2 .r2-tier p{font-size:15px;line-height:1.6;color:var(--t1)}
.v2 .r2-tier .btn{margin-top:auto}
.v2 .r2-tier :focus-visible{outline-color:var(--ink)}
.v2 .r2-have{border-color:var(--rule-2);color:var(--t1);cursor:default}
.v2 .r2-have:hover{background:transparent;color:var(--t1)}
.v2 .r2-acct{font-size:14px;color:var(--g)}
.v2 .r2-acct a{display:inline-block;padding:12px 0;margin:-12px 0}

/* Footer */
.v2 .r2-foot .wrap{padding-top:28px;padding-bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.v2 .r2-foot-l{display:flex;gap:28px;flex-wrap:wrap;font-size:14px;color:#F6F2EA}
.v2 .r2-foot-l a{min-height:44px;display:inline-flex;align-items:center}
.v2 .r2-foot-l a:hover{color:var(--sand)}

/* Dev-only state switch (localhost only) */
.v2 .r2-dev{position:fixed;left:12px;bottom:12px;z-index:50;display:flex;align-items:center;gap:4px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--ink);color:var(--g);font-size:12px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.v2 .r2-dev>span{letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--dk-t2);margin-right:4px}
.v2 .r2-dev a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:999px;color:var(--dk-t1)}
.v2 .r2-dev a[aria-current="true"]{background:var(--g);color:var(--ink)}
.v2 .r2-dev i{width:1px;height:18px;background:var(--dk-line);margin:0 4px}

@media (max-width:1024px){
  .v2 .r2-stages{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
  .v2 .r2-stage,.v2 .r2-stage:first-child,.v2 .r2-stage:last-child{padding-left:0;padding-right:28px}
}
@media (max-width:640px){
  .v2 .r2-head-r .r2-hl{display:none}
  .v2 .r2-head-r{gap:10px}
  .v2 .r2-stages{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .v2 .r2-stage,.v2 .r2-stage:first-child,.v2 .r2-stage:last-child{padding-right:0}
  .v2 .r2-dnum,.v2 .r2-pct .serif:first-child{font-size:72px}
  .v2 .r2-big .serif:first-child{font-size:var(--big-num)}
  .v2 .r2-more{margin-left:0}
  .v2 .r2-tbl thead{display:none}
  .v2 .r2-tbl tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;border-bottom:1px solid var(--rule);padding:16px 0}
  .v2 .r2-tbl tbody th{grid-column:1/-1;border:0;padding:0 0 6px}
  .v2 .r2-tbl td{border:0;padding:0;font-size:15px;display:flex;flex-direction:column;gap:2px}
  .v2 .r2-tbl td::before{content:attr(data-l);font-size:12px;letter-spacing:0;color:var(--t2);white-space:nowrap}
  .v2 .r2-tbl .r2-evl{grid-column:1/-1;text-align:left}
  .v2 .r2-tbl .r2-evl:empty{display:none}
  .v2 .r2-comp{grid-template-columns:32px minmax(0,1fr) 48px;row-gap:10px}
  .v2 .r2-comp .bar{grid-column:2/-1;grid-row:2}
  .v2 .r2-comp .nm{font-size:var(--res-name)}
  .v2 .r2-comp .n{font-size:24px}
  .v2 .r2-prob{grid-template-columns:44px minmax(0,1fr);gap:16px}
  .v2 .r2-prob .n{font-size:40px}
  .v2 .r2-prob-r{grid-column:2;align-items:flex-start}
  .v2 .r2-pills{justify-content:flex-start}
  .v2 .r2-q .serif{font-size:24px}
  .v2 .r2-said blockquote{font-size:20px}
  .v2 .r2-tier{padding:26px}
}


/* ##########################################################################
   APP LOOK (body.look-app): app shell and every /app screen. Uses the named scale (--fs-*).
   ########################################################################## */
/* ======================================================================
   App screens (redesign step 5)
   ====================================================================== */
.v2 .a2-lead{max-width:var(--measure);display:flex;flex-direction:column;gap:12px}
.v2 .a2-row{display:flex;justify-content:space-between;align-items:center;gap:12px 16px;flex-wrap:wrap}
.v2 .a2-base{align-items:baseline}
.v2 .a2-pills{display:flex;gap:6px;flex-wrap:wrap}
.v2 .a2-split{display:flex;flex-wrap:wrap;gap:20px}
.v2 .a2-wide{gap:clamp(28px,4vw,56px)}
.v2 .a2-end{align-items:flex-end;gap:clamp(28px,4vw,56px)}
.v2 .a2-stretch{align-items:stretch}
.v2 .a2-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.v2 .a2-aside{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.v2 .a2-gap8{gap:8px}
.v2 .a2-auto{margin-top:auto}
.v2 .a2-maxw{max-width:760px}
.v2 .a2-m14{font-size:var(--fs-sec)}
.v2 .a2-h30{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-h36{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-h40{font-size:var(--fs-h);line-height:1.3;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-h44{font-size:var(--fs-h);line-height:1.3;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-tabsec{margin-bottom:-8px}
.v2 .a2-chips{display:flex;gap:8px;flex-wrap:wrap}
.v2 .a2-legend{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--t1)}
.v2 .a2-legend>span{display:inline-flex;gap:8px;align-items:center}
.v2 .a2-note{display:flex;flex-direction:column;gap:6px}
.v2 .a2-note .serif{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-note>span:last-child{font-size:var(--fs-sec);line-height:var(--lh-body);color:var(--t1)}
.v2 .a2-empty{display:flex;flex-direction:column;gap:8px;padding:var(--card-pad)}
.v2 .a2-empty .serif{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-dl{display:flex;flex-direction:column;flex:1 1 260px;min-width:0}
.v2 .a2-dl>div{border-top:1px solid var(--dk-rule);padding:10px 0;display:flex;justify-content:space-between;gap:12px}
.v2 .a2-dl>div:last-child{border-bottom:1px solid var(--dk-rule)}
.v2 .a2-dl dt{font-size:13px;color:var(--dk-t2)}
.v2 .a2-dl dd{text-align:right;font-size:var(--fs-sec)}
.v2 .a2-dl.light>div{border-color:var(--rule-3)}
.v2 .a2-dl.light dt{color:var(--t1)}

/* Today */
.v2 .a2-top{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:var(--card-pad)}
.v2 .a2-toph{font-size:var(--fs-h);line-height:1.3;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-topp{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--dk-t1);max-width:var(--measure)}
.v2 .a2-topf{border-top:1px solid var(--dk-rule);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.v2 .a2-evl{font-size:var(--fs-sec);color:var(--dk-t3)}
.v2 .a2-score{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.v2 .a2-big{display:flex;align-items:baseline;gap:6px}
.v2 .a2-big .serif:first-child{font-size:var(--fs-score);line-height:.95}
.v2 .a2-big .serif:last-child{font-size:24px}
.v2 .a2-chgline{font-size:var(--fs-sec);line-height:1.5;color:var(--t1)}
.v2 .a2-chgline b{color:var(--ink);font-weight:600}
.v2 .a2-minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--rule-3);padding-top:14px;margin-top:auto}
.v2 .a2-mini{display:flex;flex-direction:column;gap:2px}
.v2 .a2-mini .serif{font-size:22px;line-height:1.2;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-chgs,.v2 .a2-plist{list-style:none}
.v2 .a2-chg{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;border-top:1px solid var(--rule);padding:14px 0;align-items:baseline;font-size:var(--fs-body);line-height:var(--lh-body)}
.v2 .a2-chg:first-child{border-top-color:var(--ink)}
.v2 .a2-chg:last-child{border-bottom:1px solid var(--rule)}
.v2 .a2-pi{display:flex;gap:12px;align-items:center;border-top:1px solid var(--rule);padding:2px 0;min-height:48px;font-size:var(--fs-body)}
.v2 .a2-pi:last-child{border-bottom:1px solid var(--rule)}
.v2 .a2-pi a{flex:1;display:block;padding:10px 0;line-height:1.4}
.v2 .a2-pi a:hover{color:var(--red)}
.v2 .a2-pi.done a{color:var(--t2);text-decoration:line-through}
.v2 .a2-mark{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}
.v2 .a2-mark.done{background:var(--ink);color:var(--g)}
.v2 .a2-mark.prog{border:1px solid var(--red)}
.v2 .a2-mark.prog i{width:8px;height:8px;border-radius:50%;background:var(--red)}

/* Overview */
.v2 .a2-huge{display:flex;align-items:baseline;gap:6px}
.v2 .a2-huge .serif:first-child{font-size:var(--fs-score);line-height:.95}
.v2 .a2-huge .serif:last-child{font-size:24px}
.v2 .a2-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px}
.v2 .a2-dim{border-top:1px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.v2 .a2-dim.red{border-top:2px solid var(--red);padding-top:13px}
.v2 .a2-dim>.serif{font-size:var(--fs-stat);line-height:1.1;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-stages{display:flex;flex-direction:column;gap:20px}
.v2 .a2-stl{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.v2 .a2-st{border-top:1px solid var(--dk-line);padding:14px 16px 0;display:flex;flex-direction:column;gap:4px;color:var(--dk-t2)}
.v2 .a2-st:first-child{padding-left:0}
.v2 .a2-st:last-child{padding-right:0}
.v2 .a2-st.past{border-top:2px solid var(--sand);padding-top:13px}
.v2 .a2-st.cur{border-top:2px solid var(--red);padding-top:13px}
.v2 .a2-st.cur>.eb{color:var(--sand)}
.v2 .a2-st>.serif{font-size:var(--fs-stat);line-height:1.1;color:var(--g);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-st.next>.serif{color:var(--dk-t3)}
.v2 .a2-st .a2-m14{color:var(--dk-t1)}
.v2 .a2-pctbig{display:flex;align-items:baseline;gap:2px}
.v2 .a2-pctbig .serif:first-child{font-size:var(--fs-stat);line-height:1.1;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-pctbig .serif:last-child{font-size:var(--fs-card);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-engs{list-style:none}
.v2 .a2-eng{display:grid;grid-template-columns:110px minmax(0,1fr) 44px;gap:14px;align-items:center;border-top:1px solid var(--rule-3);padding:10px 0}
.v2 .a2-eng .serif{font-size:var(--fs-body);font-family:var(--sans);letter-spacing:0;font-weight:500}
.v2 .a2-eng>span:last-child{text-align:right}
.v2 .a2-finds{list-style:none}
.v2 .a2-find{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;border-top:1px solid var(--rule);padding:16px 0}
.v2 .a2-find.first{border-top-color:var(--ink)}
.v2 .a2-find:last-child{border-bottom:1px solid var(--rule)}
.v2 .a2-find .n{font-size:var(--fs-sec);line-height:1.6;color:var(--t2);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-find.first .n{color:var(--red)}
.v2 .a2-find h3{font-size:var(--fs-card);line-height:1.35;margin-bottom:4px;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-find p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--t1)}
.v2 .a2-runs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v2 .a2-runs>div{border-top:1px solid var(--rule);padding-top:12px;display:flex;flex-direction:column;gap:4px}
.v2 .a2-runs>div.cur{border-top:2px solid var(--ink);padding-top:11px}
.v2 .a2-runs .serif{font-size:var(--fs-stat);line-height:1.1;font-family:var(--sans);letter-spacing:0;font-weight:600}

/* Monitor: questions */
.v2 .a2-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.v2 .a2-stat{border-top:1px solid var(--ink);padding-top:12px;display:flex;flex-direction:column;gap:4px}
.v2 .a2-stat.red{border-top:2px solid var(--red);padding-top:11px}
.v2 .a2-stat .serif{font-size:var(--fs-stat);line-height:1.1;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-stat.red .serif{color:var(--red)}
.v2 .a2-qhead,.v2 .a2-qrow{display:grid;grid-template-columns:minmax(0,2.4fr) 110px minmax(140px,1fr) 150px 36px;gap:20px;align-items:center}
.v2 .a2-qhead{padding:0 0 10px;border-bottom:1px solid var(--ink);font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;font-weight:500;color:var(--t1)}
.v2 .a2-q{border-bottom:1px solid var(--rule)}
.v2 .a2-qrow{width:100%;padding:12px 0;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.v2 .a2-qrow:hover .a2-qt{color:var(--red)}
.v2 .a2-qt{font-size:var(--fs-body);line-height:1.45;transition:color var(--dur) var(--ease);font-family:var(--sans);letter-spacing:0;font-weight:500}
.v2 .a2-dots{display:flex;gap:8px;flex-wrap:wrap}
.v2 .a2-vis{display:flex;flex-direction:column;gap:4px;font-size:13px}
.v2 .a2-tog{width:32px;height:32px;border-radius:50%;border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;font-size:16px;justify-self:end}
.v2 .a2-q.open .a2-tog{border-color:var(--ink)}
.v2 .a2-qpanel{margin:2px 0 16px;display:flex;flex-direction:column;gap:16px}
.v2 .a2-ans{display:flex;flex-wrap:wrap;gap:24px}
.v2 .a2-ans-m{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:10px}
.v2 .a2-quote{font-size:16px;line-height:1.6;font-family:var(--sans);letter-spacing:0;max-width:var(--measure)}
.v2 .a2-quote mark{background:transparent;color:var(--g)}
.v2 .a2-quote mark.comp{border-bottom:1px solid var(--dk-t4)}
.v2 .a2-quote mark.you{background:var(--red);padding:0 4px;border-radius:4px}
.v2 .a2-qpanel .reading{display:flex;flex-direction:column;gap:6px}
.v2 .a2-qpanel .reading p{font-size:var(--fs-sec);line-height:var(--lh-body);color:var(--dk-t3)}
.v2 .a2-ans-l{display:flex;gap:4px 20px;flex-wrap:wrap}
.v2 .a2-ans-l button{background:none;border:0;padding:0;font-family:inherit;cursor:pointer}
.v2 .a2-flag{color:var(--dk-t1);min-height:40px;display:inline-flex;align-items:center}
.v2 .a2-flag:hover{color:var(--sand)}
.v2 .a2-ans-empty{display:flex;gap:12px;align-items:flex-start}
.v2 .a2-ans-empty .dot{margin-top:5px}
.v2 .a2-ans-empty .dot.a{border-color:var(--dk-t4)}
.v2 .a2-ans-empty .dot.m{background:var(--g)}
.v2 .a2-ans-t{font-size:var(--fs-body);line-height:var(--lh-body);margin-bottom:4px}
.v2 .a2-qfoot{padding-top:14px}

/* Monitor: engines and history */
.v2 .a2-etbl tbody tr.sel th,.v2 .a2-htbl tbody tr.sel th{color:var(--red)}
.v2 .a2-etbl .a2-vis{max-width:220px}
.v2 .a2-evb{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.v2 .a2-evb[aria-pressed="true"]{color:var(--ink)}
.v2 .a2-evsec{display:flex;flex-direction:column;gap:14px}
.v2 .a2-evp{display:flex;flex-direction:column;gap:16px}
.v2 .a2-htbl tbody th{font-family:var(--sans);font-size:var(--fs-sec);font-weight:500}
.v2 .a2-hp{font-size:var(--fs-card);line-height:1.2;font-family:var(--sans);letter-spacing:0;font-weight:600}

/* Monitor: competitors */
.v2 .a2-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.v2 .a2-card{display:flex;flex-direction:column;gap:8px;padding:var(--card-pad)}
.v2 .a2-cp{font-size:var(--fs-sec);line-height:var(--lh-body)}
.v2 .panel-ink .a2-cp{color:var(--dk-t1)}
.v2 .a2-cp .lk{min-height:0;display:inline;position:relative}
.v2 .a2-cp .lk::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.v2 .a2-lb{display:flex;flex-direction:column;gap:12px}
.v2 .a2-chead,.v2 .a2-crow{display:grid;grid-template-columns:32px minmax(0,1.3fr) 190px minmax(140px,1.2fr) 70px 100px minmax(0,1fr);gap:14px;align-items:center}
.v2 .a2-chead{padding:0 0 10px;border-bottom:1px solid var(--ink);font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;font-weight:500;color:var(--t1)}
.v2 .a2-crows{list-style:none}
.v2 .a2-crow{border-bottom:1px solid var(--rule);padding:12px 0;font-size:var(--fs-sec)}
.v2 .a2-crow .n{font-size:var(--fs-sec);color:var(--t2);font-family:var(--sans);letter-spacing:0;font-weight:500}
.v2 .a2-crow .nm{font-size:var(--fs-body);line-height:1.3;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-crow.you{background:var(--you);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:10px}
.v2 .a2-crow.you .n,.v2 .a2-crow.you .nm{color:var(--red)}
.v2 .a2-crow.you .bar{background:var(--you-track)}
.v2 .a2-tags{display:flex;gap:6px 8px;flex-wrap:wrap;align-items:center;font-size:13px}
.v2 .a2-share{display:flex;align-items:center;gap:10px}
.v2 .a2-share .bar{flex:1 1 auto}
.v2 .a2-share>span:last-child{flex:none;width:44px;text-align:right}
.v2 .a2-crow .a2-tags{flex-wrap:nowrap}
.v2 .a2-crow .a2-dots{gap:6px}

/* Fixes */
.v2 .a2-prog{display:flex;flex-direction:column;gap:6px}
.v2 .a2-band{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px}
.v2 .a2-band>.serif{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-fhead,.v2 .a2-fix{display:grid;grid-template-columns:32px minmax(0,1fr) 110px 100px 150px;gap:18px;align-items:start}
.v2 .a2-fhead{padding:0 0 10px;border-bottom:1px solid var(--ink);font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;font-weight:500;color:var(--t1);align-items:end}
.v2 .a2-fixes{list-style:none}
.v2 .a2-fix{border-bottom:1px solid var(--rule);padding:16px 0}
.v2 .a2-fix .n{font-size:var(--fs-sec);line-height:1.9;color:var(--t2);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-fix.first .n{color:var(--red)}
.v2 .a2-fixb{display:flex;flex-direction:column;gap:4px}
.v2 .a2-fixt{font-size:var(--fs-card);line-height:1.35;padding:10px 0;margin:-10px 0;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-fixt:hover{color:var(--red)}
.v2 .a2-fix.off .a2-fixt{color:var(--t2);text-decoration:line-through}
.v2 .a2-fixb p{font-size:var(--fs-sec);line-height:var(--lh-body);color:var(--t1);max-width:var(--measure)}
.v2 .a2-fixev{font-size:var(--fs-label);color:var(--t2);text-decoration:underline;text-underline-offset:3px;align-self:flex-start;min-height:40px;display:inline-flex;align-items:center;margin:-10px 0}
.v2 .a2-fixev:hover{color:var(--red)}
.v2 .a2-stl2{display:block}

/* Plan */
.v2 .a2-strip{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v2 .a2-strip li{display:flex;flex-direction:column;gap:8px}
.v2 .a2-phase{border-top:1px solid var(--ink);padding-top:24px;margin-top:0;display:flex;flex-wrap:wrap;gap:20px clamp(24px,4vw,56px)}
.v2 .a2-phl{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:6px}
.v2 .a2-phn{font-size:var(--fs-stat);line-height:1.1;color:var(--t2);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-phl p{font-size:var(--fs-sec);line-height:var(--lh-body)}
.v2 .a2-tasks{flex:999 1 480px;min-width:0;list-style:none;border-top:1px solid var(--rule)}
.v2 .a2-task{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid var(--rule);padding:4px 0}
.v2 .a2-tick{width:44px;height:44px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:var(--g);font-size:12px}
.v2 .a2-tick::before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:1px solid var(--dk-t4);box-sizing:border-box;z-index:0}
.v2 .a2-tick.done::before{background:var(--ink);border-color:var(--ink)}
.v2 .a2-tick.prog::before{border:1.5px solid var(--red)}
.v2 .a2-tick.prog i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--red)}
.v2 .a2-tick.nr::before{border-style:dashed}
.v2 .a2-tick:hover::before{border-color:var(--ink)}
.v2 .a2-tick>span{position:relative}
.v2 .a2-taskt{font-size:var(--fs-body);min-height:44px;display:flex;align-items:center}
.v2 .a2-taskt:hover{color:var(--red)}
.v2 .a2-task.off .a2-taskt{color:var(--t2);text-decoration:line-through}
.v2 .a2-phr{flex:1 1 140px;min-width:0;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.v2 .a2-phr .bar{width:100%;max-width:220px}
.v2 .a2-phd{font-size:var(--fs-stat);line-height:1.1;font-family:var(--sans);letter-spacing:0;font-weight:600}

/* Brand */
.v2 .a2-facts{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.v2 .a2-fact{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:16px;align-items:baseline;border-bottom:1px solid var(--rule);padding:10px 0}
.v2 .a2-fact dd{font-size:var(--fs-body);line-height:var(--lh-body)}
.v2 .a2-fact dd.big{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-fact.editing{align-items:start}
.v2 .a2-fact.editing dd input,.v2 .a2-fact.editing dd textarea{font-size:var(--fs-body)}
.v2 .a2-edit{background:none;border:0;font:inherit;font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;cursor:pointer;min-height:40px;padding:0 4px;color:var(--t1);font-weight:500}
.v2 .a2-edit:hover{color:var(--red)}
.v2 .a2-acts{display:flex;gap:6px;flex-wrap:wrap}
.v2 .a2-needs{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.v2 .a2-needs ol{list-style:none;border-top:1px solid var(--rule)}
.v2 .a2-needs li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:baseline;border-bottom:1px solid var(--rule);padding:10px 0;font-size:var(--fs-body)}
.v2 .a2-needs .n{font-size:var(--fs-sec);color:var(--red);font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-why{align-self:flex-start}
.v2 .a2-why>.serif{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .a2-add{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.v2 .a2-add .bf{flex:1 1 320px;max-width:520px}
.v2 .a2-rivals{list-style:none;border-top:1px solid var(--ink)}
.v2 .a2-rival{display:grid;grid-template-columns:36px minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--rule);padding:12px 0}
.v2 .a2-rival .av{width:36px;height:36px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sec);font-family:var(--sans);font-weight:600}
.v2 .a2-rn{display:flex;flex-direction:column;gap:2px;min-width:0}
.v2 .a2-rn b{font-weight:600;font-size:var(--fs-body);line-height:1.3;font-family:var(--sans);letter-spacing:0}
.v2 .a2-rn span{font-size:13px;color:var(--t1)}

/* Settings */
.v2 .a2-set{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px 40px;border-top:1px solid var(--rule);padding-top:24px}
.v2 .a2-seti{display:flex;flex-direction:column;gap:4px}
.v2 .a2-setf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v2 .a2-setf .bf:nth-child(3){grid-column:1/-1}
.v2 .a2-save{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.v2 .a2-setr{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v2 .a2-del{background:none;border:0;font:inherit;font-size:var(--fs-sec);color:var(--red);cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.v2 .a2-togs{list-style:none;border-top:1px solid var(--ink)}
.v2 .a2-nrow{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--rule);padding:12px 0}
.v2 .a2-togt{font-size:var(--fs-body);font-weight:600}
.v2 .a2-nrow p{font-size:13px;margin-top:2px}
.v2 .a2-sw{flex:none;position:relative;width:52px;height:30px;border-radius:999px;border:1px solid var(--rule-2);background:var(--rule-3);cursor:pointer;transition:background var(--dur) var(--ease)}
.v2 .a2-sw::before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--dur) var(--ease)}
.v2 .a2-sw::after{content:"";position:absolute;inset:-8px -2px}
.v2 .a2-sw[aria-checked="true"]{background:var(--ink);border-color:var(--ink)}
.v2 .a2-sw[aria-checked="true"]::before{transform:translateX(22px)}
.v2 .a2-bill{display:flex;flex-direction:column;gap:12px}
.v2 .a2-bill small{font-family:var(--sans);font-size:13px;font-weight:400}

@media (max-width:1180px){
  .v2 .a2-chead{display:none}
  .v2 .a2-crow{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr);row-gap:12px}
  .v2 .a2-crow>[data-l]{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
  .v2 .a2-crow>[data-l]::before{content:attr(data-l);font-size:12px;color:var(--t2);min-width:150px}
  .v2 .a2-crow .nm{grid-column:2/-1}
  .v2 .a2-share .bar{min-width:120px}
}
@media (max-width:1024px){
  .v2 .a2-qhead{display:none}
  .v2 .a2-qrow{grid-template-columns:minmax(0,1fr) 44px;gap:12px 16px}
  .v2 .a2-qt{grid-column:1/2}
  .v2 .a2-tog{grid-column:2;grid-row:1}
  .v2 .a2-qrow>.a2-dots,.v2 .a2-qrow>.a2-vis,.v2 .a2-qrow>span:nth-child(4){grid-column:1/-1}
  .v2 .a2-qrow>.a2-vis{max-width:320px}
  .v2 .a2-fhead{display:none}
  .v2 .a2-fix{grid-template-columns:44px minmax(0,1fr);gap:14px 18px}
  .v2 .a2-fix>[data-l],.v2 .a2-fix>.a2-stl2{grid-column:2}
  .v2 .a2-fix>[data-l]{display:flex;gap:10px;align-items:center}
  .v2 .a2-fix>[data-l]::before{content:attr(data-l);font-size:12px;color:var(--t2);width:56px}
  .v2 .a2-stl2{max-width:240px}
  .v2 .a2-stl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .v2 .a2-st,.v2 .a2-st:first-child,.v2 .a2-st:last-child{padding-left:0;padding-right:20px}
  .v2 .a2-rival{grid-template-columns:52px minmax(0,1fr) auto}
  .v2 .a2-rival>.a2-tags,.v2 .a2-rival>.a2-m14{grid-column:2/-1}
  .v2 .a2-rival>button{grid-column:3;grid-row:1}
}
@media (max-width:760px){
  .v2 .a2-set{grid-template-columns:minmax(0,1fr)}
  .v2 .a2-setf{grid-template-columns:minmax(0,1fr)}
  .v2 .a2-fact{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}
  .v2 .a2-fact dt{grid-column:1/-1}
  .v2 .a2-strip{grid-template-columns:minmax(0,1fr);gap:12px}
  .v2 .a2-phr{align-items:flex-start}
  .v2 .a2-task{grid-template-columns:44px minmax(0,1fr)}
  .v2 .a2-task>.a2-pills{grid-column:2}
}
@media (max-width:640px){
  .v2 .a2-chg{grid-template-columns:minmax(0,1fr);gap:6px;font-size:16px}
  .v2 .a2-stl{grid-template-columns:minmax(0,1fr)}
  .v2 .a2-st,.v2 .a2-st:first-child,.v2 .a2-st:last-child{padding-right:0}
  .v2 .a2-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .v2 .a2-crow>[data-l]::before{min-width:0;width:100%}
  .v2 .a2-crow{grid-template-columns:32px minmax(0,1fr)}
  .v2 .a2-dims{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
.v2 .a2-top0{align-items:flex-start}


/* ##########################################################################
   WEBSITE LOOK (body.look-site): Diagnostic flow header, flow screens, Results, sign-up and log-in.
   Sizes as drawn in design/mockups-v2. Accessibility: 12px minimum, #6B645C smallest grey,
   pale pink for small text on red, 44px tap areas.
   ########################################################################## */
/* Signup and login (redesign step 5) */
.v2.ac2{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);background:var(--g)}
.v2 .ac2-side{padding:40px clamp(28px,4vw,64px);display:flex;flex-direction:column;gap:48px}
.v2 .ac2-logo{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start}
.v2 .ac2-logo img{width:118px;height:auto;display:block}
.v2 .ac2-copy{margin-top:auto;display:flex;flex-direction:column;gap:20px}
.v2 .ac2-t{font-size:clamp(52px,6vw,88px);line-height:.95}
.v2 .ac2-score{border-top:1px solid var(--dk-rule);padding-top:24px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:end;max-width:400px}
.v2 .ac2-score .serif{font-size:96px;line-height:.8}
.v2 .ac2-score small{font-size:28px;color:var(--dk-t4)}
.v2 .ac2-score p{font-size:14px;line-height:1.5;color:var(--dk-t1)}
.v2 .ac2-main{padding:40px clamp(20px,6vw,96px) 64px;display:flex;flex-direction:column;gap:28px;max-width:760px;width:100%}
.v2 .ac2-main:focus{outline:none}
.v2 .ac2-alt{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;min-height:44px}
.v2 .ac2-alt a{min-height:44px;display:inline-flex;align-items:center}
.v2 .ac2-head{display:flex;flex-direction:column;gap:14px;margin-top:clamp(16px,6vh,72px)}
.v2 .ac2-head h1{font-size:clamp(52px,6vw,84px);line-height:.95}
.v2 .ac2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.v2 .ac2-grid .bf.full{grid-column:1/-1}
.v2 .ac2-show{background:none;border:0;font:inherit;font-size:13px;color:var(--t1);cursor:pointer;min-height:44px;padding:0 4px}
.v2 .ac2-show:hover{color:var(--red)}
.v2 .ac2-fine{font-size:14px}
.v2 .ac2-fine a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:13px 0;margin:-13px 0}
@media (max-width:1024px){
  .v2.ac2{grid-template-columns:minmax(0,1fr)}
  .v2 .ac2-side{gap:32px;padding-bottom:40px}
  .v2 .ac2-copy{margin-top:0}
  .v2 .ac2-alt{justify-content:flex-start}
  .v2 .ac2-head{margin-top:8px}
}
@media (max-width:560px){
  .v2 .ac2-grid{grid-template-columns:minmax(0,1fr)}
  .v2 .ac2-main .btn-block{white-space:normal;height:auto;min-height:56px;padding:14px 22px;text-align:center;line-height:1.4}
  .v2 .ac2-score .serif{font-size:72px}
}
/* Other brands and not-named rows (The Formulary is declared only; Shina, 14 Oct) */
.v2 .r2-main>.small{margin-top:16px}
.v2 .r2-comp.other .nm{color:var(--t1)}
.v2 .a2-crow.other .nm,.v2 .a2-crow.none .nm{color:var(--t1)}
.v2 .a2-share>span.nn:last-child{width:auto;flex:1;text-align:left}


/* ##########################################################################
   APP LOOK (body.look-app): app shell and every /app screen. Uses the named scale (--fs-*).
   ########################################################################## */
/* ======================================================================
   Fix page and Help (redesign step 6)
   ====================================================================== */
.v2 .f2-back{font-size:var(--fs-sec);color:var(--t1);min-height:40px;display:inline-flex;align-items:center;align-self:flex-start;margin-bottom:-16px}
.v2 .f2-back:hover{color:var(--red)}
.v2 .f2-h1{font-size:var(--fs-title)}
.v2 .f2-status{display:flex;flex-direction:column;gap:6px}
.v2 .f2-body{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:flex-start}
.v2 .f2-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:32px}
.v2 .f2-blk{border-top:1px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:12px}
.v2 .f2-h{display:flex;gap:10px;align-items:baseline}
.v2 .f2-h .serif{font-size:var(--fs-h);line-height:1.3;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .f2-n{font-family:var(--sans);font-size:var(--fs-sec);color:var(--red);letter-spacing:0;font-weight:600;font-variant-numeric:tabular-nums}
.v2 .f2-p{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure)}
.v2 .f2-m15{font-size:var(--fs-sec);line-height:var(--lh-body)}
.v2 .f2-m13{font-size:var(--fs-label)}
.v2 .f2-h30{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .f2-h26{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .f2-dkt{color:var(--dk-t1)}
.v2 .f2-ev{border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.v2 .f2-evl{font-size:var(--fs-body);line-height:1.55;display:inline-block;padding:10px 0;margin:-10px 0}
.v2 .f2-evl:hover{text-decoration:underline;text-underline-offset:3px}
.v2 .f2-plat{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.v2 .f2-inline{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;position:relative}
.v2 .f2-inline::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}
.v2 .f2-steps{list-style:none;border-bottom:1px solid var(--rule)}
.v2 .f2-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--rule);font-size:var(--fs-body);line-height:var(--lh-body)}
.v2 .f2-steps .serif{font-size:var(--fs-sec);color:var(--t2);line-height:1.6;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .f2-steps code,.v2 .f2-p code{background:var(--soft);padding:2px 6px;border-radius:6px;font-size:13px}
.v2 .f2-code{border-radius:14px;overflow:hidden}
.v2 .f2-code-h{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--dk-rule);gap:12px;flex-wrap:wrap}
.v2 .f2-code pre{margin:0;padding:16px 18px;font-size:13px;line-height:1.7;color:var(--dk-t3);overflow-x:auto;white-space:pre}
.v2 .f2-code pre:focus-visible{outline-offset:-4px}
.v2 .f2-word{border:1px solid var(--red);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;background:var(--white)}
.v2 .f2-ns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.v2 .f2-ns>div{display:flex;flex-direction:column;gap:6px}
.v2 .f2-ns .serif{font-size:var(--fs-card);line-height:1.4;font-family:var(--sans);letter-spacing:0;font-weight:500}
.v2 .f2-ns s{text-decoration-color:var(--red)}
.v2 .f2-side{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:12px}
.v2 .f2-card{display:flex;flex-direction:column;gap:10px;padding:20px}
.v2 .f2-ask{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:12px 0;font-size:var(--fs-body)}
.v2 .f2-ask:hover{color:var(--red)}
.v2 .f2-hist{display:flex;flex-direction:column;padding-top:8px}
.v2 .f2-hist>.eb{padding-bottom:6px}
.v2 .f2-hist>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);padding:8px 0;font-size:13px}
.v2 .f2-hist>div:last-child{border-bottom:1px solid var(--rule)}

.v2 .h2-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.v2 .h2-way{display:flex;flex-direction:column;gap:8px;padding:var(--card-pad)}
.v2 .h2-way>.serif{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .h2-way p{font-size:var(--fs-sec);line-height:var(--lh-body)}
.v2 .h2-way .btn{margin-top:auto}
.v2 .h2-body{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:flex-start}
.v2 .h2-form{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--ink);padding-top:20px}
.v2 .h2-form:focus{outline:none}
.v2 .h2-form fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.v2 .h2-form legend{padding-bottom:10px}
.v2 .h2-att{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v2 .h2-att .pill{height:auto;min-height:32px;white-space:normal;padding:3px 4px 3px 12px;line-height:1.4}
.v2 .h2-x{position:relative;border:0;background:transparent;cursor:pointer;margin-left:6px;font-size:12px;width:28px;height:28px;border-radius:50%;flex:none}
.v2 .h2-x::after{content:"";position:absolute;inset:-8px}
.v2 .h2-x:hover{background:var(--soft)}
.v2 .h2-msgf{display:flex;flex-direction:column;gap:8px}
.v2 .h2-msgf textarea{width:100%;resize:vertical}
.v2 .h2-msgf .ok{align-items:flex-start}
.v2 .h2-msgf .ok::before{margin-top:7px}
.v2 .h2-side{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:28px}
.v2 .h2-msgs{display:flex;flex-direction:column;gap:10px}
.v2 .h2-msgs ul{list-style:none}
.v2 .h2-msg{width:100%;display:flex;flex-direction:column;gap:4px;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:12px 0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.v2 .h2-msg:hover>.a2-row>span:first-child{color:var(--red)}
.v2 .h2-msg .pill{height:var(--tag-h);font-size:var(--fs-tag)}
.v2 .h2-wrong{display:flex;flex-direction:column;gap:8px;padding:20px}
.v2 .h2-wrong h2{font-size:var(--fs-card);line-height:1.35;font-family:var(--sans);letter-spacing:0;font-weight:600}
.v2 .h2-wrong p{font-size:var(--fs-sec);line-height:var(--lh-body)}
.v2 .h2-faqs{display:flex;flex-direction:column}
.v2 .h2-faqs>h2{margin-bottom:6px}
.v2 .h2-faq{border-top:1px solid var(--rule)}
.v2 .h2-faq:last-child{border-bottom:1px solid var(--rule)}
.v2 .h2-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 0;font-size:var(--fs-body);cursor:pointer;font-weight:500}
.v2 .h2-faq summary::-webkit-details-marker{display:none}
.v2 .h2-faq summary:hover{color:var(--red)}
.v2 .h2-pm::before{content:"+";font-size:18px}
.v2 .h2-faq[open] .h2-pm::before{content:"−"}
.v2 .h2-faq p{font-size:var(--fs-sec);line-height:var(--lh-body);padding-bottom:12px}
@media (max-width:640px){
  .v2 .f2-back{margin-bottom:-12px}
}
.v2 .a2-topf{margin-top:auto}

/* Touch: every control keeps a 44px tap area (kept last so it wins over screen rules) */
@media (max-width:1024px), (pointer:coarse){
  .v2 .lk,.v2 .a2-edit,.v2 .f2-back,.v2 .a2-fixev,.v2 .a2-flag,.v2 .r2-more,.v2 .r2-tbl .r2-evl a,.v2 .a2-evb{min-height:44px}
  .v2 .a2-fixev{margin:-12px 0}
  .v2 .a2-pi a{padding:12px 0}
  .look-app .v2 .bf .box{height:48px}
  .v2 .a2-fixt{padding:12px 0;margin:-12px 0}
  .v2 .f2-evl{padding:12px 0;margin:-12px 0}
}

/* ======================================================================
   AI Snapshot (free Results, website look; SPEC §14, 14 Oct 2026)
   Built from the Results pieces. Counts only, no score.
   ====================================================================== */
.v2 .s2-count{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.v2 .s2-count .serif:first-child{font-size:var(--big-num);line-height:.85}
.v2 .s2-count .of{font-size:var(--big-of);color:var(--dk-t3)}
.v2 .s2-fail{font-size:14px;color:var(--dk-t2)}
.v2 .s2-engs{font-size:14px;color:var(--dk-t1);margin-top:10px}
.v2 .s2-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--dk-rule-2)}
.v2 .s2-counts>div{padding:20px 20px 0 0;display:flex;flex-direction:column;gap:6px}
.v2 .s2-counts>div.cur{border-top:2px solid var(--red);margin-top:-1px;padding-top:19px}
.v2 .s2-counts dd{font-size:16px;color:var(--dk-t1)}
.v2 .s2-counts dd .serif{font-size:var(--stat-num);line-height:.9;color:var(--g);margin-right:6px}
.v2 .s2-label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:15px;color:var(--dk-t1);border-top:1px solid var(--dk-rule-2);padding-top:18px}
.v2 .s2-label .r2-more{margin-left:auto}
.v2 .s2-qs{display:flex;flex-direction:column;border-top:1px solid var(--dk-rule)}
.v2 .s2-q{border-bottom:1px solid var(--dk-rule)}
.v2 .s2-q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px 16px;align-items:center;padding:22px 0}
.v2 .s2-q summary::-webkit-details-marker{display:none}
.v2 .s2-q summary>.eb{grid-column:1/-1}
.v2 .s2-qt{font-size:var(--res-q);line-height:1.3}
.v2 .s2-q summary:hover .s2-qt{color:var(--sand)}
.v2 .s2-pm{width:44px;height:44px;border-radius:50%;border:1px solid var(--dk-edge);display:flex;align-items:center;justify-content:center}
.v2 .s2-pm::before{content:"+";font-size:20px;color:var(--g)}
.v2 .s2-q[open] .s2-pm::before{content:"−"}
.v2 .s2-anss{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 0 18px}
.v2 .s2-ans{display:flex;flex-direction:column;gap:10px;align-items:flex-start;border:1px solid var(--dk-rule);border-radius:14px;padding:16px;background:var(--dk)}
.v2 .s2-eng{font-size:var(--res-eng);line-height:1}
.v2 .s2-ans .pill-line,.v2 .s2-ans .pill-line-ink,.v2 .s2-ans .pill-dash{border-color:var(--dk-edge);color:var(--dk-t3)}
.v2 .s2-ans .pill-ink{background:var(--g);color:var(--ink)}
.v2 .s2-demo{font-size:14px;color:var(--dk-t2);padding:0 0 22px;max-width:640px}
.v2 .s2-missing{background:var(--ink)}
.v2 .s2-missing .r2-sec-h>p{max-width:460px}
.v2 .s2-misses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.v2 .s2-miss{display:flex;flex-direction:column;gap:14px;border:1px solid var(--dk-rule);border-radius:22px;padding:28px;background:var(--dk)}
.v2 .s2-miss h3{font-size:var(--res-card-h);line-height:1.1}
.v2 .s2-miss p{font-size:15px;line-height:1.6;color:var(--dk-t1)}
.v2 .s2-miss .eb{margin-top:auto}
.v2 .s2-lock{width:28px;height:28px;border-radius:50%;border:1px solid var(--sand);position:relative}
.v2 .s2-lock::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:2px;background:var(--sand)}
.v2 .s2-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;border-top:1px solid var(--dk-rule-2);padding-top:28px}
.v2 .s2-price{font-size:var(--res-price)}
.v2 .s2-cta p{flex:1 1 100%;font-size:15px;color:var(--dk-t1)}
@media (max-width:640px){
  .v2 .s2-counts{grid-template-columns:minmax(0,1fr)}
  .v2 .s2-counts>div{padding:16px 0 0}
  .v2 .s2-counts>div.cur{padding-top:15px}
  .v2 .s2-counts dd .serif{font-size:var(--stat-num)}
  .v2 .s2-label .r2-more{margin-left:0}
  .v2 .s2-miss{padding:22px}
  .v2 .s2-miss h3{font-size:var(--res-card-h)}
}

/* ---------- AI Snapshot, live data (launch, 20 Oct 2026) ---------- */
.v2 .s2-gate{display:flex;flex-direction:column;gap:14px;margin-top:8px;max-width:560px}
.v2 .s2-gate-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.v2 .s2-gate-row input{flex:1 1 260px;min-width:0;height:56px;border-radius:999px;border:1px solid var(--dk-rule);background:var(--g);color:var(--ink);padding:0 22px;font:inherit;font-size:17px}
.v2 .s2-gate-row input:focus{outline:2px solid var(--sand);outline-offset:2px}
.v2 .s2-gate .msg{color:var(--sand)}
.v2 .s2-ans-real{display:block}
.v2 .s2-ans-real>details>summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;cursor:pointer;list-style:none;min-height:44px}
.v2 .s2-ans-real>details>summary::-webkit-details-marker{display:none}
.v2 .s2-open{margin-left:auto;font-size:14px;color:var(--sand);text-decoration:underline;text-underline-offset:3px}
.v2 .s2-ans-real>details[open] .s2-open{visibility:hidden}
.v2 .s2-said{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:18px 20px;border:1px solid var(--dk-rule);border-radius:14px;background:var(--dk)}
.v2 .s2-text{overflow-wrap:anywhere;font-size:15px;line-height:1.6;color:var(--dk-t1);max-height:360px;overflow:auto}
.v2 .s2-said p{font-size:15px;color:var(--dk-t1);margin:0}
.v2 .s2-src{margin:0;padding-left:18px;font-size:13px;color:var(--dk-t2);overflow-wrap:anywhere}
.v2 .s2-anss:has(.s2-ans-real){grid-template-columns:1fr}

/* Answer formatting (js/md.js) */
.v2 .md p{margin:0 0 10px}
.v2 .md .md-h{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.2;color:var(--g);margin:14px 0 6px}
.v2 .md ul,.v2 .md ol{margin:0 0 10px;padding-left:20px}
.v2 .md li{margin:3px 0}
.v2 .md strong{color:var(--g);font-weight:600}
.v2 .md code{font-size:.92em;background:var(--dk-rule-2);padding:1px 5px;border-radius:4px}
.v2 .md a{color:var(--sand);text-decoration:underline;text-underline-offset:2px}
.v2 .md hr{border:0;border-top:1px solid var(--dk-rule);margin:14px 0}
.v2 .md-table{overflow-x:auto;margin:0 0 12px}
.v2 .md table{border-collapse:collapse;font-size:14px;min-width:100%}
.v2 .md th,.v2 .md td{border-bottom:1px solid var(--dk-rule);padding:8px 10px;text-align:left;vertical-align:top}
.v2 .md th{color:var(--sand);font-weight:500}
