@font-face{font-family:Fraunces;src:url(/fonts/fraunces/Fraunces-Variable.ttf)format("truetype");font-weight:100 900;font-display:block}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibmplexsans/IBMPlexSans-Variable.ttf)format("truetype");font-weight:100 700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibmplexmono/IBMPlexMono-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibmplexmono/IBMPlexMono-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Shrikhand;src:url(/fonts/shrikhand/Shrikhand-Regular.ttf)format("truetype");font-display:block}@font-face{font-family:Bagel Fat One;src:url(/fonts/bagelfatone/BagelFatOne-Regular.ttf)format("truetype");font-display:block}@font-face{font-family:Rubik Mono One;src:url(/fonts/rubikmonoone/RubikMonoOne-Regular.ttf)format("truetype");font-display:block}:root{--bg:#f3eee4;--fg:#392d28;--fg-muted:#6b5d55;--line:#948378;--hairline:#ddd3c5;--accent:#5f051c;--accent-strong:#4a0416;--focus:#5f051c;--shadow:57 45 40;--sheet:#fbf3ec;--sheet-ink:#392d28;--sheet-muted:#76615c;--font-heading:"Fraunces", Georgia, serif;--font-ui:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0}html{background:var(--sheet)}body{background:var(--sheet);color:var(--fg);font-family:var(--font-ui);font-size:1rem;line-height:1.5}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{--ease-settle:cubic-bezier(.62, .28, .02, 1);--ease-away:cubic-bezier(.55, 0, .85, .35);--gutter:clamp(1rem, 4vw, 3.5rem);min-height:100dvh}.site-header{width:100%;max-width:90rem;padding-inline:var(--gutter);margin-inline:auto}.page[data-phase=waiting]{visibility:hidden}.site-header{z-index:2;pointer-events:none;gap:28px;padding-top:clamp(1.25rem,3vw,2.5rem);display:grid;position:relative}.site-header a,.site-header button{pointer-events:auto}.site-nav{justify-content:space-between;align-items:center;height:32px;display:flex}.site-mark{width:30px;height:30px;margin:0;position:relative}.site-mark img{display:block;position:absolute;inset:-4%}.about-link{color:var(--fg);font:400 .875rem var(--font-ui);text-underline-offset:.3em;cursor:pointer;background:0 0;border:0;padding:.5rem 0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .16s;position:relative}.about-link:after{content:"";position:absolute;inset:-5px -10px}.about-link:hover{text-decoration-color:currentColor}.about-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}.running-stitch{background:repeating-linear-gradient(to right, var(--accent) 0 4px, transparent 4px 9px) -2px 0;height:1px}.wordmark{--wordmark-under:var(--accent);--wordmark-over:#7d1a33;margin:0;line-height:0}.wordmark-canvas{width:100%;display:block}.reveal{transition:opacity .9s var(--ease-settle), transform 1.1s var(--ease-settle), filter .9s var(--ease-settle);transition-delay:calc(var(--delay,.35s) + var(--order,0) * .11s)}.page[data-entrance=quick] .reveal{--delay:0s;transition-duration:.5s}.page[data-phase=waiting] .reveal,.page[data-phase=intro] .reveal{opacity:0;filter:blur(6px);transition:none;transform:translateY(1.25rem)}.page[data-phase=waiting] .reveal-fade,.page[data-phase=intro] .reveal-fade{filter:none;transform:none}.intro{z-index:5;pointer-events:none;transition:transform .8s var(--ease-away), opacity .7s var(--ease-away);flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,5vh,3rem);padding:0 1rem 6vh;display:flex;position:fixed;inset:0}.page[data-phase=leaving] .intro{opacity:0;transform:translateY(-1.75rem)}.intro-mark{width:min(100vw - 2rem,1100px)}.intro-line{max-width:20ch;font-family:var(--font-ui);text-align:center;color:var(--fg);margin:0;font-size:1rem;font-weight:400;line-height:1.4}.intro-line span{white-space:pre;opacity:0;animation:word-in .9s var(--ease-settle) forwards;animation-delay:calc(.65s + var(--i) * 95ms);display:inline-block}@keyframes word-in{0%{opacity:0;filter:blur(5px);transform:translateY(.35em)}to{opacity:1;filter:blur();transform:none}}
