:root{--bg:#D9D6CE;--surface:#E9E6DE;--surface-2:#CECABF;--control-border:#79766C;--code-bg:#e3e5e3;--code-text:#24292f;--code-border:#b5bab7;--code-line-num:#56616c;--code-header-bg:#d5d9d6;--code-filename:#24292f;--code-lang:#4d5660;--code-line-hover:rgba(0,0,0,0.04);--mafs-bg:#e9e6de;--mafs-fg:#1a1a1a;--border:#BEB9AD;--border-strong:#969083;--text:#1A1814;--text-2:#49463F;--text-3:#57534B;--amber:#FFB415;--amber-hover:#E6A010;--amber-muted:#EADDB9;--amber-ink:#744600;--amber-label:#744600;--amber-text:#1A1814;--indigo:#3631C4;--indigo-hover:#29249F;--indigo-muted:#DDDCEF;--indigo-text:#FFFFFF;--success:#24573F;--success-bg:#DCE8DD;--danger:#A51D28;--danger-bg:#EBD8D5;--warning:#92400E;--warning-bg:#EADDB9;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow:0 4px 12px rgba(0,0,0,0.08),0 2px 4px rgba(0,0,0,0.04);--shadow-lg:0 16px 40px rgba(0,0,0,0.12),0 4px 8px rgba(0,0,0,0.06)}[data-theme=dark]{--bg:#18170F;--surface:#222218;--surface-2:#2A2920;--control-border:var(--border);--code-bg:#0d1117;--code-text:#e6edf3;--code-border:#30363d;--code-line-num:#636e7b;--code-header-bg:#161b22;--code-filename:#cdd9e5;--code-lang:#768390;--code-line-hover:rgba(255,255,255,0.04);--mafs-bg:#1a1a2e;--mafs-fg:#e6edf3;--border:#2E2D22;--border-strong:#3D3C2E;--text:#F5F0E8;--text-2:#9E9880;--text-3:#6B6558;--amber:#FFB415;--amber-hover:#FFC740;--amber-muted:#2A2310;--amber-ink:#FFC740;--amber-label:#FFB415;--amber-text:#1A1814;--indigo:#6B6AFF;--indigo-hover:#8180FF;--indigo-muted:#1E1D3F;--indigo-text:#FFFFFF;--success:#6EE7B7;--success-bg:#064E3B;--danger:#FCA5A5;--danger-bg:#7F1D1D;--warning:#FCD34D;--warning-bg:#451A03;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 16px 40px rgba(0,0,0,0.5)}*,:after,:before{box-sizing:border-box}html{color-scheme:light}[data-theme=dark]{color-scheme:dark}body{margin:0;font-family:var(--font-sans,"DM Sans",system-ui,sans-serif);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);min-width:320px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-serif,"DM Serif Display",serif);font-weight:400;line-height:1.2;color:var(--text)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h1,h2{margin:0 0 .5rem}h2{font-size:clamp(1.25rem,3vw,1.75rem)}h3{font-size:1.2rem;margin:0 0 .4rem}p{margin:0 0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;font-family:var(--font-sans);font-size:14px;font-weight:500;border-radius:var(--radius);border:none;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--amber);color:var(--amber-text);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--amber-hover);box-shadow:var(--shadow)}.btn-secondary{background:var(--indigo);color:var(--indigo-text);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--indigo-hover);box-shadow:var(--shadow)}.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border-strong)}.btn-outline:hover:not(:disabled){border-color:var(--text-2);background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-sm{padding:6px 14px;font-size:12px}.btn-lg{padding:14px 28px;font-size:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color .15s,box-shadow .15s}.card-hover:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.02em}.badge-amber{background:var(--amber-muted);color:var(--amber-ink)}.badge-indigo{background:var(--indigo-muted);color:var(--indigo)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:var(--surface-2);color:var(--text-2)}.input{width:100%;padding:9px 12px;font-family:var(--font-sans);font-size:14px;color:var(--text);background:var(--surface);border:1.5px solid var(--control-border);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-muted)}.input::placeholder{color:var(--text-3)}textarea.input{resize:vertical;min-height:80px}.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.logo-bg{fill:var(--surface)}.nav{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page{max-width:860px}.page,.page-wide{margin:0 auto;padding:2.5rem 1.5rem;width:100%;box-sizing:border-box}.page-wide{max-width:1200px}.site-shell{max-width:1280px;margin:0 auto;width:100%}.about-project-card>div{transition:border-color .15s}.about-project-card:hover>div{border-color:var(--indigo)!important}.lesson-viewer-layout{min-height:100vh}.lesson-viewer-outer{max-width:1280px;margin:0 auto;width:100%;display:flex;min-height:100vh}@media (max-width:860px){.lesson-viewer-outer{flex-direction:column}}.lesson-sidebar-desktop{width:270px;border-right:1px solid var(--border);padding:0;position:-webkit-sticky;position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto;flex-shrink:0;background:var(--surface)}.lesson-sidebar-mobile{display:none}.lesson-main{flex:1 1;padding:2.5rem 3rem;max-width:780px;margin:0 auto;width:100%;box-sizing:border-box}@media (max-width:860px){.lesson-sidebar-desktop{display:none}.lesson-sidebar-mobile{display:block}.lesson-main{padding:1.5rem 1rem}}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.25rem;gap:1.25rem}@media (max-width:480px){.course-grid{grid-template-columns:1fr}.page,.page-wide{padding:1.5rem 1rem}}.tiptap:focus{outline:none}.tiptap h2{font-size:1.4rem;margin:1.75rem 0 .5rem}.tiptap h2,.tiptap h3{font-family:var(--font-serif)}.tiptap h3{font-size:1.15rem;margin:1.25rem 0 .5rem}.tiptap p{margin:0 0 .875rem}.tiptap ol,.tiptap ul{padding-left:1.5rem;margin:0 0 .875rem}.tiptap blockquote{border-left:3px solid var(--amber);margin:0 0 .875rem;padding:.5rem 0 .5rem 1rem;color:var(--text-2);background:var(--amber-muted);border-radius:0 var(--radius) var(--radius) 0}.tiptap pre{background:var(--code-bg);color:var(--code-text);border:1px solid var(--code-border);padding:0;border-radius:var(--radius);overflow-x:auto;margin:0 0 .875rem;font-size:13px;line-height:1.5}.tiptap code{background:var(--surface-2);color:var(--indigo);padding:2px 6px;border-radius:var(--radius-sm);font-size:13px}.tiptap pre code{background:none;padding:0}.tiptap img{max-width:100%;height:auto;border-radius:var(--radius);margin:.75rem 0;display:block;box-shadow:var(--shadow-sm)}.tiptap img.ProseMirror-selectednode{outline:2px solid var(--indigo)}.tiptap [data-block-math]{text-align:center;margin:1.25rem 0;padding:.75rem;background:var(--surface-2);border-radius:var(--radius);cursor:pointer;border:2px solid transparent}.tiptap [data-block-math]:hover{border-color:var(--border-strong)}.tiptap .ProseMirror-selectednode[data-block-math]{outline:2px solid var(--indigo);background:var(--indigo-muted)}.tiptap [data-inline-math]{display:inline;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;padding:0 2px}.tiptap [data-inline-math]:hover{border-color:var(--border)}.tiptap .ProseMirror-selectednode[data-inline-math]{outline:2px solid var(--indigo);background:var(--indigo-muted)}.lesson-content h2{font-family:var(--font-serif);font-size:1.5rem;margin:2rem 0 .75rem}.lesson-content h3,.lesson-content h4,.lesson-content h5,.lesson-content h6{font-family:var(--font-sans);font-weight:600;line-height:1.4}.lesson-content h3{font-size:1.2rem;margin:1.5rem 0 .5rem}.lesson-content p{margin:0 0 1rem}.lesson-content ol,.lesson-content ul{padding-left:1.5rem;margin:0 0 1rem}.lesson-content li{margin-bottom:.25rem}.lesson-content blockquote{border-left:3px solid var(--amber);padding:.5rem 0 .5rem 1rem;color:var(--text-2);background:var(--amber-muted);border-radius:0 var(--radius) var(--radius) 0;margin:1rem 0}.lesson-content pre{background:var(--code-bg);color:var(--code-text);padding:0;border-radius:var(--radius);overflow-x:auto;margin:1rem 0;font-size:13px;border:1px solid var(--code-border)}.lesson-content code{background:var(--surface-2);color:var(--indigo);padding:2px 6px;border-radius:var(--radius-sm);font-size:13px}pre[data-terminal-pre]{color:#e6edf3!important;background:none!important;border:none!important}.lesson-content pre code{background:none;padding:0}.lesson-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.lesson-content a{color:var(--indigo);text-decoration:underline;-webkit-text-decoration-color:var(--indigo-muted);text-decoration-color:var(--indigo-muted)}.lesson-content a:hover{-webkit-text-decoration-color:var(--indigo);text-decoration-color:var(--indigo)}.lesson-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:.75rem 0;box-shadow:var(--shadow-sm)}.lesson-content [data-block-math]{text-align:center;margin:1.5rem 0;padding:.75rem;background:var(--surface-2);border-radius:var(--radius)}.lesson-content [data-inline-math]{display:inline}@media (max-width:468px){.meta-wrap{display:block}}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 1rem 4px;border-bottom:1px solid var(--code-border);margin-bottom:4px;background:var(--code-header-bg);border-radius:var(--radius) var(--radius) 0 0}.code-filename{font-size:12px;color:var(--code-filename);font-family:monospace;font-weight:600}.code-lang-label{font-size:10px;color:var(--code-lang);font-family:monospace;text-transform:uppercase;letter-spacing:.06em}code.with-line-numbers{display:block;padding:.5rem 0;line-height:1.5}.code-line{display:table-row}.code-line-num{color:var(--code-line-num);text-align:right;padding:0 1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:12px;min-width:2rem;white-space:nowrap}.code-line-content,.code-line-num{display:table-cell;vertical-align:top}.code-line-content{padding-right:1rem;white-space:pre}.code-line:hover .code-line-content,.code-line:hover .code-line-num{background:var(--code-line-hover)}[data-theme=light] .hljs{color:#24292f}[data-theme=light] .hljs-doctag,[data-theme=light] .hljs-keyword,[data-theme=light] .hljs-meta .hljs-keyword,[data-theme=light] .hljs-template-tag,[data-theme=light] .hljs-template-variable,[data-theme=light] .hljs-type,[data-theme=light] .hljs-variable.language_{color:#b31d28}[data-theme=light] .hljs-title,[data-theme=light] .hljs-title.class_,[data-theme=light] .hljs-title.class_.inherited__,[data-theme=light] .hljs-title.function_{color:#6639ad}[data-theme=light] .hljs-attr,[data-theme=light] .hljs-attribute,[data-theme=light] .hljs-literal,[data-theme=light] .hljs-meta,[data-theme=light] .hljs-number,[data-theme=light] .hljs-operator,[data-theme=light] .hljs-selector-attr,[data-theme=light] .hljs-selector-class,[data-theme=light] .hljs-selector-id,[data-theme=light] .hljs-variable{color:#953800}[data-theme=light] .hljs-punctuation,[data-theme=light] .hljs-tag{color:#116329}[data-theme=light] .hljs-regexp,[data-theme=light] .hljs-string{color:#0a3069}[data-theme=light] .hljs-built_in,[data-theme=light] .hljs-symbol{color:#6639ad}[data-theme=light] .hljs-code,[data-theme=light] .hljs-comment,[data-theme=light] .hljs-formula{color:#56616c;font-style:italic}[data-theme=light] .hljs-name,[data-theme=light] .hljs-quote,[data-theme=light] .hljs-selector-tag{color:#116329}[data-theme=light] .hljs-deletion{color:#82071e;background:#ffebe9}[data-theme=light] .hljs-addition{color:#116329;background:#dafbe1}[data-theme=light] .hljs-emphasis{font-style:italic}[data-theme=light] .hljs-strong{font-weight:700}.preview-btn-label{display:inline}@media (max-width:468px){.preview-btn-label{display:none}}.module-header-buttons{display:flex;gap:6px;flex-shrink:0;flex-wrap:nowrap;justify-content:flex-start}@media (max-width:468px){.module-header-row{flex-wrap:wrap}.module-header-title{flex-basis:100%}.module-header-buttons{width:100%;justify-content:flex-start}}.module-dropdown-btn{max-width:100px;min-width:70px}@media (min-width:469px){.module-dropdown-btn{max-width:200px;min-width:100px}}.lesson-viewer-layout{background:var(--surface-2)}.lesson-viewer-outer{gap:28px;padding:24px;align-items:flex-start;box-sizing:border-box}.lesson-sidebar-desktop{width:280px;top:76px;height:calc(100dvh - 100px);border:1px solid var(--border);border-radius:18px;scrollbar-width:thin}.lesson-main{min-width:0}.lesson-reading-page{color:var(--text);max-width:860px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm);padding:clamp(24px,4vw,52px)}.lesson-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--indigo)}.lesson-hero{padding:0 0 30px;margin-bottom:32px;border-bottom:1px solid var(--border)}.lesson-hero:before{content:"";display:block;width:44px;height:4px;background:var(--indigo);border-radius:4px;margin-bottom:24px}.lesson-hero-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.lesson-position{font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:99px;padding:4px 10px;color:var(--text-2)}.lesson-hero h1{font-family:var(--font-serif);font-size:clamp(30px,3.5vw,44px);line-height:1.15;letter-spacing:-.025em;margin:0;text-wrap:balance;overflow-wrap:anywhere}.lesson-introduction{margin:18px 0 0;font-size:17px;line-height:1.8;color:var(--text-2)}.lesson-reading-page .lesson-content{font-size:16px;line-height:1.85;overflow-wrap:anywhere}.lesson-reading-page .lesson-content h2{margin-top:2.5rem;line-height:1.3}.lesson-completion-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:36px;padding:20px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.lesson-completion-panel h2{margin:0 0 4px;font-size:15px}.lesson-completion-panel p{margin:0;font-size:13px;color:var(--text-2)}.lesson-pager{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:28px}.lesson-page-card{padding:18px;border:1px solid var(--border);border-radius:12px;text-decoration:none;display:flex;flex-direction:column;gap:8px;color:var(--text);min-width:0}.lesson-page-card strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.lesson-page-card-next{background:var(--indigo-muted)}.lesson-page-card:hover{border-color:var(--indigo)}.course-outline{padding:22px 14px 16px}.course-outline-heading{display:flex;flex-direction:column;gap:10px;padding:0 8px 20px;border-bottom:1px solid var(--border)}.course-outline-title{font-family:var(--font-serif);font-size:21px;line-height:1.3;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.course-outline-count{font-size:11px;color:var(--text-3)}.course-outline-list{padding:0;margin:0;list-style:none}.course-outline-section{font-size:11px;line-height:1.5;font-weight:700;color:var(--text-2);padding:22px 8px 8px;margin:0}.course-outline-link{display:flex;gap:10px;align-items:flex-start;padding:11px 9px;margin:3px 0;border-radius:10px;color:var(--text-2);text-decoration:none;border:1px solid transparent}.course-outline-link:hover{background:var(--surface-2);color:var(--text)}.course-outline-link[aria-current=page]{background:var(--indigo-muted);border-color:var(--indigo);color:var(--text)}.course-outline-number{display:grid;place-items:center;min-width:25px;height:25px;border-radius:7px;background:var(--surface-2);color:var(--text-3);font-size:10px;font-weight:700}.course-outline-link[aria-current=page] .course-outline-number{background:var(--indigo);color:white}.course-outline-item-copy{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;min-width:0}.course-outline-item-copy small{font-size:10px;font-weight:400;color:var(--text-2);text-transform:capitalize}.course-outline-unavailable{opacity:.65}.course-outline-back{display:block;margin:20px 8px 0;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2);text-decoration:none}.course-outline-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.course-outline-mobile-panel,.course-outline-toggle{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.course-outline-mobile-panel{margin-top:8px;max-height:60dvh;overflow-y:auto}.course-outline a:focus-visible,.course-outline-toggle:focus-visible,.lesson-page-card:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}@media (max-width:860px){.lesson-viewer-outer{padding:16px;gap:16px}.lesson-sidebar-mobile{width:100%}.lesson-reading-page{padding:24px}}@media (max-width:480px){.lesson-viewer-outer{padding:10px}.lesson-reading-page{padding:22px 18px;border-radius:14px}.lesson-pager{grid-template-columns:1fr}.lesson-pager>div:empty{display:none}}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text);padding:44px max(24px,calc((100vw - 1100px) / 2))}.site-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-gap:40px;gap:40px}.site-footer-brand{font-family:var(--font-serif);font-size:27px;text-decoration:none;color:var(--text)}.site-footer-intro p{max-width:360px;font-size:14px;line-height:1.7;color:var(--text-2);margin:12px 0}.site-footer-access{font-size:12px;font-weight:600;line-height:1.6;color:var(--text-2)}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.site-footer h2{font-family:var(--font-sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:4px 0;color:var(--text-3)}.site-footer nav a{font-size:13px;line-height:1.5;color:var(--text-2);text-decoration:none}.site-footer a:hover{color:var(--indigo);text-decoration:underline}.site-footer a:focus-visible{outline:2px solid var(--indigo);outline-offset:4px}.site-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--border);margin-top:32px;padding-top:20px;font-size:11px;color:var(--text-3)}.public-information{max-width:780px;min-height:65vh;margin:0 auto;padding:48px 24px 64px;color:var(--text)}.public-information-back{color:var(--text-2);font-size:13px}.public-information header{margin:32px 0;padding-bottom:24px;border-bottom:1px solid var(--border)}.public-information h1{font-family:var(--font-serif);font-size:clamp(32px,5vw,44px);margin:0 0 12px}.public-information header p{font-size:17px;color:var(--text-2);line-height:1.7}.public-information-body section{margin:32px 0;scroll-margin-top:80px}.public-information-body h2{font-size:21px;margin-bottom:12px}.public-information-body li,.public-information-body p{font-size:15px;line-height:1.85;color:var(--text-2)}.public-information-body a{color:var(--indigo);text-underline-offset:3px}@media (max-width:700px){.site-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.site-footer-intro{grid-column:1/-1}}@media (max-width:380px){.site-footer-grid{grid-template-columns:1fr}}.contact-form fieldset{border:0;padding:0;margin:0;display:grid;grid-gap:20px;gap:20px;min-width:0}.contact-form label{display:grid;grid-gap:8px;gap:8px;font-size:14px;font-weight:600}.contact-form button{justify-self:start}.contact-hint{font-size:13px;line-height:1.7;color:var(--text-2);margin:0}.contact-hint a{color:var(--indigo)}.contact-notice{padding:20px;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;line-height:1.7}.contact-form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:12px 18px;background:var(--surface);color:var(--text);border:2px solid var(--indigo);border-radius:var(--radius);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}#main-content{scroll-margin-top:68px}.public-information,.site-footer{overflow-wrap:anywhere}.contact-form [role=alert]:empty,.contact-form [role=status]:empty{margin:0}.lesson-content{min-width:0}.lesson-table{max-width:100%;min-width:0;margin:1.25rem 0}.lesson-table-scroll{max-width:100%;overflow-x:auto;border-radius:var(--radius)}.lesson-table-scroll:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}.lesson-content .lesson-table-hint{margin:0 0 .5rem;font-size:13px;color:var(--text-2)}.lesson-table table{border-collapse:collapse;width:max-content;margin:0;table-layout:auto}.lesson-table td,.lesson-table th{min-width:8rem;max-width:24rem;border:1px solid var(--border-strong);padding:10px 12px;text-align:start;vertical-align:top;font-size:14px;white-space:normal;overflow-wrap:anywhere}.lesson-table th{background:var(--surface-2);font-weight:600}.lesson-table td{background:var(--surface)}.lesson-table td>:last-child,.lesson-table th>:last-child{margin-bottom:0}@media print{.lesson-table-scroll{overflow:visible}.lesson-table table{width:100%;table-layout:fixed}.lesson-table td,.lesson-table th{min-width:0;max-width:none}.lesson-content .lesson-table-hint{display:none}}.media-image{position:relative;max-width:100%;border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.lesson-image{margin:1rem 0;width:-moz-fit-content;width:fit-content}.lesson-content .lesson-image img{display:block;max-width:100%;height:auto;margin:0;position:relative}.media-image img[hidden]{display:none}.media-image-cover{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}.media-image-cover img{width:100%;height:100%;object-fit:cover;position:relative}.lesson-image[data-state=error],.lesson-image[data-state=loading]{min-width:min(100%,280px);min-height:160px}.media-image[data-state=loading]:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,var(--surface) 50%,transparent 80%);background-size:200% 100%;animation:image-loading 1.8s ease-in-out infinite}.media-image-error{position:relative;padding:16px;color:var(--text-2);font-size:14px}.media-image-error[hidden]{display:none}.media-image-error button{color:var(--indigo);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:6px 10px;cursor:pointer}@keyframes image-loading{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.media-image[data-state=loading]:before{animation:none}}@media print{.media-image-error,.media-image:before{display:none}}.directory-tree{width:-moz-fit-content;width:fit-content;max-width:100%;min-width:0;margin:1rem auto;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);color:var(--text)}.directory-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px}.directory-scroll{overflow-x:auto;padding:8px 12px}.directory-tree .directory-scroll ul{list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid var(--border)}.directory-tree .directory-scroll>ul{padding:0;border:0}.directory-tree .directory-scroll li{margin:0;padding:0}.directory-file,.directory-folder,.directory-tree summary{padding:2px 6px;white-space:nowrap;font:13px/1.45 Fira Mono,Cascadia Code,Consolas,monospace;min-width:max-content}.directory-tree summary{cursor:pointer}.directory-icon{color:var(--text-2);margin-right:8px}.directory-name{font-weight:500}.directory-highlight>.directory-file,.directory-highlight>.directory-folder,.directory-tree .directory-highlight>details>summary{background:var(--indigo-muted);border-left:3px solid var(--indigo);border-radius:4px}.directory-focus{font:600 11px var(--font-sans);color:var(--indigo);margin-left:10px}.directory-note{font:12px/1.45 var(--font-sans)}.directory-copy,.directory-note{margin-left:10px;color:var(--text-2)}.directory-copy{font:12px/1.5 var(--font-sans);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 6px;cursor:pointer}.directory-copy:hover{color:var(--text);border-color:var(--text-3)}.directory-tree :focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.directory-status{font-size:12px}.directory-editor{margin:1rem 0;padding:10px;border:1px solid var(--border);border-radius:10px}.directory-editor[data-selected=true]{outline:2px solid var(--indigo)}.directory-fields{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.directory-fields label{display:grid;grid-gap:4px;gap:4px;font-size:13px}.directory-fields textarea{font:14px/1.6 Fira Mono,Consolas,monospace;white-space:pre;overflow:auto}.directory-fields p{font-size:12px;color:var(--text-2)}@media(max-width:600px){.directory-copy{min-height:40px}.directory-scroll{padding:8px}}[data-tree-color=sage]{--tree-bg:#e1e7dd;--tree-header:#d3ddce;--tree-accent:#355141;--tree-edge:2px}[data-tree-color=indigo]{--tree-bg:#e7e5ef;--tree-header:#d8d5ed;--tree-accent:#403577;--tree-edge:3px}[data-tree-color=amber]{--tree-bg:#eee3ca;--tree-header:#e6cf9b;--tree-accent:#704800;--tree-edge:4px}[data-theme=dark] [data-tree-color=sage]{--tree-bg:#232b24;--tree-header:#2b372d;--tree-accent:#abc9ac}[data-theme=dark] [data-tree-color=indigo]{--tree-bg:#242337;--tree-header:#302d49;--tree-accent:#c3bcf5}[data-theme=dark] [data-tree-color=amber]{--tree-bg:#30291c;--tree-header:#42341b;--tree-accent:#f3cc78}.directory-tree[data-tree-color]{background:var(--tree-bg);border-top:var(--tree-edge) solid var(--tree-accent)}.directory-tree[data-tree-color] .directory-header{background:var(--tree-header)}.directory-tree[data-tree-color] .directory-focus,.directory-tree[data-tree-color] .directory-header>strong,.directory-tree[data-tree-color] .directory-icon{color:var(--tree-accent)}.directory-tree[data-tree-color] .directory-highlight>.directory-file,.directory-tree[data-tree-color] .directory-highlight>details>summary{background:var(--tree-header);border-left-color:var(--tree-accent)}.directory-tree[data-tree-color] :focus-visible{outline-color:var(--tree-accent)}.directory-color-options{display:flex;flex-wrap:wrap;gap:8px}.directory-color-option{flex:1 1 120px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid transparent;border-radius:8px;background:var(--tree-bg);color:var(--text);cursor:pointer;text-align:left;font:600 14px var(--font-sans)}.directory-color-option[aria-pressed=true]{border-color:var(--tree-accent)}.directory-color-option:focus-visible{outline:2px solid var(--tree-accent);outline-offset:2px}.directory-color-option small{display:block;margin-top:3px;font-size:12px;font-weight:400}.directory-color-swatch{width:14px;height:14px;flex-shrink:0;border-radius:50%;background:var(--tree-accent)}[data-theme=dark] .directory-tree[data-tree-color]{--text-2:#b9b4a4}.directory-source-field{display:grid;grid-gap:4px;gap:4px}[data-theme=dark] .lesson-content figcaption{color:var(--text-2)}.image-alignment-option[aria-pressed=true]{background:var(--amber);color:var(--amber-text);border-color:var(--amber-ink);box-shadow:inset 0 0 0 1px var(--amber-ink);font-weight:700}.image-alignment-option[aria-pressed=true]:hover{background:var(--amber-hover);color:var(--amber-text)}.markdown-import-status{display:flex;align-items:center;gap:4px;flex-basis:100%;min-width:0;color:var(--text-2);font-size:12px;line-height:1.5}.markdown-import-info{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-2);cursor:pointer}.markdown-import-info:hover{background:var(--surface);color:var(--text)}@media (pointer:coarse){.markdown-import-info{width:44px;height:44px;flex-basis:44px}}