/* Receipts v2 site in the original Receipts Live look (033ea50): near-black page with blue/red glows, glass surfaces,
   Inter + JetBrains Mono, and the verdict as an off-white paper ticket with a rotated stamp. */
:root {
  --bg: #0e0f12; --surface: rgba(255, 255, 255, .045); --surface-2: rgba(255, 255, 255, .08); --line: rgba(255, 255, 255, .09);
  --fg: #eceae4; --muted: #a3a29c; --dim: #8d8c86;
  --red: #ff5a52; --red-bg: rgba(255, 90, 82, .08);
  --amber: #ffb547; --amber-bg: rgba(255, 181, 71, .07);
  --green: #4fd18b; --green-bg: rgba(79, 209, 139, .08);
  --grey-bg: rgba(255, 255, 255, .04);
  --accent: #6aa8ff; --violet: #b48cff;
  --paper: #f4efe4; --ink: #15161a;
  --radius: 14px;
  --sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--fg); font: 16px/1.55 var(--sans); min-height: 100vh; background:
  radial-gradient(900px 500px at 85% -10%, rgba(106, 168, 255, .10), transparent 60%),
  radial-gradient(700px 400px at -10% 20%, rgba(255, 90, 82, .07), transparent 60%), var(--bg); }
a { color: var(--accent); text-underline-offset: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted { color: var(--muted); }
.mono { font-family: var(--mono); }
[hidden] { display: none !important; }

.top { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 880px; margin: 0 auto; padding: 16px 20px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--fg); font-weight: 700; font-size: 18px; text-decoration: none; letter-spacing: -.01em; }
.brand-mark { width: 22px; height: 22px; border-radius: 6px; background: var(--red); box-shadow: inset 0 -6px 0 rgba(0, 0, 0, .25); }
.top nav { display: flex; gap: 4px; }
.top nav a { color: var(--muted); text-decoration: none; padding: 10px; border-radius: 8px; font-size: 15px; }
.top nav a:hover { color: var(--fg); background: var(--surface); }

main { max-width: 880px; margin: 0 auto; padding: 0 20px 40px; }
section { margin-top: 40px; }
h1 { font-size: clamp(36px, 9vw, 64px); line-height: 1.05; letter-spacing: -.03em; margin: 24px 0 16px; }
h2 { font-size: 22px; letter-spacing: -.01em; margin: 0 0 14px; }
.lede { color: var(--muted); font-size: 18px; max-width: 60ch; margin: 0 0 24px; }
.hint { color: var(--dim); font-size: 14px; margin: 10px 2px 0; min-height: 1.5em; }

