:root{color-scheme:light;--paper:#f7f5ef;--ink:#292b28;--muted:#6a6b61;--line:#d9d8ce;--accent:#744436}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Georgia,'Times New Roman',serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.shell{max-width:1040px;padding:0 48px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.brand{text-decoration:none;font-weight:600}.nav{display:flex;gap:26px}.nav a{text-decoration:none}.intro{padding:44px 0 36px;max-width:760px}.eyebrow,.label,.meta,.number,footer,.tag{font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}.eyebrow,.label{color:var(--muted)}h1{font-size:clamp(27px,3.2vw,34px);line-height:1.3;font-weight:400;letter-spacing:-.015em;margin:16px 0 20px}h1 em{font-weight:400;font-style:normal}.intro p{max-width:615px;font-size:17px;line-height:1.7}.muted{color:var(--muted)}.section{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);padding:24px 0 30px;gap:30px}.label{margin:4px 0}.section h2{font-size:21px;font-weight:400;line-height:1.3;margin:0 0 13px}.section p{margin:0 0 16px}.entry-title a{text-decoration:none}.entry-title a:hover{text-decoration:underline}.meta{color:var(--muted);margin-bottom:15px}.tag{padding:0;display:inline-block;color:var(--muted);margin-right:14px}.topics{list-style:none;margin:0;padding:0}.topics li{display:grid;grid-template-columns:35px 1fr;border-bottom:1px dotted var(--line);padding:10px 0}.topics li:first-child{padding-top:0}.topics li:last-child{border:0}.number{color:var(--accent);padding-top:5px}.topics strong{font-weight:400}.topics small{display:block;color:var(--muted);font-size:16px}.newsletter{background:#eeeee5;padding:25px 28px}.newsletter h2{font-size:20px}.newsletter p{font-size:16px}.signup{display:flex;gap:10px;margin:20px 0 10px}input{min-width:0;flex:1;padding:11px;background:var(--paper);border:1px solid #c9cabe;font:14px Georgia,serif}button{border:1px solid #9b9d8b;background:#dfe1d4;color:#595c4f;padding:10px 15px;font:12px ui-monospace,monospace}.note{font:12px/1.6 ui-monospace,monospace;color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 0 36px;display:flex;justify-content:space-between;color:var(--muted);letter-spacing:0}.skip{position:absolute;left:15px;top:-80px;background:var(--paper);padding:10px}.skip:focus{top:10px}.article{max-width:680px;margin:42px auto 60px}.article h1{font-size:clamp(27px,3.2vw,34px)}.article h2{font-size:23px;font-weight:400;line-height:1.3;margin:40px 0 15px}.article p{margin:0 0 22px}.article li{margin-bottom:9px}.article .back{font:12px ui-monospace,monospace}.article .draft{font:12px/1.7 ui-monospace,monospace;color:var(--muted);border-left:2px solid var(--line);padding-left:15px;margin:24px 0 35px}@media(max-width:650px){.shell{padding:0 23px}.masthead{align-items:flex-start;gap:20px}.nav{gap:15px;font-size:11px}.intro{padding:34px 0 28px}.intro p{font-size:16px}.section{grid-template-columns:1fr;gap:18px;padding:25px 0 30px}.newsletter{padding:22px}.signup{flex-direction:column}footer{gap:15px;flex-direction:column}.article{margin-top:36px}}

.section h2.label{font-size:11px;line-height:1.6;margin:4px 0; font-weight:400}

.portrait{display:block;width:128px;height:128px;object-fit:cover;margin-top:20px;border:1px solid var(--line)}
@media(max-width:650px){.about-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.portrait{width:80px;height:80px;margin-top:0}}

.intro-with-signup{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:48px;align-items:center}
.headline-signup{border-left:1px solid var(--line);padding-left:25px}
.headline-signup h2{font-size:19px;line-height:1.4;font-weight:400;margin:0 0 12px}
.headline-signup p{font-size:14px;line-height:1.65;margin:0 0 14px}
.headline-signup label{font:11px/1.6 ui-monospace,monospace;color:var(--muted)}
.headline-signup .signup{flex-direction:column;margin:6px 0 14px}
.headline-signup .signup-promise{font-size:13px}
.headline-signup .note{font:11px/1.6 ui-monospace,monospace;margin-bottom:0}
@media(max-width:800px){.intro-with-signup{grid-template-columns:1fr;gap:26px}.headline-signup{border-left:0;border-top:1px solid var(--line);padding:22px 0 0;max-width:420px}}

.site-footer{display:block}
.footer-signup{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:8px 0 28px;letter-spacing:0}
.footer-signup h2{font:400 20px/1.4 Georgia,serif;margin:0 0 10px;color:var(--ink)}
.footer-signup p{font:14px/1.7 Georgia,serif;margin:0}
.footer-signup label{font-size:11px}
.footer-signup .signup{margin:6px 0 10px}
.footer-signup .note{font:11px/1.6 ui-monospace,monospace}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:650px){.footer-signup{grid-template-columns:1fr;gap:20px}.footer-bottom{flex-direction:column}.nav{flex-wrap:wrap}}

