:root{
  --bg:#f6f7f9; --surface:#ffffff; --surface-2:#f0f2f5;
  --text:#1c1c1e; --text-soft:#3a3a3c; --text-muted:#6b7280;
  --hairline:rgba(0,0,0,.10); --hairline-strong:rgba(0,0,0,.16);
  --accent:#0071e3; --accent-soft:rgba(0,113,227,.10); --accent-border:rgba(0,113,227,.24);
  --shadow:0 1px 2px rgba(0,0,0,.04),0 12px 28px -18px rgba(0,0,0,.30);
  --radius:16px; --radius-sm:11px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0d1117; --surface:#161b22; --surface-2:#1c222b;
  --text:#e6edf3; --text-soft:#c9d1d9; --text-muted:#8b949e;
  --hairline:rgba(255,255,255,.10); --hairline-strong:rgba(255,255,255,.16);
  --accent:#0a84ff; --accent-soft:rgba(10,132,255,.14); --accent-border:rgba(10,132,255,.34);
  --shadow:0 1px 2px rgba(0,0,0,.30),0 16px 36px -22px rgba(0,0,0,.75);
}}
*{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:clip;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;font-size:16px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.wrap-wide{max-width:1040px;margin:0 auto;padding:0 20px}
/* header */
.site-hd{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem max(20px,calc((100% - 1040px)/2));
  background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline)}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:650;color:var(--text);font-size:1.02rem}
.brand:hover{text-decoration:none}
.hd-nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.hd-link{color:var(--text-soft);font-weight:560;font-size:.9rem;padding:.4rem .6rem;border-radius:9px}
.hd-link:hover{color:var(--text);text-decoration:none;background:var(--surface-2)}
.btn{display:inline-flex;align-items:center;gap:.4rem;font-weight:620;font-size:.92rem;border-radius:11px;
  padding:.6rem 1.05rem;cursor:pointer;border:1px solid transparent;transition:filter .15s ease}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.06);text-decoration:none}
.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--hairline-strong)}
.btn-ghost:hover{background:var(--surface-2);text-decoration:none}
.btn-lg{font-size:1rem;padding:.75rem 1.4rem;border-radius:13px}
/* breadcrumb */
.crumbs{font-size:.82rem;color:var(--text-muted);margin:1.6rem 0 .2rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.crumbs a{color:var(--text-muted)}
.crumbs a:hover{color:var(--text)}
.crumbs .sep{opacity:.5}
/* headings */
h1{font-size:clamp(1.7rem,4vw,2.3rem);font-weight:740;letter-spacing:-.02em;line-height:1.12;margin:.5rem 0 .8rem}
h2{font-size:1.3rem;font-weight:680;letter-spacing:-.01em;margin:2.4rem 0 .9rem}
h3{font-size:1.02rem;font-weight:640;margin:1.4rem 0 .5rem}
p{margin:.7rem 0;color:var(--text-soft)}
.lead{font-size:1.08rem;color:var(--text-soft)}
/* meta chips */
.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0 0}
.tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;padding:.3rem .65rem;
  border-radius:999px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--hairline);white-space:nowrap}
a.tag:hover{color:var(--text);text-decoration:none;border-color:var(--hairline-strong)}
.tag-on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}
.tag-d-Easy{color:#1a7f37;border-color:rgba(26,127,55,.3);background:rgba(26,127,55,.10)}
.tag-d-Medium{color:#9a6700;border-color:rgba(154,103,0,.3);background:rgba(154,103,0,.10)}
.tag-d-Hard{color:#cf222e;border-color:rgba(207,34,46,.3);background:rgba(207,34,46,.10)}
@media (prefers-color-scheme:dark){
  .tag-d-Easy{color:#3fb950;background:rgba(63,185,80,.14)}
  .tag-d-Medium{color:#d29922;background:rgba(210,153,34,.14)}
  .tag-d-Hard{color:#f85149;background:rgba(248,81,73,.14)}
}
/* cards / sections */
.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.25rem 1.4rem;box-shadow:var(--shadow)}
.section{margin:1.6rem 0}
/* data tables */
.tbl-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;font-weight:650;color:var(--text);margin:1.1rem 0 .35rem}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}
table.data{border-collapse:collapse;width:100%;font-size:.84rem}
table.data th,table.data td{padding:.45rem .7rem;text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap}
table.data th{background:var(--surface-2);font-weight:620;color:var(--text-soft);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}
table.data tr:last-child td{border-bottom:none}
table.data td{color:var(--text-soft);font-variant-numeric:tabular-nums}
.tbl-cap{font-size:.76rem;color:var(--text-muted);margin:.35rem 0 0}
/* code */
pre.code{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);
  max-width:100%;min-width:0;padding:.85rem 1rem;overflow-x:auto;margin:.5rem 0}
pre.code code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;color:var(--text);white-space:pre}
code.inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--surface-2);
  border:1px solid var(--hairline);border-radius:6px;padding:.08em .38em}
/* CTA block */
.cta{margin:2rem 0;padding:1.5rem;border-radius:var(--radius);background:var(--accent-soft);
  border:1px solid var(--accent-border);text-align:center}
.cta h2{margin:0 0 .3rem;font-size:1.2rem}
.cta p{margin:.2rem 0 1rem;color:var(--text-soft)}
.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.cta-row-start{justify-content:flex-start;margin:1rem 0}
.muted-sm{font-size:.8rem;color:var(--text-muted);margin-top:.7rem}
/* locked solution */
.locked{margin:2rem 0;padding:1.4rem 1.5rem;border-radius:var(--radius);border:1px dashed var(--hairline-strong);
  background:var(--surface);display:flex;gap:1rem;align-items:flex-start}
