@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff2)format("woff2"),url(/fonts/atkinson-regular.woff)format("woff");font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff2)format("woff2"),url(/fonts/atkinson-bold.woff)format("woff");font-weight:700;font-display:swap}:root{color-scheme:dark;--paper:#0b0c0e;--ink:#e8e8e5;--muted:#a0a2a6;--line:#27292d;--accent:#f0f0ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Atkinson,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.wrap{width:min(880px,100% - 64px);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:30px;height:108px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:12px;font-size:17px;text-decoration:none;display:flex}.identity-mark{width:29px;height:29px}.site-header nav{gap:28px;display:flex}.site-header nav a{color:var(--muted);font-size:14px;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--ink)}.site-header nav a[aria-current]{text-underline-offset:8px;text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{letter-spacing:-1.9px;margin-bottom:25px;font-size:clamp(38px,5.3vw,56px);line-height:1.12}h2{margin:0;font-size:17px;line-height:1.3}h3{margin:0;font-size:17px;line-height:1.4}.eyebrow{letter-spacing:.02em;color:var(--muted);margin:0 0 24px;font-size:13px}.hero{isolation:isolate;align-items:center;min-height:433px;padding:62px 0 82px;display:flex;position:relative}.hero-copy{z-index:1;position:relative}.constellation{color:#e0e2e5;opacity:.95;z-index:-1;pointer-events:none;width:560px;position:absolute;top:-24px;right:-108px;mask-image:linear-gradient(90deg,#0000 9%,#000 66%)}.intro{color:var(--muted);max-width:440px;margin-bottom:27px;font-size:17px;line-height:1.7}.text-link{color:var(--muted);font-size:13px;text-decoration:none}.text-link:hover{color:var(--ink)}.text-link span{margin-left:7px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.project-section{padding-top:25px}.project-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr 20px;align-items:baseline;gap:20px;padding:21px 0;text-decoration:none;transition:background .2s;display:grid}.project-row:last-child,.post-row:last-child{border-bottom:1px solid var(--line)}.project-row h2{font-size:17px}.project-row p{color:var(--muted);margin:0;font-size:14px}.row-arrow{color:#7d8087;transition:transform .2s,color .2s}.project-row:hover .row-arrow,.post-row:hover .row-arrow{color:var(--ink);transform:translate(2px,-2px)}.writing-section{padding:65px 0 78px}.post-row{border-top:1px solid var(--line);grid-template-columns:1fr auto 20px;align-items:baseline;gap:25px;padding:19px 0;text-decoration:none;display:grid}.post-row time{color:var(--muted);font-size:13px}.post-row p{color:var(--muted);margin:10px 0 0;font-size:15px}.post-detail{padding:26px 0}.newsletter-section{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;padding:34px 0 38px;display:flex}.newsletter-section p{color:var(--muted);margin:8px 0 0;font-size:14px}.newsletter-link{border:1px solid var(--line);flex:none;padding:10px 15px;font-size:13px;text-decoration:none}.newsletter-link:hover{border-color:var(--muted)}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:28px 0 40px;font-size:12px;display:flex}.footer-links{gap:22px;display:flex}.footer-links a{text-decoration:none}.skip-link{background:var(--paper);z-index:10;padding:10px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}.page-main{min-height:74vh;padding:65px 0 100px}.page-main>h1{font-size:clamp(38px,5vw,52px)}.page-intro{color:var(--muted);max-width:600px;margin-bottom:52px;font-size:18px}.prose{max-width:680px}.prose h1{font-size:clamp(38px,5vw,54px)}.prose p,.prose li{font-size:18px;line-height:1.85}.prose p{margin-bottom:25px}.prose h2{margin:40px 0 20px;font-size:27px}.prose h3{margin:32px 0 18px;font-size:22px}.prose img{max-width:100%;height:auto}.prose .eyebrow{font-size:13px}.article-header{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:30px}.article-header h1{margin-bottom:20px}.article-date{color:var(--muted);font-size:13px}pre{background:#17191d;padding:20px;overflow:auto}blockquote{border-left:1px solid var(--muted);color:var(--muted);margin-left:0;padding-left:24px}img{max-width:100%;height:auto}::selection{color:#0b0c0e;background:#dadbd7}@media (width<=1100px){.constellation{width:480px;right:-30px}}@media (width<=600px){.wrap{width:calc(100% - 40px)}.site-header{gap:15px;height:84px}.wordmark{gap:8px;font-size:15px}.identity-mark{width:25px;height:25px}.site-header nav{gap:17px}.site-header nav a{font-size:12px}.hero{min-height:405px;padding:70px 0 65px}.hero h1{letter-spacing:-1.2px;font-size:clamp(33px,8.6vw,48px)}.constellation{opacity:.52;width:360px;top:-5px;right:-12px;mask-image:linear-gradient(90deg,#0000 4%,#000 90%)}.intro{max-width:340px;font-size:16px}.desktop-break{display:none}.eyebrow{font-size:12px}.section-heading h2{font-size:16px}.text-link{font-size:12px}.project-section{padding-top:12px}.project-row{grid-template-columns:1fr 20px;gap:5px 18px;padding:20px 0}.project-row p{grid-column:1;max-width:300px;font-size:14px}.project-row .row-arrow{grid-area:1/2}.writing-section{padding:48px 0 60px}.post-row{grid-template-columns:1fr auto 16px;gap:15px}.post-row time{font-size:11px}.post-row h3{font-size:16px}.newsletter-section{flex-direction:column;align-items:flex-start;gap:22px;padding:30px 0 34px}.site-footer{flex-wrap:wrap;gap:18px;font-size:12px}.footer-links{flex-wrap:wrap;gap:20px}.page-main{padding:48px 0 70px}.page-intro{margin-bottom:38px;font-size:17px}.post-detail{grid-template-columns:1fr 16px;gap:12px}.post-detail time{grid-row:2}.post-detail .row-arrow{grid-area:1/2}.prose p,.prose li{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.project-row{grid-template-columns:215px 1fr 20px;align-items:center}.project-name{align-items:center;gap:16px;min-width:0;display:flex}.project-name h2,.project-name h3{margin:0}.project-logo{object-fit:contain;border-radius:5px;flex-shrink:0;width:30px;height:30px;transition:transform .25s ease-out,filter .25s ease-out}.project-row:hover .project-logo{filter:brightness(1.15);transform:translateY(-2px)}.sky-orbit{transform-origin:360px 285px;animation:150s linear infinite sky-turn}.sky-star{animation:7s ease-in-out infinite alternate star-breathe;animation-delay:var(--star-delay)}.sky-paused .sky-orbit,.sky-paused .sky-star{animation-play-state:paused}.sky-toggle{color:var(--muted);font:inherit;cursor:pointer;z-index:2;background:0 0;border:0;padding:10px 0 10px 15px;font-size:10px;position:absolute;bottom:22px;right:0}.sky-toggle[hidden]{display:none}.sky-toggle:hover{color:var(--ink)}.sky-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@keyframes sky-turn{to{transform:rotate(360deg)}}@keyframes star-breathe{0%{opacity:.3}to{opacity:1}}@media (width<=600px){.project-row{grid-template-columns:1fr 20px;gap:6px 18px}.project-name{gap:13px}.project-row p{padding-left:43px}.project-logo{width:30px;height:30px}.sky-toggle{bottom:14px}.constellation{opacity:.62}}@media (prefers-reduced-motion:reduce){.sky-orbit,.sky-star{animation:none}.sky-toggle{display:none}.project-row:hover .project-logo{transform:none}}.project-name img[src*=sol-logo]{background:#f7f4eb;border-radius:3px}.project-heading{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.project-status{border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:2px 6px;font-size:12px;line-height:1.5;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
