/* ============================================================
   KarmaLens design system "kd" — concept D "Twilight", built into the site (UI revamp stage 2, D-D-209).
   Source of truth for the look: docs/ui_revamp/concepts/D/index.html (the founder-approved prototype).
   Loaded after web.css on every page. Every class is prefixed `kd-` so nothing here collides with the
   older marketing primitives (kl-*) or the reading page's test-pinned hooks (k-*).

   Tokens: the palette is the site's own "Companion" twilight palette, so the colour tokens below alias
   web.css where the same value already exists (one source of truth for both themes) and add only what
   the prototype needed: text-safe gold/clay (`--gold-fg`, `--clay-fg`, AA in both themes), the third
   surface, status colours, the sheet shadow, the bar/scrim, the paper (PDF preview) and layout variables.

   Scoping: resets live under `.kd` (put `class="kd"` on the region a D page owns: a <main>, a sheet,
   the dock). The header, dock, sheet and toast are self-contained. Nothing here restyles the founder
   console, the gallery or the legal pages.
   ============================================================ */
:root{
  --bg:var(--page-bg); --bg-deep:var(--surface-sunken); --surface-2:var(--surface-soft); --surface-3:#262030;
  --fg:var(--text); --muted-2:var(--muted-strong);
  --line:var(--border); --line-soft:var(--border-soft); --line-strong:var(--border-strong);
  --violet:var(--accent); --violet-fg:var(--accent-dark); --violet-soft:var(--accent-soft);
  --gold-fg:#e6c079; --clay-fg:#e0a98e;
  --good:#7fd6a6; --good-line:rgba(127,214,166,.5); --warn:#e9c987; --warn-line:rgba(233,201,135,.5); --bad:#f5a1a1; --bad-line:rgba(245,161,161,.5);
  --wash:var(--hero-wash);
  --shadow-sheet:0 -18px 50px rgba(0,0,0,.55);
  --bar-bg:rgba(20,16,25,.93); --scrim:rgba(8,5,12,.62);
  --paper:#ffffff; --paper-ink:#241d2b; --paper-muted:#5b4f66; --paper-rule:#e8e0e6;
  --display:var(--font-display);
  --sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --dev:"Noto Serif Devanagari","Noto Serif",serif;
  --pro-serif:"Noto Serif Devanagari",var(--display); /* D-D-287: the Pro theme's serif (base.html loads it; its Latin is Noto Serif) */
  --kd-violet-tint:#342a42; --kd-clay-tint:#382a32; --kd-gold-tint:#3e3333; --feature-bg:#2a222b; --ask-bg:#261f30; --banner-bg:#231c20;
  --top-h:60px; --dock-h:0px; --kb-pad:0px; --kb-off:0px;
}
:root[data-theme="light"]{
  --surface-3:#f2ecf1;
  --gold-fg:#7a5a17; --clay-fg:#8f5236;
  --good:#1d6b45; --good-line:rgba(29,107,69,.45); --warn:#7a5a10; --warn-line:rgba(122,90,16,.45); --bad:#9c2430; --bad-line:rgba(156,36,48,.45);
  --shadow-sheet:0 -18px 50px rgba(40,25,60,.18);
  --bar-bg:rgba(246,242,240,.95); --scrim:rgba(36,29,43,.42);
  --kd-violet-tint:#ece5f8; --kd-clay-tint:#f6efeb; --kd-gold-tint:#f3e8d0; --feature-bg:#fcf9f3; --ask-bg:#f8f6fb; --banner-bg:#f3ece4;
}

/* ---------- base ---------- */
.kd,.kd-top,.kd-sheet,.kd-dock,.kd-toast{font-family:var(--sans);font-feature-settings:'cv02','cv03','cv04','cv11';-webkit-font-smoothing:antialiased;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent}
body.kd-page{background:var(--bg);color:var(--fg);overflow-x:hidden}
body.kd-lock{overflow:hidden;position:fixed;left:0;right:0;width:100%}
:where(.kd) h1,:where(.kd) h2,:where(.kd) h3,:where(.kd) h4,:where(.kd) p,:where(.kd) ul,:where(.kd) ol,:where(.kd) figure,:where(.kd) blockquote{margin:0}
:where(.kd) ul,:where(.kd) ol{padding:0;list-style:none}
:where(.kd) button,:where(.kd) input,:where(.kd) textarea{font:inherit;color:inherit}
:where(.kd) button{background:none;border:0;padding:0;cursor:pointer;text-align:left}
:where(.kd) a{color:inherit}
:where(.kd) b,:where(.kd) strong{font-weight:650}
:where(.kd) mark{background:var(--kd-clay-tint);color:inherit;border-radius:4px;padding:0 .18em;box-shadow:inset 0 -2px 0 var(--clay-line)}
.kd :focus-visible,.kd-top :focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:8px}
.kd-sheet-title:focus,.kd-q .kd-qt:focus{outline:none}
.kd [hidden],.kd[hidden],.kd-top [hidden],.kd-sheet[hidden],.kd-dock[hidden],.kd-toast[hidden]{display:none!important}
.kd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kd-wrap{width:100%;max-width:44rem;margin:0 auto;padding:0 16px}
.kd-screen{min-height:100dvh;padding-bottom:calc(var(--dock-h) + 40px + var(--kb-pad) + env(safe-area-inset-bottom,0px))}
.kd-muted{color:var(--muted)}
.kd-num{font-variant-numeric:tabular-nums}
.kd-cap{display:block;font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.01em}
/* The site's signature eyebrow, kept as small capitals so the text itself stays in sentence case. */
.kd-eyebrow{display:block;font-size:15px;line-height:1.3;font-weight:650;letter-spacing:.1em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd-eyebrow.kd-clay{color:var(--clay-fg)}
.kd-eyebrow.kd-violet{color:var(--violet-fg)}

/* ---------- header (compact; its padding fills the safe-area strip) ---------- */
.kd-top{position:sticky;top:0;z-index:30;background:var(--bar-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.kd-top .kd-wrap{max-width:74rem}
.kd-top-in{display:flex;align-items:center;justify-content:space-between;gap:8px;height:var(--top-h)}
.kd-brand{text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--strong);white-space:nowrap}
.kd-brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--violet),var(--gold));color:#fff;font-weight:800;font-size:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.kd-top-right{display:flex;align-items:center;gap:6px}
.kd-tbtn{text-decoration:none;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:12px;font-weight:650;font-size:16px;color:var(--fg);white-space:nowrap}
.kd-tbtn:hover{background:var(--surface-3)}
.kd-tbtn.kd-box{border:1px solid var(--line-strong);background:var(--surface-2);padding:0}
.kd-tbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kd-tbtn .kd-short{display:none}
@media (max-width:379px){.kd-tbtn .kd-long{display:none}.kd-tbtn .kd-short{display:inline}}

/* ---------- buttons, chips, links ---------- */
.kd-btn{text-decoration:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:999px;background:var(--cta-bg);color:var(--cta-ink);font-weight:700;font-size:17px;width:100%;text-align:center;box-shadow:0 10px 24px var(--cta-glow),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .12s ease,box-shadow .2s ease}
.kd-btn:active{transform:translateY(1px)}
.kd-btn[disabled]{opacity:.72;cursor:default}
.kd-btn.kd-auto{width:auto}
.kd-btn svg{width:20px;height:20px}
.kd-btn-ghost{text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;text-align:center}
.kd-btn-ghost:hover{border-color:var(--muted)}
.kd-btn-ghost.kd-gold{border-color:var(--gold-line);color:var(--gold-fg)}
.kd-btn-ghost.kd-wide{width:100%}
.kd-btn-ghost.kd-clay{border-color:var(--clay-line);color:var(--clay-fg)}
.kd-btn-ghost.kd-clay:hover{border-color:var(--clay)}
.kd-btn-quiet{text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg);font-weight:600;background:var(--surface-3);text-align:center}
.kd-btn-quiet:hover{border-color:var(--muted)}
.kd-chip{cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--fg);font-weight:500;line-height:1.3}
.kd-chip:hover{border-color:var(--violet)}
.kd-chip.kd-on{border-color:var(--violet);background:var(--kd-violet-tint);color:var(--strong)}
.kd-chips{display:flex;flex-wrap:wrap;gap:8px}
.kd-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kd-link{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--violet-fg);font-weight:700;text-decoration:none;padding:0 2px}
.kd-link:hover{text-decoration:underline}
.kd-link .kd-arr{font-weight:400}

/* ---------- forms ---------- */
.kd-field{display:block}
.kd-field-label{display:block;font-size:15px;font-weight:650;color:var(--strong);margin-bottom:8px}
textarea.kd-box,input.kd-box{width:100%;min-height:52px;padding:14px 16px;border-radius:18px;border:1.5px solid var(--field-line);background:var(--surface-2);color:var(--fg);font-size:17px;line-height:1.5;resize:none;font-family:var(--sans);overflow-y:auto}
textarea.kd-box{scroll-margin-top:calc(var(--top-h) + env(safe-area-inset-top,0px) + 12px);scroll-margin-bottom:calc(var(--dock-h) + 16px)}
textarea.kd-box::placeholder,input.kd-box::placeholder{color:var(--muted);opacity:1}
textarea.kd-box:focus,input.kd-box:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px var(--violet-soft)}
.kd-meter{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin-top:8px;min-height:20px}
.kd-hint{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:16px}
.kd-hint .kd-row{margin-top:10px}
.kd-privacy{margin-top:14px;display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:16px}
.kd-privacy svg,.kd-ico{flex:0 0 20px;width:20px;height:20px;margin-top:2px;stroke:var(--clay-fg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- HOME ---------- */
.kd-hero-band{position:relative;isolation:isolate}
.kd-hero-band::before{content:"";position:absolute;top:0;right:0;bottom:-60px;left:0;background:var(--wash);z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.kd-home-grid{display:flex;flex-direction:column}
.kd-hero{padding-top:26px}
.kd-h1{font-family:var(--display);font-weight:500;font-size:34px;line-height:1.12;letter-spacing:-.015em;color:var(--strong);margin-top:10px;max-width:17ch;text-wrap:balance}
.kd-h1 em{font-style:normal;color:var(--gold-fg)}
.kd-lead{margin-top:14px;font-size:17px;line-height:1.55;color:var(--muted);max-width:50ch;text-wrap:pretty}
.kd-lead strong{color:var(--clay-fg);font-weight:650}
/* D-D-302 (D1): the dilemma box sits in the hero at every width — on a phone too, full width */
.kd-hero-box .kd-field{margin-top:22px}
.kd-hero-box textarea.kd-box{min-height:132px}
.kd-hero-box .kd-btn{margin-top:12px}
.kd-reassure{margin-top:10px;font-size:14px;color:var(--muted);text-align:center}
/* the live decisions counter (D-D-223): the real count, a heartbeat, a bump on a real increment; the glyph in the
   text-safe gold (D-D-313: web.css's --gold is an accent, 3.89:1 as an 18 px glyph on the light theme's page) */
.kd-proof{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted);flex-wrap:wrap}
.kd-live{color:var(--gold-fg);display:inline-block;font-size:18px;line-height:1}
.kd-live-count{font-family:var(--display);font-weight:500;font-size:24px;line-height:1;color:var(--strong);display:inline-block}
.kd-live-count.is-bumped{animation:kd-bump .85s ease}
@keyframes kd-spin{to{transform:rotate(360deg)}}
@keyframes kd-bump{0%{transform:translateY(0)}35%{transform:translateY(-6px)}100%{transform:none}}
@media (prefers-reduced-motion:no-preference){.kd-live{animation:kd-spin 3.4s linear infinite}}
@media (prefers-reduced-motion:reduce){.kd-live,.kd-live-count.is-bumped{animation:none}}
.kd-sample-wrap{margin-top:24px}
.kd-sample-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.kd-badge{display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:600;font-style:normal;border:1px solid var(--line-strong);color:var(--muted);vertical-align:middle;line-height:1.25}
.kd-badge.kd-gold,.kd-badge.kd-accent{color:var(--gold-fg);border-color:var(--gold-line)}
.kd-badge.kd-good{color:var(--good);border-color:var(--good-line)}
.kd-badge.kd-warn{color:var(--warn);border-color:var(--warn-line)}
.kd-badge.kd-bad{color:var(--bad);border-color:var(--bad-line)}
.kd-badge.kd-clay{color:var(--clay-fg);border-color:var(--clay-line)}
.kd-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow-sm)}
.kd-card.kd-feature{background:var(--feature-bg);border-color:var(--gold-line)}
.kd-sample-topic{font-size:14px;font-weight:600;color:var(--muted);margin-bottom:12px}
.kd-card-title{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;color:var(--strong);margin-top:2px;text-wrap:balance}
.kd-call{font-family:var(--display);font-size:21px;line-height:1.42;color:var(--strong);margin-top:12px;text-wrap:pretty}
.kd-step{margin-top:16px;padding:2px 0 2px 14px;border-left:2px solid var(--clay-line)}
.kd-step .kd-cap{color:var(--clay-fg);margin-bottom:4px}
.kd-step .kd-act{font-size:16px;line-height:1.5}
.kd-step .kd-act b{font-weight:650}
.kd-say{margin-top:10px;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:var(--strong);text-wrap:pretty}
.kd-say .kd-cap{font-style:normal;font-family:var(--sans);font-size:14px;color:var(--muted);margin-bottom:2px}
.kd-due{display:block;margin-top:10px;font-size:16px;color:var(--muted)}
.kd-due b{color:var(--fg);font-weight:650}
.kd-snap{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 2px 6px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;overscroll-behavior-x:contain}
.kd-snap::-webkit-scrollbar{display:none}
.kd-mini{flex:0 0 84%;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;font-size:16px}
.kd-mini .kd-cap{margin-bottom:6px}
.kd-mini .kd-sk{font-family:var(--dev);color:var(--gold-fg);font-size:17px;line-height:1.75}
.kd-mini .kd-tr{font-family:var(--display);font-size:17px;line-height:1.5;margin-top:4px;color:var(--fg)}
.kd-mini .kd-tr.kd-sans{font-family:var(--sans);font-size:16px}
.kd-mini .kd-ref{color:var(--muted);font-size:14px;margin-top:8px}
.kd-swipe-note{font-size:14px;color:var(--muted);padding:2px 2px 0}
.kd-sample-wrap .kd-btn-ghost{margin-top:14px}
.kd-sample-note{margin-top:10px;font-size:14px;color:var(--muted)}
.kd-sec{margin-top:56px}
.kd-h2{font-family:var(--display);font-weight:500;font-size:28px;line-height:1.18;letter-spacing:-.01em;color:var(--strong);margin-top:8px;text-wrap:balance}
.kd-h2 em{font-style:italic;color:var(--clay-fg)}
.kd-sec-sub{margin-top:10px;color:var(--muted);font-size:16px;max-width:56ch;text-wrap:pretty}
.kd-beats{margin-top:20px;display:grid;gap:12px}
.kd-beat{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.kd-beat-n{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold-line);color:var(--gold-fg);display:grid;place-items:center;font-family:var(--display);font-size:21px;background:var(--surface)}
.kd-beat h3{font-family:var(--display);font-weight:500;font-size:21px;line-height:1.25;color:var(--strong);text-wrap:balance}
.kd-beat p{margin-top:6px;color:var(--muted);font-size:16px;text-wrap:pretty}
.kd-beat.kd-card{padding:18px 16px}
.kd-spine{position:relative;margin-top:22px;padding-left:34px}
.kd-spine::before{content:"";position:absolute;left:11px;top:8px;bottom:12px;width:2px;background:var(--clay-line);border-radius:2px}
.kd-sp{position:relative;padding-bottom:26px}
.kd-sp:last-child{padding-bottom:0}
.kd-sp::before{content:"";position:absolute;left:-31px;top:2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--clay);background:var(--bg);box-shadow:0 0 0 4px var(--bg)}
.kd-sp h3{font-family:var(--display);font-weight:500;font-size:21px;line-height:1.25;color:var(--strong);margin-top:4px}
.kd-sp .kd-card{margin-top:10px;padding:14px 16px;border-radius:18px}
.kd-sp .kd-note-i{margin-top:8px;font-family:var(--display);font-style:italic;font-size:17px;color:var(--muted);text-wrap:pretty}
.kd-sp .kd-q-i{font-family:var(--display);font-style:italic;font-size:17px;line-height:1.55;color:var(--fg)}
.kd-sp .kd-chips{margin-top:10px}
.kd-held-mini{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.kd-held-mini svg{flex:0 0 22px;width:22px;height:22px;stroke:var(--clay-fg);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.kd-note{margin-top:18px;padding:22px 20px 18px}
.kd-note p{font-family:var(--display);font-size:19px;line-height:1.6;color:var(--fg);text-wrap:pretty}
.kd-note p+p{margin-top:12px}
.kd-note .kd-sig{margin-top:14px;font-family:var(--sans);font-size:15px;color:var(--muted)}
.kd-ladder{margin-top:20px;display:grid;gap:12px}
.kd-rung{display:grid;gap:8px;padding:18px 18px 16px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.kd-rung.kd-free{background:var(--feature-bg);border-color:var(--gold-line)}
.kd-rung-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.kd-rung h3{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.2;color:var(--strong)}
.kd-rung p{color:var(--muted);font-size:16px;text-wrap:pretty}
.kd-price{font-family:var(--display);font-size:23px;font-weight:500;white-space:nowrap;text-align:right;color:var(--gold-fg);display:inline-block}
/* D-D-243: the Pro card — the four entitlements, the trial CTA and the one honest line */
.kd-rung.kd-rung-pro{border-color:var(--gold-line)}
.kd-pro-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}
.kd-pro-list li{display:grid;gap:2px;font-size:16px;color:var(--muted);text-wrap:pretty}
.kd-pro-list li b{color:var(--strong);font-weight:650}
.kd-pro-cta{display:grid;gap:8px;margin-top:8px}
.kd-pro-form{margin:0}
.kd-pro-line{margin:0;font-size:15px;line-height:1.5;color:var(--muted);max-width:60ch}
.kd-pro-status{margin:0;font-size:15px;color:var(--muted);min-height:1em}
.kd-price s{color:var(--muted);font-weight:400;margin-left:6px;font-size:17px}
.kd-price small{display:block;font-family:var(--display);font-style:italic;font-size:15px;color:var(--muted);font-weight:400;white-space:normal;line-height:1.3;margin-top:2px}
.kd-ladder-foot{margin-top:12px;font-size:16px;color:var(--muted)}
.kd-trust{margin-top:18px;display:grid;gap:10px}
.kd-trust li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);font-size:16px}
.kd-trust li b{display:block;color:var(--strong);font-weight:650}
.kd-trust li span{color:var(--muted)}

