:root {
  --ink: #0f1115;
  --text: #1e293b;
  --muted: #64748b;
  --line: rgba(15, 23, 42, .1);
  --bg: #ffffff;
  --bg-soft: #f5f7fb;
  --blue: #5e8bf0;
  --blue-d: #2f5fd0;
  --pass: #15803d;
  --pass-bg: #e9f7ee;
  --warn: #b45309;
  --warn-bg: #fdf3e2;
  --fail: #c2262e;
  --fail-bg: #fdecec;
  --info: #475569;
  --info-bg: #eef1f5;
  --term-bg: #0d1117;
  --term-line: #232a35;
  --term-text: #d6deeb;
  --term-dim: #8b98a9;
  --radius: 14px;
  --shadow: 0 12px 32px -14px rgba(15, 23, 42, .22);
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 16px/1.6 'Inter', system-ui, -apple-system, sans-serif;
  letter-spacing: -.011em;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--blue-d); }
h1, h2, h3 { color: var(--ink); letter-spacing: -.02em; line-height: 1.12; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .wrap { padding: 0 28px; } }
.mono { font-family: var(--mono); }
.muted { color: var(--muted); font-weight: 500; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

/* Buttons - match buildmarketing.ai: square, black, bold */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  font: 700 1rem 'Inter', sans-serif; border: 0; border-radius: 0; cursor: pointer;
  padding: .85em 1.6em; text-decoration: none; transition: transform .15s, filter .15s, background .15s, color .15s;
  white-space: nowrap;
}
.btn-primary { background: var(--ink); color: #fff; box-shadow: 0 10px 22px -12px rgba(15, 17, 21, .6); }
.btn-primary:hover { transform: translateY(-1px); filter: brightness(1.2); }
.btn-primary:disabled { opacity: .6; cursor: progress; transform: none; }
.btn-ghost { background: transparent; color: var(--ink); border: 2px solid var(--ink); padding: .7em 1.4em; }
.btn-ghost:hover { background: var(--ink); color: #fff; }
.btn-sm { font-size: .82rem; padding: .5em 1em; border-width: 1.5px; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }

/* Top bar */
.topbar { position: sticky; top: 0; z-index: 10; background: rgba(255, 255, 255, .88); backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--line); }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 60px; gap: 1rem; }
.brand { font: 400 1.05rem 'Archivo Black', sans-serif; color: var(--ink); text-decoration: none; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; }
.brand-tag { font: 700 .68rem 'Inter', sans-serif; letter-spacing: .08em; background: var(--blue); color: #fff; padding: .25em .55em; margin-left: .35rem; vertical-align: middle; }
.topnav { display: flex; gap: 1.1rem; align-items: center; }
.topnav a { font-weight: 700; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.topnav a:hover { color: var(--blue-d); }
.topnav-cta { background: var(--ink); color: #fff !important; padding: .55em 1em; }
@media (max-width: 560px) { .topnav a:not(.topnav-cta) { display: none; } }

/* Hero */
.hero { padding: 48px 0 56px; background: radial-gradient(1200px 380px at 50% -40px, #eaf0ff 0%, rgba(234, 240, 255, 0) 70%); }
.eyebrow { display: inline-block; font: 800 .74rem 'Inter', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--blue-d); }
.hero-title {
  font: 400 clamp(2.1rem, 6vw, 4.2rem)/.98 'Archivo Black', 'Inter', sans-serif;
  text-transform: uppercase; margin: .5rem 0 1rem; max-width: 900px; letter-spacing: -.01em;
}
.hero-sub { font: 500 clamp(1.05rem, 1.8vw, 1.3rem)/1.5 'Inter', sans-serif; color: #334155; max-width: 680px; margin: 0 0 2rem; }

/* Machine Browser window */
.mb-window { background: var(--term-bg); border-radius: var(--radius); box-shadow: 0 30px 60px -30px rgba(15, 23, 42, .55), 0 0 0 1px rgba(15, 23, 42, .25); overflow: hidden; }
.mb-chrome { display: flex; align-items: center; gap: .75rem; padding: .7rem .8rem; background: #161b22; border-bottom: 1px solid var(--term-line); }
.mb-dots { display: flex; gap: 6px; flex: 0 0 auto; }
.mb-dots i { width: 11px; height: 11px; border-radius: 50%; background: #3a414c; display: block; }
.mb-dots i:nth-child(1) { background: #ff5f57; } .mb-dots i:nth-child(2) { background: #febc2e; } .mb-dots i:nth-child(3) { background: #28c840; }
.mb-address { flex: 1 1 auto; display: flex; align-items: center; min-width: 0; background: #0d1117; border: 1px solid var(--term-line); border-radius: 9px; padding: 3px 3px 3px 10px; }
.mb-address:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(94, 139, 240, .3); }
.mb-lock { color: var(--term-dim); display: flex; margin-right: 6px; }
.mb-address input { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; outline: 0; color: #fff; font: 500 1rem var(--mono); padding: .55em .2em; }
.mb-address input::placeholder { color: #5b6676; }
.mb-address .btn { border-radius: 6px; padding: .6em 1.2em; font-size: .95rem; background: var(--blue); box-shadow: none; }
.mb-address .btn:hover { background: var(--blue-d); filter: none; }
.mb-address-static { padding: .5em .8em; color: var(--term-text); font-size: .85rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mb-address-static span { overflow: hidden; text-overflow: ellipsis; }
.mb-mode { flex: 0 0 auto; font: 700 .66rem var(--mono); letter-spacing: .1em; color: #7ee787; border: 1px solid #2f4b36; padding: .3em .55em; border-radius: 4px; }
@media (max-width: 640px) {
  .mb-mode, .mb-window:not(.mb-window-results) .mb-dots { display: none; }
  .mb-address .btn { padding: .6em .8em; }
}

.mb-viewport { color: var(--term-text); padding: 28px; min-height: 280px; }
@media (max-width: 640px) { .mb-viewport { padding: 20px 16px; } }
.mb-idle-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center; }
@media (max-width: 760px) { .mb-idle-grid { grid-template-columns: 1fr; } .mb-idle-code { display: none; } }
.mb-idle-kicker { color: #7ee787; margin: 0 0 .6rem; font-size: .9rem; }
.mb-idle-copy { margin: 0 0 1rem; font-size: 1.05rem; color: var(--term-text); }
.mb-idle-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .35rem 1rem; font-size: .92rem; color: var(--term-dim); }
.mb-idle-list li::before { content: '▸ '; color: var(--blue); }
.mb-idle-code { margin: 0; background: #0a0d12; border: 1px dashed var(--term-line); border-radius: 10px; padding: 1rem 1.2rem; color: #a5b4c8; font-size: .85rem; line-height: 1.6; overflow: auto; }
.mb-fineprint { margin: 1.4rem 0 0; font-size: .82rem; color: var(--term-dim); }

.mb-progress-url { color: #7ee787; margin: 0 0 1.1rem; word-break: break-all; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.steps li { position: relative; padding-left: 2rem; color: #5b6676; font: 500 1rem var(--mono); transition: color .2s; }
.steps li::before { content: ''; position: absolute; left: 0; top: .2em; width: 1.05em; height: 1.05em; border-radius: 50%; border: 2px solid #3a414c; }
.steps li.active { color: #fff; }
.steps li.active::before { border-color: var(--blue); border-top-color: transparent; animation: spin .8s linear infinite; }
.steps li.done { color: var(--term-text); }
.steps li.done::before { border-color: #28c840; background: #28c840; }
.steps li.done::after { content: '✓'; position: absolute; left: .27em; top: -.02em; font-size: .8em; color: #0d1117; font-weight: 700; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .steps li.active::before { animation: none; border-top-color: var(--blue); } }

.mb-error h2 { color: #fff; margin: 0 0 .6rem; font-size: 1.4rem; }
.mb-error p { color: var(--term-text); margin: 0 0 1.2rem; max-width: 680px; }
.mb-error .btn-ghost { color: #fff; border-color: #fff; }
.mb-error .btn-ghost:hover { background: #fff; color: var(--ink); }

/* Results */
.results { padding: 8px 0 40px; }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.summary { display: grid; grid-template-columns: auto 1fr minmax(260px, 340px); gap: 1.8rem; padding: 1.8rem; align-items: center; }
@media (max-width: 980px) { .summary { grid-template-columns: auto 1fr; } .components { grid-column: 1 / -1; } }
@media (max-width: 560px) { .summary { grid-template-columns: 1fr; padding: 1.3rem; } .score { margin: 0 auto; } }
.score { position: relative; width: 148px; height: 148px; }
.score-ring { width: 100%; height: 100%; transform: rotate(-90deg); }
.score-track { fill: none; stroke: #eef1f5; stroke-width: 11; }
.score-arc { fill: none; stroke: var(--blue); stroke-width: 11; stroke-linecap: round; stroke-dasharray: 326.7; stroke-dashoffset: 326.7; transition: stroke-dashoffset 1s ease, stroke .3s; }
.score-num { position: absolute; inset: 0; display: flex; align-items: baseline; justify-content: center; padding-top: 48px; font: 400 2.8rem/1 'Archivo Black', sans-serif; color: var(--ink); }
.score-num small { font: 700 .9rem 'Inter', sans-serif; color: var(--muted); margin-left: 2px; }
.summary-title { font-size: clamp(1.5rem, 3vw, 2rem); margin: .3rem 0 .4rem; }
.summary-text { margin: 0 0 .6rem; color: #334155; }
.summary-meta { margin: 0 0 .9rem; font-size: .78rem; color: var(--muted); word-break: break-all; }
.summary-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.components { display: grid; gap: .55rem; }
.comp-row { display: grid; grid-template-columns: 1fr auto; gap: .2rem .6rem; font-size: .84rem; }
.comp-label { color: #334155; font-weight: 600; }
.comp-score { font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.comp-bar { grid-column: 1 / -1; height: 6px; background: #eef1f5; border-radius: 3px; overflow: hidden; }
.comp-bar span { display: block; height: 100%; border-radius: 3px; background: var(--blue); transition: width .8s ease; }
.comp-weight { color: var(--muted); font-weight: 500; }
.limitations { margin: 1rem 0 0; padding: .8rem 1rem; background: var(--warn-bg); border-left: 4px solid var(--warn); color: #7c3d06; font-size: .92rem; }
.disclaimer { margin: .8rem 0 0; font-size: .82rem; color: var(--muted); }

.block { margin-top: 3rem; }
.block-title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 .3rem; }
.block-sub { margin: 0 0 1.2rem; color: var(--muted); }

/* Findings */
.issues { display: grid; gap: .8rem; }
.issue { border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.issue > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: start; padding: 1rem 1.1rem; }
.issue > summary::-webkit-details-marker { display: none; }
.issue > summary:hover { background: #fafbfd; }
.issue-title { font-weight: 800; color: var(--ink); margin: 0; font-size: 1.02rem; line-height: 1.35; }
.issue-summary { margin: .2rem 0 0; color: #475569; font-size: .95rem; }
.chev { color: var(--muted); transition: transform .2s; margin-top: .2rem; }
.issue[open] .chev { transform: rotate(180deg); }
.issue-body { padding: 0 1.1rem 1.1rem 1.1rem; display: grid; gap: 1rem; }
@media (min-width: 720px) { .issue-body { padding-left: 5.2rem; } }
.issue-body h4 { margin: 0 0 .3rem; font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.issue-body p { margin: 0; }
.evidence { margin: 0; padding: .7rem .9rem; list-style: none; background: var(--bg-soft); border-radius: 8px; font: .82rem/1.55 var(--mono); color: #334155; display: grid; gap: .3rem; overflow-wrap: anywhere; }
.fix { padding: .75rem .9rem; border-left: 3px solid var(--pass); background: var(--pass-bg); border-radius: 0 8px 8px 0; }
.tech-detail { font-size: .85rem; color: var(--muted); }
.confidence { font-size: .78rem; color: var(--muted); }

.pill { display: inline-block; font: 800 .68rem 'Inter', sans-serif; letter-spacing: .08em; padding: .35em .6em; border-radius: 4px; min-width: 3.6rem; text-align: center; margin-top: .15rem; }
.pill-PASS { color: var(--pass); background: var(--pass-bg); }
.pill-WARN { color: var(--warn); background: var(--warn-bg); }
.pill-FAIL { color: var(--fail); background: var(--fail-bg); }
.pill-INFO { color: var(--info); background: var(--info-bg); }
.kind { font-size: .72rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; margin-left: .4rem; }

.group { border-top: 1px solid var(--line); padding: .3rem 0; }
.group:last-of-type { border-bottom: 1px solid var(--line); }
.group > summary { cursor: pointer; padding: .9rem 0; font-weight: 800; color: var(--ink); font-size: 1.05rem; }
.group > summary .count { color: var(--muted); font-weight: 600; }
.group > .issues, .group > .tech { padding-bottom: 1rem; }
.tech { display: grid; gap: .4rem; font-size: .88rem; }
.kv { display: grid; grid-template-columns: minmax(140px, 220px) 1fr; gap: .2rem 1rem; }
.kv dt { color: var(--muted); font-weight: 600; }
.kv dd { margin: 0; font-family: var(--mono); font-size: .82rem; overflow-wrap: anywhere; }
@media (max-width: 560px) { .kv { grid-template-columns: 1fr; } .kv dd { margin-bottom: .5rem; } }

/* Results browser */
.mb-window-results .mb-chrome { flex-wrap: wrap; }
.seg { display: inline-flex; border: 1px solid var(--term-line); border-radius: 8px; overflow: hidden; flex: 0 0 auto; }
.seg-btn { background: transparent; color: var(--term-dim); border: 0; font: 600 .78rem 'Inter', sans-serif; padding: .5em .8em; cursor: pointer; }
.seg-btn[aria-pressed="true"] { background: var(--blue); color: #fff; }
.seg-btn:disabled { opacity: .4; cursor: not-allowed; }
.mb-tabs { display: flex; gap: 2px; padding: 0 .6rem; background: #161b22; border-bottom: 1px solid var(--term-line); overflow-x: auto; scrollbar-width: thin; }
.mb-tab { background: transparent; color: var(--term-dim); border: 0; border-bottom: 2px solid transparent; font: 600 .84rem 'Inter', sans-serif; padding: .75em .9em; cursor: pointer; white-space: nowrap; }
.mb-tab:hover { color: #fff; }
.mb-tab[aria-selected="true"] { color: #fff; border-bottom-color: var(--blue); }
.mb-viewport-results { max-height: 640px; overflow: auto; font-size: .95rem; }
.mb-viewport-results h3 { color: #fff; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; margin: 1.6rem 0 .5rem; font-family: var(--mono); font-weight: 600; }
.mb-viewport-results h3:first-child { margin-top: 0; }
.mv-field { display: grid; grid-template-columns: 140px 1fr; gap: .2rem 1rem; padding: .45rem 0; border-bottom: 1px solid var(--term-line); }
.mv-field dt { color: var(--term-dim); font: 600 .8rem var(--mono); }
.mv-field dd { margin: 0; color: var(--term-text); overflow-wrap: anywhere; }
.mv-missing { color: #ff7b72; font-style: italic; }
@media (max-width: 560px) { .mv-field { grid-template-columns: 1fr; } }
.outline { list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.outline li { padding: .15rem 0; color: var(--term-text); overflow-wrap: anywhere; }
.outline .lvl { display: inline-block; width: 2.4em; color: #79c0ff; font: 600 .78rem var(--mono); }
.maintext { white-space: pre-wrap; color: #c9d4e3; line-height: 1.7; max-height: 320px; overflow: auto; background: #0a0d12; border: 1px solid var(--term-line); border-radius: 8px; padding: 1rem; margin: 0; font-size: .9rem; }
.codeblock { font: .8rem/1.55 var(--mono); color: #c9d4e3; white-space: pre-wrap; overflow-wrap: anywhere; background: #0a0d12; border: 1px solid var(--term-line); border-radius: 8px; padding: 1rem; margin: 0 0 .8rem; max-height: 420px; overflow: auto; }
.shot { display: block; width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--term-line); }
.diff-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.stat { background: #0a0d12; border: 1px solid var(--term-line); border-radius: 10px; padding: .9rem 1rem; }
.stat b { display: block; font: 400 1.8rem/1.1 'Archivo Black', sans-serif; color: #fff; }
.stat span { font-size: .8rem; color: var(--term-dim); }
.meter { height: 10px; border-radius: 5px; background: #2a1f24; overflow: hidden; margin: .4rem 0 1.2rem; }
.meter span { display: block; height: 100%; background: linear-gradient(90deg, #28c840, #7ee787); }
.clientonly { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.clientonly li { padding: .5rem .7rem; background: rgba(255, 123, 114, .08); border-left: 3px solid #ff7b72; border-radius: 0 6px 6px 0; color: var(--term-text); font-size: .9rem; overflow-wrap: anywhere; }
.term-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.term-table th, .term-table td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--term-line); vertical-align: top; }
.term-table th { color: var(--term-dim); font: 600 .74rem var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.term-table td { color: var(--term-text); }
.term-table .mono { font-size: .8rem; }
.ok { color: #7ee787; font-weight: 700; } .no { color: #ff7b72; font-weight: 700; } .dim { color: var(--term-dim); }
.table-scroll { overflow-x: auto; }
.mv-note { color: var(--term-dim); font-size: .85rem; margin: .6rem 0 0; }

/* Next steps */
.next-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 760px) { .next-grid { grid-template-columns: 1fr; } }
.next-card { padding: 1.6rem; border-top: 4px solid var(--blue); display: flex; flex-direction: column; gap: .2rem; }
.next-card h3 { margin: 0 0 .3rem; font-size: 1.25rem; }
.next-card p { margin: 0 0 1rem; color: #475569; }
.next-card .btn { align-self: flex-start; margin-top: auto; }
.inline-form { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: auto; }
.inline-form input { flex: 1 1 200px; min-width: 0; font: 500 1rem 'Inter', sans-serif; padding: .75em .9em; border: 1.5px solid #cbd5e1; border-radius: 0; }
.inline-form input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(94, 139, 240, .25); }
.form-msg { min-height: 1.4em; margin: .5rem 0 0 !important; font-size: .9rem; font-weight: 600; }
.form-msg.err { color: var(--fail); } .form-msg.ok { color: var(--pass); }

/* About + footer */
.about { background: var(--bg-soft); border-top: 1px solid var(--line); padding: 56px 0; margin-top: 3rem; }
.about-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 860px) { .about-grid { grid-template-columns: 1fr; } }
.about h2 { font-size: 1.15rem; margin: 0 0 .5rem; }
.about p { margin: 0; color: #475569; font-size: .95rem; }
.footer { padding: 28px 0; font-size: .85rem; color: var(--muted); border-top: 1px solid var(--line); }
.footer a { color: var(--muted); }

/* Polish */
.topnav-cta { white-space: nowrap; }
.results, .block { scroll-margin-top: 76px; }
.issues > .btn { justify-self: start; }
@media (max-width: 560px) {
  .brand { font-size: .92rem; }
  .term-table th:nth-child(2), .term-table td:nth-child(2) { display: none; }
}

/* MachineReady wordmark keeps its camel case */
.brand { text-transform: none; font-size: 1.15rem; letter-spacing: -.01em; }
.brand-tag { background: transparent; color: var(--muted); padding: 0; font-weight: 600; letter-spacing: .02em; text-transform: none; font-size: .78rem; }
@media (max-width: 420px) { .brand-tag { display: none; } }

/* ---------- Site scan progress ---------- */
.mb-progress-status { color: #fff; font: 600 1rem 'Inter', sans-serif; margin: 0 0 1rem; }
.page-steps li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: .2rem 1rem; align-items: baseline; font-size: .92rem; }
.page-steps .ps-url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-steps .ps-reason { color: #5b6676; font: 400 .82rem 'Inter', sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-steps li.active .ps-reason, .page-steps li.done .ps-reason { color: var(--term-dim); }
.page-steps .ps-score { font-weight: 700; }
.page-steps .ps-note { color: #ff7b72; font-size: .8rem; }
@media (max-width: 640px) { .page-steps li { grid-template-columns: minmax(0, 1fr) auto; } .page-steps .ps-reason { display: none; } }

/* ---------- Themes ---------- */
.themes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 760px) { .themes { grid-template-columns: 1fr; } }
.theme { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--info); border-radius: var(--radius); box-shadow: var(--shadow); }
.theme-problem { border-top-color: var(--fail); }
.theme-watch { border-top-color: #d97706; }
.theme-good { border-top-color: var(--pass); }
.theme > summary { list-style: none; cursor: pointer; padding: 1.2rem 1.3rem 1.1rem; }
.theme > summary::-webkit-details-marker { display: none; }
.theme h3 { margin: .45rem 0 .35rem; font-size: 1.15rem; }
.theme-status { display: inline-block; font: 800 .68rem 'Inter', sans-serif; letter-spacing: .1em; text-transform: uppercase; padding: .3em .6em; border-radius: 4px; background: var(--info-bg); color: var(--info); }
.theme-problem .theme-status { background: var(--fail-bg); color: var(--fail); }
.theme-watch .theme-status { background: var(--warn-bg); color: var(--warn); }
.theme-good .theme-status { background: var(--pass-bg); color: var(--pass); }
.theme-headline { margin: 0 0 .35rem; font-weight: 600; color: var(--ink); }
.theme-q { margin: 0; font-size: .88rem; color: var(--muted); }
.theme-q::after { content: ' ▾'; }
.theme[open] .theme-q::after { content: ' ▴'; }
.theme-body { padding: 0 1.3rem 1.3rem; }
.theme-why { margin: 0 0 .9rem; color: #475569; font-size: .94rem; }

/* ---------- Google preview ---------- */
.serp-wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.4rem; align-items: start; }
@media (max-width: 860px) { .serp-wrap { grid-template-columns: 1fr; } }
.serp { padding: 1.3rem 1.4rem; font-family: Arial, 'Helvetica Neue', sans-serif; letter-spacing: 0; }
.serp-site { display: flex; align-items: center; gap: .7rem; margin-bottom: .35rem; }
.serp-fav { width: 28px; height: 28px; border-radius: 50%; background: #eef1f5 radial-gradient(circle, #5e8bf0 0 5px, transparent 6px); flex: 0 0 auto; display: grid; place-items: center; font: 700 .8rem Arial, sans-serif; color: #94a3b8; }
.serp-fav-missing { background: #eef1f5; }
.serp-name { display: block; font-size: .9rem; color: #202124; }
.serp-url { display: block; font-size: .78rem; color: #4d5156; overflow-wrap: anywhere; }
.serp-title { display: block; font-size: 1.25rem; line-height: 1.3; color: #1a0dab; margin: .1rem 0 .3rem; cursor: default; overflow-wrap: anywhere; }
.serp-desc { margin: 0; font-size: .88rem; line-height: 1.58; color: #4d5156; overflow-wrap: anywhere; }
.serp-guess { font-style: italic; color: #9aa0a6; }
.serp-date { color: #70757a; }
.serp-notes { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; font-size: .92rem; }
.serp-notes li { padding-left: 1.6rem; position: relative; }
.serp-notes li::before { position: absolute; left: 0; font-weight: 800; }
.ok-note::before { content: '✓'; color: var(--pass); }
.bad-note::before { content: '✕'; color: var(--fail); }

/* ---------- Pages table ---------- */
.table-card { overflow-x: auto; }
.pages-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.pages-table th { text-align: left; font: 700 .72rem 'Inter', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: .8rem 1rem; border-bottom: 1px solid var(--line); white-space: nowrap; }
.pages-table td { padding: .75rem 1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.pages-table tr:last-child td { border-bottom: 0; }
.pages-table tr.clickable { cursor: pointer; }
.pages-table tr.clickable:hover, .pages-table tr.clickable:focus-visible { background: #f8faff; outline: none; }
.pages-table tr.selected { background: #eef3ff; box-shadow: inset 4px 0 0 var(--blue); }
.pages-table .muted-row td { color: var(--muted); }
.pt-url { font-size: .82rem; overflow-wrap: anywhere; }
.pt-tag { margin-left: .4rem; font: 700 .64rem 'Inter', sans-serif; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-d); background: #eaf0ff; padding: .2em .45em; border-radius: 3px; }
.pt-reason { color: #475569; }
.pt-score { font: 400 1.25rem 'Archivo Black', sans-serif; }
.pt-issue .pill { min-width: 0; margin-right: .2rem; }
@media (max-width: 640px) { .pages-table th:nth-child(2), .pages-table td:nth-child(2) { display: none; } }

.page-detail .issues { margin-bottom: 1.2rem; }
.affected { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: .85rem; }
.affected .pill { min-width: 0; margin: 0; }

/* ---------- Forms, checkbox ---------- */
.email-form { display: grid; gap: .7rem; margin-top: auto; }
.email-form .inline-form { margin-top: 0; }
.check { display: flex; gap: .55rem; align-items: flex-start; font-size: .9rem; color: #334155; cursor: pointer; line-height: 1.45; }
.check input { width: 18px; height: 18px; margin: .1rem 0 0; accent-color: var(--ink); flex: 0 0 auto; }
.btn-block { width: 100%; }
.next-card-primary { border-top-color: var(--ink); }

/* ---------- Modal ---------- */
.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 16px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(15, 17, 21, .62); backdrop-filter: blur(2px); }
.modal-card { position: relative; width: min(480px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: #fff; border-radius: 16px; padding: 1.8rem; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .5); animation: pop .25s ease; }
@keyframes pop { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .modal-card { animation: none; } }
.modal-x { position: absolute; top: .6rem; right: .8rem; border: 0; background: none; font-size: 1.7rem; line-height: 1; color: var(--muted); cursor: pointer; padding: .2rem .4rem; }
.modal-score { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.modal-score-num { font: 400 3.2rem/1 'Archivo Black', sans-serif; color: var(--ink); }
.modal-score-num small { font: 700 1rem 'Inter', sans-serif; color: var(--muted); }
.modal-band { margin: .2rem 0 0; font-weight: 700; color: var(--ink); }
.modal-card h2 { font-size: 1.4rem; margin: 0 0 .5rem; }
.modal-sub { margin: 0 0 1.1rem; color: #475569; font-size: .95rem; }
.modal-card input[type="email"] { width: 100%; font: 500 1rem 'Inter', sans-serif; padding: .8em .9em; border: 1.5px solid #cbd5e1; border-radius: 0; }
.modal-card input[type="email"]:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(94, 139, 240, .25); }
.modal-skip { display: block; margin: .8rem auto 0; border: 0; background: none; color: var(--muted); font: 500 .88rem 'Inter', sans-serif; text-decoration: underline; cursor: pointer; }
body.modal-open { overflow: hidden; }

/* ---------- Sticky email bar ---------- */
.email-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--ink); color: #fff; box-shadow: 0 -10px 30px -12px rgba(0, 0, 0, .5); }
.email-bar-inner { display: flex; align-items: center; gap: 1rem; min-height: 60px; }
.email-bar-text { flex: 1 1 auto; font-size: .95rem; }
.email-bar-text strong { font-family: 'Archivo Black', sans-serif; font-weight: 400; }
.email-bar .btn-primary { background: var(--blue); }
.email-bar-x { border: 0; background: none; color: #94a3b8; font-size: 1.5rem; cursor: pointer; padding: .2rem .4rem; }
@media (max-width: 640px) { .email-bar-extra { display: none; } .email-bar-inner { gap: .6rem; } }
body.has-bar { padding-bottom: 64px; }

/* ---------- Plain-language summary counts ---------- */
.counts { display: flex; flex-wrap: wrap; gap: .5rem; margin: .2rem 0 .8rem; }
.count-chip { display: inline-flex; align-items: baseline; gap: .3rem; padding: .35em .7em; border-radius: 999px; font-size: .86rem; font-weight: 600; background: var(--info-bg); color: var(--info); }
.count-chip b { font: 400 1.05rem 'Archivo Black', sans-serif; }
.count-arch { background: var(--fail-bg); color: var(--fail); }
.count-prob { background: var(--warn-bg); color: var(--warn); }
.count-zero { opacity: .55; }
.ok-card { padding: 1.1rem 1.3rem; margin: 0; border-left: 4px solid var(--pass); }

/* ---------- People vs AI ---------- */
.hm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
@media (max-width: 860px) { .hm-grid { grid-template-columns: 1fr; } }
.hm-col { padding: 1.4rem 1.5rem; }
.hm-col h3 { margin: 0 0 .25rem; font-size: 1.15rem; display: flex; gap: .5rem; align-items: center; }
.hm-icon { font-size: 1.1rem; }
.hm-sub { margin: 0 0 1rem; color: var(--muted); font-size: .9rem; }
.hm-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.hm-list > li { padding: .8rem .9rem; border-radius: 10px; background: var(--bg-soft); border-left: 4px solid var(--fail); }
.hm-col:last-child .hm-list > li { border-left-color: #7c3aed; }
.hm-list > li.hm-none { border-left-color: var(--pass); color: #334155; font-size: .92rem; }
.hm-list strong { color: var(--ink); }
.hm-pages { color: var(--muted); font-size: .85rem; font-weight: 600; }
.hm-list p { margin: .25rem 0 0; font-size: .9rem; color: #475569; }
.hm-examples { list-style: none; margin: .45rem 0 0; padding: 0; display: grid; gap: .2rem; }
.hm-examples li { font-size: .78rem; color: #334155; overflow-wrap: anywhere; }
.hm-page { margin: 1rem 0; }

/* ---------- Person vs agent, per page ---------- */
.page-detail { margin-top: 1.6rem; }
.detail-title { font-size: 1.25rem; margin: 0 0 .2rem; }
.detail-title .mono { font-size: 1.05rem; }
.ha-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: .6rem; }
@media (max-width: 860px) { .ha-grid { grid-template-columns: 1fr; } }
.ha-col { margin: 0; display: flex; flex-direction: column; min-width: 0; }
.ha-col figcaption { font-weight: 800; color: var(--ink); margin-bottom: .5rem; font-size: .95rem; }
.ha-col figcaption .muted { font-weight: 500; font-size: .82rem; }
.ha-frame { flex: 1; border: 1px solid var(--line); border-radius: 12px; background: #fff; height: 460px; overflow: auto; box-shadow: var(--shadow); }
.ha-frame .shot { border: 0; border-radius: 0; }
.ha-agent { margin: 0; padding: 1rem 1.1rem; background: var(--term-bg); color: #d6deeb; font: .8rem/1.6 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; border-color: var(--term-line); }
.ha-agent-empty { color: #ff7b72; display: grid; place-items: center; text-align: center; font-size: .95rem; }
.ha-empty { padding: 1.2rem; color: var(--muted); }
.group .themes { padding-bottom: 1rem; }

.hm-list > li.hm-mo { border-left-color: #7c3aed; }
.hm-list > li.hm-inv::before, .hm-list > li.hm-mo::before { display: block; font: 800 .66rem 'Inter', sans-serif; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .25rem; }
.hm-list > li.hm-inv::before { content: 'Visible to people, invisible to AI'; color: var(--fail); }
.hm-list > li.hm-mo::before { content: 'Seen by AI, not by visitors'; color: #7c3aed; }

/* ---------- Three layers ---------- */
.belief { margin: .4rem 0 1.4rem; padding: 1rem 1.3rem; border-left: 4px solid var(--blue); background: #f5f8ff; border-radius: 0 12px 12px 0; }
.belief p { margin: 0 0 .4rem; font-size: 1.05rem; line-height: 1.6; color: var(--ink); font-weight: 500; }
.belief cite { font-style: normal; font-size: .88rem; color: var(--muted); font-weight: 600; }
.layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 960px) { .layers { grid-template-columns: 1fr; } }
.layer { padding: 1.3rem 1.3rem 1.1rem; border-top: 5px solid var(--info); display: flex; flex-direction: column; gap: .7rem; }
.layer-strong { border-top-color: var(--pass); }
.layer-partial { border-top-color: #d97706; }
.layer-missing { border-top-color: var(--fail); }
.layer-head { display: flex; gap: .7rem; align-items: flex-start; }
.layer-icon { font-size: 1.5rem; line-height: 1; }
.layer h3 { margin: 0; font-size: 1.2rem; }
.layer-tag { margin: .2rem 0 0; font-size: .88rem; color: var(--muted); }
.layer-status { align-self: flex-start; font: 800 .72rem 'Inter', sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: .35em .65em; border-radius: 4px; background: var(--info-bg); color: var(--info); }
.layer-strong .layer-status { background: var(--pass-bg); color: var(--pass); }
.layer-partial .layer-status { background: var(--warn-bg); color: var(--warn); }
.layer-missing .layer-status { background: var(--fail-bg); color: var(--fail); }
.layer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: .9rem; }
.layer-list li { padding-left: 1.5rem; position: relative; }
.layer-list li::before { position: absolute; left: 0; font-weight: 800; }
.layer-why { margin: auto 0 0; font-size: .85rem; color: #475569; border-top: 1px solid var(--line); padding-top: .7rem; }
.layers-cta { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; font-weight: 700; color: var(--ink); }
.mb-idle-layers { font-size: .98rem !important; color: #a5b4c8 !important; }
.mb-idle-layers strong { color: #fff; }

.footer-inner { display: flex; flex-wrap: wrap; gap: .3rem .6rem; align-items: baseline; }
.footer .build { font-size: .76rem; color: #94a3b8; }

/* ---------- Survey line ---------- */
.survey { margin-top: 1rem; padding: .8rem 1.1rem; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; align-items: baseline; font-size: .88rem; color: #334155; }
.survey-label { font: 800 .72rem 'Inter', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-d); }
.survey-item b { color: var(--ink); }

/* ---------- Intent ---------- */
.intent-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
@media (max-width: 900px) { .intent-grid { grid-template-columns: 1fr; } }
.intent { margin: 0; padding: 1.1rem 1.3rem; display: grid; grid-template-columns: minmax(150px, 210px) 1fr; gap: .55rem 1rem; font-size: .92rem; }
.intent dt { font-weight: 700; color: var(--ink); display: flex; gap: .5rem; align-items: baseline; }
.intent dd { margin: 0; color: #334155; overflow-wrap: anywhere; }
@media (max-width: 560px) { .intent { grid-template-columns: 1fr; } .intent dd { margin-bottom: .4rem; } }
.dot { width: .6rem; height: .6rem; border-radius: 50%; display: inline-block; flex: 0 0 auto; background: #cbd5e1; }
.dot-good { background: var(--pass); } .dot-warn { background: #d97706; } .dot-bad { background: var(--fail); }
.intent-mismatch { padding: 1.1rem 1.3rem; }
.intent-mismatch h3 { margin: 0 0 .2rem; font-size: 1.1rem; }

/* ---------- Action plan ---------- */
.plan-recommended { font-size: 1.08rem; line-height: 1.6; color: var(--ink); font-weight: 500; margin: .3rem 0 1.2rem; padding: 1rem 1.2rem; background: #f5f8ff; border-left: 4px solid var(--blue); border-radius: 0 12px 12px 0; }
.plan-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.plan-table th { text-align: left; font: 700 .72rem 'Inter', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.plan-table td { padding: .8rem 1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.plan-table tr.clickable { cursor: pointer; }
.plan-table tr.clickable:hover { background: #f8faff; }
.plan-num { font: 400 1.3rem 'Archivo Black', sans-serif; color: var(--blue-d); width: 2.5rem; }
.plan-pages { font-weight: 800; text-align: center; }
.plan-toggle { display: block; font-size: .8rem; color: var(--blue-d); font-weight: 600; margin-top: .2rem; }
.arch-tag { background: var(--fail-bg); color: var(--fail); }
.plan-detail td { background: #fafbfd; }
.plan-issues { list-style: none; margin: 0 0 .8rem; padding: 0; display: grid; gap: .35rem; font-size: .88rem; }
.plan-issues .pill { min-width: 0; margin: 0; }
.snippet-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-size: .84rem; font-weight: 700; color: #334155; margin-bottom: .4rem; }
.snippet-code { margin: 0; background: var(--term-bg); color: #d6deeb; border: 0; max-height: 360px; }
.copy-btn { padding: .3em .8em; font-size: .78rem; }
@media (max-width: 640px) { .plan-table th:nth-child(3), .plan-table td.pt-reason { display: none; } }
.plan-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.2rem; }
@media (max-width: 900px) { .plan-cols { grid-template-columns: 1fr; } }
.plan-card { padding: 1.2rem 1.3rem; }
.plan-card h3 { margin: 0 0 .2rem; font-size: 1.1rem; }
.accept { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; font-size: .9rem; }
.acc-count { display: inline-block; min-width: 3.2rem; font: 800 .8rem 'Inter', sans-serif; padding: .2em .5em; border-radius: 4px; text-align: center; background: var(--info-bg); color: var(--info); }
.acc-pass .acc-count { background: var(--pass-bg); color: var(--pass); }
.acc-partial .acc-count { background: var(--warn-bg); color: var(--warn); }
.acc-fail .acc-count { background: var(--fail-bg); color: var(--fail); }
.handoff { margin: .6rem 0 1rem; padding-left: 1.3rem; display: grid; gap: .45rem; font-size: .9rem; color: #334155; }
.dod { margin: 0; font-size: .88rem; color: #475569; border-top: 1px solid var(--line); padding-top: .8rem; }

/* ---------- Doing it right ---------- */
.right-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.right-card { padding: 1.1rem 1.2rem; }
.right-head { display: flex; gap: .8rem; align-items: center; margin-bottom: .6rem; }
.right-head .pt-score { font-size: 1.8rem; }
.right-url { font-size: .82rem; overflow-wrap: anywhere; }
.right-how-label { margin: 0 0 .4rem; font-weight: 700; font-size: .85rem; color: var(--ink); }
.right-others { margin-top: 2rem; }
.right-others h3 { font-size: 1.2rem; margin: 0 0 .3rem; }
.traits { list-style: none; margin: 0 0 1.2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.traits li { background: var(--pass-bg); color: #14532d; font-size: .86rem; padding: .35em .75em; border-radius: 999px; }
.traits b { color: var(--pass); }
.more-link { display: inline-block; margin-top: 1rem; font-weight: 700; }
.examples-page { padding-top: 2.4rem; padding-bottom: 3rem; }
.layers-read { margin-top: 0; font-weight: 600; }

/* Sample, not a full audit */
.sample-note { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; padding: .9rem 1.1rem; background: #fffbeb; border: 1px solid #fde68a; border-left: 4px solid #d97706; border-radius: 0 12px 12px 0; }
.sample-note p { margin: 0; flex: 1 1 420px; color: #78350f; font-size: .93rem; }

/* ---------- Leaderboard ---------- */
.lb-stats, .lb-remove { padding: 1.2rem 1.4rem; margin: 0 0 1.8rem; }
.lb-stats h2, .lb-remove h2, .lb-h2 { font-size: 1.25rem; margin: 0 0 .3rem; }
.lb-stats h3 { font-size: 1rem; margin: 1.2rem 0 .6rem; }
.lb-bars { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .55rem; }
.lb-bars li { display: grid; grid-template-columns: minmax(0, 1fr) 120px 3.2em; gap: .7rem; align-items: center; font-size: .9rem; }
.lb-bar { height: 10px; background: #eef2f7; display: block; }
.lb-bar-fill { display: block; height: 100%; background: var(--fail); }
.lb-bar-num { text-align: right; font-variant-numeric: tabular-nums; }
.lb-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.lb-layer { border: 1px solid var(--line); padding: .7rem .8rem; font-size: .85rem; color: var(--muted); }
.lb-layer b { display: block; font-size: 1.5rem; color: var(--ink); }
.lb-list { list-style: none; margin: .8rem 0 2rem; padding: 0; display: grid; gap: .7rem; }
.lb-row { display: grid; grid-template-columns: 2.6em 3.2em minmax(0, 1fr) auto; gap: .8rem; align-items: start; padding: .9rem 1.1rem; }
.lb-rank { color: var(--muted); font-weight: 600; padding-top: .45rem; }
.lb-score { font-size: 1.7rem; line-height: 1.2; }
.lb-site { overflow-wrap: anywhere; padding-top: .3rem; }
.lb-hl { margin: .5rem 0 0; }
.lb-remove-link { font-size: .78rem; color: var(--muted); padding-top: .45rem; }
.lb-remove input[type="text"], .lb-remove input[type="email"] { width: 100%; font: 500 1rem 'Inter', sans-serif; padding: .8em .9em; border: 1.5px solid #cbd5e1; border-radius: 0; }
.lb-remove input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(94, 139, 240, .25); }
.lb-remove .email-form { max-width: 520px; margin-top: .9rem; }
@media (max-width: 640px) {
  .lb-bars li { grid-template-columns: minmax(0, 1fr) 3.2em; }
  .lb-bar { grid-column: 1 / -1; grid-row: 2; }
  .lb-layers { grid-template-columns: 1fr; }
  .lb-row { grid-template-columns: 3em minmax(0, 1fr); }
  .lb-rank { display: none; }
  .lb-remove-link { grid-column: 2; padding-top: 0; }
}

/* ---------- Report narrative ---------- */
.narrative { padding: 1.3rem 1.5rem; margin: 1rem 0; border-left: 4px solid var(--fail); }
.narrative-title { font-size: clamp(1.25rem, 2.6vw, 1.6rem); margin: .3rem 0 .6rem; }
.narrative-body p { margin: .5rem 0; color: #334155; }
.narrative-lead { font-weight: 600; color: var(--ink) !important; }
.narrative-points { margin: .6rem 0; padding-left: 1.2rem; display: grid; gap: .45rem; color: #1e293b; }
.score-why { margin: -.2rem 0 .7rem; font-size: .92rem; color: #475569; background: #f8fafc; border-left: 3px solid #94a3b8; padding: .45rem .7rem; }
.comp-head { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }

/* ---------- Full-site unlock ---------- */
.sample-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.unlock-form { display: grid; gap: .6rem; max-width: 520px; margin-top: .9rem; }
.unlock-form input[type="text"], .unlock-form input[type="email"] { width: 100%; font: 500 1rem 'Inter', sans-serif; padding: .75em .9em; border: 1.5px solid #cbd5e1; border-radius: 0; }
.unlock-form input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(94, 139, 240, .25); }
.unlock-intro { margin: 0; font-size: .92rem; color: #334155; }
.sample-note .unlock-form { flex: 1 1 100%; }
.sample-note .unlock-intro { flex: none; color: #334155; }
/* ---------- Admin ---------- */
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: #fff; }
.admin-table { border-collapse: collapse; width: 100%; font-size: .88rem; }
.admin-table th, .admin-table td { text-align: left; padding: .5rem .7rem; border-top: 1px solid var(--line); white-space: nowrap; }
.admin-table th { background: #f1f5f9; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: #475569; border-top: 0; }

/* ---------- Scan mode ---------- */
.mb-modes { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; padding: .55rem 1rem; background: #f8fafc; border-bottom: 1px solid var(--line); font-size: .85rem; }
.mb-mode-opt { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; color: #334155; }
.mb-mode-opt input { accent-color: var(--ink); }
.mb-mode-opt b { color: var(--ink); margin-right: .2rem; }
#full-email { flex: 1 1 220px; font: 500 .9rem 'Inter', sans-serif; padding: .45em .7em; border: 1.5px solid #cbd5e1; border-radius: 0; }
#full-email:focus { outline: 0; border-color: var(--blue); }
