/* Lab + product pages (html/vita-lab.html, reaper-lab.html, crystal-pistol.html, ide.html). Needs css/ossuary.css. */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { overflow-x: hidden; }
a { color: inherit; }
.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 var(--s4); }

.lab-top { position: sticky; top: 0; z-index: 40; background: rgba(6,5,5,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(3px); }
.lab-top .wrap { display: flex; align-items: center; gap: var(--s5); min-height: 56px; }
.lab-brand { font: 900 24px/1 var(--font-display); text-transform: uppercase; letter-spacing: .04em; text-decoration: none; color: var(--bone); white-space: nowrap; }
.lab-brand .red { color: var(--ember); }
.lab-nav { display: flex; gap: var(--s4); list-style: none; margin-left: auto; }
.lab-nav a { font: 400 19px/1 var(--font-crt); letter-spacing: .04em; color: var(--ash); text-decoration: none; }
.lab-nav a::before { content: "./"; color: var(--ghost); }
.lab-nav a:hover, .lab-nav a[aria-current] { color: var(--rot); text-shadow: var(--glow-rot); }

.lab-hero { padding: var(--s7) 0 var(--s6); display: grid; gap: var(--s4); }
.lab-hero h1 { font: 900 clamp(72px, 13vw, 160px)/.82 var(--font-display); text-transform: uppercase; }
.lab-hero h1 .glitch { color: var(--bone); text-shadow: 0 0 22px rgba(200,32,31,.35); }
.lab-hero h1 .glitch.accent, .lab-hero .accent { color: var(--accent-color, var(--ember)); }
.lab-lede { font-size: 19px; line-height: 1.55; color: var(--ash); max-width: 62ch; }
.lab-lede b { color: var(--bone); font-weight: 600; }

section.lab-sec { padding: var(--s6) 0; border-top: 1px dashed var(--line-soft); }
.lab-sec h2 { font: 800 clamp(30px, 4vw, 44px)/1 var(--font-display); text-transform: uppercase; letter-spacing: .02em; margin-bottom: var(--s4); }

/* keyword cheat-sheet */
.lab-keys { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s3); }
.lab-key { padding: var(--s3) var(--s4); border: 1px solid var(--line-soft); background: var(--slab); display: grid; gap: 4px; }
.lab-key code { justify-self: start; font: 600 15px/1.2 var(--font-mono); color: var(--accent-color, var(--ember)); background: none; border: 0; padding: 0; }
.lab-key span { font: 400 17px/1.2 var(--font-crt); letter-spacing: .03em; color: var(--ash); }
.lab-key span b { color: var(--bone); font-weight: 400; }

