/* ASE Prep Lab — plain CSS, no frameworks, no external assets. */
:root { --ink:#1a1d21; --mut:#4b5563; --line:#d7dce2; --accent:#0b5cad; --bg:#ffffff; --soft:#f3f6f9; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.55; }
.site-header { border-bottom:1px solid var(--line); padding:.9rem 1rem; }
.brand { font-size:1.35rem; font-weight:700; margin:0 0 .3rem; }
.brand a { color:var(--ink); text-decoration:none; }
nav a { color:var(--accent); text-decoration:none; margin-right:.15rem; }
nav a:hover, a:hover { text-decoration:underline; }
nav a[aria-current="page"] { font-weight:700; }
main { max-width:820px; margin:0 auto; padding:1.2rem 1rem 2rem; }
h1 { font-size:1.8rem; line-height:1.25; margin:.4rem 0 .8rem; }
h2 { font-size:1.3rem; margin:1.8rem 0 .6rem; }
.promise { font-size:1.08rem; background:var(--soft); border:1px solid var(--line); border-radius:8px; padding:.8rem 1rem; }
ul.modules li, ul.workbooks li { margin:.55rem 0; }
a { color:var(--accent); }
ul.cards { list-style:none; padding:0; display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:640px){ ul.cards { grid-template-columns:1fr 1fr; } }
.card { border:1px solid var(--line); border-radius:8px; padding:1rem; background:var(--soft); }
.card h2 { margin:.1rem 0 .5rem; font-size:1.15rem; }
article.q { border:1px solid var(--line); border-radius:8px; padding:1rem 1.1rem; margin:1rem 0; }
article.q h3 { margin:.1rem 0 .5rem; font-size:1.05rem; }
.qid { color:var(--mut); font-weight:400; font-size:.9rem; }
article.q ol { margin:.4rem 0 .8rem; padding-left:1.6rem; }
details { border-top:1px dashed var(--line); padding-top:.6rem; }
summary { cursor:pointer; color:var(--accent); font-weight:600; }
footer { border-top:1px solid var(--line); color:var(--mut); padding:1rem; max-width:820px; margin:0 auto; font-size:.95rem; }