.ca-form { display: flex; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 8px; transition: border-color .2s; }
.ca-form:focus-within { border-color: #3a4152; }
.ca-form.ok { border-color: var(--green); }
.ca-form.bad { border-color: var(--amber); }
.ca-form input { flex: 1; min-width: 0; background: transparent; border: 0; color: var(--fg); font: 17px var(--mono); padding: 14px 12px; }
.ca-form input::placeholder { color: var(--dim); font-family: var(--sans); }
.ca-form input:focus { outline: none; }
.btn-primary, .btn { appearance: none; border: 0; border-radius: 12px; font: 600 16px var(--sans); padding: 0 22px; min-height: 48px; cursor: pointer; transition: background-color .2s, opacity .2s; }
.btn-primary { background: var(--fg); color: var(--bg); }
.btn-primary:hover { background: #fff; }
.btn-primary:disabled { opacity: .5; cursor: progress; }
.btn { background: var(--surface-2); color: var(--fg); border: 1px solid var(--line); text-decoration: none; display: inline-flex; align-items: center; }
.btn:hover { background: #222632; }
@media (max-width: 480px) { .ca-form { flex-direction: column; } .ca-form .btn-primary { width: 100%; } }

/* --- feed --- */
.feed { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.feed a { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; padding: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; color: var(--fg); text-decoration: none; transition: border-color .2s; }
.feed a:hover { border-color: #3a4152; }
.feed img, .feed .ph { width: 40px; height: 40px; border-radius: 10px; background: var(--surface-2); object-fit: cover; }
.feed .t { min-width: 0; }
.feed .sym { font-weight: 650; }
.feed .why { color: var(--muted); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.feed .when { color: var(--dim); font-size: 13px; }
.empty { color: var(--dim); }

/* --- stamp pill --- */
.pill { display: inline-block; font: 700 12px/1 var(--sans); letter-spacing: .06em; padding: 6px 9px; border-radius: 999px; text-transform: uppercase; white-space: nowrap; }
.s-red { color: var(--red); background: var(--red-bg); }
.s-caution { color: var(--amber); background: var(--amber-bg); }
.s-clean { color: var(--green); background: var(--green-bg); }
.s-unchecked { color: var(--muted); background: var(--grey-bg); }

/* --- verdict card --- */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; margin-top: 16px; }
.card-head { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: center; padding: 20px; }
.coin-img { width: 56px; height: 56px; border-radius: 14px; background: var(--surface-2); object-fit: cover; }
.coin-name { font-size: 22px; font-weight: 700; letter-spacing: -.01em; margin: 0; overflow-wrap: anywhere; }
.coin-sub { color: var(--muted); font-size: 14px; margin: 2px 0 0; overflow-wrap: anywhere; }
.coin-sub .mono { color: var(--dim); }
.verdict { padding: 18px 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.verdict.v-red { background: var(--red-bg); } .verdict.v-caution { background: var(--amber-bg); } .verdict.v-clean { background: var(--green-bg); } .verdict.v-unchecked { background: var(--grey-bg); }
.stamp { font: 800 clamp(30px, 8vw, 44px)/1 var(--sans); letter-spacing: -.02em; margin: 0 0 8px; }
.v-red .stamp { color: var(--red); } .v-caution .stamp { color: var(--amber); } .v-clean .stamp { color: var(--green); } .v-unchecked .stamp { color: var(--muted); }
.stamp-line { margin: 0 0 10px; color: var(--muted); }
.reasons { margin: 0; padding-left: 18px; color: var(--fg); }
.reasons li { margin: 4px 0; }
.rows { list-style: none; margin: 0; padding: 0; }
.row { padding: 16px 20px; border-bottom: 1px solid var(--line); }
.row-h { display: flex; align-items: center; gap: 10px; justify-content: space-between; }
.row-t { font-weight: 650; margin: 0; font-size: 16px; }
.row-v { font-weight: 600; font-size: 15px; text-align: right; }
.l-red .row-v { color: var(--red); } .l-caution .row-v { color: var(--amber); } .l-ok .row-v { color: var(--green); } .l-none .row-v { color: var(--dim); }
.row-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--dim); }
.l-red .row-dot { background: var(--red); } .l-caution .row-dot { background: var(--amber); } .l-ok .row-dot { background: var(--green); }
.row-name { display: flex; align-items: center; gap: 10px; }
.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px 16px; margin: 10px 0 0; }
.facts div { min-width: 0; }
.facts dt { color: var(--dim); font-size: 13px; }
.facts dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.row-note { color: var(--muted); font-size: 14px; margin: 8px 0 0; }
.asof { color: var(--dim); font-size: 12px; margin: 6px 0 0; }
.sublist { margin: 8px 0 0; padding-left: 18px; color: var(--muted); font-size: 14px; }
.coverage { padding: 16px 20px; }
.coverage h3 { font-size: 15px; margin: 0 0 6px; }
.coverage ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 14px; }
.card-foot { padding: 16px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--dim); font-size: 13px; background: var(--surface-2); }
.card-foot strong { color: var(--fg); }
.actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.btn-link { display: inline-flex; align-items: center; text-decoration: none; }
.prev { font-size: 15px; color: var(--muted); margin: 24px 0 0; }
.pad { padding: 0 20px 20px; margin: 0; }
.sublist a, .facts a { color: var(--accent); }

/* --- progress --- */
.progress { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 16px 20px; margin-top: 16px; }
.progress h2 { font-size: 16px; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 15px; }
.steps li { color: var(--muted); }
.steps li::before { content: "✓ "; color: var(--green); }
.spin { width: 14px; height: 14px; border: 2px solid var(--line); border-top-color: var(--fg); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.notice { border-radius: 12px; padding: 12px 16px; margin-top: 16px; background: var(--amber-bg); color: var(--fg); border: 1px solid rgba(255, 181, 71, .35); }
.notice.err { background: var(--red-bg); border-color: rgba(255, 90, 95, .35); }

/* --- waitlist --- */
.agent { background: linear-gradient(0deg, var(--surface), var(--surface)); border: 1px solid var(--line); border-radius: 20px; padding: 24px 20px; }
.agent .tag { display: inline-block; font: 700 12px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.agent ul { padding-left: 18px; color: var(--muted); margin: 0 0 18px; }
.agent li { margin: 6px 0; }
.agent li strong { color: var(--fg); }
.wl-form { display: flex; gap: 8px; }
.wl-form input { flex: 1; min-width: 0; background: var(--bg); border: 1px solid var(--line); border-radius: 12px; color: var(--fg); font: 16px var(--sans); padding: 0 14px; min-height: 48px; }
@media (max-width: 480px) { .wl-form { flex-direction: column; } }

.foot { max-width: 880px; margin: 0 auto; padding: 24px 20px 48px; color: var(--dim); font-size: 14px; border-top: 1px solid var(--line); }
.foot strong { color: var(--fg); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

.asof-stamp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 10px 0 0; padding: 6px 10px; border: 1px dashed var(--dim); border-radius: 8px; color: var(--dim); font-size: 12px; font-family: "JetBrains Mono", ui-monospace, monospace; }
.asof-stamp.stale { color: #9a3412; border-color: #f59e0b; background: #fffbeb; }
.asof-stamp .btn-recheck { font-size: 12px; padding: 4px 10px; }
.recheck { font-size: 12px; margin-left: 8px; color: var(--dim); white-space: nowrap; }
.chat-log { list-style: none; margin: 12px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 60vh; overflow-y: auto; }
.chat-log .msg { white-space: pre-wrap; padding: 10px 12px; border-radius: 12px; max-width: 85%; font-size: 14px; line-height: 1.45; }
.chat-log .me { align-self: flex-end; background: #7c3aed; color: #fdf8ec; }
.chat-log .bot { align-self: flex-start; background: #fdf8ec; color: #1a1030; border: 1px solid #e9e0c9; }
.chat-form { display: flex; gap: 8px; }
.chat-form input { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--dim); font: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.live { margin: 12px 0; padding: 10px 12px; border: 1px solid #e9e0c9; border-radius: 10px; background: #fdf8ec; }
.live-label { margin: 0 0 6px; font-size: 13px; color: #1a1030; }
.live .checks { color: #7c3aed; font-weight: 600; }

/* ================= Original theme details ================= */
.brand { color: var(--paper); font-size: 1.1rem; }
.brand svg { width: 28px; height: 28px; color: var(--paper); }
.brand b { color: var(--red); font-weight: 800; }
.brand-mark { display: none; }
h1 { font-weight: 800; }
.ca-form, .card, .progress, .agent, .feed a { backdrop-filter: blur(14px); }
.ca-form:focus-within { border-color: var(--accent); }
.btn-primary { background: var(--paper); color: var(--ink); }
.btn:hover { background: rgba(255, 255, 255, .12); }
.feed a:hover, .ca-form:focus-within { border-color: rgba(255, 255, 255, .22); }
.agent .tag, .eyebrow { color: var(--amber); }
/* the verdict block is the paper ticket, scalloped at the bottom, stamp slammed on at an angle */
.verdict { overflow: hidden; }
.verdict, .verdict.v-red, .verdict.v-caution, .verdict.v-clean, .verdict.v-unchecked { background: var(--paper); color: var(--ink); border: 0; position: relative; margin: 0 12px 10px; border-radius: 16px; }
.verdict::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 10px; background: radial-gradient(circle at 8px 12px, var(--bg) 6px, transparent 7px) 0 0 / 16px 10px repeat-x; }
.verdict .stamp { display: inline-block; font: 900 clamp(24px, 6vw, 34px)/1 var(--sans); letter-spacing: .02em; text-transform: uppercase; padding: 10px 16px; border: 5px solid currentColor; border-radius: 12px; transform: rotate(-6deg); margin: 6px 0 14px; animation: slam 420ms cubic-bezier(.2, 1.6, .4, 1) both; }
.v-red .stamp { color: #d3261e; } .v-caution .stamp { color: #b86e00; } .v-clean .stamp { color: #1d7d4c; } .v-unchecked .stamp { color: #555; }
.verdict .stamp-line { color: #5b5a55; }
.verdict .reasons { color: var(--ink); }
.verdict a { color: #1f4fae; }
@keyframes slam { from { opacity: 0; transform: rotate(-6deg) scale(2.2); } to { opacity: 1; transform: rotate(-6deg) scale(1); } }
.empty-card .stamp { color: var(--red); font: 900 44px/1 var(--sans); }
.progress h2 { color: var(--amber); text-transform: uppercase; letter-spacing: .12em; font-size: 13px; }
.spin { border-top-color: var(--amber); }
.card-foot { background: rgba(0, 0, 0, .18); }
/* as-of label, live refresh and chat (added on receipts-upgrades in light colours) re-skinned dark */
.asof-stamp { border-color: rgba(255, 255, 255, .16); }
.asof-stamp.stale { color: var(--amber); border-color: rgba(255, 181, 71, .45); background: var(--amber-bg); }
.verdict .asof-stamp { color: #5b5a55; border-color: #b9b09c; }
.verdict .asof-stamp.stale { color: #8a5200; border-color: #d9961c; background: rgba(217, 150, 28, .12); }
.chat-log .me { background: var(--paper); color: var(--ink); }
.chat-log .bot { background: var(--surface); color: var(--fg); border: 1px solid var(--line); }
.chat-form input { background: rgba(0, 0, 0, .25); color: var(--fg); border: 1px solid var(--line); border-radius: 12px; min-height: 48px; }
.chat-form input:focus-visible { border-color: var(--accent); }
.live { border: 1px solid var(--line); background: var(--surface); border-radius: 12px; }
.live-label { color: var(--muted); }
.live .checks { color: var(--violet); }

/* --- live DD (/dd/<mint>): original run view: eyebrow + meter, stage dots, a log that fills in, paper verdict ticket --- */
.dd-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-top: 28px; }
.dd-head .eyebrow { margin: 0; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; }
.dd-title { margin: 2px 0; font-size: clamp(28px, 6vw, 44px); overflow-wrap: anywhere; }
.dd-mint { margin: 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.dd .meter { font: 600 14px var(--mono); color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; white-space: nowrap; }
.dd-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 14px; margin-top: 18px; }
.dd-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; backdrop-filter: blur(14px); min-width: 0; margin: 0; }
.dd-panel h2 { font-size: 16px; margin: 0 0 4px; }
.dd-stages { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; font-size: 15px; color: var(--muted); }
.dd-stages li { display: flex; align-items: center; gap: 10px; }
.dd-stages .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dim); flex: none; }
.dd-stages li.active { color: var(--fg); } .dd-stages li.active .dot { background: var(--amber); box-shadow: 0 0 0 4px rgba(255, 181, 71, .18); }
.dd-stages li.done { color: var(--fg); } .dd-stages li.done .dot { background: var(--green); }
.dd-log { list-style: none; margin: 10px 0 0; padding: 0; max-height: 52vh; overflow: auto; display: grid; gap: 2px; }
.dd-log li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding: 7px 10px; border-radius: 9px; font-size: 14px; border-left: 3px solid transparent; animation: ddin 260ms ease both; }
.dd-log li:nth-child(odd) { background: rgba(255, 255, 255, .025); }
.dd-log .ts { color: var(--dim); font-size: 12px; padding-top: 2px; }
.dd-log .msg { overflow-wrap: anywhere; }
.dd-log .lv-red { border-left-color: var(--red); background: var(--red-bg); }
.dd-log .lv-caution { border-left-color: var(--amber); background: var(--amber-bg); }
.dd-log .lv-ok { border-left-color: var(--green); }
@keyframes ddin { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.dd-ticket { margin-top: 18px; background: var(--paper); color: var(--ink); border-radius: 18px; overflow: hidden; padding: 24px; position: relative; display: grid; grid-template-columns: 260px 1fr; gap: 8px 24px; align-items: center; }
.dd-ticket::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 10px; background: radial-gradient(circle at 8px 12px, var(--bg) 6px, transparent 7px) 0 0 / 16px 10px repeat-x; }
.dd-ticket .row-note { grid-column: 1 / -1; color: #5b5a55; margin: 6px 0 0; }
.dd-ticket .reasons { color: var(--ink); }
.dd-stamp { justify-self: center; margin: 0; font: 900 30px/1 var(--sans); letter-spacing: .02em; text-transform: uppercase; padding: 14px 18px; border: 6px solid currentColor; border-radius: 12px; text-align: center; transform: rotate(-8deg); animation: slam 420ms cubic-bezier(.2, 1.6, .4, 1) both; }
.dd-stamp.red { color: #d3261e; } .dd-stamp.caution { color: #b86e00; } .dd-stamp.clean { color: #1d7d4c; font-size: 24px; } .dd-stamp.unchecked { color: #555; }
@media (max-width: 720px) { .dd-grid, .dd-ticket { grid-template-columns: 1fr; } .dd-head { flex-direction: column; align-items: start; } }
/* the Re-check link under each recent check (5ddfb57) was picking up the feed's card styles */
.feed a.recheck { display: inline-block; padding: 4px 12px 0; background: none; border: 0; color: var(--accent); font-size: 13px; }
.feed a.recheck:hover { text-decoration: underline; }

/* ===================================================================================================================
   Palette theme (2026-10-22, egg picked draft 13): everything happens in one centred command palette. Warm grey-black
   #141413, palette surface #1d1d1b with a #33322f hairline and a deep drop shadow, one coral accent #ff7a59, Onest for
   text, Fira Code for keys, addresses and numbers. Rows read like palette items: a mono key on the left, the value,
   a quiet detail on the right. Verdicts: REAL green, UNVERIFIED stone, CAUTION amber, LARP / RED coral-red.
   Overrides the original look above; delete this block to roll back.
   =================================================================================================================== */
:root {
  --bg: #141413; --surface: #1d1d1b; --surface-2: #262523; --sel: #2a2926; --line: #33322f; --line-strong: #454440;
  --fg: #ecebe8; --muted: #a9a69f; --dim: #8a877f;
  --accent: #ff7a59; --accent-ink: #1a0d08;
  --red: #ff6b6b; --red-bg: rgb(255 77 77 / .13);
  --amber: #f5b25c; --amber-bg: rgb(245 178 92 / .11);
  --green: #7ee2a8; --green-bg: rgb(126 226 168 / .1);
  --grey-bg: rgb(236 235 232 / .06);
  --violet: #ff7a59; --paper: #ecebe8; --ink: #141413;
  --sans: Onest, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 16px;
  --pal-shadow: 0 40px 80px -30px rgb(0 0 0 / .8), 0 0 0 6px rgb(255 255 255 / .02);
}
html { background: var(--bg); }
body { font: 15px/1.55 var(--sans); color: var(--fg); background: radial-gradient(44rem 24rem at 50% -4rem, rgb(255 122 89 / .1), transparent 70%) no-repeat, var(--bg); }
::selection { background: rgb(255 122 89 / .3); }
a { color: var(--accent); text-decoration-color: rgb(255 122 89 / .4); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 8px; }
h1, h2, h3 { font-family: var(--sans); letter-spacing: -.02em; }
.hl { color: var(--accent); }
kbd { font: 500 11px var(--mono); border: 1px solid var(--line-strong); border-bottom-width: 2px; border-radius: 5px; padding: 0 5px; color: inherit; opacity: .8; }

/* header: quiet, one line */
.top { max-width: none; padding: 16px max(20px, calc((100vw - 1040px) / 2)); position: static; height: auto; background: none; border: 0; }
.brand { font: 600 16px var(--sans); color: var(--fg); letter-spacing: -.01em; gap: 9px; }
.brand svg { width: 22px; height: 22px; color: var(--accent); }
.brand b { color: var(--muted); font-weight: 500; }
.top nav a { color: var(--muted); font-size: 14px; padding: 8px 10px; border-radius: 8px; }
.top nav a:hover { color: var(--fg); background: var(--surface-2); }
main { max-width: 800px; padding: 0 20px 48px; }
.foot { max-width: 800px; border-top: 1px solid var(--line); color: var(--dim); font-size: 13px; }
.foot strong { color: var(--fg); }

/* the palette */
.hero { text-align: center; margin-top: 44px; }
.hero h1 { font: 600 clamp(30px, 5vw, 40px)/1.15 var(--sans); margin: 0 0 8px; }
.lede { color: var(--muted); font-size: 16px; margin: 0 auto 26px; max-width: 54ch; }
.pal, .card, .progress, .dd-panel, .dd-ticket, .agent { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--pal-shadow); backdrop-filter: none; text-align: left; overflow: hidden; }
.pal-q, .ca-form { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 18px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; }
.ca-form:focus-within { box-shadow: inset 0 -2px 0 var(--accent); }
.ca-form.ok { box-shadow: inset 0 -2px 0 var(--green); } .ca-form.bad { box-shadow: inset 0 -2px 0 var(--amber); }
.pal-cmd { font: 500 13px var(--mono); color: var(--accent); }
.ca-form input { flex: 1; min-width: 0; padding: 10px 0; font: 15px var(--mono); color: #fff; background: none; border: 0; }
.ca-form input::placeholder { color: var(--dim); font-family: var(--sans); }
.btn-primary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--accent); color: var(--accent-ink); font: 600 15px var(--sans); box-shadow: none; text-shadow: none; cursor: pointer; transition: filter 150ms ease; }
.btn-primary:hover:not(:disabled) { filter: brightness(1.08); background: var(--accent); }
.btn-primary kbd { border-color: rgb(26 13 8 / .35); }
.btn { min-height: 44px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface-2); color: var(--fg); font: 500 15px var(--sans); box-shadow: none; cursor: pointer; }
.btn:hover { background: var(--sel); border-color: var(--line-strong); }
.pal-grp { padding: 8px; }
.pal-h, .dd-panel h2, .coverage h3, .progress h2 { margin: 6px 10px 6px; font: 500 11px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.pal-foot { margin: 0; padding: 10px 18px; border-top: 1px solid var(--line); font-size: 12px; color: var(--dim); min-height: 0; }
section > h2::before { display: none; }

/* recent checks as palette items */
.feed { gap: 2px; }
.feed li { list-style: none; display: flex; align-items: center; gap: 4px; }
.feed li > a:first-child { flex: 1; min-width: 0; }
.feed .why { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.feed a { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 9px 10px; border: 0; border-radius: 10px; background: none; box-shadow: none; transform: none; color: var(--fg); }
.feed a:hover, .feed a:focus-visible { background: var(--sel); transform: none; box-shadow: none; }
.feed img, .feed .ph { width: 32px; height: 32px; border-radius: 8px; background: var(--surface-2); }
.feed .sym { font: 600 15px var(--sans); }
.feed .why { font-size: 13px; color: var(--muted); }
.feed .when { font: 12px var(--mono); color: var(--dim); }
.feed a.recheck { display: inline-block; flex: none; padding: 6px 10px; white-space: nowrap; font: 12px var(--mono); color: var(--dim); background: none; }
.feed a.recheck:hover { color: var(--accent); background: none; }
.empty { padding: 10px; }

/* verdict chips */
.vb, .pill { display: inline-flex; align-items: center; gap: 6px; font: 600 12px var(--mono); letter-spacing: .02em; text-transform: uppercase; padding: 4px 9px; border-radius: 7px; border: 0; }
.vb::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: none; }
.pill { font-size: 11px; padding: 3px 8px; }
.vb-real, .vb-clean, .s-clean { color: var(--green); background: var(--green-bg); }
.vb-unverified, .vb-unchecked, .s-unchecked { color: #cfccc5; background: var(--grey-bg); }
.vb-larp, .vb-red, .s-red { color: var(--red); background: var(--red-bg); }
.vb-caution, .s-caution { color: var(--amber); background: var(--amber-bg); }
.legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0 0; padding: 0; text-align: left; }
.legend li { list-style: none; background: #1a1a18; border: 1px solid var(--line); border-radius: 12px; padding: 14px; box-shadow: none; backdrop-filter: none; }
.legend p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

/* coin card: a palette that opened on one coin */
.card { margin-top: 20px; }
.card-head { grid-template-columns: 44px 1fr; padding: 16px 18px; background: none; border-bottom: 1px solid var(--line); }
.card-head > div:only-child { grid-column: 1 / -1; }
.coin-img { width: 44px; height: 44px; border-radius: 10px; background: var(--surface-2); border: 0; }
.coin-name { font: 600 24px var(--sans); letter-spacing: -.02em; }
.coin-sub { color: var(--muted); font-size: 13px; } .coin-sub .mono { font-family: var(--mono); color: var(--dim); }
.asof-stamp { margin: 10px 12px 0; border: 1px solid var(--line); border-radius: 10px; color: var(--dim); font: 12px var(--mono); background: none; }
.asof-stamp.stale { color: var(--amber); border-color: rgb(245 178 92 / .35); background: var(--amber-bg); }
.verdict, .verdict.v-red, .verdict.v-caution, .verdict.v-clean, .verdict.v-unchecked { margin: 10px 12px; padding: 18px; border-radius: 12px; border: 1px solid var(--line); background: #1a1a18; color: var(--fg); }
.verdict::after { display: none; }
.verdict.v-red { background: linear-gradient(90deg, rgb(255 77 77 / .16), rgb(255 77 77 / .02)); border-color: rgb(255 107 107 / .35); }
.verdict.v-caution { background: linear-gradient(90deg, rgb(245 178 92 / .14), rgb(245 178 92 / .02)); border-color: rgb(245 178 92 / .35); }
.verdict.v-clean { background: linear-gradient(90deg, rgb(126 226 168 / .12), rgb(126 226 168 / .02)); border-color: rgb(126 226 168 / .3); }
.verdict .stamp, .dd-stamp { display: inline-block; font: 700 clamp(32px, 7vw, 44px)/1 var(--sans); letter-spacing: -.02em; text-transform: uppercase; border: 0; padding: 0; margin: 0 0 8px; transform: none; text-shadow: none; animation: rise 260ms ease both; }
@keyframes rise { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.v-red .stamp, .dd-stamp.red { color: var(--red); } .v-caution .stamp, .dd-stamp.caution { color: var(--amber); }
.v-clean .stamp, .dd-stamp.clean { color: var(--green); } .v-unchecked .stamp, .dd-stamp.unchecked { color: #cfccc5; }
.verdict .stamp-line { color: #e6c9c4; } .v-clean .stamp-line { color: var(--muted); } .verdict .reasons { color: var(--fg); font-size: 14px; } .verdict a { color: var(--accent); }
.story { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 12px 10px; padding: 12px 14px; border-radius: 12px; background: #1a1a18; border: 1px solid var(--line); box-shadow: none; backdrop-filter: none; }
.story .lbl { font: 500 11px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.story .vb { font-size: 14px; padding: 5px 11px; }
.story .why { color: var(--muted); font-size: 14px; flex: 1 1 240px; }
.rows { padding: 4px 8px 8px; }
.row { padding: 12px 10px; border: 0; border-radius: 10px; }
.row + .row { border-top: 1px solid var(--line); border-radius: 0; }
.row:hover { background: var(--sel); border-radius: 10px; }
.row-t { font: 500 13px var(--mono); color: var(--muted); }
.row-v { font: 600 14px var(--sans); }
.l-red .row-v { color: var(--red); } .l-caution .row-v { color: var(--amber); } .l-ok .row-v { color: var(--green); } .l-none .row-v { color: var(--dim); }
.row-dot { width: 7px; height: 7px; }
.l-red .row-dot { background: var(--red); } .l-caution .row-dot { background: var(--amber); } .l-ok .row-dot { background: var(--green); }
.facts { gap: 8px 18px; }
.facts dt { font: 11px var(--mono); color: var(--dim); text-transform: none; letter-spacing: 0; }
.facts dd { font: 500 14px var(--mono); color: var(--fg); }
.row-note, .sublist { color: var(--muted); font-size: 13px; }
.asof { font: 11px var(--mono); color: var(--dim); }
.coverage { border-top: 1px solid var(--line); padding: 12px 18px; }
.coverage ul { font-size: 13px; color: var(--muted); }
.card-foot { background: none; border-top: 1px solid var(--line); padding: 10px 18px; font-size: 12px; color: var(--dim); }
.card-foot strong { color: var(--fg); }
.actions { gap: 8px; }
.empty-card .stamp { font: 700 56px/1 var(--mono); color: var(--accent); background: none; -webkit-background-clip: border-box; background-clip: border-box; }
.live { background: #1a1a18; border: 1px solid var(--line); border-radius: 12px; }
.live .checks { color: var(--accent); }
.notice { background: var(--amber-bg); border: 1px solid rgb(245 178 92 / .35); border-radius: 12px; color: var(--fg); box-shadow: none; }
.notice.err { background: var(--red-bg); border-color: rgb(255 107 107 / .35); }

/* live DD: the palette streams its own log */
.dd-head { margin-top: 28px; align-items: end; }
.dd-head .eyebrow { font: 500 12px var(--mono); color: var(--accent); letter-spacing: 0; text-transform: none; border: 0; background: none; padding: 0; }
.dd-title { font: 600 clamp(28px, 5vw, 38px) var(--sans); letter-spacing: -.02em; }
.dd-mint { font: 12px var(--mono); color: var(--dim); }
.dd .meter { font: 500 13px var(--mono); color: var(--fg); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; }
.dd-grid { grid-template-columns: 200px minmax(0, 1fr); gap: 12px; }
.dd-panel { padding: 12px; border-radius: 14px; }
.dd-stages { gap: 4px; font-size: 14px; }
.dd-stages li { padding: 6px 8px; border-radius: 8px; }
.dd-stages li.active { background: var(--sel); }
.dd-stages .dot { width: 7px; height: 7px; background: var(--line-strong); }
.dd-stages li.active .dot { background: var(--accent); box-shadow: 0 0 0 4px rgb(255 122 89 / .18); animation: pulse-dot 1.4s ease-in-out infinite; }
.dd-stages li.done .dot { background: var(--green); }
@keyframes pulse-dot { 50% { opacity: .35; } }
.dd-log { max-height: 56vh; gap: 0; }
.dd-log li { grid-template-columns: 52px minmax(0, 1fr); padding: 8px 10px; border-radius: 8px; border-left: 2px solid transparent; font-size: 14px; }
.dd-log li:nth-child(odd) { background: none; }
.dd-log li:hover { background: var(--sel); }
.dd-log .ts { font: 12px var(--mono); color: var(--dim); }
.dd-log .lv-red { border-left-color: var(--red); background: var(--red-bg); } .dd-log .lv-caution { border-left-color: var(--amber); background: var(--amber-bg); } .dd-log .lv-ok { border-left-color: var(--green); }
.dd-ticket { margin-top: 14px; padding: 20px; grid-template-columns: 220px 1fr; color: var(--fg); }
.dd-ticket::after { display: none; }
.dd-ticket .reasons { color: var(--fg); font-size: 14px; } .dd-ticket .row-note { color: var(--muted); font-size: 13px; }

/* agent waitlist + chat */
.agent { padding: 20px; margin-top: 40px; }
.agent .tag { font: 500 11px var(--mono); color: var(--accent); border: 1px solid rgb(255 122 89 / .35); border-radius: 6px; padding: 2px 8px; background: none; letter-spacing: 0; text-transform: none; }
.agent h2 { font-size: 22px; }
.wl-form input, .chat-form input { background: var(--bg); border: 1px solid var(--line-strong); border-radius: 10px; color: var(--fg); font: 15px var(--sans); min-height: 44px; padding: 0 12px; }
.chat-log { padding: 0 12px; }
.chat-log .msg { font-size: 14px; border-radius: 10px; }
.chat-log .me { background: var(--accent); color: var(--accent-ink); border: 0; }
.chat-log .bot { background: var(--sel); color: var(--fg); border: 1px solid var(--line); }
.chat-form { padding: 12px; border-top: 1px solid var(--line); }

/* phones: the palette goes full width, rows stack, no hover-only affordances */
@media (max-width: 640px) {
  .top { flex-wrap: wrap; gap: 4px; padding: 12px 16px; }
  .top nav { margin-left: -10px; } .top nav a { padding: 8px 10px; font-size: 14px; }
  main { padding: 0 12px 32px; }
  .hero { margin-top: 20px; } .hero h1 { font-size: 30px; }
  .lede { font-size: 15px; margin-bottom: 18px; }
  .pal-q { flex-wrap: wrap; padding: 10px 12px; gap: 6px 10px; }
  .pal-q input { flex: 1 1 100%; order: 2; font-size: 16px; }
  .pal-cmd { order: 1; } .pal-q .btn-primary { order: 3; width: 100%; justify-content: center; }
  .feed a { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; } .feed a.recheck { padding: 6px 4px; }
  .legend { grid-template-columns: 1fr; }
  .verdict { margin: 8px; } .story { margin: 0 8px 8px; }
  .row-h { flex-wrap: wrap; } .row-v { text-align: left; }
  .facts { grid-template-columns: 1fr 1fr; }
  .dd-grid, .dd-ticket { grid-template-columns: 1fr; }
  .dd-stages { grid-template-columns: 1fr 1fr; display: grid; }
  .dd-log li { grid-template-columns: 40px minmax(0, 1fr); }
  .dd-head { flex-direction: column; align-items: start; }
  .actions .btn, .actions .btn-primary { flex: 1 1 100%; justify-content: center; }
  .wl-form { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .dd-stages li.active .dot, .verdict .stamp, .dd-stamp { animation: none; } }

/* ===== Landing page (2026-10-22): hero, how it works, real-receipt showcase, recent checks below ===== */
.land { padding-top: 56px; text-align: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 999px; font: 12px var(--mono); color: var(--muted); background: var(--surface); }
.eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgb(255 122 89 / .18); }
.land h1 { font-size: clamp(36px, 6.4vw, 64px); line-height: 1.02; letter-spacing: -.035em; max-width: 15ch; margin: 0 auto 18px; text-wrap: balance; }
.land .lede { max-width: 58ch; margin: 0 auto 30px; font-size: 17px; line-height: 1.55; color: var(--muted); text-wrap: pretty; }
.pal-hero { max-width: 680px; margin: 0 auto; text-align: left; }
.proof { min-height: 1.5em; margin: 18px 0 0; font: 12.5px var(--mono); color: var(--dim); }
.sec-h { font-size: 13px; font-family: var(--mono); font-weight: 500; letter-spacing: .02em; color: var(--accent); margin: 0 0 6px; text-transform: none; }
.sec-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin-bottom: 18px; }
.sec-sub { margin: 0; color: var(--muted); font-size: 14px; }
.how, .show, .recent { max-width: 960px; margin: 88px auto 0; }
.steps { list-style: none; padding: 0; margin: 14px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.steps li { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.steps .n { font: 500 12px var(--mono); color: var(--accent); }
.steps h3 { margin: 10px 0 6px; font-size: 18px; letter-spacing: -.01em; }
.steps p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.show-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.show-grid .empty { color: var(--dim); }
.sc { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--fg); text-decoration: none; transition: border-color .15s, background .15s; }
.sc:hover, .sc:focus-visible { border-color: var(--line-strong); background: var(--sel); }
.sc-head { display: flex; align-items: center; gap: 12px; }
.sc-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sc .sym { font: 600 18px var(--sans); letter-spacing: -.01em; }
.sc-pick { font: 12px var(--mono); color: var(--dim); }
.sc-why { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; flex: 1; }
.sc-foot { font: 12px var(--mono); color: var(--dim); }
.sc:hover .sc-foot { color: var(--accent); }
.legends { margin-top: 22px; }
.show .legend { margin: 0; }
.recent.pal { padding: 6px; }
.recent .pal-foot a { color: var(--accent); text-decoration: none; }
/* coin picture with a ticker monogram underneath: never an empty box */
.av { position: relative; display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 9px; overflow: hidden; background: linear-gradient(135deg, #34302b, #24221f); border: 1px solid var(--line); }
.sc .av { width: 44px; height: 44px; border-radius: 12px; }
.av .mono { font: 600 11px var(--mono); color: #d9c7bd; letter-spacing: .02em; }
.sc .av .mono { font-size: 14px; }
.av img, .feed .av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: none; border-radius: 0; }
/* descriptive labels: text first, colour second */
.lbls { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; justify-content: flex-end; }
.sc .lbls { justify-content: flex-start; }
.lbl, .kind { display: inline-block; padding: 3px 8px; border-radius: 6px; font: 500 11px var(--mono); letter-spacing: .02em; white-space: nowrap; border: 1px solid transparent; }
.kind { color: var(--muted); border-color: var(--line-strong); background: none; }
.k-tech { color: #cdb8ff; border-color: rgb(205 184 255 / .35); }
.l-red { color: var(--red); background: var(--red-bg); }
.l-caution { color: var(--amber); background: var(--amber-bg); }
.l-ok { color: var(--green); background: var(--green-bg); }
.l-none { color: var(--dim); background: var(--grey-bg); }
.feed .lbls .kind { display: none; }
.feed .lbls { max-width: 260px; }
@media (max-width: 760px) {
  .steps, .show-grid { grid-template-columns: 1fr; }
  .how, .show, .recent { margin-top: 56px; }
}
@media (max-width: 640px) {
  .land { padding-top: 28px; }
  .land .lede { font-size: 15.5px; }
  .feed li > a:first-child { grid-template-columns: 28px minmax(0, 1fr); }
  .feed li > a:first-child .lbls { grid-column: 2; justify-content: flex-start; max-width: none; }
  .feed .av { width: 28px; height: 28px; }
}
.coin-mono { display: inline-grid; place-items: center; font: 600 18px var(--mono); color: #d9c7bd; background: linear-gradient(135deg, #34302b, #24221f); }
.card-lbls { display: flex; justify-content: flex-start; margin: 10px 0 4px; }
.card-lbls .lbl { font-size: 12px; padding: 4px 9px; }

/* ===== Stream first + visuals (2026-10-22) ===== */
/* recorded stream panel (coin card) and hero replay share the log look */
.rec-stream, .hero-stream { border: 1px solid var(--line); border-radius: 14px; background: #121211; margin: 14px 0; overflow: hidden; }
.rec-top, .hs-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--surface); }
.rec-top h2, .hs-top h2 { margin: 0; font: 600 14px var(--sans); display: inline-flex; align-items: center; gap: 8px; flex: 1; min-width: 0; letter-spacing: 0; text-transform: none; color: var(--fg); }
.rec-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); flex: none; }
.playing .rec-dot, .hero-stream .rec-dot { animation: recpulse 1.4s ease-in-out infinite; }
@keyframes recpulse { 50% { box-shadow: 0 0 0 5px rgb(255 122 89 / .2); opacity: .6; } }
.rec-meta, .hs-meta { font-size: 12px; color: var(--dim); }
.hs-open { font: 12px var(--mono); color: var(--accent); text-decoration: none; }
.btn-sm { padding: 6px 12px; font-size: 13px; }
.rec-log { list-style: none; margin: 0; padding: 8px 6px; max-height: 300px; overflow: auto; scroll-behavior: smooth; }
.hs-log { height: 236px; max-height: none; text-align: left; }
.rec-log li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 5px 8px; border-left: 2px solid transparent; border-radius: 4px; font-size: 13.5px; line-height: 1.45; }
.rec-log li.pending { display: none; }
.rec-log li.landed { animation: land .35s ease-out; }
@keyframes land { from { opacity: 0; transform: translateY(4px); } }
.rec-log .rt { color: var(--dim); font-size: 11.5px; padding-top: 2px; }
.rec-log .lv-red { border-left-color: var(--red); background: var(--red-bg); }
.rec-log .lv-caution { border-left-color: var(--amber); background: var(--amber-bg); }
.rec-log .lv-ok .rx { color: var(--green); }
.hero-stream { max-width: 680px; margin: 18px auto 0; box-shadow: var(--pal-shadow); }
@media (prefers-reduced-motion: reduce) { .rec-log li.landed, .playing .rec-dot, .hero-stream .rec-dot { animation: none; } }

/* descriptive verdict (replaces the big stamp) */
.v-top { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.v-main { display: flex; align-items: center; gap: 12px; margin: 0; font: 700 clamp(28px, 5vw, 40px) / 1.05 var(--sans); letter-spacing: -.02em; }
.v-main.l-red { color: var(--red); } .v-main.l-caution { color: var(--amber); } .v-main.l-ok { color: var(--green); } .v-main.l-none { color: var(--dim); }
.v-help { margin: 6px 0 4px; color: var(--fg); font-size: 15px; }
.stamp-small { margin: 10px 0 0; font-size: 12.5px; color: var(--dim); }
.verdict .stamp-small .stamp { display: inline; font: 600 12.5px var(--mono); color: var(--muted); letter-spacing: 0; margin: 0; padding: 0; border: 0; transform: none; animation: none; text-transform: none; }
.verdict .stamp-small .stamp-line { font-size: 12.5px; color: var(--dim); }
.glyph { width: 1em; height: 1em; flex: none; }
.glyph path:first-child, .glyph circle { fill: currentColor; opacity: .18; stroke: currentColor; stroke-width: 1.4; }
.glyph .gx { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: 1; }
.k-meme { color: var(--muted); }

/* charts */
.viz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.viz { margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); min-width: 0; }
.viz figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; margin-bottom: 10px; font-size: 13.5px; }
.viz figcaption span { font: 11.5px var(--mono); color: var(--dim); }
.chart { display: block; width: 100%; height: auto; overflow: visible; }
.chart .vt { fill: var(--muted); font: 15px var(--sans); }
.chart .vt.small { fill: var(--dim); font: 12.5px var(--mono); }
.chart .track { fill: #262523; }
.chart .axis { stroke: var(--line-strong); stroke-width: 1; }
.chart .node { fill: #232220; stroke: var(--line-strong); }
.c-dev { fill: #cdb8ff; stroke: #cdb8ff; } .c-bundle { fill: var(--accent); stroke: var(--accent); }
.c-sold { fill: var(--red); stroke: var(--red); } .c-moved { fill: var(--amber); stroke: var(--amber); }
.c-held { fill: var(--green); stroke: var(--green); } .c-top { fill: #8ab4ff; stroke: #8ab4ff; }
.flow { fill: none; opacity: .45; }
.c-sold-n { stroke: var(--red); } .c-moved-n { stroke: var(--amber); } .c-held-n { stroke: var(--green); }
.viz-key { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 11.5px; color: var(--dim); }
.viz-key .k { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.viz-key .k.c-dev { background: #cdb8ff; } .viz-key .k.c-bundle { background: var(--accent); } .viz-key .k.c-sold { background: var(--red); }
.viz-key .k.c-moved { background: var(--amber); } .viz-key .k.c-held { background: var(--green); } .viz-key .k.c-top { background: #8ab4ff; }

/* recent checks: sparkline + labels on the right */
.feed .side { display: flex; align-items: center; gap: 10px; justify-content: flex-end; }
.spark { width: 64px; height: 22px; flex: none; }
.spark polyline { stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.spark.up polyline { stroke: var(--green); } .spark.down polyline { stroke: var(--red); }

@media (max-width: 760px) { .viz-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .hs-log { height: 260px; }
  .rec-log li { grid-template-columns: 44px minmax(0, 1fr); font-size: 13px; }
  .feed li > a:first-child .side { grid-column: 2; justify-content: flex-start; }
  .chart .vt { font-size: 16px; } .chart .vt.small { font-size: 13px; }
}
/* DD finished panel = the coin card's descriptive verdict (no big stamp anywhere) */
.dd-ticket.verdict { display: block; }
.dd-ticket .reasons { margin: 12px 0 0; }
.dd-ticket .row-note { margin-top: 12px; }

/* Research browser screen on /dd (live CDP screencast, keyframes in replays) */
.dd-screen { grid-column: 1 / -1; }
.dd-screen .screen { margin: 6px 0 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #05070d; aspect-ratio: 16 / 10; position: relative; }
.dd-screen img { display: block; width: 100%; height: 100%; object-fit: contain; }
.dd-screen figcaption { position: absolute; left: 10px; bottom: 8px; padding: 3px 8px; border-radius: 999px; background: rgba(5,7,13,.72); color: var(--dim); font-size: 11px; }
.live-dot { margin-left: 8px; padding: 1px 7px; border-radius: 999px; font-size: 10px; letter-spacing: .08em; color: #ff6b8a; border: 1px solid currentColor; }
.dd-log li.is-browser .msg { color: var(--text, inherit); }

/* Recorded browser screen on the coin card */
.rec-stream.has-screen { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 12px; }
.rec-stream.has-screen .rec-top { grid-column: 1 / -1; }
.rec-screen { margin: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #05070d; aspect-ratio: 16 / 10; position: relative; }
.rec-screen img, .rec-screen video { display: block; width: 100%; height: 100%; object-fit: contain; }
.rec-screen figcaption { position: absolute; left: 10px; bottom: 8px; padding: 3px 8px; border-radius: 999px; background: rgba(5,7,13,.72); color: var(--dim); font-size: 11px; }
@media (max-width: 720px) { .rec-stream.has-screen { grid-template-columns: 1fr; } }

/* /dd layout: live browser first, full width, above the fold; log beside stages as a wide column */
.dd > .dd-screen { margin-top: 14px; }
.dd > .tech-verdict { margin: 10px 0 0; }
.dd-screen .screen { aspect-ratio: auto; height: min(60vh, 46vw); display: grid; place-items: center; }
.dd-screen .screen-wait { color: var(--dim); font: 13px var(--mono); padding: 20px; text-align: center; }
.dd-screen img[hidden] { display: none; }
.dd-grid > .dd-panel:last-child { grid-column: auto; }
.dd-log .msg { overflow-wrap: break-word; word-break: normal; }
main.dd { max-width: 1200px; }
.dd .dd-head { margin-top: 16px; }

/* Landing: check box and education (web/v2/index.html) */
.check { margin-top: 28px; }
.check .sec-h { padding: 12px 14px 0; }
.learn-list { display: grid; gap: 14px; }
.learn-item { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.learn-item h3 { margin: 0 0 8px; font-size: 18px; }
.learn-item p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.learn-item code { font: 12.5px var(--mono); }

/* ===== Landing cleanup (2026-10-23): ink cards instead of paper blocks, one width for every section ===== */
.land-page main { max-width: 1040px; }
.land-page { --land-w: 960px; --card: #1b1b1a; --card-line: rgb(244 241 232 / .09); }
.land-page .check, .land-page .how, .land-page .show { max-width: var(--land-w); margin: 136px auto 0; }
.land-page .check { margin-top: 56px; }
.land-page .sec-h { display: flex; margin: 0 0 22px; padding: 0; font-size: 13px; }
.land-page .sec-top { margin-bottom: 26px; }
.land-page .sec-top .sec-h { margin: 0; }
.land-page .sec-sub { font-size: 15px; max-width: 60ch; }
/* ink cards: a step lighter than the page, hairline border, paper text */
.land-page .how .steps li, .land-page .learn-item, .land-page .legend li {
  --bg: #141414; --surface: var(--card); --surface-2: #262624; --line: var(--card-line); --line-strong: #4a4843;
  --fg: #f4f1e8; --muted: #c9c4b8; --dim: #a29d92; --on-fg: #141414; --link: #f4f1e8;
  --red: #ff7b72; --red-bg: rgb(210 38 31 / .18); --amber: #e2a54a; --amber-bg: rgb(183 121 31 / .18);
  --green: #f4f1e8; --green-bg: rgb(244 241 232 / .08); --grey-bg: rgb(244 241 232 / .06);
  color-scheme: dark; color: var(--fg); background: var(--card); border: 1px solid var(--card-line); border-radius: 6px;
}
.land-page .steps { gap: 18px; margin: 0; }
.land-page .how .steps li { padding: 28px 26px; }
.land-page .how .steps li::before { content: none; }
.land-page .how .steps h3 { margin: 14px 0 8px; font-size: 26px; line-height: 1.15; }
.land-page .how .steps p { font-size: 16px; line-height: 1.5; color: var(--muted); }
.land-page .learn-how { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.land-page .learn-list { gap: 18px; }
.land-page .learn-item { padding: 26px; }
.land-page .learn-item h3 { font-size: 24px; margin: 0 0 10px; }
.land-page .learn-item p { font-size: 15.5px; line-height: 1.6; }
.land-page .legend li { padding: 22px; }
.land-page .show .actions { margin-top: 26px; }
/* the check input: a dark field, a clear focus ring, small helper text */
.land-page .ca-form { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 20px; background: var(--card); border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.land-page .ca-form:hover { border-color: #5c5a54; }
.land-page .ca-form:focus-within { border-color: var(--pt-paper); box-shadow: 0 0 0 3px rgb(244 241 232 / .14); }
.land-page .ca-form.ok { border-color: var(--pt-paper); box-shadow: none; }
.land-page .ca-form.bad { border-color: var(--pt-amber); box-shadow: none; }
.land-page .ca-form input { padding: 14px 0; font-size: 16px; color: var(--pt-paper); background: none; }
.land-page .ca-form input:focus-visible { outline: none; }
.land-page .ca-form .btn-primary { min-height: 48px; padding: 0 20px; }
.land-page .check .hint { margin: 12px 2px 0; font: 12.5px var(--mono); color: var(--dim); }
@media (max-width: 760px) {
  .land-page .check, .land-page .how, .land-page .show { margin-top: 88px; }
  .land-page .check { margin-top: 36px; }
  .land-page .learn-how { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .land-page .ca-form { padding: 8px; } .land-page .ca-form input { padding: 12px; } }
/* hero (2026-10-23): example receipt beside the headline, faint funder→fresh-wallet graph, red glow and paper grain */
.land-page .hero.land { position: relative; isolation: isolate; max-width: var(--land-w); margin-left: auto; margin-right: auto; }
.hero-bg { position: absolute; inset: -40px 0 -60px; z-index: -1; overflow: hidden; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 62% 62% at 50% 48%, #000 25%, transparent 88%); mask-image: radial-gradient(ellipse 62% 62% at 50% 48%, #000 25%, transparent 88%); }
.hero-bg::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 50% 55% at 68% 48%, rgb(210 38 31 / .16), transparent 70%); }
.hero-bg::after { content: ""; position: absolute; inset: 0; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hero-graph { position: absolute; inset: -4%; width: 108%; height: 108%; opacity: .09; animation: hgDrift 38s ease-in-out infinite alternate; }
.hero-graph .hg-edges path { fill: none; stroke: var(--pt-paper); stroke-width: 1; stroke-dasharray: 2 5; }
.hero-graph .hg-fresh circle { fill: var(--pt-paper); }
.hero-graph .hg-funder { fill: var(--pt-red); stroke: var(--pt-paper); stroke-width: 2; }
@keyframes hgDrift { from { transform: translate3d(-10px, -6px, 0) rotate(-.6deg); } to { transform: translate3d(12px, 8px, 0) rotate(.6deg); } }
.hero-copy { position: relative; }
/* the receipt: off-white thermal paper, ink mono lines, torn bottom edge, slightly tilted */
.hero-receipt { --rc-stamp: var(--pt-red); position: relative; width: min(100%, 300px); margin: 34px auto 0; transform: rotate(2.4deg); text-align: left; }
.hero-receipt[data-variant="real"], .hero-receipt.rc-real { --rc-stamp: #2f7d4f; }
.rc-paper { position: relative; padding: 20px 20px 26px; color: var(--pt-ink); background: var(--pt-paper); font: 12.5px/1.5 var(--mono); box-shadow: 0 18px 40px rgb(0 0 0 / .45), 0 2px 0 rgb(0 0 0 / .2);
  -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 12px 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 12px 100%; }
.rc-ex { position: absolute; top: 10px; right: 12px; margin: 0; padding: 2px 7px; border: 1px solid var(--pt-ink); border-radius: 3px; font: 600 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.rc-head { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px dashed var(--pt-graphite); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rc-lines { list-style: none; margin: 0; padding: 0; }
.rc-line { display: flex; align-items: baseline; gap: 6px; padding: 3px 0; }
.rc-line i { flex: 1; border-bottom: 1px dotted var(--pt-graphite); transform: translateY(-3px); }
.rc-line b { font-weight: 600; white-space: nowrap; }
.rc-stamp { width: fit-content; margin: 14px 6px 0 auto; padding: 2px 12px; color: var(--rc-stamp); border: 3px solid currentColor; border-radius: 4px; font: 700 30px/1.1 var(--display); letter-spacing: .06em; transform: rotate(-12deg); mix-blend-mode: multiply; opacity: .92; }
.rc-w-real, .hero-receipt[data-variant="real"] .rc-w-larp, .hero-receipt.rc-real .rc-w-larp { display: none; }
.hero-receipt[data-variant="real"] .rc-w-real, .hero-receipt.rc-real .rc-w-real { display: inline; }
.rc-cap { margin: 10px 0 0; font: 11.5px var(--mono); color: var(--dim); text-align: center; transform: rotate(-2.4deg); }
/* printing: added by home.js on load; without it (no JS) the receipt shows fully printed */
.rc-print .rc-head, .rc-print .rc-line { animation: rcLine .32s ease-out both; }
.rc-print .rc-head { animation-delay: .25s; }
.rc-print .rc-line:nth-child(1) { animation-delay: .65s; }
.rc-print .rc-line:nth-child(2) { animation-delay: 1.05s; }
.rc-print .rc-line:nth-child(3) { animation-delay: 1.45s; }
.rc-print .rc-line:nth-child(4) { animation-delay: 1.85s; }
.rc-print .rc-line:nth-child(5) { animation-delay: 2.25s; }
.rc-print .rc-stamp { animation: rcStamp .38s cubic-bezier(.2, 1.6, .4, 1) 2.95s both; }
.rc-print .rc-paper { animation: rcFeed 2.6s ease-out both; }
@keyframes rcLine { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@keyframes rcStamp { from { opacity: 0; transform: rotate(-20deg) scale(1.9); } to { opacity: .92; transform: rotate(-12deg) scale(1); } }
@keyframes rcFeed { from { translate: 0 -10px; } to { translate: 0 0; } }
@media (min-width: 861px) {
  .land-page .hero.land { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: center; text-align: left; }
  .land-page .hero.land h1, .land-page .hero.land .lede { margin-left: 0; }
  .hero-receipt { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-graph { animation: none; }
  .rc-print .rc-paper, .rc-print .rc-head, .rc-print .rc-line, .rc-print .rc-stamp { animation: none; }
  .rc-stamp { opacity: .92; }
}

/* /dd: the finished verdict reads as a solid card (its red/amber tint sits on paper, never on the ink page) */
.dd-ticket.verdict.v-red { background: color-mix(in srgb, var(--pt-red, #d2261f) 8%, #fffdf7); }
.dd-ticket.verdict.v-caution { background: color-mix(in srgb, var(--pt-amber, #b7791f) 13%, #fffdf7); }
.dd-ticket.verdict.v-clean, .dd-ticket.verdict.v-unchecked { background: #fffdf7; }
.dd-sub { margin: -8px 0 6px; font-size: 12.5px; color: var(--dim); }