/* the lab */
.lab { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); border: 1px solid var(--line); background: #000; }
.lab-bar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--s2); align-items: center; padding: var(--s2) var(--s3); background: var(--slab); border-bottom: 1px solid var(--line); }
.lab-bar .file { font: 500 12px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ash); margin-right: auto; }
.lab-bar select { font: 400 13px/1 var(--font-mono); color: var(--bone); background: #000; border: 1px solid var(--line); padding: 8px 10px; border-radius: 0; }
.lab-bar .oss-btn { padding: 10px 16px; }
.lab-code { display: grid; grid-template-columns: auto 1fr; min-height: 380px; border-right: 1px solid var(--line); }
#lab-gutter { padding: var(--s3) var(--s2); font: 400 14px/1.6 var(--font-mono); color: var(--ghost); text-align: right; white-space: pre; overflow: hidden; user-select: none; background: #050404; border-right: 1px solid var(--line-soft); }
#lab-editor { width: 100%; min-height: 380px; resize: vertical; padding: var(--s3); font: 400 14px/1.6 var(--font-mono); color: var(--rot); caret-color: var(--rot); background: #000; border: 0; outline: none; white-space: pre; overflow: auto; tab-size: 4; }
#lab-editor:focus { box-shadow: inset 0 0 0 1px var(--blood); }
.lab-out { display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.lab-out-head { display: flex; justify-content: space-between; padding: var(--s2) var(--s3); font: 400 17px/1 var(--font-crt); letter-spacing: .04em; color: var(--ash); border-bottom: 1px solid var(--line-soft); }
#lab-meta { color: var(--ghost); }
#lab-output { margin: 0; padding: var(--s3); font: 400 14px/1.5 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; max-height: 420px; background: #000; border: 0; }
#lab-output .out { color: var(--bone); }
#lab-output .err { color: var(--ember); }
#lab-output .sys { color: var(--rot); text-shadow: var(--glow-rot); }
.lab-limits { margin-top: var(--s3); font: 400 17px/1.4 var(--font-crt); letter-spacing: .03em; color: var(--ghost); }
.lab-limits b { color: var(--ash); font-weight: 400; }

.lab-foot { padding: var(--s6) 0; font: 400 17px/1.5 var(--font-crt); letter-spacing: .04em; color: var(--ghost); border-top: 1px dashed var(--line); margin-top: var(--s6); }
.lab-foot a { color: var(--ash); text-decoration: none; margin-right: var(--s4); }
.lab-foot a:hover { color: var(--rot); }

@media (max-width: 900px) {
  .lab { grid-template-columns: 1fr; }
  .lab-code { border-right: 0; border-bottom: 1px solid var(--line); }
  .lab-nav { display: none; }
}

/* ── product pages (html/crystal-pistol.html, html/ide.html): no lab, just the pitch ── */
.lab-hero .lab-tag { justify-self: start; font: 500 12px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-color, var(--ember)); border: 1px solid currentColor; padding: 6px 9px; }
.lab-sub { margin: calc(-1 * var(--s2)) 0 var(--s4); font: 400 19px/1.35 var(--font-crt); letter-spacing: .03em; color: var(--ash); max-width: 70ch; }

.lab-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); list-style: none; }
.lab-card { display: grid; gap: var(--s2); align-content: start; padding: var(--s4); background: var(--slab); border: 1px solid var(--line-soft); border-left: 3px solid var(--accent-color, var(--ember)); }
.lab-card h3, .lab-card h4 { font: 700 21px/1.1 var(--font-display); text-transform: uppercase; letter-spacing: .03em; color: var(--bone); }
.lab-card p { font-size: 15px; line-height: 1.55; color: var(--ash); }
.lab-card .k { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-color, var(--ember)); }

.lab-chips { display: flex; flex-wrap: wrap; gap: var(--s2); list-style: none; }
.lab-chips li { font: 400 19px/1 var(--font-crt); letter-spacing: .04em; color: var(--bone); padding: 8px 12px; background: var(--slab); border: 1px solid var(--line); }
.lab-chips li::before { content: "◆ "; color: var(--accent-color, var(--ember)); }

.lab-group + .lab-group { margin-top: var(--s5); }
.lab-group > h3 { display: flex; align-items: baseline; gap: var(--s3); margin-bottom: var(--s3); font: 700 24px/1 var(--font-display); text-transform: uppercase; letter-spacing: .03em; color: var(--bone); }
.lab-group > h3 small { font: 400 17px/1 var(--font-crt); letter-spacing: .04em; text-transform: none; color: var(--ash); }

