:root{color-scheme:dark;--night:#050607;--ink:oklch(93.5% .006 95);--ink-quiet:oklch(71% .008 95);--rule:oklch(100% 0 0/.11);--field:oklch(30% .065 152);--link:oklch(69% .165 257);--measure:32em;--serif:var(--font-serif), Georgia, "Times New Roman", serif;--sans:var(--font-sans), ui-sans-serif, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--night);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--night);min-height:100svh;color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}::selection{background:color-mix(in oklab, var(--field) 80%, transparent);color:var(--ink)}.stadium{opacity:0;pointer-events:none;width:100%;height:100lvh;transition:opacity 1.6s;display:block;position:fixed;inset:0}.stadium-ready .stadium{opacity:1}.no-webgpu .stadium{display:none}.no-webgpu body{background:radial-gradient(9% 6% at 12% 7%, #ecf2ff80, transparent), radial-gradient(7% 5% at 31% 14%, #ecf2ff6b, transparent), radial-gradient(6% 4% at 50% 19%, #ecf2ff5c, transparent), radial-gradient(7% 5% at 69% 14%, #ecf2ff6b, transparent), radial-gradient(9% 6% at 88% 7%, #ecf2ff80, transparent), radial-gradient(75% 45% at 50% 6%, #96aac824, transparent 72%), linear-gradient(to bottom, transparent 56%, oklch(22% .055 152/.9) 100%), var(--night);background-attachment:fixed}.page{justify-items:center;padding:max(46svh,17rem) clamp(1.5rem,7vw,4rem) max(38svh,12rem);display:grid;position:relative}.letter{width:100%;max-width:var(--measure);font-kerning:normal;font-variant-ligatures:common-ligatures;font-variant-numeric:oldstyle-nums proportional-nums;hanging-punctuation:first allow-end;text-wrap:pretty;text-shadow:0 0 1.2em #0009,0 0 .25em #00000080;font-size:clamp(1.1875rem,1rem + .6vw,1.4375rem);line-height:1.6;transition:opacity 2.2s cubic-bezier(.2,.6,.2,1)}.letter p{margin:0 0 1.1em}.letter p:last-child{margin-bottom:0}.dim-until-lit .letter{opacity:.5}.talk{color:var(--link);font:inherit;letter-spacing:inherit;text-shadow:inherit;text-underline-offset:.18em;text-decoration:underline .06em;text-decoration-color:color-mix(in oklab, var(--link) 60%, transparent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;transition:text-decoration-color .3s}.talk:hover{text-decoration-color:currentColor}.talk:focus-visible{outline:2px solid var(--link);outline-offset:.2em;border-radius:2px}.contact{border:1px solid var(--rule);width:min(32rem,100vw - 2rem);max-height:min(46rem,100dvh - 2rem);color:var(--ink);opacity:0;transition:opacity .45s ease, translate .45s cubic-bezier(.2, .7, .2, 1), overlay .45s allow-discrete, display .45s allow-discrete;background:#08090a;border-radius:3px;margin:auto;padding:clamp(1.5rem,5vw,2.5rem);overflow:auto;translate:0 .75rem;box-shadow:0 2.5rem 6rem #000000a6}.contact[open]{opacity:1;translate:0}@starting-style{.contact[open]{opacity:0;translate:0 .75rem}}.contact::backdrop{transition:background .45s ease, overlay .45s allow-discrete, display .45s allow-discrete;background:#01020200}.contact[open]::backdrop{background:#0102028c}@starting-style{.contact[open]::backdrop{background:#01020200}}.contact-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;display:flex}.contact h2{letter-spacing:-.005em;margin:0;font-size:1.625rem;font-weight:400;line-height:1.2}.contact-close{color:var(--ink-quiet);font:500 .8125rem/1 var(--sans);letter-spacing:.01em;cursor:pointer;background:0 0;border:0;padding:.5rem 0}.contact-close:hover,.contact-close:focus-visible{color:var(--ink)}.fields{gap:1.35rem;display:grid}.fields label{gap:.4rem;display:grid}.fields label>span{color:var(--ink-quiet);font:500 .75rem/1.2 var(--sans);letter-spacing:.02em}.fields input,.fields textarea{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);font:400 1.125rem/1.45 var(--serif);background:0 0;border-radius:0;outline:none;padding:.35rem 0 .5rem;transition:border-color .25s}.fields textarea{resize:vertical;field-sizing:content;min-height:5.5rem}.fields input:focus-visible,.fields textarea:focus-visible{border-bottom-color:color-mix(in oklab, var(--ink) 55%, transparent)}.fields input::placeholder{color:oklch(52% .006 95)}.fields label>span .named{color:var(--ink);font-family:var(--serif);letter-spacing:0;font-size:1.15em;font-style:italic;font-weight:400}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.send{background:var(--ink);color:var(--night);font:500 .875rem/1 var(--sans);letter-spacing:.01em;cursor:pointer;border:0;border-radius:2px;justify-self:start;margin-top:.5rem;padding:.8rem 1.4rem;transition:opacity .2s}.send:hover{opacity:.88}.send:focus-visible{outline:2px solid var(--ink);outline-offset:3px}[data-state=sending] .send{opacity:.5;pointer-events:none}[data-state=sent] .fields{display:none}.status{color:var(--ink-quiet);margin:1.25rem 0 0;font-size:1.0625rem}.status:empty{display:none}[data-state=sent] .status{color:var(--ink);margin-top:0;font-size:1.25rem}@media (prefers-reduced-motion:reduce){.stadium,.letter,.contact,.contact::backdrop{transition:none}}
