:root,:root[data-theme=light]{--bg-deep: #c5d0d9;--bg-sidebar: #bcc8d2;--bg-panel: #d6dee4;--bg-hero: #cfd8df;--bg-input: #cdd7de;--bg-thead: #c7d2da;--bg-inset: #bfccd4;--bg-accent: #d9e7eb;--bg-block: #cdd8de;--tx-strong: #15232c;--tx-bright: #1b2832;--tx-1: #27373f;--tx-2: #3b4b56;--tx-2b: #41515d;--tx-2c: #3d4d59;--tx-3: #556470;--tx-4: #64727e;--tx-5: #697783;--tx-6: #5e6c78;--tx-faint: #94a2ae;--tx-faint2: #8997a4;--grid: rgba(70, 95, 125, .06);--line: rgba(70, 95, 125, .22);--scroll: #a6b3bf;--scroll-h: #94a3b0;--track: #aebac4;--bg-topbar: rgba(255, 255, 255, .85);--bg-chipnav: rgba(255, 255, 255, .9);--ac1: #0a7d8f;--ac1b: #2a8a99;--ac2: #6b46c1;--ac3: #c43e74;--ac4: #0e9d63;--ac5: #d23048;--ac6: #b07c08;--on-ac: #eafafc;--ac1-rgb: 10, 125, 143;--ac2-rgb: 107, 70, 193;--ac3-rgb: 196, 62, 116;--ac4-rgb: 14, 157, 99;--ac5-rgb: 210, 48, 72;--ac6-rgb: 176, 124, 8;--red: #c0182a;--red-rgb: 192, 24, 42;--page-bg: #ffffff}:root[data-theme=dark]{--bg-deep: #0a0d12;--bg-sidebar: #0b0f15;--bg-panel: #0d121a;--bg-hero: #0c1118;--bg-input: #0e131b;--bg-thead: #10161f;--bg-inset: #0a0e14;--bg-accent: #10202a;--bg-block: #141a23;--tx-strong: #e6edf3;--tx-bright: #dfe7ef;--tx-1: #cdd7e1;--tx-2: #aeb9c6;--tx-2b: #9fb0c2;--tx-2c: #aab6c4;--tx-3: #7c8a99;--tx-4: #5f6e7e;--tx-5: #566273;--tx-6: #6f7d8c;--tx-faint: #3a4654;--tx-faint2: #4a5a6b;--grid: rgba(86, 130, 170, .045);--line: rgba(86, 130, 170, .16);--scroll: #222c38;--scroll-h: #2d3a48;--track: #1b2531;--bg-topbar: rgba(10, 13, 18, .82);--bg-chipnav: rgba(11, 15, 21, .9);--ac1: #34d6e8;--ac1b: #7fd3df;--ac2: #a78bfa;--ac3: #fb7bb5;--ac4: #34d399;--ac5: #fb7185;--ac6: #fbbf24;--on-ac: #06222a;--ac1-rgb: 52, 214, 232;--ac2-rgb: 167, 139, 250;--ac3-rgb: 251, 123, 181;--ac4-rgb: 52, 211, 153;--ac5-rgb: 251, 113, 133;--ac6-rgb: 251, 191, 36;--red: #fb6b78;--red-rgb: 251, 107, 120;--page-bg: var(--bg-deep)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-bg);font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--tx-bright);-webkit-font-smoothing:antialiased}#root{min-height:100vh}::selection{background:rgba(var(--ac1-rgb),.28)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:6px;border:2px solid var(--bg-deep)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-h)}::-webkit-scrollbar-track{background:transparent}a{color:inherit;text-decoration:none}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:var(--track)}input[type=range]::-moz-range-track{height:4px;border-radius:3px;background:var(--track)}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--bg-deep);box-shadow:0 0 0 3px currentColor,0 0 12px currentColor}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--bg-deep);margin-top:-6px;box-shadow:0 0 0 3px currentColor,0 0 12px currentColor}@keyframes flow{to{stroke-dashoffset:-18}}@keyframes blink{0%,to{opacity:.45}50%{opacity:1}}.app-grid{min-height:100vh;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px}.hm-topbar{position:sticky;top:0;z-index:30;background:var(--bg-topbar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);height:62px;display:flex;align-items:center;gap:20px;padding:0 32px}.hm-topnav{display:flex;gap:4px;margin-left:8px}.hm-navlink{font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:500;padding:7px 12px;border-radius:7px;cursor:pointer;border:none;background:transparent;color:var(--tx-2b);white-space:nowrap;transition:background .15s ease,color .15s ease}.hm-navlink:hover{color:var(--tx-strong);background:rgba(var(--accent-rgb),.08)}.hm-navlink[data-active=true]{font-weight:600;color:var(--accent);background:rgba(var(--accent-rgb),.1)}.hm-home-wrap{max-width:1120px;margin:0 auto;padding:64px 32px 110px}.hm-cat-wrap{max-width:1080px;margin:0 auto;padding:34px 32px 110px}.hm-catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hm-subgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hm-cat-card{display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:14px;padding:24px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.hm-cat-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.5)}.hm-course-card{display:block;background:var(--bg-panel);border:1px solid var(--line);border-radius:11px;padding:15px 16px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.hm-course-card[data-available=true]{cursor:pointer}.hm-course-card[data-available=true]:hover{border-color:rgba(var(--accent-rgb),.5);background:var(--bg-accent);transform:translateY(-2px)}.hm-course-card[data-available=false]{cursor:default;opacity:.72}@media (max-width: 860px){.hm-catgrid,.hm-subgrid{grid-template-columns:1fr}.hm-hero h1{font-size:34px!important}.hm-topbar{padding:0 16px}}@media (max-width: 620px){.hm-topbar{gap:8px;height:auto;padding:10px 14px;flex-wrap:wrap}.hm-topnav{order:3;flex-basis:100%;margin-left:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.hm-topnav::-webkit-scrollbar{display:none}.hm-home-wrap{padding:38px 18px 80px}.hm-cat-wrap{padding:24px 18px 80px}.hm-hero{margin-bottom:38px!important}.hm-hero h1{font-size:30px!important}.hm-hero p{font-size:15.5px!important}.hm-cathead{flex-direction:column!important;gap:14px!important}.hm-cathead h1{font-size:30px!important}}.ca-search{position:relative;display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease}.ca-search:focus-within{border-color:rgba(var(--ac1-rgb),.5)}.ca-search input{border:none;outline:none;background:transparent;flex:1;min-width:0;color:var(--tx-bright)}.ca-search input::placeholder{color:var(--tx-faint)}.ca-search--home{width:240px;padding:8px 12px}.ca-search--home input{font-size:12.5px;font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace}.ca-search--course{width:200px;padding:7px 11px}.ca-search--course input{font-size:12.5px;font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace}@media (max-width: 860px){.ca-search--home{display:none}}.ca-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:360px;max-width:min(360px,86vw);max-height:min(420px,70vh);overflow-y:auto;padding:6px;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #00000052;animation:ca-pop .12s ease-out}@keyframes ca-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ca-item{display:block;width:100%;text-align:left;border:1px solid transparent;border-radius:9px;background:transparent;padding:9px 11px;cursor:pointer;color:inherit;font:inherit}.ca-item[data-active=true]{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.4)}.ca-item-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ca-item-title{font-size:13.5px;font-weight:600;color:var(--tx-strong);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ca-item-meta{display:flex;align-items:center;gap:10px;font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:10.5px;color:var(--tx-4);white-space:nowrap;overflow:hidden}.ca-item-ctx{color:var(--accent);overflow:hidden;text-overflow:ellipsis}.ca-sep{color:var(--tx-faint)}.ca-tag{flex:none;font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.5);border-radius:4px;padding:1px 5px}.ca-tag--new{color:var(--red);border-color:rgba(var(--red-rgb),.5)}.ca-empty{padding:14px 12px;font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:12px;color:var(--tx-4)}.ca-hint{margin-top:2px;padding:7px 11px 3px;border-top:1px solid var(--line);font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:9.5px;letter-spacing:.02em;color:var(--tx-faint)}.course-sidebar{position:fixed;top:0;left:0;bottom:0;width:264px;background:var(--bg-sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;overflow-y:auto;transition:transform .26s cubic-bezier(.4,0,.2,1)}.course-main{min-height:100vh;transition:margin-left .26s cubic-bezier(.4,0,.2,1)}.course-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#060a0f80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .26s ease;display:none}.course-hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;background:var(--bg-input);border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--tx-1);padding:0}.course-chipnav .chip{font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:11px;color:var(--tx-2b);padding:5px 11px;border:1px solid var(--line);border-radius:20px;white-space:nowrap;background:transparent;cursor:pointer;transition:all .15s ease}.course-chipnav .chip:hover{color:var(--tx-strong);border-color:rgba(var(--ac1-rgb),.4)}.course-chipnav .chip[data-active=true]{color:var(--ac1);border-color:rgba(var(--ac1-rgb),.45);background:rgba(var(--ac1-rgb),.08)}@media (min-width: 821px){.course-sidebar[data-collapsed=true]{transform:translate(-100%)}.course-main{margin-left:264px}.course-main[data-collapsed=true]{margin-left:0}}@media (max-width: 820px){.course-sidebar{transform:translate(-100%);width:282px;box-shadow:6px 0 40px #00000047}.course-sidebar[data-open=true]{transform:translate(0)}.course-main{margin-left:0!important}.course-overlay[data-open=true]{display:block}.course-breadcrumb{display:none!important}.course-content{padding:30px 16px 90px!important}.course-h1{font-size:30px!important;line-height:1.08!important}.course-grid-2,.course-grid-3,[data-collapse-grid]{grid-template-columns:1fr!important}[data-collapse-metrics]{grid-template-columns:1fr 1fr!important}}.slide-deck{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-panel);border:1px solid var(--line);border-radius:24px;box-shadow:0 4px 20px #00000026;font-family:IBM Plex Mono,system-ui,monospace;font-size:12px;font-weight:500;color:var(--tx-2);transition:opacity .2s ease}.course-slide-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;background:var(--bg-input);border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--tx-1);padding:0;transition:background .15s ease,color .15s ease}.course-slide-toggle:hover{background:var(--bg-panel);color:var(--tx-strong)}.course-slide-toggle[aria-pressed=true]{color:var(--ac1);border-color:rgba(var(--ac1-rgb),.45);background:rgba(var(--ac1-rgb),.08)}.codetabs-body pre{margin:0;border:none;border-radius:0;background:transparent;max-height:460px}.lesson-prose a{color:var(--ac1b);text-decoration:none;border-bottom:1px solid rgba(var(--ac1-rgb),.35);transition:border-color .15s ease}.lesson-prose a:hover{border-bottom-color:var(--ac1b)}.lesson-section{scroll-margin-top:118px;padding-top:50px}.course-main[data-slide-mode] .lesson-section{scroll-margin-top:0;padding-top:32px}.quiz-markdown strong{font-weight:700}.quiz-markdown em{font-style:italic}.quiz-markdown code{font-family:IBM Plex Mono,IBM Plex Sans,system-ui,monospace;font-size:.88em;background:rgba(var(--ac1-rgb),.1);color:var(--ac1b);padding:1px 6px;border-radius:5px;white-space:nowrap}