.locked .ico{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--surface-2);color:var(--text-muted)}
.locked h2{margin:0 0 .25rem;font-size:1.08rem}
.locked p{margin:0 0 .9rem}
/* lists of questions */
.q-list{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.1rem}
.q-list li{border-bottom:1px solid var(--hairline)}
.q-list li:last-child{border-bottom:none}
.q-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .2rem;color:var(--text)}
.q-list a:hover{text-decoration:none;color:var(--accent)}
.q-list .q-t{font-weight:540;font-size:.96rem}
.q-list .q-meta{flex:none;display:flex;gap:.4rem;align-items:center}
/* browse grid */
.grid{display:grid;gap:1rem;margin:1rem 0}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.browse-card{display:block;padding:1.2rem 1.3rem;border-radius:var(--radius);background:var(--surface);
  border:1px solid var(--hairline);box-shadow:var(--shadow);color:var(--text)}
.browse-card:hover{text-decoration:none;border-color:var(--hairline-strong)}
.browse-card .bc-h{font-weight:660;font-size:1.05rem;display:flex;align-items:center;justify-content:space-between}
.browse-card .bc-n{font-size:.82rem;color:var(--text-muted);font-weight:600}
.browse-card p{margin:.35rem 0 0;font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
/* on-this-page nav */
.toc{margin:1.2rem 0;padding:.9rem 1.1rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--hairline);font-size:.9rem}
.toc strong{display:block;margin-bottom:.35rem;color:var(--text-soft)}
.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
/* deep-dive guide link */
.deep-dive{padding:.9rem 1.1rem;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-border)}
.deep-dive p{margin:0;color:var(--text-soft)}
/* blog article body */
.post-meta{font-size:.86rem;color:var(--text-muted);margin:.2rem 0 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.post-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--hairline)}
.post-body ul,.post-body ol{color:var(--text-soft);padding-left:1.3rem}
.post-body li{margin:.3rem 0}
.post-body blockquote{margin:1rem 0;padding:.2rem 1rem;border-left:3px solid var(--accent-border);color:var(--text-muted)}
.byline{display:flex;align-items:center;gap:.6rem;margin:1.6rem 0;padding:.9rem 1.1rem;border-radius:var(--radius-sm);
  background:var(--surface);border:1px solid var(--hairline);font-size:.88rem;color:var(--text-muted)}
.byline-post{margin-top:1.6rem}
.byline a{font-weight:600}
/* printable acquisition resource */
.resource-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.35rem 0 .4rem}
.print-note{font-size:.82rem;color:var(--text-muted)}
.resource-intro{padding:1rem 1.2rem;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft)}
.resource-intro h2{margin-top:0}
.resource-intro ol{margin:.55rem 0;padding-left:1.25rem;color:var(--text-soft)}
.resource-table{margin:1rem 0 1.35rem}
.resource-table table.data th,.resource-table table.data td{white-space:normal;vertical-align:top;min-width:145px}
.resource-table table.data th:first-child,.resource-table table.data td:first-child{min-width:170px}
.check-box{display:inline-block;width:15px;height:15px;margin-right:.45rem;border:1.5px solid var(--hairline-strong);border-radius:4px;vertical-align:-2px;background:var(--surface)}
.score-guide{padding:.85rem 1rem;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.score-guide h3{margin:.1rem 0 .3rem}.score-guide p{margin:0}
.resource-grid .card h3{margin:.05rem 0 .35rem}.resource-grid .card p{margin:0}
.plan-list{display:grid;gap:.75rem;margin:1rem 0}
.plan-day{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface)}
.plan-day-number{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-weight:720;font-variant-numeric:tabular-nums}
.plan-day h3{margin:.05rem 0 .25rem}.plan-day p{margin:.25rem 0}.plan-day a{display:inline-block;margin-top:.25rem;font-weight:620}
.plan-outcome{font-size:.9rem;color:var(--text-muted)}
.final-gate .check-list{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.65rem;color:var(--text-soft)}
.final-gate .check-list li{display:flex;align-items:flex-start}.final-gate .check-box{flex:none;margin-top:.25rem}
@media (max-width:560px){
  .resource-actions{display:grid}.resource-actions .btn{justify-content:center}
  .resource-table{margin-left:-20px;margin-right:-20px;border-left:0;border-right:0;border-radius:0}
  .plan-day{grid-template-columns:34px 1fr;padding:.9rem}.plan-day-number{width:32px;height:32px;border-radius:9px}
}
@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#f5f5f7;--text:#111;--text-soft:#222;--text-muted:#555;--hairline:#bbb;--hairline-strong:#888;--accent:#005bb5;--accent-soft:#eef6ff;--accent-border:#aacbed;--shadow:none}
  body{font-size:10pt}.site-hd,.site-ft,.no-print{display:none!important}.wrap{max-width:none;padding:0}
  h1{font-size:22pt}h2{font-size:15pt;margin-top:1.35rem}h3{font-size:11pt}
  .resource-intro,.score-guide,.card,.plan-day,.tbl-wrap{box-shadow:none;break-inside:avoid}
  .resource-table{overflow:visible}.resource-table table.data{font-size:8.5pt}.resource-table table.data th,.resource-table table.data td{padding:.35rem;min-width:0}
  a{color:inherit;text-decoration:none}
}
/* footer */
.site-ft{margin-top:3rem;border-top:1px solid var(--hairline);padding:2rem 0 3rem}
.site-ft .wrap-wide{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.ft-links{display:flex;gap:1rem;font-size:.86rem}
.ft-links a{color:var(--text-muted)}
.ft-tag{font-size:.84rem;color:var(--text-muted)}
@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}.hd-nav .hd-link{display:none}}