/* ---------- PRICING: the plan cards and the compare table (D-D-284) ----------
   /pricing/ only (web/partials/_kd_plans.html). Two cards, Free then Pro: a 4px top edge (Free --line-strong,
   Pro --gold on the feature surface), the name, one line, the price, one action, short lines each with a small
   .kd-ok mark; stacked on a phone, side by side from 720px with their rows aligned (subgrid where the browser
   has it). Then the table of where they differ: one header row and five rows, two plan columns that fit a
   phone, the first column wraps, nothing scrolls sideways. Tokens only — both themes ride them; the page
   column widens to 60rem on a desktop. */
.kd-plans{margin-top:22px}
.kd-plan-grid{display:grid;gap:14px 16px}
.kd-card.kd-plan{display:flex;flex-direction:column;gap:16px;border-top:4px solid var(--line-strong)}
.kd-card.kd-plan.kd-feature{border-top-color:var(--gold)}
.kd-plan .kd-plan-name{font-family:var(--display);font-weight:500;font-size:28px;line-height:1.15;color:var(--strong);margin:0}
.kd-plan .kd-plan-desc{margin-top:6px;font-size:16px;line-height:1.5;color:var(--muted)}
.kd-plan-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.kd-plan-amount{font-family:var(--display);font-weight:500;font-size:44px;line-height:1.05;letter-spacing:-.01em;color:var(--strong);font-variant-numeric:lining-nums tabular-nums}
.kd-plan.kd-feature .kd-plan-amount{color:var(--gold-fg)}
.kd-plan-price small{font-family:var(--display);font-style:italic;font-size:17px;color:var(--muted)}
.kd-plan-cta{display:grid;gap:8px;align-content:start}
.kd-plan-cta .kd-pro-cta{margin-top:0}
.kd-plan-note{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.kd-plan-cta .kd-btn-ghost{width:100%;min-height:52px}
.kd-plan-on{font-weight:650;color:var(--strong)}
.kd-plan-list{display:grid;gap:10px;align-content:start;padding-top:16px;border-top:1px solid var(--line)}
.kd-plan-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:16px;line-height:1.45;color:var(--fg)}
.kd-plan-list li b{color:var(--strong);font-weight:650}
.kd-plan-list .kd-plan-from{color:var(--muted)}
.kd-plans .kd-ok{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--gold-line);background:var(--kd-gold-tint);display:grid;place-items:center;margin-top:1px}
.kd-plans .kd-ok svg{width:12px;height:12px;stroke:var(--gold-fg);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kd-plan-list .kd-plan-from .kd-ok{border-color:var(--line-strong);background:transparent}
.kd-plan-list .kd-plan-from .kd-ok svg{stroke:var(--muted)}
.kd-plans-more{margin-top:8px}
.kd-plans-h{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;color:var(--strong);margin-top:28px;text-wrap:balance}
.kd-compare{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:6px;font-size:16px;line-height:1.4}
.kd-compare .kd-compare-col{width:6.5rem}
.kd-compare th,.kd-compare td{padding:12px 4px;border-top:1px solid var(--line);text-align:center;vertical-align:middle;font-weight:400}
.kd-compare th[scope=row]{padding:12px 10px 12px 0;text-align:left;color:var(--fg);text-wrap:pretty}
.kd-compare td{font-size:15px;color:var(--fg)}
.kd-compare thead>tr>*{padding:4px 4px 10px;border-top:0;vertical-align:bottom}
.kd-compare tbody>tr:first-child>*{border-top-color:var(--line-strong)}
.kd-compare .kd-compare-plan{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.2;color:var(--strong)}
.kd-compare .kd-compare-plan.kd-compare-pro{color:var(--gold-fg)}
.kd-compare-no{color:var(--muted);font-size:18px;line-height:1}
@media (min-width:720px){
  .kd-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kd-compare .kd-compare-col{width:9rem}
}
@supports (grid-template-rows:subgrid){
  @media (min-width:720px){
    .kd-card.kd-plan{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:16px}
  }
}
@media (min-width:960px){
  .kd-pricing>.kd-wrap{max-width:60rem}
  .kd-plan-amount{font-size:48px}
  .kd-plans-h{font-size:28px;margin-top:40px}
  .kd-compare .kd-compare-col{width:11rem}
}
.kd-foot{margin-top:56px;padding:26px 16px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:16px}
.kd-foot .kd-brand{margin-bottom:8px}
.kd-foot .kd-row{margin-top:8px;gap:2px 16px}
.kd-foot .kd-link{color:var(--fg);font-weight:600}
.kd-foot small{display:block;margin-top:14px;font-size:14px}

/* ---------- HOME v3: the world ---------- */
.kd-sec-sub.kd-big{font-size:17px;max-width:62ch;color:var(--fg)}
.kd-closing{margin-top:18px;font-family:var(--display);font-size:19px;line-height:1.5;color:var(--strong);max-width:56ch;text-wrap:pretty}
.kd-h3{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;color:var(--strong);margin-top:30px;text-wrap:balance}
.kd-fight-panel{position:relative;overflow:hidden;margin-top:12px;padding:16px 16px 6px;border-radius:22px;background:var(--bg-deep);border:1px solid var(--line)}
.kd-loop-mark{position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;color:var(--violet);opacity:.14;pointer-events:none}
.kd-loop{position:relative;display:grid}
.kd-loop li{display:grid;grid-template-columns:1fr;gap:3px 14px;padding:12px 0;border-top:1px solid var(--line);font-size:16px;color:var(--fg)}
.kd-loop li:first-child{border-top:0}
.kd-loop .kd-when{font-size:14px;font-weight:650;color:var(--clay-fg);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.kd-loop-intro{margin-top:14px;font-size:15px;font-weight:650;color:var(--muted)}
.kd-become{margin-top:18px;display:grid;gap:10px}
.kd-become li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.kd-become .kd-ok{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gold-line);background:var(--kd-gold-tint);display:grid;place-items:center;margin-top:2px}
.kd-become .kd-ok svg{width:15px;height:15px;stroke:var(--gold-fg);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kd-become b{display:block;font-family:var(--display);font-weight:500;font-size:21px;line-height:1.25;color:var(--strong)}
.kd-become div>span{display:block;margin-top:4px;font-size:16px;color:var(--muted);text-wrap:pretty}
.kd-meet{margin-top:20px}
.kd-meet .kd-eyebrow{margin-bottom:8px}
.kd-sp .kd-moon{width:26px;height:26px;stroke:var(--gold-fg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.kd-sp .kd-card p+p{margin-top:8px}
.kd-sample-wrap .kd-h2{margin-top:10px}
.kd-sample-wrap .kd-sec-sub{margin-bottom:14px}

/* ---------- WRITE ---------- */
.kd-editor{padding-top:26px}
.kd-editor .kd-h2{margin-top:6px}
.kd-editor .kd-lead{font-size:16px}
.kd-editor .kd-field{margin-top:18px}
.kd-editor textarea.kd-box{min-height:min(44dvh,340px);font-size:17px}

/* ---------- CONVERSATION ---------- */
.kd-status-slot{position:sticky;top:calc(var(--top-h) + env(safe-area-inset-top,0px));z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.kd-status{display:flex;align-items:center;gap:10px;min-height:50px;padding:6px 0;font-size:16px;font-weight:650;color:var(--strong)}
.kd-status .kd-txt{flex:1;line-height:1.3}
.kd-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--gold);animation:kd-pulse 1.8s ease-in-out infinite}
.kd-status[data-live="false"] .kd-dot{display:none}
.kd-status[data-live="false"]{color:var(--muted)}
@keyframes kd-pulse{0%,100%{transform:scale(.8);opacity:.6}50%{transform:scale(1.15);opacity:1}}
.kd-calm{font-size:16px;color:var(--muted);padding:0 0 10px 20px}
.kd-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px 0;min-height:54px;align-items:center;overscroll-behavior-x:contain}
.kd-nav::-webkit-scrollbar{display:none}
.kd-nav button{flex:0 0 auto;min-height:44px;padding:0 15px;border-radius:999px;font-weight:600;font-size:15px;color:var(--muted);border:1px solid transparent;white-space:nowrap}
.kd-nav button.kd-on{color:var(--strong);background:var(--kd-violet-tint);border-color:var(--violet)}
.kd-convo{padding-top:18px}
.kd-transcript{display:grid;gap:14px}
.kd-bub{max-width:100%}
.kd-bub.kd-s{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--strong);padding:2px 0;text-wrap:pretty}
.kd-bub.kd-s .kd-who{display:block;font-family:var(--sans);font-size:14px;font-weight:650;color:var(--gold-fg);margin-bottom:2px}
.kd-bub.kd-s.kd-cont{margin-top:-4px}
.kd-bub.kd-s.kd-cont .kd-who{display:none}
.kd-bub.kd-u{justify-self:end;max-width:92%;background:var(--surface-3);border:1px solid var(--line);border-radius:20px 20px 6px 20px;padding:12px 15px;color:var(--fg);font-size:16px}
.kd-bub.kd-u .kd-who{display:block;font-size:14px;font-weight:650;color:var(--clay-fg);margin-bottom:2px}
.kd-bub.kd-u .kd-clip{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.kd-bub.kd-u .kd-more-btn{display:inline-flex;align-items:center;min-height:44px;color:var(--violet-fg);font-weight:650;font-size:15px}
.kd-bub.kd-u.kd-said{font-size:16px;color:var(--muted)}
.kd-bub.kd-u.kd-said b{color:var(--strong);font-weight:600}
.kd-q{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 16px;box-shadow:var(--shadow-sm)}
.kd-q .kd-prog{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:650;color:var(--muted)}
.kd-pips{display:inline-flex;gap:6px}
.kd-pips i{width:22px;height:5px;border-radius:3px;background:var(--line-strong)}
.kd-pips i.kd-on{background:var(--violet)}
.kd-q .kd-qt{font-family:var(--display);font-size:22px;line-height:1.35;color:var(--strong);margin-top:8px;text-wrap:pretty}
.kd-q .kd-opts{display:grid;gap:8px;margin-top:16px}
.kd-q .kd-opt{min-height:50px;padding:11px 16px;border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-2);text-align:left;font-weight:550;line-height:1.35;color:var(--strong)}
.kd-q .kd-opt:hover{border-color:var(--violet)}
.kd-q .kd-more{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.kd-q .kd-more .kd-chip{color:var(--muted)}
.kd-q .kd-type-hint{margin-top:12px;font-size:16px;color:var(--muted)}
.kd-lane-line{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-strong);font-size:16px;font-weight:600;color:var(--strong)}
.kd-lane-line.kd-ok{color:var(--muted);font-weight:500}
.kd-lane-line .kd-tick-sm{stroke:var(--gold-fg)}
.kd-council-q{font-family:var(--display);font-size:20px;line-height:1.4;color:var(--strong);margin-top:4px}
.kd-council-hint{margin-top:14px;font-size:16px;color:var(--muted)}
.kd-council-hint .kd-link{min-height:44px}
.kd-fail{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--bad);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow-sm)}
.kd-fail h2{font-family:var(--display);font-weight:500;font-size:23px;line-height:1.3;color:var(--strong)}
.kd-fail p{margin-top:8px;color:var(--muted)}
.kd-fail textarea.kd-box{margin-top:14px;min-height:120px}
.kd-fail .kd-row{margin-top:12px}

