:root{--ink:#0c2038;--muted:#53677d;--line:#dce6f0;--blue:#1767e8;--cyan:#18b9d8;--bg:#f6f9fc;--card:#fff;--code:#081a2c;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.72}a{color:#0b61c9;text-decoration:none}a:hover{text-decoration:underline}.top{background:#07182c;color:#fff;border-bottom:1px solid #1f3958;position:sticky;top:0;z-index:20}.top .in{max-width:var(--max);margin:auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:900;letter-spacing:.08em;color:#fff}.nav{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.nav a{color:#d8e8fb}.hero{background:linear-gradient(135deg,#07182c,#123f70 62%,#17335a);color:#fff;padding:42px 20px 56px}.wrap{max-width:var(--max);margin:auto}.crumbs{font-size:14px;color:#bed3ea}.crumbs a{color:#fff}.eyebrow{display:inline-block;margin-top:20px;border:1px solid #4f7faa;background:#0c2f51;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#aeefff}h1{font-size:clamp(37px,5.8vw,68px);line-height:1.06;margin:16px 0;max-width:980px}.lede{max-width:900px;font-size:19px;color:#d8e7f7}.heroimg{width:100%;display:block;border-radius:22px;margin-top:30px;box-shadow:0 26px 65px #0007;border:1px solid #ffffff22}.layout{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;padding:36px 20px 70px}.article{min-width:0}.sidebar{position:relative}.sticky{position:sticky;top:72px}.box,.card,.faq details,.lesson-nav{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #16314f0c}.box{padding:18px;margin-bottom:16px}.box h3{margin:0 0 10px;font-size:17px}.box ul{padding-left:18px;margin:0}.box li{margin:6px 0}.article h2{font-size:clamp(27px,4vw,40px);line-height:1.18;margin:44px 0 14px}.article h3{font-size:23px;line-height:1.3;margin-top:30px}.article p{font-size:17px}.intro{font-size:19px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:20px;border-radius:0 15px 15px 0}.keygrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0}.card{padding:18px}.card b{display:block;color:#0d5ec8;margin-bottom:6px}.example{background:#edf6ff;border:1px solid #cfe4fb;border-radius:15px;padding:20px;margin:22px 0}.code{position:relative;background:var(--code);color:#e8f2ff;border-radius:16px;overflow:hidden;margin:22px 0;border:1px solid #153857}.codehead{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0d2741;color:#bcd0e7;font-size:13px}.copy{border:1px solid #3b5d7e;background:#153857;color:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}.code pre{margin:0;padding:18px;overflow:auto;font-size:14px;line-height:1.55}.check{background:#fff9e9;border:1px solid #f1dfa2;border-radius:14px;padding:18px}.tablewrap{overflow:auto}.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.tbl th,.tbl td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{background:#0d2b4b;color:#fff}.practice{background:linear-gradient(135deg,#eef8ff,#f5f0ff);border:1px solid #d7e3f6;border-radius:18px;padding:22px}.faq details{padding:14px 17px;margin:10px 0}.faq summary{cursor:pointer;font-weight:800}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;margin-top:38px}.lesson-nav a{padding:12px;border-radius:10px;background:#f5f8fc}.footer{background:#07182c;color:#aac0d9;padding:34px 20px}.footer a{color:#dcecff}.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.module-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.module-card h2{font-size:24px;margin:5px 0}.pill{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#126cc9;font-weight:800}.topic-list{padding-left:18px}.topic-list li{margin:7px 0}.toc-mobile{display:none}.progress{position:fixed;left:0;top:0;height:3px;background:#20c5e5;width:0;z-index:50}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.toc-mobile{display:block}.modules{grid-template-columns:1fr}.nav{display:none}}@media(max-width:600px){h1{font-size:38px}.keygrid,.lesson-nav{grid-template-columns:1fr}.hero{padding-top:28px}.article p{font-size:16px}}.text-output{background:#f5f9ff;border:1px solid #cfdeee;border-radius:14px;padding:14px 16px;margin:-10px 0 22px}.text-output strong{display:block;color:#0d4e94;margin-bottom:6px}.text-output pre{white-space:pre-wrap;margin:0;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#18324d}.trybox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:24px 0}.trybox textarea{width:100%;min-height:220px;background:#081a2c;color:#e8f2ff;border:0;border-radius:12px;padding:14px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.try-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.try-actions button,.download-btn{border:0;border-radius:9px;padding:9px 13px;background:#1767e8;color:#fff;cursor:pointer;font-weight:700}.answerbox{background:#f7fbf7;border:1px solid #cfe5d3;border-radius:14px;padding:14px 17px;margin:10px 0}.answerbox summary{cursor:pointer;font-weight:800}.resource-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.resource-row a{display:inline-block;padding:9px 12px;background:#eef5ff;border:1px solid #cfe0f4;border-radius:10px;font-weight:700}.current{font-weight:900;color:#083f93}.curriculum details{margin:8px 0}.curriculum summary{cursor:pointer;font-weight:800}.curriculum ul{margin-top:8px}.updated{font-size:14px!important;color:#6a7a8d}.concept-list li{margin:10px 0}.source-list li{margin:8px 0}.authorbox{display:grid;grid-template-columns:50px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:28px}.avatar{width:46px;height:46px;border-radius:50%;background:#0d5ec8;color:#fff;display:grid;place-items:center;font-weight:900}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.practice-grid .card{height:100%}@media(max-width:700px){.practice-grid{grid-template-columns:1fr}}