:root{--brand:#0f6e6e;--brand-d:#0a4f50;--accent:#ff8a3d;--ink:#1d2433;--muted:#5b6475;--bg:#f6f8fb;--card:#fff;--line:#e3e8ef;--ok:#15803d;--bad:#b91c1c;--r:14px;--shadow:0 1px 2px rgba(16,24,40,.06),0 4px 16px rgba(16,24,40,.06)}
*{box-sizing:border-box}
body{margin:0;font:18px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand);text-underline-offset:3px}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.8rem,5vw,2.7rem);margin:.2em 0 .4em}h2{font-size:clamp(1.35rem,3.5vw,1.75rem);margin-top:1.8em}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.narrow{max-width:760px}
/* header */
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{display:flex;gap:10px;align-items:center;font-weight:800;color:var(--ink);text-decoration:none;font-size:1.05rem}
.logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#18a0a0);display:grid;place-items:center;color:#fff;font-size:1rem}
.logo small{display:block;font-weight:500;color:var(--muted);font-size:.72rem;margin-top:-3px}
.nav,.nav ul{display:flex;flex-wrap:wrap;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.nav li{list-style:none;margin:0;padding:0}
.nav a{display:block;padding:8px 10px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap}
.nav a:hover,.nav a.on,.nav .current-menu-item>a{background:#e8f3f3;color:var(--brand-d)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:1rem;color:var(--ink)}
@media(max-width:980px){.nav a{padding:8px 8px;font-size:.82rem}}
@media(max-width:820px){.nav,.nav ul{display:none;position:absolute;top:62px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 18px;border-bottom:1px solid var(--line)}.nav.open,.nav.open ul{display:flex}.menu-btn{display:block}}
/* hero */
.hero{background:radial-gradient(1200px 400px at 10% -10%,#d7f0ef,transparent),linear-gradient(180deg,#fff,#f6f8fb);padding:48px 0 30px}
.eyebrow{display:inline-block;background:#fff3ea;color:#b4530f;font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:640px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;font-weight:700;padding:12px 20px;border-radius:12px;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--brand-d)}.btn.ghost{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.btn.accent{background:var(--accent)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.fact{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.fact b{display:block;font-size:1.35rem;color:var(--brand-d)}.fact span{font-size:.82rem;color:var(--muted)}
@media(max-width:640px){.facts{grid-template-columns:repeat(2,1fr)}}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);display:block;transition:transform .12s}
a.card:hover{transform:translateY(-2px);border-color:#b9dcdc}
.card h3{margin:.1em 0 .3em;font-size:1.08rem}.card p{margin:0;color:var(--muted);font-size:.92rem}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#e8f3f3;color:var(--brand-d);margin-bottom:6px}
.tag.mock{background:#fff3ea;color:#b4530f}
main{padding:10px 0 50px}
.content{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,4vw,40px);margin-top:16px}
.crumbs{font-size:.85rem;color:var(--muted);margin-top:16px}.crumbs a{color:var(--muted)}
.updated{font-size:.85rem;color:var(--muted)}
.note{background:#f0f7ff;border-left:4px solid #3b82f6;padding:12px 16px;border-radius:8px;font-size:.95rem}
table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}th{background:#f6f8fb}
details{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0;background:#fff}summary{font-weight:700;cursor:pointer}
/* ad slots: reserve height to avoid CLS */
.ad-slot{margin:26px auto;text-align:center;min-height:280px;background:repeating-linear-gradient(45deg,#f3f5f8,#f3f5f8 10px,#eef1f5 10px,#eef1f5 20px);border-radius:10px;display:flex;flex-direction:column;justify-content:center;max-width:100%}
.ad-slot .ad-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#98a2b3}
.ad-slot.live{background:none}
@media(min-width:900px){.ad-slot{min-height:250px}}
/* quiz */
.quiz{max-width:760px;margin:0 auto}
.q-progress{height:8px;background:#e6ebf1;border-radius:999px;overflow:hidden;margin:8px 0 18px}.q-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#22b3b3);transition:width .3s}
.q-meta{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted)}
.q-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);margin-bottom:14px}
.q-card h3{font-size:1.12rem;margin:0 0 14px;font-weight:650}
.q-opt{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px 13px 46px;margin:8px 0;font:inherit;font-size:1rem;line-height:1.45;cursor:pointer;position:relative;color:var(--ink)!important;-webkit-appearance:none;appearance:none;box-shadow:none}
.q-opt:before{content:attr(data-l);position:absolute;left:12px;top:11px;width:24px;height:24px;border-radius:50%;background:#eef2f6;color:var(--ink);font-weight:700;font-size:.8rem;display:grid;place-items:center}
.q-opt:hover:not([disabled]){border-color:var(--brand);background:#e8f3f3!important;color:var(--ink)!important}
.q-opt:hover:not([disabled]):before{background:#cfe8e8;color:var(--ink)}
.q-opt:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.q-opt:disabled{opacity:1;cursor:default}
.q-opt.right{border-color:var(--ok);background:#effaf2;color:var(--ink)!important}.q-opt.right:before{background:var(--ok);color:#fff}
.q-opt.wrong{border-color:var(--bad);background:#fdf0f0;color:var(--ink)!important}.q-opt.wrong:before{background:var(--bad);color:#fff}
.q-exp{margin-top:10px;padding:12px 14px;background:#f6f8fb;border-radius:10px;font-size:.95rem}
.q-nav{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.q-result{text-align:center}.q-score{font-size:3rem;font-weight:800;color:var(--brand-d)}.q-pass{color:var(--ok);font-weight:700}.q-fail{color:var(--bad);font-weight:700}
.q-timer{font-variant-numeric:tabular-nums;font-weight:700}
.review li{margin:6px 0}
/* directory */
.prog{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:10px 0;background:#fff}
.prog h3{margin:0 0 4px;font-size:1.05rem}.prog .row{font-size:.93rem;color:var(--muted)}.prog .row a{font-weight:600}
.filter{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;margin:8px 0 4px}
footer.site-foot{background:#0d1b2a;color:#c9d3df;padding:34px 0;font-size:.9rem}footer a{color:#e6edf5}
footer.site-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 18px}footer.site-foot li{list-style:none;margin:0;padding:0}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}@media(max-width:700px){footer .cols{grid-template-columns:1fr}}

/* next quiz CTA */
.next-quiz{margin:28px 0 8px;padding:22px 20px;border:1.5px solid #b9dcdc;border-radius:var(--r);background:linear-gradient(180deg,#f3fbfb,#e8f3f3);text-align:center}
.next-quiz .eyebrow{margin-bottom:8px}
.next-quiz .btn{font-size:1.05rem;padding:14px 28px}
.next-quiz .alt{margin:14px 0 0;font-size:.92rem;color:var(--muted)}
.next-quiz .alt a{color:var(--brand);font-weight:600;text-decoration:none}
.next-quiz .alt a:hover{text-decoration:underline}
