:root{--ink: #161616;--cream: #F5F3EF;--acid: #D94F3B;--mint: #2D6A4F;--line: #C4C0BA;--muted: #6E6B65;--green: #2D6A4F;--green-dark: #1B4332;--text-body: #3A3835;--text-dim: #555250;--surface: #EDEAE5;--lesson-bg: #E6E3DD;--lesson-bg-hover: #DDD9D2;--code-bg: #161616;--code-color: #D4D0CA;--takeaway-bg: #FFF5F3;--takeaway-text: #7A2A1E;--card-hover-shadow: rgba(22,22,22,.1);--overlay-bg: rgba(22,22,22,.6);--footer-color: #8A8780;--dialog-progress-track: #D4D0CA;--dialog-progress-fill: #D94F3B;--question-bg: #111111;--question-text: #E0DDD8;--question-muted: #7A7770;--qa-accent: rgba(217,79,59,.08);--quiz-hover: #FFF5F3;--quiz-selected: #FFEDED;--quiz-correct: #E6F5EC;--quiz-correct-text: #1B4332;--quiz-wrong: #FFEDED;--quiz-wrong-text: #9B1B1B;--accent-bar: #D94F3B;--radius: 2px;--radius-lg: 4px;--shadow-sm: 2px 2px 0 rgba(22,22,22,.07);--shadow-md: 4px 4px 0 rgba(22,22,22,.1);--shadow-lg: 6px 6px 0 rgba(22,22,22,.12);--transition: .25s cubic-bezier(.16,1,.3,1);--ease-out: cubic-bezier(.16,1,.3,1);--spring: cubic-bezier(.34,1.56,.64,1);--panel-dark-bg: #111111;--panel-dark-text: #E0DDD8;--panel-dark-muted: #7A7770;--panel-dark-accent: #E8715F}[data-theme=dark]{--ink: #E5E2DC;--cream: #0E0E0E;--line: #2A2A2A;--muted: #7A7770;--text-body: #B0ADA6;--text-dim: #8A8780;--surface: #171717;--lesson-bg: #1C1C1C;--lesson-bg-hover: #252525;--code-bg: #080808;--code-color: #C8C5BE;--takeaway-bg: #1C1412;--takeaway-text: #E8A090;--card-hover-shadow: rgba(255,255,255,.06);--overlay-bg: rgba(0,0,0,.7);--footer-color: #5A5852;--dialog-progress-track: #2A2A2A;--dialog-progress-fill: #E8715F;--question-bg: #080808;--question-text: #B0ADA6;--question-muted: #5A5852;--qa-accent: rgba(232,113,95,.1);--quiz-hover: #1C1C1C;--quiz-selected: #222222;--quiz-correct: #142A1E;--quiz-correct-text: #7DD3A8;--quiz-wrong: #2A1414;--quiz-wrong-text: #E87070;--accent-bar: #E8715F;--shadow-sm: 2px 2px 0 rgba(255,255,255,.04);--shadow-md: 4px 4px 0 rgba(255,255,255,.05);--shadow-lg: 6px 6px 0 rgba(255,255,255,.06)}[data-theme=dark] .hero-art{background:#080808;border-color:#2a2a2a}[data-theme=dark] .path-card.featured{background:#141414;border-color:#2a2a2a}[data-theme=dark] .dialog-shell{box-shadow:10px 10px #0006}[data-theme=dark] .flashcard{background:#0e0e0e;border-color:#2a2a2a;box-shadow:4px 4px #0000004d}[data-theme=dark] .flashcard:hover{box-shadow:6px 6px #0006}[data-theme=dark] .flashcard.flipped{background:#2d4a3a;border-color:#3d6a52}[data-theme=dark] .primary-btn{background:var(--ink);color:var(--cream);box-shadow:var(--shadow-md)}[data-theme=dark] .primary-btn:hover{box-shadow:4px 4px #e8715f33}[data-theme=dark] .module-toggle:hover{background:var(--lesson-bg-hover)}[data-theme=dark] .module.open{border-left-color:var(--accent-bar)}[data-theme=dark] .lesson-item:hover{border-color:var(--accent-bar);background:var(--lesson-bg-hover)}[data-theme=dark] .module-num{background:#1c1c1c;color:var(--accent-bar)}[data-theme=dark] .module.open .module-num,[data-theme=dark] .module.complete .module-num{background:var(--accent-bar);color:#0e0e0e}[data-theme=dark] .search-modal{box-shadow:10px 10px #0006}[data-theme=dark] .cs-card.open{border-color:#e8715f;background:#e8715f08}[data-theme=dark] .cs-section li{color:var(--text-body)}[data-theme=dark] .cs-copy-btn:hover{color:#e8715f}[data-theme=dark] .hero-node{background:#ffffff0d;border-color:#ffffff14}[data-theme=dark] .ach-card.unlocked{background:#e8715f0f;border-color:#e8715f26}[data-theme=dark] .flashcard-counter{color:var(--muted)}[data-theme=dark] .flashcard-counter .counter-bar{background:#2a2a2a}[data-theme=dark] .module-complete-badge{background:#e8715f1a;color:var(--accent-bar)}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:Manrope,system-ui,-apple-system,sans-serif;transition:background var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{display:block;max-width:100%}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.noise{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0) translateZ(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50}.logo{font-family:Georgia,Times New Roman,serif;font-size:18px;letter-spacing:-.5px;font-weight:700;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:6px;background:none;border:none}.logo span{color:var(--accent-bar);font-size:14px}.nav-links{display:flex;gap:8px;margin-left:80px;flex:1}.nav-links button{color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;background:none;border:none;font-family:inherit;padding:8px 14px;border-radius:99px;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.nav-links button:hover{background:var(--ink);color:var(--cream);opacity:1;transform:translateY(-1px)}.nav-links button:active{transform:translateY(0) scale(.97);transition-duration:.1s}.nav-right{display:flex;align-items:center;gap:12px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:all var(--transition);flex-shrink:0}.theme-toggle:hover{border-color:var(--ink);background:var(--ink);color:var(--cream);transform:scale(1.05)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:8px;border:1px solid var(--line);border-radius:50%;background:var(--surface);flex-shrink:0;transition:all var(--transition)}.hamburger span{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:1px;transition:all .35s cubic-bezier(.22,1,.36,1);transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{min-height:440px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;padding:32px 0 40px;gap:32px}.hero-content>*{animation:heroStagger 1s cubic-bezier(.22,1,.36,1) both}.hero-content>:nth-child(1){animation-delay:.04s}.hero-content>:nth-child(2){animation-delay:.12s}.hero-content>:nth-child(3){animation-delay:.22s}.hero-content>:nth-child(4){animation-delay:.34s}.hero-content>:nth-child(5){animation-delay:.46s}@keyframes heroStagger{0%{opacity:0;transform:translateY(24px) translateZ(0);filter:blur(4px)}to{opacity:1;transform:translateY(0) translateZ(0);filter:blur(0)}}.eyebrow{font:500 11px DM Mono,monospace;letter-spacing:1.3px;text-transform:uppercase;margin:0 0 18px;color:var(--text-dim);display:flex;align-items:center}.eyebrow i{width:7px;height:7px;display:inline-block;background:var(--mint);border-radius:50%;margin-right:9px;animation:pulse-dot 2s ease infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 #20d7a166}50%{box-shadow:0 0 0 6px #20d7a100}}.hero h1,.section-heading h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,79px);letter-spacing:-2px;line-height:1;margin:0;font-weight:400}.hero h1 em{font-style:italic;color:var(--accent-bar)}.intro{line-height:1.75;max-width:425px;font-size:15px;color:var(--text-body);margin:24px 0}.hero-actions{display:flex;align-items:center;gap:16px}.primary-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--ink);color:var(--cream);border-radius:0;border:2px solid var(--ink);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1);cursor:pointer;box-shadow:4px 4px #16161626}.primary-btn span{font-size:16px;transition:transform .35s cubic-bezier(.22,1,.36,1)}.primary-btn:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:6px 6px #16161633}.primary-btn:hover span{transform:translate(4px)}.primary-btn:active{transform:translate(0) scale(.98);box-shadow:2px 2px #1616161a;transition-duration:.12s}.hero-proof{display:flex;gap:20px;margin-top:28px;font-size:11px;color:var(--muted)}.hero-proof span{padding-right:16px;border-right:1px solid var(--line)}.hero-proof span:last-child{border:0}.hero-proof b{color:var(--ink);font-size:16px;display:block;margin-bottom:2px}.hero-art{--px: 0px;--py: 0px;height:340px;position:relative;background:var(--ink);border:2px solid var(--ink);overflow:hidden;animation:artIn 1.2s cubic-bezier(.22,1,.36,1) .15s both}@keyframes artIn{0%{opacity:0;transform:translateY(28px) scale(.95);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0);filter:blur(0)}}.orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:50%;top:50%;translate:-50% -50%;transition:transform .15s ease-out}.orbit-one{height:240px;width:240px;border-style:dashed;border-color:#ffffff0f;animation:orbitSpin 20s linear infinite}.orbit-two{height:340px;width:340px;border-color:#ffffff0a;animation:orbitSpin 35s linear infinite reverse}@keyframes orbitSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.core{position:absolute;z-index:2;left:50%;top:50%;translate:-50% -50%;height:80px;width:80px;border-radius:0;background:var(--accent-bar);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;animation:corePulse 3s ease-in-out infinite}@keyframes corePulse{0%,to{box-shadow:0 0 #d94f3b4d}50%{box-shadow:0 0 0 12px #d94f3b00}}.core span{font:10px DM Mono;opacity:.8;letter-spacing:.5px}.core b{font-family:Georgia,serif;font-size:18px;letter-spacing:-.5px;font-weight:400}.point{position:absolute;width:8px;height:8px;border-radius:0;background:#ffffff80}.p1{top:25%;left:30%;width:40px;height:4px;border-radius:0;background:#ffffff26}.p2{top:18%;right:22%;background:var(--mint);width:12px;height:12px;border-radius:0;opacity:.6;animation:floatB 4s ease-in-out infinite}.p3{bottom:22%;left:16%;background:var(--accent-bar);width:12px;height:3px;border-radius:0;opacity:.5}.p4{bottom:14%;right:18%;width:6px;height:40px;background:#ffffff14;animation:floatB 5s ease-in-out infinite .5s}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.art-label{position:absolute;color:#ffffff59;font:10px DM Mono;letter-spacing:1px;line-height:1.6}.art-label strong{font-family:Georgia,serif;font-size:16px;color:#ffffffb3;letter-spacing:0;font-weight:400}.label-a{left:30px;top:36px}.label-b{right:30px;bottom:34px;text-align:right}.hero-node{position:absolute;z-index:3;width:36px;height:36px;border-radius:0;background:#ffffff14;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font:700 11px DM Mono;color:#ffffff80;letter-spacing:.5px;transition:transform .15s ease-out;animation:nodeFloat 6s ease-in-out infinite}.hero-node.node-1{top:16%;left:22%;animation-delay:0s}.hero-node.node-2{top:12%;right:28%;animation-delay:1.5s}.hero-node.node-3{bottom:20%;left:25%;animation-delay:3s}.hero-node.node-4{bottom:14%;right:24%;animation-delay:4.5s}@keyframes nodeFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}.ticker{background:var(--ink);overflow:hidden;padding:14px 0;font:500 11px DM Mono;letter-spacing:1.7px;text-transform:uppercase;will-change:transform}.ticker-track{display:flex;gap:33px;white-space:nowrap;animation:ticker-scroll 50s linear infinite;width:max-content;will-change:transform}.ticker-track b{color:var(--accent-bar);flex-shrink:0;transition:color .3s}.ticker-track b:hover{color:var(--cream)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}[data-theme=dark] .ticker{background:#0e0e0e;border-top:1px solid #2A2A2A;border-bottom:1px solid #2A2A2A}[data-theme=dark] .ticker-track b{color:var(--accent-bar)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-heading h2{font-family:Georgia,Times New Roman,serif;font-size:49px;letter-spacing:-2px;font-weight:400}.section-note{max-width:310px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.paths{padding:56px 0 64px}.path-grid{display:grid;gap:16px}.path-grid--featured{grid-template-columns:1fr;margin-bottom:32px}.path-grid--soon{grid-template-columns:repeat(3,1fr)}.path-soon-heading{font:500 11px DM Mono;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.path-card{position:relative;border:2px solid var(--line);border-radius:0;display:flex;overflow:hidden;background:var(--cream);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .3s;cursor:pointer;text-align:left;font-family:inherit}.path-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}.path-card:active{transform:translate(0) scale(.98);box-shadow:2px 2px 0 var(--ink);transition-duration:.1s}.path-card-accent{width:5px;flex-shrink:0;border-radius:0;transition:width .3s var(--ease-out)}.path-card:hover .path-card-accent{width:7px}.path-card-accent--muted{opacity:.35}.path-card:hover .path-card-accent--muted{opacity:.5}.path-card-body{flex:1;padding:22px 24px;display:flex;flex-direction:column;min-width:0}.path-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.path-tag{font:700 11px DM Mono;letter-spacing:1px;color:var(--accent-bar)}.path-tag--soon{color:var(--muted)}.path-status-badge{display:inline-flex;align-items:center;gap:5px;font:600 10px DM Mono;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:99px}.path-status-badge--active{background:#2d6a4f14;color:#2d6a4f}.path-status-badge--soon{background:var(--lesson-bg);color:var(--muted)}.path-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.path-card h3{font-family:Georgia,Times New Roman,serif;font-size:22px;letter-spacing:-.5px;line-height:1.2;margin:0 0 4px;color:var(--ink)}.path-tagline{font:italic 13px Georgia,serif;color:var(--text-dim);margin:0 0 8px;line-height:1.5}.path-card>.path-card-body>p:last-of-type{font-size:13px;color:var(--muted);line-height:1.65;margin:0}.path-meta{display:flex;gap:14px;margin-top:auto;padding-top:14px;font:10px DM Mono;letter-spacing:.5px;color:var(--muted)}.path-progress{margin-top:12px}.path-progress-header{display:flex;justify-content:space-between;margin-bottom:6px;font:600 11px DM Mono;color:var(--text-dim);letter-spacing:.3px}.path-progress-track{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.path-progress-fill{height:100%;border-radius:2px;transition:width .8s cubic-bezier(.22,1,.36,1)}.path-card--soon{min-height:0;cursor:default;opacity:.7;transition:opacity .3s,transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.path-card--soon:hover{opacity:.85;transform:none;box-shadow:none}.path-card--soon .path-card-body{padding:18px 20px}.path-card--soon h3{font-size:17px;margin-bottom:2px}@media(max-width:900px){.path-grid--soon{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.path-grid--soon{grid-template-columns:1fr}.path-card-body{padding:18px 16px}.path-card h3{font-size:19px}}.study-tools{padding:56px 0;border-top:1px solid var(--line)}.study-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.notes-panel{border:1px solid var(--line);padding:20px;background:var(--surface);border-radius:var(--radius-lg)}.notes-panel>div{display:flex;justify-content:space-between;align-items:center}.notes-panel b{font-size:20px;letter-spacing:-.8px;margin:0}.notes-panel textarea{display:block;width:100%;height:240px;resize:vertical;margin:18px 0 14px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);color:var(--ink);font:14px/1.6 Manrope;outline-color:var(--accent-bar);transition:border-color .35s cubic-bezier(.22,1,.36,1),background .35s cubic-bezier(.22,1,.36,1),color .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}.notes-panel textarea:focus{border-color:var(--accent-bar);box-shadow:0 0 0 3px #d94f3b14}.notes-hint{font-size:12px;color:var(--muted);margin:0}.question-panel{background:#111;color:#d0ccc6;border:2px solid #222;padding:22px;border-radius:0}.question-panel h3{font-family:Georgia,serif;font-size:20px;letter-spacing:-.3px;margin:0;color:#e8e5e0;font-weight:400}.question-panel>p{color:#7a7770;font-size:13px;line-height:1.7;margin-top:10px}.question-panel form{display:flex;border-bottom:1px solid #333;padding:11px 0;margin-top:15px}.question-panel input{width:100%;border:0;background:none;color:#e8e5e0;outline:0;font:13px system-ui;font-family:inherit}.question-panel input::placeholder{color:#555}.question-panel form button{border:0;background:none;color:var(--panel-dark-accent);font:700 12px system-ui;cursor:pointer;font-family:inherit;transition:opacity var(--transition)}.question-panel form button:hover{opacity:.7}.question-answer{margin-top:12px;padding:16px;background:#d94f3b0f;color:#e8715f;border-radius:0;border-left:3px solid var(--accent-bar);font-size:13px;line-height:1.65;white-space:pre-wrap;font-family:inherit}.question-source{margin-top:8px;font:10px/1.4 DM Mono,monospace;color:#555;letter-spacing:.5px;padding:0 2px}.newsletter{background:var(--ink);color:#d0ccc6;padding:48px 56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;border-radius:0;border:2px solid var(--ink)}.newsletter .eyebrow{color:#ffffff59}.newsletter h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,72px);letter-spacing:-3px;line-height:1;margin:0;font-weight:400;color:#e8e5e0}.newsletter h2 em{color:var(--accent-bar)}.signup>p{max-width:390px;line-height:1.7;color:#7a7770;font-size:14px;margin:2px 0 24px}.signup form{display:flex;border-bottom:1px solid #333;padding-bottom:11px}.signup input{flex:1;background:none;border:0;outline:0;color:#e8e5e0;font:14px system-ui;font-family:inherit}.signup input::placeholder{color:#555}.signup button{background:none;border:0;color:var(--accent-bar);font:700 13px system-ui;cursor:pointer;font-family:inherit;transition:opacity var(--transition)}.signup button:hover{opacity:.7}.signup button span{font-size:18px;margin-left:6px}.signup small{display:block;color:#555;font-size:10px;margin-top:13px}.form-message{color:var(--accent-bar)!important;margin-top:10px!important;min-height:18px;font-size:13px}footer{border-top:1px solid var(--line);padding:28px 0 40px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--footer-color)}footer p{margin:0}footer div{display:flex;gap:18px}footer a{color:inherit;text-decoration:none;transition:color var(--transition)}footer a:hover{color:var(--ink)}.module-dialog-overlay{position:fixed;inset:0;z-index:100;background:var(--overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;animation:overlayIn .35s cubic-bezier(.22,1,.36,1)}.module-dialog-overlay.closing{animation:overlayOut .3s cubic-bezier(.22,1,.36,1) forwards}.module-dialog-overlay.closing .dialog-shell{animation:dialogOut .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}@keyframes dialogOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.97)}}.dialog-shell{position:relative;max-height:88vh;overflow:auto;background:var(--cream);padding:48px;max-width:min(800px,calc(100% - 16px));width:100%;border-radius:0;border:2px solid var(--ink);animation:dialogIn .45s cubic-bezier(.22,1,.36,1);transition:background var(--transition)}@keyframes dialogIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.close-dialog{position:absolute;right:20px;top:16px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--ink);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}.close-dialog:hover{background:var(--line);transform:rotate(90deg)}.dialog-shell h2{font-family:Georgia,Times New Roman,serif;font-size:42px;letter-spacing:-2px;margin:0;font-weight:400}.dialog-intro{max-width:600px;line-height:1.75;color:var(--muted)}.dialog-progress{font-size:12px;font-weight:700;margin:28px 0 16px;color:var(--ink)}.dialog-progress>div{height:6px;background:var(--dialog-progress-track);margin-top:8px;border-radius:3px;overflow:hidden}.dialog-progress i{display:block;height:100%;background:var(--dialog-progress-fill);border-radius:3px;transition:width .6s cubic-bezier(.22,1,.36,1)}.module-list{border-top:2px solid var(--ink)}.module{border-bottom:1px solid var(--line);border-left:3px solid transparent;transition:border-color .2s ease}.module.open{border-left-color:var(--accent-bar)}.module-toggle{width:100%;padding:20px 16px;border:0;background:none;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink);transition:background .2s ease}.module-toggle:hover{background:var(--lesson-bg)}.module-toggle .module-num{width:36px;height:36px;border-radius:0;background:var(--lesson-bg);color:var(--accent-bar);display:flex;align-items:center;justify-content:center;font:700 13px DM Mono;transition:background .2s ease,color .2s ease;border:1px solid var(--line)}.module.open .module-num,.module.complete .module-num{background:var(--accent-bar);color:var(--cream)}.module-toggle b{font-size:15px;color:var(--ink)}.module-toggle em{font:11px DM Mono;font-style:normal;color:var(--muted)}.module-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}.module.open .module-detail{grid-template-rows:1fr}.module-detail>*{overflow:hidden;transition:opacity .3s cubic-bezier(.22,1,.36,1);opacity:0}.module.open .module-detail>*{padding:0 16px 20px 58px;opacity:1}.module.open .module-detail p{line-height:1.7;font-size:13px;margin:8px 0;color:var(--text-body);padding-bottom:12px;border-bottom:1px solid var(--line)}.module.open .module-detail .lesson-item{display:flex;align-items:center;gap:12px;padding:13px 16px;margin-bottom:6px;background:var(--lesson-bg);border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:border-color .25s,background .25s,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.module.open .module-detail .lesson-item:hover{border-color:var(--accent-bar);background:var(--lesson-bg-hover);transform:translate(8px) translateZ(0);box-shadow:0 2px 8px #1616160f}.module.open .module-detail .lesson-item .lesson-num{font:800 11px Manrope;color:var(--accent-bar);min-width:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--qa-accent);border-radius:6px;flex-shrink:0}.module.open .module-detail .lesson-item .lesson-name{font:600 14px Manrope;color:var(--ink);flex:1}.module.open .module-detail .lesson-item .lesson-dur{font:10px DM Mono;color:var(--muted);flex-shrink:0}.module.complete .module-toggle b{color:var(--accent-bar)}.module-complete-badge{display:inline-block;font:800 10px Manrope;color:var(--accent-bar);text-transform:uppercase;letter-spacing:.5px;margin-left:8px;background:#b8651a14;padding:2px 8px;border-radius:4px;animation:badgePop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.complete-module{border:2px solid var(--ink);background:var(--ink);color:var(--cream);padding:11px 18px;margin-top:16px;font:700 12px system-ui;cursor:pointer;font-family:inherit;border-radius:0;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1);text-transform:uppercase;letter-spacing:.5px}.complete-module:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:4px 4px #16161626}.complete-module:active{transform:translate(0) scale(.98);transition-duration:.12s}.lesson-detail{animation:fadeIn .25s var(--ease-out)}.lesson-detail-back{border:0;background:none;font:800 13px Manrope;color:var(--ink);cursor:pointer;margin-bottom:20px;font-family:inherit;padding:6px 10px;border-radius:6px;margin-left:-10px;transition:background .3s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.lesson-detail-back:hover{background:var(--lesson-bg);transform:translate(-3px)}.lesson-detail-back span{margin-right:6px}.lesson-detail h3{font-family:Georgia,serif;font-size:28px;letter-spacing:-.5px;margin:0 0 8px;font-weight:400}.lesson-meta-row{display:flex;gap:12px;align-items:center;margin-bottom:20px}.lesson-meta-row .diff-badge{font:700 10px Manrope;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:4px}.diff-badge.beginner{background:#2d6a4f14;color:#2d6a4f}.diff-badge.intermediate{background:#d94f3b14;color:#d94f3b}.diff-badge.advanced{background:#1616160f;color:#161616}.lesson-meta-row span{font:10px DM Mono;color:var(--muted)}.lesson-text{line-height:1.8;font-size:15px}.lesson-text p{margin:12px 0;color:var(--text-body)}.lesson-text h4{font-size:16px;letter-spacing:-.3px;margin:24px 0 8px;color:var(--ink)}.lesson-code{margin:16px 0;padding:18px;background:var(--code-bg);color:var(--code-color);border-radius:var(--radius);font:12px/1.7 DM Mono,monospace;overflow-x:auto;white-space:pre}.lesson-takeaway{margin-top:24px;padding:16px 18px;background:var(--takeaway-bg);border-left:3px solid var(--accent-bar);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;line-height:1.7;color:var(--takeaway-text)}.lesson-takeaway strong{color:var(--accent-bar)}.lesson-nav-btns{display:flex;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.lesson-nav-btns button{border:0;background:none;font:800 13px Manrope;color:var(--ink);cursor:pointer;font-family:inherit;padding:8px 12px;border-radius:6px;transition:background .3s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.lesson-nav-btns button:hover{background:var(--lesson-bg);transform:translateY(-1px)}.lesson-nav-btns button:active{transform:translateY(0) scale(.97);transition-duration:.1s}.quiz-section{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.quiz-section h4{font-size:16px;margin-bottom:14px;color:var(--ink)}.quiz-question{margin-bottom:18px}.quiz-question p{font-weight:700;font-size:14px;margin-bottom:10px;color:var(--ink)}.quiz-options{display:flex;flex-direction:column;gap:6px}.quiz-option{padding:11px 14px;border:1.5px solid var(--line);border-radius:0;background:var(--cream);color:var(--ink);cursor:pointer;font:13px system-ui;text-align:left;font-family:inherit;transition:all .25s cubic-bezier(.22,1,.36,1)}.quiz-option:hover{border-color:var(--accent-bar);background:var(--quiz-hover);transform:translate(3px)}.quiz-option.selected{border-color:var(--accent-bar);background:var(--quiz-selected);transform:translate(3px)}.quiz-option.correct{border-color:var(--accent-bar);background:var(--quiz-correct);color:var(--quiz-correct-text);font-weight:700;animation:correctPulse .4s cubic-bezier(.34,1.56,.64,1)}.quiz-option.wrong{border-color:#e74c3c;background:var(--quiz-wrong);color:var(--quiz-wrong-text);animation:wrongShake .4s cubic-bezier(.22,1,.36,1)}@keyframes correctPulse{0%{transform:scale(.97)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}.dialog-tabs{display:flex;gap:0;margin:24px 0 20px;border-bottom:1px solid var(--line)}.dialog-tab{padding:12px 24px;border:0;background:none;font:700 13px system-ui;color:var(--muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;transition:color .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1);margin-bottom:-1px;text-transform:uppercase;letter-spacing:.5px}.dialog-tab:hover{color:var(--ink);transform:translateY(-1px)}.dialog-tab.active{color:var(--accent-bar);border-bottom-color:var(--accent-bar);transform:translateY(0)}.dialog-flashcards{display:grid;grid-template-columns:200px 1fr;gap:24px;margin-top:8px}.dialog-flashcards .flashcard-sidebar{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.dialog-flashcards .flashcard-main{display:flex;flex-direction:column}.flashcards{padding:56px 0;border-top:1px solid var(--line)}.flashcard-layout{display:grid;grid-template-columns:.45fr 1fr;gap:48px}.flashcard-controls{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.deck-button{padding:16px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;font:700 14px system-ui;cursor:pointer;display:flex;justify-content:space-between;color:var(--ink);transition:color .3s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}.deck-button span{font:10px DM Mono;color:var(--muted)}.deck-button:hover{background:var(--lesson-bg);transform:translate(2px)}.deck-button.active{color:var(--accent-bar)}.flashcard{display:flex;width:100%;min-height:300px;padding:32px;flex-direction:column;align-items:flex-start;text-align:left;background:var(--ink);color:#e5e2dc;border:2px solid var(--ink);border-radius:0;cursor:pointer;box-shadow:5px 5px #16161633;font-family:inherit;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),background .5s cubic-bezier(.22,1,.36,1);perspective:1200px;position:relative;transform-style:preserve-3d}.flashcard:hover{transform:translate(-3px,-3px) translateZ(0);box-shadow:8px 8px #16161640}.flashcard:active{transform:translate(0) scale(.98);box-shadow:2px 2px #16161626;transition-duration:.1s}.flashcard.flipped{background:var(--accent-bar);border-color:var(--accent-bar);color:#fff;transform:scale(1.01)}.flashcard.flipped:hover{transform:scale(1.01) translate(-2px,-2px)}.flashcard .flashcard-content{animation:cardFlipIn .5s cubic-bezier(.22,1,.36,1)}@keyframes cardFlipIn{0%{opacity:0;transform:rotateY(12deg) translateZ(-20px);filter:blur(1px)}50%{opacity:.8;transform:rotateY(-3deg) translateZ(5px);filter:blur(0)}to{opacity:1;transform:rotateY(0) translateZ(0);filter:blur(0)}}.card-label{font:11px DM Mono;letter-spacing:1px;color:var(--accent-bar)}.flashcard.flipped .card-label{color:#fffc}.flashcard strong{font-family:Georgia,serif;font-size:24px;line-height:1.35;letter-spacing:-.5px;margin:auto 0;font-weight:400}.flashcard p{font-size:14px;line-height:1.7;color:#b0ada6;margin-top:12px}.flashcard small{color:#ffffff80;font-size:11px;margin-top:auto}.flashcard-counter{font:600 12px DM Mono;color:var(--muted);letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.flashcard-counter .counter-bar{flex:1;height:3px;background:var(--line);border-radius:2px;overflow:hidden;max-width:120px}.flashcard-counter .counter-fill{height:100%;background:var(--accent-bar);border-radius:2px;transition:width .4s cubic-bezier(.22,1,.36,1)}.flash-actions{display:flex;justify-content:space-between;margin-top:15px;width:100%}.flash-actions button{border:0;background:none;color:var(--ink);font:800 12px Manrope;cursor:pointer;font-family:inherit;padding:6px 10px;border-radius:6px;transition:background .3s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.flash-actions button:hover{background:var(--lesson-bg);transform:translateY(-1px)}.flash-actions button:active{transform:translateY(0) scale(.96);transition-duration:.1s}.theme-wipe{position:fixed;width:0;height:0;border-radius:50%;z-index:9999;pointer-events:none;background:var(--cream);transform:translate(-50%,-50%);animation:themeWipe .55s cubic-bezier(.4,0,.2,1) forwards;will-change:width,height,opacity}@keyframes themeWipe{0%{width:0;height:0;opacity:1}60%{opacity:1}to{width:300vmax;height:300vmax;opacity:0}}body,.nav,.theme-toggle,.path-card,.path-card h3,.path-card p,.dialog-shell,.dialog-shell h2,.module-toggle,.module-toggle b,.notes-panel,.notes-panel textarea,.quiz-option,.quiz-question p,.hero h1,.hero .intro,.section-heading h2,.section-note{transition:background-color .45s cubic-bezier(.22,1,.36,1),color .45s cubic-bezier(.22,1,.36,1),border-color .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}.stat-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1);will-change:transform}.stat-card:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:4px 4px 0 var(--ink)}.dash-action-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .3s;will-change:transform}.dash-action-card:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:4px 4px 0 var(--ink)}.ach-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1);will-change:transform}.ach-card.unlocked:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:4px 4px #1616161a}.theme-toggle{transition:all .35s cubic-bezier(.22,1,.36,1)}.theme-toggle:hover{transform:rotate(15deg) scale(1.05)}.search-trigger{transition:all .3s cubic-bezier(.22,1,.36,1)}.search-trigger:hover{transform:scale(1.05)}.loading-spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--accent-bar);border-radius:50%;animation:spin-loading .8s cubic-bezier(.4,.2,.2,1) infinite}@keyframes spin-loading{to{transform:rotate(360deg)}}.search-trigger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:all var(--transition);flex-shrink:0}.search-trigger:hover{border-color:var(--ink);background:var(--ink);color:var(--cream);transform:scale(1.05)}.search-overlay{position:fixed;inset:0;z-index:200;background:var(--overlay-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:overlayIn .3s cubic-bezier(.22,1,.36,1)}.search-overlay.closing{animation:overlayOut .25s cubic-bezier(.22,1,.36,1) forwards}.search-overlay.closing .search-modal{animation:searchModalOut .25s cubic-bezier(.22,1,.36,1) forwards}@keyframes searchModalOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.97)}}.search-modal{width:min(600px,calc(100% - 32px));max-height:70vh;background:var(--cream);border-radius:0;border:2px solid var(--ink);overflow:hidden;animation:dialogIn .4s cubic-bezier(.22,1,.36,1);box-shadow:8px 8px #16161626}.search-input-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.search-input-row svg{color:var(--muted);flex-shrink:0}.search-input-row input{flex:1;border:0;background:none;outline:0;font:16px Manrope;color:var(--ink);font-family:inherit}.search-input-row input::placeholder{color:var(--muted)}.search-input-row kbd{font:10px DM Mono;background:var(--line);color:var(--muted);padding:2px 8px;border-radius:4px;border:1px solid var(--line)}.search-results{max-height:50vh;overflow-y:auto}.search-empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:13px}.search-result-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;border:0;background:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .25s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}.search-result-item:hover{background:var(--lesson-bg);transform:translate(4px)}.search-result-type{font-size:18px;flex-shrink:0}.search-result-title{font:600 14px Manrope;color:var(--ink)}.search-result-subtitle{font:12px Manrope;color:var(--muted);margin-top:2px}.dashboard{padding:48px 0 24px}.dash-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.dash-top h2{font-size:32px;letter-spacing:-1.5px;margin:0;font-weight:800}.dash-subtitle{font:14px/1.5 Manrope;color:var(--muted);margin:4px 0 0}.dash-top-right{display:flex;align-items:center;gap:8px}.dash-meta{font:12px DM Mono;color:var(--muted);letter-spacing:.3px;background:var(--surface);padding:6px 12px;border-radius:var(--radius);border:1px solid var(--line)}.dash-metrics{display:flex;align-items:center;gap:0;background:var(--surface);border:1.5px solid var(--line);border-radius:0;padding:0;margin-bottom:20px;overflow:hidden}.dash-metric{display:flex;align-items:center;gap:12px;padding:18px 24px;flex:1;min-width:0}.dash-metric-sep{width:1px;height:32px;background:var(--line);flex-shrink:0}.dash-metric-icon{width:36px;height:36px;border-radius:0;display:flex;align-items:center;justify-content:center;background:var(--lesson-bg);color:var(--muted);flex-shrink:0}.dash-metric-icon.accent{background:var(--accent-bar);color:var(--cream)}.dash-metric-body{display:flex;flex-direction:column;min-width:0}.dash-metric-value{font:700 20px Manrope;letter-spacing:-.5px;color:var(--ink);line-height:1.1}.dash-metric-label{font:11px DM Mono;color:var(--muted);letter-spacing:.3px;text-transform:uppercase;margin-top:1px}.dash-metric-frac{font:12px DM Mono;color:var(--muted);margin-left:auto;flex-shrink:0}.dash-body{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.dash-col-left,.dash-col-right{display:flex;flex-direction:column;gap:20px}.dash-panel{background:var(--surface);border:1.5px solid var(--line);border-radius:0;padding:20px}.dash-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dash-panel-header h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0}.dash-panel-count{font:11px DM Mono;color:var(--muted);letter-spacing:.3px}.dash-ring-row{display:flex;align-items:center;gap:28px}.dash-ring{position:relative;width:80px;height:80px;flex-shrink:0}.dash-ring svg{width:100%;height:100%}.dash-ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 16px Manrope;color:var(--ink);letter-spacing:-.3px}.dash-ring-detail{display:flex;flex-direction:column;gap:8px;flex:1}.dash-ring-stat{display:flex;align-items:baseline;gap:6px}.dash-ring-num{font:700 18px Manrope;color:var(--ink);letter-spacing:-.3px}.dash-ring-label{font:13px Manrope;color:var(--muted)}.dash-course-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.dash-course-row:first-of-type{padding-top:0}.dash-course-row:last-child{border-bottom:none;padding-bottom:0}.dash-course-row.locked{opacity:.45}.dash-course-info{display:flex;align-items:center;gap:10px;min-width:0}.dash-course-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--line)}.dash-course-text{display:flex;flex-direction:column;min-width:0}.dash-course-title{font:600 13px Manrope;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-course-meta{font:11px DM Mono;color:var(--muted);letter-spacing:.2px}.dash-course-right{display:flex;align-items:center;gap:10px;min-width:140px}.dash-course-track{flex:1;height:4px;background:var(--dialog-progress-track);border-radius:2px;overflow:hidden}.dash-course-fill{height:100%;border-radius:2px;transition:width .8s cubic-bezier(.22,1,.36,1)}.dash-course-pct{font:600 11px DM Mono;color:var(--muted);min-width:28px;text-align:right}.dash-badge-soft{font:600 10px DM Mono;letter-spacing:.5px;color:var(--muted);background:var(--lesson-bg);padding:3px 8px;border-radius:4px}.dash-actions-list{display:flex;flex-direction:column;gap:2px}.dash-action-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;background:none;border-radius:var(--radius);cursor:pointer;font-family:inherit;color:var(--ink);transition:background .3s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.dash-action-row:hover{background:var(--lesson-bg);transform:translate(4px)}.dash-action-row:active{transform:translate(2px) scale(.98);transition-duration:.1s}.dash-action-row svg{color:var(--muted);flex-shrink:0;transition:color .3s}.dash-action-row:hover svg{color:var(--accent-bar)}.dash-action-row span{font:600 13px Manrope}.dash-empty{display:flex;align-items:center;gap:10px;padding:16px 0;color:var(--muted);font:13px Manrope}.dash-empty svg{opacity:.4}.dash-timeline{display:flex;flex-direction:column}.dash-timeline-item{display:flex;gap:14px;position:relative}.dash-timeline-marker{display:flex;flex-direction:column;align-items:center;width:12px;flex-shrink:0;padding-top:5px}.dash-timeline-dot{width:6px;height:6px;border-radius:50%;background:var(--line);flex-shrink:0}.dash-timeline-dot.accent{background:var(--accent-bar)}.dash-timeline-line{width:1px;flex:1;background:var(--line);margin-top:4px}.dash-timeline-content{display:flex;flex-direction:column;padding-bottom:16px;min-width:0}.dash-timeline-content:last-child{padding-bottom:0}.dash-timeline-text{font:13px Manrope;color:var(--ink);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-timeline-time{font:10px DM Mono;color:var(--muted);letter-spacing:.3px;margin-top:2px}.cheatsheets-section{padding:56px 0;border-top:1px solid var(--line)}.cs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cs-card{border:1.5px solid var(--line);border-radius:0;overflow:hidden;transition:border-color .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.cs-card:hover:not(.open){transform:translate(-1px,-1px) translateZ(0);box-shadow:3px 3px 0 var(--ink)}.cs-card.open{border-color:var(--accent-bar);box-shadow:var(--shadow-md);transform:none}.cs-card-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .3s cubic-bezier(.22,1,.36,1)}.cs-card-header:hover{background:var(--lesson-bg)}.cs-icon{font-size:22px;flex-shrink:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.cs-card.open .cs-icon{transform:scale(1.15) rotate(-5deg)}.cs-card-info{flex:1;min-width:0}.cs-card-info h3{font-size:14px;letter-spacing:-.2px;margin:0;color:var(--ink)}.cs-section-count{font:10px DM Mono;color:var(--muted)}.cs-chevron{font-size:18px;color:var(--muted);transition:transform .4s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;font-weight:700}.cs-chevron.rotated{transform:rotate(90deg)}.cs-card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}.cs-card-body.visible{grid-template-rows:1fr}.cs-card-body-inner{overflow:hidden;padding:0 16px 12px}.cs-section{padding:4px 0 12px;opacity:0;transform:translateY(8px);transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.cs-card-body.visible .cs-section{opacity:1;transform:translateY(0)}.cs-card-body.visible .cs-section:nth-child(1){transition-delay:.05s}.cs-card-body.visible .cs-section:nth-child(2){transition-delay:.1s}.cs-card-body.visible .cs-section:nth-child(3){transition-delay:.15s}.cs-card-body.visible .cs-section:nth-child(4){transition-delay:.2s}.cs-card-body.visible .cs-section:nth-child(5){transition-delay:.25s}.cs-section-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.cs-section h4,.cs-section-head h4{font-size:12px;color:var(--accent-bar);letter-spacing:-.1px;font-weight:800;margin:0}.cs-copy-btn{border:0;background:none;color:var(--muted);font:13px system-ui;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .2s,background .2s;flex-shrink:0;font-family:inherit}.cs-copy-btn:hover{color:var(--accent-bar);background:var(--lesson-bg)}.cs-section ul{list-style:none;padding:0;margin:4px 0 0}.cs-section li{font:12px/1.55 Manrope;color:var(--text-body);padding:3px 0 3px 14px;position:relative}.cs-section li:before{content:"";position:absolute;left:0;top:10px;width:4px;height:4px;border-radius:50%;background:var(--accent-bar);opacity:.4;transition:opacity .3s,transform .3s}.cs-section li:hover:before{opacity:1;transform:scale(1.5)}.achievements-section{padding:56px 0;border-top:1px solid var(--line)}.ach-xp-bar{background:var(--surface);border:1.5px solid var(--line);border-radius:0;padding:16px 20px;margin-bottom:20px}.ach-xp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ach-xp-header span:first-child{font:700 14px Manrope;color:var(--ink)}.ach-xp-header span:last-child{font:12px DM Mono;color:var(--muted)}.ach-xp-track{height:8px;background:var(--dialog-progress-track);border-radius:4px;overflow:hidden}.ach-xp-fill{height:100%;background:var(--accent-bar);border-radius:0;transition:width .8s cubic-bezier(.22,1,.36,1)}.ach-category{margin-bottom:20px}.ach-category h3{font-size:15px;letter-spacing:-.3px;margin:0 0 10px}.ach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ach-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:0;position:relative;transition:transform .2s var(--ease-out),box-shadow .2s}.ach-card.unlocked{background:#d94f3b0a;border-color:#d94f3b26}.ach-card.unlocked:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #16161614}.ach-card.locked{opacity:.5}.ach-card-icon{font-size:32px;flex-shrink:0}.ach-card-info{flex:1;min-width:0}.ach-card-info h4{font-size:14px;letter-spacing:-.2px;margin:0;color:var(--ink)}.ach-card-info p{font:12px Manrope;color:var(--muted);margin:4px 0 0}.ach-card-xp{flex-shrink:0;text-align:right}.ach-earned{font:700 12px DM Mono;color:var(--accent-bar)}.ach-locked{font:12px DM Mono;color:var(--muted)}.ach-check{position:absolute;top:8px;right:10px;font:700 10px system-ui;color:var(--accent-bar);background:#d94f3b14;width:18px;height:18px;border-radius:0;display:flex;align-items:center;justify-content:center}.roadmap-section{padding:56px 0;border-top:1px solid var(--line)}.roadmap-course{margin-bottom:40px}.roadmap-course-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.roadmap-course-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.roadmap-course-header h3{font-size:20px;letter-spacing:-.5px;margin:0}.roadmap-projects{padding-left:5px}.roadmap-node-wrap{position:relative;margin-bottom:0}.roadmap-connector{position:absolute;left:18px;top:40px;bottom:-16px;width:2px;background:var(--line);transition:background .5s cubic-bezier(.22,1,.36,1)}.roadmap-connector.completed{background:var(--accent-bar)}.roadmap-node{display:flex;gap:16px;position:relative;padding-bottom:24px}.roadmap-node-dot{width:38px;height:38px;border-radius:0;display:flex;align-items:center;justify-content:center;font:700 13px DM Mono;flex-shrink:0;background:var(--lesson-bg);color:var(--muted);border:2px solid var(--ink);z-index:1;transition:background .4s cubic-bezier(.22,1,.36,1),color .4s cubic-bezier(.22,1,.36,1),border-color .4s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.34,1.56,.64,1)}.roadmap-node.completed .roadmap-node-dot{background:var(--accent-bar);color:#fff;border-color:var(--accent-bar);transform:scale(1.08)}.roadmap-node.locked .roadmap-node-dot{background:var(--surface);color:var(--muted);border-color:var(--line);opacity:.5}.roadmap-node-card{flex:1;border:1.5px solid var(--line);border-radius:0;padding:16px;transition:border-color .2s,box-shadow .2s}.roadmap-node.completed .roadmap-node-card{border-color:#b8651a33}.roadmap-node.locked .roadmap-node-card{opacity:.6}.roadmap-node-card:hover{box-shadow:var(--shadow-sm)}.roadmap-node-header{margin-bottom:10px}.roadmap-node-header h4{font-size:16px;letter-spacing:-.3px;margin:0;color:var(--ink)}.roadmap-node-meta{display:flex;gap:10px;align-items:center;margin-top:6px}.roadmap-node-meta span{font:11px DM Mono;color:var(--muted)}.roadmap-node-card>p{font:13px/1.65 Manrope;color:var(--muted);margin:0 0 12px}.roadmap-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.roadmap-tool-tag{font:11px DM Mono;padding:3px 10px;background:var(--lesson-bg);border-radius:4px;color:var(--text-dim);letter-spacing:.3px}.roadmap-expand-btn{border:0;background:none;font:700 12px Manrope;color:var(--accent-bar);cursor:pointer;font-family:inherit;padding:4px 0;margin-bottom:12px;transition:opacity .3s,transform .25s cubic-bezier(.22,1,.36,1)}.roadmap-expand-btn:hover{opacity:.7;transform:translate(2px)}.roadmap-steps{animation:fadeIn .25s var(--ease-out)}.roadmap-steps ol{padding-left:20px;margin:0 0 16px}.roadmap-steps li{font:13px/1.7 Manrope;color:var(--text-body);padding:4px 0}.roadmap-dataset{border:1.5px solid var(--line);border-radius:0;padding:16px;margin-bottom:14px;background:var(--surface)}.roadmap-dataset-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.roadmap-dataset-icon{font-size:20px}.roadmap-dataset-header strong{font-size:13px;color:var(--ink)}.roadmap-dataset-header p{font:12px Manrope;color:var(--muted);margin:2px 0 0}.roadmap-download-btn{border:2px solid var(--accent-bar);background:none;color:var(--accent-bar);padding:8px 16px;font:700 12px system-ui;border-radius:0;cursor:pointer;font-family:inherit;transition:all var(--transition);text-transform:uppercase;letter-spacing:.5px}.roadmap-download-btn:hover{background:var(--accent-bar);color:#fff}.roadmap-start-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--ink);color:var(--cream);border:2px solid var(--ink);border-radius:0;font:700 12px system-ui;cursor:pointer;font-family:inherit;transition:all var(--transition);text-transform:uppercase;letter-spacing:.5px}.roadmap-start-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #16161626}.roadmap-locked-msg{font:12px Manrope;color:var(--muted);padding:10px 0;font-style:italic}@media(max-width:900px){.path-grid--soon{grid-template-columns:repeat(2,1fr)}.dash-body{grid-template-columns:1fr}.dash-metrics{flex-wrap:wrap}.dash-metric{padding:14px 18px}.dash-metric-sep{display:none}.dash-ring-row{gap:20px}.cs-grid,.ach-grid{grid-template-columns:1fr}.flashcard-layout{grid-template-columns:1fr;gap:32px}.flashcard-controls{flex-direction:row;overflow-x:auto;border-top:none;border-bottom:1px solid var(--ink)}.deck-button{padding:14px 16px;border-bottom:0;border-right:1px solid var(--line);min-width:fit-content}.deck-button:last-child{border-right:none}.newsletter{grid-template-columns:1fr;gap:40px;padding:56px 40px}.dialog-shell{padding:40px 32px}.dialog-shell h2{font-size:36px}.dialog-flashcards{grid-template-columns:1fr;gap:16px}.dialog-flashcards .flashcard-sidebar{flex-direction:row;overflow-x:auto;border-top:none;border-bottom:1px solid var(--ink)}.dialog-flashcards .flashcard-sidebar .deck-button{border-bottom:0;border-right:1px solid var(--line);min-width:fit-content;padding:12px 16px}}@media(max-width:640px){.wrap{width:calc(100% - 32px)}.nav{height:64px}.nav-links{display:none;position:fixed;inset:64px 0 0;background:var(--cream);flex-direction:column;align-items:center;justify-content:flex-start;padding:32px 24px;gap:4px;z-index:40;animation:menuSlideIn .3s var(--ease-out);overflow-y:auto}.nav-links.open{display:flex}.nav-links button{font-size:15px;padding:12px 20px;width:100%;text-align:center;border-radius:var(--radius)}.hamburger{display:flex}.theme-toggle{width:36px;height:36px}.dash-metrics{flex-direction:column;align-items:stretch}.dash-metric{padding:14px 16px}.dash-metric-frac{display:none}.dash-ring-row{flex-direction:column;align-items:center;text-align:center}.dash-course-right{min-width:100px}.ach-card{padding:14px}.ach-card-icon{font-size:24px}.roadmap-node{gap:12px}.roadmap-node-card{padding:16px}.hero{grid-template-columns:1fr;padding-top:24px;gap:28px;min-height:auto}.hero-art{height:240px}.hero h1{font-size:44px;letter-spacing:-2.5px}.hero-proof{gap:14px;flex-wrap:wrap}.hero-proof span{padding-right:0;border-right:none}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading h2{font-size:36px;letter-spacing:-2px}.section-note{display:none}.path-grid--soon{grid-template-columns:1fr}.paths,.study-tools,.flashcards,.dashboard,.cheatsheets-section,.achievements-section,.roadmap-section{padding:40px 0 32px}.flashcard-layout{grid-template-columns:1fr;gap:20px}.flashcard-controls{display:grid;grid-template-columns:1fr 1fr;border-top:none;border-bottom:1px solid var(--ink);gap:0}.deck-button{padding:13px 10px;font-size:12px;border-right:0}.deck-button span{display:none}.flashcard{min-height:260px;padding:24px}.flashcard strong{font-size:19px}.study-grid{grid-template-columns:1fr}.notes-panel,.question-panel{padding:24px}.newsletter{width:100%;margin:0;padding:32px 20px;grid-template-columns:1fr;gap:20px;border-radius:0}.newsletter h2{font-size:36px;letter-spacing:-2.5px}footer{padding:24px 0;gap:16px;align-items:flex-start;flex-direction:column}footer div{gap:14px}.dialog-shell{padding:36px 20px 28px;max-width:100%;border-radius:0}.dialog-shell h2{font-size:30px;letter-spacing:-2px}.module.open .module-detail>*{padding-left:0}.module-toggle{grid-template-columns:32px 1fr auto}.module-toggle b{font-size:14px}.module-toggle .module-num{width:30px;height:30px;font-size:11px}.module-toggle em{font-size:9px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-dialog-overlay{padding:8px}.dialog-tab{padding:10px 16px;font-size:13px}.dialog-flashcards{grid-template-columns:1fr}.dialog-flashcards .flashcard-sidebar{flex-direction:row;overflow-x:auto;border-top:none;border-bottom:1px solid var(--ink)}.dialog-flashcards .flashcard-sidebar .deck-button{border-bottom:0;border-right:1px solid var(--line);min-width:fit-content;padding:11px 10px;font-size:12px}.dialog-flashcards .flashcard-sidebar .deck-button span{display:none}.lesson-detail h3{font-size:24px}.lesson-code{font-size:11px;padding:14px}.hero-actions{flex-wrap:wrap}}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-12px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--accent-bar);outline-offset:2px}button:focus:not(:focus-visible){outline:none}@supports (padding: env(safe-area-inset-bottom)){footer{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.newsletter{margin-bottom:calc(50px + env(safe-area-inset-bottom))}}
