:root{
  --red:#c8102e; --red-dark:#9c0c24; --ink:#17233b; --mut:#5a6a86; --bg:#f7f8fa;
  --card:#fff; --line:#e3e8f0; --green:#157347; --green-bg:#e6f4ec; --redbg:#fdecec;
  --radius:14px; --max:1060px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;gap:18px;padding:12px 0;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);font-size:1.05rem}
.logo:hover{text-decoration:none}
.logo .leaf{display:inline-flex;width:34px;height:34px;border-radius:9px;background:var(--red);color:#fff;align-items:center;justify-content:center;font-size:19px}
.nav nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.nav nav a{color:var(--ink);padding:8px 11px;border-radius:9px;font-size:.95rem;font-weight:600}
.nav nav a:hover{background:var(--bg);text-decoration:none;color:var(--red)}
.hero{background:linear-gradient(135deg,#a50d26,#d81f3e);color:#fff;padding:52px 0 46px}
.hero h1{font-size:2.15rem;line-height:1.2;margin:0 0 14px}
.hero p{font-size:1.08rem;opacity:.94;max-width:720px;margin:0 0 22px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;background:#fff;color:var(--red-dark);font-weight:700;padding:13px 22px;border-radius:11px;border:2px solid transparent}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn.primary{background:var(--red);color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
main{padding:34px 0 10px}
h1.page{font-size:1.9rem;line-height:1.25;margin:6px 0 10px}
h2{font-size:1.35rem;margin:30px 0 10px;line-height:1.3}
h3{font-size:1.08rem;margin:20px 0 6px}
p.lede{font-size:1.08rem;color:var(--mut);max-width:760px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:18px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{margin-top:0}
.card p{color:var(--mut);font-size:.95rem;margin:6px 0 12px}
.pill{display:inline-block;background:#fdeef0;color:var(--red-dark);font-weight:700;font-size:.8rem;padding:3px 10px;border-radius:99px;margin-bottom:8px}
.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;min-width:130px;text-align:center}
.stat b{display:block;font-size:1.5rem;color:var(--red)}
.stat span{font-size:.85rem;color:var(--mut)}
.factbox{background:#fff7e8;border:1px solid #f0dcb4;border-radius:var(--radius);padding:16px 18px;margin:20px 0}
.factbox b{color:#8a6d1a}
.ad-slot{border:1.5px dashed #c9d2e0;border-radius:var(--radius);color:#93a2b8;text-align:center;padding:22px 10px;font-size:.85rem;margin:26px 0;background:#fbfcfe}
table.spec{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:16px 0}
table.spec th,table.spec td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.97rem}
table.spec th{background:#f1f4f9;width:36%}
table.spec tr:last-child td,table.spec tr:last-child th{border-bottom:none}
details.faq{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 16px;margin:9px 0}
details.faq summary{font-weight:700;cursor:pointer}
details.faq p{color:var(--mut);margin:8px 0 2px}
footer.site{margin-top:44px;background:#101b30;color:#c6d0e2;padding:34px 0 26px;font-size:.93rem}
footer.site a{color:#e8edf5}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px}
footer h4{color:#fff;margin:0 0 10px;font-size:.98rem}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:5px 0}
.fine{border-top:1px solid #263650;margin-top:24px;padding-top:14px;color:#8fa0ba;font-size:.82rem}
/* ------- App (quiz) ------- */
.appbox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:20px 0;box-shadow:0 4px 22px rgba(23,35,59,.05)}
.chipbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:7px 14px;font-weight:600;cursor:pointer;font-size:.9rem}
.chip.active{background:var(--red);border-color:var(--red);color:#fff}
.progress-outer{background:#eef1f6;border-radius:99px;height:10px;overflow:hidden}
.progress-inner{background:var(--red);height:100%;width:0%;transition:width .3s}
.qmeta{display:flex;justify-content:space-between;align-items:center;color:var(--mut);font-size:.88rem;margin-bottom:8px;flex-wrap:wrap;gap:8px}
.timer{font-weight:800;color:var(--red-dark);font-variant-numeric:tabular-nums}
.qtext{font-size:1.14rem;font-weight:650;margin:6px 0 16px;line-height:1.45}
.opts{display:grid;gap:10px}
.opt{display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;background:#fbfcfe;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-size:1rem;cursor:pointer;color:var(--ink)}
.opt:hover{border-color:#b9c6da}
.opt .k{font-weight:800;color:var(--mut);flex:none}
.opt.correct{background:var(--green-bg);border-color:var(--green)}
.opt.wrong{background:var(--redbg);border-color:var(--red)}
.opt.picked{border-color:var(--ink)}
.opt:disabled{cursor:default;opacity:.96}
.explain{display:none;margin-top:14px;background:#f4f8ff;border:1px solid #d6e4f8;border-radius:12px;padding:13px 15px;font-size:.96rem}
.explain.show{display:block}
.explain b{color:var(--green)}
.qnav{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.qnav .btn{cursor:pointer;font-size:.97rem;padding:11px 19px}
.btn.dark{background:var(--ink);color:#fff}
.btn.line{background:#fff;color:var(--ink);border-color:var(--line)}
.result{text-align:center;padding:16px 6px}
.result .big{font-size:2.2rem;font-weight:800}
.pass{color:var(--green)} .fail{color:var(--red)}
.review{text-align:left;margin-top:16px}
.review .rq{border-top:1px solid var(--line);padding:12px 2px}
.review .rq p{margin:3px 0}
.hidden{display:none!important}
.chapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.chap{border:1.5px solid var(--line);border-radius:13px;padding:14px 15px;background:#fff;cursor:pointer;text-align:left}
.chap:hover{border-color:var(--red)}
.chap b{display:block;margin-bottom:3px}
.chap small{color:var(--mut)}
.chap .mini{margin-top:9px}
.pro-note{background:#f1f4f9;border:1px dashed #b9c6da;border-radius:var(--radius);padding:14px 17px;color:var(--mut);font-size:.93rem;margin:22px 0}
@media (max-width:640px){
  .hero h1{font-size:1.62rem}
  h1.page{font-size:1.5rem}
  body{font-size:16px}
  .nav nav a{padding:7px 8px;font-size:.88rem}
}
