/* The Laundering — case quiz widget. Self-contained tokens (--cq-*) that fall
   back to the page's own vars where present (reading pages) and to literals
   where absent (LCARS console pages). Works on both surfaces. */
.cq{
  --cq-accent: var(--accent, var(--lcars-red, #dc2626));
  --cq-accent-soft: var(--accent-soft, var(--lcars-salmon, #ef4444));
  --cq-gold: var(--gold, var(--lcars-tan, #d4a574));
  --cq-paper: var(--paper, var(--panel-bg, #121215));
  --cq-line: var(--line, #2a2a30);
  --cq-ink: var(--ink, #f4f1ea);
  --cq-ink-soft: var(--ink-soft, #c9c4bb);
  --cq-ink-dim: var(--ink-dim, #8a857c);
  --cq-bg: var(--bg, #0a0a0c);
  --cq-mono: var(--mono, "JetBrains Mono", monospace);
  --cq-serif: var(--serif, "Source Serif 4", Georgia, serif);
  --cq-display: var(--display, "Saira Condensed", sans-serif);
  --cq-green:#3fae6b;
  margin:48px 0 0;padding:36px 0 40px;border-top:1px solid var(--cq-line);max-width:720px
}
.cq .cq-kicker{font-family:var(--cq-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cq-accent);margin:0 0 .9rem}
.cq h2{font-family:var(--cq-display);font-size:clamp(1.4rem,3.5vw,2rem);line-height:1.1;margin:0 0 .6rem;color:var(--cq-ink);text-transform:uppercase;letter-spacing:.01em;border:0;padding:0}
.cq h2 em{color:var(--cq-accent-soft);font-style:italic}
.cq .cq-lede{font-family:var(--cq-serif);font-size:1rem;color:var(--cq-ink-soft);max-width:680px;margin:0 0 1.75rem;line-height:1.6}
.cq-progress{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--cq-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cq-ink-dim);margin:0 0 1.25rem;gap:1rem}
.cq-q{border:1px solid var(--cq-line);background:var(--cq-paper);padding:1.1rem 1.2rem;margin:0 0 1rem}
.cq-q .cq-num{font-family:var(--cq-mono);font-size:.62rem;letter-spacing:.14em;color:var(--cq-accent);text-transform:uppercase;display:block;margin:0 0 .5rem}
.cq-q .cq-prompt{font-family:var(--cq-serif);font-size:1.02rem;line-height:1.45;color:var(--cq-ink);margin:0 0 .9rem}
.cq-opts{display:flex;flex-direction:column;gap:.5rem}
.cq-opt{font-family:var(--cq-serif);text-align:left;background:transparent;border:1px solid var(--cq-line);color:var(--cq-ink-soft);padding:.6rem .8rem;cursor:pointer;font-size:.92rem;line-height:1.35;transition:border-color 140ms,color 140ms,background 140ms;display:flex;gap:.6rem;align-items:flex-start}
.cq-opt:hover{border-color:var(--cq-accent);color:var(--cq-ink)}
.cq-opt .cq-mark{font-family:var(--cq-mono);font-size:.7rem;color:var(--cq-ink-dim);flex-shrink:0;line-height:1.6}
.cq-opt.sel{border-color:var(--cq-accent-soft);background:rgba(220,38,38,.08);color:var(--cq-ink)}
.cq-opt.sel .cq-mark{color:var(--cq-accent)}
.cq-opt.correct{border-color:var(--cq-green);background:rgba(63,174,107,.10);color:var(--cq-ink)}
.cq-opt.correct .cq-mark{color:var(--cq-green)}
.cq-opt.wrong{border-color:var(--cq-accent);background:rgba(220,38,38,.10);color:var(--cq-ink)}
.cq-opt.wrong .cq-mark{color:var(--cq-accent)}
.cq-graded .cq-opt{cursor:default}
.cq-why{font-family:var(--cq-mono);font-size:.78rem;line-height:1.55;color:var(--cq-ink-soft);margin:.8rem 0 0;padding:.7rem .8rem;border-left:2px solid var(--cq-gold);background:rgba(212,165,116,.06)}
.cq-actions{margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cq-btn{font-family:var(--cq-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:var(--cq-ink);color:var(--cq-bg);border:1px solid var(--cq-ink);padding:.6rem .9rem;cursor:pointer;transition:background 140ms,color 140ms,border-color 140ms}
.cq-btn:hover:not(:disabled){background:var(--cq-accent);color:#fff;border-color:var(--cq-accent)}
.cq-btn:disabled{opacity:.4;cursor:not-allowed}
.cq-btn.ghost{background:transparent;color:var(--cq-ink-dim);border-color:var(--cq-line)}
.cq-btn.ghost:hover{color:var(--cq-accent);border-color:var(--cq-accent);background:transparent}
.cq-result{border:1px solid var(--cq-accent-soft);border-left:3px solid var(--cq-accent);background:var(--cq-paper);padding:1.5rem;margin:1.5rem 0 0}
.cq-result .cq-score{font-family:var(--cq-display);font-size:clamp(2rem,7vw,3rem);line-height:1;color:var(--cq-accent-soft);text-transform:uppercase;margin:0 0 .4rem}
.cq-result .cq-verdict{font-family:var(--cq-serif);font-style:italic;font-size:1.1rem;color:var(--cq-ink);margin:0 0 1.1rem}
.cq-result .cq-shareline{font-family:var(--cq-mono);font-size:.72rem;color:var(--cq-ink-dim);margin:0 0 1rem;letter-spacing:.03em;word-break:break-word}
.cq-share-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.cq-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(12px);background:var(--cq-ink);color:var(--cq-bg);font-family:var(--cq-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.6rem .9rem;border-radius:2px;opacity:0;transition:opacity .25s,transform .25s;z-index:9999;pointer-events:none}
.cq-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
