.pv { --pv-ink: var(--color-fg); --pv-soft: var(--color-fg-muted); --pv-line: var(--color-border-line); --pv-paper: var(--color-bg); --pv-panel: var(--color-panel);
  font-family: var(--font-anthropic-sans); color: var(--pv-ink); max-width: 860px; margin: 0 auto; }
.pv-step { min-height: 78vh; display: flex; flex-direction: column; justify-content: center; padding: 48px 0; border-bottom: 1px solid var(--pv-line); }
.pv-step:last-of-type { border-bottom: 0; }
.pv-kicker { font-weight: 600; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--pv-soft); margin: 0 0 14px; }
.pv-h { font-family: var(--font-anthropic-serif); font-size: clamp(30px, 5.4vw, 52px); line-height: 1.08; font-weight: 700; margin: 0 0 18px; letter-spacing: -0.01em; }
.pv-h em { font-style: normal; background: linear-gradient(transparent 62%, var(--pv-hl) 62%); }
.pv-p { font-size: 17px; line-height: 1.55; color: var(--pv-soft); margin: 0 0 22px; max-width: 62ch; }
.pv-p b { color: var(--pv-ink); font-weight: 600; }
.pv-big { display: flex; flex-wrap: wrap; gap: 28px 48px; margin: 8px 0 26px; }
.pv-big > div { min-width: 120px; }
.pv-num { font-family: var(--font-anthropic-serif); font-size: clamp(64px, 12vw, 120px); font-weight: 700; line-height: .95; margin: 0; color: var(--pv-ink); min-height: 1em; }
.pv-num.pv-quiet { color: var(--pv-ink); }
.pv-numlab { font-size: 14px; color: var(--pv-soft); margin: 8px 0 0; }
.pv-numlab span { color: var(--pv-ink); }
.pv-foot { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 14px; margin: 6px 0 24px; padding: 16px 0; border-top: 1px solid var(--pv-line); border-bottom: 1px solid var(--pv-line); }
.pv-foot p { margin: 0; }
.pv-foot .pv-fn { font-family: var(--font-anthropic-serif); font-weight: 700; font-size: 30px; line-height: 1.1; color: var(--pv-ink); min-height: 33px; }
.pv-foot .pv-fl { font-size: 13px; color: var(--pv-soft); margin-top: 2px; }
.pv-scroll { font-size: 14px; color: var(--pv-soft); margin-top: 10px; }
.pv-chart { position: relative; width: 100%; min-height: 300px; }
.pv-guess { touch-action: none; cursor: crosshair; }
.pv-guesswrap { position: relative; }
.pv-hint { position: absolute; right: 10%; top: 30%; margin: 0; font-size: 15px; color: var(--pv-c0); pointer-events: none; font-weight: 600; }
.pv-actions { display: flex; gap: 12px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
.pv-btn { font: inherit; font-size: 15px; padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--pv-ink); background: var(--pv-ink); color: var(--pv-paper); cursor: pointer; }
.pv-btn.pv-ghost { background: transparent; color: var(--pv-ink); }
.pv-btn[hidden] { display: none; }
.pv-reveal { margin-top: 18px; }
.pv-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: var(--pv-soft); margin: 0 0 10px; padding: 0; list-style: none; }
.pv-legend li::before { content: ""; display: inline-block; width: 18px; height: 0; border-top: 3px solid var(--k); vertical-align: middle; margin-right: 7px; border-radius: 2px; }
.pv-legend li.pv-dashed::before { border-top-style: dashed; border-top-width: 2px; }
.pv-k0 { --k: var(--pv-c0); } .pv-k1 { --k: var(--pv-c1); } .pv-k2 { --k: var(--pv-c2); } .pv-k3 { --k: var(--pv-c3); } .pv-k4 { --k: var(--pv-c4); } .pv-km { --k: var(--pv-soft); }
.pv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.pv-chip { font: inherit; font-size: 14px; padding: 7px 14px; border-radius: 999px; border: 1.5px solid var(--pv-line); background: transparent; color: var(--pv-soft); cursor: pointer; }
.pv-chip[aria-pressed="true"] { border-color: var(--pv-ink); color: var(--pv-ink); }
.pv-tip { position: absolute; pointer-events: none; background: var(--pv-paper); border: 1px solid var(--pv-line); border-radius: 10px; padding: 8px 11px; font-size: 13px; line-height: 1.5; box-shadow: 0 6px 18px rgba(0,0,0,.12); white-space: nowrap; z-index: 2; }
.pv-tip b { display: block; margin-bottom: 2px; }
.pv-tip i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.pv-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 4px 0 18px; counter-reset: hyp; }
.pv-card { font: inherit; text-align: left; cursor: pointer; border: 1.5px solid var(--pv-line); border-radius: 14px; background: var(--pv-panel); color: var(--pv-ink); padding: 16px; min-height: 150px; display: flex; flex-direction: column; gap: 8px; transition: border-color .2s ease, transform .2s ease; }
.pv-card:hover { transform: translateY(-2px); border-color: var(--pv-soft); }
.pv-card::before { counter-increment: hyp; content: "Hypothesis " counter(hyp); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pv-soft); }
.pv-card .pv-q { font-family: var(--font-anthropic-serif); font-weight: 650; font-size: 19px; line-height: 1.25; }
.pv-card .pv-tap { font-size: 12px; color: var(--pv-soft); margin-top: auto; }
.pv-card .pv-back { display: none; }
.pv-card[aria-pressed="true"] .pv-front { display: none; }
.pv-card[aria-pressed="true"] .pv-back { display: flex; flex-direction: column; gap: 6px; }
.pv-card[aria-pressed="true"] { border-color: var(--v); }
.pv-v { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--v); }
.pv-ev { font-size: 14px; line-height: 1.45; color: var(--pv-soft); }
.pv-no { --v: var(--color-bad); } .pv-mid { --v: var(--color-warn); } .pv-yes { --v: var(--color-ok); }
.pv-verdict { font-family: var(--font-anthropic-serif); font-size: clamp(34px, 6vw, 60px); line-height: 1.05; font-weight: 700; margin: 0 0 20px; }
.pv-verdict span { background: linear-gradient(transparent 62%, var(--pv-hl) 62%); display: block; width: fit-content; }
.pv-link { font-size: 17px; color: var(--pv-ink); font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--pv-c0); }
.pv-methods { font-size: 14px; color: var(--pv-soft); line-height: 1.6; margin: 0; padding-left: 18px; }
.pv-methods li { margin-bottom: 6px; }
.pv-fade { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.pv-step.pv-in .pv-fade { opacity: 1; transform: none; }
.pv-anim { stroke-dasharray: var(--len); stroke-dashoffset: var(--len); transition: stroke-dashoffset 1.8s ease; }
.pv-step.pv-in .pv-anim { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) { .pv-fade, .pv-anim, .pv-card { transition: none; opacity: 1; transform: none; stroke-dashoffset: 0; } }
.pv-ans { font-family: var(--font-anthropic-serif); font-weight: 650; font-size: clamp(21px, 3vw, 27px); line-height: 1.25; margin: 4px 0 14px; color: var(--pv-ink); max-width: 30ch; }
.pv-ans b { background: linear-gradient(transparent 62%, var(--pv-hl) 62%); color: var(--pv-ink); font-weight: 600; }
.pv-next { font-size: 15px; color: var(--pv-ink); margin: 26px 0 0; padding-top: 14px; border-top: 1px dashed var(--pv-line); }
.pv-next::before { content: "Next \2193  "; color: var(--pv-soft); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin-right: 6px; }
.pv-legend li.pv-dot::before { width: 10px; height: 10px; border: 0; border-radius: 50%; background: var(--k); }
.pv-legend li.pv-band::before { height: 10px; border: 0; border-radius: 2px; background: var(--pv-soft); opacity: .3; }
.pv-heat { min-height: 520px; }
.pv-mean { list-style: none; padding: 0; margin: 18px 0 18px; display: grid; gap: 12px; }
.pv-mean li { font-size: 16px; line-height: 1.5; color: var(--pv-soft); padding-left: 22px; position: relative; max-width: 66ch; }
.pv-mean li::before { content: ""; position: absolute; left: 0; top: 7px; width: 11px; height: 11px; border-radius: 50%; background: var(--k); }
.pv-mean b { color: var(--pv-ink); font-weight: 600; }
.pv-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin: 10px 0 18px; }
.pv-ccard { border: 1px solid var(--pv-line); border-radius: 14px; padding: 14px 14px 10px; background: var(--pv-panel); }
.pv-ccard h3 { font-family: var(--font-anthropic-serif); font-size: 20px; font-weight: 650; margin: 0 0 6px; }
.pv-ccard p { font-size: 14px; line-height: 1.5; color: var(--pv-soft); margin: 0 0 8px; }
.pv-ccard p b { color: var(--pv-ink); font-weight: 600; }
.pv-ccard .pv-chart { min-height: 150px; }
.pv-sub { font-family: var(--font-anthropic-serif); font-size: clamp(22px, 3.4vw, 30px); font-weight: 650; margin: 30px 0 10px; color: var(--pv-ink); }
.pv-how details { border-top: 1px solid var(--pv-line); padding: 14px 0; }
.pv-how details:last-of-type { border-bottom: 1px solid var(--pv-line); }
.pv-how summary { cursor: pointer; font-family: var(--font-anthropic-serif); font-weight: 650; font-size: 21px; color: var(--pv-ink); }
.pv-how summary span { display: block; font-family: var(--font-anthropic-sans); font-size: 14px; color: var(--pv-soft); margin-top: 2px; }
.pv-how details[open] summary { margin-bottom: 14px; }
.pv-src { font-size: 13px; color: var(--pv-soft); margin: 6px 0 0; max-width: 70ch; }
