@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=Space+Grotesk:wght@400;500&display=swap');

:root{color-scheme:dark;--bg:#0b1114;--text:#edf2f0;--muted:#99a8aa;--accent:#a6e3cf;--line:#233034;--font:'DM Sans',sans-serif}
*{box-sizing:border-box}
.about-page{text-transform:lowercase}
html{background:var(--bg);scroll-behavior:smooth}
body{position:relative;overflow-x:clip;margin:0;color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 82% 38%,#1b42443b,transparent 52%),radial-gradient(ellipse at 58% 65%,#18364720,transparent 42%),var(--bg)}
::selection{background:#a6e3cf;color:#0b1114}
a{color:inherit;text-decoration:none;text-underline-offset:6px}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:2px}
button{font:inherit}
.skip-link{position:absolute;top:-100px;left:24px;padding:10px 18px;background:var(--text);color:var(--bg);z-index:10}
.skip-link:focus{top:16px}
.site-shell{position:relative;z-index:1;width:min(1240px,100% - 112px);margin:auto;min-height:100svh;display:flex;flex-direction:column}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:33px 0;border-bottom:1px solid var(--line);gap:24px}
.wordmark{font-family:'Space Grotesk',sans-serif;font-size:29px;font-weight:500;letter-spacing:-2px;line-height:1}
.wordmark span{color:var(--accent);margin-left:4px;font-weight:400}
nav{display:flex;align-items:center;gap:34px;font-size:14px;color:#b8c3c3}
nav a{padding:6px 0}
nav [aria-current]{color:var(--accent)}
nav a span,.site-footer a span{margin-left:5px;color:var(--muted)}
main{flex:1;display:flex;flex-direction:column}
.hero{flex:1;display:grid;grid-template-columns:.85fr 1.25fr;align-items:center;gap:15px;padding:64px 0 70px;min-height:660px}
.intro{z-index:1;padding-bottom:24px}
.intro h1{animation:intro-in .8s cubic-bezier(.2,.65,.3,1) both}
.intro .eyebrow{animation:intro-in .65s .16s ease-out both}
.intro .intro-link{animation:intro-in .65s .3s ease-out both}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:450;color:var(--accent);margin:0 0 27px}
.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
h1{font-size:clamp(76px,8.2vw,116px);font-weight:450;line-height:1.01;letter-spacing:-.065em;margin:0 0 34px}
.name-period{color:var(--accent)}
.intro-link{display:inline-flex;align-items:center;gap:25px;font-size:15px;color:var(--muted);padding:10px 0}
.intro-link span{color:var(--accent);transition:transform .2s}
.intro-link:hover span{transform:translate(3px,-3px)}
.field{margin:0 -56px 0 -14px;width:calc(100% + 70px);min-width:0;align-self:center;position:relative;animation:field-in 1.25s .18s cubic-bezier(.2,.65,.3,1) both}
.field-drawing{position:relative;aspect-ratio:1.06;isolation:isolate}
.field-drawing:before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse at 42% 46%,#64c7aa17,transparent 64%),radial-gradient(ellipse at 74% 60%,#608bad12,transparent 62%);z-index:-1}
canvas{cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}
.field-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:220px;font-weight:400;color:#89bbab;transform:rotate(-20deg);opacity:.5;z-index:-1}
.field.is-ready .field-fallback{display:none}
figcaption{margin-right:56px;margin-left:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-family:'Space Grotesk',sans-serif;font-size:12px;padding:10px 12px 0;letter-spacing:.03em}
.figure-index{color:#71898b;margin-right:10px}
.field-controls{display:flex;align-items:center;gap:20px}
#ripple-trigger{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:10px 0;min-height:44px}
#ripple-trigger:hover{color:var(--accent)}
#ripple-trigger:disabled{opacity:.4;cursor:default}
#ripple-trigger[hidden]{display:none}
#motion-toggle{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:10px 0 10px 14px;min-height:44px;display:flex;gap:8px;align-items:center}
#motion-toggle[hidden]{display:none}
#motion-toggle:hover{color:var(--accent)}
.motion-symbol{font-size:14px;width:14px;text-align:center}
.site-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:25px 0 30px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.prose{width:min(720px,100%);padding:80px 0 100px;animation:intro-in .6s ease-out both}
.prose h1{font-size:clamp(46px,7vw,76px);margin-bottom:40px}
.prose h2{font-weight:500;font-size:24px;letter-spacing:-.03em;margin-top:40px}
.prose p,.prose li{color:#b8c3c3;font-size:18px;line-height:1.85}
.prose a{color:var(--accent);text-decoration:underline}
.prose img{max-width:100%;height:auto}
.prose pre{overflow:auto;max-width:100%}
.prose .back-link{display:inline-block;margin-bottom:30px;font-size:14px;text-decoration:none;color:var(--muted)}
.post-list{list-style:none;padding:0}.post-list li{padding:16px 0;border-bottom:1px solid var(--line)}
@keyframes intro-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{min-height:760px}}
@media(max-width:850px){.site-shell{position:relative;z-index:1;width:calc(100% - 64px)}.hero{min-height:560px;gap:0}.eyebrow{font-size:14px}h1{font-size:78px}.field{margin-left:0;margin-right:-32px;width:calc(100% + 32px)}figcaption{margin-left:0;margin-right:32px}}
@media(max-width:640px){.site-shell{position:relative;z-index:1;width:calc(100% - 44px)}.site-header{padding:25px 0}nav{gap:22px;font-size:13px}.hero{grid-template-columns:1fr;padding:54px 0 28px;gap:0;min-height:0}.intro{padding-bottom:0}.eyebrow{margin-bottom:24px;font-size:15px}h1{font-size:clamp(70px,17vw,100px);margin-bottom:22px}.field{width:100%;max-width:450px;margin:8px auto 0}figcaption{margin:0}.field-controls{gap:16px}.field-drawing{aspect-ratio:1.25}figcaption{padding-left:0;padding-right:0}.site-footer{padding:24px 0;font-size:12px}.prose{padding:55px 0 70px}.prose p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro,.intro h1,.intro .eyebrow,.intro .intro-link,.field,.prose{animation:none}.intro-link span{transition:none}}

@keyframes field-in{from{opacity:0;transform:scale(.96) translateY(10px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}
body:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
