
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink,#252a29);font-family:Georgia,'Times New Roman',serif;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.sans,nav,.eyebrow,.meta,.legend,figcaption,label,footer,.demo,.toc{font-family:Arial,sans-serif}.demo{background:var(--accent);color:var(--badge,#fff);font-size:11px;letter-spacing:.08em;padding:8px 4vw;display:flex;justify-content:space-between;gap:15px}.demo a{white-space:nowrap}.shell{max-width:1120px;margin:auto;padding:0 54px}header{display:flex;justify-content:space-between;align-items:center;padding:31px 0;border-bottom:1px solid var(--line,#dcded7)}.brand{text-decoration:none;font-size:21px;font-weight:bold}nav{display:flex;gap:25px;font-size:12px}nav a{text-decoration:none}.hero{padding:52px 0 38px;max-width:850px}.eyebrow{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:700}h1{font-weight:400;font-size:clamp(34px,4.5vw,58px);line-height:1.1;letter-spacing:-.04em;margin:14px 0 18px}.intro{font-size:17px;max-width:570px;color:var(--muted,#616966);margin:0}.body-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:65px;border-top:1px solid var(--line,#dcded7);padding-top:32px}.meta{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#616966)}h2{font-size:29px;line-height:1.22;font-weight:400;letter-spacing:-.025em;margin:12px 0 18px}h3{font-size:21px;font-weight:400;margin:30px 0 8px}p{margin:12px 0;font-size:16px}.equation{padding:21px 15px;margin:24px 0;text-align:center;background:var(--panel,#eeefe9);border-left:2px solid var(--accent);overflow:auto}math{font-size:22px}.plot{margin:25px 0 12px;padding:22px;background:var(--chart,#fff);border:1px solid var(--line,#dcded7);border-radius:3px}.plot-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.legend{display:flex;gap:17px;font-size:10px;color:var(--muted,#616966)}.legend span:before{content:'';display:inline-block;width:18px;border-top:2px solid var(--accent);vertical-align:middle;margin-right:6px}.legend span:last-child:before{border-color:var(--curve,#b47851);border-top-style:dashed}svg{display:block;width:100%;height:auto}svg text{font-family:Arial,sans-serif;font-size:10px;fill:var(--muted,#616966)}.controls{border-top:1px solid var(--line,#dcded7);padding-top:13px;display:flex;gap:16px;align-items:center}label{font-size:11px;white-space:nowrap}input{accent-color:var(--accent);width:100%;min-width:40px}output{font-family:Arial,sans-serif;font-size:11px;font-weight:bold;white-space:nowrap}figcaption{font-size:11px;color:var(--muted,#616966);margin-top:14px;line-height:1.5}.toc{font-size:12px;padding-top:3px}.toc .eyebrow{margin-bottom:18px}.toc a{display:block;text-decoration:none;margin:14px 0;color:var(--muted,#616966)}.note{border-top:1px solid var(--line,#dcded7);padding-top:16px;margin-top:29px;color:var(--muted,#616966);font-size:12px}.archive{margin-top:48px;padding-top:25px;border-top:1px solid var(--line,#dcded7)}.archive-item{padding:17px 0;border-bottom:1px solid var(--line,#dcded7)}.archive-item a{text-decoration:none;font-size:20px}.archive-item p{font-size:13px;color:var(--muted,#616966);margin:3px 0}.archive-item .meta{font-size:9px}.about{padding:30px 0 5px}footer{margin-top:50px;border-top:1px solid var(--line,#dcded7);padding:25px 0;font-size:11px;display:flex;justify-content:space-between;color:var(--muted,#616966)}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:45px;background:var(--bg);padding:10px;z-index:10}.author-side{display:none}

:root{--bg:#f8f7f2;--accent:#244d48;--curve:#b47851;--line:#dcded7;--muted:#616966;--panel:#eeefe9} .brand span{color:var(--accent)}.hero{padding:58px 0 42px}.post-header{padding:36px 0}.post-header h1{max-width:850px;font-size:49px;margin-top:20px}.back{font:12px Arial,sans-serif;display:inline-block;margin-bottom:30px;text-decoration:none}.post-card{padding:0 0 34px;margin-bottom:30px;border-bottom:1px solid var(--line)}.post-card h2{font-size:31px}.post-card h2 a{text-decoration:none}.post-card p{color:var(--muted);max-width:640px}.read-link{display:inline-block;font:12px Arial,sans-serif;margin-top:12px}.prose{min-width:0}.prose h2{font-size:27px;margin-top:36px;scroll-margin-top:25px}.prose h3{scroll-margin-top:25px}.prose p{line-height:1.85}.prose img{max-width:100%;height:auto;display:block;margin:25px auto}.prose pre{background:var(--panel);padding:20px;overflow:auto;line-height:1.6;font-size:13px;border-radius:3px}.prose code{font-family:monospace;font-size:.9em}.prose :not(pre)>code{background:var(--panel);padding:2px 4px}.prose blockquote{border-left:2px solid var(--accent);margin:22px 0;padding:0 18px;color:var(--muted)}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.prose th,.prose td{padding:9px 14px;border:1px solid var(--line)}.prose eqn{display:block;background:var(--panel);padding:18px 12px;margin:25px 0;overflow-x:auto;border-left:2px solid var(--accent)}.katex-display{margin:.5em 0!important;overflow-x:auto;overflow-y:hidden;padding:3px 0}.katex{font-size:1.12em!important}.toc p{font:13px/1.7 Arial,sans-serif;color:var(--muted)}.contents{display:block}.contents a{font-size:12px}.post-end{margin-top:45px;padding-top:24px;border-top:1px solid var(--line);font:12px Arial,sans-serif}.narrow{max-width:700px}.preview-banner{background:var(--accent);color:white;text-align:center;font:11px/1.5 Arial,sans-serif;padding:9px 20px}.draft{color:#965532;font-weight:bold}.toc a:hover,.post-card a:hover{color:var(--accent);text-decoration:underline}.plot-noscript{color:var(--muted);font-size:12px}.plot-controls[hidden]{display:none}
@media(max-width:720px){.shell{padding:0 22px}header{padding:23px 0}.brand{font-size:17px}nav{gap:16px}.body-grid{display:block}.toc{display:none}.hero{padding:38px 0 30px}.post-header h1{font-size:36px}.post-card h2{font-size:27px}.plot{padding:12px}.plot-top{align-items:start;flex-direction:column}.controls{gap:8px}.intro{font-size:16px}.prose p{font-size:16px}.legend{font-size:9px}footer{gap:15px}}
[hidden]{display:none!important}.controls label{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.controls label input{flex:1;width:auto}.controls output{min-width:35px}@media(max-width:720px){.controls label{gap:10px}}