/* the wait: what is being written, row by row, tied to the real stages (never a percentage) */
.kd-stack{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:16px 16px 14px;box-shadow:var(--shadow-sm)}
.kd-stack-h{font-family:var(--display);font-size:20px;color:var(--strong)}
.kd-stack-list{margin-top:10px;display:grid;gap:2px}
.kd-stack-list li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;min-height:40px;font-size:16px;color:var(--muted)}
.kd-stack-list li .kd-ic{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center}
.kd-stack-list li.kd-done{color:var(--fg)}
.kd-stack-list li.kd-done .kd-ic{border-color:var(--gold);background:var(--kd-gold-tint)}
.kd-stack-list li.kd-done .kd-ic svg{width:14px;height:14px;stroke:var(--gold-fg);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kd-stack-list li.kd-now{color:var(--strong);font-weight:650}
.kd-stack-list li.kd-now .kd-ic{border-color:var(--gold)}
.kd-stack-list li.kd-now .kd-ic::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);animation:kd-pulse 1.8s ease-in-out infinite}
.kd-stack-list li.kd-wait{color:var(--strong);font-weight:650}
.kd-stack-list li.kd-wait .kd-ic{border-color:var(--violet);border-style:dashed}
.kd-stack-why{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--display);font-size:17px;line-height:1.5;color:var(--fg);min-height:3em;transition:opacity .3s ease}
.kd-after{border:1px dashed var(--line-strong);border-radius:22px;padding:16px}
.kd-after-h{font-size:15px;font-weight:650;color:var(--muted)}
.kd-after ul{margin-top:8px;display:grid;gap:10px}
.kd-after li b{display:block;font-family:var(--display);font-weight:500;font-size:19px;color:var(--strong)}
.kd-after li span{font-size:16px;color:var(--muted)}
.kd-after-foot{margin-top:12px;font-size:16px;color:var(--muted)}

/* ---------- REPORT ---------- */
.kd-sample-banner{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid var(--gold-line);background:var(--banner-bg)}
.kd-sample-banner p{font-size:16px;color:var(--fg)}
.kd-cards{display:grid;gap:14px;margin-top:14px}
.kd-cards .kd-bub.kd-s{margin-top:10px}
.kd-card.kd-hero-card{background:var(--feature-bg);border-color:var(--gold-line);box-shadow:var(--shadow-md)}
.kd-card.kd-hero-card.kd-held{border-color:var(--clay)}
.kd-card.kd-hero-card>.kd-cap:first-child{font-size:15px;font-weight:650;letter-spacing:.1em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd-card h2,.kd-card h3{font-family:var(--display);font-weight:500;font-size:23px;line-height:1.25;color:var(--strong);margin-top:4px;text-wrap:balance}
.kd-card p{max-width:65ch}
.kd-card .kd-sub{margin-top:16px}
.kd-card .kd-sub .kd-cap{margin-bottom:6px}
.kd-hold-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.kd-hold-note{font-size:16px;color:var(--muted)}
.kd-hold-note b{color:var(--fg)}
.kd-held-line{margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--kd-clay-tint);border:1px solid var(--clay-line);font-weight:600;color:var(--strong);display:flex;gap:10px;align-items:flex-start}
.kd-held-line .kd-tick{width:22px;height:22px;flex:0 0 22px;stroke:var(--clay-fg);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.kd-mini-spine{margin-top:12px;padding-left:22px;position:relative;display:grid;gap:10px;font-size:16px;color:var(--muted)}
.kd-mini-spine::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--clay-line)}
.kd-mini-spine li{position:relative}
.kd-mini-spine li::before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;border:2px solid var(--clay);background:var(--surface)}
.kd-mini-spine li.kd-on::before{background:var(--clay)}
.kd-mini-spine b{color:var(--fg)}
details.kd-dis{margin-top:14px;border-top:1px solid var(--line)}
details.kd-dis summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;cursor:pointer;font-weight:650;color:var(--strong)}
details.kd-dis summary::-webkit-details-marker{display:none}
details.kd-dis summary::after{content:"+";font-family:var(--display);font-size:24px;color:var(--gold-fg)}
details.kd-dis[open] summary::after{content:"\2212"}
details.kd-dis .kd-body{padding:0 0 12px;color:var(--fg)}
details.kd-dis .kd-body p{margin-top:6px}
details.kd-card.kd-dis{margin-top:0;padding:4px 18px}
details.kd-card.kd-dis summary{min-height:54px}
/* the free taste, directly under the call */
.kd-ask{border-color:var(--violet);background:var(--ask-bg)}
.kd-ask-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.kd-ask-head h3{margin-top:0}
.kd-free-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:2px 12px;border-radius:999px;background:var(--kd-violet-tint);border:1px solid var(--violet);color:var(--strong);font-size:14px;font-weight:650;white-space:nowrap}
.kd-ask .kd-lede{margin-top:6px;color:var(--muted);font-size:16px}
.kd-openq{margin-top:14px;padding:14px 14px 10px;border-radius:16px;background:var(--bg-deep);border:1px solid var(--line)}
.kd-openq .kd-cap{margin-bottom:4px}
.kd-openq p{font-family:var(--display);font-size:19px;line-height:1.45;color:var(--strong)}
.kd-openq .kd-row{margin-top:8px}
.kd-starters{margin-top:12px}
.kd-starters .kd-cap{margin-bottom:8px}
.kd-ask-foot{margin-top:12px;font-size:16px;color:var(--muted)}
.kd-ask-foot b{color:var(--fg)}
.kd-companion{display:grid;gap:12px}
.kd-companion:not(:empty){margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.kd-companion .kd-bub.kd-s{font-size:18px}
.kd-companion .kd-thinking{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--muted);font-weight:600}
.kd-strip .kd-heard{font-family:var(--display);font-size:19px;line-height:1.5;margin-top:6px;color:var(--strong)}
.kd-strip .kd-chips{margin-top:2px}
.kd-section{display:grid;gap:12px}
.kd-door{padding:18px 16px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}
.kd-door.kd-lean{border-color:var(--gold-line)}
.kd-door .kd-lean-tag{display:inline-flex;align-items:center;gap:8px;color:var(--gold-fg);font-weight:700;font-size:15px;margin-bottom:6px}
.kd-door .kd-lean-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
.kd-door .kd-lean-tag.kd-no{color:var(--bad)}
.kd-door .kd-lean-tag.kd-no::before{background:var(--bad)}
.kd-door h4{font-family:var(--display);font-weight:500;font-size:21px;line-height:1.3;color:var(--strong);text-wrap:balance}
.kd-door p{margin-top:8px;font-size:16px;line-height:1.55;max-width:65ch;text-wrap:pretty}
.kd-door .kd-lbl{font-weight:700;color:var(--muted)}
.kd-door .kd-meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kd-door .kd-pick-row{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kd-door.kd-picked{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet) inset,var(--shadow-sm)}
.kd-verse{margin-top:14px;padding:16px 14px 14px 16px;border-radius:16px;background:var(--bg-deep);border:1px solid var(--line);border-left:3px solid var(--gold)}
.kd-sanskrit{font-family:var(--dev);color:var(--gold-fg);font-size:19px;line-height:1.85}
.kd-iast{margin-top:8px;font-size:15px;color:var(--muted);line-height:1.5;font-style:italic}
.kd-trans{margin-top:12px;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.55;color:var(--strong)}
.kd-cite{display:block;margin-top:10px;font-size:14px;color:var(--muted);font-style:normal}
.kd-checked{margin-top:8px;font-size:15px;color:var(--good);font-weight:600}
.kd-checked.kd-near{color:var(--muted)}
.kd-whyyou{margin-top:16px}
.kd-whyyou .kd-row{gap:8px}
.kd-whyyou p{font-family:var(--display);font-size:18px;line-height:1.55;margin-top:8px;color:var(--fg)}
.kd-nofit{margin-top:12px;font-family:var(--display);font-size:19px;line-height:1.55;color:var(--strong)}
.kd-costs{margin-top:12px;display:grid;gap:8px}
.kd-costs li{display:grid;grid-template-columns:1fr;gap:2px;padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-size:16px}
.kd-costs li b{font-weight:650;color:var(--strong)}
.kd-share-prev{margin-top:12px;padding:20px 18px;border-radius:18px;background:var(--bg-deep);border:1px solid var(--gold-line)}
.kd-share-prev .kd-quote{font-family:var(--display);font-size:20px;line-height:1.45;color:var(--strong)}
.kd-share-prev .kd-from{margin-top:12px;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kd-share-row{margin-top:12px}
.kd-lens{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.kd-lens:first-child{border-top:0}
.kd-lens .kd-nm{font-weight:650;color:var(--strong)}
.kd-lens .kd-nm small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.kd-lens .kd-sc{font-family:var(--display);font-size:19px;min-width:34px;text-align:right;color:var(--gold-fg)}
.kd-lens .kd-bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--surface-3);position:relative;overflow:hidden}
.kd-lens .kd-bar i{position:absolute;top:0;bottom:0;background:var(--gold);border-radius:3px}
.kd-lens .kd-nt{grid-column:1/-1;font-size:14px;color:var(--muted)}
.kd-lens.kd-off .kd-nm,.kd-lens.kd-off .kd-sc{color:var(--muted)}
.kd-written li{display:grid;grid-template-columns:7.5rem 1fr;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line);font-size:16px}
.kd-written li:first-child{border-top:0}
.kd-written .kd-k{font-weight:650;color:var(--muted)}
.kd-next .kd-cap{display:block}
.kd-offers{display:grid;gap:12px;margin-top:12px}
.kd-offer{padding:16px;border-radius:20px;border:1px solid var(--line);background:var(--surface-2);display:grid;gap:8px}
.kd-offer.kd-free{border-color:var(--good-line)}
.kd-offer.kd-paid{border-color:var(--gold-line)}
.kd-offer h3{font-family:var(--display);font-weight:500;font-size:21px;line-height:1.3;color:var(--strong)}
.kd-offer p{font-size:16px;line-height:1.5;max-width:65ch;text-wrap:pretty}
.kd-offer .kd-pr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.kd-offer .kd-pr .kd-price{text-align:left}
.kd-offer .kd-state{font-size:16px;color:var(--muted)}
.kd-offer.kd-inner{margin-top:14px;background:var(--surface)}
.kd-compact{margin-top:2px;border-top:0}
.kd-compact .kd-body{font-size:16px;color:var(--muted)}
.kd-compact .kd-body .kd-d{font-family:var(--display);color:var(--fg);font-size:17px;margin-top:6px}
.kd-compact .kd-body .kd-qa{margin-top:8px}
.kd-compact .kd-body .kd-qa b{color:var(--fg);font-weight:650}
.kd-info{font-size:16px;color:var(--muted);margin-top:12px;max-width:65ch}

/* ---------- DOCK (fixed above the keyboard) ---------- */
body.kd-kb-open .kd-dock{padding-bottom:10px}
.kd-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bar-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))}
.kd-dock-in{display:flex;gap:10px;align-items:flex-end}
.kd-dock-in .kd-box{min-height:48px;max-height:140px;padding:11px 16px;font-size:16px;flex:1;border-radius:24px}
.kd-dock .kd-send{flex:0 0 auto;min-width:64px;min-height:48px;padding:0 18px;border-radius:999px;background:var(--cta-bg);color:var(--cta-ink);font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px var(--cta-glow)}
.kd-dock .kd-send[disabled]{opacity:.6;cursor:default}
.kd-dock-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin-top:4px;min-height:20px}
.kd-dock-meta b{color:var(--strong);font-weight:650}
.kd-dock-meta .kd-link{min-height:44px;font-size:14px;white-space:nowrap;flex:0 0 auto}
.kd-dock-offer{display:grid;gap:8px}
.kd-dock-offer p{font-family:var(--display);font-size:18px;line-height:1.45;color:var(--strong)}
.kd-dock-offer .kd-row .kd-btn{width:auto;flex:1}
.kd-dock-offer .kd-row .kd-btn-quiet{flex:0 0 auto}
/* D-D-310 (D-founder-53: "pill is fine"; plate #154): the reading's dock at the free messages' cap — "Keep talking
   with Pro" is the compact centred pill the mock drew: the site's filled button (the dock's own, never the Pro
   scope), as wide as its words with the button's own padding, 44 px tall (the tap floor), centred. The reading's
   own dock (Ask Sarathi, its note, the cap line) keeps its full-width button. Geometry only: no colour here. */
.kd-dock .k-dock-pro-row{display:flex;justify-content:center}
.kd-dock .kd-btn.k-dock-pro{width:auto;max-width:100%}

