:root{--ink:#15231f;--muted:#63716c;--paper:#f7f8f4;--card:#fff;--green:#0d7559;--green-dark:#075844;--lime:#dff3ad;--line:#dce3dd;--red:#b34040;--shadow:0 12px 35px rgba(21,35,31,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}.site-header{height:70px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-size:1.08rem;font-weight:750;color:var(--ink);text-decoration:none}.brand span{color:var(--green)}nav a,.back{color:var(--green-dark);text-decoration:none;font-weight:650}main{max-width:1120px;margin:auto;padding:0 24px 80px}.hero{padding:88px 0 64px;max-width:830px}.hero.compact{padding:55px 0 35px}.hero h1{font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.055em;margin:14px 0 22px}.hero.compact h1{font-size:clamp(2.2rem,5vw,3.8rem)}.hero p{font-size:1.18rem;color:var(--muted);max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:800;color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 17px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:42px 0 20px}.section-heading h2{font-size:2rem;margin:5px 0}.mode-grid,.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.card h3{margin:10px 0 6px}.card p{margin:0;color:var(--muted)}.step{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--lime);font-weight:800}.chapter-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.chapter-row{display:grid;grid-template-columns:55px 1fr auto;gap:18px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.chapter-row:last-child{border:0}.chapter-row h3,.chapter-row p{margin:0}.chapter-row p{color:var(--muted)}.chapter-number{font-weight:800;color:var(--green)}.chapter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.chapter-card{display:flex;flex-direction:column;gap:8px}.chapter-card .button{align-self:flex-start;margin-top:auto}.status{color:var(--muted);font-size:.85rem}.split{display:grid;grid-template-columns:1.35fr .65fr;gap:35px;margin-top:55px}.clean-list{padding:0;list-style:none}.clean-list li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative}.clean-list li:before{content:'✓';position:absolute;left:2px;color:var(--green);font-weight:900}.traps li:before{content:'!';color:#b06b15}.formula{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:12px}.formula code,.formula small{display:block}.formula code{font-size:1rem;color:var(--green-dark);padding:8px 0}.formula small{color:var(--muted)}.question-stack{max-width:820px}.question-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;margin:18px 0;box-shadow:var(--shadow)}.question-card h2{font-size:1.25rem}.question-meta{display:flex;gap:8px;flex-wrap:wrap}.question-meta span{background:#edf3ef;color:var(--green-dark);padding:4px 9px;border-radius:99px;font-size:.75rem;font-weight:750}.options{display:grid;gap:10px;margin:20px 0}.option{text-align:left;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;cursor:pointer}.option span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eef1ee;margin-right:10px;font-weight:800}.option.correct{border-color:var(--green);background:#eaf7f1}.option.incorrect{border-color:var(--red);background:#fff1f1}.feedback{border-top:1px solid var(--line);padding-top:15px}.text-button{border:0;background:none;padding:0;color:var(--green);font-weight:750;cursor:pointer}.nudge-box{background:#f4f7e9;padding:14px;border-radius:10px}.nudge-text{margin-bottom:0}.worksheet-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.worksheet-controls label{display:grid;gap:5px;font-weight:700}.worksheet-controls select,.worksheet-controls input{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.worksheet{background:#fff;padding:45px;border:1px solid var(--line);border-radius:16px}.worksheet-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:25px}.worksheet-head h1{margin:5px 0}.student-fields{line-height:2.2}.worksheet-question{break-inside:avoid;margin:25px 0}.answer{background:#eef7f2;border-left:4px solid var(--green);padding:10px 15px}.answer p{margin:5px 0}footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:760px){.mode-grid,.concept-grid,.split{grid-template-columns:1fr}.chapter-row{grid-template-columns:40px 1fr}.chapter-row .button,.chapter-row .status{grid-column:2}.hero{padding-top:55px}.site-header nav{display:none}.worksheet{padding:25px}.worksheet-head{display:block}.student-fields{margin-top:15px}}@media print{body{background:#fff}.site-header,footer,.no-print{display:none!important}main{max-width:none;padding:0}.worksheet{border:0;padding:0}.answer{background:none}}

/* Header brand polish for deployment */
.site-header{
  min-height:76px;
}
.logo-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:1.2rem;
  font-weight:850;
  letter-spacing:-.02em;
}
.logo-brand img{
  display:block;
  width:auto;
  height:44px;
  object-fit:contain;
}
.logo-brand span{
  color:var(--ink);
}
.site-nav{
  display:flex;
  align-items:center;
  gap:22px;
}
.site-nav a{
  font-size:1rem;
  font-weight:800;
}
@media(max-width:760px){
  .site-header{
    min-height:68px;
  }
  .logo-brand img{
    height:36px;
  }
  .logo-brand{
    font-size:1.05rem;
  }
}
