:root{color-scheme:light;--paper:#f1ead9;--paper-warm:#eee3cf;--ink:#0a1130;--ink-rim:#030714;--ink-run:#a4b0b4;background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 19% 14%, #ffffff7a, transparent 32rem), radial-gradient(circle at 79% 83%, #a67e541a, transparent 37rem), linear-gradient(112deg, #f5edde 0%, var(--paper) 48%, var(--paper-warm) 100%);place-items:center;min-height:100svh;display:grid;overflow:hidden}body:before{content:"";z-index:0;pointer-events:none;mix-blend-mode:multiply;opacity:.082;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}body:after{content:"";z-index:0;pointer-events:none;opacity:.72;background:repeating-linear-gradient(88deg,#0000 0 17px,#543c2a03 18px 19px),radial-gradient(#0000 43%,#593c280a 100%);position:fixed;inset:0}main{z-index:1;width:min(94vw,76rem);padding:2rem .75rem;position:relative}h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.signature{width:100%;height:auto;color:var(--ink);cursor:default;display:block;overflow:visible}#source-lettering{visibility:hidden;pointer-events:none}#ink-runs,#ink-rims,#ink-lettering{isolation:isolate}.ink-run,.ink-rim,.ink-stroke{stroke:none;opacity:1;shape-rendering:geometricprecision}.ink-run{fill:var(--ink-run)}.ink-rim{fill:var(--ink-rim)}.ink-stroke{fill:var(--ink)}#pointer-run,#pointer-rim,#pointer-stroke{pointer-events:none;opacity:0}.contact{z-index:2;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:1.3rem;left:0;right:0}.contact a{color:color-mix(in srgb, var(--ink) 68%, transparent);letter-spacing:.045em;pointer-events:auto;font:italic .88rem/1.2 Georgia,Times New Roman,serif;text-decoration:none;transition:color .18s;position:relative}.contact a:after{content:"";opacity:.32;background:currentColor;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:-.18rem;left:0;right:0;transform:scaleX(.28)}.contact a:hover,.contact a:focus-visible{color:var(--ink)}.contact a:hover:after,.contact a:focus-visible:after{opacity:.72;transform:scaleX(1)}.email-obfuscated{direction:rtl;unicode-bidi:bidi-override}.email-obfuscated.is-revealed{direction:ltr;unicode-bidi:normal}#recording-status{z-index:3;color:#0a1130;letter-spacing:.035em;pointer-events:none;opacity:0;background:#f1ead9e0;border:1px solid #0a113029;border-radius:999px;padding:.45rem .72rem;font:600 .72rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .16s,transform .16s;position:fixed;bottom:4rem;left:50%;transform:translate(-50%,.35rem);box-shadow:0 .35rem 1.2rem #281c121a}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#000;--paper-warm:#000;--ink:#f6f6f2;--ink-rim:#fff;--ink-run:#8b9499}body{background:radial-gradient(circle at 19% 14%,#ffffff0a,#0000 32rem),radial-gradient(circle at 79% 83%,#ffffff06,#0000 37rem),#000}body:before{mix-blend-mode:screen;opacity:.055}body:after{opacity:.58;background:repeating-linear-gradient(88deg,#0000 0 17px,#ffffff02 18px 19px),radial-gradient(#0000 43%,#ffffff06 100%)}#recording-status{color:#fff;background:#0c0c0ce6;border-color:#ffffff2e;box-shadow:0 .35rem 1.2rem #0000005c}}#recording-status[data-state=recording],#recording-status[data-state=playing],#recording-status[data-state=copied],#recording-status[data-state=notice]{opacity:1;transform:translate(-50%)}#recording-status[data-state=recording]:before{content:"";background:#9c2534;border-radius:50%;width:.45rem;height:.45rem;margin-right:.45rem;display:inline-block;box-shadow:0 0 0 .2rem #9c25341f}#recording-status[data-state=playing]:before{content:"";opacity:.72;background:currentColor;border-radius:50%;width:.45rem;height:.45rem;margin-right:.45rem;animation:.72s ease-in-out infinite alternate status-pulse;display:inline-block}@keyframes status-pulse{to{opacity:.25;transform:scale(.72)}}@media (width<=540px){main{width:98vw;padding-inline:.25rem}}
