:root{--bg:#f8f8fc;--bg-gradient:#f4f3ff;--bg-invert:linear-gradient(160deg, #131519 0%, #15181d 100%);--fg-invert:#f4f3ff;--surface:#fff;--surface-2:#f3f4f6;--border:#e5e7eb;--border-hover:#d1d5db;--text:#374151;--text-bright:#111827;--muted:#6b7280;--faint:#f3f4f6;--brand-gradient:linear-gradient(90deg, #4f46e5, #7c3aed, #db2777);--accent:#6366f1;--accent-dim:#6366f114;--accent-border:#6366f140;--amber:#d97706;--violet:#7c3aed;--rose:#e11d48;--green:#059669;--sim-bg:#f8fafc;--sim-grid:#e2e8f0;--sim-axis:#94a3b8;--sim-label:#64748b;--slider-ring:#fff;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace;--lift:0;--chroma:0;--r:8px;--r-lg:12px;--col:680px;--shadow:0 4px 24px -4px #00000014;--shadow-lg:0 12px 40px -8px #0000001f}html.dark,[data-theme=dark]{--lift:.22;--chroma:.03;--bg:#131519;--bg-gradient:linear-gradient(160deg, #131519 0%, #15181d 100%);--bg-invert:#f4f3ff;--fg-invert:#131519;--surface:#1c1f25;--surface-2:#23272e;--border:#343b46;--border-hover:#46505e;--text:#d0d5de;--text-bright:#f2f4f8;--muted:#8791a1;--faint:#1d2128;--brand-gradient:linear-gradient(90deg, #818cf8, #a78bfa, #f472b6);--accent:#818cf8;--accent-dim:#818cf81f;--accent-border:#818cf84d;--amber:#f59e0b;--violet:#a78bfa;--rose:#fb7185;--green:#34d399;--sim-bg:#080810;--sim-grid:#141420;--sim-axis:#3a3a55;--sim-label:#555570;--slider-ring:#080810;--shadow:0 4px 24px -4px #0006;--shadow-lg:0 12px 40px -8px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,#__next{height:100%}body{background:var(--bg-gradient);background-color:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}code{font-family:var(--mono)}::selection{background:#6366f12e}.theme-toggle{z-index:100;border-radius:var(--r);background:var(--bg-invert);width:38px;height:38px;color:var(--fg-invert);box-shadow:var(--shadow);border:1px solid #0000;place-items:center;transition:transform .15s,filter .15s;display:grid;position:fixed;top:20px;right:20px}.theme-toggle:hover{box-shadow:var(--shadow-lg), 0 0 0 2px var(--accent-border);transform:scale(1.06)}.home{max-width:1120px;min-height:100vh;margin:0 auto;padding:72px 48px 120px}.home-header{margin-bottom:64px}.apex-launch{border:1px solid var(--accent-border);background:radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 30%), var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin:-30px 0 64px;padding:22px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.apex-launch:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.apex-launch:focus-visible{outline:3px solid var(--accent-dim);outline-offset:3px}.apex-launch-mark{border:1px solid var(--accent-border);background:var(--accent-dim);width:56px;height:56px;color:var(--accent);font-family:var(--mono);border-radius:17px;place-items:center;font-weight:800;display:grid}.apex-launch-copy,.apex-launch-copy small,.apex-launch-copy strong{display:block}.apex-launch-copy small{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.apex-launch-copy strong{color:var(--text-bright);letter-spacing:-.04em;margin-top:1px;font-size:22px}.apex-launch-copy>span{max-width:700px;color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5;display:block}.apex-launch-action{color:var(--accent);white-space:nowrap;align-items:center;gap:16px;font-size:12px;font-weight:700;display:flex}.apex-launch-action i{font-style:normal}.home-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:600}.home-title{color:var(--text-bright);letter-spacing:-.8px;margin-bottom:10px;font-size:36px;font-weight:800}.home-subtitle{color:var(--muted);max-width:520px;font-size:16px;line-height:1.6}.book-sections{flex-direction:column;gap:72px;display:flex}.book-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;padding-bottom:12px;display:flex}.book-section-heading{min-width:0}.book-section-title{color:var(--text-bright);letter-spacing:-.4px;margin-bottom:6px;font-size:22px;font-weight:700}.book-section-desc{color:var(--muted);max-width:480px;font-size:14px;line-height:1.55}.book-section-count{color:var(--muted);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.book-shelf{flex-wrap:wrap;align-items:flex-start;gap:36px 40px;display:flex}.book-card{width:180px;color:inherit;text-decoration:none;transition:transform .2s;display:block}.book-card:hover:not(.soon){transform:translateY(-6px)}.book-card.soon{opacity:.72;cursor:default;pointer-events:none}@media (max-width:640px){.home{padding:48px 24px 80px}.book-section-header{flex-direction:column;gap:12px}.book-shelf{justify-content:center;gap:32px}.apex-launch{grid-template-columns:auto 1fr;margin-top:-20px}.apex-launch-action{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;padding-top:12px}}.book-cover{background:linear-gradient(160deg, var(--cover-from) 0%, var(--cover-via) 50%, var(--cover-to) 100%);border-radius:6px 10px 10px 6px;flex-direction:column;justify-content:flex-end;width:180px;height:260px;padding:0;transition:box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px -8px #00000038,0 2px 8px -2px #0000001f,inset 3px 0 8px #0000002e,inset 0 1px #ffffff38;container-type:inline-size}.book-cover.dimmed{filter:saturate(.6)brightness(.9)}.book-card:hover:not(.soon) .book-cover{box-shadow:0 20px 48px -10px #00000047,0 4px 12px -4px #00000024,inset 3px 0 8px #0000002e,inset 0 1px #ffffff40}.book-cover-bg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.book-cover-shine{pointer-events:none;background:linear-gradient(105deg,#ffffff24 0%,#0000 60%);width:55%;height:100%;position:absolute;top:0;left:0}.book-cover>.cover-art{width:88cqw;height:78cqw;inset:5cqw auto auto 6cqw}.book-cover-body{z-index:1;position:absolute;bottom:11cqw;left:6cqw;right:6cqw}.book-cover-title{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(12px,9.6cqw,22px);font-weight:800;line-height:1.18}.book-cover-line{white-space:nowrap;display:block}.book-overview{max-width:720px;min-height:100vh;margin:0 auto;padding:60px 32px 120px}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:48px;font-size:13px;transition:color .12s;display:inline-flex}.back-link:hover{color:var(--accent)}.book-overview-header{margin-bottom:52px}.subject-tag{letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;margin-right:12px;font-size:11px;font-weight:600;display:inline-block}.edition-tag{color:var(--muted);font-size:11px;font-style:italic;display:inline-block}.book-overview-title{color:var(--text-bright);letter-spacing:-.7px;margin-bottom:14px;font-size:36px;font-weight:800;line-height:1.15}.book-overview-desc{color:var(--muted);margin-bottom:12px;font-size:16px;line-height:1.65}.book-overview-stats{color:var(--muted);font-size:13px;font-weight:500}.unit-section{margin-bottom:44px}.unit-title{text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;font-size:13px;font-weight:700}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.topic-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px 20px 18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.topic-card:hover:not(.soon){border-color:var(--topic-color,var(--accent));box-shadow:var(--shadow-lg);transform:translateY(-3px)}.topic-card.soon{opacity:.55;pointer-events:none;cursor:default}.topic-card-bar{background:var(--topic-color,var(--accent));height:3px;position:absolute;top:0;left:0;right:0}.topic-card-title{color:var(--text-bright);text-decoration:underline;-webkit-text-decoration-color:var(--topic-color,var(--accent));text-decoration-color:var(--topic-color,var(--accent));text-underline-offset:3px;margin:4px 0 0;font-size:15.5px;font-weight:600;text-decoration-thickness:1.5px}.topic-card:hover:not(.soon) .topic-card-title{text-decoration-thickness:2px}.topic-card-desc{color:var(--muted);margin-bottom:14px;font-size:13.5px;line-height:1.5}.topic-overview{max-width:640px;min-height:100vh;margin:0 auto;padding:60px 32px 120px}.topic-header{margin-bottom:40px}.unit-tag{letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600;display:inline-block}.topic-title{color:var(--text-bright);letter-spacing:-.5px;margin-bottom:0;font-size:32px;font-weight:800}.topic-header-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.topic-shipped-badge{color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600}.topic-curriculum-note{color:var(--muted);margin:0 0 20px;font-size:13.5px;line-height:1.5}.topic-curriculum-note code{background:var(--surface-2);border-radius:4px;padding:2px 6px;font-size:12px}.topic-desc{color:var(--muted);font-size:16px;line-height:1.6}.coming-soon{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--muted);padding:60px 32px}.coming-soon-icon{margin-bottom:12px;font-size:36px}.chapter-index{flex-direction:column;gap:4px;display:flex}.chapter-index-item{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:16px;padding:16px 20px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.chapter-index-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow-lg);transform:translate(4px)}.chapter-index-num{color:var(--accent);font-variant-numeric:tabular-nums;min-width:24px;font-size:12px;font-weight:700}.chapter-index-title{color:var(--text-bright);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-size:15px;font-weight:600;text-decoration-thickness:1.5px;display:block}.chapter-index-item:hover .chapter-index-title{color:var(--accent);text-decoration-thickness:2px}.chapter-index-meta{flex:1;min-width:0}.chapter-prereq-note{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.chapter-index-arrow{color:var(--muted);font-size:14px;transition:transform .15s,color .15s}.chapter-index-item:hover .chapter-index-arrow{color:var(--accent);transform:translate(3px)}.reader{grid-template-columns:210px 1fr;max-width:1120px;min-height:100vh;margin:0 auto;padding:0 32px;display:grid}.reader .sidebar{padding-left:0;padding-right:20px}@media (max-width:640px){.reader{padding:0 20px}}.sidebar-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin:-6px 0 14px -6px;padding:0;transition:color .14s,background .14s;display:grid}.sidebar-toggle:hover{color:var(--text-bright);background:var(--surface)}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-toggle svg{display:block}html[data-sidebar=collapsed] .reader{grid-template-columns:44px 1fr}html[data-sidebar=collapsed] .reader .sidebar{z-index:5;padding-right:0;overflow:visible}html[data-sidebar=collapsed] .sidebar>:not(.sidebar-toggle){display:none}html[data-sidebar=collapsed] .sidebar-toggle{margin-left:0}.sidebar-rail{display:none}html[data-sidebar=collapsed] .sidebar>.sidebar-rail{cursor:pointer;flex-direction:column;align-items:center;gap:10px;width:32px;margin:4px 0 0;padding-bottom:24px;display:flex}.rail-book{z-index:1;color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .12s;display:grid;position:relative;box-shadow:0 4px 10px -6px #0006}.rail-book:hover{transform:scale(1.08)}.rail-ch{letter-spacing:.04em;color:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h);border-bottom:2px solid var(--uc,var(--accent));padding:3px 0;font-size:11px;font-weight:800}.rail-dots{flex-direction:column;align-items:center;gap:7px;padding:2px 0;display:flex;position:relative}.rail-dot,.rail-guide{z-index:1;font-variant-numeric:tabular-nums;width:24px;height:24px;color:var(--muted);background:var(--bg);border:1.5px solid color-mix(in srgb, var(--uc,var(--accent)) 35%, var(--border));border-radius:50%;place-items:center;font-size:10px;font-weight:700;text-decoration:none;transition:transform .12s,background .12s,color .12s,border-color .12s;display:grid;position:relative}.rail-dot:hover,.rail-guide:hover{border-color:var(--uc,var(--accent));color:var(--text-bright);transform:scale(1.12)}.rail-dot.is-done{background:color-mix(in srgb, var(--uc,var(--accent)) 16%, var(--bg));color:var(--uc,var(--accent));border-color:color-mix(in srgb, var(--uc,var(--accent)) 60%, transparent)}.rail-dot.is-current{background:var(--uc,var(--accent));color:#fff;border-color:var(--uc,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--uc,var(--accent)) 22%, transparent)}.rail-guide{color:var(--uc,var(--accent));background:color-mix(in srgb, var(--uc,var(--accent)) 10%, var(--bg));border-radius:7px;margin-top:4px}.rail-guide.is-current{background:var(--uc,var(--accent));color:#fff}.rail-guide svg{width:14px;height:14px}.rail-dot:after,.rail-guide:after,.rail-book:after{content:attr(data-title);white-space:nowrap;background:var(--text-bright);color:var(--bg);letter-spacing:0;opacity:0;pointer-events:none;z-index:5;border-radius:8px;padding:5px 10px;font-size:12.5px;font-weight:500;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.rail-dot:hover:after,.rail-dot:focus-visible:after,.rail-guide:hover:after,.rail-guide:focus-visible:after,.rail-book:hover:after,.rail-book:focus-visible:after{opacity:1}@media (max-width:860px){.sidebar-toggle{display:none}html[data-sidebar=collapsed] .reader{grid-template-columns:1fr}html[data-sidebar=collapsed] .sidebar>:not(.sidebar-toggle){display:revert}html[data-sidebar=collapsed] .sidebar-book,html[data-sidebar=collapsed] .sidebar>.sidebar-rail{display:none}}.reader--studio-dev{--studio-rail:420px}.reader--studio-dev .reader-main{padding-top:var(--studio-pagebox,0px)}@media (min-width:1406px){.reader--studio-dev{grid-template-columns:210px 1fr var(--studio-rail)}}.sidebar{top:var(--site-header-h,0px);height:calc(100vh - var(--site-header-h,0px));border-right:2px solid var(--border);background:0 0;flex-direction:column;gap:0;padding:32px 20px;display:flex;position:sticky;overflow-y:auto}.sidebar-back{color:var(--muted);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;transition:color .12s;display:inline-flex}.sidebar-back:hover{color:var(--accent)}.sidebar-topic{color:var(--text-bright);border-bottom:1px solid var(--border);text-underline-offset:3px;margin-bottom:20px;padding-bottom:16px;font-size:14px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1.5px;transition:color .12s;display:block}.sidebar-topic:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.sidebar-topic:hover .sidebar-topic-no{color:var(--accent)}.sidebar-unit{letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-bottom:6px;font-size:11px;font-weight:700;transition:color .12s;display:block}.sidebar-unit:hover{color:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h)}.sidebar-unit-no{color:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h);margin-right:2px;font-weight:800}.sidebar-topic-no{color:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h);font-variant-numeric:tabular-nums;margin-right:8px;font-weight:800;transition:color .12s}.sidebar-link-no{min-width:22px;color:var(--muted);font-variant-numeric:tabular-nums;opacity:.8;font-size:11px;font-weight:700;display:inline-block}.sidebar-nav .sidebar-link{grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:10px;text-decoration:none;display:grid}.sidebar-nav .sidebar-link-title{text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1.5px;transition:text-decoration-color .12s}.sidebar-nav .sidebar-link:hover .sidebar-link-title,.sidebar-nav .sidebar-link.active .sidebar-link-title{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.sidebar-nav .sidebar-link .sidebar-link-no{min-width:0}.sidebar-link.active .sidebar-link-no{color:var(--accent);opacity:1}.sidebar-book{letter-spacing:-.5px;color:var(--text-bright);margin-bottom:18px;padding-bottom:7px;font-size:22px;font-weight:800;line-height:1.1;display:inline-block;position:relative}.sidebar-book-bar{border-radius:99px;height:4px;position:absolute;bottom:0;left:0;right:0}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{color:var(--text);border-radius:var(--r);text-underline-offset:3px;border-left:2px solid #0000;padding:9px 12px;font-size:13.5px;line-height:1.35;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1.5px;transition:color .12s,background .12s;display:block}.sidebar-link:hover{color:var(--text-bright);background:var(--surface);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent), 0 4px 14px -6px color-mix(in srgb, var(--accent) 45%, transparent)}.sidebar-link.active{color:var(--text-bright);border-left-color:var(--accent);background:var(--accent-dim);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:500}.reader-main{justify-content:center;min-width:0;padding:72px 48px 40px;display:flex}.reader-content{width:100%;max-width:var(--col);min-width:0}.reader-content h1{color:var(--text-bright);letter-spacing:-.5px;margin-bottom:12px;font-size:30px;font-weight:700;line-height:1.2}.reader-content h2{color:var(--text-bright);letter-spacing:-.2px;margin-top:52px;margin-bottom:14px;font-size:19px;font-weight:600}.reader-content .practice-heading{letter-spacing:-.3px;margin-top:56px;margin-bottom:32px;font-size:22px;font-weight:700}.reader-content .practice-heading~p{margin-top:40px;margin-bottom:10px}.reader-content .practice-heading~p:first-of-type{margin-top:0}.reader-content .practice-heading~.steps-wrap{margin-top:4px;margin-bottom:44px}.reader-content .practice-heading~.sim-wrap{margin-top:16px;margin-bottom:8px}.reader-content p{color:var(--text);margin-bottom:18px;font-size:15.5px}.reader-content p:last-child{margin-bottom:0}.reader-content strong{color:var(--text-bright);font-weight:600}.reader-content ul,.reader-content ol{color:var(--text);margin-bottom:18px;padding-left:22px}.reader-content li{margin-bottom:6px;font-size:15.5px}.reader-content hr{border:none;border-top:1px solid var(--border);margin:44px 0}.reader-content table{border-collapse:collapse;width:100%;margin:20px 0 28px;font-size:14.5px}.reader-content th,.reader-content td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px}.reader-content th{background:var(--surface-2);color:var(--text-bright);font-weight:600}.reader-content td{color:var(--text)}.reader-content tr:nth-child(2n) td{background:color-mix(in srgb, var(--border) 18%, transparent)}.reader-content .katex-display{margin:22px 0;padding:4px 0;overflow:auto hidden}:root{--lesson-body-size:clamp(16px, 1.9vw, 17px)}.reader-content .lesson-redesign-prose h2{margin-top:72px;font-size:clamp(23px,4vw,28px)}.reader-content .lesson-redesign-prose h3{margin-top:40px;margin-bottom:2px;font-size:clamp(16.5px,2.6vw,19px);font-weight:650}.reader-content .lesson-redesign-prose p{font-size:var(--lesson-body-size);line-height:1.7}.reader-content .lesson-redesign-prose li,.reader-content .lesson-redesign-prose .callout,.reader-content .lesson-redesign-prose .callout p{font-size:var(--lesson-body-size)}.reader-content .lesson-redesign-prose .callout-label{font-size:11.5px}.reader-content .lesson-redesign-prose .callout ul{margin:2px 0 0;padding-left:18px}.reader-content .lesson-redesign-prose .callout li{margin-bottom:4px}.reader-content .lesson-redesign-prose .callout li:last-child{margin-bottom:0}.reader-content .lesson-redesign-prose .lede{color:var(--text-bright);max-width:620px;margin-bottom:22px;font-size:clamp(17px,2vw,18px);line-height:1.6}.reader-content .lesson-redesign-prose .lede strong{color:var(--accent);font-weight:600}.reader-content .lesson-redesign-prose .kicker{font-size:var(--lesson-body-size);color:var(--muted);border-left:2px solid var(--border);max-width:560px;margin-bottom:14px;padding-left:12px}.reader-content .lesson-redesign-prose .formula-note{font-size:var(--lesson-body-size);color:var(--muted);text-align:center;margin-top:8px}.sim-wrap .katex-display,.morph-tex-host .katex-display,.morph-tex-layer .katex-display{padding:0;overflow:visible}.condensed-board .katex-display>.katex,.condensed-board .katex-html{white-space:normal}.condensed-board .base:has(>.mord.text):not(:has(>.mord:not(.text))){white-space:normal;width:auto}.chapter-nav{border-top:1px solid var(--border);gap:12px;margin-top:80px;padding-top:32px;display:flex}.chapter-nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);flex:1;align-items:center;gap:14px;min-width:0;padding:12px 14px;transition:border-color .12s,transform .12s;display:flex}.chapter-nav-btn.next{flex-direction:row-reverse}.nav-tiles{grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;display:grid}.nav-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow);color:var(--text-bright);align-items:center;gap:14px;padding:10px 16px 10px 10px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.nav-tile:hover{border-color:var(--la,var(--tc,var(--accent)));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.nav-tile.is-none{box-shadow:none;color:var(--muted);--la:var(--muted);background:0 0;border-style:dashed}.nav-tile.is-none:hover{border-color:var(--border);box-shadow:none;transform:none}.nav-tile.is-none .nav-tile-title{color:var(--muted);font-weight:500}.nav-tile-art{aspect-ratio:120/68;background:linear-gradient(135deg, var(--la-from,var(--accent)), var(--la-to,var(--accent)));border-radius:9px;flex:none;width:96px;overflow:hidden;box-shadow:inset 0 1px #ffffff38,inset 0 -10px 24px -14px #0000004d}.nav-tile-art>svg,.nav-tile-art img{width:100%;height:100%;display:block}.nav-tile-body{flex-direction:column;gap:3px;min-width:0;display:flex}.nav-tile-kicker{letter-spacing:.12em;text-transform:uppercase;color:oklch(from var(--la,var(--tc,var(--accent))) calc(l + var(--lift)) calc(c + var(--chroma)) h);font-size:11px;font-weight:700}.nav-tile-title{color:var(--text-bright);font-size:14.5px;font-weight:600;line-height:1.3}.nav-tile-guide{background:color-mix(in srgb, var(--tc,var(--accent)) 8%, var(--surface));border-color:color-mix(in srgb, var(--tc,var(--accent)) 28%, transparent);box-shadow:none;padding:13px 16px 13px 14px}.nav-tile-guide:hover{border-color:var(--tc,var(--accent))}@media (max-width:640px){.nav-tiles{grid-template-columns:1fr}.nav-tile-art{width:80px}}.chapter-nav-btn:hover{border-color:var(--border-hover);transform:translateY(-1px)}.chapter-nav-btn.next{text-align:right}.chapter-nav-btn.disabled{opacity:.25;pointer-events:none}.nav-dir{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px}.nav-title{color:var(--text-bright);font-size:16px;font-weight:500;font-family:var(--font-lesson,inherit);line-height:1.3}.nav-progress{z-index:9999;pointer-events:none;background:#6366f11f;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.nav-progress-bar{background:var(--accent);width:35%;height:100%;animation:1s ease-in-out infinite nav-progress-slide}@keyframes nav-progress-slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.chapter-loading{position:relative}.chapter-loading-bar{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;animation:1.2s ease-in-out infinite chapter-load-bar;position:absolute;top:0;left:0;right:0}@keyframes chapter-load-bar{0%{opacity:.4;transform:translate(-100%)}50%{opacity:1}to{opacity:.4;transform:translate(100%)}}.chapter-loading-line{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:6px;height:14px;margin-bottom:14px;animation:1.4s ease-in-out infinite chapter-load-pulse}.chapter-loading-line-lg{width:62%;height:28px;margin-bottom:24px}.chapter-loading-line-sm{width:38%}.chapter-loading-block{border-radius:var(--r-lg);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);height:220px;margin:28px 0 32px;animation:1.4s ease-in-out infinite chapter-load-pulse}@keyframes chapter-load-pulse{0%,to{opacity:.55}50%{opacity:1}}.sim-placeholder{border-radius:var(--r-lg);border:1px solid var(--border);min-height:268px}.callout{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);margin:28px 0;padding:16px 18px;font-size:15px}.callout.key{border-color:var(--accent-border);background:var(--accent-dim)}.callout.warn{background:#d977060f;border-color:#d977064d}.callout p{color:var(--text);margin:0;font-size:15px}.callout.key p{color:var(--text-bright)}.callout-label{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:6px;font-size:10.5px;font-weight:700}.callout.key .callout-label{color:var(--accent)}.callout.warn .callout-label{color:var(--amber)}.equation-box{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin:28px 0;padding:20px 24px;overflow-x:auto}.equation-box .katex-display{margin:0}.quiz-wrap{border:1px solid var(--border);border-radius:var(--r-lg);margin:36px 0;overflow:hidden}.quiz-q{border-bottom:1px solid var(--border);color:var(--text-bright);background:var(--surface);padding:20px 20px 16px;font-size:15px;line-height:1.55}.quiz-options{background:var(--bg);flex-direction:column;gap:6px;padding:12px;display:flex}.quiz-opt{border:1px solid var(--border);border-radius:var(--r);color:var(--text);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14.5px;transition:border-color .12s,background .12s;display:flex}.quiz-opt:not(:disabled):hover{border-color:var(--border-hover);background:var(--surface)}.quiz-opt .marker{border:1px solid var(--border);width:22px;height:22px;color:var(--muted);border-radius:5px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.quiz-opt.correct{background:#34d39912;border-color:#34d39966}.quiz-opt.correct .marker{background:var(--green);border-color:var(--green);color:#0a1a12}.quiz-opt.wrong{background:#fb718512;border-color:#fb718559}.quiz-opt.wrong .marker{background:var(--rose);border-color:var(--rose);color:#1a0408}.quiz-feedback{border-top:1px solid var(--border);color:var(--text);background:var(--surface);padding:14px 20px;font-size:14px;line-height:1.55}.quiz-retry{color:var(--accent);background:0 0;border:none;margin-top:8px;padding:0;font-size:13px}.steps-wrap{margin:32px 0}.steps-trigger{border:1px solid var(--border);color:var(--text-bright);border-radius:var(--r);background:0 0;padding:11px 18px;font-size:14px;font-weight:500;transition:border-color .12s}.steps-trigger:hover{border-color:var(--border-hover)}.steps-hint{border:1px solid var(--border);color:var(--muted);border-radius:var(--r);cursor:pointer;background:0 0;padding:9px 18px;font-size:13px;font-weight:500;transition:border-color .12s,color .12s}.steps-hint:hover{border-color:var(--border-hover);color:var(--text-bright)}.steps-hint-text{color:var(--muted);border-left:2px solid var(--border);margin-bottom:14px;padding:10px 14px;font-size:13.5px;font-style:italic}.steps-hint-text .katex-display{margin:8px 0;font-style:normal;display:block}.steps-hint-text .katex{font-style:normal}.steps-list{border-left:1px solid var(--border);flex-direction:column;gap:0;margin-left:10px;padding-left:0;display:flex}.step-item{grid-template-columns:42px 1fr;gap:0;margin-bottom:4px;display:grid}.step-num{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding-top:14px;padding-right:14px;font-size:11px;font-weight:600}.step-body{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);margin-bottom:6px;padding:14px 16px;font-size:15px}.step-body p{color:var(--text);margin:6px 0 0;font-size:15px}.step-body p:first-child{margin-top:0}.step-body .katex-display{margin:10px 0 0}.step-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.steps-next{border:1px solid var(--border);color:var(--text-bright);border-radius:var(--r);background:0 0;margin-top:10px;margin-left:42px;padding:9px 16px;font-size:13.5px;font-weight:500;transition:border-color .12s}.steps-next:hover{border-color:var(--border-hover)}.steps-done{color:var(--green);margin-top:10px;margin-left:42px;font-size:13px}.step-body{will-change:opacity, transform}.step-item .step-num{animation:.46s both stepNumIn}.step-item .step-body{animation:.5s cubic-bezier(.22,.61,.36,1) both stepBodyIn}.step-item .step-label{animation:.34s both stepLabelIn}.step-ink{animation:.55s 90ms both stepInkIn}@keyframes stepNumIn{0%{opacity:0;color:var(--accent);transform:scale(.55)}55%{opacity:1;color:var(--accent);transform:scale(1)}to{opacity:1;color:var(--muted);transform:scale(1)}}@keyframes stepBodyIn{0%{opacity:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);transform:translateY(7px)}55%{opacity:1;transform:translateY(0)}to{opacity:1;border-color:var(--border);transform:translateY(0);box-shadow:0 0 #0000}}@keyframes stepLabelIn{0%{opacity:0;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}@keyframes stepInkIn{0%{opacity:0;filter:blur(1.6px)}to{opacity:1;filter:blur()}}@media (prefers-reduced-motion:reduce){.step-item .step-num,.step-item .step-body,.step-item .step-label,.step-ink{animation:none}}.optional-wrap{margin:28px 0 36px}.optional-trigger{border:1px solid var(--border);color:var(--muted);border-radius:var(--r);cursor:pointer;background:0 0;padding:11px 18px;font-size:14px;font-weight:500;transition:border-color .12s,color .12s}.optional-trigger:hover{border-color:var(--border-hover);color:var(--text-bright)}.optional-open{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.optional-header{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.optional-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.optional-collapse{color:var(--muted);cursor:pointer;border-radius:var(--r);background:0 0;border:none;padding:4px 8px;font-size:12px;transition:color .12s}.optional-collapse:hover{color:var(--text-bright)}.optional-body{padding:18px 16px 8px}.optional-body>h2:first-child,.optional-body>h3:first-child{margin-top:0}.sim-wrap{background:var(--sim-bg);border:1px solid var(--border);border-radius:var(--r-lg);margin:32px 0;overflow:hidden}.sim-intro-envelope:not(.sim-intro-controls-ready) .sim-intro-controls-zone{opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;transform:translateY(6px)}.sim-intro-envelope.sim-intro-controls-ready .sim-intro-controls-zone{opacity:1;pointer-events:auto;transition:opacity .4s,transform .4s;transform:translateY(0)}.sim-katex-hud{box-sizing:border-box;align-items:center;width:fit-content;max-width:calc(100% - 20px);padding:.4em .55em;line-height:normal;display:inline-flex;overflow:visible}.sim-katex-hud .katex{color:inherit;font-size:1em;line-height:normal}.sim-katex-hud .katex .katex-html{overflow:visible}.sim-loading{height:300px;color:var(--muted);place-items:center;font-size:13px;display:grid}.sim-load-error{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sim-bg);margin:32px 0;padding:24px 28px}.sim-load-error-text{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.5}.sim-load-error-actions{flex-wrap:wrap;gap:10px;display:flex}.sim-load-retry{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px}.sim-load-retry:hover{border-color:var(--accent);color:var(--accent)}.sim-canvas{width:100%;display:block}.sim-bar{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:14px;padding:14px 18px;display:flex}.sim-play{border:1px solid var(--border);color:var(--text);border-radius:var(--r);background:0 0;flex:none;place-items:center;width:32px;height:32px;font-size:13px;transition:border-color .12s;display:grid}.sim-play:hover{border-color:var(--border-hover)}.sim-slider-wrap{flex:1;align-items:center;gap:10px;display:flex}.sim-slider-label{color:var(--muted);white-space:nowrap;font-size:12px}.sim-slider-val{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:36px;font-size:12px}input[type=range]{appearance:none;background:var(--border);border-radius:99px;outline:none;flex:1;min-width:80px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--slider-ring);width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--slider-ring);cursor:pointer;border-radius:50%;width:14px;height:14px}.sim-stat{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.sim-stat b{color:var(--text)}.region-plot{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sim-bg);margin:32px 0;overflow:hidden}.region-plot svg{width:100%;height:auto;display:block}@media (max-width:860px){.reader{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;gap:0;height:auto;padding:16px 20px;position:relative}.sidebar-book{display:none}.sidebar-nav{flex-flow:wrap;gap:4px}.sidebar-link{padding:5px 10px;font-size:12.5px}.reader-main{padding:32px 20px 80px}}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:36px;display:flex}.filter-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);border-radius:99px;padding:6px 14px;transition:border-color .15s,color .15s,background .15s}.filter-btn:hover{border-color:var(--border-hover);color:var(--text)}.filter-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.curr-tag{letter-spacing:.03em;background:color-mix(in srgb, var(--curr-color) 12%, transparent);color:var(--curr-color);border:1px solid color-mix(in srgb, var(--curr-color) 25%, transparent);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.curr-tag-active{background:color-mix(in srgb, var(--curr-color) 20%, transparent)}.topic-chapter-count{color:var(--muted);margin:4px 0 0;font-size:12px}.chapter-stub{opacity:.55}.chapter-stub .chapter-index-arrow{color:var(--muted)}.curriculum-list{flex-direction:column;gap:36px;display:flex}.curr-unit-header{border-bottom:1.5px solid var(--border);align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:8px;display:flex}.curr-unit-title{color:var(--text-bright);letter-spacing:-.01em;font-size:15px;font-weight:700}.curr-unit-count{color:var(--muted);font-size:12px;font-weight:400}.curr-chapter-list{flex-direction:column;gap:2px;display:flex}.curr-chapter-item{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);align-items:center;gap:14px;padding:11px 16px;text-decoration:none;transition:border-color .13s,transform .13s;display:flex}.curr-chapter-item:hover{border-color:var(--accent-border);transform:translate(3px)}.curr-chapter-idx{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:20px;font-size:11px;font-weight:700}.curr-chapter-name{color:var(--text-bright);flex:1;min-width:0;font-size:14px;font-weight:500}.curr-chapter-topic{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11.5px}.curr-chapter-arrow{color:var(--muted);flex-shrink:0;font-size:13px;transition:transform .13s,color .13s}.curr-chapter-item:hover .curr-chapter-arrow{color:var(--accent);transform:translate(2px)}.coming-soon-note{color:var(--muted);margin-top:12px;font-size:15px}.stub-page{padding:24px 0 48px}.stub-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:13px;font-weight:500}.stub-title{color:var(--text-bright);margin:0 0 20px;font-size:28px;font-weight:700;line-height:1.25}.stub-body{color:var(--muted);margin:0 0 16px;font-size:16px}.stub-curr{color:var(--muted);font-size:13px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.3s fadeUp}@keyframes writeOn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.write-on{animation:.7s cubic-bezier(.4,0,.2,1) forwards writeOn}.ink-stroke-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0;overflow:visible}@keyframes labelFadeIn{0%{opacity:0}to{opacity:1}}@keyframes morphRemovePop{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.07)}50%{opacity:1;transform:scale(1.06)}to{opacity:0;transform:scale(1.02)}}.tutor-tip{z-index:60;background:var(--surface);border:1px solid var(--border-hover);box-shadow:var(--shadow-lg);border-radius:10px;padding:4px;animation:.14s fadeUp;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.tutor-tip-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.tutor-tip-btn:hover{filter:brightness(1.06)}.tutor-tip-q{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.tutor-tip-form{align-items:center;gap:5px;display:flex}.tutor-tip-input{background:var(--surface-2);border:1px solid var(--border);width:220px;color:var(--text-bright);border-radius:7px;outline:none;padding:8px 11px;font-family:inherit;font-size:13.5px}.tutor-tip-input:focus{border-color:var(--accent)}.tutor-tip-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:8px 13px;font-family:inherit;font-size:13px;font-weight:600}.tutor-tip-send:disabled{opacity:.5;cursor:default}.tutor-mount{display:block}.tutor-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--accent-border);box-shadow:var(--shadow);margin:14px 0;position:relative;overflow:hidden}.tutor-card-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 5px;font-size:12px;line-height:1;position:absolute;top:8px;right:10px}.tutor-card-x:hover{color:var(--text-bright);background:var(--surface-2)}.tutor-card-body{padding:13px 38px 13px 14px}.tutor-status-row{flex-direction:column;gap:8px;display:flex}.tutor-status-line{align-items:center;gap:8px;display:flex}.tutor-status-text{color:var(--muted);flex:1;font-size:13px}.tutor-spinner-sm{border:2px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.8s linear infinite tutorSpin}@keyframes tutorSpin{to{transform:rotate(360deg)}}.tutor-bar{background:var(--surface-2);border-radius:2px;height:4px;overflow:hidden}.tutor-bar-fill{background:linear-gradient(90deg, var(--accent), var(--violet));height:100%;transition:width .3s}.tutor-explanation{color:var(--text);font-size:14px;line-height:1.65}.tutor-explanation .katex{font-size:1em}.tutor-explanation .katex-display{margin:6px 0;overflow-x:auto}.tutor-partial{opacity:.88}.mathtext-p{margin:0 0 8px}.mathtext-p:last-child{margin-bottom:0}.mathtext-block{text-align:center;margin:6px 0;display:block}.tutor-card-foot{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.tutor-card-foot--done{margin-top:10px}.tutor-gotit{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);cursor:pointer;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.tutor-gotit:hover{background:var(--accent);color:#fff}.tutor-cancel-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px}.tutor-cancel-btn:hover{color:var(--text)}.tutor-disclaimer{color:var(--muted);font-size:11px}.tutor-note{color:var(--text);margin:0;font-size:13.5px;line-height:1.55}.tutor-note-err{color:var(--rose)}.tutor-card-scroll{padding-bottom:10px}.tutor-turn{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.tutor-turn--first{border-top:none;margin-top:0;padding-top:0}.tutor-turn-q{color:var(--text-bright);margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.4}.tutor-composer{border-top:1px solid var(--border);background:var(--surface-2);align-items:center;gap:6px;padding:10px 12px;display:flex}.tutor-composer-input{background:var(--surface);border:1px solid var(--border);min-width:0;color:var(--text-bright);border-radius:8px;outline:none;flex:1;padding:8px 11px;font-family:inherit;font-size:13.5px}.tutor-composer-input:focus{border-color:var(--accent)}.tutor-composer-input:disabled{opacity:.6;cursor:default}.tutor-composer-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:inherit;font-size:16px;display:inline-flex}.tutor-composer-send:disabled{opacity:.45;cursor:default}.tutor-bar--inline{margin-top:6px}.tutor-margin-mark{border:1px solid var(--accent-border);background:var(--accent-dim);width:22px;height:22px;color:var(--accent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:6px 0;font-size:13px;display:inline-flex}.tutor-margin-mark:hover{background:var(--accent);color:#fff}[data-anchor]{scroll-margin-top:24px}.lessonmap{border:1px solid var(--accent-border);background:var(--accent-dim);border-radius:var(--r-lg);margin:28px 0;padding:16px 18px}.lessonmap-title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:12px;font-weight:700}.lessonmap-list{counter-reset:lm;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lessonmap-row{text-align:left;border-radius:var(--r);cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;font-family:inherit;font-size:14.5px;transition:background .12s,color .12s;display:flex}.lessonmap-row:hover,.lessonmap-row.is-active{background:var(--surface);color:var(--text-bright)}.lessonmap-q{align-items:baseline;gap:8px;display:flex}.lessonmap-q:before{counter-increment:lm;content:counter(lm);color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.lessonmap-go{color:var(--muted);flex-shrink:0;transition:transform .12s}.lessonmap-row:hover .lessonmap-go{color:var(--accent);transform:translate(3px)}.predict{border-radius:var(--r-lg);background:#7c3aed0d;border:1px solid #7c3aed4d;margin:24px 0;padding:16px 18px}.predict-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--violet);margin-bottom:8px;font-size:11px;font-weight:700}.predict-q{color:var(--text-bright);margin-bottom:12px;font-size:15px;font-weight:600}.predict-options{flex-wrap:wrap;gap:8px;display:flex}.predict-opt{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);min-width:120px;color:var(--text);cursor:pointer;flex:auto;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .12s,background .12s}.predict-opt:hover:not(:disabled){border-color:var(--violet)}.predict-opt:disabled{cursor:default}.predict-opt.is-correct{border-color:var(--green);color:var(--text-bright);background:#0596691a;font-weight:600}.predict-opt.is-wrong{border-color:var(--rose);background:#e11d4814}.predict-feedback{color:var(--text);margin-top:12px;font-size:14px;line-height:1.5}.selfcheck{border:1px dashed var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px;padding:10px 12px;display:flex}.selfcheck-q{color:var(--muted);font-size:13px}.selfcheck-btns{gap:6px;display:flex}.selfcheck-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s,color .12s}.selfcheck-btn.got:hover,.selfcheck-btn.got.is-on{border-color:var(--green);color:var(--green);background:#0596691a}.selfcheck-btn.review:hover,.selfcheck-btn.review.is-on{border-color:var(--amber);color:var(--amber);background:#d9770614}.selfcheck-note{font-size:12.5px}.selfcheck-note.ok{color:var(--green)}.selfcheck-note.flag{color:var(--amber)}.term-wrap{display:inline;position:relative}.term-trigger{font:inherit;color:var(--accent);cursor:pointer;border:none;border-bottom:1.5px dotted var(--accent-border);background:0 0;padding:0;transition:border-color .12s}.term-trigger:hover,.term-trigger.is-open{border-bottom-color:var(--accent)}.term-backdrop{z-index:40;position:fixed;inset:0}.term-pop{z-index:41;background:var(--surface);border:1px solid var(--border-hover);border-radius:var(--r);width:max-content;max-width:300px;box-shadow:var(--shadow-lg);white-space:normal;padding:10px 12px;display:block;position:absolute;top:calc(100% + 8px);left:0}.term-pop-label{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.term-pop-body{color:var(--text);font-size:13.5px;line-height:1.5;display:block}.study-guide-entry{border-color:var(--accent-border);background:var(--accent-dim)}.study-guide-entry:hover{border-color:var(--accent);background:var(--accent-dim)}.sg-icon{color:var(--accent);font-size:14px}.sidebar-study-guide-wrap{border-top:1px solid var(--border);margin-top:14px;padding-top:14px;padding-bottom:56px}.sidebar-study-guide-link{color:var(--text-bright);background:color-mix(in srgb, var(--tc,var(--accent)) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--tc,var(--accent)) 28%, transparent);border-left-width:1px;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:10px;font-weight:600;display:grid}.sidebar-study-guide-link .sg-ico{width:24px;height:24px;color:var(--tc,var(--accent));background:color-mix(in srgb, var(--tc,var(--accent)) 16%, transparent);border-radius:6px;place-items:center;display:grid}.sidebar-study-guide-link .sg-ico svg{width:14px;height:14px}.sidebar-study-guide-link:hover{border-color:var(--tc,var(--accent));background:color-mix(in srgb, var(--tc,var(--accent)) 12%, var(--surface))}.sidebar-study-guide-link.active{border-color:var(--tc,var(--accent));background:color-mix(in srgb, var(--tc,var(--accent)) 14%, var(--surface))}.sg-page{background-color:var(--bg);background-image:linear-gradient(var(--sg-grid-line,#6366f10d) 1px, transparent 1px), linear-gradient(90deg, var(--sg-grid-line,#6366f10d) 1px, transparent 1px);background-size:24px 24px;flex-direction:column;min-height:100vh;display:flex}html.dark .sg-page{--sg-grid-line:#818cf80f}.sg-header{border-bottom:1px solid var(--border);background:var(--surface);height:40px;top:var(--site-header-h,0px);z-index:10;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky}.sg-back{color:var(--muted);white-space:nowrap;font-size:12px;transition:color .12s}.sg-back:hover{color:var(--accent)}.sg-header-label{color:var(--text-bright);letter-spacing:-.2px;font-size:13px;font-weight:700}.sg-header-book{color:var(--muted);margin-left:auto;font-size:11px}.sg-body{--sg-text:1.28em;padding:.75em .875em;font-size:clamp(16px,2vw,28px)}.sg-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:.65em;display:grid}.sg-col{flex-direction:column;gap:.7em;min-width:0;display:flex;container-type:inline-size}.sg-section{--sgc-ink:var(--sgc-hue,var(--accent));flex-direction:column;gap:.55em;font-size:clamp(15px,6.4cqi,28px);display:flex}html.dark .sg-section{--sgc-ink:oklch(from var(--sgc-hue,var(--accent)) calc(l + .22) calc(c * .92) h)}.sg-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--sgc-ink,var(--accent));background:var(--sgc-label,var(--accent-dim));border-left:3px solid var(--sgc-ink,var(--accent));border-radius:0 5px 5px 0;margin-bottom:.18em;padding:.42em .75em;font-size:.88em;font-weight:900;display:block}.sg-concept{border:1px solid var(--sgc-border,var(--border));border-left:3px solid var(--sgc-ink,var(--accent));background:var(--surface);border-radius:6px;padding:.95em 1.1em;position:relative;overflow:hidden}.sg-concept:before{content:"";background:var(--sgc-bg,transparent);pointer-events:none;position:absolute;inset:0}.sg-concept-header{flex-wrap:wrap;align-items:baseline;gap:.44em;margin-bottom:.28em;display:flex;position:relative}.sg-concept-name{color:var(--sgc-ink,var(--text-bright));font-size:1.22em;font-weight:700;line-height:1.2}.sg-concept-link{text-decoration:underline;-webkit-text-decoration-color:var(--sgc-ink,var(--accent));text-decoration-color:var(--sgc-ink,var(--accent));text-underline-offset:3px;cursor:pointer;text-decoration-thickness:2px}.sg-concept-link:hover{color:var(--sgc-ink,var(--accent));text-decoration-thickness:2.5px}.sg-concept-note{color:var(--muted);font-size:.85em;font-style:italic;line-height:1.2}.sg-concept-body{font-size:var(--sg-text);color:var(--text-bright);line-height:1.45;position:relative}.sg-concept-body p{color:inherit;margin:0 0 .35em;font-size:1em}.sg-concept-body p:last-child{margin-bottom:0}.sg-concept-body strong{color:var(--text-bright);font-size:1em;font-weight:600}.sg-concept-body .sg-formula-stack:not(.sg-graph-text),.sg-concept-body .sg-itv-text,.sg-concept-body .sg-squeeze-text,.sg-concept-body .sg-epsilon-body,.sg-concept-body .sg-composition-body{color:var(--text-bright);font-size:1em;line-height:1.45}.sg-concept-body .sg-graph-text{color:var(--sg-graph-hue,var(--text-bright));font-size:1em;line-height:1.45}html.dark .sg-concept-body .sg-graph-text{color:oklch(from var(--sg-graph-hue,var(--text-bright)) calc(l + .22) calc(c * .92) h)}.sg-page .sg-concept-body .sg-graph-text .katex-display>.katex,.sg-page .sg-concept-body .sg-graph-text .katex{color:inherit}.sg-page .sg-concept-body .katex-display{text-align:left;margin:.2em 0;font-size:1em;overflow-x:auto}.sg-page .sg-concept-body .katex-display>.katex,.sg-page .sg-concept-body .katex{color:inherit;font-size:1em}.sg-split{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:.85em;padding-top:.25em;display:grid}.sg-viz{width:100%;position:relative}.sg-viz>svg{width:100%;height:100%;display:block}.sg-viz--std{aspect-ratio:252/98}.sg-viz--split-graph{aspect-ratio:150/105;min-height:6.5em}.sg-viz--pipeline{aspect-ratio:252/65;min-height:4.5em}.sg-viz--compact{aspect-ratio:1.35;width:100%;margin:0 auto}.sg-continuity{flex-direction:column;align-items:center;gap:.4em;padding-top:.15em;display:flex}.sg-viz--continuity{aspect-ratio:252/115;width:68%;margin:0 auto}.sg-viz--itv{aspect-ratio:252/118;width:100%;margin:0}.sg-split--itv{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1em}.sg-split--itv .sg-itv-text,.sg-split--itv .sg-itv-text .katex{color:var(--text-bright)}.sg-split--itv .sg-formula-stack{justify-content:center;gap:.35em}.sg-split--itv .sg-formula-stack p{margin:0}.sg-split--theorem{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:.95em}.sg-viz--composition{aspect-ratio:252/52;width:100%;max-height:4.2em}.sg-composition{flex-direction:column;gap:.65em;display:flex}.sg-composition-body{color:var(--text-bright);flex-direction:column;gap:.35em;line-height:1.45;display:flex}.sg-composition-body p{margin:0}.sg-viz--epsilon{aspect-ratio:252/140;width:72%;max-height:9em;margin:0 auto}.sg-epsilon{flex-direction:column;gap:.7em;display:flex}.sg-epsilon-body{color:var(--text-bright);flex-direction:column;gap:.35em;line-height:1.45;display:flex}.sg-epsilon-body p{margin:0}.sg-epsilon-body .katex-display{text-align:left;margin:0;overflow-x:auto}.sg-epsilon-body strong{color:var(--text-bright);font-weight:700}.sg-squeeze{flex-direction:column;align-items:stretch;gap:.45em;display:flex}.sg-squeeze .sg-squeeze-text,.sg-squeeze .sg-squeeze-text .katex{color:var(--text-bright)}.sg-squeeze .sg-formula-stack{color:var(--text-bright);gap:.3em;font-size:1em}.sg-viz--squeeze{aspect-ratio:252/98;width:78%;max-height:6.5em;margin:0 auto}.sg-split--limit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.65em;padding-top:0}.sg-viz--limit{aspect-ratio:252/96;width:100%}.sg-split--theorem .sg-formula-stack,.sg-split--limit .sg-formula-stack,.sg-split--limit .sg-graph-text,.sg-split--asymptote .sg-formula-stack,.sg-split--asymptote .sg-graph-text{justify-content:flex-start;gap:.35em;padding-top:.1em;font-size:1em}.sg-split--asymptote .sg-formula-stack,.sg-split--asymptote .sg-graph-text{justify-content:center}.sg-formula-stack{min-width:0;color:var(--text-bright);flex-direction:column;gap:.35em;line-height:1.45;display:flex}.sg-formula-stack p{margin:0}.sg-formula-stack .katex-display{text-align:left;margin:0;overflow-x:auto}.sg-formula-stack .katex-display .katex{color:inherit}.sg-cc-label{color:var(--text-bright);text-align:center;letter-spacing:.01em;padding-top:.1em;font-family:inherit;font-size:1em;font-weight:800;line-height:1.45}.sg-concept-body table{border-collapse:collapse;width:100%;margin:.25em 0 .12em;font-size:.78em}.sg-concept-body th,.sg-concept-body td{text-align:left;border-bottom:1px solid var(--border);padding:.2em .44em}.sg-concept-body th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7em;font-weight:700}.sg-concept-body tr:last-child td{border-bottom:none}.sg-trap{color:var(--text-bright);background:#d9770612;border:1px solid #d9770638;border-radius:4px;align-items:baseline;gap:.38em;margin-top:.5em;padding:.44em .65em;font-size:1em;line-height:1.45;display:flex;position:relative}html.dark .sg-trap{background:#f59e0b12;border-color:#f59e0b2e}.sg-trap-label{letter-spacing:.1em;text-transform:uppercase;color:var(--amber);flex-shrink:0;font-size:.68em;font-weight:800;line-height:1.5}.sg-trap-body{color:var(--text)}.sg-trap-body .katex{font-size:1em}@media (max-width:900px){.sg-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.sg-grid{grid-template-columns:1fr}.sg-split,.sg-split--limit,.sg-split--itv,.sg-split--theorem,.sg-split--asymptote{grid-template-columns:1fr;gap:.5em}.sg-split>.sg-viz{max-width:70%;margin-inline:auto}}.sv-play-btn{color:#818cf8;cursor:pointer;z-index:1;background:linear-gradient(135deg,#6366f129,#6366f114);border:1.5px solid #6366f161;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin:.5em 0 .8em;font-family:inherit;transition:background .2s,border-color .2s,box-shadow .22s,transform .15s,color .2s;display:inline-flex;position:relative}.sv-play-btn:hover{color:#c7d2fe;background:linear-gradient(135deg,#6366f14d,#6366f12e);border-color:#6366f1bf;transform:scale(1.12);box-shadow:0 0 0 8px #6366f117,0 0 28px #6366f152}.sv-play-btn:active{transform:scale(.94)}.sv-play-btn-loading,.sv-play-btn:disabled{cursor:wait;opacity:.85}.sv-play-btn-loading:hover{transform:none}.sv-play-spinner{border:2px solid #818cf840;border-top-color:#818cf8;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite sv-spin;display:block}@keyframes sv-spin{to{transform:rotate(360deg)}}.sv-modal{z-index:9000;background:#050508;position:fixed;inset:0}.sv-shell{background:#050508;flex-direction:column;animation:.46s cubic-bezier(.16,1,.3,1) forwards sv-zoom-in;display:flex;position:absolute;inset:0;overflow:hidden}.sv-closing .sv-shell{animation:.3s cubic-bezier(.55,0,.85,.15) forwards sv-zoom-out}@keyframes sv-zoom-in{0%{transform:translate(var(--sv-dx,0px), var(--sv-dy,0px)) scale(.02);opacity:0}45%{opacity:1}to{opacity:1;transform:translate(0)scale(1)}}@keyframes sv-zoom-out{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--sv-dx,0px), var(--sv-dy,0px)) scale(.02);opacity:0}}.sv-stage-wrap{background:#090914;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.sv-stage-canvas{transform-origin:50%;background-color:#090914;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:64px 64px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-shrink:0;position:relative;overflow:hidden}.sv-modal .vid-math .katex-display{text-align:left;margin:0}.sv-modal .vid-math .hl-g,.sv-modal .vid-math .hl-h,.sv-modal .vid-math .hl-f,.sv-modal .vid-math .hl-L,.sv-modal .vid-math .hl-zero,.sv-modal .vid-math .hl-one,.sv-modal .vid-math .hl-bound,.sv-modal .vid-math .hl-upper,.sv-modal .vid-math .hl-lower,.sv-modal .vid-math .hl-sin,.sv-modal .vid-math .hl-x,.sv-modal .vid-math .hl-tan,.sv-modal .vid-math .hl-cos{transition:color .28s,text-shadow .28s}.sv-modal .vid-math.active-hl-g .hl-g,.sv-modal .vid-math.active-hl-h .hl-h{color:#34d399;text-shadow:0 0 14px #34d39999}.sv-modal .vid-math.active-hl-f .hl-f{color:#a5b4fc;text-shadow:0 0 14px #a5b4fca6}.sv-modal .vid-math.active-hl-L .hl-L{color:#fbbf24;text-shadow:0 0 14px #fbbf24a6}.sv-modal .vid-math.active-hl-bound .hl-bound,.sv-modal .vid-math.active-hl-upper .hl-upper,.sv-modal .vid-math.active-hl-lower .hl-lower{color:#34d399;text-shadow:0 0 14px #34d3998c}.sv-modal .vid-math.active-hl-zero .hl-zero{color:#fb7185;text-shadow:0 0 14px #fb71858c}.sv-modal .vid-math.active-hl-one .hl-one{color:#e2e8f0;text-shadow:0 0 10px #ffffff73}.sv-modal .vid-math.active-hl-sin .hl-sin{color:#a5b4fc;text-shadow:0 0 14px #a5b4fc99}.sv-modal .vid-math.active-hl-x .hl-x{color:#fbbf24;text-shadow:0 0 14px #fbbf2499}.sv-modal .vid-math.active-hl-tan .hl-tan,.sv-modal .vid-math.active-hl-cos .hl-cos{color:#34d399;text-shadow:0 0 14px #34d3998c}.sv-modal .vid-math{position:relative}.sv-modal .vp-plot-compact{z-index:1;height:64%;position:absolute;top:0;left:0;right:0}.sv-modal .vp-equations-compact{z-index:2;background:#090914;border-top:1px solid #ffffff0f;justify-content:center;align-items:center;height:36%;padding:0 60px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.sv-modal .vp-full-compact{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;inset:0}.sv-modal .vp-scene-title{display:none}.sv-modal .morph-tex-host{justify-content:center;align-items:center;width:100%;display:flex}.sv-modal .morph-tex-layer{text-align:center}.sv-modal .vid-math{font-size:1em}.sv-modal .vid-math .katex{color:#f1f5f9}.sv-modal .vid-math .katex-display{margin:0}.sv-modal .vid-math .katex-display .katex{color:#f1f5f9}.sv-modal .morph-tex-out{z-index:10}.sv-modal .morph-tex-in{z-index:1}.sv-modal .vp-note{color:#94a3b8;font-size:13px;font-style:italic}.sv-modal .vp-note-em{color:#94a3b8;font-style:normal;font-weight:500}.sv-modal .vp-pattern-layout{gap:18px}.sv-modal .vp-pattern-box{min-width:150px;padding:18px 22px}.sv-modal .vp-pattern-box-title{font-size:15px}.sv-modal .vp-pattern-eg{font-size:13px}.sv-modal .vp-pattern-bound{font-size:12px}.sv-modal .vp-pattern-op{font-size:32px}.sv-modal .vp-pattern-result{font-size:30px}.sv-modal .vp-pattern-note{max-width:480px;font-size:13px}.sv-modal .vp-vicegrip{margin-top:6px}.sv-modal .vp-frame{position:absolute;inset:0}.sv-modal .vp-graph{z-index:1;position:absolute;inset:0}.sv-modal .vp-frame-splitTall .vp-graph{bottom:25%}.sv-modal .vp-eq{z-index:3;pointer-events:none;justify-content:center;align-items:center;padding:0 48px;display:flex;position:absolute;left:0;right:0}.sv-modal .vp-eq-cinema.vp-eq-bottom{bottom:5%}.sv-modal .vp-eq-cinema.vp-eq-top{top:6%}.sv-modal .vp-eq-cinema .morph-tex-host{-webkit-backdrop-filter:blur(7px);background:#0808129e;border:1px solid #ffffff12;border-radius:16px;width:auto;max-width:88%;padding:14px 32px}.sv-modal .vp-eq-cinema .vid-math{font-size:1.5em}.sv-modal .vp-eq-splitTall{background:#090914;border-top:1px solid #ffffff0f;height:25%;bottom:0}.sv-modal .vp-eq-splitTall .vid-math{font-size:1.7em}.sv-modal .vp-hero{z-index:2;justify-content:center;align-items:center;padding:0 80px;display:flex;position:absolute;inset:0}.sv-modal .vp-hero .vid-math{font-size:2.2em}.sv-modal .vp-hero .morph-tex-host{width:100%}.sv-controls{background:#090914;border-top:1px solid #ffffff0f;flex-shrink:0;padding:0 20px 10px}.sv-scrub{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;height:28px;display:flex;position:relative}.sv-scrub-track{background:#ffffff1a;border-radius:99px;height:3px;transition:height .15s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sv-scrub:hover .sv-scrub-track,.sv-dragging .sv-scrub-track{height:5px}.sv-scrub-fill{pointer-events:none;background:#fff;border-radius:99px;height:3px;transition:height .15s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sv-scrub:hover .sv-scrub-fill,.sv-dragging .sv-scrub-fill{height:5px}.sv-controls:not(.sv-dragging) .sv-scrub-fill{transition:width 80ms linear,height .15s}.sv-dragging .sv-scrub-fill{transition:height .15s}.sv-scrub-thumb{pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:0;height:0;transition:opacity .15s,width .15s,height .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #ffffff80}.sv-scrub:hover .sv-scrub-thumb,.sv-dragging .sv-scrub-thumb{opacity:1;width:14px;height:14px}.sv-controls-row{align-items:center;gap:4px;height:40px;margin-top:2px;display:flex}.sv-spacer{flex:1}.sv-icon{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;transition:background .15s,color .15s,transform .12s;display:flex}.sv-icon:hover{color:#fff;background:#ffffff1a}.sv-icon:active{transform:scale(.92)}.sv-icon-play{color:#fff;background:#ffffff1f;width:42px;height:42px}.sv-icon-play:hover{background:#fff3}.sv-pill{letter-spacing:.02em;color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:99px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s}.sv-pill:hover{color:#fffc}.sv-pill.active{color:#fff;background:#ffffff1f}.ce-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sim-bg);margin:32px 0;overflow:hidden}.ce-card.ce-pass{border-color:#10b9818c}.ce-prompt{color:var(--text);border-bottom:1px solid var(--border);padding:14px 18px;font-size:14.5px;line-height:1.55}.ce-plan{border-bottom:1px solid var(--border);background:var(--accent-dim);padding:10px 18px}.ce-plan>summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600;list-style:none}.ce-plan>summary::-webkit-details-marker{display:none}.ce-plan>summary:before{content:"▸ "}.ce-plan[open]>summary:before{content:"▾ "}.ce-plan ol{color:var(--text);margin:10px 0 4px;padding-left:22px;font-size:13.5px;line-height:1.6}.ce-plan ol li{margin:3px 0}.ce-editor{background:#0f172a}.ce-header{background:#1e293b;align-items:center;gap:8px;padding:7px 14px;display:flex}.ce-dots{gap:5px;display:flex}.ce-dots span{opacity:.7;border-radius:50%;width:10px;height:10px}.ce-dots span:first-child{background:#ef4444}.ce-dots span:nth-child(2){background:#f59e0b}.ce-dots span:nth-child(3){background:#10b981}.ce-filename{color:#64748b;font-size:11px;font-family:var(--font-mono,monospace);margin-left:4px}.ce-mode{letter-spacing:.06em;text-transform:uppercase;color:#475569;margin-left:auto;font-size:10px}.ce-body{max-height:460px;overflow:auto}.ce-blank{font-family:inherit;font-size:inherit;line-height:inherit;color:#fde68a;box-sizing:content-box;caret-color:#fde68a;background:#f59e0b21;border:none;border-bottom:1.5px dashed #f59e0b;border-radius:3px 3px 0 0;outline:none;margin:0 1px;padding:0 3px;transition:background .12s}.ce-blank::placeholder{color:#b45309;opacity:.7}.ce-blank:focus{background:#f59e0b38}.ce-blank[data-empty=true]{background:#ef44442e;border-bottom-color:#ef4444}.ce-actions{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.ce-run{font:inherit;color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:7px 20px;font-size:13px;font-weight:700}.ce-run:disabled{opacity:.6;cursor:default}.ce-btn{font:inherit;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:13px}.ce-btn:hover{border-color:var(--accent);color:var(--accent)}.ce-reveal{margin-left:auto}.ce-hints{background:var(--surface);padding:0 18px 8px}.ce-hint{color:var(--text);border-left:2px solid var(--accent);background:var(--accent-dim);border-radius:0 6px 6px 0;margin-bottom:6px;padding:8px 12px;font-size:13.5px;line-height:1.55}.ce-output{background:#020617;border-top:1px solid #1e293b;padding:12px 16px}.ce-out-label{letter-spacing:.08em;text-transform:uppercase;color:#475569;margin:2px 0 4px;font-size:10px}.ce-pre{font-family:var(--font-mono,monospace);color:#86efac;white-space:pre-wrap;word-break:break-word;margin:0 0 8px;font-size:13px;line-height:1.65}.ce-pre.ce-err{color:#f87171}.ce-tests{margin-top:4px}.ce-tests-head{color:#cbd5e1;margin-bottom:8px;font-size:12px;font-weight:700}.ce-card.ce-pass .ce-tests-head{color:#34d399}.ce-test{align-items:baseline;gap:8px;padding:3px 0;font-size:13px;line-height:1.5;display:flex}.ce-test-icon{flex:none;font-weight:700}.ce-test.ok .ce-test-icon{color:#34d399}.ce-test.bad .ce-test-icon{color:#f87171}.ce-test-name{color:#cbd5e1;flex:none}.ce-test-msg{color:#fca5a5;font-size:12.5px}.il-test-page{max-width:720px;min-height:100vh;margin:0 auto;padding:48px 24px 120px}.il-test-nav{justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;display:flex}.il-test-lesson-link{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.il-test-lesson-link:hover{text-decoration:underline}.il-test-header{margin-bottom:48px}.il-test-title{letter-spacing:-.5px;color:var(--text-bright);margin-bottom:12px;font-size:28px;font-weight:800}.il-test-lead{color:var(--muted);max-width:560px;font-size:15px;line-height:1.65}.il-test-lead code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:13px}.il-test-section{margin-bottom:56px}.il-test-section-spaced{margin-bottom:0}.il-test-section-head{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.il-test-badge{width:28px;height:28px;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;place-items:center;font-size:13px;font-weight:800;display:grid}.il-test-section-title{color:var(--text-bright);letter-spacing:-.2px;margin-bottom:6px;font-size:18px;font-weight:700}.il-test-section-desc{color:var(--muted);max-width:520px;font-size:14px;line-height:1.6}.il-draw-wrap{position:relative}.il-draw-sliders{align-items:center;gap:16px;padding:4px 16px 10px;display:flex}.il-draw-slider-col{flex:1}.il-draw-slider-label{margin-bottom:2px;font-size:10px;font-weight:600}.il-draw-slider-label-left{color:#6366f1}.il-draw-slider-label-right{color:#10b981}.il-draw-hint{color:var(--muted);background:var(--surface);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:600;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.il-test-scroll-pad{align-items:flex-end;min-height:55vh;padding-bottom:32px;display:flex}.il-test-scroll-pad-bottom{align-items:flex-start;min-height:40vh;padding-top:32px;padding-bottom:0}.il-test-filler{color:var(--muted);max-width:480px;font-size:14px;line-height:1.65}.il-draw-scroll-target{scroll-margin-top:24px}.il-test-config-note{color:var(--muted);margin:0;padding:0 16px 10px;font-size:11px}@media (max-width:520px){[data-manim-film] .manim-film-header{flex-wrap:nowrap!important;padding-right:58px!important}[data-manim-film] .manim-active-section{display:none}}:root{--lm-ease:cubic-bezier(.16, 1, .3, 1);--lm-ease-io:cubic-bezier(.87, 0, .13, 1);--lm-board:#0c0d10;--lm-turn:1.1s}.lm-home{--lm-page-gutter:clamp(24px, 4vw, 72px);max-width:none;padding:0 0 120px;overflow-x:clip}.lm-home .book-sections{width:100%;max-width:1120px;margin:0 auto;padding:40px 32px 0}.lm-home .book-shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 40px;display:grid}@media (max-width:900px){.lm-home .book-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}}@media (max-width:640px){.lm-home .book-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}}.lm-home .book-card{width:100%}.lm-home .book-cover{aspect-ratio:180/260;width:100%;height:auto;padding:0}.lm-hero{width:100%;max-width:none;min-height:78vh;padding:72px var(--lm-page-gutter) 32px;grid-template-columns:minmax(0,60fr) minmax(0,40fr);align-items:center;gap:64px;margin:0;display:grid;position:relative;overflow:visible}.lm-hero-glow{pointer-events:none;z-index:0;filter:blur(10px);background:radial-gradient(60% 60% at 35% 45%,#6366f124,#0000 70%),radial-gradient(40% 50% at 82% 30%,#db277712,#0000 70%);height:120%;position:absolute;inset:-10% -20% auto}html.dark .lm-hero-glow{background:radial-gradient(60% 60% at 35% 45%,#818cf829,#0000 70%),radial-gradient(40% 50% at 82% 30%,#f472b614,#0000 70%)}.lm-hero-left,.lm-hero-right{z-index:1;min-width:0;position:relative}.lm-hero-right{justify-content:flex-end;align-items:center;display:flex}.lm-mark{font-family:var(--font-mark), "Unbounded", sans-serif;letter-spacing:-.035em;color:var(--text-bright);white-space:nowrap;margin:0;font-size:clamp(64px,9.6vw,158px);font-weight:800;line-height:.95;display:flex}.lm-mark span{font-variation-settings:"wght" 800;transition:font-variation-settings .7s var(--lm-ease), transform .7s var(--lm-ease);animation:lm-rise 1.1s var(--lm-ease) both;animation-delay:calc(.14s + var(--i) * 55ms);display:inline-block}.lm-mark:hover span{font-variation-settings:"wght" 500}.lm-mark span:hover{font-variation-settings:"wght" 800;transform:translateY(-3%)}@keyframes lm-rise{0%{opacity:0;filter:blur(6px);transform:translateY(.45em)rotate(1.5deg)}to{opacity:1;filter:blur();transform:none}}.lm-tile{aspect-ratio:16/9;transform-origin:0 0;background:#1118270f;border-radius:22px;padding:6px;position:relative;box-shadow:0 0 0 1px #1118270f}html.dark .lm-tile{background:#ffffff0d;box-shadow:0 0 0 1px #ffffff12}.lm-tile-core{background:var(--lm-board);border-radius:16px;position:absolute;inset:6px;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.lm-tile.live .lm-tile-core,.lm-tile.interactive .lm-tile-core{background:#f8fafc}.lm-tile-core.has-twin{background:#fbfbff var(--poster) center / cover no-repeat}html.dark .lm-tile-core.has-twin,[data-theme=dark] .lm-tile-core.has-twin{background:var(--lm-board) var(--poster-dark) center / cover no-repeat}.lm-tile video,.lm-tile .live-canvas{object-fit:cover;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.lm-tile iframe{pointer-events:none;background:#f8fafc;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.lm-tile .live-canvas{cursor:ew-resize}.lm-tile:not(.is-active) .lm-tile-core:after{content:"";transition:opacity .6s var(--lm-ease);background:#0a0a0f2e;position:absolute;inset:0}.lm-tile.live:not(.is-active) .lm-tile-core:after{background:#f4f3ff59}.lm-tile.is-active .lm-tile-core:after{opacity:0}.lm-wheel{aspect-ratio:16/13.8;width:100%;position:relative}.lm-wheel .lm-tile{width:100%;transition:transform var(--lm-turn) var(--lm-ease), box-shadow var(--lm-turn) var(--lm-ease), opacity .6s var(--lm-ease);animation:lm-tile-in 1.2s var(--lm-ease) both;animation-delay:var(--d,0s);position:absolute;top:0;left:0}@keyframes lm-tile-in{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}.lm-hero.reduced .lm-wheel .lm-tile{animation:none}.lm-wheel .slot-front{z-index:3;transform:translate(0)scale(1)}.lm-wheel .slot-left{z-index:2;transform:translateY(calc(100% + 18px))scale(.485)}.lm-wheel .slot-right{z-index:1;transform:translate(51.5%,calc(100% + 18px))scale(.485)}.lm-wheel .slot-hidden{visibility:hidden;pointer-events:none;z-index:0;transition:transform var(--lm-turn) var(--lm-ease), opacity .6s var(--lm-ease), visibility 0s .6s;transform:translate(103%,calc(100% + 18px))scale(.485);opacity:0!important}.lm-hero-ring,.lm-hero-ribbon{padding-bottom:24px;display:block}.lm-hero-ring .lm-mark,.lm-hero-ribbon .lm-mark{justify-content:center;margin-bottom:36px}.lm-ring-scene{perspective:1600px;z-index:1;height:440px;position:relative}.lm-ring{width:760px;height:428px;transform-style:preserve-3d;margin-left:-380px;position:absolute;top:0;left:50%}.lm-ring .lm-tile{transform-origin:50%;width:760px;transition:transform 1.3s var(--lm-ease-io), opacity .9s var(--lm-ease);position:absolute;inset:0}.lm-ribbon{--lm-ribbon-tile:43vw;margin:0 calc(-1 * var(--lm-page-gutter));overflow:hidden}.lm-ribbon-track{gap:22px;width:max-content;padding:8px 0 24px;animation:70s linear infinite lm-drift;display:flex}.lm-ribbon-track .lm-tile{width:var(--lm-ribbon-tile);flex:none}@keyframes lm-drift{to{transform:translate(-50%)}}.lm-ribbon-track.lm-js{margin-left:calc(100% - var(--lm-ribbon-tile) - var(--lm-ribbon-tile) - var(--lm-ribbon-tile) - 44px);animation:none}.lm-stage{aspect-ratio:16/9;position:relative}.lm-stage .lm-tile{opacity:0;transition:opacity 1.2s var(--lm-ease);position:absolute;inset:0}.lm-stage .lm-tile.is-front{opacity:1;z-index:2}.lm-variants{z-index:40;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;bottom:16px;right:16px}.lm-variants a{color:var(--muted);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}.lm-variants a.on{color:var(--accent);background:var(--accent-dim)}.lm-hero.reduced .lm-mark span,.lm-hero.reduced .lm-ribbon-track{animation:none}@media (prefers-reduced-motion:reduce){.lm-mark span,.lm-ribbon-track{animation:none}}@media (max-width:960px){.lm-hero{padding:56px var(--lm-page-gutter) 24px;grid-template-columns:1fr;gap:28px;min-height:0}.lm-hero-right{order:-1;justify-content:flex-start}.lm-mark{font-size:clamp(60px,17vw,120px)}.lm-home .book-sections{padding:64px var(--lm-page-gutter) 0}.lm-ring{width:88vw;height:49.5vw;margin-left:-44vw}.lm-ring .lm-tile{width:88vw}.lm-ring-scene{height:calc(49.5vw + 40px)}}.cover-motion{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .26s var(--lm-ease);position:absolute;inset:0}.book-card:hover .cover-motion,.book-card:focus-visible .cover-motion{opacity:1}.book-card:hover .cover-static,.book-card:focus-visible .cover-static{opacity:0}.cover-static{transition:opacity .26s var(--lm-ease)}@media (prefers-reduced-motion:reduce){.cover-motion{display:none}.book-card:hover .cover-static{opacity:1}}.cover-static{position:absolute;inset:0}.cover-static .book-cover-bg{width:100%;height:100%;position:absolute;inset:0}.cm-step{opacity:0;animation:3.2s step-end infinite cm-step}.cm-s1{animation-delay:0s}.cm-s2{animation-delay:-2.4s}.cm-s3{animation-delay:-1.6s}.cm-s4{animation-delay:-.8s}@keyframes cm-step{0%,24.9%{opacity:1}25%,to{opacity:0}}.cm-ring{opacity:0;transform-box:fill-box;transform-origin:50%;animation:cm-ring 2.4s var(--lm-ease) infinite}@keyframes cm-ring{0%{opacity:0;transform:scale(.6)}25%{opacity:.7}70%{opacity:0;transform:scale(1.02)}to{opacity:0}}.cm-blink{opacity:.4;animation:cm-blink 1.75s var(--lm-ease) infinite}@keyframes cm-blink{0%,to{opacity:.4}18%{opacity:1}40%{opacity:.4}}.cm-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:cm-draw 2.6s var(--lm-ease) infinite}@keyframes cm-draw{0%{stroke-dashoffset:1px;opacity:.7}55%{stroke-dashoffset:0;opacity:.7}85%{stroke-dashoffset:0;opacity:0}to{stroke-dashoffset:1px;opacity:0}}.cm-draw-late{stroke-dasharray:1;stroke-dashoffset:1px;animation:cm-draw-late 3s var(--lm-ease) infinite}@keyframes cm-draw-late{0%,38%{stroke-dashoffset:1px}72%{stroke-dashoffset:0;opacity:.65}92%{stroke-dashoffset:0;opacity:0}to{stroke-dashoffset:1px;opacity:0}}.cm-draw-seq{stroke-dasharray:1;stroke-dashoffset:1px;opacity:.85;animation:cm-draw-seq 2.4s var(--lm-ease) infinite}@keyframes cm-draw-seq{0%{stroke-dashoffset:1px}30%{stroke-dashoffset:0}75%{stroke-dashoffset:0;opacity:.85}90%,to{stroke-dashoffset:0;opacity:0}}.cm-bar{transform-box:fill-box;transform-origin:bottom;animation:cm-bar 3s var(--lm-ease) infinite}@keyframes cm-bar{0%{transform:scaleY(0)}22%{transform:scaleY(1)}88%{transform:scaleY(1)}to{transform:scaleY(0)}}.cm-type{transform-box:fill-box;transform-origin:0;animation:cm-type 2.6s var(--lm-ease) infinite}@keyframes cm-type{0%{transform:scaleX(0)}18%{transform:scaleX(1)}82%{opacity:1;transform:scaleX(1)}92%,to{opacity:0;transform:scaleX(1)}}.cm-light{opacity:0;animation:cm-light 2.4s var(--lm-ease) infinite}@keyframes cm-light{0%{opacity:0}12%{opacity:.95}70%{opacity:.75}88%,to{opacity:0}}.cm-pulse{animation:cm-pulse 1.6s var(--lm-ease) infinite}.ca-core{animation:cm-pulse 4s var(--lm-ease) infinite}@keyframes cm-pulse{0%{stroke-opacity:.45}12%{stroke-opacity:.95}to{stroke-opacity:.45}}.lm-home .book-section-header{align-items:baseline;margin-bottom:14px;padding-bottom:10px}.lm-home .book-section-heading{min-width:0}.lm-home .book-section-title{white-space:nowrap;margin:0}.cover-art{pointer-events:none}@media (prefers-reduced-motion:reduce){.cover-art *{animation:none!important}}.ca-redraw{stroke-dasharray:1;stroke-dashoffset:0;animation:ca-redraw 8s var(--lm-ease) infinite}@keyframes ca-redraw{0%{stroke-dashoffset:0;opacity:1}12%{opacity:0;stroke-dashoffset:0}13%{stroke-dashoffset:1px;opacity:0}16%{stroke-dashoffset:1px;opacity:1}72%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:1}}.ca-second{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;animation:ca-second 8s var(--lm-ease) infinite}@keyframes ca-second{0%,30%{stroke-dashoffset:1px;opacity:0}36%{opacity:.5}78%{stroke-dashoffset:0;opacity:.5}94%,to{stroke-dashoffset:0;opacity:0}}.ca-wave{transform-box:fill-box;transform-origin:50%;animation:ca-wave 2s var(--lm-ease) infinite}@keyframes ca-wave{0%{transform:scale(1)}12%{transform:scale(1.8)}30%,to{transform:scale(1)}}.ca-pop{transform-box:view-box;animation:ca-pop 3s var(--lm-ease) infinite}@keyframes ca-pop{0%{opacity:1;transform:scale(1)}6%{opacity:0;transform:scale(0)}40%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.15)}65%,to{transform:scale(1)}}.ca-type{transform-box:fill-box;transform-origin:0;animation:ca-type 6s var(--lm-ease) infinite}@keyframes ca-type{0%{transform:scaleX(1)}5%{transform:scaleX(0)}30%{transform:scaleX(0)}55%{transform:scaleX(1)}to{transform:scaleX(1)}}.ca-blink{animation:1s step-end infinite ca-blink}@keyframes ca-blink{0%,49%{opacity:.6}50%,to{opacity:.1}}.ca-swing{transform-box:view-box;transform-origin:100px 20px;animation:2.6s cubic-bezier(.45,0,.55,1) infinite ca-swing}@keyframes ca-swing{0%{transform:rotate(0)}50%{transform:rotate(-56deg)}to{transform:rotate(0)}}.ca-spring{transform-box:view-box;transform-origin:100px 14px;animation:2.2s cubic-bezier(.45,0,.55,1) infinite ca-spring}@keyframes ca-spring{0%{transform:scaleY(1)}25%{transform:scaleY(1.3)}50%{transform:scaleY(1)}75%{transform:scaleY(.78)}to{transform:scaleY(1)}}.ca-mass{animation:2.2s cubic-bezier(.45,0,.55,1) infinite ca-mass}@keyframes ca-mass{0%{transform:translateY(0)}25%{transform:translateY(18px)}50%{transform:translateY(0)}75%{transform:translateY(-13px)}to{transform:translateY(0)}}.ca-rise{transform-box:fill-box;transform-origin:bottom;animation:ca-rise 2.8s var(--lm-ease) infinite}@keyframes ca-rise{0%{transform:scaleY(1)}8%{transform:scaleY(0)}22%{transform:scaleY(0)}55%{transform:scaleY(1)}to{transform:scaleY(1)}}.ca-glow{animation:ca-glow 1.5s var(--lm-ease) infinite}@keyframes ca-glow{0%,55%{fill-opacity:.34}70%{fill-opacity:.85}to{fill-opacity:.34}}.book-card:hover .ca-electrons{opacity:0}.ca-electrons{transition:opacity .2s}.lm-mark span{-webkit-text-stroke:0}.lm-mark span:before{content:""}.lm-hero-band,.lm-hero-hand{max-width:none;padding:0}.lm-hero-band>.lm-hero-left,.lm-hero-band>.lm-hero-right,.lm-hero-hand>.lm-hero-left,.lm-hero-hand>.lm-hero-right{z-index:1;position:relative}.lm-hero-band:before,.lm-hero-hand:before{content:"";background:#0a0a0f;position:absolute;inset:0}.lm-hero-band,.lm-hero-hand{grid-template-columns:minmax(0,60fr) minmax(0,40fr);align-items:center;gap:64px;min-height:0;padding:80px calc(50vw - 632px) 56px;display:grid}@media (max-width:1456px){.lm-hero-band,.lm-hero-hand{padding-left:48px;padding-right:48px}}.lm-hero-band .lm-hero-glow,.lm-hero-hand .lm-hero-glow{background:radial-gradient(60% 60% at 30% 40%,#818cf838,#0000 70%),radial-gradient(40% 50% at 85% 70%,#f472b61a,#0000 70%)}.lm-hero-band .lm-mark,.lm-hero-hand .lm-mark{color:#e9e7e0}.lm-hero-band .lm-tile,.lm-hero-hand .lm-tile{background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14,0 40px 90px -30px #000c}.lm-hero-band .lm-tile-core,.lm-hero-hand .lm-tile-core{box-shadow:inset 0 1px #ffffff1a}.lm-hero-band .lm-tile:not(.is-active) .lm-tile-core:after,.lm-hero-hand .lm-tile:not(.is-active) .lm-tile-core:after{background:#0a0a0f59}.lm-hero-band+.lm-divider,.lm-hero-hand+.lm-divider{display:none}.lm-mark-hand{font-family:var(--font-hand), "Caveat", cursive;letter-spacing:-.01em;white-space:nowrap;font-size:clamp(64px,7vw,124px);font-weight:700;line-height:1;display:block;position:relative}.lm-hand-text{clip-path:inset(-10% 0);animation:1.4s steps(28,end) .3s both lm-write;display:inline-block}@keyframes lm-write{0%{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% 0)}}.lm-hand-line{width:94%;height:24px;position:absolute;bottom:-6px;left:2%;right:4%;overflow:visible}.lm-hand-line path{fill:none;stroke:#a78bfa;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:lm-underline .7s var(--lm-ease) both;animation-delay:1.75s}@keyframes lm-underline{to{stroke-dashoffset:0}}.lm-hero.reduced .lm-hand-text,.lm-hero.reduced .lm-hand-line path{stroke-dashoffset:0;animation:none}.lm-divider{background:var(--border-strong,var(--border));width:100%;max-width:none;height:1px;box-shadow:0 1px 0 color-mix(in srgb, var(--bg) 78%, transparent);margin:24px 0 0}@media (max-width:960px){.lm-hero-band,.lm-hero-hand{padding:48px var(--lm-page-gutter) 32px;grid-template-columns:1fr}.lm-hero-band .lm-hero-right,.lm-hero-hand .lm-hero-right{order:-1;justify-content:flex-start}}.lm-hero-orbit,.lm-hero-orbit-all,.lm-hero-orbit-turn{min-height:0;padding:24px 48px 8px;display:block}.lm-orbit{aspect-ratio:1180/850;--R:300px;width:min(100%,1180px);margin:0 auto;position:relative}.lm-orbit-center{z-index:2;position:absolute;top:53.5%;left:50%;transform:translate(-50%,-50%)}.lm-orbit .lm-mark{letter-spacing:-.04em;font-size:clamp(56px,7.4vw,124px)}.lm-orbit .lm-tile{width:calc(46% * var(--s,1));offset-path:circle(var(--R) at 50% 53.5%);offset-anchor:50% 50%;offset-rotate:0deg;transition:offset-distance var(--lm-turn) var(--lm-ease), width var(--lm-turn) var(--lm-ease), opacity .5s var(--lm-ease);position:absolute;top:0;left:0}.lm-orbit .orb-0{z-index:3}.lm-orbit .orb-4{opacity:0;pointer-events:none}.lm-orbit.all .lm-tile:not(.is-active) .lm-tile-core:after{opacity:0}.lm-orbit:before{content:"";width:calc(var(--R) * 2);aspect-ratio:1;pointer-events:none;border:1px solid #6366f129;border-radius:50%;position:absolute;top:53.5%;left:50%;transform:translate(-50%,-50%)}html.dark .lm-orbit:before{border-color:#818cf82e}@media (max-width:960px){.lm-orbit{aspect-ratio:auto;gap:16px;display:grid}.lm-orbit .lm-tile{width:100%;position:relative;offset-path:none!important;opacity:1!important;transform:none!important}.lm-orbit-center{order:-1;position:relative;top:auto;left:auto;transform:none}.lm-orbit:before{display:none}}.lm-home-spine{grid-template-columns:128px minmax(0,1fr);display:grid}.lm-home-spine .lm-spine{border-right:1px solid var(--border);justify-content:center;align-items:flex-end;height:100vh;padding-bottom:40px;display:flex;position:sticky;top:0}.lm-home-spine .lm-spine .lm-mark{writing-mode:vertical-rl;font-size:clamp(56px,6vw,88px);line-height:1;transform:rotate(180deg)}.lm-home-spine .lm-spine .lm-mark span{animation:none}.lm-home-spine>.lm-body{min-width:0}.lm-home-spine .lm-hero{grid-template-columns:1fr;padding-right:56px}.lm-home-spine .lm-hero .lm-hero-right{display:none}.lm-home-spine .lm-divider,.lm-home-spine .book-sections{margin-left:0}@media (max-width:960px){.lm-home-spine{grid-template-columns:1fr}.lm-home-spine .lm-spine{border:0;justify-content:flex-start;height:auto;padding:40px 24px 0;position:static}.lm-home-spine .lm-spine .lm-mark{writing-mode:horizontal-tb;transform:none}}.ca-shear{transform-box:view-box;transform:var(--m);animation:8s cubic-bezier(.45,0,.55,1) infinite ca-shear}@keyframes ca-shear{0%,14%{transform:var(--m)}46%,60%{transform:matrix(1,0,0,1,0,0)}92%,to{transform:var(--m)}}.ca-trace{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;animation:ca-trace 7s var(--lm-ease) infinite}@keyframes ca-trace{0%{stroke-dashoffset:1px;opacity:0}5%{opacity:1}30%{stroke-dashoffset:0;opacity:1}78%{stroke-dashoffset:0;opacity:1}92%,to{stroke-dashoffset:0;opacity:0}}.ca-beat{transform-box:view-box;animation:ca-beat 7s var(--lm-ease) infinite}@keyframes ca-beat{0%,to{transform:scale(1)}8%{transform:scale(1.7)}24%{transform:scale(1)}}.ca-pin{animation:ca-pin 5s var(--lm-ease) infinite}@keyframes ca-pin{0%,to{fill-opacity:.6}6%{fill-opacity:1}30%{fill-opacity:.6}}.ca-layer{animation:ca-layer 4.5s var(--lm-ease) infinite}@keyframes ca-layer{0%,to{opacity:1}10%{opacity:3}40%{opacity:1}}.ca-fire{animation:ca-fire 4.5s var(--lm-ease) infinite}@keyframes ca-fire{0%,to{fill-opacity:.92}8%{fill-opacity:.35}22%{fill-opacity:1}50%{fill-opacity:.92}}@keyframes ca-scan{0%,to{fill-opacity:var(--o)}8%{fill-opacity:1}30%{fill-opacity:var(--o)}}.ca-sway{transform-box:view-box;animation:4s cubic-bezier(.45,0,.55,1) infinite ca-sway}@keyframes ca-sway{0%,to{transform:rotate(0)}50%{transform:rotate(9deg)}}.ca-travel{animation:2.6s linear infinite ca-travel}@keyframes ca-travel{0%{transform:translate(0)}to{transform:translateX(calc(-1 * var(--lam)))}}.lm-hero-ribbon-2{max-width:none;min-height:0;padding:24px 0;display:block}.lm-ribbon2{flex-direction:column;gap:8px;display:flex}.lm-ribbon2 .lm-ribbon{margin:0}.lm-ribbon2 .lm-ribbon-track .lm-tile{width:440px}.lm-ribbon2 .lm-ribbon-track.rev{animation-duration:84s;animation-direction:reverse}.lm-ribbon2 .lm-mark{justify-content:center;margin:12px 0;font-size:clamp(56px,8vw,132px)}.book-sections .book-card.soon{opacity:1}.lm-home .book-cover.dimmed{filter:none}.ca-pendulum{transform-box:view-box;animation:5s linear infinite ca-pendulum}@keyframes ca-pendulum{0%{transform:rotate(0)}4.17%{transform:rotate(5.176deg)}8.33%{transform:rotate(10deg)}12.5%{transform:rotate(14.142deg)}16.67%{transform:rotate(17.321deg)}20.83%{transform:rotate(19.319deg)}25%{transform:rotate(20deg)}29.17%{transform:rotate(19.319deg)}33.33%{transform:rotate(17.321deg)}37.5%{transform:rotate(14.142deg)}41.67%{transform:rotate(10deg)}45.83%{transform:rotate(5.176deg)}50%{transform:rotate(0)}54.17%{transform:rotate(-5.176deg)}58.33%{transform:rotate(-10deg)}62.5%{transform:rotate(-14.142deg)}66.67%{transform:rotate(-17.321deg)}70.83%{transform:rotate(-19.319deg)}75%{transform:rotate(-20deg)}79.17%{transform:rotate(-19.319deg)}83.33%{transform:rotate(-17.321deg)}87.5%{transform:rotate(-14.142deg)}91.67%{transform:rotate(-10deg)}95.83%{transform:rotate(-5.176deg)}to{transform:rotate(0)}}.ca-shm-spring{transform-box:view-box;animation:5s linear infinite ca-shm-spring}@keyframes ca-shm-spring{0%{transform:scaleY(1)}4.17%{transform:scaleY(1.0828)}8.33%{transform:scaleY(1.16)}12.5%{transform:scaleY(1.2263)}16.67%{transform:scaleY(1.2771)}20.83%{transform:scaleY(1.3091)}25%{transform:scaleY(1.32)}29.17%{transform:scaleY(1.3091)}33.33%{transform:scaleY(1.2771)}37.5%{transform:scaleY(1.2263)}41.67%{transform:scaleY(1.16)}45.83%{transform:scaleY(1.0828)}50%{transform:scaleY(1)}54.17%{transform:scaleY(.9172)}58.33%{transform:scaleY(.84)}62.5%{transform:scaleY(.7737)}66.67%{transform:scaleY(.7229)}70.83%{transform:scaleY(.6909)}75%{transform:scaleY(.68)}79.17%{transform:scaleY(.6909)}83.33%{transform:scaleY(.7229)}87.5%{transform:scaleY(.7737)}91.67%{transform:scaleY(.84)}95.83%{transform:scaleY(.9172)}to{transform:scaleY(1)}}.ca-shm-mass{animation:5s linear infinite ca-shm-mass}@keyframes ca-shm-mass{0%{transform:translateY(0)}4.17%{transform:translateY(5.694px)}8.33%{transform:translateY(11px)}12.5%{transform:translateY(15.556px)}16.67%{transform:translateY(19.053px)}20.83%{transform:translateY(21.25px)}25%{transform:translateY(22px)}29.17%{transform:translateY(21.25px)}33.33%{transform:translateY(19.053px)}37.5%{transform:translateY(15.556px)}41.67%{transform:translateY(11px)}45.83%{transform:translateY(5.694px)}50%{transform:translateY(0)}54.17%{transform:translateY(-5.694px)}58.33%{transform:translateY(-11px)}62.5%{transform:translateY(-15.556px)}66.67%{transform:translateY(-19.053px)}70.83%{transform:translateY(-21.25px)}75%{transform:translateY(-22px)}79.17%{transform:translateY(-21.25px)}83.33%{transform:translateY(-19.053px)}87.5%{transform:translateY(-15.556px)}91.67%{transform:translateY(-11px)}95.83%{transform:translateY(-5.694px)}to{transform:translateY(0)}}.ca-scan{animation:ca-scan 7s var(--lm-ease) infinite}.ca-carbon{animation:ca-carbon 7s var(--lm-ease) infinite}@keyframes ca-carbon{0%,to{fill-opacity:1}50%{fill-opacity:.7}}.ca-bond{stroke-dasharray:1;stroke-dashoffset:1px;animation:ca-bond 4s var(--lm-ease) infinite}@keyframes ca-bond{0%,30%{stroke-dashoffset:1px}45%{stroke-dashoffset:0}85%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}.ca-reagent{transform-box:view-box;animation:ca-reagent 4s var(--lm-ease) infinite}@keyframes ca-reagent{0%{opacity:0;transform:translate(-6px,-34px)}12%{opacity:1}40%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}92%,to{opacity:0;transform:translate(-4px,-22px)}}.lm-hero-ribbon,.lm-hero-ribbon-2{min-height:0;padding-bottom:8px}.lm-divider{margin-top:24px}.lm-mark span{animation:lm-rise 1.1s var(--lm-ease) both, lm-breathe 7s ease-in-out infinite;animation-delay:calc(.14s + var(--i) * 55ms), calc(1.4s + var(--i) * .26s)}@keyframes lm-breathe{0%,to{font-variation-settings:"wght" 800}50%{font-variation-settings:"wght" 560}}.ca-velocity{animation:5s linear infinite ca-velocity}@keyframes ca-velocity{0%{transform:scaleX(1)}4.17%{transform:scaleX(.966)}8.33%{transform:scaleX(.866)}12.5%{transform:scaleX(.707)}16.67%{transform:scaleX(.5)}20.83%{transform:scaleX(.259)}25%{transform:scaleX(0)}29.17%{transform:scaleX(-.259)}33.33%{transform:scaleX(-.5)}37.5%{transform:scaleX(-.707)}41.67%{transform:scaleX(-.866)}45.83%{transform:scaleX(-.966)}50%{transform:scaleX(-1)}54.17%{transform:scaleX(-.966)}58.33%{transform:scaleX(-.866)}62.5%{transform:scaleX(-.707)}66.67%{transform:scaleX(-.5)}70.83%{transform:scaleX(-.259)}75%{transform:scaleX(0)}79.17%{transform:scaleX(.259)}83.33%{transform:scaleX(.5)}87.5%{transform:scaleX(.707)}91.67%{transform:scaleX(.866)}95.83%{transform:scaleX(.966)}to{transform:scaleX(1)}}.ca-shm-x{animation:5s linear infinite ca-shm-x}@keyframes ca-shm-x{0%{transform:scaleY(0)}4.17%{transform:scaleY(.259)}8.33%{transform:scaleY(.5)}12.5%{transform:scaleY(.707)}16.67%{transform:scaleY(.866)}20.83%{transform:scaleY(.966)}25%{transform:scaleY(1)}29.17%{transform:scaleY(.966)}33.33%{transform:scaleY(.866)}37.5%{transform:scaleY(.707)}41.67%{transform:scaleY(.5)}45.83%{transform:scaleY(.259)}50%{transform:scaleY(0)}54.17%{transform:scaleY(-.259)}58.33%{transform:scaleY(-.5)}62.5%{transform:scaleY(-.707)}66.67%{transform:scaleY(-.866)}70.83%{transform:scaleY(-.966)}75%{transform:scaleY(-1)}79.17%{transform:scaleY(-.966)}83.33%{transform:scaleY(-.866)}87.5%{transform:scaleY(-.707)}91.67%{transform:scaleY(-.5)}95.83%{transform:scaleY(-.259)}to{transform:scaleY(0)}}.ca-diene,.ca-philе{transform-box:view-box;animation:5s var(--lm-ease) infinite}.ca-diene{animation-name:ca-diene}.ca-philе{animation-name:ca-phile}@keyframes ca-diene{0%,18%{transform:translate(-26px)}45%{transform:translate(0)}80%{transform:translate(0)}to{transform:translate(-26px)}}@keyframes ca-phile{0%,18%{transform:translate(26px)}45%{transform:translate(0)}80%{transform:translate(0)}to{transform:translate(26px)}}.ca-diene-dot,.ca-philе-dot{transform-box:view-box;animation:5s var(--lm-ease) infinite}.ca-diene-dot{animation-name:ca-diene}.ca-philе-dot{animation-name:ca-phile}@keyframes ca-close{0%,40%{stroke-dashoffset:1px}50%{stroke-dashoffset:0}84%{stroke-dashoffset:0}90%,to{stroke-dashoffset:1px}}@keyframes ca-old{0%,46%{opacity:1}56%{opacity:0}84%{opacity:0}92%,to{opacity:1}}@keyframes ca-new{0%,48%{opacity:0}58%{opacity:1}84%{opacity:1}90%,to{opacity:0}}.book-cover-sub{color:#fffc;letter-spacing:0;margin-top:1.5cqw;font-size:5.6cqw;font-weight:600;line-height:1.2;display:block}.lm-variants-top{bottom:60px;right:16px}.lm-hero-ribbon{position:relative}.lm-top{pointer-events:none;z-index:0;width:min(1240px,100vw);height:360px;position:absolute;top:0;left:50%;transform:translate(-50%)}.lm-hero-ribbon .lm-mark,.lm-hero-ribbon .lm-ribbon{z-index:1;position:relative}.lm-top-halo i{filter:blur(60px);opacity:.55;mix-blend-mode:multiply;border-radius:50%;width:520px;height:520px;animation:18s ease-in-out infinite alternate lm-drift-a;position:absolute}html.dark .lm-top-halo i{mix-blend-mode:screen;opacity:.35}.lm-top-halo i:first-child{background:radial-gradient(circle,#818cf88c,#0000 65%);top:-60%;left:12%}.lm-top-halo i:nth-child(2){background:radial-gradient(circle,#f472b66b,#0000 65%);animation-name:lm-drift-b;animation-duration:23s;top:-40%;left:48%}.lm-top-halo i:nth-child(3){background:radial-gradient(circle,#2dd4bf59,#0000 65%);width:420px;height:420px;animation-name:lm-drift-c;animation-duration:27s;top:-30%;left:30%}@keyframes lm-drift-a{to{transform:translate(120px,60px)}}@keyframes lm-drift-b{to{transform:translate(-140px,40px)}}@keyframes lm-drift-c{to{transform:translate(60px,-50px)}}.lm-top-curve{height:420px;top:-60px}.lm-top-curve path{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;opacity:.22;stroke-dasharray:1;stroke-dashoffset:1px;animation:lm-draw 9s var(--lm-ease) infinite}.lm-top-curve path.c2{opacity:.12;stroke-width:2px;animation-delay:1.4s}@keyframes lm-draw{0%{stroke-dashoffset:1px}40%{stroke-dashoffset:0}82%{stroke-dashoffset:0;opacity:.22}90%{opacity:0}91%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:1px;opacity:.22}}.lm-top-grid{height:420px;top:-20px}.lm-top-grid pattern path{fill:none;stroke:var(--accent);stroke-opacity:.16;stroke-width:1px}.lm-top-grid .wave{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;opacity:.35;stroke-dasharray:1;stroke-dashoffset:1px;animation:8s linear infinite lm-wave}@keyframes lm-wave{0%{stroke-dashoffset:1px}60%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}.lm-top-board{background:linear-gradient(#0a0a0f 0 86%,#0000 100%);width:100vw;height:100%}.lm-hero-ribbon.lm-with-board .lm-mark{color:#e9e7e0}.lm-hero-ribbon.lm-with-board{padding-top:40px}.lm-tile-name .lm-tile-core{background:var(--lm-board);justify-content:center;align-items:center;display:flex}.lm-tile-name{width:var(--lm-ribbon-tile);flex:none}.lm-tile-name .lm-mark{color:#e9e7e0;margin:0;font-size:96px}.lm-hero-ribbon.lm-with-inline{padding-top:56px}.lm-variants-mark{flex-wrap:wrap;justify-content:flex-end;max-width:60vw;bottom:104px;right:16px}.lm-mark-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;max-width:1180px;margin:40px auto 8px;padding:0 48px;display:grid}.lm-mark-cell{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:center;align-items:center;min-height:190px;padding:28px 24px 24px;display:flex;position:relative;overflow:hidden}.lm-mark-cell .lm-mark{font-size:clamp(40px,4.4vw,68px)}.lm-mark-label{color:var(--accent);align-items:baseline;gap:8px;font-size:12px;font-weight:600;display:flex;position:absolute;top:10px;left:14px}.lm-mark-label small{color:var(--muted);font-weight:400}.lm-mark{align-items:baseline}.lm-mark .lm-tex{animation:lm-rise 1.1s var(--lm-ease) both;font-size:.92em;line-height:1;display:inline-block}.lm-mark .lm-tex .katex{font-size:1em}.lm-mark .lm-tex .katex-display{margin:0;display:inline-block}.lm-mark .lm-tex .katex-display>.katex{text-align:left;display:inline-block}.m-lim .lm-tex{margin-right:.08em}.m-lim-sub{align-items:baseline}.m-lim-sub .lm-tex{font-size:.92em}.m-lim-sub .lm-tex .katex .mop .vlist-t{vertical-align:baseline}.m-lim-sub .lm-tex .katex .msupsub,.m-lim-sub .lm-tex .katex .mop .vlist-r .sizing{font-size:.55em}.m-lim-sub .lm-tex .katex .mop{display:inline-block}.m-lim-arrow .lm-tex .mrel{animation:lm-arrow 2.6s var(--lm-ease) infinite;display:inline-block}@keyframes lm-arrow{0%,to{transform:translate(0)}50%{transform:translate(.18em)}}.m-tex{letter-spacing:0;font-family:KaTeX_Main,Latin Modern Roman,serif;font-weight:400}.m-tex .lm-tex{font-size:.9em}.m-tex .erse .katex{font-family:KaTeX_Main,serif}.m-split .w9 span{font-variation-settings:"wght" 900}.m-split .w3 span{font-variation-settings:"wght" 300}.m-split:hover .w3 span{font-variation-settings:"wght" 900}.m-split:hover .w9 span{font-variation-settings:"wght" 300}.m-outline span{-webkit-text-stroke:2px var(--text-bright);color:#0000;transition:color .5s var(--lm-ease);animation:lm-rise 1.1s var(--lm-ease) both}.m-outline:hover span{color:var(--text-bright)}.m-wave span{animation:lm-rise 1.1s var(--lm-ease) both, lm-swell 3.6s ease-in-out infinite;animation-delay:calc(.14s + var(--i) * 55ms), calc(1.4s + var(--i) * .18s)}@keyframes lm-swell{0%,to{transform:translateY(0)}50%{transform:translateY(-.09em)}}.m-point .idot{position:relative}.m-point .idot i{background:var(--accent);width:.16em;height:.16em;animation:lm-limitpt 3s var(--lm-ease) infinite;border-radius:50%;margin-left:-.08em;position:absolute;top:.12em;left:50%}@keyframes lm-limitpt{0%{opacity:0;transform:translate(-.5em,.1em)scale(.6)}15%{opacity:1}60%{transform:translate(0)scale(1)}85%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(0)scale(1)}}.m-caps{letter-spacing:.06em;font-weight:700}.m-caps span{font-variation-settings:"wght" 700}.m-ink span{color:var(--accent);background:linear-gradient(100deg,#4f46e5,#7c3aed 45%,#db2777);-webkit-text-fill-color:transparent;animation:lm-rise 1.1s var(--lm-ease) both, lm-inkdrift 9s ease-in-out infinite alternate;animation-delay:calc(.14s + var(--i) * 55ms), 0s;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}@keyframes lm-inkdrift{0%{background-position:0%}to{background-position:100%}}.m-lim-caps span{letter-spacing:.04em}.lm-mark:hover span{animation-play-state:running,paused}.m-split span,.m-caps span,.m-outline span,.m-lim-caps span{animation:lm-rise 1.1s var(--lm-ease) both;animation-delay:calc(.14s + var(--i) * 55ms)}.ca-close{stroke-dasharray:1;stroke-dashoffset:1px;animation:ca-close 7s var(--lm-ease) infinite}.ca-old{animation:ca-old 7s var(--lm-ease) infinite}.ca-new{opacity:0;animation:ca-new 7s var(--lm-ease) infinite}.cover-art.is-off *{animation-play-state:paused}.lm-lim{letter-spacing:-.01em;animation:lm-rise 1.1s var(--lm-ease) both;margin-right:.08em;font-family:KaTeX_Main,Times New Roman,serif;font-weight:400;line-height:1;display:inline-block;position:relative}.lm-lim .lim{-webkit-text-stroke:.014em var(--bg);paint-order:fill stroke;padding-right:.04em;font-size:1.22em;font-style:italic;line-height:.8;display:inline-block}.lm-lim .under{text-align:center;white-space:nowrap;width:100%;margin-top:-.55em;padding-top:0;font-size:.34em;line-height:1;position:absolute;top:100%;left:0}.lm-lim .under .katex{-webkit-text-stroke:.072em currentColor;paint-order:stroke fill;font-size:1em;display:inline-block}.m-lim-sub{padding-bottom:.22em}.m-lim-arrow .under .mrel{animation:lm-arrow 2.6s var(--lm-ease) infinite;display:inline-block}.lm-mark-wrap{flex-direction:column;align-items:center;gap:14px;display:flex}.lm-moving .lm-mark{will-change:transform;transform:translateX(calc(var(--lead,0) * 1em)) skewX(calc(var(--lean,0) * -1deg)) scale(var(--sx,1), var(--sy,1));transform-origin:50% 92%}.lm-moving .lm-lim .under{transform:translateX(calc(var(--trail,0) * 2.4em))}.lm-numberline{--lm-number-line:#4f46e5;--lm-number-tick:#4338ca;--lm-number-label:#312e81;width:100%;height:92px;color:var(--text-bright);opacity:1;display:block}html.dark .lm-numberline{--lm-number-line:#818cf8;--lm-number-tick:#93a4ff;--lm-number-label:#b8c2ff}.lm-hero-ribbon .lm-mark-wrap{z-index:1;margin-bottom:30px;position:relative}.lm-hero-ribbon .lm-mark-wrap .lm-mark{margin-bottom:0}.ca-charge{animation:ca-charge 5s var(--lm-ease) infinite}@keyframes ca-charge{0%,to{fill-opacity:.55}50%{fill-opacity:.9}}.lm-home .book-section-title{letter-spacing:-.6px;font-size:clamp(26px,2.4vw,34px)}@media (max-width:520px){.lm-home .book-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}}.lm-home{--lm-band:var(--bg);--lm-band-glow:#6366f129;--lm-band-line:var(--border);--lm-band-grid:#11182717;--lm-mark-color:var(--text-bright);--lm-tile-shell:#1118270f;--lm-tile-ring:#11182714;--lm-tile-shadow:0 24px 64px -34px #11182759}html.dark .lm-home{--lm-band:#0b0b14;--lm-band-glow:#818cf833;--lm-band-line:#ffffff17;--lm-band-grid:#ffffff1a;--lm-mark-color:#f4f2f7;--lm-tile-shell:#ffffff13;--lm-tile-ring:#ffffff14;--lm-tile-shadow:0 24px 64px -34px #000000e6}.lm-hero-ribbon{isolation:isolate;background:radial-gradient(70% 100% at 50% -25%, var(--lm-band-glow), transparent 72%), var(--lm-band);border-bottom:1px solid var(--lm-band-line);padding:6px 0 0;overflow:hidden}.lm-hero-ribbon:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--lm-band-grid) 1px, transparent 1px), linear-gradient(90deg, var(--lm-band-grid) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 62%);mask-image:linear-gradient(#000,#0000 62%)}.lm-hero-ribbon .lm-hero-glow{opacity:.72;height:115%;inset:-30% -15% auto}.lm-hero-brand{z-index:2;width:fit-content;padding:0 var(--lm-page-gutter);text-align:center;margin:0 auto;position:relative}.lm-hero-ribbon .lm-hero-brand .lm-mark{color:var(--lm-mark-color);margin:0;font-size:clamp(56px,6.4vw,100px)}.lm-hero-ribbon .lm-ribbon{--lm-ribbon-tile:clamp(280px, 27vw, 380px);margin:6px 0 0;padding-bottom:6px}.lm-hero-ribbon .lm-ribbon-track{gap:clamp(14px,1.5vw,22px);padding:6px 0 12px}.lm-hero-ribbon .lm-tile{background:var(--lm-tile-shell);box-shadow:0 0 0 1px var(--lm-tile-ring), var(--lm-tile-shadow)}.lm-hero-ribbon+.lm-divider{display:none}.lm-home .book-sections{padding-top:26px}@media (max-width:640px){.lm-hero-ribbon{padding-top:12px}.lm-hero-ribbon .lm-ribbon{margin-top:8px;padding-bottom:16px}.lm-ribbon{--lm-ribbon-tile:72vw}}.motion-off,.motion-off *{animation-play-state:paused!important}.topic-card{cursor:pointer;text-align:left;padding-right:42px}.topic-card.is-open{border-color:var(--topic-color,var(--accent));box-shadow:var(--shadow-lg);background:color-mix(in srgb, var(--topic-color,var(--accent)) 5%, var(--surface))}.topic-card:hover:not(.soon){background:color-mix(in srgb, var(--topic-color,var(--accent)) 3%, var(--surface))}.topic-card-title a:hover{color:var(--topic-color,var(--accent))}.topic-card-chev,.tcard-chev{width:16px;height:16px;color:var(--muted);transition:transform .2s,color .2s;position:absolute;top:22px;right:16px}.topic-card.is-open .tcard-chev{color:var(--topic-color,var(--accent));transform:rotate(90deg)}.topic-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;grid-column:1/-1;gap:8px;padding:12px;animation:.22s topic-panel-in;display:flex}.topic-panel-two{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@keyframes topic-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lesson-row{border-radius:var(--r);color:var(--text-bright);align-items:center;gap:14px;padding:9px 10px;font-size:14.5px;font-weight:500;transition:background .12s;display:flex}.lesson-row:hover{background:color-mix(in srgb, var(--tc,var(--accent)) 9%, transparent)}.lesson-row-num{color:var(--tc,var(--accent));font-variant-numeric:tabular-nums;min-width:22px;font-size:12px;font-weight:700}.guide-link{border-radius:var(--r-lg);color:var(--text-bright);background:color-mix(in srgb, var(--tc,var(--accent)) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--tc,var(--accent)) 28%, transparent);align-items:center;gap:14px;padding:13px 16px 13px 14px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.guide-link:hover{border-color:var(--tc,var(--accent));box-shadow:var(--shadow);transform:translateY(-2px)}.guide-icon{background:color-mix(in srgb, var(--tc,var(--accent)) 16%, transparent);width:38px;height:38px;color:var(--tc,var(--accent));border-radius:10px;flex:none;place-items:center;display:grid}.guide-icon svg{width:19px;height:19px}.guide-text{flex:1;font-size:15px;font-weight:600;line-height:1.3}.guide-arrow{color:var(--tc,var(--accent));opacity:.7;transition:transform .15s;display:flex}.guide-arrow svg{width:16px;height:16px}.guide-link:hover .guide-arrow{opacity:1;transform:translate(3px)}.guide-link.is-closed{cursor:default}.guide-link.is-closed:hover{border-color:color-mix(in srgb, var(--tc,var(--accent)) 28%, transparent);box-shadow:none;transform:none}@media (max-width:640px){.topic-panel-two{grid-template-columns:1fr}}.lesson-tiles{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.lesson-tiles-guide{--tc:var(--uc);grid-column:1/-1}.lesson-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px 18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.lesson-tile:hover{border-color:var(--uc,var(--accent));box-shadow:var(--shadow-lg);transform:translateY(-3px)}.lesson-tile-num{color:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h);letter-spacing:-.5px;font-variant-numeric:tabular-nums;opacity:.85;font-size:24px;font-weight:800;line-height:1}.lesson-tile-title{color:var(--text-bright);font-size:15px;font-weight:600;line-height:1.35}.lesson-tile.chapter-stub{opacity:.6}@media (max-width:640px){.lesson-tiles{grid-template-columns:1fr}}.reader-content.sg-lesson{max-width:1120px}.sg-in-reader .sg-body{font-size:clamp(13px,1.15vw,17px)}.sg-lesson-head{margin-bottom:18px}.sg-lesson-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:11.5px;font-weight:700}.sg-lesson-title{letter-spacing:-.5px;color:var(--text-bright);margin:0;font-size:30px;font-weight:800;line-height:1.15}.sg-page.sg-in-reader{background-color:#0000;background-image:none;border-radius:14px;min-height:0}.sg-in-reader .sg-body{padding:0}.sg-lesson .chapter-nav{margin-top:40px}.ca-join{stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;animation:8s linear infinite ca-join}@keyframes ca-join{0%,39%{stroke-dashoffset:1px;opacity:0}40%{opacity:1;stroke-dashoffset:1px}47%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:1}84%,to{stroke-dashoffset:0;opacity:0}}.lesson-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 -18px;font-size:11.5px;font-weight:700}.reader-content--wide{max-width:none}.lesson-frame-title{letter-spacing:-.5px;color:var(--text-bright);margin:0 0 16px;font-size:30px;font-weight:700}.lesson-frame{background:0 0;border:0;border-radius:0;width:100%;height:640px;display:block}@media (max-width:640px){.reader-content--wide .lesson-frame{width:calc(100% + 80px);margin-left:-40px}}.pring{vertical-align:middle;--pc:oklch(from var(--uc,var(--accent)) calc(l + var(--lift)) calc(c + var(--chroma)) h);flex:none;place-items:center;display:inline-grid}.pring.is-empty{visibility:hidden}.pring svg{display:block;overflow:visible}.pring-track{fill:none;stroke:color-mix(in srgb, var(--pc) 22%, transparent);stroke-width:2.4px}.pring-fill{fill:none;stroke:var(--pc);stroke-width:2.4px;stroke-linecap:round;transition:stroke-dashoffset .5s}.pring-done{fill:var(--pc);stroke:none}.pring-tick{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sidebar-ring{--uc:var(--accent);align-self:center}.sidebar-link.active .sidebar-ring{--uc:var(--accent)}.resume-chip{border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent);font-family:var(--font);cursor:pointer;border-radius:99px;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px 8px 12px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.resume-chip svg{width:14px;height:14px}.resume-chip:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-1px)}.lcp{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 5%, var(--surface));min-height:20px;font-family:var(--font-lesson,inherit);border-radius:14px;margin-top:40px;padding:16px 18px}.lcp .lcp-mark,.lfb,.lfb button,.lfb textarea{font-family:var(--font-lesson,inherit)}.lcp.is-done{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.lcp-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.lcp-title{color:var(--text-bright);font-size:16px;font-weight:600}.lcp-check{color:var(--accent);font-weight:800}.lcp-mark{border:1px solid var(--accent-border);background:var(--surface);color:var(--accent);font-family:var(--font);cursor:pointer;border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.lcp-mark:hover{background:var(--accent);color:#fff}.lcp-bars{flex-direction:column;gap:8px;display:flex}.lcp-row{color:var(--muted);grid-template-columns:64px minmax(0,1fr) 56px;align-items:center;gap:12px;font-size:14px;display:grid}.lcp-bar{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:99px;height:6px;overflow:hidden}.lcp-bar>span{background:var(--accent);border-radius:99px;height:100%;transition:width .5s;display:block}.lcp.is-done .lcp-bar>span{background:var(--accent)}.lcp-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.lfb{margin-top:14px;padding:14px 18px 2px}.lfb-ask{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lfb-q{color:var(--muted);font-size:13.5px}.lfb-rec{color:var(--green);margin-left:4px;font-size:13.5px}.lfb-thumbs{gap:2px;display:flex}.lfb-thumb{width:28px;height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;padding:0;transition:color .14s,background .14s,border-color .14s;display:grid}.lfb-thumb svg{width:15px;height:15px;display:block}.lfb-thumb:hover{color:var(--text-bright);background:var(--faint)}.lfb-thumb[aria-pressed=true]{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.lfb-thumb[aria-pressed=true] svg{fill:color-mix(in srgb, var(--accent) 18%, transparent)}.lfb-row{align-items:flex-start;gap:8px;margin-top:12px;display:flex}.lfb-note{resize:none;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:100%;min-height:38px;color:var(--text);font-family:var(--font);padding:9px 11px;font-size:13.5px;line-height:1.5;overflow:hidden}.lfb-note::placeholder{color:var(--muted)}.lfb-note:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.lfb-send{border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--font);border-radius:99px;flex:none;padding:9px 17px;font-size:13px;font-weight:600;transition:opacity .14s,filter .14s}.lfb-send:hover:not(:disabled){filter:brightness(1.08)}.lfb-send:disabled{opacity:.4;cursor:default}.lfb-done{color:var(--green);align-items:center;gap:8px;margin:11px 0 0;font-size:13.5px;display:flex}.lfb-done svg{flex:none;width:15px;height:15px}.lfb-note-err{color:var(--rose);margin:10px 0 0;font-size:13px}.lfb-quiet{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lfb-again{color:var(--muted);font-family:var(--font);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.lfb-again:hover{color:var(--text-bright)}.lfb-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-card{position:relative}.cover-progress{background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:99px;height:4px;position:absolute;bottom:-14px;left:10%;right:10%}.cover-progress-fill{background:var(--accent);border-radius:99px;height:100%;display:block}.cover-progress-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:700;position:absolute;top:7px;right:0}.tile-ring{--uc:var(--la,var(--uc));margin-left:6px}.book-card-soon{text-align:center;letter-spacing:.01em;color:color-mix(in srgb, var(--text) 88%, var(--bg));margin-top:8px;font-size:14px;font-weight:600;display:block}html.dark .book-card-soon,[data-theme=dark] .book-card-soon{color:var(--text-bright)}.lm-preview-note{max-width:var(--col,680px);border:1px solid var(--border);letter-spacing:.01em;color:color-mix(in srgb, var(--text) 88%, var(--bg));background:var(--surface);text-align:center;border-radius:10px;margin:clamp(20px,2.4vw,34px) auto 4px;padding:9px 16px;font-size:15px;font-weight:600}html.dark .lm-preview-note,[data-theme=dark] .lm-preview-note{color:var(--text-bright)}.book-sections .book-card.soon{opacity:1;cursor:default;pointer-events:auto;position:relative}.book-sections .book-card.soon:hover{transform:none}.book-card-badge{letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;transform-origin:50%;transition:transform .26s var(--lm-ease,ease), box-shadow .26s ease;background:#111827c7;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600;position:absolute;top:10px;right:10px;box-shadow:inset 0 0 0 1px #ffffff2e}.book-card-badge.book-card-live{background:#059669;box-shadow:0 2px 10px #05966973,inset 0 0 0 1px #ffffff47}.book-sections .book-card.soon:hover .book-card-badge{transform:scale(1.08)}.book-card-badge.is-nudged{animation:.7s cubic-bezier(.16,1,.3,1) both lb-badge-nudge}@keyframes lb-badge-nudge{0%{transform:scale(1)translate(0);box-shadow:inset 0 0 0 1px #ffffff2e}16%{transform:scale(1.34)translate(0);box-shadow:inset 0 0 0 1px #fff6,0 6px 22px -6px #0000008c}30%{transform:scale(1.34)translate(-5px)}44%{transform:scale(1.34)translate(5px)}58%{transform:scale(1.32)translate(-4px)}72%{transform:scale(1.28)translate(3px)}86%{transform:scale(1.14)translate(-1px)}to{transform:scale(1)translate(0);box-shadow:inset 0 0 0 1px #ffffff2e}}@media (prefers-reduced-motion:reduce){.book-card-badge,.book-sections .book-card.soon:hover .book-card-badge{transition:none;transform:none}.book-card-badge.is-nudged{animation:.7s step-end both lb-badge-flash}@keyframes lb-badge-flash{0%,60%{box-shadow:inset 0 0 0 2px #ffffffbf}to{box-shadow:inset 0 0 0 1px #ffffff2e}}}.book-sections .book-card.soon .book-card-hit{cursor:pointer;display:block;position:relative}.book-sections .book-card.soon.is-open{z-index:3}.lb-notify{z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(160deg, color-mix(in srgb, var(--lb-tint,#6366f1) 30%, #0b0b12) 0%, color-mix(in srgb, var(--lb-tint-2,#db2777) 22%, #0b0b12) 100%);box-shadow:0 10px 30px -10px #0009, inset 0 0 0 1px color-mix(in srgb, var(--lb-tint,#6366f1) 40%, #ffffff38);border-radius:12px;padding:12px;animation:.26s cubic-bezier(.16,1,.3,1) both lb-notify-in;position:absolute;top:50%;left:10px;right:10px;translate:0 -50%}@keyframes lb-notify-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lb-notify-ask{color:#fff;text-wrap:balance;margin:0 0 8px;font-size:12px;font-weight:600;line-height:1.35}.lb-notify input[name=email]{width:100%;height:34px;font:inherit;color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;padding:0 10px;font-size:13px}.lb-notify input[name=email]::placeholder{color:#ffffff80}.lb-notify input[name=email]:focus-visible{border-color:color-mix(in srgb, var(--lb-tint,#6366f1) 55%, #fff);box-shadow:0 0 0 3px color-mix(in srgb, var(--lb-tint,#6366f1) 35%, transparent);background:#ffffff2e;outline:none}.lb-notify button{width:100%;height:34px;font:inherit;color:#0a0a0f;cursor:pointer;background:#fff;border:0;border-radius:8px;margin-top:7px;font-size:13px;font-weight:600}.lb-notify button:hover:not(:disabled){background:#e9e7f5}.lb-notify button:disabled{opacity:.65;cursor:default}.lb-notify-done{color:#fff;text-wrap:balance;margin:0;font-size:12.5px;font-weight:600;line-height:1.4}.lb-notify button.lb-interest{height:38px;margin-top:0;font-size:14px}.lb-notify-thanks{color:#fff;text-wrap:balance;margin:0;font-size:12.5px;font-weight:600;line-height:1.4}.lb-notify-thanks span{color:#0a0a0f;vertical-align:1px;background:#fff;border-radius:50%;place-items:center;width:17px;height:17px;margin-right:4px;font-size:10px;display:inline-grid}.lb-notify-opt{border-top:1px solid #ffffff29;margin-top:11px;padding-top:10px}.lb-optional{color:#ffffff9e;font-weight:400}.lb-notify button.lb-notify-send{color:#fff;background:0 0;border:1px solid #fff6}.lb-notify button.lb-notify-send:hover:not(:disabled){background:#ffffff1f}.lb-notify-err{color:#fda4af;margin:7px 0 0;font-size:11.5px;line-height:1.35}.lb-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (prefers-reduced-motion:reduce){.lb-notify{animation:none}}.lesson-anchor{scroll-margin-top:84px}.lesson-jumpbar{top:var(--site-header-h,0px);z-index:30;background:var(--bg);border-bottom:1px solid #0000;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 16px;padding:3px 0;transition:border-color .18s,padding .18s;display:flex;position:sticky}.lesson-jumpbar.is-stuck{border-bottom-color:var(--border,#ffffff17);margin-left:-14px;margin-right:-14px;padding:3px 14px;box-shadow:0 6px 16px -14px #000000b3}.lesson-jumpbar-track{background:var(--surface,#fff);border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border,#e5e7eb));border-radius:14px;align-items:center;gap:2px;padding:2px;display:inline-flex;position:relative;box-shadow:0 1px 2px #0f172a0d,0 10px 24px -18px #4f46e573}.lesson-jumpbar-pill{background:linear-gradient(135deg, #7c3aed, var(--accent));box-shadow:0 6px 14px -8px var(--accent);border-radius:10px;transition:transform .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;bottom:2px;left:0}.lesson-jumpbar-link{z-index:1;letter-spacing:-.005em;color:var(--muted);border-radius:10px;padding:2px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,background .15s;position:relative}.lesson-jumpbar-link:hover{color:var(--text-bright)}.lesson-jumpbar-link.is-active{color:#fff}.lesson-jumpbar-link:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.lesson-jumpbar-pill{transition:none}}@media (max-width:640px){.lesson-jumpbar-link{padding:2px 10px;font-size:12.5px}}
