*{box-sizing:border-box}body{margin:0;font:18px/1.6 system-ui,sans-serif;color:#222;background:#fafafa}
header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;background:#0b4f8a}header a{color:#fff;text-decoration:none;margin-right:1rem}.logo{font-weight:700;font-size:1.3rem}
main{max-width:820px;margin:auto;padding:1rem 1.2rem}h1{line-height:1.25}h2{color:#0b4f8a;margin-top:2rem}
.hero{background:#e8f1fb;padding:1.5rem;border-radius:12px}.pares{background:#fff6e0;padding:1rem 1.5rem;border-radius:12px}
.btn{display:inline-block;background:#0a8a4a;color:#fff;padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;margin:.3rem 0}.btn.alt{background:#0b4f8a}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:1rem}
.fig{width:100%;max-width:480px;display:block;margin:auto;background:#fff;border-radius:8px}.res{background:#e6f6ec;padding:.8rem;border-left:5px solid #0a8a4a;font-weight:600}
.cta{background:#e8f1fb;padding:1.2rem;border-radius:12px;margin:2rem 0}.katex-display{overflow-x:auto}
footer{font-size:.85rem;color:#555;max-width:820px;margin:auto;padding:1rem 1.2rem;border-top:1px solid #ddd}

.toc{background:#f4f6fb;border-radius:10px;padding:.7rem 1rem;margin:1rem 0}.assig h3{margin-top:1.5rem;border-bottom:2px solid #ddd;padding-bottom:.3rem}.card h4{margin:.2rem 0 .5rem}.card .btn{margin-top:.4rem}
