:root{
  --bg:#f7f5f1;
  --surface:#ffffff;
  --surface-2:#efebe3;
  --text:#1a1d1f;
  --text-dim:#5b6167;
  --accent:#a8560a;
  --accent-2:#7a3f08;
  --rule:#dcd6ca;
  --code-bg:#efebe3;
  --good:#3f7a45;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1214;
    --surface:#161a1c;
    --surface-2:#1d2225;
    --text:#e8e6e1;
    --text-dim:#9aa0a6;
    --accent:#f5a623;
    --accent-2:#ffc466;
    --rule:#2a2f33;
    --code-bg:#1d2225;
    --good:#6cbf72;
  }
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Newsreader', Georgia, 'Times New Roman', serif;
  font-size:17px;
  line-height:1.65;
}
.mono{font-family:'JetBrains Mono', ui-monospace, Menlo, monospace;}
img{max-width:100%;}
a{color:inherit;}
:where(a, button):focus-visible{outline:3px solid var(--accent-2);outline-offset:3px;}
.wrap{max-width:720px;margin:0 auto;padding-inline:20px;}
.wrap-wide{max-width:980px;margin:0 auto;padding-inline:20px;}

header.site{
  position:sticky;top:0;background:var(--bg);
  border-bottom:1px solid var(--rule);z-index:20;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap;}
.brand{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;}
.nav-links{display:flex;gap:20px;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;}
.nav-links a{color:var(--text-dim);text-decoration:none;}
.nav-links a:hover{color:var(--accent);}

.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}

.hero{padding-block:56px 36px;border-bottom:1px solid var(--rule);}
.hero h1{font-family:'Newsreader',serif;font-weight:600;font-size:clamp(30px,5.5vw,48px);line-height:1.1;margin:14px 0 16px;text-wrap:balance;}
.hero p.lede{font-size:18px;color:var(--text-dim);max-width:560px;margin:0 0 20px;}

.disclosure-bar{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-dim);border-top:1px solid var(--rule);padding-block:10px;line-height:1.5;}

section{padding-block:48px;border-bottom:1px solid var(--rule);}
section:last-of-type{border-bottom:none;}
h2.section-title{font-family:'Newsreader',serif;font-weight:600;font-size:26px;margin:0 0 6px;}
.section-sub{color:var(--text-dim);margin:0 0 26px;font-size:15px;}

/* directory grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:18px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:8px;}
.card:hover{border-color:var(--accent);}
.card .cat{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);}
.card h3{margin:0;font-size:18px;font-family:'Newsreader',serif;}
.card p{margin:0;font-size:14px;color:var(--text-dim);}

/* pick / CTA */
.pick{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:16px 18px;margin:18px 0 26px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.pick-info{flex:1;min-width:180px;}
.pick-name{font-weight:600;margin:0 0 3px;}
.pick-name a{text-decoration:none;}
.pick-name a:hover{color:var(--accent);}
.pick-note{color:var(--text-dim);font-size:14px;margin:0;}
.pick-link{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;background:var(--accent);color:#1a1204;text-decoration:none;padding:9px 14px;border-radius:4px;white-space:nowrap;}

ul.plain{padding-left:20px;margin:0 0 18px;}
ul.plain li{margin-bottom:6px;}
.tag{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);border:1px solid var(--rule);border-radius:3px;padding:3px 8px;display:inline-block;margin:2px 6px 2px 0;}

/* tool detail */
.tool-head{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-start;}
.price-box{background:var(--surface-2);border-radius:6px;padding:14px 16px;font-size:14px;min-width:220px;}
.price-box .label{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;}
.pros-cons h4{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;}
.verified{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dim);}
.sources{margin:28px 0 16px;padding-top:20px;border-top:1px solid var(--rule);}
.sources h3{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;}
.sources ul{margin:0;padding-left:20px;font-size:13px;color:var(--text-dim);}
.sources a{overflow-wrap:anywhere;}
@media (max-width:520px){.pros-cons{grid-template-columns:1fr;}}

/* recommender */
.quiz{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:24px;}
.quiz-q{margin-bottom:22px;}
.quiz-q p.q{font-weight:600;margin:0 0 10px;}
.quiz-options{display:flex;flex-wrap:wrap;gap:8px;}
.quiz-options button{
  font-family:'Newsreader',serif;font-size:15px;
  background:var(--surface-2);border:1px solid var(--rule);color:var(--text);
  border-radius:20px;padding:8px 16px;cursor:pointer;
}
.quiz-options button[aria-pressed="true"]{background:var(--accent);color:#1a1204;border-color:var(--accent);}
#quiz-submit{
  font-family:'JetBrains Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:.04em;
  background:var(--accent);color:#1a1204;border:none;border-radius:5px;padding:12px 20px;cursor:pointer;margin-top:6px;
}
#quiz-submit:disabled{opacity:.4;cursor:not-allowed;}
.results{margin-top:26px;}
.result-card{border:1px solid var(--rule);border-radius:6px;padding:18px;margin-bottom:14px;background:var(--surface);}
.result-rank{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);}
.result-why{font-size:14px;color:var(--text-dim);margin-top:8px;}
.result-why ul{margin:6px 0 0;padding-left:18px;}
[hidden]{display:none!important;}

footer{padding-block:32px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--text-dim);line-height:1.7;}
