:root{--g950:#102d1b;--g900:#174a2a;--g700:#2f7d4a;--g100:#eef8f1;--g200:#dcefe3;--y:#f4b942;--ink:#1f2d24;--muted:#64746a;--danger:#b42318;--success:#1f7a3f;--shadow:0 16px 42px rgba(23,74,42,.14);--radius:22px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;line-height:1.65}a{text-decoration:none}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #dbe8df;padding:14px 7%;display:flex;justify-content:space-between;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:12px;color:var(--g900)}.brand-icon{width:44px;height:44px;border-radius:50%;background:var(--g100);display:grid;place-items:center;font-size:1.4rem}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:.86rem}.nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.nav a{color:var(--g900);font-weight:800}.nav .pill{padding:8px 13px;border-radius:999px;background:var(--g100)}.nav .logout{background:#fff0ef;color:var(--danger);padding:8px 13px;border-radius:999px}.hero{min-height:70vh;display:flex;align-items:center;padding:80px 7%;color:white;background:radial-gradient(circle at 82% 18%,rgba(244,185,66,.32),transparent 28%),linear-gradient(135deg,var(--g950),var(--g700))}.hero.small{min-height:36vh}.eyebrow{color:var(--y);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:900}.hero h1{max-width:1050px;font-size:clamp(2.1rem,4.4vw,4.7rem);line-height:1.05;margin:10px 0 18px}.hero-text{max-width:890px;font-size:1.15rem;color:#edf7ef}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 19px;font-weight:900;cursor:pointer;text-decoration:none}.btn.primary{background:var(--y);color:#241700}.btn.secondary{background:var(--g900);color:white}.btn.ghost{background:white;color:var(--g900);border:1px solid var(--g200)}.section{padding:66px 7%}.soft{background:var(--g100)}.section-heading{max-width:920px;margin-bottom:28px}.section-heading h2{color:var(--g900);font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.15;margin:6px 0 10px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card,.lesson,.box,.question,.stat{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card h3,.lesson h3,.box h3,.stat h3{color:var(--g900);margin-top:0}.card .code{display:inline-block;color:var(--g900);background:var(--g100);border-radius:999px;padding:5px 10px;font-weight:900;font-size:.84rem}.lesson{border-left:7px solid var(--g700);margin-bottom:18px}.tag{display:inline-block;background:var(--g100);color:var(--g900);padding:6px 12px;border-radius:999px;font-weight:900;font-size:.86rem}.auth-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--g950),var(--g700));padding:30px}.auth-card{width:min(520px,100%);background:white;border-radius:26px;box-shadow:var(--shadow);padding:32px}.auth-card h1{color:var(--g900);margin-top:0}.form-group{margin-bottom:15px}label{font-weight:800;color:var(--g900)}input,textarea,select{width:100%;border:2px solid var(--g200);border-radius:14px;padding:12px 14px;font-size:1rem;font-family:Arial,Helvetica,sans-serif}textarea{min-height:120px}.alert{border-radius:14px;padding:12px 14px;margin:12px 0;font-weight:800}.alert.error{background:#fff0ef;color:var(--danger);border-left:6px solid var(--danger)}.alert.success{background:#e8f7ee;color:var(--success);border-left:6px solid var(--success)}.progress{height:24px;background:var(--g100);border-radius:999px;overflow:hidden;border:1px solid var(--g200)}.progress div{height:100%;width:0%;background:linear-gradient(90deg,var(--g700),var(--y));transition:width .3s ease}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}th,td{padding:13px 14px;border-bottom:1px solid #edf3ef;text-align:left}th{background:var(--g900);color:white}.footer{text-align:center;background:var(--g950);color:white;padding:28px 7%}@media(max-width:980px){.grid,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.grid,.grid-4{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}
