*{box-sizing:border-box}body{margin:0;background:#f5faff;color:#17364f;font:16px/1.75 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{color:#075da5}.foundation{max-width:1220px;padding:28px 20px 70px;margin:auto}.course-hero{background:linear-gradient(135deg,#d7eeff,#eff8ff 68%,#fff);border:1px solid #bbdcf4;box-shadow:0 18px 40px #155b9311;padding:clamp(24px,4vw,48px);border-radius:26px}.eyebrow,.unit-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#17639c}.course-hero h1{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.15;margin:8px 0 15px;color:#104c7e}.lead{max-width:800px;font-size:1.18rem;margin:0 0 12px}.course-meta{color:#416c8a}.primary-actions,.topic-nav,.chapter-bottom{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.primary-actions a,.topic-nav a,.chapter-bottom a{display:inline-block;background:#fff;border:1px solid #a9d2ee;text-decoration:none;color:#07578f;font-weight:750;padding:10px 14px;border-radius:11px}.primary-actions a.primary-button,.topic-nav a[aria-current="page"]{color:#fff;background:#1267a5;border-color:#1267a5}.learning-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:25px;margin-top:30px;align-items:start}.outline{position:sticky;top:95px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid #c9e0f1;background:white;border-radius:18px;padding:18px;box-shadow:0 6px 22px #10456c0c}.outline h2{font-size:1.05rem;margin:0 0 10px;color:#104b7d}.outline a{display:block;padding:6px 8px;border-radius:8px;color:#195d90;font-size:.87rem;text-decoration:none}.outline a:hover,.outline a:focus{background:#eaf5ff;text-decoration:underline}.chapters{min-width:0}.lesson-unit{scroll-margin-top:100px;margin-bottom:20px;background:#fff;border:1px solid #c9dfef;border-radius:20px;box-shadow:0 8px 26px #0a5d960c;padding:clamp(18px,3vw,30px)}.lesson-unit h2{font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.26;margin:7px 0 12px;color:#0c5b98}.lesson-unit p{margin:10px 0}.concept{background:#f0f8ff;border-left:4px solid #40a0df;padding:13px 16px;border-radius:9px}.code-example{border:1px solid #bed7ec;border-radius:14px;overflow:hidden;margin:20px 0}.code-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 13px;background:#e6f3ff;font-weight:750;color:#164c79;font-size:.85rem}.copy-code{border:1px solid #8fbedf;color:#075c94;background:white;border-radius:8px;font:inherit;cursor:pointer;padding:6px 12px}.copy-code:focus-visible,.topic-nav a:focus-visible{outline:3px solid #eea82a;outline-offset:2px}pre{max-width:100%;margin:0;padding:17px 20px;overflow-x:auto;background:#12293d;color:#f2fbff;tab-size:4;line-height:1.7;font:14px/1.65 Consolas,Monaco,monospace}pre.output{background:#edf8ff;color:#174567}.output-title{background:#d1eafc;padding:7px 13px;font-weight:750;color:#174d75;font-size:.83rem}.challenge details{padding:14px 0;border-top:1px solid #d6e8f5}.challenge details summary{cursor:pointer;font-weight:750;color:#0863a5}.table-scroll{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px}td,th{border:1px solid #cfe2ef;padding:10px 12px;text-align:left}th{background:#e1f2ff;color:#134c78}caption{text-align:left;font-weight:700;margin:6px 0}.credits{color:#55718b;text-align:center;font-size:.88rem}.chapter-bottom{justify-content:space-between}.chapter-bottom a{flex:1;text-align:center}.outline a:focus-visible, .chapter-bottom a:focus-visible{outline:3px solid #e9a520;outline-offset:2px}@media(max-width:850px){.learning-layout{grid-template-columns:1fr}.outline{position:static;max-height:240px;display:flex;flex-wrap:wrap;gap:5px}.outline h2{width:100%}.outline a{border:1px solid #d9e9f7}.foundation{padding:16px 12px 55px}}@media(max-width:540px){.chapter-bottom a{min-width:100%}.course-hero{padding:22px 18px}.primary-actions a{flex:1 1 auto;text-align:center}}