/* ---------- SHEET ---------- */
.kd-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.kd-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}
.kd-panel{position:relative;width:100%;max-width:36rem;max-height:90vh;max-height:min(90dvh,calc(100dvh - 24px));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;padding:6px 18px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-sheet);animation:kd-up .28s cubic-bezier(.2,.8,.2,1)}
@keyframes kd-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.kd-handle{width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:8px auto 2px}
.kd-sheet-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 4px}
.kd-sheet-h h2{font-family:var(--display);font-weight:500;font-size:25px;line-height:1.25;color:var(--strong);padding-top:6px;text-wrap:balance}
.kd-sheet-body{padding-bottom:8px}
.kd-sheet-x{border:0;cursor:pointer;flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:24px;background:var(--surface-3);text-align:center}
.kd-sheet .kd-lead-s{color:var(--muted);font-size:16px;margin-top:4px}
.kd-sheet .kd-row{margin-top:14px}
.kd-sheet .kd-btn{margin-top:12px}
.kd-sheet .kd-alt{margin-top:12px;font-size:14px;color:var(--muted);text-align:center}
.kd-gbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface-2);font-weight:650;width:100%;margin-top:10px;text-align:center;color:var(--strong)}
.kd-gbtn svg{width:20px;height:20px}
.kd-gate-text{margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--clay-line);font-size:16px;color:var(--fg);max-height:120px;overflow:hidden;position:relative}
.kd-gate-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(transparent,var(--surface-2))}
.kd-gate-text .kd-cap{display:block;color:var(--clay-fg);margin-bottom:4px}
.kd-menu-list{margin-top:8px;display:grid}
.kd-menu-list :is(button,a){text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:600;color:var(--strong)}
.kd-menu-list :is(button,a) span{color:var(--muted);font-weight:400;font-size:15px}
.kd-menu-group{margin-top:16px;font-size:14px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kd-menu-who{text-transform:none;letter-spacing:0;font-size:14px;color:var(--fg)}
.kd-menu-email{font-size:14px;color:var(--muted);padding:2px 0 8px;overflow-wrap:anywhere}
.kd-menu-list .kd-danger{color:var(--bad)}
.kd-menu-logout{display:block}
.kd-menu-logout button{width:100%}
.kd-menu-theme{margin-top:16px}
.kd-menu-theme .kd-cap{margin-bottom:8px}
.kd-pay{display:grid;gap:12px}
.kd-pay .kd-prod{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.kd-pay .kd-prod h3{font-family:var(--display);font-weight:500;font-size:21px;color:var(--strong)}
.kd-pay .kd-prod p{color:var(--muted);font-size:16px;margin-top:2px}
.kd-pay .kd-methods{display:grid;gap:8px}
.kd-pay .kd-methods .kd-chip{justify-content:space-between}
.kd-tick-sm{width:18px;height:18px;flex:0 0 18px;stroke:var(--violet-fg);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.kd-pay .kd-fine{font-size:14px;color:var(--muted)}
.kd-pay .kd-sim{font-size:14px;color:var(--muted);text-align:center;border-top:1px dashed var(--line-strong);padding-top:10px}
.kd-receipt{display:grid;gap:10px;padding:16px;border-radius:18px;background:var(--kd-gold-tint);border:1px solid var(--gold-line)}
.kd-receipt h3{font-family:var(--display);font-weight:500;font-size:22px;color:var(--strong)}
.kd-receipt p{font-size:16px;color:var(--fg)}
.kd-cmp{display:grid;gap:10px;margin-top:8px}
.kd-cmp .kd-rowc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2)}
.kd-cmp .kd-rowc h3{font-family:var(--display);font-weight:500;font-size:20px;color:var(--strong)}
.kd-cmp .kd-rowc p{grid-column:1/-1;font-size:16px;line-height:1.5}
.kd-cmp .kd-rowc .kd-price{font-size:20px}
.kd-cmp .kd-rowc .kd-row{grid-column:1/-1;margin-top:4px}
.kd-paper{margin-top:12px;background:var(--paper);color:var(--paper-ink);border-radius:10px;padding:22px 20px;border:1px solid var(--paper-rule);font-family:var(--display);box-shadow:0 2px 12px rgba(0,0,0,.2)}
.kd-paper .kd-pt{font-size:14px;color:var(--paper-muted);font-family:var(--sans);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kd-paper h3{font-size:22px;font-weight:500;margin-top:10px}
.kd-paper h4{font-size:14px;font-family:var(--sans);font-weight:700;color:var(--paper-muted);margin-top:18px;letter-spacing:.02em;border-top:1px solid var(--paper-rule);padding-top:12px}
.kd-paper p{font-size:16px;line-height:1.55;margin-top:6px}
.kd-paper .kd-pd{font-family:var(--dev);font-size:17px;line-height:1.8;margin-top:8px}
.kd-paper .kd-pc{font-size:14px;color:var(--paper-muted);font-family:var(--sans);margin-top:6px}
.kd-paper li{font-size:16px;line-height:1.5;margin-top:6px;padding-left:14px;position:relative}
.kd-paper li::before{content:"\2013";position:absolute;left:0;color:var(--paper-muted)}
.kd-journal{display:grid;gap:10px;margin-top:8px}
.kd-jrow{padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2);display:grid;gap:4px}
.kd-jrow h3{font-family:var(--display);font-weight:500;font-size:20px;color:var(--strong)}
.kd-jrow p{font-size:16px;color:var(--muted)}
.kd-jrow .kd-row{margin-top:6px}

/* ---------- toast ---------- */
.kd-toast{position:fixed;left:50%;bottom:calc(var(--dock-h) + var(--kb-off) + 18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:70;max-width:min(92vw,28rem);background:var(--strong);color:var(--bg);padding:12px 16px;border-radius:16px;font-weight:600;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.3);text-align:center;line-height:1.35}

/* ---------- scroll targets clear the sticky header + status line ---------- */
.kd-stack,.kd-q,.kd-fail,.kd-card,.kd-section,.kd-sample-banner,.kd-sec,.kd-offer,.kd-council-box,.kd-convo-screen textarea.kd-box,.kd-convo-screen input.kd-box{scroll-margin-top:calc(var(--top-h) + env(safe-area-inset-top,0px) + 70px)}
.kd-convo-screen textarea.kd-box,.kd-convo-screen input.kd-box{scroll-margin-bottom:calc(var(--dock-h) + 16px)}

/* ---------- wrapping ---------- */
.kd-card h2,.kd-card h3,.kd-door h4,.kd-offer h3,.kd-sheet-h h2,.kd-fail h2,.kd-beat h3,.kd-rung h3,.kd-cmp .kd-rowc h3,.kd-jrow h3,.kd-receipt h3,.kd-pay .kd-prod h3,.kd-sp h3{text-wrap:balance}
.kd-call,.kd-trans,.kd-whyyou p,.kd-nofit,.kd-strip .kd-heard,.kd-bub.kd-s,.kd-door p,.kd-card p,.kd-offer p,.kd-q .kd-qt,.kd-beat p,.kd-note p,.kd-lead,.kd-say{text-wrap:pretty}

/* ---------- motion ---------- */
.kd-card.kd-reveal,.kd-section.kd-reveal{animation:kd-land .5s cubic-bezier(.2,.8,.2,1) both}
.kd-card.kd-reveal.kd-slow{animation-duration:1s}
@keyframes kd-land{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kd-bub.kd-reveal,.kd-q.kd-reveal,.kd-fail.kd-reveal,details.kd-reveal,.kd-stack.kd-reveal,.kd-after.kd-reveal{animation:kd-land .4s ease both}
@media (prefers-reduced-motion: reduce){
  :where(.kd,.kd-top,.kd-sheet,.kd-dock,.kd-toast) *,:where(.kd,.kd-top,.kd-sheet,.kd-dock,.kd-toast) *::before,:where(.kd,.kd-top,.kd-sheet,.kd-dock,.kd-toast) *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .kd-dot,.kd-stack-list li.kd-now .kd-ic::after{animation:none;opacity:1}
}

/* ---------- small phones: tighten the display sizes, never the body ---------- */
@media (max-width:374px){
  .kd-h1{font-size:31px}
  .kd-h2{font-size:26px}
  .kd-call{font-size:20px}
  .kd-card,.kd-door{padding:18px 15px}
}

/* ---------- desktop: composed, never a stretched phone ---------- */
@media (min-width: 960px){
  .kd-wrap.kd-home-wrap{max-width:74rem}
  .kd-fight{margin-top:48px}
  .kd-loop li{grid-template-columns:12rem 1fr}
  .kd-become{grid-template-columns:1fr}
  .kd-sample-wrap .kd-snap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kd-hero{position:sticky;top:calc(var(--top-h) + 8px)}
  .kd-snap{display:grid;grid-template-columns:1fr;overflow:visible;padding:12px 0 0;margin:0}
  .kd-swipe-note{display:none}
  .kd-home-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px 64px;align-items:start}
  .kd-hero{padding-top:48px}
  .kd-loop-mark{width:170px;height:170px;right:-50px;bottom:-50px}
  .kd-h1{font-size:52px;max-width:15ch}
  .kd-lead{font-size:19px}
  .kd-sample-wrap{margin-top:56px}
  .kd-h2{font-size:36px}
  .kd-beats{grid-template-columns:1fr 1fr;gap:14px}
  .kd-ladder{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kd-trust{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kd-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
  .kd-two .kd-sec{margin-top:56px}
  .kd-editor .kd-h2{font-size:38px}
  .kd-q .kd-qt{font-size:24px}
  .kd-call{font-size:24px}
  .kd-card,.kd-door{padding:24px 24px}
  .kd-panel{border-radius:26px;margin-bottom:24px;border-bottom:1px solid var(--line)}
  .kd-sheet{align-items:center}
}

/* ---------- site chrome that must respect the dock ---------- */
/* The cookie strip never covers a sticky action bar: it sits above the dock (kd.js publishes --dock-h). */
.cookie-banner{bottom:calc(var(--dock-h) + var(--kb-off) + 12px + env(safe-area-inset-bottom,0px));z-index:45}
.cookie-banner .button{font-size:14px}
.cookie-banner :focus-visible{outline:3px solid var(--violet);outline-offset:2px}
/* the page reserves the dock's height after <main>, so the footer's last row stays reachable under a dock */
body{padding-bottom:var(--dock-h)}
/* Pages built on kd keep the site's framed-mode behaviour (founder console iframes hide the chrome). */
html.is-framed .kd-top,html.is-framed .kd-dock{display:none!important}
/* The old marketing shell's main padding does not apply to kd pages. */
main.kd{padding-top:0}

/* ============================================================
   The reading page (app/kshetra/templates/kshetra/brief.html) on concept D — stage 2, Phase 2a
   (D-D-211/212). The hooks are the browser tests' (.k-*, data-*); the look is the prototype's.
   Everything is scoped under #kshetra-brief. Colours: tokens only (D-D-207 holds).
   ============================================================ */
.kd-reading{padding-top:22px}
/* D-D-293 (D-founder-39, the phone rule): the one column never grows past its container — a wide item (the sharpen composer's min-content, ~389 px) used to stretch every card and the page scrolled sideways at 360–390 px */
#kshetra-brief{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
#kshetra-brief [hidden]{display:none!important}
/* the editor (the intake) */
#kshetra-brief .k-intake{display:block}
#kshetra-brief .k-intake-h{margin-top:6px}
#kshetra-brief .k-intake-lead{font-size:16px}
#kshetra-brief .k-intake .kd-field-label{margin-top:18px}
#kshetra-brief .k-intake textarea.kd-box{min-height:min(44dvh,340px);font-size:17px}
#kshetra-brief .k-read{margin-top:12px}
#kshetra-brief .k-intake .kd-privacy{margin-top:14px}
/* the microphone on the dilemma box (D-D-241): a row under the meter, the live line, the hint */
#kshetra-brief .k-mic-row,.kd-hero-form .k-mic-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
#kshetra-brief .k-mic,.kd-hero-form .k-mic{display:inline-flex;align-items:center;gap:8px;min-height:48px;min-width:48px;padding:0 16px 0 12px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface-2);color:var(--strong);font-weight:650;font-size:16px;cursor:pointer}
#kshetra-brief .k-mic svg,.kd-hero-form .k-mic svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#kshetra-brief .k-mic:hover,.kd-hero-form .k-mic:hover{border-color:var(--violet)}
#kshetra-brief .k-mic[data-mic-state="listening"],.kd-hero-form .k-mic[data-mic-state="listening"]{border-color:var(--clay-line);color:var(--clay-fg);animation:k-mic-pulse 1.4s ease-in-out infinite}
#kshetra-brief .k-mic[data-mic-state="asking"],#kshetra-brief .k-mic[data-mic-state="transcribing"],.kd-hero-form .k-mic[data-mic-state="asking"],.kd-hero-form .k-mic[data-mic-state="transcribing"]{opacity:.8;cursor:progress}
#kshetra-brief .k-mic:disabled,.kd-hero-form .k-mic:disabled{opacity:.6;cursor:default}
@keyframes k-mic-pulse{0%,100%{box-shadow:0 0 0 0 var(--clay-line)}50%{box-shadow:0 0 0 7px transparent}}
#kshetra-brief .k-mic-lang,.kd-hero-form .k-mic-lang{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--fg);font-size:15px;font-weight:600}
/* D-D-261: the one-tap script switch after a transcript in an Indic language (a text button) */
#kshetra-brief .k-mic-script,.kd-hero-form .k-mic-script{min-height:44px;padding:0 6px;border:0;background:none;color:var(--violet-fg);font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#kshetra-brief .k-mic-script[hidden],.kd-hero-form .k-mic-script[hidden]{display:none}
#kshetra-brief .k-mic-script:disabled,.kd-hero-form .k-mic-script:disabled{opacity:.6;cursor:default}
#kshetra-brief .k-mic-status,.kd-hero-form .k-mic-status{flex:1 1 100%;font-size:14px;color:var(--muted)}
#kshetra-brief .k-mic-interim,.kd-hero-form .k-mic-interim{margin:6px 0 0;font-size:16px;font-style:italic;color:var(--muted)}
#kshetra-brief .k-mic-hint,.kd-hero-form .k-mic-hint{margin:8px 0 0;font-size:14px;color:var(--muted)}
/* the dilemma as written (made by kshetra.js at start) */
#kshetra-brief .k-you{justify-self:end;max-width:92%;background:var(--surface-3);border:1px solid var(--line);border-radius:20px 20px 6px 20px;padding:12px 15px;color:var(--fg);font-size:16px;white-space:pre-wrap}
#kshetra-brief .k-you .k-who{display:block;font-size:14px;font-weight:650;color:var(--clay-fg);margin-bottom:2px;white-space:normal}
/* Sarathi's lines in the transcript */
#kshetra-brief .k-line{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--strong);padding:2px 0;text-wrap:pretty}
#kshetra-brief .k-line .k-who{display:block;font-family:var(--sans);font-size:14px;font-weight:650;color:var(--gold-fg);margin-bottom:2px}
/* the status line: sticky under the header, with the pulse the tests pin (::before, k-status-pulse) */
#kshetra-brief .k-status{position:sticky;top:calc(var(--top-h) + env(safe-area-inset-top,0px));z-index:20;margin:0;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;min-height:50px;font-size:16px;font-weight:650;color:var(--strong);line-height:1.3}
#kshetra-brief .k-status[data-stage]:not([data-stage="retry_exhausted"]):not([data-stage="resume_unavailable"]):not([data-stage="session_ended"])::before{content:"";flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--gold);animation:k-status-pulse 1.8s ease-in-out infinite}
@keyframes k-status-pulse{0%,100%{transform:scale(.8);opacity:.6}50%{transform:scale(1.15);opacity:1}}
@media (prefers-reduced-motion: reduce){#kshetra-brief .k-status::before{animation:none}}
#kshetra-brief .k-status[data-stage="retry_exhausted"],#kshetra-brief .k-status[data-stage="resume_unavailable"]{position:static;border-bottom:0;border-left:3px solid var(--bad);padding-left:14px;font-weight:600;border-radius:0 16px 16px 0;background:var(--surface)}
#kshetra-brief .k-status[data-limited]{position:static;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:600}
/* D-D-302 (Leak 2, D3): the resend control under the verify_required line, its answer, and the quiet note under a sealed reading */
#kshetra-brief .k-verify{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#kshetra-brief .k-verify-sent{margin:0;font-size:16px;color:var(--muted)}
#kshetra-brief .k-verify-note{margin:18px 0 0;font-size:15px;line-height:1.5;color:var(--muted);text-align:center}
#kshetra-brief [data-status-late]{position:static;border-bottom:0;background:transparent;font-weight:600;color:var(--muted);min-height:0}
#kshetra-brief .k-status .k-retry{margin-left:auto}
#kshetra-brief .k-calm{margin:-6px 0 0;font-size:16px;color:var(--muted);padding:0 0 0 20px}
/* the wait: what is being written, row by row, tied to the real stages (never a percentage) */
#kshetra-brief .k-stack{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:16px 16px 14px;box-shadow:var(--shadow-sm)}
#kshetra-brief .k-stack-h{font-family:var(--display);font-size:20px;color:var(--strong)}
#kshetra-brief .k-stack-list{margin-top:10px;display:grid;gap:2px}
#kshetra-brief .k-stack-row{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;min-height:40px;font-size:16px;color:var(--muted)}
#kshetra-brief .k-stack-ic{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center}
#kshetra-brief .k-stack-row[data-state="done"]{color:var(--fg)}
#kshetra-brief .k-stack-row[data-state="done"] .k-stack-ic{border-color:var(--gold);background:var(--gold-tint)}
#kshetra-brief .k-stack-row[data-state="done"] .k-stack-ic svg{width:14px;height:14px;stroke:var(--gold-fg);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#kshetra-brief .k-stack-row[data-state="now"]{color:var(--strong);font-weight:650}
#kshetra-brief .k-stack-row[data-state="now"] .k-stack-ic{border-color:var(--gold)}
#kshetra-brief .k-stack-row[data-state="now"] .k-stack-ic::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);animation:k-status-pulse 1.8s ease-in-out infinite}
#kshetra-brief .k-stack-why{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--display);font-size:17px;line-height:1.5;color:var(--fg);min-height:3em}
#kshetra-brief .k-stack-after{margin-top:12px;border:1px dashed var(--line-strong);border-radius:18px;padding:14px 16px}
#kshetra-brief .k-stack-after-h{font-size:15px;font-weight:650;color:var(--muted)}
#kshetra-brief .k-stack-after ul{margin-top:8px;display:grid;gap:10px}
#kshetra-brief .k-stack-after li b{display:block;font-family:var(--display);font-weight:500;font-size:19px;color:var(--strong)}
#kshetra-brief .k-stack-after li span{font-size:16px;color:var(--muted)}
/* the question card */
#kshetra-brief .k-question{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 16px;box-shadow:var(--shadow-sm)}
#kshetra-brief .k-q-said{font-size:16px;color:var(--muted);margin-bottom:10px}
#kshetra-brief .k-q-progress{font-size:14px;font-weight:650;color:var(--muted)}
#kshetra-brief .k-q-text{font-family:var(--display);font-size:22px;line-height:1.35;color:var(--strong);margin-top:8px;text-wrap:pretty}
#kshetra-brief .k-q-options{display:grid;gap:8px;margin-top:16px}
#kshetra-brief .k-q-option{min-height:50px;padding:11px 16px;border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-2);text-align:left;font-weight:550;line-height:1.35;color:var(--strong);cursor:pointer}
#kshetra-brief .k-q-option:hover{border-color:var(--violet)}
#kshetra-brief .k-q-form{margin-top:12px}
#kshetra-brief .k-q-text-input{width:100%;min-height:48px;padding:11px 16px;border-radius:16px;border:1.5px solid var(--field-line);background:var(--surface-2);color:var(--fg);font-size:16px}
#kshetra-brief .k-q-text-input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px var(--violet-soft)}
#kshetra-brief .k-q-text-input::placeholder{color:var(--muted);opacity:1}
#kshetra-brief .k-q-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
#kshetra-brief .k-q-send{min-height:44px;padding:0 18px;border-radius:999px;background:var(--cta-bg);color:var(--cta-ink);font-weight:700;border:0;cursor:pointer}
#kshetra-brief .k-q-unsure,#kshetra-brief .k-q-skip{min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--muted);cursor:pointer}
#kshetra-brief .k-q-option:disabled,#kshetra-brief .k-q-send:disabled,#kshetra-brief .k-q-unsure:disabled,#kshetra-brief .k-q-skip:disabled{opacity:.6;cursor:default}
#kshetra-brief .facts-note{font-size:16px;color:var(--muted);margin:0}
/* the cards (the D look on the pinned slots; the builders' inner markup is restyled in Phase 2b) */
#kshetra-brief .k-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow-sm);color:var(--fg);margin:0}
#kshetra-brief .k-card[data-slot="path"]{background:var(--feature-bg);border-color:var(--gold-line);box-shadow:var(--shadow-md)}
#kshetra-brief .k-card[data-revised="true"]{box-shadow:inset 3px 0 0 var(--gold),var(--shadow-sm)}
#kshetra-brief .k-caption{font-size:15px;font-weight:650;letter-spacing:.1em;font-variant-caps:all-small-caps;color:var(--gold-fg);margin:0}
#kshetra-brief .k-title{font-family:var(--display);font-weight:500;font-size:23px;line-height:1.25;color:var(--strong);margin:4px 0 8px;text-wrap:balance}
#kshetra-brief .k-call-text{font-family:var(--display);font-size:21px;line-height:1.42;color:var(--strong);margin:12px 0 0;text-wrap:pretty}
#kshetra-brief .k-badge{display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid var(--line-strong);color:var(--muted);margin:10px 6px 0 0}
#kshetra-brief .k-preference{font-size:14px;color:var(--muted);margin:6px 0 0}
#kshetra-brief .k-next{margin-top:16px;padding:2px 0 2px 14px;border-left:2px solid var(--clay-line);display:grid;gap:4px;font-size:16px}
#kshetra-brief .k-next-actor{font-weight:650}
#kshetra-brief .k-first-sentence{display:block;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:var(--strong);quotes:"\201C" "\201D"}
#kshetra-brief .k-hold,#kshetra-brief .k-pick,#kshetra-brief .k-offer,#kshetra-brief .k-chip,#kshetra-brief .k-continue,#kshetra-brief .k-retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;text-align:center;cursor:pointer;margin:12px 8px 0 0;text-decoration:none}
#kshetra-brief .k-hold{border-color:var(--clay-line);color:var(--clay-fg)}
#kshetra-brief .k-chip{min-height:44px;padding:9px 16px;font-weight:500;color:var(--fg)}
#kshetra-brief .k-hold:disabled,#kshetra-brief .k-pick:disabled,#kshetra-brief .k-offer:disabled,#kshetra-brief .k-chip:disabled,#kshetra-brief .k-continue:disabled,#kshetra-brief .k-retry:disabled{opacity:.6;cursor:default}
#kshetra-brief details.k-path-detail,#kshetra-brief details.k-instruments{margin-top:14px;border-top:1px solid var(--line)}
#kshetra-brief summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;cursor:pointer;font-weight:650;color:var(--strong)}
#kshetra-brief summary::-webkit-details-marker{display:none}
#kshetra-brief summary::after{content:"+";font-family:var(--display);font-size:24px;color:var(--gold-fg)}
#kshetra-brief details[open] summary::after{content:"\2212"}
#kshetra-brief .k-strip{font-size:16px}
#kshetra-brief .k-heard{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--strong)}
#kshetra-brief .k-thread,#kshetra-brief .k-continuity,#kshetra-brief .k-outcome-prompt{color:var(--muted);margin-top:6px}
#kshetra-brief .k-chips{display:flex;flex-wrap:wrap;gap:8px}
#kshetra-brief .k-doors{padding:0;list-style:none;display:grid;gap:12px}
#kshetra-brief .k-door{padding:18px 16px;border-radius:22px;border:1px solid var(--line);background:var(--surface-2)}
#kshetra-brief .k-door-id{display:none}
#kshetra-brief .k-door-label{display:block;font-family:var(--display);font-weight:500;font-size:21px;line-height:1.3;color:var(--strong)}
#kshetra-brief .k-door p{margin-top:8px;font-size:16px;line-height:1.55}
#kshetra-brief .k-door-do-not{color:var(--muted)}
#kshetra-brief .k-door-step{display:grid;gap:2px;margin-top:12px;padding-left:14px;border-left:2px solid var(--clay-line)}
#kshetra-brief .k-step-actor{font-weight:650}
#kshetra-brief .k-situation,#kshetra-brief .k-cost,#kshetra-brief .k-share-line{font-size:16px;line-height:1.55;margin:0}
#kshetra-brief .k-share-line{font-family:var(--display);font-size:20px;line-height:1.45;color:var(--strong)}
#kshetra-brief .k-verse{margin:14px 0 0;padding:16px 14px 14px 16px;border-radius:16px;background:var(--bg-deep);border:1px solid var(--line);border-left:3px solid var(--gold)}
#kshetra-brief .k-sanskrit{font-family:var(--dev);color:var(--gold-fg);font-size:19px;line-height:1.85;margin:0}
#kshetra-brief .k-translation{margin:12px 0 0;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.55;color:var(--strong)}
#kshetra-brief .k-citation{display:block;margin-top:10px;font-size:14px;color:var(--muted);font-style:normal}
#kshetra-brief .k-why-for-you{margin-top:16px}
#kshetra-brief .k-why-for-you-text{font-family:var(--display);font-size:18px;line-height:1.55;margin-top:8px;color:var(--fg)}
#kshetra-brief .k-gita-abstain,#kshetra-brief .k-counter{font-family:var(--display);font-size:19px;line-height:1.55;color:var(--strong);margin:12px 0 0}
#kshetra-brief .k-dimensions{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0}
#kshetra-brief .k-dimension{font-weight:650;color:var(--strong)}
#kshetra-brief .k-dimension-score{font-family:var(--display);font-size:19px;color:var(--gold-fg);margin:0;text-align:right}
/* the composer, the companion, the offers, the support rows, the Refuge */
#kshetra-brief .k-composer{display:flex;gap:10px;align-items:flex-end;margin-top:12px}
#kshetra-brief .k-composer-input{flex:1;min-width:0;min-height:48px;max-height:140px;padding:11px 16px;border-radius:24px;border:1.5px solid var(--field-line);background:var(--surface-2);color:var(--fg);font-size:16px;font-family:var(--sans);resize:none}
#kshetra-brief .k-composer-input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px var(--violet-soft)}
#kshetra-brief .k-composer-input::placeholder{color:var(--muted);opacity:1}
#kshetra-brief .k-composer-counter{font-size:14px;color:var(--muted);align-self:center}
#kshetra-brief .k-composer-send{margin:0;min-height:48px;background:var(--cta-bg);color:var(--cta-ink);border:0;font-weight:700}
#kshetra-brief .k-companion-log{display:grid;gap:12px}
#kshetra-brief .k-companion-line{margin:0;font-size:16px;line-height:1.55}
#kshetra-brief .k-companion-sarathi{font-family:var(--display);font-size:18px;color:var(--strong)}
#kshetra-brief .k-companion-status{position:static;border:0;background:transparent;font-weight:600;color:var(--muted);min-height:0;padding:4px 0}
#kshetra-brief .k-pdf{margin:0}
#kshetra-brief .k-support{padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
#kshetra-brief .k-support-line,#kshetra-brief .k-not-kept{color:var(--muted);font-size:15px}
#kshetra-brief .k-resources{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
#kshetra-brief .k-resource{display:flex;flex-wrap:wrap;gap:8px;font-size:16px}
#kshetra-brief .k-resource-name{font-weight:650}
#kshetra-brief .k-refuge{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--clay);border-radius:22px;padding:20px 18px;color:var(--fg)}
#kshetra-brief .k-refuge-prose{font-family:var(--display);font-size:19px;line-height:1.55;color:var(--strong)}
#kshetra-brief .k-refuge-continuity,#kshetra-brief .k-refuge-line,#kshetra-brief .k-refuge-spent,#kshetra-brief .k-refuge-closed{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:16px}
#kshetra-brief .k-deep-body{display:grid;gap:10px}
/* scroll targets clear the sticky header and the status line */
#kshetra-brief .k-card,#kshetra-brief .k-question,#kshetra-brief .k-stack,#kshetra-brief .k-refuge{scroll-margin-top:calc(var(--top-h) + env(safe-area-inset-top,0px) + 70px)}
@media (min-width:960px){
  #kshetra-brief .k-q-text{font-size:24px}
  #kshetra-brief .k-call-text{font-size:24px}
  #kshetra-brief .k-card{padding:24px}
}

/* ---------- the reading page II (stage 2, Phase 2b; D-D-217): the cards, Hold, the conversation, share, next ---------- */
#kshetra-brief .k-badge[hidden],#kshetra-brief .k-preference[hidden],#kshetra-brief .k-hinges[hidden],#kshetra-brief .k-door-id[hidden]{display:none!important}
#kshetra-brief .k-next-cap{color:var(--clay-fg);margin-bottom:4px}
#kshetra-brief .k-next-line{margin:0;font-size:16px;line-height:1.5}
#kshetra-brief .k-say{margin-top:10px}
#kshetra-brief .k-say .k-caption{font-variant-caps:normal;letter-spacing:.01em;font-size:14px;color:var(--muted);margin-bottom:2px;display:block}
#kshetra-brief .k-say .k-first-sentence{quotes:"\201C" "\201D"}
#kshetra-brief .k-hold-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
#kshetra-brief .k-hold-row .k-hold{margin:0}
#kshetra-brief .k-hold-note{font-size:16px;color:var(--muted);margin:0;max-width:34ch}
#kshetra-brief .k-held-line{margin:14px 0 0;padding:12px 14px;border-radius:16px;background:var(--kd-clay-tint);border:1px solid var(--clay-line);font-weight:600;color:var(--strong)}
#kshetra-brief .k-mini-spine{margin:12px 0 0;padding:0 0 0 22px;position:relative;display:grid;gap:10px;font-size:16px;color:var(--muted);list-style:none}
#kshetra-brief .k-mini-spine::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--clay-line)}
#kshetra-brief .k-mini-step{position:relative}
#kshetra-brief .k-mini-step::before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;border:2px solid var(--clay);background:var(--surface)}
#kshetra-brief .k-mini-step.k-on::before{background:var(--clay)}
#kshetra-brief .k-card[data-slot="path"][data-committed],#kshetra-brief .k-card[data-slot="path"]:has(.k-held-line){border-color:var(--clay)}
/* options */
#kshetra-brief .k-door-lean{border-color:var(--gold-line)}
#kshetra-brief .k-door-picked{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet) inset}
#kshetra-brief .k-lean-tag{display:inline-flex;align-items:center;gap:8px;color:var(--gold-fg);font-weight:700;font-size:15px;margin-bottom:6px}
#kshetra-brief .k-lean-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
#kshetra-brief .k-lean-tag.k-lean-no{color:var(--bad)}
#kshetra-brief .k-lean-tag.k-lean-no::before{background:var(--bad)}
#kshetra-brief .k-lbl{font-weight:700;color:var(--muted)}
#kshetra-brief .k-badge.k-good{color:var(--good);border-color:var(--good-line)}
#kshetra-brief .k-badge.k-warn{color:var(--warn);border-color:var(--warn-line)}
#kshetra-brief .k-badge.k-bad{color:var(--bad);border-color:var(--bad-line)}
#kshetra-brief .k-door-step-line{margin:0;font-size:16px}
#kshetra-brief .k-door-say{display:block;margin-top:6px;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.5;color:var(--strong);quotes:"\201C" "\201D"}
#kshetra-brief .k-pick{margin-top:14px}
/* the Gita */
#kshetra-brief .k-why-for-you-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* D-D-333: "Where it points" — the verse's bearing, set exactly as the "Why this, for you" note above it */
#kshetra-brief .k-points-to{margin-top:14px}
#kshetra-brief .k-points-to-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#kshetra-brief .k-points-to-text{font-family:var(--display);font-size:18px;line-height:1.55;margin-top:8px;color:var(--fg)}
#kshetra-brief .k-fit{margin:0;color:var(--gold-fg);border-color:var(--gold-line)}
#kshetra-brief .k-checked{margin:8px 0 0;font-size:15px;color:var(--good);font-weight:600}
#kshetra-brief .k-checked.k-near{color:var(--muted)}
#kshetra-brief .k-counter-wrap{margin-top:14px;border-top:1px solid var(--line)}
#kshetra-brief .k-counter-summary{font-size:16px}
/* share */
#kshetra-brief .k-share-prev{margin-top:12px;padding:20px 18px;border-radius:18px;background:var(--bg-deep);border:1px solid var(--gold-line)}
#kshetra-brief .k-share-from{margin:12px 0 0;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
#kshetra-brief .k-share-row{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
#kshetra-brief .k-share-note{margin:12px 0 0;font-size:15px;color:var(--muted)}
#kshetra-brief .k-action,.kd-sheet .k-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;cursor:pointer;text-decoration:none;margin:0}
#kshetra-brief .k-action-primary,.kd-sheet .k-action-primary{border-color:var(--gold-line);color:var(--gold-fg)}
#kshetra-brief .k-action-quiet,.kd-sheet .k-action-quiet{color:var(--muted)}
#kshetra-brief .k-action:disabled,.kd-sheet .k-action:disabled{opacity:.6;cursor:default}
.kd-sheet .k-share-prev{margin-top:12px;padding:16px;border-radius:18px;background:var(--bg-deep);border:1px solid var(--gold-line)}
.kd-sheet .k-share-line{font-family:var(--display);font-size:20px;line-height:1.45;color:var(--strong);margin:0}
.kd-sheet .k-verse{margin:12px 0 0;padding:12px 14px;border-radius:14px;border-left:3px solid var(--gold);background:var(--surface)}
.kd-sheet .k-sanskrit{font-family:var(--dev);color:var(--gold-fg);font-size:18px;line-height:1.8;margin:0}
.kd-sheet .k-translation{margin:10px 0 0;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.5}
.kd-sheet .k-citation{display:block;margin-top:8px;font-size:14px;color:var(--muted);font-style:normal}
.kd-sheet .k-share-note{margin:12px 0 0;font-size:15px;color:var(--muted)}
.kd-sheet .k-share-row{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.kd-sheet .k-share-link{margin-top:14px;display:grid;gap:8px}
.kd-sheet .k-share-url{color:var(--violet-fg);font-weight:650;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
/* the lenses */
#kshetra-brief .k-dimension-off{color:var(--muted)}
#kshetra-brief .k-dimension-note{display:block;font-family:var(--sans);font-size:14px;color:var(--muted);text-align:left;margin-top:2px}
/* the conversation under the call */
#kshetra-brief .k-companion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#kshetra-brief .k-companion-head .k-title{margin-top:0}
#kshetra-brief .k-free-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:2px 12px;border-radius:999px;background:var(--kd-violet-tint);border:1px solid var(--violet);color:var(--strong);font-size:14px;font-weight:650;white-space:nowrap}
#kshetra-brief .k-companion-lede{margin:6px 0 0;color:var(--muted);font-size:16px}
/* D-D-288 (the founder's comment, plate #134): the free messages left after each of Sarathi's messages, in its
   top-right corner — the conversation's own bubble, a count (never a timer); the cap's Pro element carries
   "0 free" as the next message. The held line's mail sentence (D-D-289) keeps the line's weight. */
#kshetra-brief .k-companion-line.k-has-pill{position:relative;padding-right:88px}
#kshetra-brief .k-line-pill{position:absolute;top:0;right:0;min-height:26px;padding:1px 10px;font-family:var(--sans);font-size:14px;line-height:1.4}
#kshetra-brief .k-pro-el>.k-line-pill{top:14px}
/* the review of PR #322: the one-line form's top padding is 12px, so its bubble sits on the badge's row, clear of the lead */
#kshetra-brief .k-pro-compact>.k-line-pill{top:8px}
#kshetra-brief .k-companion{border-color:var(--violet);background:var(--ask-bg)}
/* the section nav (sticky where the status line sat) */
#kshetra-brief .k-nav{position:sticky;top:calc(var(--top-h) + env(safe-area-inset-top,0px));z-index:20;background:var(--bg);border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px 0;min-height:54px;align-items:center;margin:0}
#kshetra-brief .k-nav::-webkit-scrollbar{display:none}
#kshetra-brief .k-nav-btn{flex:0 0 auto;min-height:44px;padding:0 15px;border-radius:999px;font-weight:600;font-size:15px;color:var(--muted);border:1px solid transparent;white-space:nowrap;background:transparent;cursor:pointer}
#kshetra-brief .k-nav-btn.k-on{color:var(--strong);background:var(--kd-violet-tint);border-color:var(--violet)}
/* the next card (not a .k-card: the slots are the cards) */
#kshetra-brief .k-next-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow-sm)}
.kd-kicker{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
#kshetra-brief .k-next-offers{display:grid;gap:12px;margin-top:12px}
#kshetra-brief .k-offer-free{padding:16px;border-radius:20px;border:1px solid var(--good-line);background:var(--surface-2);display:grid;gap:8px}
#kshetra-brief .k-offer-line{margin:0;font-size:16px;line-height:1.5}
/* the paid offers (D-D-218/222): a row per door at its moment, and the echo where the person is */
#kshetra-brief .k-offers{display:grid;gap:12px;margin-top:14px}
#kshetra-brief .k-offer-row{border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:var(--surface-2);display:grid;gap:6px}
#kshetra-brief .k-offer-name{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--strong);margin:0}
#kshetra-brief .k-offer-row .k-offer-line{color:var(--muted)}
#kshetra-brief .k-offer-why,#kshetra-brief .k-echo-why{margin:0;font-family:var(--display);font-size:17px;line-height:1.45;color:var(--strong);text-wrap:pretty}
#kshetra-brief .k-price{margin:0;font-size:15px;font-weight:650;color:var(--fg)}
#kshetra-brief .k-offer-row .k-offer{justify-self:start;margin-top:4px}
#kshetra-brief .k-echo{margin-top:12px;padding:12px 14px;border-radius:16px;border:1px dashed var(--line-strong);display:grid;gap:4px}
#kshetra-brief .k-echo-line{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
#kshetra-brief .k-echo .k-echo-btn{justify-self:start;margin:6px 0 0}
#kshetra-brief .k-offer-free .k-pdf{margin:0;justify-self:start}
#kshetra-brief .k-next-info{font-size:16px;color:var(--muted);margin:12px 0 0;max-width:65ch}
/* D-D-243: the Pro card on the reading, and a member's included rows */
#kshetra-brief .k-pro-includes{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:4px}
#kshetra-brief .k-pro-include{font-size:15px;line-height:1.45;color:var(--strong)}
#kshetra-brief .k-pro-include::before{content:"\2713\00a0";color:var(--good)}
#kshetra-brief .k-included .k-caption{margin:0 0 2px}
#kshetra-brief .k-included-trial{margin:0;font-size:14px;color:var(--muted)}
#kshetra-brief .k-included-row[data-included-status="cap"] .k-included-count{color:var(--muted)}
#kshetra-brief .k-included-row[hidden]{display:none}
#kshetra-brief .k-made{margin-top:14px;border-top:1px solid var(--line)}
#kshetra-brief .k-made-summary{font-size:16px}
#kshetra-brief .k-made-list{display:grid;gap:8px;padding:0 0 12px;list-style:none;margin:0;font-size:16px;color:var(--fg)}
#kshetra-brief .k-next .k-action{margin-top:14px}
/* D-D-266…D-D-270 (plate #129): the step loop on the held path card — the step list (not a .k-card), Done (k-done-*),
   the locked step and its Pro card, the close (D-D-295: no mail line). Existing tokens only, both themes. */
#kshetra-brief .k-hold[data-committed]:disabled{opacity:1;background:var(--kd-clay-tint);cursor:default}
#kshetra-brief .k-step-held-sarathi{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}
#kshetra-brief .k-steps{list-style:none;margin:14px 0 0;padding:0 0 0 22px;position:relative;display:grid;gap:16px}
#kshetra-brief .k-steps::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--clay-line)}
#kshetra-brief .k-step{position:relative;display:grid;gap:8px;font-size:16px;line-height:1.5;min-width:0}
#kshetra-brief .k-step::before{content:"";position:absolute;left:-22px;top:6px;width:12px;height:12px;border-radius:50%;border:2px solid var(--clay);background:var(--surface)}
#kshetra-brief .k-step[data-step-state="done"]::before{background:var(--clay)}
#kshetra-brief .k-step[data-step-state="locked"]::before{border-color:var(--gold-line);background:var(--kd-gold-tint)}
#kshetra-brief .k-step-pill{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--clay-line);background:var(--kd-clay-tint);color:var(--strong);font-size:14px;font-weight:650}
#kshetra-brief .k-step[data-step-state="done"] .k-step-pill{background:transparent;border-color:var(--line-strong);color:var(--muted)}
#kshetra-brief .k-step[data-step-state="locked"] .k-step-pill{border-color:var(--gold-line);background:var(--kd-gold-tint)}
#kshetra-brief .k-step-act{margin:0;color:var(--strong)}
#kshetra-brief .k-step-who{font-weight:650}
#kshetra-brief .k-step[data-step-state="done"] .k-step-act{color:var(--muted)}
#kshetra-brief .k-step-went{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--good-line);color:var(--good);font-size:14px;font-weight:600}
#kshetra-brief .k-step-words,#kshetra-brief .k-step-lead,#kshetra-brief .k-step-quote,#kshetra-brief .k-step-sentence{display:block;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:var(--strong);quotes:"\201C" "\201D";overflow-wrap:anywhere}
#kshetra-brief .k-step-reason{margin:0;font-size:15px;color:var(--muted)}
#kshetra-brief .k-step-you-wrote{font-size:14px;font-weight:650;letter-spacing:.04em;color:var(--muted)}
#kshetra-brief .k-step-actions,#kshetra-brief .k-done-actions{display:flex;flex-wrap:wrap;gap:8px 10px}
#kshetra-brief .k-step-done-open,#kshetra-brief .k-step-ask,#kshetra-brief .k-step-settle,#kshetra-brief .k-step-reopen,#kshetra-brief .k-step-reopen-send,#kshetra-brief .k-step-retry,#kshetra-brief .k-step-see,#kshetra-brief .k-step-not-now,#kshetra-brief .k-step-pro-cta,#kshetra-brief .k-done-send,#kshetra-brief .k-done-settle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;text-align:center;cursor:pointer;margin:0;line-height:1.3}
#kshetra-brief .k-step-done-open,#kshetra-brief .k-done-send,#kshetra-brief .k-step-reopen-send,#kshetra-brief .k-step-pro-cta{background:var(--cta-bg);color:var(--cta-ink);border-color:transparent;font-weight:700}
#kshetra-brief .k-step-ask{border-color:var(--violet);color:var(--violet-fg)}
#kshetra-brief .k-step-settle,#kshetra-brief .k-step-reopen,#kshetra-brief .k-done-settle{border-color:var(--clay-line);color:var(--clay-fg)}
#kshetra-brief .k-step-not-now,#kshetra-brief .k-step-see,#kshetra-brief .k-step-pro-cta,#kshetra-brief .k-step-settle,#kshetra-brief .k-step-reopen,#kshetra-brief .k-step-reopen-send{justify-self:start}
#kshetra-brief .k-step-unhold{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 2px;margin:0;background:none;border:0;color:var(--violet-fg);font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
#kshetra-brief .k-step-done-open:disabled,#kshetra-brief .k-step-ask:disabled,#kshetra-brief .k-step-settle:disabled,#kshetra-brief .k-step-reopen:disabled,#kshetra-brief .k-step-reopen-send:disabled,#kshetra-brief .k-step-retry:disabled,#kshetra-brief .k-step-not-now:disabled,#kshetra-brief .k-step-pro-cta:disabled,#kshetra-brief .k-done-send:disabled,#kshetra-brief .k-done-settle:disabled,#kshetra-brief .k-done-chip:disabled,#kshetra-brief .k-step-unhold:disabled{opacity:.6;cursor:default}
/* Mark it done */
#kshetra-brief .k-done{padding:16px;border-radius:18px;border:1px solid var(--clay-line);background:var(--surface);display:grid;gap:10px}
#kshetra-brief .k-done-title{margin:0;font-family:var(--display);font-size:20px;line-height:1.35;color:var(--strong)}
#kshetra-brief .k-done-went{display:flex;flex-wrap:wrap;gap:8px;border-radius:16px}
#kshetra-brief .k-done-went[data-need]{outline:2px solid var(--clay);outline-offset:4px}
#kshetra-brief .k-done-chip{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--fg);font-weight:500;line-height:1.3;cursor:pointer;margin:0}
#kshetra-brief .k-done-chip[aria-pressed="true"]{border-color:var(--violet);background:var(--kd-violet-tint);color:var(--strong);font-weight:650}
#kshetra-brief .k-done-label{font-size:15px;font-weight:650;color:var(--strong)}
#kshetra-brief .k-done-words,#kshetra-brief .k-step-reopen-words{width:100%;min-height:96px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--field-line);background:var(--surface-2);color:var(--fg);font-size:16px;line-height:1.5;font-family:var(--sans);resize:vertical}
#kshetra-brief .k-done-words:focus,#kshetra-brief .k-step-reopen-words:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px var(--violet-soft)}
#kshetra-brief .k-done-words::placeholder,#kshetra-brief .k-step-reopen-words::placeholder{color:var(--muted);opacity:1}
#kshetra-brief .k-done-need{margin:0;font-size:15px;font-weight:600;color:var(--clay-fg)}
#kshetra-brief .k-done-note{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
/* the line the job speaks, and the cards under the list */
#kshetra-brief .k-step-later{margin:12px 0 0 22px;font-size:15px;line-height:1.5;color:var(--muted);font-style:italic}
#kshetra-brief .k-step-status{margin:12px 0 0;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-size:16px;line-height:1.5;font-weight:600;color:var(--strong);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
#kshetra-brief .k-step-card{margin-top:14px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2);display:grid;gap:8px}
#kshetra-brief .k-step-card-title{margin:0;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--strong)}
#kshetra-brief .k-step-card-line{margin:0;font-size:16px;line-height:1.5;color:var(--fg)}
/* the locked step (no step text: skeleton bars) and the Pro card at the step moment */
#kshetra-brief .k-step-locked{padding:14px 16px;border-radius:18px;border:1px dashed var(--gold-line);background:var(--surface);display:grid;gap:10px}
#kshetra-brief .k-skel{display:grid;gap:8px}
#kshetra-brief .k-skel-bar{display:block;height:12px;border-radius:999px;background:var(--line-strong);opacity:.55}
#kshetra-brief .k-skel-bar:nth-child(2){width:86%}
#kshetra-brief .k-skel-bar:nth-child(3){width:62%}
#kshetra-brief .k-step-pro{padding:14px 16px;border-radius:18px;border:1px solid var(--gold-line);background:var(--surface-2);display:grid;gap:8px}
#kshetra-brief .k-step-pro-name{margin:0;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--strong)}
#kshetra-brief .k-step-pro .k-step-pro-line{font-weight:500;font-size:14px;color:var(--muted)}
#kshetra-brief .k-step-quiet,#kshetra-brief .k-step-not-offered{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
/* the close: Sarathi's four parts, or the person's settled line; then "Something is still open" */
#kshetra-brief .k-step-closed{border-color:var(--clay-line);background:var(--surface)}
#kshetra-brief .k-step-badge{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--good-line);color:var(--good);font-size:14px;font-weight:650}
#kshetra-brief .k-step-close-row{display:grid;gap:2px}
#kshetra-brief .k-step-close-label{margin:0;font-size:15px;font-weight:650;letter-spacing:.08em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
#kshetra-brief .k-step-close-text{margin:0;font-size:16px;line-height:1.5;color:var(--fg)}
#kshetra-brief .k-step-sleep{margin:0;font-family:var(--display);font-size:19px;line-height:1.4;color:var(--strong)}
#kshetra-brief .k-step-settled{margin:0;font-weight:600;color:var(--strong)}
#kshetra-brief .k-step-reopen-form{display:grid;gap:8px}
/* D-D-273: the record under a closed dilemma — the header, the record card, the 2 a.m. card, next time */
#kshetra-brief .k-step-record{display:grid;gap:4px;margin-top:18px}
#kshetra-brief .k-step-record-head{display:grid;gap:4px;margin-bottom:6px}
#kshetra-brief .k-step-record-title{margin:0;font-family:var(--display);font-weight:500;font-size:22px;line-height:1.25;color:var(--strong)}
#kshetra-brief .k-step-record-day{margin:0;font-size:15px;color:var(--muted)}
#kshetra-brief .k-step-record-card{border-color:var(--clay-line);background:var(--surface)}
#kshetra-brief .k-step-record-dilemma{margin:0;font-family:var(--display);font-size:19px;line-height:1.35;color:var(--strong)}
#kshetra-brief .k-step-record-pdf,#kshetra-brief .k-step-record-new{justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;text-align:center;cursor:pointer;margin:0;line-height:1.3;text-decoration:none}
#kshetra-brief .k-step-record-talk{justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--violet);color:var(--violet-fg);font-weight:650;background:transparent;cursor:pointer;margin:0;line-height:1.3}
#kshetra-brief .k-step-record-talk:disabled{opacity:.6;cursor:default}
/* ---------- the dilemma box (home hero, write page, category doors) ---------- */
.kd-hero-form .kd-field{display:block;margin-top:22px}
.kd-hero-form textarea.kd-box{min-height:132px}
.kd-hero-form .kd-btn{margin-top:12px}
.kd-editor .kd-hero-form .kd-field{margin-top:18px}
.kd-editor .kd-hero-form textarea.kd-box{min-height:min(44dvh,340px);font-size:17px}
.kd-editor .kd-hero-form .kd-btn{display:none}
.kd-editor .kd-hero-form .kd-reassure{display:none}
.kd-editor-page{min-height:70dvh;padding-bottom:calc(var(--dock-h) + 40px + var(--kb-pad) + env(safe-area-inset-bottom,0px))}
.kd-home{padding-bottom:calc(var(--dock-h) + 40px + env(safe-area-inset-bottom,0px))}
.kd-page{padding-bottom:calc(var(--dock-h) + 40px + env(safe-area-inset-bottom,0px))}

/* ---------- the account pages on the primitives ---------- */
.kd-auth{padding:28px 0 48px}
.kd-auth-card{max-width:30rem;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px 20px;box-shadow:var(--shadow-sm)}
.kd-auth-card h1{font-family:var(--display);font-weight:500;font-size:27px;line-height:1.2;color:var(--strong);margin-top:8px;text-wrap:balance}
.kd-auth-card .kd-lead{margin-top:10px;font-size:16px}
.kd-auth-card form{margin-top:16px;display:grid;gap:14px}
.kd-auth-card label{display:block;font-size:15px;font-weight:650;color:var(--strong);margin-bottom:6px}
.kd-auth-card input:not([type=checkbox]):not([type=hidden]){width:100%;min-height:48px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--field-line);background:var(--surface-2);color:var(--fg);font-size:16px}
.kd-auth-card input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px var(--violet-soft)}
.kd-auth-card .kd-field-help{margin-top:6px;font-size:14px;color:var(--muted)}
.kd-auth-card .kd-errors{margin-top:6px;font-size:14px;color:var(--bad)}
.kd-auth-card .kd-errors ul{padding:0;list-style:none}
.kd-auth-card .kd-divider{display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--muted);font-size:14px}
.kd-auth-card .kd-divider::before,.kd-auth-card .kd-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.kd-auth-card .kd-switch{margin-top:16px;font-size:15px;color:var(--muted);text-align:center}
.kd-auth-card .kd-switch a{color:var(--violet-fg);font-weight:650}
.kd-auth-card .google-auth-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface-2);font-weight:650;width:100%;margin-top:14px;text-decoration:none;color:var(--strong)}
.kd-auth-card .google-auth-button--disabled{opacity:.6}
.kd-auth-card .google-auth-button__offline-hint{margin-top:8px;font-size:14px;color:var(--muted);text-align:center}
.kd-auth-card .kd-password{position:relative}
.kd-auth-card .kd-password input{padding-right:72px}
.kd-auth-card .kd-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:44px;padding:0 12px;border-radius:999px;background:var(--surface-3);color:var(--fg);font-size:14px;font-weight:650;border:0;cursor:pointer}
.kd-auth-card .kd-gate-text{margin-top:14px;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--clay-line);font-size:16px;color:var(--fg);max-height:120px;overflow:hidden;position:relative}
.kd-auth-card .kd-gate-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(transparent,var(--surface-2))}
.kd-auth-card .kd-gate-text .kd-cap{display:block;color:var(--clay-fg);margin-bottom:4px}
.kd-auth-card .kd-row{margin-top:14px}
.kd-auth-card .kd-debug{margin-top:12px;font-size:14px;color:var(--muted);word-break:break-all}

