:root{--serif:'Newsreader', Georgia, serif;--sans:'Space Grotesk', system-ui, sans-serif;--mono:'JetBrains Mono', ui-monospace, Menlo, monospace;--fs:18px;--lh:1.68;--text-w:41rem;--toc-w:14rem;--margin-w:15rem;--gap:2.75rem;--wrap:72rem;--topbar-h:58px;--radius:12px;--radius-sm:7px}:root[data-palette=academic][data-theme=light]{--bg:#FBF9F4;--bg-2:#F4F1EA;--bg-3:#ECE8DF;--bg-raised:#FFFEFB;--ink:#1C1B19;--ink-2:#3B3934;--muted:#6F6A61;--line:#E4DFD5;--line-2:#CFC9BC;--accent:#7D2318;--accent-2:#3B3934;--accent-3:#3B3934;--accent-soft:rgba(125,35,24,.055);--accent-line:rgba(125,35,24,.28);--amber-soft:rgba(28,27,25,.03);--teal-soft:rgba(28,27,25,.03);--sel:rgba(125,35,24,.13);--shadow:0 1px 2px rgba(28,27,25,.04), 0 6px 20px rgba(28,27,25,.05);--danger:#7D2318;--success:#3B3934}:root[data-palette=academic][data-theme=dark]{--bg:#151413;--bg-2:#1B1A18;--bg-3:#23221F;--bg-raised:#1A1917;--ink:#E8E3D9;--ink-2:#C8C2B5;--muted:#8E887C;--line:#2A2825;--line-2:#3A3732;--accent:#D49A86;--accent-2:#C8C2B5;--accent-3:#C8C2B5;--accent-soft:rgba(212,154,134,.08);--accent-line:rgba(212,154,134,.30);--amber-soft:rgba(232,227,217,.03);--teal-soft:rgba(232,227,217,.03);--sel:rgba(212,154,134,.20);--shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.4);--danger:#D49A86;--success:#C8C2B5}:root[data-palette=atlas][data-theme=light],:root:not([data-palette])[data-theme=light]{--bg:#F4F2EC;--bg-2:#EEEBE2;--bg-3:#E6E2D6;--bg-raised:#FBFAF6;--ink:#23211C;--ink-2:#46433C;--muted:#736E62;--line:#DDD8CB;--line-2:#CBC5B5;--accent:#2E3192;--accent-2:#A8631C;--accent-3:#1A6B61;--accent-soft:rgba(46,49,146,.08);--accent-line:rgba(46,49,146,.28);--amber-soft:rgba(168,99,28,.09);--teal-soft:rgba(26,107,97,.09);--sel:rgba(46,49,146,.16);--shadow:0 1px 2px rgba(40,36,28,.05), 0 10px 30px rgba(40,36,28,.07);--danger:#A33A2C;--success:#2F7A46}:root[data-palette=atlas][data-theme=dark],:root:not([data-palette])[data-theme=dark]{--bg:#0F1117;--bg-2:#151824;--bg-3:#1C2030;--bg-raised:#171A26;--ink:#E8E4D9;--ink-2:#C6C2B6;--muted:#8B92A5;--line:#262B39;--line-2:#343B4D;--accent:#AC9EFF;--accent-2:#E3A857;--accent-3:#7FD1C9;--accent-soft:rgba(172,158,255,.11);--accent-line:rgba(172,158,255,.32);--amber-soft:rgba(227,168,87,.10);--teal-soft:rgba(127,209,201,.09);--sel:rgba(172,158,255,.22);--shadow:0 1px 2px rgba(0,0,0,.4), 0 14px 40px rgba(0,0,0,.45);--danger:#F08A7A;--success:#7CCB8F}:root[data-palette=spacetime][data-theme=light]{--bg:#F7F5EF;--bg-2:#EFECE3;--bg-3:#E5E1D4;--bg-raised:#FCFBF8;--ink:#1B1B28;--ink-2:#3A3A4E;--muted:#6E6E82;--line:#DEDAD0;--line-2:#CCC7BA;--accent:#8C6A23;--accent-2:#2F6A99;--accent-3:#2E7D72;--accent-soft:rgba(140,106,35,.09);--accent-line:rgba(140,106,35,.30);--amber-soft:rgba(47,106,153,.08);--teal-soft:rgba(46,125,114,.09);--sel:rgba(140,106,35,.18);--shadow:0 1px 2px rgba(20,20,40,.05), 0 10px 30px rgba(20,20,40,.07);--danger:#A33A2C;--success:#2F7A46}:root[data-palette=spacetime][data-theme=dark]{--bg:#0B0B14;--bg-2:#111120;--bg-3:#181830;--bg-raised:#13132A;--ink:#E6E2D6;--ink-2:#C3BFB3;--muted:#8A8A9E;--line:#1F1F36;--line-2:#2C2C48;--accent:#C8A45A;--accent-2:#6B9EC4;--accent-3:#5AADA0;--accent-soft:rgba(200,164,90,.10);--accent-line:rgba(200,164,90,.32);--amber-soft:rgba(107,158,196,.10);--teal-soft:rgba(90,173,160,.10);--sel:rgba(200,164,90,.22);--shadow:0 1px 2px rgba(0,0,0,.45), 0 14px 40px rgba(0,0,0,.5);--danger:#E88B7D;--success:#7CCB8F}:root[data-palette=tufte][data-theme=light]{--bg:#FFFFF8;--bg-2:#F7F6EC;--bg-3:#EEEDE0;--bg-raised:#FFFFFC;--ink:#111111;--ink-2:#333333;--muted:#6B6B6B;--line:#E4E2D6;--line-2:#D2D0C2;--accent:#A00000;--accent-2:#5A5A5A;--accent-3:#1F5E5B;--accent-soft:rgba(160,0,0,.06);--accent-line:rgba(160,0,0,.26);--amber-soft:rgba(90,90,90,.07);--teal-soft:rgba(31,94,91,.07);--sel:rgba(160,0,0,.12);--shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05);--danger:#A00000;--success:#2F6B3A}:root[data-palette=tufte][data-theme=dark]{--bg:#151515;--bg-2:#1C1C1C;--bg-3:#252525;--bg-raised:#1A1A1A;--ink:#DDDDDD;--ink-2:#BDBDBD;--muted:#8E8E8E;--line:#2C2C2C;--line-2:#3A3A3A;--accent:#FF7B72;--accent-2:#B0B0B0;--accent-3:#6CC4BC;--accent-soft:rgba(255,123,114,.09);--accent-line:rgba(255,123,114,.30);--amber-soft:rgba(176,176,176,.08);--teal-soft:rgba(108,196,188,.08);--sel:rgba(255,123,114,.18);--shadow:0 1px 2px rgba(0,0,0,.5), 0 12px 32px rgba(0,0,0,.5);--danger:#FF7B72;--success:#7CCB8F}:root{--c-key:var(--accent);--c-str:var(--accent-2);--c-num:var(--accent-3);--c-com:var(--muted);--c-fn:var(--ink);--c-type:var(--accent-2);--c-punc:var(--ink-2);--c-op:var(--accent)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-h) + 1rem)}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:var(--fs);line-height:var(--lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto;transition:background-color .3s ease,color .3s ease;min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding-top:var(--topbar-h)}::selection{background:var(--sel)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}img,svg,video{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}button{font:inherit;color:inherit}kbd{font-family:var(--mono);font-size:.74em;background:var(--bg-3);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:.05em .42em;color:var(--ink-2);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.88em}.icon{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.skip-link{position:absolute;left:-999px;top:.5rem;z-index:100;background:var(--bg-raised);padding:.4rem .8rem;border-radius:6px}.skip-link:focus{left:.5rem}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:1.5rem}.linklike{background:0 0;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit}.linklike:hover{text-decoration:underline;text-underline-offset:3px}.empty{color:var(--muted);font-style:italic}.dev-only{opacity:.75}#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:70;transition:width .1s linear}mjx-container[display=true]{overflow-x:auto;overflow-y:hidden;max-width:100%;min-width:0!important;padding:.15rem 0}mjx-container{color:inherit}mjx-container[display=true]+br{display:none}mjx-container[jax=CHTML][display=true]{margin:1.1em 0!important}@media(max-width:640px){:root{--fs:17px}.wrap{padding-inline:1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}.topbar{position:fixed;inset:0 0 auto 0;height:var(--topbar-h);z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.4)blur(12px);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line)}.topbar-inner{height:100%;max-width:calc(var(--wrap) + 8rem);margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;gap:1.25rem}.brand{display:flex;align-items:center;gap:.55rem;color:var(--ink);font-family:var(--sans);font-weight:600;letter-spacing:-.01em;font-size:1.02rem;white-space:nowrap}.brand:hover{text-decoration:none}.brand .logo{width:24px;height:24px;color:var(--accent);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.brand:hover .logo{transform:rotate(-35deg)}.brand-tag{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--muted);font-size:.86rem}.mainnav{display:flex;gap:.2rem;margin-left:auto}.mainnav a{font-family:var(--sans);font-size:.9rem;color:var(--ink-2);padding:.38rem .7rem;border-radius:var(--radius-sm);transition:background .15s,color .15s}.mainnav a:hover{background:var(--bg-2);color:var(--ink);text-decoration:none}.mainnav a.active{color:var(--accent);background:var(--accent-soft)}.topbar-actions{display:flex;align-items:center;gap:.45rem}.tbtn{display:inline-flex;align-items:center;gap:.5rem;height:34px;padding:0 .7rem;font-family:var(--sans);font-size:.82rem;color:var(--ink-2);background:0 0;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tbtn:hover{background:var(--bg-2);border-color:var(--accent-line);color:var(--ink)}.tbtn.icon-only{width:34px;padding:0;justify-content:center}.search-kbd{font-size:.7rem}:root[data-theme=dark] .i-sun,:root[data-theme=light] .i-moon{display:none}.menu-toggle{display:none!important}@media(max-width:900px){.brand-tag,.search-label,.search-kbd{display:none}.menu-toggle{display:inline-flex!important}.mainnav{position:fixed;top:var(--topbar-h);left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1rem 1rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:var(--shadow)}.mainnav.open{transform:none;opacity:1;pointer-events:auto}.mainnav a{padding:.7rem .6rem;font-size:1rem}.topbar-actions{margin-left:auto}}.site-footer{border-top:1px solid var(--line);margin-top:4rem;background:var(--bg-2)}.footer-inner{max-width:var(--wrap);margin:0 auto;padding:2.2rem 1.5rem 2.6rem;display:grid;grid-template-columns:1fr auto;gap:1.2rem 2rem;font-family:var(--sans);font-size:.85rem;color:var(--muted)}.footer-brand{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:600}.footer-brand .logo{width:20px;height:20px;color:var(--accent)}.footer-copy{margin:.35rem 0 0}.footer-nav{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;align-items:center;justify-content:flex-end}.footer-nav a{color:var(--ink-2)}.social{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem .9rem}.social a{color:var(--muted);font-family:var(--sans);font-size:.85rem}.social a:hover{color:var(--accent)}.site-footer .social{grid-column:1/-1}@media(max-width:640px){.footer-inner{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}}.article-shell{display:grid;justify-content:center;column-gap:var(--gap);grid-template-columns:var(--toc-w)minmax(0,var(--text-w))var(--margin-w);padding:2.6rem 1.5rem 3rem}.article-left{grid-column:1;position:sticky;top:calc(var(--topbar-h) + 1.6rem);align-self:start;max-height:calc(100vh - var(--topbar-h) - 3rem);overflow-y:auto;scrollbar-width:thin;padding-bottom:1rem}.article{grid-column:2;min-width:0}.article-right{grid-column:3}@media(max-width:1280px){.article-shell{grid-template-columns:minmax(0,var(--text-w))var(--margin-w)}.article-left{grid-column:1;grid-row:1;position:static;max-height:none;overflow:visible;margin-bottom:1.4rem}.article{grid-column:1;grid-row:2}.article-right{grid-column:2;grid-row:1/span 2}}@media(max-width:1000px){.article-shell{grid-template-columns:minmax(0,var(--text-w));padding-top:1.8rem}.article-right{display:none}}@media(max-width:640px){.article-shell{padding-inline:1rem}}.list-shell{padding-top:2.6rem;padding-bottom:3rem}.list-shell.narrow{max-width:52rem}.list-shell.with-rail{display:grid;grid-template-columns:minmax(0,1fr)17rem;gap:3rem;align-items:start}.list-rail{position:sticky;top:calc(var(--topbar-h) + 1.6rem);display:grid;gap:1.1rem}@media(max-width:960px){.list-shell.with-rail{grid-template-columns:minmax(0,1fr)}.list-rail{position:static}}.block{padding-top:3rem}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:1.2rem}.block-head h2{margin:0;font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.block-head a{font-family:var(--sans);font-size:.85rem}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg-2);isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-1}.hero-art svg{width:100%;height:100%;display:block}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr)minmax(0,1fr);gap:3rem;align-items:center;padding-top:4.2rem;padding-bottom:4rem}.eyebrow{font-family:var(--sans);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.hero-title{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;line-height:1.02;font-size:clamp(2.3rem,5.4vw,3.9rem);margin:0 0 1.1rem;max-width:14ch}.hero-lede{font-size:clamp(1.12rem,2vw,1.3rem);line-height:1.5;color:var(--ink-2);max-width:36ch;margin:0 0 1.2rem;font-style:italic}.hero-intro{color:var(--ink-2);max-width:46ch}.hero-intro p{margin:0 0 .8rem}.hero-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}.hero-links a{font-family:var(--sans);font-size:.88rem;color:var(--ink);border:1px solid var(--line-2);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:.45rem .95rem;border-radius:999px;transition:border-color .15s,color .15s,background .15s}.hero-links a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;background:var(--accent-soft)}@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2rem;padding-top:3rem}}.lightcone .lc-future{fill:var(--accent-2);opacity:.07}.lightcone .lc-past{fill:var(--accent);opacity:.06}.lightcone .lc-edge{stroke-width:1;fill:none}.lightcone .lc-edge-f{stroke:var(--accent-2);opacity:.45}.lightcone .lc-edge-p{stroke:var(--accent);opacity:.35}.lightcone .lc-axis{stroke:var(--ink);opacity:.08;stroke-dasharray:5 8}.lightcone .lc-worldline{stroke:var(--accent);stroke-width:1.6;fill:none;opacity:.55;stroke-dasharray:2 5;stroke-linecap:round;animation:lc-flow 6s linear infinite}.lightcone .lc-event{fill:var(--accent-2)}.lightcone .lc-pulse{fill:none;stroke:var(--accent-2);stroke-width:.8;animation:lc-pulse 3.2s ease-out infinite;transform-origin:760px 210px}@keyframes lc-pulse{0%{transform:scale(.4);opacity:.6}100%{transform:scale(2.4);opacity:0}}@keyframes lc-flow{to{stroke-dashoffset:-70}}@media(max-width:860px){.hero-art{opacity:.55}}.lens path{fill:none;stroke:var(--accent);stroke-opacity:.22;stroke-width:.8}.lens circle{fill:var(--accent)}.eq-card{background:color-mix(in srgb,var(--bg-raised) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem 1rem;box-shadow:var(--shadow);backdrop-filter:blur(6px);min-width:0}.eq-item{margin:0}.eq-label{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2)}.eq-tex{font-size:1.12rem;overflow-x:auto;min-height:4.2rem;display:flex;align-items:center}.eq-tex mjx-container[display=true]{margin:.7rem 0!important}.eq-caption{font-size:.92rem;color:var(--muted);font-style:italic;line-height:1.45}.eq-nav{display:flex;align-items:center;justify-content:space-between;margin-top:.9rem;border-top:1px solid var(--line);padding-top:.6rem}.eq-hint{font-family:var(--sans);font-size:.72rem;color:var(--muted);letter-spacing:.06em}.eq-btn{background:0 0;border:1px solid var(--line-2);border-radius:6px;width:28px;height:26px;cursor:pointer;color:var(--ink-2);line-height:1}.eq-btn:hover{border-color:var(--accent);color:var(--accent)}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.subject-card{--subject:var(--accent);position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1.3rem 1.3rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);color:var(--ink);overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.subject-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--subject);opacity:.8}.subject-card:hover{text-decoration:none;border-color:color-mix(in srgb,var(--subject) 55%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow)}.subject-symbol{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--subject);font-style:italic}.subject-title{font-family:var(--sans);font-weight:600;font-size:1.1rem;letter-spacing:-.01em}.subject-desc{font-size:.94rem;color:var(--ink-2);line-height:1.5}.subject-desc p{margin:0}.subject-count{margin-top:auto;padding-top:.5rem;font-family:var(--sans);font-size:.76rem;color:var(--muted)}.title-symbol{color:var(--subject,var(--accent));font-style:italic;margin-right:.5rem;font-family:var(--serif);font-weight:400}.entries{display:grid}.entry{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1.3rem;padding:1.05rem 0;border-bottom:1px solid var(--line)}.entry:first-child{padding-top:.4rem}.entry-meta{font-family:var(--sans);font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:.25rem;padding-top:.3rem}.entry-num{font-family:var(--mono);color:var(--accent)}.entry-kind{display:inline-block;width:fit-content;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-3)}.entry-kind.kind-thoughts{color:var(--accent-2)}.entry-kind.kind-lectures{color:var(--accent)}.entry-title{font-family:var(--sans);font-weight:500;font-size:1.12rem;letter-spacing:-.01em;line-height:1.3;margin:0 0 .25rem}.entry-title a{color:var(--ink)}.entry-title a:hover{color:var(--accent);text-decoration:none}.entry-summary{margin:0 0 .45rem;color:var(--ink-2);font-size:.98rem;line-height:1.55}.entry.is-draft{opacity:.78}.entry[hidden]{display:none}@media(max-width:640px){.entry{grid-template-columns:1fr;gap:.2rem}.entry-meta{flex-direction:row;gap:.7rem}}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{font-family:var(--sans);font-size:.74rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.08rem .55rem;background:0 0;white-space:nowrap}a.chip:hover{color:var(--accent);border-color:var(--accent-line);text-decoration:none}.chip-subject{--subject:var(--accent);color:var(--subject);border-color:color-mix(in srgb,var(--subject) 35%,transparent);background:color-mix(in srgb,var(--subject) 8%,transparent)}.chip .count,.subject-tabs .count{color:var(--muted);margin-left:.2rem;font-size:.9em}.badge{display:inline-flex;align-items:center;gap:.2rem;margin-left:.5rem;vertical-align:.18em;font-family:var(--sans);font-weight:500;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .45rem;border-radius:4px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}.badge-draft{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.badge-seedling,.badge-planned{color:var(--muted)}.badge-budding,.badge-ongoing,.badge-reading,.badge-exploratory{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 40%,transparent)}.badge-evergreen,.badge-complete,.badge-active{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.badge-paused{color:var(--muted);border-style:dashed}.list-header{margin-bottom:2rem}.page-title{font-family:var(--sans);font-weight:600;letter-spacing:-.025em;line-height:1.1;font-size:clamp(1.9rem,4.2vw,2.6rem);margin:0 0 .6rem}.page-subtitle{font-size:1.15rem;color:var(--ink-2);font-style:italic;margin:0 0 .9rem;line-height:1.5;max-width:40em}.page-subtitle p{margin:0}.list-intro{margin-top:1rem;color:var(--ink-2)}.crumbs{font-family:var(--sans);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.crumb-here{color:var(--accent);font-family:var(--mono)}.filter{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);border-radius:9px;padding:0 .75rem;margin:0 0 1.4rem;background:var(--bg-raised);max-width:26rem;color:var(--muted)}.filter:focus-within{border-color:var(--accent-line)}.filter input{flex:1;border:0;outline:0;background:0 0;color:var(--ink);font-family:var(--sans);font-size:.9rem;height:2.4rem}.group-title,.year{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:2.4rem 0 .4rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-2)}.group-title a{color:inherit}.group-title a:hover{color:var(--accent)}.subject-group:first-of-type .group-title{margin-top:1rem}.subject-group[hidden],.year-group[hidden]{display:none}.subject-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}.subject-tabs a{--subject:var(--accent);font-family:var(--sans);font-size:.86rem;color:var(--ink);padding:.35rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--subject) 35%,var(--line));background:color-mix(in srgb,var(--subject) 6%,transparent)}.subject-tabs a:hover{text-decoration:none;border-color:var(--subject)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.tag-cloud .chip{font-size:.86rem;padding:.25rem .75rem}.rail-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);padding:1rem 1.1rem}.rail-title{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.rail-box .social{flex-direction:column;gap:.3rem}.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;font-size:.95rem}.plain-list.small{font-size:.84rem;color:var(--ink-2);line-height:1.5}.notation{width:100%;border-collapse:collapse;font-size:.84rem}.notation td{padding:.28rem 0;border-bottom:1px solid var(--line);vertical-align:middle}.notation td:first-child{padding-right:.7rem;white-space:nowrap}.notation td:last-child{color:var(--muted);font-family:var(--sans);font-size:.78rem}.notation tr:last-child td{border-bottom:0}.reading{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.reading li{display:flex;gap:.65rem;align-items:flex-start}.reading-icon{font-size:1.1rem;line-height:1.3}.reading-title{display:block;font-size:.95rem;line-height:1.3}.reading-author{display:block;font-family:var(--sans);font-size:.76rem;color:var(--muted)}.now-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.pull-quote{margin:0 auto;max-width:44rem;text-align:center;padding:2.2rem 1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pull-quote p{font-size:clamp(1.25rem,2.6vw,1.6rem);font-style:italic;line-height:1.45;margin:0 0 .7rem;color:var(--ink)}.pull-quote cite{font-family:var(--sans);font-style:normal;font-size:.8rem;color:var(--muted);letter-spacing:.06em}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}.series-card{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}.series-card:hover{text-decoration:none;border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow)}.series-top{display:flex;align-items:center;gap:.3rem;min-height:1.2rem}.series-top .badge{margin-left:auto}.series-code{font-family:var(--mono);font-size:.74rem;color:var(--accent)}.series-title{font-family:var(--sans);font-weight:600;font-size:1.08rem;line-height:1.3;margin:0;letter-spacing:-.01em}.series-who{font-family:var(--sans);font-size:.8rem;color:var(--muted)}.series-desc{margin:0;font-size:.94rem;color:var(--ink-2);line-height:1.5}.series-desc p{margin:0}.progress{height:4px;border-radius:4px;background:var(--bg-3);overflow:hidden;margin-top:auto}.series-card .progress{margin-top:.7rem}.progress span{display:block;height:100%;background:var(--accent);border-radius:4px}.series-count{font-family:var(--sans);font-size:.74rem;color:var(--muted)}.series-header .progress{margin:.4rem 0 1rem;max-width:24rem}.series-header .page-meta{margin-top:.4rem}.series-intro{margin:1.5rem 0 1rem}.chapters{list-style:none;margin:1.6rem 0 0;padding:0;border-top:1px solid var(--line-2)}.chapter{display:grid;grid-template-columns:3.2rem minmax(0,1fr)auto;gap:1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--line)}.ch-num{font-family:var(--mono);font-size:.85rem;color:var(--accent)}.ch-title{font-family:var(--sans);font-weight:500;font-size:1.04rem;color:var(--ink)}a.ch-title:hover{color:var(--accent);text-decoration:none}.ch-desc{margin:.2rem 0 0;font-size:.92rem;color:var(--muted);line-height:1.45}.ch-desc p{margin:0}.ch-meta{font-family:var(--sans);font-size:.76rem;color:var(--muted);display:flex;gap:.5rem;white-space:nowrap}.chapter.is-planned .ch-title,.chapter.is-planned .ch-num{color:var(--muted);font-weight:400}.chapter.is-planned .ch-title p{display:inline;margin:0}.series-nav{font-family:var(--sans);font-size:.84rem;margin-bottom:1.6rem}.series-nav-title{display:block;font-weight:600;color:var(--ink);margin-bottom:.5rem;line-height:1.3}.series-nav ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.series-nav li a{display:flex;gap:.45rem;padding:.28rem .7rem;color:var(--muted);line-height:1.35;border-left:2px solid transparent;margin-left:-1px}.series-nav li a:hover{color:var(--ink);text-decoration:none}.series-nav li.current a{color:var(--accent);border-left-color:var(--accent)}.series-nav .ch-num{font-size:.76rem;flex:none}.page-header{margin-bottom:2.2rem}.page-meta{font-family:var(--sans);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-bottom:.8rem}.page-meta .badge{margin-left:0}.is-draft .page-title::after{content:"draft";font-size:.7rem;vertical-align:.9em;margin-left:.6rem;color:var(--danger);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.toc{font-family:var(--sans);font-size:.82rem}.toc-title{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;cursor:pointer;list-style:none}.toc-title::-webkit-details-marker{display:none}.toc ul{list-style:none;margin:0;padding:0}.toc>nav>ul{border-left:1px solid var(--line)}.toc ul ul{padding-left:.8rem}.toc a{display:block;color:var(--muted);padding:.22rem .75rem;line-height:1.35;border-left:2px solid transparent;margin-left:-1px}.toc a:hover{color:var(--ink);text-decoration:none}.toc a.current{color:var(--accent);border-left-color:var(--accent)}@media(max-width:1280px){.toc{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .9rem;background:var(--bg-raised)}.toc-title{margin:0}.toc-title::before{content:"▸ "}.toc[open] .toc-title{margin-bottom:.5rem}.toc[open] .toc-title::before{content:"▾ "}.series-nav{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .9rem;background:var(--bg-raised);margin-bottom:.8rem}}.resources{display:flex;flex-wrap:wrap;gap:.5rem;margin:-1rem 0 2rem}.res{font-family:var(--sans);font-size:.84rem;color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:.4rem .8rem;background:var(--bg-raised);display:inline-flex;gap:.4rem;align-items:center}.res:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.pdf-frame{margin:0 0 2rem}.pdf-frame object{width:100%;height:var(--h,720px);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2)}.pdf-frame figcaption{font-family:var(--sans);font-size:.8rem;color:var(--muted);margin-top:.4rem}.video-frame{position:relative;aspect-ratio:16/9;margin:0 0 2rem}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--radius-sm)}.article-footer{margin-top:3.5rem;padding-top:1.2rem;border-top:1px solid var(--line);display:grid;gap:1.8rem}.article-footer h2{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}.link-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.link-list .muted{font-family:var(--sans);font-size:.78rem}.ref-list{margin:0;padding-left:0;list-style:none;display:grid;gap:.55rem;font-size:.94rem;line-height:1.5}.ref-key{font-family:var(--mono);font-size:.8rem;color:var(--accent);margin-right:.3rem}.ref-list li:target{background:var(--accent-soft);border-radius:6px}.cite{font-family:var(--sans);font-size:.86em;white-space:nowrap}.cite.missing{color:var(--danger)}.cite-as summary{font-family:var(--sans);font-size:.85rem;color:var(--accent);cursor:pointer}.cite-as pre{font-size:.76rem;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1rem;overflow-x:auto;margin:.6rem 0 0}.article-actions{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;font-family:var(--sans);font-size:.85rem}.pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pager a{display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem 1rem;color:var(--ink);background:var(--bg-raised)}.pager a:hover{border-color:var(--accent-line);text-decoration:none}.pager-next{text-align:right}.pager-dir{font-family:var(--sans);font-size:.74rem;color:var(--muted)}.pager-title{font-family:var(--sans);font-weight:500;font-size:.95rem;line-height:1.3}@media(max-width:640px){.pager{grid-template-columns:1fr}.pager-next{text-align:left}}.project{display:grid;grid-template-columns:minmax(0,1fr)7.5rem;gap:1.5rem;padding:1.3rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);margin-bottom:1rem}.project-top{display:flex;align-items:center;gap:.2rem}.project-top .badge{margin-left:.6rem}.project-id{font-family:var(--mono);font-size:.76rem;color:var(--accent)}.project-title{font-family:var(--sans);font-weight:600;font-size:1.1rem;margin:.35rem 0 .45rem;line-height:1.3}.project-title a{color:var(--ink)}.project-summary{margin:0 0 .7rem;color:var(--ink-2);font-size:.98rem;line-height:1.55}.project-summary p{margin:0}.project-art{align-self:center}@media(max-width:640px){.project{grid-template-columns:1fr}.project-art{display:none}}.questions{margin:0;padding:0;list-style:none;counter-reset:q;display:grid;gap:.8rem}.questions li{counter-increment:q;position:relative;padding-left:2.4rem;color:var(--ink-2);line-height:1.55}.questions li::before{content:"?";position:absolute;left:0;top:.05rem;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--accent-line);color:var(--accent);font-family:var(--sans);font-size:.85rem;display:grid;place-items:center}.questions p{margin:0}.pubs{padding-left:1.2rem;display:grid;gap:.6rem}.cv .social{margin-top:.4rem}.cv-section{margin-top:2.6rem}.cv-label{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-2)}.worldline{list-style:none;margin:0;padding:0;position:relative}.worldline::before{content:"";position:absolute;left:9.3rem;top:.5rem;bottom:.5rem;width:1px;background:linear-gradient(var(--accent),var(--accent-2));opacity:.5}.wl-item{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:2rem;padding:.2rem 0 1.5rem;position:relative}.wl-item::before{content:"";position:absolute;left:calc(9.3rem - 4px);top:.55rem;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}.wl-when{font-family:var(--mono);font-size:.78rem;color:var(--accent);padding-top:.25rem;text-align:right}.wl-what{font-family:var(--sans);font-weight:600;font-size:1.02rem;line-height:1.35}.wl-what p{margin:0}.wl-where{font-size:.95rem;color:var(--ink-2);font-style:italic}.wl-detail{margin:.35rem 0 .5rem;color:var(--ink-2);font-size:.96rem;line-height:1.55}.wl-detail p{margin:0}@media(max-width:640px){.worldline::before{left:4px}.wl-item::before{left:0}.wl-item{grid-template-columns:1fr;gap:.1rem;padding-left:1.4rem}.wl-when{text-align:left}}.cv-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.cv-list li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.4rem}.cv-list .cv-when{grid-column:auto;font-family:var(--mono);font-size:.76rem;color:var(--accent)}.cv-award{color:var(--accent-2)}.cv-skills{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.5rem 1.2rem;margin:0}.cv-skills dt{font-family:var(--sans);font-size:.85rem;color:var(--muted)}.cv-skills dd{margin:0}.cv-plain{margin:0}@media(max-width:640px){.cv-skills{grid-template-columns:1fr;gap:.1rem}.cv-skills dd{margin-bottom:.6rem}}.diagram{display:block;margin:1.4rem auto;text-align:center}.diagram svg{width:100%;max-width:120px;display:block;margin:0 auto;overflow:visible}.diagram-medium svg{max-width:220px}.diagram-large svg{max-width:320px}.project-art .diagram{margin:0}.diagram-cap{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:.5rem}.d-fill-1{fill:var(--accent-2);opacity:.12}.d-fill-2{fill:var(--accent);opacity:.1}.d-stroke-1{stroke:var(--accent-2);stroke-width:.9;fill:none}.d-stroke-2{stroke:var(--accent);stroke-width:.9;fill:none}.d-stroke-3{stroke:var(--muted);stroke-width:.8;fill:none}.d-thick{stroke-width:1.4}.d-dash{stroke-dasharray:4 3}.d-axis{stroke:var(--ink);opacity:.15;stroke-width:.5;stroke-dasharray:3 4}.d-frame{fill:none;stroke:var(--line-2);stroke-width:1}.d-surface{fill:var(--bg-2)}.d-sing{stroke:var(--danger);stroke-width:1.4;stroke-dasharray:2.5 2.5}.d-dot{fill:var(--accent-2)}.d-dot-2{fill:var(--accent)}.d-dot-3{fill:var(--muted)}.d-arrow{fill:var(--accent)}.d-label{font-family:var(--sans);font-size:7px;fill:var(--muted)}.d-it{font-family:var(--serif);font-style:italic;font-size:8.5px}.d-c1{fill:var(--accent-2)}.d-c2{fill:var(--accent)}.d-c3{fill:var(--muted)}.d-sing-t{fill:var(--danger);font-size:6px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}.gallery-item{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-raised);color:var(--ink)}.gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-blank{display:grid;place-items:center;aspect-ratio:4/3;font-size:2rem;color:var(--muted);background:var(--bg-2)}.gallery-cap{display:block;padding:.6rem .8rem;font-family:var(--sans);font-size:.8rem;color:var(--muted)}.gallery-cap strong{color:var(--ink);font-weight:500;display:block}.scrim{position:fixed;inset:0;background:rgba(10,10,20,.4);backdrop-filter:blur(2px);z-index:80}.palette{position:fixed;top:12vh;left:50%;transform:translateX(-50%);width:min(40rem,calc(100vw - 2rem));max-height:70vh;display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.3);z-index:90;overflow:hidden}.scrim[hidden],.palette[hidden]{display:none}.pal-in{display:flex;align-items:center;gap:.7rem;padding:0 1rem;border-bottom:1px solid var(--line);color:var(--muted)}.pal-in input{flex:1;height:3.3rem;border:0;outline:0;background:0 0;color:var(--ink);font-family:var(--sans);font-size:1.02rem}.pal-in input::-webkit-search-cancel-button{display:none}.pal-list{overflow-y:auto;padding:.4rem}.pal-item{display:block;padding:.6rem .8rem;border-radius:9px;color:var(--ink);cursor:pointer}.pal-item:hover{text-decoration:none}.pal-item.sel{background:var(--accent-soft)}.pal-item-top{display:flex;align-items:baseline;gap:.6rem}.pal-title{font-family:var(--sans);font-weight:500;font-size:.95rem}.pal-kind{margin-left:auto;font-family:var(--sans);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.pal-snip{font-size:.86rem;color:var(--muted);line-height:1.45;margin-top:.15rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pal-snip mark,.pal-title mark{background:color-mix(in srgb,var(--accent-2) 28%,transparent);color:inherit;border-radius:2px;padding:0 1px}.pal-empty{padding:1.4rem 1rem;color:var(--muted);font-family:var(--sans);font-size:.9rem;text-align:center}.pal-foot{display:flex;gap:1.1rem;padding:.55rem 1rem;border-top:1px solid var(--line);font-family:var(--sans);font-size:.72rem;color:var(--muted)}.pal-foot span:last-child{margin-left:auto}@media(max-width:640px){.pal-foot{display:none}.palette{top:4.5rem}}.comments{margin-top:1rem}.wl-who{font-size:.92rem;color:var(--ink-2);margin-top:.15rem}.cv-rows{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.cv-rows li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:2rem;line-height:1.5}.cv-rows .cv-when{font-family:var(--mono);font-size:.78rem;color:var(--muted);text-align:right;padding-top:.2rem}.cv-rows p{display:inline;margin:0}@media(max-width:640px){.cv-rows li{grid-template-columns:1fr;gap:0}.cv-rows .cv-when{text-align:left}}.prose{counter-reset:sn}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.1rem}.prose h2,.prose h3,.prose h4{font-family:var(--sans);color:var(--ink);position:relative}.prose h2{font-weight:600;letter-spacing:-.015em;font-size:1.45rem;line-height:1.22;margin:2.6rem 0 .9rem}.prose h3{font-weight:500;font-size:1.16rem;line-height:1.3;margin:2rem 0 .65rem}.prose h4{font-weight:500;font-size:1rem;margin:1.6rem 0 .5rem;color:var(--ink-2)}.prose h1{font-family:var(--sans);font-size:1.7rem;font-weight:600;letter-spacing:-.02em;margin:2.4rem 0 1rem}.hanchor{font-family:var(--sans);font-weight:400;color:var(--line-2);margin-left:.45rem;opacity:0;transition:opacity .15s;font-size:.8em}.prose :is(h1,h2,h3,h4):hover .hanchor{opacity:1}.hanchor:hover{color:var(--accent);text-decoration:none}.prose strong{font-weight:600;color:var(--ink)}.prose ul,.prose ol{margin:0 0 1.1rem;padding-left:1.45rem}.prose li{margin:.3rem 0}.prose li>p{margin-bottom:.5rem}.prose li::marker{color:var(--muted)}.prose blockquote{margin:1.4rem 0;padding:.1rem 0 .1rem 1.2rem;border-left:3px solid var(--line-2);color:var(--ink-2);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;margin:1.4rem 0;font-size:.94rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.55rem .8rem;text-align:left;vertical-align:top}.prose thead th{font-family:var(--sans);font-weight:600;font-size:.82rem;color:var(--ink-2);border-bottom:1.5px solid var(--line-2)}.prose img{display:block;margin:1.5rem auto;border-radius:6px}.prose img.embed{display:inline-block;margin:.5rem 0;vertical-align:middle}.prose p>img.embed:only-child{display:block;margin:1.5rem auto}.prose figure{margin:1.8rem 0}.prose figure img{margin:0 auto}.prose figcaption{font-family:var(--sans);font-size:.82rem;color:var(--muted);text-align:center;margin-top:.6rem;line-height:1.45}.prose a.ext::after{content:"↗";font-size:.7em;margin-left:.12em;vertical-align:.25em;opacity:.7}.prose dl dt{font-weight:600}.prose dl dd{margin:0 0 .8rem 1.2rem}.prose mark{background:color-mix(in srgb,var(--accent-2) 25%,transparent);color:inherit;padding:0 .15em;border-radius:2px}:root[data-theme=dark] .invert-dark img,:root[data-theme=dark] img.invert-dark,:root[data-theme=dark] .tikz svg{filter:invert(.88)hue-rotate(180deg)}.wikilink{border-bottom:1px dotted var(--accent-line)}.wikilink:hover{text-decoration:none;border-bottom-style:solid}.wikilink.missing{color:var(--muted);border-bottom:1px dashed var(--line-2);cursor:help}.pdf-embed{display:block;margin:1.5rem 0}.pdf-embed object{width:100%;height:640px;border:1px solid var(--line);border-radius:6px}.pdf-link{font-family:var(--sans);font-size:.82rem}.mermaid{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;text-align:center;overflow-x:auto}.tikz{text-align:center}.tikz svg{max-width:100%}.footnote-ref,.prose sup a{font-family:var(--sans);font-size:.75em}.footnotes{margin-top:2.5rem;font-size:.9rem;color:var(--ink-2)}.footnotes hr{margin:0 0 1rem;width:6rem}.footnotes.converted{display:none}.sn{counter-increment:sn}.sn-ref,.mn-ref{background:0 0;border:0;padding:0;margin:0 0 0 .08em;cursor:default;color:var(--accent);font-family:var(--sans);font-size:.7em;line-height:0;vertical-align:.55em;font-weight:600}.sn-ref::after{content:counter(sn)}.sidenote,.marginnote{font-family:var(--serif);font-size:.84rem;line-height:1.5;color:var(--ink-2);font-style:normal}.sidenote::before{content:counter(sn)"\2002";font-family:var(--sans);font-size:.78em;font-weight:600;color:var(--accent)}.sidenote p,.marginnote p{display:inline;margin:0}.sidenote img,.marginnote img{margin:.4rem 0}.mn-ref{display:none}@media(min-width:1001px){.article[data-sidenotes] .sidenote,.marginnote{float:right;clear:right;position:relative;width:var(--margin-w);margin:.3rem calc(-1 * (var(--margin-w) + var(--gap)))1rem 0;padding-left:.8rem;border-left:1px solid var(--line)}.article[data-sidenotes] .callout .sidenote,.callout .marginnote{margin-right:calc(-1 * (var(--margin-w) + var(--gap) + 1.15rem + 3px))}.article[data-sidenotes] .sn.hl .sidenote{border-left-color:var(--accent);color:var(--ink)}}@media(max-width:1000px){.sidenote,.marginnote{display:none}.sn-ref,.mn-ref{cursor:pointer;display:inline;padding:.1em .15em}.sn.open .sidenote,.mn.open .marginnote,html:not(.js) .sn:focus-within .sidenote{display:block;margin:.55rem 0 .8rem;padding:.55rem .8rem;background:var(--bg-2);border-left:2px solid var(--accent);border-radius:0 6px 6px 0}}.article:not([data-sidenotes]) .sidenote{display:none}.marginnote .diagram{margin:.2rem 0 .3rem}.callout{--c:var(--accent);--c-soft:var(--accent-soft);margin:1.6rem 0;padding:.85rem 1.15rem .3rem;border-left:3px solid var(--c);background:var(--c-soft);border-radius:0 var(--radius-sm)var(--radius-sm)0}.callout-title{font-family:var(--sans);font-size:.92rem;margin-bottom:.45rem;color:var(--c);line-height:1.4}.callout-label{font-weight:600}.callout-name{font-weight:400;color:var(--ink-2)}.callout-num:not(:empty)::before{content:" "}.callout-num{font-weight:600}.callout-dot{font-weight:600}.callout-icon{display:inline-block;width:1.2em;text-align:center;margin-right:.3rem}.callout-body>:last-child{margin-bottom:.8rem}.callout-body>blockquote{font-style:normal}.callout:target{box-shadow:0 0 0 2px var(--accent-line)}details.callout>summary{cursor:pointer;list-style:none}details.callout>summary::-webkit-details-marker{display:none}details.callout>summary::after{content:"▸";margin-left:.5rem;color:var(--muted);display:inline-block;transition:transform .15s}details.callout[open]>summary::after{transform:rotate(90deg)}details.callout:not([open]){padding-bottom:.4rem}details.callout:not([open])>summary{margin-bottom:0}.cs-theorem{--c:var(--accent);--c-soft:var(--accent-soft)}.cs-definition{--c:var(--accent-3);--c-soft:var(--teal-soft)}.cs-example{--c:var(--accent-2);--c-soft:var(--amber-soft)}.cs-remark{--c:var(--muted);--c-soft:transparent;border-left-width:2px}.cs-remark .callout-label,.cs-proof .callout-label{font-style:italic;font-weight:500}.cs-proof{--c:var(--ink-2);--c-soft:transparent;border-left:0;padding-left:0;padding-right:0;border-radius:0}.cs-proof .callout-title,.cs-proof .callout-dot{display:inline;color:var(--ink);font-family:var(--serif);font-size:1rem}.cs-proof .callout-title{float:left;margin-right:.45rem;margin-bottom:0}.callout[data-qed] .callout-body>:last-child::after{content:"∎";float:right;color:var(--muted);margin-left:1rem}.cs-proof .callout-body>p:first-child{display:block}.cs-note{--c:var(--accent);--c-soft:var(--accent-soft)}.cs-info{--c:var(--accent-3);--c-soft:var(--teal-soft)}.cs-tip{--c:var(--accent-3);--c-soft:var(--teal-soft)}.cs-success{--c:var(--success);--c-soft:color-mix(in srgb, var(--success) 9%, transparent)}.cs-question{--c:var(--accent-2);--c-soft:var(--amber-soft)}.cs-warning{--c:var(--accent-2);--c-soft:var(--amber-soft)}.cs-danger{--c:var(--danger);--c-soft:color-mix(in srgb, var(--danger) 9%, transparent)}.cs-quote{--c:var(--muted);--c-soft:var(--bg-2)}.cs-quote .callout-body{font-style:italic}.prose :not(pre)>code{font-family:var(--mono);font-size:.82em;background:var(--bg-3);border:1px solid var(--line);border-radius:5px;padding:.08em .35em;color:var(--ink-2)}.prose pre,.highlight pre{font-family:var(--mono);font-size:.82rem;line-height:1.6;background:var(--bg-2)!important;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:1rem 1.15rem;overflow-x:auto;margin:0;tab-size:4}.prose pre code{font-family:inherit;background:0 0;border:0;padding:0;font-size:inherit;color:inherit}.prose .highlight,.prose>pre{position:relative;margin:1.4rem 0}.code-lang{position:absolute;top:.45rem;right:3.3rem;font-family:var(--sans);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none}.copy-btn{position:absolute;top:.4rem;right:.45rem;font-family:var(--sans);font-size:.7rem;color:var(--muted);background:var(--bg-raised);border:1px solid var(--line-2);border-radius:6px;padding:.15rem .5rem;cursor:pointer;opacity:0;transition:opacity .15s}.highlight:hover .copy-btn,.prose>pre:hover .copy-btn,.copy-btn:focus{opacity:1}.copy-btn.done{color:var(--success);border-color:var(--success)}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kc{color:var(--c-key);font-weight:500}.chroma .kt,.chroma .nc,.chroma .nn{color:var(--c-type)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss{color:var(--c-str)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .mo,.chroma .il,.chroma .mb{color:var(--c-num)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs,.chroma .ch,.chroma .cp,.chroma .cpf{color:var(--c-com);font-style:italic}.chroma .nf,.chroma .fm,.chroma .nx{color:var(--c-fn)}.chroma .nb,.chroma .bp,.chroma .no{color:var(--c-type)}.chroma .o,.chroma .ow{color:var(--c-op)}.chroma .p{color:var(--c-punc)}.chroma .na,.chroma .nt,.chroma .nd{color:var(--c-key)}.chroma .gd{color:var(--danger)}.chroma .gi{color:var(--success)}.chroma .gh,.chroma .gu{color:var(--accent);font-weight:600}.chroma .err{color:var(--danger)}.chroma .hl{display:block;background:var(--accent-soft)}.chroma .lnt,.chroma .ln{color:var(--muted);margin-right:.8rem;user-select:none}:root{--fs:20px;--lh:1.6;--text-w:38rem}@media(max-width:640px){:root{--fs:18.5px}}body{font-feature-settings:"kern","liga","onum";font-weight:400}.page-meta,.entry-meta,table,.notation,.ch-num,.pal-kind,.series-count,.subject-count,.cv-when{font-feature-settings:"kern","lnum","tnum"}.mainnav a,.tbtn,.brand,.crumbs,.page-meta,.entry-meta,.chip,.badge,.series-who,.series-count,.ch-meta,.toc,.series-nav,.footer-inner,.social a,.pager-dir,.pager-title,.subject-count,.eq-hint,.hero-links a,.res,.filter input,.pal-in input,.pal-title,.pal-kind,.pal-foot,.pal-empty,.cite-as summary,.article-actions,.link-list .muted,.diagram-cap,.prose figcaption,.cv-skills dt,.notation td:last-child,.reading-author,.cite,.ref-key,.rail-title,.group-title,.year,.block-head,.cv-label,.article-footer h2,.eyebrow,.eq-label,.callout-title,.toc-title,.entry-kind,.code-lang,.copy-btn,.subject-tabs a,.pdf-frame figcaption{font-size-adjust:.47}.prose h1,.prose h2,.prose h3,.prose h4,.page-title,.hero-title,.entry-title,.series-title,.subject-title,.project-title,.ch-title,.pager-title,.wl-what{letter-spacing:0;font-weight:500}.hero-title{font-weight:400;line-height:1.05;font-size:clamp(2.5rem,5.6vw,4.1rem)}.page-title{font-weight:400;font-size:clamp(2rem,4.4vw,2.85rem);line-height:1.12}.prose h2{font-size:1.55rem;font-weight:500}.prose h3{font-size:1.22rem;font-style:italic;font-weight:400}.prose h4{font-variant-caps:all-small-caps;letter-spacing:.05em;font-weight:500}.hanchor{color:var(--line-2)}.eyebrow,.eq-label,.block-head h2,.group-title,.year,.rail-title,.toc-title,.cv-label,.article-footer h2,.entry-kind,.pal-kind,.code-lang,.badge{text-transform:none;font-variant-caps:all-small-caps;letter-spacing:.07em;font-weight:500}.eyebrow{color:var(--muted);font-size:1rem}.block-head h2,.group-title,.year,.cv-label,.article-footer h2,.rail-title{font-size:1.02rem;color:var(--muted)}.eq-label{font-size:.98rem;color:var(--muted)}.toc-title{font-size:.95rem}.mainnav a.active{background:0 0;color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);border-radius:0}.mainnav a:hover{background:0 0;color:var(--accent)}.brand .logo,.footer-brand .logo{color:var(--ink)}#progress{background:var(--ink);opacity:.55;height:1.5px}.badge,.badge-draft,.badge-budding,.badge-evergreen,.badge-complete,.badge-active,.badge-ongoing,.badge-reading,.badge-exploratory,.badge-planned,.badge-seedling{color:var(--muted);border-color:var(--line-2);background:0 0;font-size:.86rem;padding:0 .4rem}.badge-draft,.is-draft .page-title::after{color:var(--accent);border-color:var(--accent-line)}.badge span[aria-hidden]{display:none}.chip,.chip-subject,.subject-tabs a{--subject:var(--ink-2);color:var(--muted);background:0 0;border-color:var(--line)}.chip-subject{color:var(--ink-2);font-style:italic}a.chip:hover,.subject-tabs a:hover{color:var(--accent);border-color:var(--accent-line)}.entry-kind,.entry-kind.kind-thoughts,.entry-kind.kind-lectures{color:var(--muted)}.entry-num,.ch-num,.series-code,.project-id,.crumb-here,.wl-when,.cv-list .cv-when,.ref-key{color:var(--muted)}.subject-card{--subject:var(--ink-2)}.subject-card::before{display:none}.subject-symbol{color:var(--ink-2)}.title-symbol{color:var(--muted)}.subject-card,.series-card,.project,.rail-box,.pager a,.res{background:0 0;box-shadow:none}.subject-card:hover,.series-card:hover{box-shadow:none;transform:none;border-color:var(--ink-2)}.progress{height:2px;background:var(--line)}.progress span{background:var(--ink-2)}.worldline::before{background:var(--line-2);opacity:1}.wl-item::before{border-color:var(--ink-2);width:7px;height:7px;left:calc(9.3rem - 3px);top:.65rem}.cv-award{color:var(--muted)}.questions li::before{border-color:var(--line-2);color:var(--muted)}.hero{background:var(--bg)}.hero-links a{background:0 0}.eq-card{background:var(--bg-raised);box-shadow:none}.lightcone .lc-future,.lightcone .lc-past{fill:var(--ink);opacity:.028}.lightcone .lc-edge-f,.lightcone .lc-edge-p{stroke:var(--ink);opacity:.22}.lightcone .lc-worldline{stroke:var(--ink);opacity:.35}.lightcone .lc-event{fill:var(--accent)}.lightcone .lc-pulse{stroke:var(--accent)}.lens path{stroke:var(--ink);stroke-opacity:.14}.lens circle{fill:var(--accent)}.pal-snip mark,.pal-title mark,.prose mark{background:var(--accent-soft);color:var(--ink)}.pal-item.sel{background:var(--bg-2)}.cite{font-size:.95em}.sidenote::before,.sn-ref{color:var(--accent)}.sidenote,.marginnote{font-size:.9rem}.d-fill-1,.d-fill-2{fill:var(--ink);opacity:.05}.d-stroke-1,.d-stroke-2{stroke:var(--ink-2)}.d-dot,.d-dot-2,.d-arrow{fill:var(--ink-2)}.d-c1,.d-c2{fill:var(--ink-2)}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kc{color:var(--ink);font-weight:600}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss{color:var(--accent)}.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .mo,.chroma .il,.chroma .mb,.chroma .kt,.chroma .nc,.chroma .nn,.chroma .nb,.chroma .bp,.chroma .no,.chroma .o,.chroma .ow,.chroma .na,.chroma .nt,.chroma .nd{color:var(--ink-2)}.prose pre,.highlight pre{background:var(--bg-2)!important;border-color:var(--line)}.prose :not(pre)>code{background:var(--bg-2);color:var(--ink)}.callout{--c:var(--ink);--c-soft:transparent}.cs-theorem,.cs-definition,.cs-example,.cs-remark{background:0 0;border-left:0;border-radius:0;padding:0;margin:1.5rem 0}.cs-theorem .callout-title,.cs-definition .callout-title,.cs-example .callout-title,.cs-remark .callout-title{display:inline;float:left;margin:0 .45rem 0 0;font-size:1em;font-size-adjust:none;color:var(--ink)}.cs-theorem .callout-label,.cs-definition .callout-label,.cs-example .callout-label{font-weight:600}.cs-theorem .callout-num,.cs-definition .callout-num,.cs-example .callout-num,.callout-dot{font-weight:600}.callout-name{color:var(--ink);font-weight:400}.cs-theorem .callout-body{font-style:italic}.cs-theorem .callout-body :is(em,i){font-style:normal}.cs-remark .callout-label{font-style:italic;font-weight:400}.cs-theorem .callout-body>p:first-child,.cs-definition .callout-body>p:first-child,.cs-example .callout-body>p:first-child,.cs-remark .callout-body>p:first-child{display:block}.callout:target{box-shadow:none;background:var(--accent-soft)}.cs-proof .callout-title{font-size:1em;font-size-adjust:none}.cs-note,.cs-info,.cs-tip,.cs-success,.cs-question,.cs-warning,.cs-danger,.cs-quote{--c:var(--muted);background:0 0;border-left:1px solid var(--line-2);border-radius:0;padding:.1rem 0 .1rem 1.1rem}.cs-warning,.cs-danger{--c:var(--accent);border-left-color:var(--accent-line)}.cs-note .callout-title,.cs-info .callout-title,.cs-tip .callout-title,.cs-success .callout-title,.cs-question .callout-title,.cs-warning .callout-title,.cs-danger .callout-title,.cs-quote .callout-title{font-variant-caps:all-small-caps;letter-spacing:.06em;font-size:1.02rem;font-weight:500;margin-bottom:.2rem}.callout-icon{display:none}:root[data-theme=dark] .prose pre,:root[data-theme=dark] .highlight pre{background:var(--bg-2)!important}.entry-title{font-size:1.36rem;line-height:1.25}.subject-title,.series-title,.project-title{font-size:1.32rem}.ch-title{font-size:1.18rem}.wl-what{font-size:1.15rem}.entry-summary,.series-desc,.subject-desc,.project-summary,.ch-desc{font-size:1.05rem}.entry-meta{font-size:.86rem}.entry-kind{font-size:.95rem;letter-spacing:.06em}.chip{font-size:.84rem;padding:.02rem .55rem}.badge{font-size:.9rem}.mainnav a{font-size:1.02rem}.page-meta,.crumbs{font-size:.9rem}.series-count,.subject-count,.ch-meta{font-size:.84rem}.toc{font-size:.9rem}.series-nav{font-size:.92rem}mjx-container,mjx-container *{font-variant-caps:normal;text-transform:none;letter-spacing:normal}.wl-who{font-style:italic}.cv-rows .cv-when{font-family:var(--serif);font-size:.9rem;font-feature-settings:"lnum"}.wl-when{font-family:var(--serif);font-size:.9rem;font-feature-settings:"lnum"}:root{--wrap:46rem;--topbar-h:64px}.topbar{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.topbar-inner{max-width:62rem;gap:2rem}.brand{font-family:var(--serif);font-weight:500;font-size:1.22rem;letter-spacing:0;color:var(--ink);font-size-adjust:none}.brand:hover{color:var(--accent)}.mainnav{gap:1.4rem}.mainnav a{padding:.2rem 0;font-size:1.08rem;color:var(--ink-2);font-size-adjust:none}.mainnav a.active{box-shadow:none;color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.tbtn.icon-only{border:0;width:30px}.tbtn.icon-only:hover{background:0 0;color:var(--accent)}@media(max-width:900px){.mainnav a{font-size:1.15rem;padding:.7rem .2rem}}.site-footer{background:0 0;margin-top:5rem}.footer-inner{max-width:62rem;padding:1.6rem 1.25rem 2.4rem;font-family:var(--serif);font-size:.95rem;font-size-adjust:none;align-items:baseline}.footer-copy{margin:0}.footer-nav{gap:.3rem 1.3rem}.footer-nav a,.footer-nav .linklike{color:var(--muted);font-size:.95rem}.footer-nav a:hover,.footer-nav .linklike:hover{color:var(--accent)}.sep{margin:0 .5em;color:var(--line-2)}.home .wrap{max-width:var(--wrap)}.intro{padding-top:4.2rem;padding-bottom:.5rem}.intro.has-photo{display:grid;grid-template-columns:minmax(0,1fr)11.5rem;gap:2.6rem;align-items:start;max-width:52rem}.intro-name{font-family:var(--serif);font-weight:400;font-size:2.45rem;line-height:1.12;letter-spacing:0;margin:0 0 .7rem}.intro-position{margin:0 0 .9rem;color:var(--ink-2);line-height:1.5}.intro-photo{width:100%;height:auto;border-radius:2px;display:block;margin-top:.4rem;filter:saturate(.92)}.intro-bio{margin-top:1.6rem}.intro-bio p{margin:0 0 1rem}.contact{margin:0;font-size:1rem}.contact a{white-space:nowrap}@media(max-width:700px){.intro.has-photo{grid-template-columns:1fr;gap:1.4rem}.intro-photo{max-width:9.5rem;order:-1;margin:0}.intro-name{font-size:2.05rem}}.block{padding-top:2.6rem}.block-title{font-family:var(--serif);font-weight:500;font-size:1.32rem;margin:0 0 .9rem;padding-top:1.4rem;border-top:1px solid var(--line);font-variant-caps:normal;letter-spacing:0;color:var(--ink);font-size-adjust:none}.block-more{margin:.9rem 0 0;font-size:.98rem}.plain-entries{list-style:none;margin:0;padding:0}.row{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:.2rem 1.5rem;padding:.42rem 0;align-items:baseline}.row[hidden]{display:none}.row-main a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;text-decoration-thickness:1px}.row-main a:hover{color:var(--accent);text-decoration-color:var(--accent-line)}.row-desc{display:block;color:var(--muted);font-size:.96rem;line-height:1.45;margin-top:.1rem}.row-desc p{display:inline;margin:0}.row-meta{color:var(--muted);font-size:.92rem;white-space:nowrap;font-feature-settings:"lnum"}.empty{color:var(--muted);font-style:italic;list-style:none}.draft-mark{font-variant-caps:all-small-caps;letter-spacing:.06em;font-size:.9rem;color:var(--accent);font-weight:400;font-style:normal}@media(max-width:560px){.row{grid-template-columns:1fr;gap:0}}.list-shell{padding-top:3.2rem}.list-shell.narrow,.list-shell{max-width:var(--wrap)}.list-shell.with-rail{max-width:62rem}.list-header{margin-bottom:1.6rem}.page-title{font-weight:400;font-size:clamp(1.9rem,4vw,2.35rem)}.page-subtitle{font-style:normal;color:var(--ink-2);font-size:1.08rem}.group-title,.year,.cv-label{font-variant-caps:normal;letter-spacing:0;text-transform:none;font-weight:500;font-size:1.22rem;color:var(--ink);border-bottom:0;border-top:1px solid var(--line);padding:1.3rem 0 0;margin:2.2rem 0 .7rem;font-size-adjust:none}.subject-group:first-of-type .group-title{margin-top:1.2rem}.subject-tabs{gap:1.1rem;margin-bottom:1rem}.subject-tabs a{border:0;padding:0;background:0 0;font-size:1.02rem;color:var(--accent)}.filter{border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:0;background:0 0;max-width:20rem}.filter .icon{display:none}.filter input{font-family:var(--serif);font-size:1rem;height:2.2rem}.list-rail .rail-box{border:0;padding:0;background:0 0}.list-rail .rail-title{font-variant-caps:normal;letter-spacing:0;font-size:1.05rem;color:var(--ink);font-size-adjust:none;border-top:1px solid var(--line);padding-top:1rem}.crumbs{font-size:.95rem;gap:0}.crumbs .sep{margin:0 .45em}.page-meta{font-size:.98rem;gap:0;color:var(--muted);font-feature-settings:"lnum"}.page-meta a{color:var(--muted)}.page-meta a:hover{color:var(--accent)}.page-header{margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.article-footer{border-top:1px solid var(--line);gap:1.4rem}.article-footer h2{font-variant-caps:normal;letter-spacing:0;font-size:1.1rem;color:var(--ink);font-size-adjust:none}.article-tags{margin:0;color:var(--muted);font-size:.98rem}.article-tags a{color:var(--muted)}.pager a{border:0;padding:0;background:0 0}.pager-dir{font-size:.92rem}.pager-title{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--accent)}.toc-title{font-variant-caps:normal;letter-spacing:0;font-size:1rem;color:var(--ink)}.chapters{border-top:0;margin-top:.4rem}.chapter{grid-template-columns:2.6rem minmax(0,1fr)auto;padding:.45rem 0;border-bottom:0;gap:.8rem}.ch-num{font-family:var(--serif);color:var(--muted);font-size:1rem}.ch-main a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.ch-main a:hover{color:var(--accent)}.ch-meta{font-family:var(--serif);font-size:.92rem;font-size-adjust:none}.chapter.is-planned .ch-main{color:var(--muted)}.chapter.is-planned .ch-main p{display:inline;margin:0}.series-nav-title{font-weight:500}.resources{margin:0 0 1.8rem}.res{border:0;padding:0;background:0 0;color:var(--accent)}.res span[aria-hidden]{display:none}.projects{display:grid;gap:1.3rem}.project{display:block;border:0;padding:0;margin:0;background:0 0}.project-title{font-family:var(--serif);font-weight:500;font-size:1.12rem;margin:0 0 .15rem;font-size-adjust:none}.project-title a{color:var(--ink)}.project-meta{margin:0 0 .3rem;color:var(--muted);font-size:.97rem;font-style:italic}.project-summary{margin:0;color:var(--ink-2)}.pubs{padding-left:1.4rem;margin:0;display:grid;gap:.55rem}.pub-title{font-style:italic}.cv .contact{margin-top:.3rem}.cv-section{margin-top:0}.cv-rows{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.cv-rows>li{display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:1.4rem;line-height:1.5}.cv-rows .cv-when{font-family:var(--serif);font-size:.98rem;color:var(--muted);text-align:left;padding-top:0;font-feature-settings:"lnum"}.cv-entries{gap:1rem}.cv-what{font-weight:500}.cv-what p{margin:0}.cv-where{color:var(--ink-2)}.cv-who{color:var(--ink-2);font-style:italic}.cv-detail{margin:.15rem 0 0;color:var(--ink-2)}.cv-detail p{margin:0}@media(max-width:560px){.cv-rows>li{grid-template-columns:1fr;gap:0}}.cs-theorem .callout-title,.cs-definition .callout-title,.cs-example .callout-title,.cs-remark .callout-title,.cs-proof .callout-title{white-space:nowrap;max-width:100%}.toc{border:0!important;background:0 0!important;padding:0!important}.toc-title::before{content:none!important}.toc-title{color:var(--accent);cursor:pointer}:root[data-theme=light] .i-sun-btn,:root[data-theme=dark] .i-moon-btn{display:none}.theme-toggle .icon{width:17px;height:17px}.intro-name,.page-title,.hero-title,.prose h1,.prose h2,.block-title,.group-title,.cv-label{font-family:var(--display,var(--serif))}.intro-name,.page-title,.hero-title,.prose h1,.prose h2{font-family:var(--display,var(--serif))}.prose h3,.block-title,.group-title,.cv-label,.project-title,.brand,.article-footer h2{font-family:var(--subhead,var(--serif))}.prose h2,.prose h3,.block-title,.group-title,.cv-label,.project-title,.brand,.cv-what,.article-footer h2{font-weight:400}.cs-theorem .callout-label,.cs-definition .callout-label,.cs-example .callout-label,.callout-num,.callout-dot,.prose strong{font-weight:700}@media(max-width:640px){body{font-size:calc(var(--fs) * .93)}}.callout-num,a.xref,.ch-num,.crumbs{font-variant-numeric:lining-nums}.fonts-compare{max-width:92rem}.font-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(30rem,1fr));gap:3rem 3.5rem}.font-panel{font-family:var(--serif);font-size:var(--fs);border-top:1px solid var(--line-2);padding-top:1rem;min-width:0}.font-panel.is-current{border-top:2px solid var(--accent)}.font-panel .page-title{font-size:2rem;margin:.6rem 0 .3rem}.font-panel .page-meta{margin-bottom:1rem}.font-label{font-family:var(--mono);font-size:.8rem;color:var(--muted);margin:0}.font-label code{font-size:inherit}@media(max-width:640px){.font-grid{grid-template-columns:1fr}}.banner{position:relative;overflow:hidden;background:#050505;color:#f1ede4;min-height:clamp(320px,58vh,600px);display:flex;align-items:flex-end;isolation:isolate}.banner-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-2}.banner-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgba(5,5,5,.88) 0%,rgba(5,5,5,.7) 32%,rgba(5,5,5,.25) 62%,rgba(5,5,5,5%) 100%),linear-gradient(to top,rgba(5,5,5,.55) 0%,rgba(5,5,5,0) 45%)}.banner-inner{width:100%;max-width:62rem;margin:0 auto;padding:4rem 1.25rem 3.2rem}.banner .intro-name{color:#f6f2ea;font-size:clamp(2.3rem,5vw,3.2rem);margin-bottom:.6rem;text-shadow:0 1px 24px rgba(0,0,0,.5)}.banner .intro-position{color:rgba(241,237,228,.86);max-width:30rem}.banner .contact a{color:#f1ede4;text-decoration:underline;text-decoration-color:rgba(241,237,228,.4);text-underline-offset:3px}.banner .contact a:hover{text-decoration-color:#f1ede4}.banner .contact .sep{color:rgba(241,237,228,.45)}.banner-credit{position:absolute;right:1.25rem;bottom:.8rem;margin:0;max-width:22rem;text-align:right;font-size:.82rem;font-style:italic;color:rgba(241,237,228,.62);line-height:1.35}.banner-credit a{color:inherit}.banner+.intro{padding-top:2.6rem}.banner+.intro .intro-bio{margin-top:0}@media(max-width:700px){.banner{min-height:22rem}.banner-media{object-position:55% 40%}.banner-shade{background:linear-gradient(to top,rgba(5,5,5,.9) 0%,rgba(5,5,5,.6) 50%,rgba(5,5,5,.25) 100%)}.banner-inner{padding:3rem 1rem 3.6rem}.banner-credit{left:1rem;right:1rem;text-align:left;max-width:none;font-size:.78rem}}@media print{.banner-media,.banner-shade,.banner-credit{display:none}.banner{background:0 0;color:inherit;min-height:0}}.now-page .page-meta{margin:0 0 .6rem}.now-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}.now-list li::marker{color:var(--muted)}.now-list a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.now-list a:hover{color:var(--accent)}.now-list p{display:inline;margin:0}.book-title{font-style:italic}.book-author{color:var(--ink-2)}.now-reading{margin:.8rem 0 0;color:var(--ink-2)}.travel{max-width:74rem;padding-left:1.25rem;padding-right:1.25rem;margin:0 auto}.travel-head{max-width:var(--wrap)}.travel-map{height:clamp(260px,42vh,440px);border:1px solid var(--line);margin:0 0 2.4rem;background:var(--bg-2);z-index:0}.travel-map .leaflet-popup-content{font-family:var(--serif);font-size:.95rem;line-height:1.4}.travel-map .leaflet-popup-content a{color:var(--accent)}.travel-map .leaflet-control-attribution{font-family:var(--serif);font-size:.72rem}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:2rem 1.6rem}.trip-card{display:flex;flex-direction:column;gap:.6rem;color:var(--ink);text-decoration:none}.trip-card img,.trip-card-blank{display:block;width:100%;height:auto;aspect-ratio:10/7;object-fit:cover;background:var(--bg-2)}.trip-card img{transition:opacity .2s}.trip-card:hover{text-decoration:none}.trip-card:hover img{opacity:.88}.trip-card-title{display:block;font-family:var(--subhead,var(--serif));font-size:1.18rem;line-height:1.3;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.trip-card:hover .trip-card-title{color:var(--accent);text-decoration-color:var(--accent-line)}.trip-card-meta{display:block;color:var(--muted);font-size:.95rem;margin-top:.1rem}.trip-hero{position:relative;color:#f4f0e8;min-height:clamp(300px,52vh,560px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#111}.trip-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.trip-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.25) 45%,transparent 75%)}.trip-hero-inner{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.25rem 2rem}.trip-hero .page-title{color:#faf6ee;margin:.2rem 0 .3rem;text-shadow:0 1px 18px rgba(0,0,0,.45)}.trip-hero .page-meta,.trip-hero .crumbs,.trip-hero .crumbs a{color:rgba(244,240,232,.85)}.trip-hero .sep{color:rgba(244,240,232,.5)}.trip-plain-header{padding-bottom:0}.trip-body{padding-top:2.2rem}.trip-body .page-subtitle{margin-bottom:1.4rem}.trip-gallery{max-width:74rem;margin:2.4rem auto 0;padding:0 1.25rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.9rem}.gallery-grid .ph{margin:0}.gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;background:var(--bg-2);transition:opacity .2s}.gallery-grid a:hover img{opacity:.9}.gallery-grid figcaption{font-size:.9rem;color:var(--muted);margin-top:.35rem;line-height:1.4}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,8,8,.94);display:grid;grid-template-columns:4rem minmax(0,1fr)4rem;align-items:center}.lightbox[hidden]{display:none}.lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.7rem;max-height:100vh;padding:3rem 0 2.5rem}.lb-img{max-width:100%;max-height:calc(100vh - 8rem);object-fit:contain}.lb-cap{color:#e8e3d9;font-family:var(--serif);font-size:1rem;text-align:center;max-width:46rem}.lb-count{position:absolute;left:0;right:0;bottom:.8rem;margin:0;text-align:center;color:rgba(232,227,217,.6);font-size:.85rem;font-feature-settings:"lnum"}.lightbox button{background:0 0;border:0;color:#e8e3d9;font-size:2.6rem;line-height:1;cursor:pointer;padding:.5rem;opacity:.75}.lightbox button:hover,.lightbox button:focus-visible{opacity:1}.lb-close{position:absolute;top:.6rem;right:1rem;font-size:2.2rem!important}.lb-prev{justify-self:center}.lb-next{justify-self:center}@media(max-width:640px){.lightbox{grid-template-columns:2.6rem minmax(0,1fr)2.6rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.trip-grid{grid-template-columns:1fr}}@media print{.travel-map,.lightbox{display:none!important}}.travel-map .leaflet-tile-pane{filter:grayscale(1)contrast(.92)brightness(1.04)}:root[data-theme=dark] .travel-map .leaflet-tile-pane{filter:grayscale(1)invert(1)brightness(.82)contrast(.9)}.travel-map.leaflet-container{background:var(--bg-2);font-family:var(--serif)}.trip-card-blank{aspect-ratio:10/7}.trip-card:not(:has(img)){border-top:1px solid var(--line);padding-top:.8rem}.intro-native,.native-name{font-family:noto serif malayalam,var(--serif);font-weight:400;font-size-adjust:none;letter-spacing:0}.intro-native{font-size:1.32rem;line-height:1.5;color:var(--ink-2);margin:-.35rem 0 .9rem}.banner .intro-native{color:rgba(241,237,228,.9);text-shadow:0 1px 18px rgba(0,0,0,.5)}.native-name{font-size:.92em}@media print{:root{--bg:#fff;--bg-2:#f6f6f6;--bg-3:#eee;--bg-raised:#fff;--ink:#000;--ink-2:#222;--muted:#555;--line:#ddd;--line-2:#bbb}body{font-size:11pt;background:#fff}main{padding-top:0}.topbar,.site-footer,.article-left,.article-right,.article-actions,.pager,.comments,.cite-as,.hanchor,.copy-btn,.code-lang,#progress,.palette,.scrim,.resources,.related,.backlinks,.filter{display:none!important}.article-shell{display:block;padding:0}.article{max-width:none}a{color:#000}.prose a.ext::after{content:" (" attr(href)")";font-size:.8em}.sidenote,.marginnote{display:block!important;float:none!important;width:auto!important;margin:.3rem 0 .6rem 1.5rem!important;font-size:9pt;border-left:1px solid #bbb;padding-left:.5rem}.callout,pre,figure,table,mjx-container[display=true]{break-inside:avoid}h2,h3{break-after:avoid}}