:root{color-scheme:light;--bg:#fff;--fg:#283c33;--muted:#627569;--accent:#507963;--soft-accent:#719780;--line:#dbe8df;--panel:#f7fbf8;--header-height:92px;color:var(--fg);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{isolation:isolate;min-width:320px;min-height:100svh;margin:0;font-size:15px;line-height:1.7;position:relative}body,h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}::selection{color:#244332;background:#dcefe2}[hidden]{display:none!important}main,.site-footer{z-index:1;position:relative}.container,.header-inner,.footer-inner{width:min(1120px,100% - 88px);margin-inline:auto}.mono{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:400;line-height:1.6}.eyebrow{text-transform:uppercase;color:var(--muted)}.arrow{font:400 21px/1 Georgia,Times New Roman,serif}.skip-link{z-index:10;background:#fff;padding:10px 16px;position:absolute;top:15px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#fffffff0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:25px;min-height:92px;display:flex}.brand{letter-spacing:-.8px;white-space:nowrap;align-items:center;gap:11px;font-size:23px;display:inline-flex}.brand-mark{color:var(--accent);font:400 38px/1 Georgia,Times New Roman,serif}.site-nav{align-items:center;gap:30px;display:flex}.site-nav a{color:var(--muted);align-content:center;min-height:44px;padding:4px 0;font-size:13px;display:grid;position:relative}.site-nav a:after{content:"";background:var(--accent);opacity:0;width:14px;height:1px;position:absolute;bottom:7px}.site-nav a[aria-current]{color:var(--fg)}.site-nav a[aria-current]:after{opacity:1}.geometry-field{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:clip}.geometry-atmosphere{background:radial-gradient(at 86% 12%,#e8f6ee99,#0000 35%),radial-gradient(at 8% 52%,#e7f4ef66,#0000 32%),radial-gradient(at 86% 84%,#edf6e877,#0000 34%);position:absolute;inset:0}#geometry-canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.geometry-veil{background:linear-gradient(90deg,#fffb,#fff4 40%,#fff0 76%);height:100svh;position:absolute;inset:0 0 auto}.hero{min-height:calc(100svh - var(--header-height));min-height:max(580px, calc(100svh - var(--header-height)));flex-direction:column;justify-content:center;padding-block:90px 170px;display:flex;position:relative}.hero-title{letter-spacing:-.045em;font:400 clamp(72px,8.6vw,120px)/.98 Georgia,Times New Roman,serif}.hero-title em{color:var(--soft-accent)}.hero-bottom{justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute;bottom:36px;left:0;right:0}.scroll-cue{color:var(--muted);align-items:center;gap:20px;min-height:44px;display:inline-flex}.scroll-cue span{color:var(--accent);font-size:22px}.field-coordinate{color:#637b6b}.content-section{border-top:1px solid var(--line);padding:108px 0 100px}.content-heading{grid-template-columns:1fr 1.2fr;align-items:start;gap:72px;display:grid}.content-kicker{color:var(--muted);margin-bottom:24px;display:block}.section-title{letter-spacing:-1.4px;font:400 clamp(35px,4.1vw,49px)/1.16 Georgia,Times New Roman,serif}.section-title em{color:var(--accent)}.section-description{max-width:345px;color:var(--muted);margin-top:23px;font-size:14px;line-height:1.9}.section-title,.section-description,.content-kicker,.note-link h3,.note-link p,.text-link,.page-heading{text-shadow:0 0 6px #fff,0 0 18px #fff,0 0 28px #fff}.text-link{border-bottom:1px solid var(--accent);align-items:center;gap:26px;min-height:44px;padding-block:8px;font-size:13px;display:inline-flex}.text-link .arrow{transition:transform .2s}.text-link:hover .arrow{transform:translate(3px,-3px)}.lecture-preview>.text-link{margin-top:23px}.note-list{margin:0;padding:0;list-style:none}.note-link{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:13px;width:100%;padding:26px 0;display:grid}.note-number{color:var(--muted);align-self:start;padding-top:3px}.note-link h3{margin-bottom:7px;font-size:18px;line-height:1.4}.note-link p{color:var(--muted);font-size:12px}.note-link .arrow{color:var(--muted);transition:transform .2s}.note-link:hover .arrow{transform:translate(3px,-3px)}.empty-state{border:1px solid var(--line);background:#ffffffcf;padding:31px}.empty-state h3{letter-spacing:-.5px;margin-top:22px;font:400 26px/1.3 Georgia,Times New Roman,serif}.empty-state>p{color:var(--muted);max-width:470px;margin-top:15px;font-size:14px;line-height:1.85}.empty-status{color:var(--accent);letter-spacing:.05em;align-items:center;gap:9px;margin-top:25px;display:flex}.empty-status>span{background:#8bb89c;border-radius:50%;width:5px;height:5px}.empty-state--compact{text-shadow:0 0 10px #fff,0 0 24px #fff;background:0 0;border:0;padding:0}.project-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:42px;display:grid}.project-card{border:1px solid var(--line);background:#ffffffc7;flex-direction:column;min-width:0;padding:30px;transition:border-color .2s;display:flex}.project-card:hover{border-color:#9bbda9}.project-card h3{letter-spacing:-.4px;margin:20px 0 10px;font-size:22px;line-height:1.4}.project-card>p{color:var(--muted);margin-bottom:28px;font-size:14px;line-height:1.8}.project-tail{color:var(--accent);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;display:flex}.project-empty{grid-template-columns:1.45fr 1fr;align-items:end;gap:56px;margin-top:42px;display:grid}.project-empty>.text-link{justify-self:start}.section-link{margin-top:36px}.formula-strip{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding:40px 0;display:flex}.formula{color:var(--accent);font:italic 400 27px/1.3 Georgia,Times New Roman,serif}.site-footer{border-top:1px solid var(--line);background:#ffffffdf}.footer-inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;display:flex}.footer-links{gap:25px;font-size:12px;display:flex}.footer-links a,.footer-signature{align-items:center;min-height:44px;display:inline-flex}.motion-toggle{min-height:44px;color:var(--muted);align-items:center;gap:9px;padding:0;font-size:12px;display:inline-flex}.motion-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.motion-toggle[aria-pressed=false] .motion-dot{background:#a9b7ad}.index-shell,.article-shell{min-height:calc(100svh - var(--header-height) - 93px);padding-block:88px 100px}.page-heading{max-width:760px;margin-bottom:55px}.page-title{letter-spacing:-.035em;overflow-wrap:anywhere;margin-top:24px;font:400 clamp(42px,5.5vw,70px)/1.1 Georgia,Times New Roman,serif}.page-title em{color:var(--accent)}.page-intro{color:var(--muted);max-width:560px;margin-top:27px;line-height:1.9}.index-empty{max-width:650px}.series-grid{grid-template-columns:1fr 1fr;gap:55px;display:grid}.series-block{background:#ffffffb3;min-width:0}.series-block>h2{margin-bottom:15px;font:400 28px/1.25 Georgia,serif}.inner-page .geometry-field{opacity:.65}.reading-page .geometry-field{opacity:.22}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.breadcrumbs a{text-underline-offset:4px;text-decoration:underline}.article-header{max-width:850px}.article-description{max-width:650px;color:var(--muted);margin-top:25px;font-size:16px;line-height:1.9}.article-tags{color:var(--accent);text-transform:uppercase;margin-top:20px}.article-actions{flex-wrap:wrap;gap:30px;margin-top:20px;display:flex}.article-actions:empty{display:none}.article-grid{border-top:1px solid var(--line);grid-template-columns:180px minmax(0,760px);gap:60px;margin-top:45px;padding-top:40px;display:grid}.article-grid--no-toc{grid-template-columns:minmax(0,760px)}.table-of-contents{top:calc(var(--header-height) + 28px);align-self:start;font-size:12px;position:sticky}.table-of-contents p{margin-bottom:20px}.table-of-contents ul{margin:0;padding:0;list-style:none}.table-of-contents a{color:var(--muted);overflow-wrap:anywhere;padding-block:8px;display:block}.table-of-contents .nested{padding-left:12px}.prose{overflow-wrap:break-word;min-width:0;font-size:16px;line-height:1.95}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.7px;margin:48px 0 22px;font:400 34px/1.25 Georgia,Times New Roman,serif}.prose h3{margin:35px 0 18px;font-size:22px;line-height:1.4}.prose p,.prose ul,.prose ol,.prose blockquote{margin-bottom:25px}.prose p,.prose li{color:#40594a}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose img{max-width:100%;height:auto;display:block}.prose pre{border:1px solid var(--line);border-radius:3px;max-width:100%;padding:24px;font-size:13px;line-height:1.8;overflow-x:auto}.prose :not(pre)>code{background:#edf5ef;border-radius:3px;padding:2px 5px;font-size:.9em}.prose blockquote{border-left:2px solid #8bb89c;margin-left:0;padding:8px 0 8px 24px}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;max-width:100%;font-size:14px;display:block;overflow-x:auto}.prose td,.prose th{border-bottom:1px solid var(--line);text-align:left;padding:12px 18px}.prose .katex-display{padding:20px 4px;font-size:1em;overflow:auto hidden}.article-end{border-top:1px solid var(--line);margin-top:65px;padding-top:28px}.about-copy{max-width:680px}.inline-mark{color:var(--accent);font:400 29px/1 Georgia,serif}body[data-motion=playing] .will-reveal:not(.is-visible){opacity:0;transform:translateY(20px)}.will-reveal{transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}@media (width<=800px){.container,.header-inner,.footer-inner{width:calc(100% - 50px)}.content-heading{grid-template-columns:1fr;gap:38px}.content-section{padding-block:75px}.section-description{max-width:480px}.project-empty{grid-template-columns:1fr;gap:24px}.series-grid{grid-template-columns:1fr}.article-grid{grid-template-columns:minmax(0,1fr)}.table-of-contents{border-bottom:1px solid var(--line);padding-bottom:25px;position:static}.table-of-contents ul{flex-wrap:wrap;gap:5px 20px;display:flex}.table-of-contents .nested{padding-left:0}.article-shell,.index-shell{padding-block:65px 80px}}@media (width<=520px){.container,.header-inner,.footer-inner{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:8px;min-height:0;padding-block:19px 10px}.brand{font-size:21px}.brand-mark{font-size:36px}.site-nav{gap:28px;width:100%}.site-nav a{font-size:12px}.hero{min-height:calc(100svh - var(--header-height));padding-block:65px 185px}.hero-title{font-size:clamp(61px,18vw,84px)}.hero-bottom{flex-wrap:wrap;gap:8px;bottom:25px}.field-coordinate{width:100%;font-size:10px}.geometry-veil{background:linear-gradient(90deg,#fff9,#fff0 95%)}.content-section{padding-block:65px}.section-title{font-size:36px}.section-description{font-size:14px}.content-heading{gap:35px}.empty-state{padding:25px}.empty-state--compact{padding:0}.empty-state h3{font-size:24px}.project-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}.project-card{padding:26px}.project-card h3{font-size:21px}.note-link{grid-template-columns:25px minmax(0,1fr) 17px;gap:10px}.note-link h3{font-size:17px}.note-link p{font-size:11px}.formula-strip{flex-direction:column;align-items:flex-start;gap:18px}.formula-strip .mono{letter-spacing:.05em;font-size:10px}.footer-inner{gap:10px 24px}.footer-signature{width:100%}.footer-links{gap:20px;font-size:11px}.motion-toggle{margin-left:auto;font-size:11px}.article-shell,.index-shell{padding-block:50px 65px}.page-heading{margin-bottom:40px}.page-title{font-size:43px}.page-intro,.article-description{font-size:14px}.prose{font-size:15px}.prose h2{font-size:28px}.prose pre{padding:17px;font-size:12px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}body[data-motion=playing] .will-reveal:not(.is-visible){opacity:1;transform:none}}