/* ---------- the sample reading page ---------- */
.kd-sample-page .kd-bub{margin-top:14px}
.kd-sample-page .kd-cards{margin-top:14px}
.kd-sample-page .kd-section{margin-top:14px;display:grid;gap:12px}
.kd-sample-page .kd-lead-s{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--strong);margin-top:14px}
.kd-sample-page .kd-lead-s .kd-who{display:block;font-family:var(--sans);font-size:14px;font-weight:650;color:var(--gold-fg);margin-bottom:2px}
.kd-sample-page details.kd-dis .kd-body{padding-bottom:12px}

/* ---------- spacing modifiers (they replace inline style="" on the sample, pricing and home pages) ---------- */
/* Last in the sheet so they win a tie; the details variant out-ranks `details.kd-dis .kd-body p`. */
.kd-mt-8{margin-top:8px}
.kd-mt-12{margin-top:12px}
.kd-mt-14{margin-top:14px}
.kd-mt-16{margin-top:16px}
.kd-mt-28{margin-top:28px}
details.kd-dis .kd-body p.kd-mt-8{margin-top:8px}
.kd-dock-meta.kd-center{justify-content:center}
/* D-D-244: a Deep Reading per option — the explore button on each option card and the panel under it */
#kshetra-brief .k-deeper,#kshetra-brief .k-deep-retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--strong);font-weight:650;background:transparent;cursor:pointer;margin:12px 8px 0 0}
#kshetra-brief .k-deeper[aria-expanded="true"]{background:var(--strong);color:var(--bg,#fff)}
/* the review of PR #322 (D-D-288; D-founder-39, AA): in the open, filled pill the "Pro" tag takes the pill's own ink
   (the Monogram gold read 1.63:1 on the dark theme's pill, 2.86:1 on the light one); on the closed button it stays gold */
