:root {
  color-scheme: dark light;
  --bg:#101713; --panel:#18211c; --panel-2:#202a24; --fg:#f1f4ef; --muted:#a2afa5; --line:#344139;
  --accent:#c5f36a; --accent-ink:#17200e; --red:#ff7770; --orange:#ffc36e; --yellow:#f4d76e; --green:#a8e5a3; --blue:#98c7ff;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace; --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--sans); font-size:16px; line-height:1.55; background:var(--bg); color:var(--fg);
}
@media (prefers-color-scheme: light) {
  :root { --bg:#f5f7f1; --panel:#fff; --panel-2:#f0f3ec; --fg:#17211a; --muted:#57675c; --line:#d6dfd7; --accent:#345b13; --accent-ink:#fff; --red:#a82128; --orange:#9a390e; --yellow:#815900; --green:#236331; --blue:#1d528a; }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--fg); }
main { max-width:1000px; margin:0 auto; padding:0 28px 70px; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:24px 0; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; gap:10px; align-items:center; color:var(--fg); text-decoration:none; font-weight:800; letter-spacing:-.04em; font-size:19px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; color:var(--accent-ink); background:var(--accent); font:500 13px var(--mono); border-radius:9px; letter-spacing:-.1em; }
.top-note,.hero-proof { color:var(--muted); font:12px var(--mono); }
.hero { max-width:800px; padding:76px 0 48px; }
.eyebrow,.about-label { color:var(--accent); font:500 11px/1.4 var(--mono); letter-spacing:.12em; }
h1 { max-width:760px; margin:16px 0 14px; font-size:clamp(42px,8vw,76px); line-height:.99; letter-spacing:-.065em; font-weight:700; }
.lede { max-width:690px; margin:0 0 34px; font-size:clamp(16px,2vw,19px); line-height:1.55; color:var(--muted); }
code,.mono,.evidence,pre { font-family:var(--mono); }
form { max-width:760px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--panel); box-shadow:0 22px 70px #0002; }
.field-label { display:block; margin:0 0 8px; font-size:13px; font-weight:700; }
.scan-row { display:flex; gap:10px; }
input[type=text] { min-width:0; flex:1; height:58px; padding:0 16px; border:1px solid var(--line); border-radius:10px; outline:none; background:var(--bg); color:var(--fg); font:16px var(--mono); }
input[type=text]::placeholder { color:var(--muted); opacity:.75; }
button,.button-link { border:0; min-height:46px; padding:0 18px; border-radius:10px; background:var(--accent); color:var(--accent-ink); font:700 14px var(--sans); text-decoration:none; cursor:pointer; transition:transform .16s ease,filter .16s ease; }
#scan-btn { display:flex; min-width:170px; height:58px; justify-content:space-between; align-items:center; padding:0 18px; font-size:15px; }
button:hover,.button-link:hover { filter:brightness(1.08); transform:translateY(-1px); }
button:disabled { cursor:wait; opacity:.55; transform:none; }
:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.hint { margin:9px 1px 12px; color:var(--muted); font:11px/1.5 var(--mono); }
.check { display:flex; align-items:flex-start; gap:9px; margin:9px 0; color:var(--muted); font-size:13px; cursor:pointer; }
.check input { accent-color:var(--accent); width:16px; height:16px; margin:2px 0 0; }
#turnstile { min-height:0; margin-top:8px; }
.one-line { margin:12px 0 0; color:var(--muted); font-size:12px; }
a { color:var(--accent); }
.hero-actions { display:flex; gap:22px; align-items:center; margin:16px 2px 0; }
.button-quiet,.button-outline { background:transparent; color:var(--fg); border:1px solid var(--line); min-height:40px; font-size:13px; }
.button-quiet { color:var(--accent); border-color:transparent; padding-left:0; }
.hero-proof { font-size:10px; }
#status { min-height:1px; margin:10px 0; color:var(--muted); font-size:13px; }
#status.error { color:var(--red); }
.progress-panel { max-width:760px; margin:0 0 30px; padding:20px 22px; border:1px solid var(--line); border-radius:16px; background:var(--panel); animation:rise .35s ease both; }
.progress-heading { display:flex; align-items:center; gap:10px; }
.progress-heading h2 { margin:0; font-size:17px; letter-spacing:-.02em; }
.live-dot { width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent); animation:pulse 1.25s infinite; }
#progress-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:17px 0 0; padding:0; }
#progress-list li { display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:7px; padding:8px 0; border-top:1px solid var(--line); color:var(--muted); font:12px var(--mono); }
.progress-mark { color:var(--muted); font-weight:700; text-align:center; }
.progress-found .progress-mark { color:var(--red); }.progress-clear .progress-mark { color:var(--green); }.progress-missing .progress-mark { color:var(--orange); }.progress-unavailable .progress-mark { color:var(--yellow); }
.progress-result { color:var(--muted); font:10px var(--sans); text-transform:uppercase; letter-spacing:.08em; }
#result,#sample-report { max-width:860px; scroll-margin-top:20px; }
.result-heading { display:flex; align-items:center; gap:22px; margin:34px 0 22px; }
.result-verdict h2 { margin:4px 0 2px; font-size:clamp(23px,4vw,34px); letter-spacing:-.045em; line-height:1.12; }
.result-verdict p { margin:0; }
.grade { position:relative; display:flex; flex:0 0 122px; height:122px; flex-direction:column; justify-content:center; align-items:center; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.grade-letter { font-size:55px; font-weight:800; line-height:.95; letter-spacing:-.07em; }
.grade-label { margin-top:8px; font:9px var(--mono); color:var(--muted); letter-spacing:.08em; }
.grade-score { color:var(--muted); font:10px var(--mono); }
.grade-a .grade-letter { color:var(--green); }.grade-b .grade-letter { color:var(--green); }.grade-c .grade-letter { color:var(--yellow); }.grade-d .grade-letter { color:var(--orange); }.grade-f .grade-letter { color:var(--red); }
.finding-list { display:grid; gap:12px; }
.finding-card { padding:20px 22px; border:1px solid var(--line); border-radius:14px; background:var(--panel); animation:rise .35s ease both; }
.finding-top { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.pill { display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border:1px solid currentColor; border-radius:4px; font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.pill::before { content:""; width:6px; height:6px; background:currentColor; border-radius:50%; }
.sev-critical { color:var(--red); }.sev-high { color:var(--orange); }.sev-medium { color:var(--yellow); }.sev-low { color:var(--blue); }.sev-info { color:var(--muted); }
.category-tag { color:var(--muted); font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.finding-card h3 { margin:0; font-size:18px; line-height:1.3; letter-spacing:-.025em; }
.consequence { max-width:760px; margin:8px 0 14px; color:var(--muted); }
.evidence-row { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; margin:7px 0 0; }
.evidence-label { flex:0 0 100px; color:var(--muted); font:10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.evidence { color:var(--fg); font-size:12px; overflow-wrap:anywhere; }
.fix-copy { margin:16px 0 10px; padding-top:14px; border-top:1px solid var(--line); }
.empty-result,.result-error,.paid-card { display:flex; gap:20px; align-items:center; padding:22px; margin:15px 0; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.empty-result h3,.result-error h2,.paid-card h3 { margin:3px 0; font-size:19px; letter-spacing:-.03em; }
.empty-result p,.paid-card p { margin:4px 0; color:var(--muted); }
.empty-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:var(--green); border:1px solid var(--green); font-size:22px; }
.result-error { display:block; border-color:color-mix(in srgb,var(--orange) 40%,var(--line)); }
.result-error p { color:var(--muted); }
.paid-card { justify-content:space-between; align-items:center; margin-top:22px; }
.paid-card > div:first-child { max-width:580px; }
.paid-action { flex:0 0 160px; display:grid; gap:4px; text-align:right; }
.paid-action strong { font-size:24px; letter-spacing:-.04em; }.paid-action span { color:var(--muted); font-size:11px; }
.button-link { display:inline-flex; justify-content:center; align-items:center; margin-top:8px; white-space:nowrap; }
.share-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; color:var(--muted); font-size:12px; }
.limitation { margin:26px 0; padding:15px 18px; border-left:2px solid var(--line); color:var(--muted); font-size:12px; }
.checks-details,.snippet-details,.details details { margin:20px 0; padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
summary { color:var(--fg); font-weight:700; font-size:14px; cursor:pointer; }
.check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; list-style:none; margin:12px 0 0; padding:0; }
.check-list li { display:grid; grid-template-columns:76px minmax(0,1fr); gap:5px; padding:9px 0; border-top:1px solid var(--line); font-size:12px; }
.check-status { color:var(--green); font:10px var(--mono); text-transform:uppercase; }
.check-found .check-status,.diff-new .check-status { color:var(--red); }.check-missing .check-status { color:var(--orange); }.check-unavailable .check-status { color:var(--yellow); }.diff-fixed .check-status { color:var(--green); }.diff-unchanged .check-status { color:var(--muted); }.diff-details h3 { margin:0; font-size:15px; }
.check-detail { grid-column:2; color:var(--muted); font-size:11px; }
.details { max-width:760px; margin:40px 0 30px; }
.details details { margin:0; }
.details-copy { color:var(--muted); font-size:13px; }.details-copy p { margin:14px 0 0; }.details-copy strong { color:var(--fg); }
.about { max-width:760px; display:flex; justify-content:space-between; align-items:center; gap:25px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about p { max-width:520px; margin:4px 0 0; color:var(--muted); font-size:14px; }
.price { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 12px; }.price .about-label { grid-column:1/-1; }.price strong { font-size:30px; letter-spacing:-.05em; }.price span:last-child { color:var(--muted); font-size:11px; }
.sample-banner { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--accent); border-radius:9px; color:var(--muted); font-size:11px; }
.fixture-tag { color:var(--accent); font:500 10px var(--mono); letter-spacing:.12em; }
.sample-report > .finding-card { margin-top:11px; }
.snippet-details select { margin:14px 0 0; padding:9px 11px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); font:inherit; }
.snippet { white-space:pre-wrap; overflow-wrap:anywhere; padding:14px; border-radius:8px; background:var(--bg); color:var(--fg); font:11px/1.6 var(--mono); }
footer { max-width:1000px; margin:0 auto; display:flex; flex-wrap:wrap; gap:9px; padding:20px 28px 30px; border-top:1px solid var(--line); color:var(--muted); font:11px var(--mono); }
footer a { margin-left:auto; }
.small { color:var(--muted); font-size:12px; }.paid-off { margin-top:20px; }
@keyframes pulse { 50% { opacity:.4; transform:scale(.85); } }
@keyframes rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:650px) {
  main { padding:0 18px 50px; }.topbar { padding:17px 0; }.top-note { max-width:130px; text-align:right; font-size:10px; }
  .hero { padding:56px 0 35px; }h1 { font-size:clamp(42px,12vw,60px); }.lede { font-size:16px; margin-bottom:25px; }
  form { padding:14px; }.scan-row { flex-direction:column; }.scan-row input { width:100%; flex:auto; height:54px; }.scan-row #scan-btn { width:100%; min-height:54px; height:54px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:4px; }.button-quiet { min-height:40px; }
  #progress-list { grid-template-columns:1fr; gap:0; }.progress-panel { padding:17px; }
  .result-heading { align-items:flex-start; gap:15px; }.grade { flex-basis:90px; height:100px; border-radius:14px; }.grade-letter { font-size:43px; }.grade-label { font-size:8px; }.result-verdict h2 { font-size:24px; }
  .finding-card { padding:17px; }.finding-card h3 { font-size:16px; }.consequence { font-size:14px; }.evidence-row { align-items:flex-start; flex-direction:column; gap:3px; }.evidence-label { flex:auto; }
  .paid-card { align-items:stretch; flex-direction:column; }.paid-action { text-align:left; flex:auto; }.paid-action .button-link { width:100%; }
  .share-row { align-items:flex-start; flex-direction:column; }.check-list { grid-template-columns:1fr; }.empty-result { align-items:flex-start; }
  .about { align-items:flex-start; }.about p { font-size:12px; }.price strong { font-size:25px; }
  footer { padding-left:18px; padding-right:18px; }footer a { margin-left:0; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