.lab-cta { display: grid; gap: var(--s4); justify-items: start; padding: var(--s5); background: var(--slab); border: 1px solid var(--line); border-left: 3px solid var(--accent-color, var(--ember)); }
.lab-cta p { font-size: 16px; line-height: 1.6; color: var(--ash); max-width: 64ch; }
.lab-cta p b { color: var(--bone); font-weight: 600; }
.lab-dl { background: var(--accent-color, var(--blood)); color: #000; font-weight: 700; text-decoration: none; }
.lab-dl:hover:not([disabled]) { box-shadow: 0 0 0 1px var(--accent-color, var(--blood)), 0 0 18px var(--accent-color, var(--blood)); }
.lab-pre { width: 100%; margin: 0; padding: var(--s3) var(--s4); font: 400 14px/1.7 var(--font-mono); color: var(--bone); background: #000; border: 1px solid var(--line-soft); overflow-x: auto; white-space: pre; }
.lab-pre .c { color: var(--ghost); }
.lab-pre .p { color: var(--accent-color, var(--ember)); user-select: none; }

/* fake app window (ide.html) */
.lab-window { margin: var(--s2) 0 0; border: 1px solid var(--line); background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.lab-window-bar { display: flex; align-items: center; gap: var(--s3); padding: 8px var(--s3); background: var(--slab-2); border-bottom: 1px solid var(--line); font: 500 12px/1 var(--font-mono); letter-spacing: .08em; color: var(--ash); }
.lab-window-bar .dots { display: flex; gap: 6px; }
.lab-window-bar .dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--line); }
.lab-window-bar .dots i:first-child { background: var(--blood); }
.lab-window-bar .title { flex: 1; text-align: center; }
.lab-window-tabs { display: flex; background: var(--slab); border-bottom: 1px solid var(--line-soft); font: 400 12px/1 var(--font-mono); }
.lab-window-tabs span { padding: 8px var(--s3); color: var(--ghost); border-right: 1px solid var(--line-soft); }
.lab-window-tabs span.on { color: var(--bone); background: #000; box-shadow: inset 0 2px 0 var(--accent-color, var(--ember)); }
.lab-window-body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; }
.lab-window-code { margin: 0; padding: var(--s3) var(--s4); font: 400 13.5px/1.75 var(--font-mono); color: var(--bone); white-space: pre; overflow-x: auto; counter-reset: ln; }
.lab-window-code .ln { display: inline-block; width: 2.4em; color: var(--ghost); user-select: none; }
.lab-window-code .kw { color: var(--accent-color, var(--ember)); }
.lab-window-code .str { color: var(--rot); }
.lab-window-code .cm { color: var(--ghost); font-style: italic; }
.lab-window-code .ghost { color: var(--ghost); opacity: .7; }
.lab-window-side { border-left: 1px solid var(--line-soft); padding: var(--s3); display: grid; gap: var(--s2); align-content: start; background: #050404; font: 400 13px/1.5 var(--font-mono); }
.lab-window-side .who { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-color, var(--ember)); }
.lab-window-side p { color: var(--bone); }
.lab-window-side p.me { color: var(--ash); }
.lab-window figcaption { padding: 8px var(--s3); font: 400 16px/1.2 var(--font-crt); letter-spacing: .03em; color: var(--ash); border-top: 1px solid var(--line-soft); }

@media (max-width: 900px) {
  .lab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lab-window-body { grid-template-columns: 1fr; }
  .lab-window-side { border-left: 0; border-top: 1px solid var(--line-soft); }
}
@media (max-width: 600px) {
  .lab-cards { grid-template-columns: 1fr; }
  .lab-cta { padding: var(--s4); }
}

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lab-sub code { font: 400 15px/1 var(--font-mono); color: var(--bone); }

/* ── AI answers (js/ai-stream.js) ── */
.ai-out { margin-top: var(--s4); padding: var(--s4); background: #000; border: 1px solid var(--line-soft); border-left: 3px solid var(--accent-color, var(--ember)); font-size: 15px; line-height: 1.6; color: var(--bone); overflow-wrap: anywhere; }
.ai-out.busy::after, .ide-msg .body.busy::after { content: "█"; margin-left: 2px; color: var(--accent-color, var(--ember)); animation: oss-blink 1s steps(1) infinite; }
.ai-h { margin: var(--s3) 0 var(--s1); font: 700 17px/1.2 var(--font-display); text-transform: uppercase; letter-spacing: .04em; color: var(--accent-color, var(--ember)); }
.ai-h:first-child { margin-top: 0; }
.ai-list { margin: 0 0 var(--s2) 1.2em; display: grid; gap: 4px; }
.ai-p { margin: 0 0 var(--s2); }
.ai-out code, .ide-msg code { font: 400 13px/1.4 var(--font-mono); color: var(--accent-color, var(--ember)); }
.ai-code { margin: var(--s2) 0; padding: var(--s3); font: 400 13px/1.55 var(--font-mono); color: var(--bone); background: #050404; border: 1px solid var(--line-soft); white-space: pre; overflow-x: auto; }

/* ── Crystal Pistol scanner (js/crystal-pistol.js) ── */
.cp-input textarea { width: 100%; min-height: 220px; resize: vertical; padding: var(--s3); font: 400 14px/1.55 var(--font-mono); color: var(--bone); background: #000; border: 1px solid var(--line); outline: none; }
.cp-input textarea:focus { border-color: var(--accent-color); }
.cp-actions { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s3); align-items: center; }
.cp-filebtn { cursor: pointer; }
.cp-results { display: grid; gap: var(--s4); margin-top: var(--s5); }
.cp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s3); }
.cp-stat { display: grid; gap: 4px; padding: var(--s3) var(--s4); background: var(--slab); border: 1px solid var(--line-soft); border-left: 3px solid var(--accent-color); }
.cp-stat b { font: 800 30px/1 var(--font-display); color: var(--bone); }
.cp-stat span { font: 400 17px/1 var(--font-crt); letter-spacing: .04em; color: var(--ash); }
.cp-table-wrap { overflow-x: auto; border: 1px solid var(--line-soft); }
.cp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cp-table th, .cp-table td { padding: 10px var(--s3); text-align: left; border-bottom: 1px solid var(--line-soft); white-space: nowrap; }
.cp-table thead th { font: 500 11px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ash); background: var(--slab); }
.cp-table tbody th { color: var(--bone); font-weight: 600; }
.cp-table td { color: var(--ash); }
.cp-num { font: 400 13px/1 var(--font-mono); color: var(--ash); }
.cp-bar { display: inline-block; width: 90px; height: 6px; margin-right: var(--s2); background: var(--line-soft); vertical-align: middle; }
.cp-bar i { display: block; height: 100%; background: var(--accent-color); }
.cp-tone { font: 400 13px/1 var(--font-mono); padding: 3px 6px; border: 1px solid var(--line); }
.cp-tone.warm { color: var(--rot); border-color: rgba(57,255,106,.35); }
.cp-tone.cold { color: var(--ember); border-color: rgba(255,74,61,.4); }
.cp-tone.flat { color: var(--ash); }
.cp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.cp-panel { padding: var(--s4); background: var(--slab); border: 1px solid var(--line-soft); }
.cp-panel h3, .cp-ai h3 { margin-bottom: var(--s3); font: 700 20px/1 var(--font-display); text-transform: uppercase; letter-spacing: .03em; color: var(--bone); }
.cp-flow, .cp-warn { list-style: none; display: grid; gap: var(--s2); }
.cp-flow li { display: grid; grid-template-columns: minmax(0, 1fr) 90px 28px; gap: var(--s2); align-items: center; }
.cp-pair { font-size: 14px; color: var(--bone); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-warn li { display: grid; grid-template-columns: 64px 1fr; gap: var(--s2); align-items: baseline; font-size: 14px; color: var(--bone); }
.cp-warn .lvl { font: 500 10px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; padding: 4px 6px; text-align: center; border: 1px solid currentColor; }
.cp-warn .lvl-high .lvl { color: var(--ember); }
.cp-warn .lvl-medium .lvl { color: var(--amber); }
.cp-warn .lvl-low .lvl { color: var(--ash); }
.cp-empty { color: var(--ash); font: 400 17px/1.3 var(--font-crt); letter-spacing: .03em; }
.cp-hours { display: grid; grid-template-columns: repeat(24, 1fr); gap: 2px; height: 34px; }
.cp-hours span { background: var(--accent-color); opacity: calc(.08 + var(--v, 0) * .92); }
.cp-hours-lbl { display: flex; justify-content: space-between; margin-top: 6px; font: 400 15px/1 var(--font-crt); color: var(--ash); }
.cp-ai { margin-top: var(--s5); padding: var(--s4); background: var(--slab); border: 1px solid var(--line); border-left: 3px solid var(--accent-color); }
.cp-modes { display: flex; flex-wrap: wrap; gap: var(--s2); }
.cp-modes button { font: 400 18px/1 var(--font-crt); letter-spacing: .03em; color: var(--ash); background: #000; border: 1px solid var(--line); padding: 7px 11px; cursor: pointer; }
.cp-modes button:hover { color: var(--bone); }
.cp-modes button[aria-pressed="true"] { color: #000; background: var(--accent-color); border-color: var(--accent-color); }
.cp-params { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: end; margin-top: var(--s3); }
.cp-params label { display: grid; gap: 4px; font: 400 16px/1 var(--font-crt); color: var(--ash); }
.cp-params label[hidden] { display: none; }
.cp-params select, .cp-params textarea { font: 400 14px/1.4 var(--font-body); color: var(--bone); background: #000; border: 1px solid var(--line); padding: 8px 10px; border-radius: 0; }
.cp-draft { flex: 1 1 320px; }
.cp-draft textarea { width: 100%; resize: vertical; }
.cp-note { margin-top: var(--s3); font: 400 16px/1.3 var(--font-crt); letter-spacing: .03em; color: var(--ash); }
.cp-err, .ide-msg .err { color: var(--ember); }

/* cp tab switcher */
.cp-tabs { display: flex; gap: 0; margin-bottom: var(--s4); border-bottom: 1px solid var(--line); }
.cp-tab { padding: 8px var(--s4); font: 600 13px/1 var(--font-body); text-transform: uppercase; letter-spacing: .06em; color: var(--ash); background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer; }
.cp-tab[aria-selected=true] { color: var(--accent-color); border-bottom-color: var(--accent-color); }

/* cp live bar */
.cp-live-bar { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; margin-bottom: var(--s4); font: 400 16px/1 var(--font-crt); color: var(--ash); letter-spacing: .03em; }
.cp-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ash); flex: none; }
.cp-live-dot.on { background: var(--ember); box-shadow: 0 0 6px var(--ember); animation: oss-pulse 1.4s infinite; }
.cp-live-dot.pulse { background: var(--ash); animation: oss-pulse 0.6s infinite; }

/* ── IDE live demo (js/ide-demo.js) ── */
.ide-live .lab-window-bar { gap: var(--s2); }
.ide-live .lab-window-bar .oss-btn { padding: 6px 12px; }
.ide-tabs button { padding: 8px var(--s3); font: 400 12px/1 var(--font-mono); color: var(--ash); background: none; border: 0; border-right: 1px solid var(--line-soft); cursor: pointer; }
.ide-tabs button.on { color: var(--bone); background: #000; box-shadow: inset 0 2px 0 var(--accent-color); }
.ide-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); min-height: 520px; }
.ide-main { display: grid; grid-template-rows: minmax(300px, 1fr) 170px; min-width: 0; }
.ide-code { display: grid; grid-template-columns: auto 1fr; min-height: 0; }
#ide-gutter { margin: 0; padding: var(--s3) var(--s2); font: 400 13.5px/1.6 var(--font-mono); color: var(--ghost); text-align: right; white-space: pre; overflow: hidden; user-select: none; background: #050404; border-right: 1px solid var(--line-soft); }
#ide-editor { width: 100%; height: 100%; resize: none; padding: var(--s3); font: 400 13.5px/1.6 var(--font-mono); color: var(--bone); caret-color: var(--accent-color); background: #000; border: 0; outline: none; white-space: pre; overflow: auto; tab-size: 4; }
.ide-pane-head { padding: 6px var(--s3); font: 500 11px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ash); background: var(--slab); border-bottom: 1px solid var(--line-soft); }
.ide-term-wrap { display: grid; grid-template-rows: auto 1fr; min-height: 0; border-top: 1px solid var(--line); }
#ide-term { margin: 0; padding: var(--s2) var(--s3); font: 400 13px/1.5 var(--font-mono); white-space: pre-wrap; overflow: auto; background: #030303; }
#ide-term .out { color: var(--bone); }
#ide-term .err { color: var(--ember); }
#ide-term .sys { color: var(--accent-color); }
.ide-side { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; grid-template-columns: minmax(0, 1fr); min-width: 0; min-height: 0; max-height: 690px; border-left: 1px solid var(--line); background: #050404; }
.ide-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: var(--s2); border-bottom: 1px solid var(--line-soft); }
.ide-actions button { font: 400 17px/1 var(--font-crt); letter-spacing: .03em; color: var(--bone); background: #000; border: 1px solid var(--line); padding: 7px 4px; cursor: pointer; }
.ide-actions button:hover:not(:disabled) { color: #000; background: var(--accent-color); border-color: var(--accent-color); }
.ide-actions button:disabled, .ide-ask button:disabled { opacity: .45; cursor: default; }
.ide-chat { overflow-y: auto; padding: var(--s3); display: grid; gap: var(--s3); align-content: start; }
.ide-msg { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 4px; font-size: 14px; line-height: 1.55; }
.ide-msg .who { font: 500 10px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ash); }
.ide-msg.ai .who { color: var(--accent-color); }
.ide-msg.me .body { color: var(--ash); }
.ide-msg .body { color: var(--bone); overflow-wrap: anywhere; }
.ide-msg .ai-code { font-size: 12px; max-height: 320px; max-width: 100%; }
.ide-apply { justify-self: start; padding: 6px 10px; font-size: 12px; }
.ide-ask { display: flex; gap: var(--s2); padding: var(--s2); border-top: 1px solid var(--line-soft); }
.ide-ask input { flex: 1; min-width: 0; font: 400 13px/1 var(--font-mono); color: var(--bone); background: #000; border: 1px solid var(--line); padding: 8px; outline: none; }
.ide-ask input:focus { border-color: var(--accent-color); }

@media (max-width: 900px) {
  .cp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-grid { grid-template-columns: 1fr; }
  .ide-body { grid-template-columns: 1fr; }
  .ide-side { border-left: 0; border-top: 1px solid var(--line); max-height: 560px; }
  .ide-main { grid-template-rows: 320px 170px; }
}

/* ── Crystal Pistol scam / safety check (js/crystal-scam.js) ── */
.cp-scam { padding: var(--s4); background: var(--slab); border: 1px solid var(--line); border-left: 4px solid var(--ash); margin-bottom: var(--s2); }
.cp-scam.risk-high { border-left-color: var(--ember); background: linear-gradient(180deg, rgba(255,74,61,.08), transparent 40%), var(--slab); }
.cp-scam.risk-medium { border-left-color: var(--amber); }
.cp-scam.risk-low { border-left-color: var(--ice); }
.cp-scam.risk-none { border-left-color: var(--rot); }
.cp-scam-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s3); }
.cp-scam-badge { font: 700 15px/1 var(--font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--bone); }
.cp-scam-risk { font: 500 11px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; padding: 4px 8px; border: 1px solid currentColor; }
.risk-high .cp-scam-risk { color: var(--ember); }
.risk-medium .cp-scam-risk { color: var(--amber); }
.risk-low .cp-scam-risk { color: var(--ice); }
.risk-none .cp-scam-risk { color: var(--rot); }
.cp-scam-lede, .cp-scam-ok { margin-top: var(--s2); font-size: 14px; line-height: 1.55; color: var(--ash); max-width: 72ch; }
.cp-scam-ok { color: var(--bone); }
.cp-scam-list { list-style: none; display: grid; gap: var(--s3); margin-top: var(--s3); }
.cp-scam-list li { padding: var(--s3); background: #000; border: 1px solid var(--line-soft); border-left: 3px solid var(--ash); }
.cp-scam-list li.lvl-high { border-left-color: var(--ember); }
.cp-scam-list li.lvl-medium { border-left-color: var(--amber); }
.cp-scam-list li.lvl-low { border-left-color: var(--ice); }
.cp-scam-sig { display: flex; align-items: baseline; gap: var(--s2); }
.cp-scam-sig b { font-size: 15px; color: var(--bone); }
.cp-scam-sig .lvl { font: 500 10px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; padding: 3px 6px; border: 1px solid currentColor; }
.lvl-high .lvl { color: var(--ember); }
.lvl-medium .lvl { color: var(--amber); }
.lvl-low .lvl { color: var(--ice); }
.cp-scam-note { margin: 6px 0; font-size: 13px; line-height: 1.5; color: var(--ash); }
.cp-scam-quote { margin: 4px 0; padding: 6px 10px; border-left: 2px solid var(--line); font: 400 13px/1.45 var(--font-mono); color: var(--bone); background: #050404; overflow-wrap: anywhere; }
.cp-scam-quote b { color: var(--ash); }
.cp-scam-advice { margin-top: 6px; font-size: 13.5px; line-height: 1.5; color: var(--bone); }
.cp-scam-steps { margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--line-soft); }
.cp-scam-steps h4 { font: 700 15px/1 var(--font-display); text-transform: uppercase; letter-spacing: .04em; color: var(--bone); margin-bottom: var(--s2); }
.cp-scam-steps ol { margin: 0 0 var(--s2) 1.2em; display: grid; gap: 4px; font-size: 14px; color: var(--ash); }
.cp-scam-report-h { margin-top: var(--s2); font: 700 15px/1 var(--font-display); text-transform: uppercase; letter-spacing: .04em; color: var(--bone); }
.cp-scam-report { font-size: 13px; margin-top: 4px; line-height: 1.6; color: var(--ash); }
.cp-scam-report a { color: var(--ice); }
