
:root{
  --bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#60708a;--primary:#315efb;
  --primary-dark:#2448c7;--accent:#10b981;--warning:#f59e0b;--danger:#ef4444;
  --border:#dfe5ef;--shadow:0 10px 30px rgba(30,50,90,.08);--radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}
a{color:var(--primary);text-decoration:none} a:hover{text-decoration:underline}
.site-header{background:#101a33;color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.header-inner{max-width:1180px;margin:auto;padding:14px 20px;display:flex;align-items:center;gap:20px}
.brand{font-weight:800;color:#fff;font-size:1.05rem;white-space:nowrap}.brand span{color:#7fa0ff}
.nav{display:flex;gap:6px;overflow:auto;scrollbar-width:thin}.nav a{color:#dce5ff;padding:8px 10px;border-radius:10px;white-space:nowrap;font-size:.9rem}.nav a:hover,.nav a.active{background:#24355f;text-decoration:none;color:#fff}
main{max-width:1000px;margin:0 auto;padding:34px 20px 70px}
.hero{background:linear-gradient(135deg,#315efb,#6948e8);color:#fff;border-radius:26px;padding:34px;box-shadow:var(--shadow);margin-bottom:26px}
.hero h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15}.hero p{margin:8px 0 0;color:#eaf0ff;max-width:760px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}
.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}
.callout{border-left:5px solid var(--primary);background:#eef3ff;padding:16px 18px;border-radius:12px;margin:18px 0}
.example{border-left-color:var(--accent);background:#ecfdf5}.warning{border-left-color:var(--warning);background:#fffbeb}
ul,ol{padding-left:24px}.term{font-weight:800}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#101a33;color:#eaf0ff;padding:16px;border-radius:12px;overflow:auto}
.exercise{background:#fff8e8;border:1px solid #f5d48a;border-radius:16px;padding:18px;margin-top:18px}
.exercise ol{margin-bottom:0}
.quiz-question{border-top:1px solid var(--border);padding:18px 0}.quiz-question:first-child{border-top:0}
.option{display:block;padding:9px 12px;border:1px solid var(--border);border-radius:10px;margin:8px 0;cursor:pointer;background:#fff}
.option:hover{border-color:#9cb0e8;background:#f7f9ff}.option input{margin-right:9px}
button,.btn{border:0;border-radius:12px;background:var(--primary);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-block}
button:hover,.btn:hover{background:var(--primary-dark);text-decoration:none}.btn.secondary{background:#e9edf7;color:#172033}.btn.secondary:hover{background:#dce3f3}
.quiz-result{display:none;margin-top:16px;padding:16px;border-radius:12px;background:#ecfdf5;border:1px solid #a7e4c8}
.lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.lesson-nav a{max-width:48%}
.progress{height:9px;background:#dfe5ef;border-radius:999px;overflow:hidden;margin:12px 0 20px}.progress span{display:block;height:100%;background:#315efb}
table{width:100%;border-collapse:collapse;margin:14px 0}th,td{padding:10px;border:1px solid var(--border);text-align:left}th{background:#f1f4f9}
footer{background:#101a33;color:#cdd7ef;padding:26px 20px;text-align:center}
.small{font-size:.9rem}
@media(max-width:760px){
 .header-inner{align-items:flex-start;flex-direction:column;gap:8px}.nav{width:100%}
 main{padding:20px 14px 50px}.hero{padding:25px 20px;border-radius:20px}.grid{grid-template-columns:1fr}
 .card{padding:18px}.lesson-nav{flex-direction:column}.lesson-nav a{max-width:100%}
 table{font-size:.9rem}
}
