/* ── Scoped DS palette (B7 warm-editorial) ──────────────────────────────────
     Applied to the whole calibrate subtree so both the SSR shell AND the
     client-rendered result cards (which read these tokens via Tailwind's
     bg-[var(--color-bg-card)] etc.) recolour to one warm surface — without
     leaking to any other page. Light mode only via html:not([data-theme=dark]);
     dark-mode user keeps dark tokens. */
  .calib-root {
    max-width: 48rem;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 1.5rem);
  }
  html:not([data-theme="dark"]) .calib-root {
    --color-bg: #f4f0e8;
    --color-bg-card: #fcf9f3;
    --color-bg-subtle: #efe9dc;
    --color-surface-raised: #fffdf8;
    --color-ink: #1d2630;
    --color-ink-muted: #46555f;
    --color-ink-subtle: #7a8590;
    --color-line: #d8cfbe;
    --color-accent: #1c6f67;       /* teal — reality */
    --color-accent-dim: #d4e7e3;   /* teal-soft */
    --color-warm: #b0631f;         /* amber — fear / over-rated */
    --color-emphasis: #b0631f;     /* rust — headline italic word */
    --color-reality: #2d7060;      /* teal — focus ring */
  }
  html[data-theme="dark"] .calib-root {
    --color-bg: #1a1a1e;
    --color-bg-card: #252528;
    --color-bg-subtle: #2b2b30;
    --color-surface-raised: #2d2d31;
    --color-ink: #ece9e2;
    --color-ink-muted: #a7adb4;
    --color-ink-subtle: #7c8289;
    --color-line: #3a3a40;
    --color-accent: #54b3aa;
    --color-accent-dim: #1f3a37;
    --color-warm: #e08a4f;
    --color-emphasis: #e08a4f;
    --color-reality: #54b3aa;
  }

  /* Overflow guard for the client-rendered results subtree: no odds string,
     URL, or long factor label may ever widen the page beyond the viewport
     (the mobile "pushed the whole site wider" glitch). Rows above already
     wrap via flex-wrap + min-w-0; this catches unbroken tokens inside them. */
  .calib-results {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* Takeaway skeleton shimmer (client-injected markup, so is:global). */
  .calib-skel {
    background: linear-gradient(
      90deg,
      var(--color-bg-subtle) 25%,
      var(--color-line) 50%,
      var(--color-bg-subtle) 75%
    );
    background-size: 200% 100%;
    animation: calib-shimmer 1.4s ease-in-out infinite;
  }
  @keyframes calib-shimmer {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .calib-skel { animation: none; }
  }.calib-shell[data-astro-cid-cbkdonux]{padding:2.5rem 0 3rem}.calib-top[data-astro-cid-cbkdonux]{margin-bottom:1.5rem}.calib-head[data-astro-cid-cbkdonux]{font-family:var(--font-serif, Georgia, serif);font-weight:700;font-size:clamp(29px,5.6vw,50px);line-height:1.04;letter-spacing:-0.02em;color:var(--color-ink);margin:12px 0 10px;max-width:17ch}.calib-head[data-astro-cid-cbkdonux] .em[data-astro-cid-cbkdonux]{color:var(--color-emphasis);font-style:italic}.calib-subhead[data-astro-cid-cbkdonux]{font-size:clamp(14.5px,2vw,17px);line-height:1.5;color:var(--color-ink-muted);margin:0 0 4px;max-width:52ch}.calib-form[data-astro-cid-cbkdonux]{margin-bottom:1.5rem}.sr-only[data-astro-cid-cbkdonux]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.calib-textarea[data-astro-cid-cbkdonux]{width:100%;border-radius:0.75rem;border:1px solid var(--color-line);background:var(--color-bg-card);color:var(--color-ink);padding:0.875rem 1rem;font-size:1rem;line-height:1.5;resize:vertical;transition:border-color 0.18s,box-shadow 0.18s}.calib-textarea[data-astro-cid-cbkdonux]::placeholder{color:var(--color-ink-muted);opacity:0.85}.calib-textarea[data-astro-cid-cbkdonux]:focus{outline:none;border-color:var(--color-reality);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-reality) 28%,transparent)}.calib-actions[data-astro-cid-cbkdonux]{margin-top:0.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.calib-submit[data-astro-cid-cbkdonux]{cursor:pointer;border-radius:0.5rem;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;min-height:44px;transition:opacity 0.18s,transform 0.18s}.calib-submit[data-astro-cid-cbkdonux]:hover{opacity:0.9}.calib-submit[data-astro-cid-cbkdonux]:disabled{opacity:0.6;cursor:default}.calib-progress[data-astro-cid-cbkdonux]{font-size:0.875rem;color:var(--color-ink-muted)}.calib-chips[data-astro-cid-cbkdonux]{margin-top:0.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;font-size:0.875rem}.calib-chips-lead[data-astro-cid-cbkdonux]{color:var(--color-ink-muted)}.calib-chip[data-astro-cid-cbkdonux]{cursor:pointer;border-radius:999px;border:1px solid var(--color-line);background:var(--color-bg-card);color:var(--color-ink);padding:0.375rem 0.75rem;font-size:0.75rem;min-height:36px;transition:border-color 0.18s,transform 0.18s}.calib-chip[data-astro-cid-cbkdonux]:hover{border-color:var(--color-accent);transform:translateY(-1px)}.calib-how[data-astro-cid-cbkdonux]{margin-top:1rem;font-size:0.875rem;color:var(--color-ink-muted)}.calib-how[data-astro-cid-cbkdonux] summary[data-astro-cid-cbkdonux]{cursor:pointer;min-height:44px;display:flex;align-items:center;transition:color 0.18s}.calib-how[data-astro-cid-cbkdonux] summary[data-astro-cid-cbkdonux]:hover{color:var(--color-ink)}.calib-how[data-astro-cid-cbkdonux] p[data-astro-cid-cbkdonux]{margin-top:0.5rem;line-height:1.6}.calib-how[data-astro-cid-cbkdonux] a{color:var(--color-accent)}.calib-how[data-astro-cid-cbkdonux] a:hover{text-decoration:underline}.calib-askwrap[data-astro-cid-cbkdonux]{margin-top:1.5rem}.calib-askcopy[data-astro-cid-cbkdonux]{margin-bottom:0.5rem;font-size:0.875rem;color:var(--color-ink-muted)}.hidden[data-astro-cid-cbkdonux]{display:none!important}@media (prefers-reduced-motion: reduce){.calib-textarea[data-astro-cid-cbkdonux],.calib-submit[data-astro-cid-cbkdonux],.calib-chip[data-astro-cid-cbkdonux],.calib-how[data-astro-cid-cbkdonux] summary[data-astro-cid-cbkdonux]{transition:none}}