#kshetra-brief .k-deeper[aria-expanded="true"] .k-pro-tag{color:inherit}
#kshetra-brief .k-deep-option{margin:14px 0 0;padding:16px;border:1px solid var(--clay-line);border-radius:14px}
#kshetra-brief .k-deep-option-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#kshetra-brief .k-deep-option-close{background:transparent;border:0;color:var(--muted,inherit);cursor:pointer;text-decoration:underline;padding:4px 0}

/* D-D-304 (Leak 2 phase B, plate #148 B): a category door's sample reading (web/partials/_door_sample.html; since
   D-D-340 right after the dilemma box and the examples — the door page's layout is web.css's). The card
   is the landing sample's (.kd-card.kd-feature, .kd-call, .kd-step, .kd-say); these rules add the dilemma, the one
   question, the options in brief and the verse. Tokens only, both themes. The review of PR #351: at 390 x 844 two
   calls ended below the first screen, so the quotes (the dilemma, the verse) read at 15 px and the card's head, its
   padding and the question line sit closer — every call ends inside the first screen. */
.kd-ds .kd-card{padding:12px 16px 14px}
.kd-ds .kd-sample-head{margin-bottom:6px}
/* D-D-340: the card follows the box now, under a heading of its own beside the Sample badge */
.kd-ds-h{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.2;letter-spacing:-.01em;color:var(--strong);text-wrap:balance}
.kd-ds .kd-btn-ghost{margin-top:10px}
.kd-ds-dilemma{font-family:var(--display);font-style:italic;font-size:15px;line-height:1.45;color:var(--fg)}
.kd-ds-ask{margin-top:8px;font-size:15px;line-height:1.4;color:var(--muted)}
.kd-ds-ask .kd-ds-q,.kd-ds-ask .kd-ds-a{color:var(--strong)}
.kd-ds-cap{margin-top:12px;color:var(--gold-fg)}
.kd-ds .kd-call{font-size:20px;line-height:1.4}
.kd-ds .kd-ds-cap+.kd-call{margin-top:2px}
.kd-ds .kd-step{margin-top:12px}
.kd-ds .kd-say{margin-top:8px;font-size:17px}
.kd-ds-options{margin-top:12px}
.kd-ds-options ul{margin-top:4px;display:grid;gap:4px}
.kd-ds-options li{position:relative;padding-left:16px;font-size:16px;line-height:1.45;color:var(--fg)}
.kd-ds-options li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--muted)}
.kd-ds-options li.kd-lean{color:var(--strong);font-weight:600}
.kd-ds-options li.kd-lean::before{background:var(--gold-fg)}
.kd-ds-options li .kd-lean-note{display:block;font-weight:600;font-size:14px;color:var(--gold-fg)}
.kd-ds-verse{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.kd-ds-verse .kd-cap{margin-bottom:2px}
.kd-ds-verse .kd-tr{font-family:var(--display);font-size:15px;line-height:1.45;color:var(--fg)}
.kd-ds-verse .kd-ref{color:var(--muted);font-size:14px;margin-top:4px}
/* D-D-327 (D-founder-59, plate #169): the sample carried to its close (web/partials/_door_sample.html, part "arc") —
   below the box on a door page, after the reading on /sample/?door=<slug>. The step list is the reading page's
   (#kshetra-brief .k-steps): a clay rail and a dot per step, filled once the step is done; the pill, Done's chip, "You
   wrote:" and the person's words in the display italic. The steps from step 2 sit in the Pro frame (the Monogram block
   below). Then the close card: the badge, Sarathi's title, its four lines, "Sleep peacefully." Tokens only, both themes;
   on a phone the card keeps the reading's measure (no line wider than the screen). */
.kd-ds-arc .kd-card{padding:14px 16px 16px}
.kd-ds-arc-lead{font-family:var(--display);font-size:18px;line-height:1.45;color:var(--strong)}
.kd-ds-arc-note{margin-top:6px;font-size:14px;line-height:1.5;color:var(--muted)}
.kd-ds-steps{list-style:none;margin:14px 0 0;padding:0 0 0 22px;position:relative;display:grid;gap:16px}
.kd-ds-steps::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--clay-line)}
.kd-ds-step{position:relative;display:grid;gap:6px;font-size:16px;line-height:1.5;min-width:0}
.kd-ds-step::before{content:"";position:absolute;left:-22px;top:6px;width:12px;height:12px;border-radius:50%;border:2px solid var(--clay);background:var(--surface)}
.kd-ds-step[data-kd-step-state="done"]::before{background:var(--clay)}
.kd-ds-pill{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted);font-size:14px;font-weight:650}
.kd-ds-act{color:var(--strong);overflow-wrap:anywhere}
.kd-ds-act b{font-weight:650}
.kd-ds-say{font-family:var(--display);font-style:italic;font-size:16px;line-height:1.45;color:var(--fg);overflow-wrap:anywhere}
.kd-ds-say .kd-cap{display:block;font-family:var(--sans);font-style:normal;margin-bottom:2px}
.kd-ds-went{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--good-line);color:var(--good);font-size:14px;font-weight:600}
.kd-ds-went[data-went="partly"],.kd-ds-went[data-went="not_as_planned"]{border-color:var(--clay-line);color:var(--clay-fg)}
.kd-ds-wrote{font-size:14px;font-weight:650;letter-spacing:.04em;color:var(--muted)}
.kd-ds-words{display:block;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.5;color:var(--strong);quotes:"\201C" "\201D";overflow-wrap:anywhere}
.kd-ds-close{margin-top:18px;padding:14px 16px;border-radius:18px;border:1px solid var(--clay-line);background:var(--surface-2);display:grid;gap:8px}
.kd-ds-badge{justify-self:start;display:inline-flex;align-items:center;min-height:28px;padding:2px 11px;border-radius:999px;border:1px solid var(--good-line);color:var(--good);font-size:14px;font-weight:650}
.kd-ds-close-title{margin:0;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.3;color:var(--strong)}
.kd-ds-close-row{display:grid;gap:2px}
.kd-ds-close-label{margin:0;font-size:15px;font-weight:650;letter-spacing:.08em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd-ds-close-text{margin:0;font-size:16px;line-height:1.5;color:var(--fg);overflow-wrap:anywhere}
.kd-ds-sleep{margin:0;font-family:var(--display);font-size:19px;line-height:1.4;color:var(--strong)}
.kd-ds-settled{margin:0;font-weight:600;color:var(--strong)}
.kd-ds-arc .kd-ds-arc-cta{margin-top:14px}

/* ============================================================
   The Pro theme "Monogram" (D-founder-35 → D-D-287, plate #138; brief kb/plans/pro-theme-brief-2026-10-17.md on
   the spec branch). One scope, [data-pro-theme="monogram"], on every Pro surface: the pricing page's Pro card and
   the compare table's Pro column, the shared Pro CTA (web/partials/_pro_cta.html), the ladder's Pro rung (home,
   product, billing), the billing page's Pro lead and quick answers, the journal's Pro panel and a locked row's
   line, a reading's history page; on the reading page kshetra.js stamps it on the call-card and conversation
   echo, the foot card's Pro row and its line, the wait's "included in Pro" rows, the locked step's Pro card, the
   reopened, not-offered and step-mail Pro lines and the per-option Pro panel. The check-in page carries its own copy of the rules.
   The look, as the founder picked it (variant C): no card and no fill — one gold hairline above; the lightest
   type — a lead in the serif base.html already loads at weight 200 (--pro-serif), a label in letter-spaced small
   capitals at 300, the body one step under the reading's (never under 14px); the action a gold text link with a
   thin underline and a thin arrow, never a filled or outlined button; "Not now" a quiet text link; the honest line
   word for word. Tokens only (--gold-fg, --gold-line, --strong, --fg, --muted): both themes ride them and every
   text pair stays AA. The reading's own text and buttons (Hold me to it, Done, the chips) sit in no scope.
   ============================================================ */

/* ---- the web pages: the block (no card, no fill, one gold hairline above) ---- */
.kd-card.kd-plan[data-pro-theme="monogram"],
.kd-rung[data-pro-theme="monogram"],
.kd.dashboard-pro[data-pro-theme="monogram"]{background:transparent;border:0;border-top:1px solid var(--gold-line);border-radius:0;box-shadow:none}
.kd-card.kd-plan[data-pro-theme="monogram"]{padding:20px 0 8px}
.kd-rung[data-pro-theme="monogram"]{gap:10px;padding:18px 0 4px}
.kd.dashboard-pro[data-pro-theme="monogram"]{padding:16px 0 4px}

/* the pricing page's Pro card (D-D-284's partial): the name and the price in the light serif, the lines light */
.kd-plan[data-pro-theme="monogram"] .kd-plan-name{font-family:var(--pro-serif);font-weight:200;letter-spacing:.01em}
.kd-plan[data-pro-theme="monogram"] .kd-plan-desc{font-weight:300;font-size:15px}
.kd-plan[data-pro-theme="monogram"] .kd-plan-amount{font-family:var(--pro-serif);font-weight:200}
.kd-plan[data-pro-theme="monogram"] .kd-plan-price small{font-family:var(--sans);font-style:normal;font-weight:300;font-size:14px;letter-spacing:.04em}
.kd-plan[data-pro-theme="monogram"] .kd-plan-on{font-family:var(--pro-serif);font-weight:300;font-size:19px}
.kd-plan[data-pro-theme="monogram"] .kd-plan-list{border-top-color:var(--gold-line)}
.kd-plan[data-pro-theme="monogram"] .kd-plan-list li{font-weight:300;font-size:15px}
.kd-plan[data-pro-theme="monogram"] .kd-plan-list li b{font-weight:500}
.kd-plans .kd-plan[data-pro-theme="monogram"] .kd-ok{border-width:1px;background:transparent}
.kd-plans .kd-plan[data-pro-theme="monogram"] .kd-ok svg{stroke-width:2}
/* the compare table's Pro column: its name in the light serif, its cells light */
.kd-compare .kd-compare-pro[data-pro-theme="monogram"]{font-family:var(--pro-serif);font-weight:300;font-size:20px;letter-spacing:.02em}
/* the light serif sits on the other faces' baseline: the header row aligns by baseline once Pro's name wears it */
.kd-compare thead:has(.kd-compare-pro[data-pro-theme="monogram"])>tr>*{vertical-align:baseline}
.kd-compare td[data-pro-theme="monogram"]{font-weight:300}

/* the ladder's Pro rung (home, product, billing) */
.kd-rung[data-pro-theme="monogram"] h3{font-family:var(--pro-serif);font-weight:200;font-size:26px;letter-spacing:.01em}
.kd-rung[data-pro-theme="monogram"] .kd-price{font-family:var(--pro-serif);font-weight:200;font-size:26px}
.kd-rung[data-pro-theme="monogram"] .kd-price small{font-family:var(--sans);font-style:normal;font-weight:300;font-size:14px;letter-spacing:.02em}
.kd-rung[data-pro-theme="monogram"] .kd-badge{min-height:0;padding:0;border:0;border-radius:0;font-family:var(--pro-serif);font-weight:300;font-size:14px;letter-spacing:.24em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd-rung[data-pro-theme="monogram"] .kd-pro-list{gap:12px}
.kd-rung[data-pro-theme="monogram"] .kd-pro-list li{font-weight:300;font-size:15px}
.kd-rung[data-pro-theme="monogram"] .kd-pro-list li b{font-family:var(--pro-serif);font-weight:300;font-size:18px;line-height:1.35}

/* the shared Pro CTA (_pro_cta.html, and the plan card's member line): the action is a gold text link with a thin
   underline and a thin arrow (the arrow is drawn, never read: its alternative text is empty; an inline-block, so the
   underline runs under the words only, as drawn — the review of PR #317); the honest line light */
.kd-pro-cta[data-pro-theme="monogram"]{gap:6px}
.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-link,
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .kd-pro-link{display:inline-block;justify-self:start;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold-fg);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.5;letter-spacing:.04em;text-align:left;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--gold-line);cursor:pointer}
.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-link::after,
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .kd-pro-link::after{content:"\00a0\2192";content:"\00a0\2192"/"";display:inline-block}
.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-link:hover,
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .kd-pro-link:hover{text-decoration-color:var(--gold-fg)}
.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-link[disabled],
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .kd-pro-link[disabled]{opacity:.6;cursor:default}
.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-line,.kd-pro-cta[data-pro-theme="monogram"] .kd-pro-status{font-weight:300;font-size:14px;line-height:1.55}
.kd-pro-cta[data-pro-theme="monogram"] .kd-link{padding:0;font-weight:400;color:var(--gold-fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--gold-line)}