.profile-heading{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.profile-heading .portrait{width:96px;height:96px;margin:0;flex-shrink:0}
.profile-heading h1{margin:0 0 8px;font-size:30px}
.about-intro p{font-size:16px}
@media(max-width:650px){.profile-heading{align-items:flex-start;gap:16px}.profile-heading .portrait{width:76px;height:76px}.profile-heading h1{font-size:26px}.profile-heading .eyebrow{font-size:10px}}

.masthead{justify-content:flex-end}

.article img{display:block;max-width:100%;height:auto;margin:24px auto}.article code{font-size:.85em}.section .entry-title + .entry-title{margin-top:20px}

.signup-trap{position:absolute;left:-5000px}.signup button{cursor:pointer}.signup button:hover{background:#d3d6c6}.signup button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.article pre{overflow-x:auto;background:#eeeee5;border:1px solid var(--line);padding:18px;line-height:1.6;font-size:13px;tab-size:2}.article pre code{font-size:inherit;white-space:pre}

.writing-entry{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;align-items:baseline}.writing-entry + .writing-entry{margin-top:20px}.writing-entry time{font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);white-space:nowrap}.section .writing-entry .entry-title{margin:0}@media(max-width:650px){.writing-entry{grid-template-columns:88px minmax(0,1fr);gap:12px}.writing-entry time{font-size:10px}}

#writing,#inquiry{grid-template-columns:1fr;gap:20px}

.section .writing-entry .entry-title{font-size:16px;font-weight:400;line-height:1.7}

#inquiry .topics li{grid-template-columns:105px minmax(0,1fr);column-gap:20px}
@media(max-width:650px){#inquiry .topics li{grid-template-columns:88px minmax(0,1fr);column-gap:12px}}

.table-scroll{overflow-x:auto;margin:24px 0}.article table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.article th,.article td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px}.article th{font-weight:600}

.contact-section{padding:4px 0 30px}.contact-section h2.label{font:11px/1.6 ui-monospace,monospace;color:var(--muted);margin:0 0 20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-grid h3{font:400 16px/1.7 Georgia,serif;color:var(--ink);margin:0 0 12px}.contact-grid p{font:14px/1.7 Georgia,serif;margin:0 0 16px}.contact-grid label{display:block;font:11px/1.6 ui-monospace,monospace;margin:10px 0 5px}.contact-grid input,.contact-grid select,.contact-grid textarea{width:100%;min-width:0;padding:10px;border:1px solid #c9cabe;border-radius:0;background:var(--paper);color:var(--ink);font:14px/1.6 Georgia,serif}.contact-grid textarea{resize:vertical}.contact-grid button{cursor:pointer}.contact-grid .signup input{width:auto}.contact-grid .note{font:11px/1.6 ui-monospace,monospace;margin-top:10px}.contact-grid .contact-link-heading{margin-top:30px}.contact-grid textarea:focus-visible,.contact-grid select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:650px){.contact-grid{grid-template-columns:1fr;gap:28px}.contact-grid .signup input{width:100%}}

.intro-with-art{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:48px;align-items:center}
.system-art{position:relative;width:285px;height:300px;overflow:hidden;background-image:radial-gradient(circle,#d9d8ce 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.system-orbit{position:absolute;border:1px solid #b5b5a5;border-radius:50%;width:210px;height:110px;left:37px;top:80px;animation:orbit-drift 24s linear infinite}
.orbit-two{transform:rotate(60deg);animation-delay:-8s;border-color:#b19a8e}
.orbit-three{transform:rotate(120deg);animation-delay:-16s;border-style:dotted}
.system-orbit::after{content:"";position:absolute;width:6px;height:6px;background:var(--accent);border-radius:50%;left:29px;top:10px}
.system-core{position:absolute;left:119px;top:111px;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);border-radius:50%;color:var(--accent);font:italic 26px Georgia,serif}
.system-node{position:absolute;width:5px;height:5px;background:#838875;border-radius:50%;animation:node-breathe 6s ease-in-out infinite}
.node-one{left:43px;top:80px}.node-two{right:43px;top:190px;animation-delay:-2s}.node-three{left:110px;top:231px;animation-delay:-4s}
.system-caption{position:absolute;bottom:20px;left:0;width:100%;text-align:center;font:10px/1.6 ui-monospace,monospace;letter-spacing:.04em;color:var(--muted)}
@keyframes orbit-drift{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes node-breathe{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:800px){.intro-with-art{grid-template-columns:1fr;gap:10px}.system-art{justify-self:center;height:260px}.system-caption{bottom:0}}

.system-visual{position:relative;width:285px}
@media(max-width:800px){.system-visual{justify-self:center}}


@media(max-width:800px){
 .intro-with-art{position:relative;display:block;isolation:isolate;overflow:hidden}
 .intro-with-art .intro-copy{position:relative;z-index:1}
 .intro-with-art .system-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:grid;place-items:center;opacity:.13}
 .intro-with-art .system-art{width:285px;height:300px;transform:scale(1.45);transform-origin:center;mask-image:none;background-image:none}
}

.equation{overflow-x:auto;padding:18px 0;margin:12px 0}.article h3{font-size:19px;font-weight:400;line-height:1.5;margin:28px 0 12px}

.equation{overflow-x:auto;padding:18px 0;margin:12px 0}.article h3{font-size:19px;font-weight:400;line-height:1.5;margin:28px 0 12px}

.article-toc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:28px 0}.article .article-toc h2{font:11px/1.6 ui-monospace,monospace;margin:0 0 12px;color:var(--muted)}.article-toc ol{list-style:none;padding:0;margin:0;font-size:14px;line-height:1.7}.article-toc li{margin:4px 0}.article h2[id]{scroll-margin-top:24px}
