:root{--paper:#f5f4f0;--surface:#fff;--ink:#20242b;--muted:#747b86;--line:#e5e4df;--accent:#5855db;--accent-soft:#eeedff;--shadow:0 18px 45px rgba(39,40,61,.08),0 2px 8px rgba(39,40,61,.05);--shadow-small:0 7px 20px rgba(39,40,61,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.55}button,input{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:5;top:0;bottom:0;width:296px;background:rgba(255,255,255,.82);border-right:1px solid var(--line);padding:28px 18px 18px;display:flex;flex-direction:column;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 30px;font-size:14px;letter-spacing:-.01em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:white;border-radius:11px;font-weight:800;box-shadow:0 5px 0 #b7b4ff}.sidebar-heading{display:flex;justify-content:space-between;padding:0 10px 9px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar-heading span:last-child{font-weight:500;letter-spacing:0;text-transform:none}.search{display:flex;align-items:center;gap:8px;background:#f3f3f0;border:1px solid transparent;border-radius:10px;padding:7px 10px;color:var(--muted);margin:0 3px 18px}.search:focus-within{border-color:#b9b7ff;box-shadow:0 0 0 3px var(--accent-soft)}.search input{width:100%;border:0;outline:0;background:transparent;font-size:12px;color:var(--ink)}.curriculum{overflow:auto;padding:0 3px}.nav-module{margin-bottom:4px}.nav-module-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;padding:9px 8px;color:var(--ink);font-size:12px;text-align:left;cursor:pointer;border-radius:8px}.nav-module-toggle:hover{background:var(--accent-soft)}.nav-module-toggle span{display:flex;align-items:center;gap:9px}.nav-module-toggle b{font-size:10px;color:var(--accent);font-weight:800}.nav-module-toggle em{font-style:normal;font-size:10px;color:var(--muted)}.nav-lessons{padding:0 0 6px 28px}.nav-lessons a{display:block;color:var(--muted);text-decoration:none;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 8px;border-left:1px solid var(--line)}.nav-lessons a:hover{color:var(--accent);border-color:var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 0;color:var(--muted);font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;background:#5dbd88;border-radius:50%;margin-right:7px}.content{margin-left:296px;width:calc(100% - 296px);max-width:1300px;padding:0 7vw 100px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between}.crumb,.eyebrow{color:var(--accent);font-size:10px;letter-spacing:.13em;font-weight:800}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:34px;height:34px;border-radius:10px;cursor:pointer;box-shadow:var(--shadow-small)}.hero{min-height:395px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px 3vw 58px 0}.hero-copy{max-width:610px}.hero h1{font:700 clamp(48px,7vw,86px)/.98 Georgia,serif;letter-spacing:-.065em;margin:14px 0 22px}.hero-lead{font:18px/1.55;color:var(--muted);max-width:500px}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:30px}.button{display:inline-flex;gap:18px;align-items:center;text-decoration:none;border-radius:12px;padding:12px 17px;font-weight:700;font-size:13px}.button.primary{background:var(--ink);color:#fff;box-shadow:0 5px 0 #7c78ed}.tiny-note{font-size:11px;color:var(--muted)}.hero-orbit{position:relative;width:245px;height:245px;flex:0 0 auto}.orbit{position:absolute;border:1px solid #c8c7fa;border-radius:50%;inset:10px;transform:rotate(28deg) scaleY(.58)}.orbit-two{inset:33px;transform:rotate(-34deg) scaleY(.63)}.orbit-core{position:absolute;inset:80px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--accent);color:#fff;font:700 24px/1 Georgia;box-shadow:0 12px 30px #bdbbff}.orbit-core small{font:500 9px/1.4 Inter,sans-serif;letter-spacing:.08em}.node{position:absolute;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-style:normal;font-weight:800;color:var(--accent);box-shadow:var(--shadow-small)}.node-one{top:3px;left:105px}.node-two{right:9px;bottom:43px}.node-three{bottom:7px;left:56px}.stats{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-right:3vw}.stats div{padding:0 48px;border-right:1px solid var(--line)}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{display:block;font:700 28px/1 Georgia,serif}.stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:75px 0 30px}.section-heading h2{font:600 31px/1.15 Georgia,serif;margin:8px 0 0;letter-spacing:-.03em}.section-heading>p{color:var(--muted);font-size:13px;max-width:240px;margin:0}.module{margin:0 0 44px}.module-head{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:start;margin-bottom:17px}.module-number{font:700 22px Georgia,serif;color:var(--accent);padding-top:6px}.module-head h3{font:600 27px/1.1 Georgia,serif;margin:4px 0 7px;letter-spacing:-.025em}.module-head p{margin:0;color:var(--muted);font-size:13px}.module-total{font:700 25px Georgia,serif;color:#acaeb6;padding-top:5px}.module-total small{font:500 10px Inter,sans-serif;text-transform:uppercase;letter-spacing:.1em}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}.lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}.lesson-card:hover{transform:translateY(-3px);box-shadow:0 22px 45px rgba(39,40,61,.12)}.lesson-top{display:flex;justify-content:space-between;align-items:center}.lesson-index{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em}.complete-button{border:0;background:transparent;color:#c4c4cc;font-size:21px;line-height:1;cursor:pointer}.complete .complete-button{color:#52ad7b}.lesson-card h4{font:600 18px/1.15 Georgia,serif;margin:15px 0 8px;letter-spacing:-.02em}.eli5-line{color:var(--muted);font-size:12px;line-height:1.5;min-height:54px;margin:0 0 15px}.lesson-links{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:8px}.lesson-tab{border:0;background:transparent;color:#9a9ca5;font-size:10px;font-weight:800;cursor:pointer;padding:0}.lesson-tab.active{color:var(--accent)}.lesson-panel{font-size:12px;padding-top:12px}.lesson-panel strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.lesson-panel p{margin:5px 0 0;color:var(--muted)}.detail-panel a{color:var(--accent);font-weight:700;text-decoration:none}.detail-panel a span{font-size:16px;margin-left:3px}.mobile-menu{display:none}.dark{--paper:#17181d;--surface:#22242b;--ink:#f3f2ed;--muted:#a1a4ae;--line:#373943;--accent:#a3a0ff;--accent-soft:#2d2c4c}.dark .sidebar{background:rgba(26,27,33,.9)}.dark .search{background:#2c2e35}.dark .brand-mark{background:#fff;color:#1d1e24}.dark .orbit{border-color:#53518b}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:285px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 40px rgba(0,0,0,.12)}.mobile-menu{display:block;position:fixed;z-index:6;top:16px;left:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;width:36px;height:36px}.content{margin-left:0;width:100%;padding:0 22px 70px}.topbar{padding-left:50px}.hero{padding:40px 0 45px;min-height:0}.hero-orbit{display:none}.hero h1{font-size:58px}.section-heading{display:block;padding-top:55px}.section-heading>p{margin-top:15px}.stats{margin-right:0}.stats div{padding:0 23px}.stats div:first-child{padding-left:0}.module-head{grid-template-columns:38px 1fr}.module-total{display:none}}
@media(max-width:520px){.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-actions{display:block}.tiny-note{display:block;margin-top:13px}.stats strong{font-size:23px}.stats div{padding:0 13px}.stats span{font-size:8px}.module-head h3{font-size:24px}.lesson-grid{grid-template-columns:1fr}}
:root{--paper:#f5f5f2;--surface:#fff;--ink:#111;--muted:#666;--line:#d8d8d4;--accent:#111;--accent-soft:#f0f0ed;--shadow:0 18px 45px rgba(0,0,0,.09),0 2px 8px rgba(0,0,0,.06);--shadow-small:0 7px 20px rgba(0,0,0,.1)}.dark{--paper:#111;--surface:#1b1b1b;--ink:#f5f5f2;--muted:#aaa;--line:#3b3b3b;--accent:#fff;--accent-soft:#292929}.brand-mark{box-shadow:0 5px 0 #aaa}.button.primary{box-shadow:0 5px 0 #888}.orbit{border-color:#999}.orbit-core{background:#111;box-shadow:0 12px 30px #999}.node{color:#111}.dark .node{color:#111}.lesson-links a{color:var(--muted);text-decoration:none}.lesson-links a.active,.lesson-links a:hover{color:var(--ink)}.lesson-page{background:var(--paper)}.back-link,.source-link{color:var(--ink);font-weight:700;text-decoration:none}.reader-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:45px 0 0}.reader-tabs a{color:var(--muted);font-weight:800;text-decoration:none;padding:14px 0}.show-eli5 .reader-tabs a[href="#eli5"],.show-detail .reader-tabs a[href="#detail"]{color:var(--ink);border-bottom:2px solid var(--ink)}.reader-section{padding:48px 0}.show-detail #eli5{display:none}.show-eli5 #detail{display:none}.picture-box{height:220px;border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:38px;display:flex;align-items:center;justify-content:center;gap:18px;box-shadow:var(--shadow)}.picture-circle,.picture-box-small{display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;width:92px;height:92px;font:700 28px Georgia,serif}.picture-line{width:80px;border-top:2px solid var(--ink)}.picture-box-small{width:58px;height:58px;font-size:16px}.example-box{border-left:3px solid var(--ink);margin:30px 0;}.example-box strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.example-box p{margin:5px 0 0}.reader-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reader-grid>div{border-top:1px solid var(--line);padding-top:13px}.detailed{border-top:1px solid var(--line)}
.lesson-links{display:flex;gap:8px;border:0;padding:0;margin-top:17px}.lesson-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border:1px solid var(--ink);border-radius:9px;background:var(--surface);color:var(--ink)!important;font-size:11px;font-weight:800;text-decoration:none;transition:background .15s,color .15s,transform .15s}.lesson-button:hover{background:var(--ink);color:var(--surface)!important;transform:translateY(-1px)}
.lesson-sidebar .nav-lessons a{font-size:11px}.source-link{display:inline-block;margin-top:30px;border-bottom:1px solid var(--ink);padding-bottom:3px}.status-dot{background:#111}.dark .status-dot{background:#fff}
.reader-grid-secondary{margin-top:28px}.reader-grid-secondary>div{}.reader-grid-secondary>div h3{margin-top:0}
.deep-notes{margin-top:48px;padding:34px 0;border-top:1px solid var(--line)}.deep-notes code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--accent-soft);color:var(--ink);padding:2px 5px;border-radius:4px;font-size:.9em}
.nav-unit-label{font:700 10px/1.6 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin:18px 0 5px;padding-left:8px;white-space:normal}
.sidebar .nav-module-toggle span{min-width:0}.sidebar .nav-module-toggle span b{flex-shrink:0}.sidebar .nav-module-toggle{gap:8px}.sidebar .nav-lessons a{white-space:normal}
.course-unit+.course-unit{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.unit-heading h4{font:600 24px/1.3 Georgia,serif;margin:4px 0 8px}.unit-heading>p:last-child{font-size:13px;color:var(--muted);margin:0 0 20px}
.course-overview-link{display:inline-block;color:var(--ink);font-size:12px;margin-top:10px;text-underline-offset:4px}
.optional-label{font:600 10px system-ui,sans-serif;color:var(--muted);display:inline-block;margin-bottom:8px}
.course-context{padding:16px 0 20px;border-bottom:1px solid var(--line);margin-bottom:28px;font:13px/1.7 system-ui,sans-serif;color:var(--muted)}
.course-context>a{font-weight:650;color:var(--ink)}.course-context p{font-size:13px!important;margin:8px 0 0}.course-prerequisites a{color:inherit}
.course-next{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.course-next a{max-width:46%;color:var(--ink);font:600 13px/1.6 system-ui,sans-serif;text-decoration:none}
.course-index .lesson-card h3{font:600 20px/1.3 Georgia,serif;margin:12px 0}.course-index .lesson-card p{font-size:13px;line-height:1.6}.syllabus-unit{margin:48px 0}.unit-checkpoint{font-size:14px;padding:14px 18px;border-left:2px solid var(--ink);background:var(--surface)}
.lesson-card,.lesson-card:hover { box-shadow:none; transform:none; border-radius:6px; }
.button.primary { color:var(--surface); }
.lesson-card { display:flex; flex-direction:column; }
.lesson-card .lesson-links { margin-top:auto; padding-top:17px; }
/* Both lesson views use one selected-state treatment and the same toolbar. */
html { background:var(--paper); color-scheme:light; }
html.dark { color-scheme:dark; }
.detail-views { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.detail-views [aria-current="page"] { background:var(--ink); color:var(--surface)!important; }



.lesson-page.rail-collapsed .detail-toolbar { margin-left:44px; padding-inline:4vw; }
@media(max-width:850px){.lesson-page .detail-toolbar,.lesson-page.rail-collapsed .detail-toolbar{margin-left:36px;padding:0 20px;}}
@media(max-width:600px){.course-next a{max-width:100%}.course-index .lesson-grid{grid-template-columns:1fr}}
/* Focused articles are a reading list, not another layer of cards. */
.focused-articles { margin:16px 0; font-size:15px; }
.focused-articles p { margin:0 0 6px; font-weight:600; color:var(--ink); }
.focused-articles ol { padding-left:22px; margin:0; }
.focused-articles li { margin:6px 0; }
.focused-articles a { color:var(--ink); text-underline-offset:3px; }
.library-links { list-style:none; padding:0; margin:0 0 48px; }
.library-links li { padding:20px 0; border-bottom:1px solid var(--line); }
.library-links a { color:var(--ink); font:600 21px/1.4 Georgia,serif; text-underline-offset:4px; }
.library-links p { margin:8px 0 0; color:var(--muted); font:14px/1.65 system-ui,sans-serif; }