/* ---- the account pages (v1 templates on web.css): the billing page's Pro lead and quick answers, the journal's
   Pro panel, a locked row's line, a reading's history page ---- */
.kd-pro-lead[data-pro-theme="monogram"]{font-family:var(--pro-serif);font-weight:200;font-size:20px;line-height:1.5;color:var(--strong)}
.kd-pro-faq[data-pro-theme="monogram"] .plan-pricing-faq-list{padding-top:14px;border-top:1px solid var(--gold-line)}
.kd-pro-faq[data-pro-theme="monogram"] dt{font-family:var(--pro-serif);font-weight:300;font-size:19px;line-height:1.35;color:var(--strong)}
.kd-pro-faq[data-pro-theme="monogram"] dd{font-weight:300;font-size:15px;line-height:1.6}
.kd.dashboard-pro[data-pro-theme="monogram"] .eyebrow{margin-bottom:6px;font-family:var(--pro-serif);font-weight:300;font-size:14px;letter-spacing:.24em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd.dashboard-pro[data-pro-theme="monogram"] .kd-badge{min-height:0;padding:0;border:0;border-radius:0;vertical-align:baseline;font:inherit;letter-spacing:inherit;color:inherit}
.kd.dashboard-pro[data-pro-theme="monogram"] .dashboard-pro-line{font-family:var(--pro-serif);font-weight:200;font-size:19px;line-height:1.5;color:var(--strong)}
.kd.dashboard-pro[data-pro-theme="monogram"] .dashboard-pro-ents,.kd.dashboard-pro[data-pro-theme="monogram"] .dashboard-pro-reset{font-weight:300;font-size:15px}
.kd.dashboard-pro[data-pro-theme="monogram"] .dashboard-pro-ents strong{font-weight:500}
.kd.dashboard-pro[data-pro-theme="monogram"] .text-link,.kd-pro-note[data-pro-theme="monogram"] .text-link{font-family:var(--sans);font-size:15px;font-weight:400;color:var(--gold-fg);background-image:none;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--gold-line)}
.kd-pro-note[data-pro-theme="monogram"]{margin-top:14px;padding-top:12px;border-top:1px solid var(--gold-line);font-weight:300;font-size:15px;line-height:1.6;color:var(--fg)}
.kd-pro-note[data-pro-theme="monogram"] .text-link::after{content:"\00a0\2192";content:"\00a0\2192"/"";display:inline-block}
.kd-journal-state[data-pro-theme="monogram"]{font-family:var(--pro-serif);font-weight:300;font-size:15px;letter-spacing:.04em;color:var(--gold-fg)}
.kd-journal-state[data-pro-theme="monogram"] .history-badge{padding:0;border:0;border-radius:0;background:transparent;font:inherit;letter-spacing:inherit;color:inherit}

/* ---- the reading page (kshetra.js stamps the scope; every hook the browser tests pin stands) ---- */
/* the block: the locked step's Pro card, the wait's Pro rows (D-D-288: the foot card's Pro row, the Pro echo and the
   per-option Pro body are retired — the one Pro element below draws those moments; the review of PR #322) */
#kshetra-brief .k-step-pro[data-pro-theme="monogram"],
#kshetra-brief .k-stack-after[data-pro-theme="monogram"]{background:transparent;border:0;border-top:1px solid var(--gold-line);border-radius:0;box-shadow:none;padding:16px 0 4px;gap:10px}
/* a Pro line on its own (no action): the same hairline, the light body */
#kshetra-brief .k-next-info[data-pro-theme="monogram"],
#kshetra-brief .k-step-reopened-pro[data-pro-theme="monogram"],
#kshetra-brief .k-step-not-offered[data-pro-theme="monogram"]{padding-top:12px;border-top:1px solid var(--gold-line);font-weight:300;font-size:15px;line-height:1.6;color:var(--muted)}
/* the label: letter-spaced small capitals at 300, gold */
#kshetra-brief [data-pro-theme="monogram"] .k-step-pro-name,
#kshetra-brief [data-pro-theme="monogram"] .k-stack-after-h{margin:0;font-family:var(--pro-serif);font-weight:300;font-size:14px;line-height:1.5;letter-spacing:.24em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
#kshetra-brief .k-stack-after[data-pro-theme="monogram"] .k-stack-after-h{letter-spacing:.14em}
/* the wait's row titles in the light serif (the element's lead, at 200, is in the D-D-288 block) */
#kshetra-brief .k-stack-after[data-pro-theme="monogram"] li b{font-family:var(--pro-serif);font-weight:300;font-size:19px;letter-spacing:.005em}
/* the body: one step under the reading's, light */
#kshetra-brief .k-stack-after[data-pro-theme="monogram"] li span{font-weight:300;font-size:15px}
#kshetra-brief [data-pro-theme="monogram"] .k-pro-includes{gap:6px;margin:0}
#kshetra-brief [data-pro-theme="monogram"] .k-pro-include{font-weight:300;font-size:15px;line-height:1.5;color:var(--fg)}
#kshetra-brief [data-pro-theme="monogram"] .k-pro-include::before{content:"+\00a0\00a0";content:"+\00a0\00a0"/"";color:var(--gold-fg)}
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-quiet{font-weight:300;font-size:14px;line-height:1.55}
/* the honest line, word for word: light, small, muted */
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-pro-line{margin:0;font-weight:300;font-size:14px;line-height:1.55;color:var(--muted)}
/* the action: a gold text link with a thin underline and a thin arrow — never a filled or outlined button */
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-pro-cta{display:inline-block;justify-self:start;width:auto;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold-fg);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.5;letter-spacing:.04em;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--gold-line);cursor:pointer}
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-pro-cta::after{content:"\00a0\2192";content:"\00a0\2192"/"";display:inline-block}
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-pro-cta:hover{text-decoration-color:var(--gold-fg)}
/* "Not now": a quiet text link */
#kshetra-brief .k-step-pro[data-pro-theme="monogram"] .k-step-not-now{display:inline-block;justify-self:start;min-height:44px;margin:0;padding:11px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:400;font-size:15px;line-height:1.45;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}

/* ---- D-D-288 (plate #134): the one Pro element on the reading (section.k-pro-el), its one-line form
   (div.k-pro-compact), the foot card's summary line (div.k-pro-summary), the "Pro" tag on "Explore this
   option in depth" (span.k-pro-tag) and the line that stands where an element was tapped (p.k-pro-notice) —
   the same look as every Pro surface: no card, one gold hairline above, the badge in letter-spaced small
   capitals, the lead in the light serif, the action the shared gold text link (.kd-pro-link, above), the
   fold and "Not now" quiet; tokens only. The tag sits inside the reading's own explore button, which keeps
   its pill (no rule here names it). ---- */
#kshetra-brief .k-pro-el[data-pro-theme="monogram"],
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"],
#kshetra-brief .k-pro-summary[data-pro-theme="monogram"]{position:relative;display:grid;gap:10px;margin:18px 0 0;padding:16px 0 4px;background:transparent;border:0;border-top:1px solid var(--gold-line);border-radius:0;box-shadow:none}
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"]{gap:6px;padding:12px 0 2px}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-badge,
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"] .k-pro-badge,
#kshetra-brief .k-pro-summary[data-pro-theme="monogram"] .k-pro-badge,
#kshetra-brief .k-pro-tag[data-pro-theme="monogram"]{margin:0;font-family:var(--pro-serif);font-weight:300;font-size:14px;line-height:1.5;letter-spacing:.32em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
#kshetra-brief .k-pro-tag[data-pro-theme="monogram"]{display:inline-block;margin:0 0 0 12px;letter-spacing:.24em}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-lead,
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"] .k-pro-compact-lead{margin:0;font-family:var(--pro-serif);font-weight:200;font-size:20px;line-height:1.5;letter-spacing:.005em;color:var(--strong)}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-preview{display:grid;gap:6px;margin:0;padding:0;list-style:none}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-preview-row{font-weight:300;font-size:15px;line-height:1.5;color:var(--fg)}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-preview-row::before{content:"\2192\00a0\00a0";content:"\2192\00a0\00a0"/"";color:var(--gold-fg);display:inline-block}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-honest,
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-support,
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-status{margin:0;font-weight:300;font-size:14px;line-height:1.55;color:var(--muted)}
#kshetra-brief .k-pro-notice[data-pro-theme="monogram"]{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--gold-line);font-weight:300;font-size:15px;line-height:1.6;color:var(--fg)}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-foot{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 24px}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-adds-title{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;font-family:var(--sans);font-weight:400;font-size:15px;letter-spacing:.04em;color:var(--gold-fg)}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-adds-title::after{font-family:var(--pro-serif);font-weight:300;font-size:20px;line-height:1;color:var(--gold-fg)}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-adds .k-pro-includes{margin:2px 0 10px}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-quiet{display:inline-block;min-height:44px;margin:0;padding:11px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.45;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
#kshetra-brief .k-pro-el[data-pro-theme="monogram"] .k-pro-quiet:disabled{opacity:.6;cursor:default}
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"] .k-pro-compact-line,
#kshetra-brief .k-pro-summary[data-pro-theme="monogram"] .k-pro-summary-line{margin:0;font-weight:300;font-size:15px;line-height:1.6;color:var(--muted)}
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"] .k-pro-compact-link{display:inline-block;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold-fg);font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.5;letter-spacing:.04em;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--gold-line);cursor:pointer}
#kshetra-brief .k-pro-summary[data-pro-theme="monogram"] .k-pro-summary-link{display:inline-block;min-height:44px;padding:10px 0;color:var(--gold-fg);font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--gold-line)}
#kshetra-brief .k-pro-compact[data-pro-theme="monogram"] .k-pro-compact-link:hover,
#kshetra-brief .k-pro-summary[data-pro-theme="monogram"] .k-pro-summary-link:hover{text-decoration-color:var(--gold-fg)}

/* ---- D-D-327 (D-founder-59, plate #169): a door sample's later steps (web/partials/_door_sample.html, part "arc") —
   every step after the first is part of Pro, so steps 2 on sit in its frame: no card and no fill, one gold hairline
   above, the badge in letter-spaced small capitals, the line on what Pro carries in the light serif, and the steps
   inside in the light type, their rail and dots in gold. The step's own words and the person's stay the reading's. ---- */
.kd-ds-pro[data-pro-theme="monogram"]{margin:18px 0 0;padding:14px 0 2px;background:transparent;border:0;border-top:1px solid var(--gold-line);border-radius:0;box-shadow:none}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-pro-badge{margin:0;font-family:var(--pro-serif);font-weight:300;font-size:14px;line-height:1.5;letter-spacing:.32em;font-variant-caps:all-small-caps;color:var(--gold-fg)}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-pro-line{margin:2px 0 0;font-family:var(--pro-serif);font-weight:200;font-size:19px;line-height:1.5;letter-spacing:.005em;color:var(--strong)}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-steps::before{background:var(--gold-line)}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-step::before{border-color:var(--gold-fg)}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-step[data-kd-step-state="done"]::before{background:var(--gold-fg)}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-pill{border-color:var(--gold-line);color:var(--gold-fg);font-weight:400;letter-spacing:.04em}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-act{font-weight:300}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-act b{font-weight:500}
.kd-ds-pro[data-pro-theme="monogram"] .kd-ds-wrote{font-weight:400;color:var(--muted)}
