@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_efde1a47-module__SZ3kUW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_efde1a47-module__SZ3kUW__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_1bf8cbf6-module__FlyLvG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_1bf8cbf6-module__FlyLvG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_53874707-module__0ANTZq__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:italic;font-weight:400}.instrument_serif_53874707-module__0ANTZq__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
.sv{--sv-view:0;--sv-t:0;--sv-scene:0;--sv-distance:6rem;--sv-ease:cubic-bezier(.28, .84, .42, 1);--sv-duration:.8s;--sv-stagger:90ms}.sv-on .sv :is(.sv-rise,.sv-fade,.sv-slide-l,.sv-slide-r),.sv-on .sv.sv-auto>:not(.sv-skip){opacity:0;transition:opacity var(--sv-duration) var(--sv-ease), translate var(--sv-duration) var(--sv-ease);transition-delay:calc(var(--sv-order,0) * var(--sv-stagger))}.sv-on .sv .sv-rise,.sv-on .sv.sv-auto>:not(.sv-skip){translate:0 var(--sv-distance)}.sv-on .sv .sv-slide-l{translate:calc(var(--sv-distance) * -2) 0}.sv-on .sv .sv-slide-r{translate:calc(var(--sv-distance) * 2) 0}.sv-on .sv.sv-live :is(.sv-rise,.sv-fade,.sv-slide-l,.sv-slide-r),.sv-on .sv.sv-live.sv-auto>:not(.sv-skip){opacity:1;translate:0}.sv-on .sv .sv:not(.sv-live) :is(.sv-rise,.sv-fade,.sv-slide-l,.sv-slide-r){opacity:0}.sv-on .sv .sv:not(.sv-live) .sv-rise{translate:0 var(--sv-distance)}.sv-on .sv .sv:not(.sv-live) .sv-slide-l{translate:calc(var(--sv-distance) * -2) 0}.sv-on .sv .sv:not(.sv-live) .sv-slide-r{translate:calc(var(--sv-distance) * 2) 0}.sv-split>span{display:inline-block}.sv-on .sv .sv-split-rise>span{opacity:0;transition:opacity var(--sv-duration) var(--sv-ease), translate var(--sv-duration) var(--sv-ease);transition-delay:calc(var(--sv-order,0) * var(--sv-stagger));translate:0 .6em}.sv-on .sv.sv-live .sv-split-rise>span{opacity:1;translate:0}.sv-auto>:nth-child(2),.sv-stagger>:nth-child(2){--sv-order:1}.sv-auto>:nth-child(3),.sv-stagger>:nth-child(3){--sv-order:2}.sv-auto>:nth-child(4),.sv-stagger>:nth-child(4){--sv-order:3}.sv-auto>:nth-child(5),.sv-stagger>:nth-child(5){--sv-order:4}.sv-auto>:nth-child(6),.sv-stagger>:nth-child(6){--sv-order:5}.sv-auto>:nth-child(7),.sv-stagger>:nth-child(7){--sv-order:6}.sv-auto>:nth-child(8),.sv-stagger>:nth-child(8){--sv-order:7}.sv-auto>:nth-child(9),.sv-stagger>:nth-child(9){--sv-order:8}.sv-auto>:nth-child(10),.sv-stagger>:nth-child(10){--sv-order:9}.sv-auto>:nth-child(n+11),.sv-stagger>:nth-child(n+11){--sv-order:10}.sv .sv-drift{--sv-abs-view:max(var(--sv-view), calc(var(--sv-view) * -1));opacity:calc(1 - var(--sv-abs-view));translate:0 clamp(-100vh, calc(var(--sv-view) * var(--sv-distance) * -1), 100vh)}.sv-spread{gap:var(--sv-gap,16px);justify-content:center;display:flex}.sv-spread>*{--sv-d:calc(var(--sv-order,0) - var(--sv-mid,1));translate:calc(var(--sv-d) * (var(--sv-spread,0) - 1) * (100% + var(--sv-gap,16px))) 0;rotate:calc(var(--sv-d) * (1 - var(--sv-spread,0)) * -5deg)}.sv-on .sv .sv-spread.sv-spread-in>*{transition:translate var(--sv-duration,.8s) var(--sv-ease,ease), rotate var(--sv-duration,.8s) var(--sv-ease,ease);transition-delay:calc(var(--sv-order,0) * var(--sv-stagger,90ms))}.sv-on .sv.sv-live .sv-spread.sv-spread-in>*{--sv-spread:1}@keyframes sv-in-fade{0%{opacity:0}to{opacity:1}}@keyframes sv-in-rise{0%{opacity:0;translate:0 4rem}to{opacity:1;translate:0}}@supports (animation-timeline:view()){.sv-view-fade,.sv-view-rise{animation:linear both sv-in-fade;animation-timeline:view();animation-range:entry 10% entry 70%}.sv-view-rise{animation-name:sv-in-rise}}@media (prefers-reduced-motion:reduce){.sv-spread>*{transition:none;translate:none;rotate:none}.sv-on .sv .sv-split-rise>span,.sv-on .sv :is(.sv-rise,.sv-fade,.sv-slide-l,.sv-slide-r,.sv-drift),.sv-on .sv.sv-auto>*,.sv-view-fade,.sv-view-rise{opacity:1;transition:none;animation:none;translate:none}}
.sv-pop{--sv-pop-distance:.75rem;--sv-pop-duration:.35s;transition:opacity var(--sv-pop-duration) var(--sv-ease,ease), translate var(--sv-pop-duration) var(--sv-ease,ease), display var(--sv-pop-duration) allow-discrete, overlay var(--sv-pop-duration) allow-discrete}[popover].sv-pop:not(:popover-open){opacity:0;translate:0 var(--sv-pop-distance)}dialog.sv-pop:not([open]){opacity:0;translate:0 var(--sv-pop-distance)}.sv-pop:not([popover]):not(dialog):not(.sv-open){opacity:0;translate:0 var(--sv-pop-distance);display:none}@starting-style{dialog.sv-pop[open],.sv-pop.sv-open{opacity:0;translate:0 var(--sv-pop-distance)}[popover].sv-pop:popover-open{opacity:0;translate:0 var(--sv-pop-distance)}}.sv-words{vertical-align:baseline;flex-direction:column;height:1.15em;display:inline-flex;overflow:hidden}.sv-words>*{height:1.15em;translate:0 calc(var(--sv-word,0) * -1.15em);transition:translate var(--sv-duration,.65s) var(--sv-ease,cubic-bezier(.28, .84, .42, 1));line-height:1.15;display:block}@property --sv-act{syntax:"<number>";inherits:true;initial-value:0}.sv-acts{--sv-act:0;transition:--sv-act var(--sv-acts-duration,2s) linear}.sv-acts.sv-open,.sv-on .sv.sv-live.sv-acts,.sv-on .sv.sv-live .sv-acts{--sv-act:var(--sv-acts-count,3)}@media (prefers-reduced-motion:reduce){.sv-pop,.sv-words>*,.sv-acts{transition-duration:.01ms}}
.sv-marquee{display:flex;overflow:hidden}.sv-marquee-track{align-items:center;gap:var(--sv-gap,48px);width:max-content;padding-right:var(--sv-gap,48px);animation:sv-marquee var(--sv-marquee-duration,30s) linear infinite;display:flex}.sv-marquee:hover .sv-marquee-track,.sv-marquee:focus-within .sv-marquee-track{animation-play-state:var(--sv-marquee-hover,paused)}@keyframes sv-marquee{to{translate:-50%}}.sv-accordion{interpolate-size:allow-keywords}.sv-accordion>summary{cursor:pointer}.sv-accordion::details-content{opacity:0;block-size:0;transition:block-size var(--sv-duration,.35s) var(--sv-ease,ease), opacity var(--sv-duration,.35s) var(--sv-ease,ease), content-visibility var(--sv-duration,.35s) allow-discrete;overflow:hidden}.sv-accordion[open]::details-content{opacity:1;block-size:auto}@media (prefers-reduced-motion:reduce){.sv-marquee-track{animation:none}.sv-accordion::details-content{transition:none}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist);--font-serif:var(--font-instrument-serif);--font-mono:var(--font-geist-mono);--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--tracking-tight:-.025em;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-geist);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(5rem,12vw,9rem)}.hairline{border-top:1px solid var(--line)}.t-display{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2.6rem,1.2rem + 6vw,6.75rem);font-weight:500;line-height:.98}.t-h1{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.1rem,1.3rem + 3.6vw,4.5rem);font-weight:500;line-height:1}.t-h2{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.6rem,1.2rem + 2vw,2.75rem);font-weight:500;line-height:1.05}.t-h3{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.015em;font-size:clamp(1.2rem,1.05rem + .8vw,1.6rem);font-weight:500;line-height:1.15}.t-body{font-size:clamp(1rem,.97rem + .2vw,1.2rem);line-height:1.6}.t-lead{letter-spacing:-.01em;text-wrap:pretty;font-size:clamp(1.15rem,1rem + .8vw,1.6rem);line-height:1.4}.t-eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.72rem;line-height:1}.t-mono{font-family:var(--font-mono), ui-monospace, monospace;font-feature-settings:"tnum" 1}.t-display em,.t-h1 em,.t-h2 em,.t-h3 em,.t-lead em{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;color:var(--accent-text);font-style:italic;font-weight:400}.btn{letter-spacing:-.01em;white-space:nowrap;height:3rem;transition:background-color .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out), translate .25s var(--ease-out);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.6rem;padding-inline:1.35rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{translate:0 -1px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#d9ff7a}.btn-ghost{color:var(--fg);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--fg)}.btn-sm{height:2.4rem;padding-inline:1rem;font-size:.85rem}.link{color:inherit;transition:color .2s var(--ease-out), background-size .3s var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;text-decoration:none}.link:hover{color:var(--accent)}.nav-link{color:var(--fg-2);transition:color .2s var(--ease-out);font-size:.9rem;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .3s var(--ease-out);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--fg)}.nav-link:hover:after{transform:scaleX(1)}.chip{border:1px solid var(--line);background:var(--bg-2);height:2rem;color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;padding-inline:.85rem;font-size:.85rem;display:inline-flex}.card{border:1px solid var(--line);background:linear-gradient(180deg, var(--bg-2), var(--bg));border-radius:var(--radius);position:relative}.code{font-family:var(--font-mono), ui-monospace, monospace;color:var(--fg-2);border:1px solid var(--line);white-space:pre;tab-size:2;background:#08090b;border-radius:10px;margin:0;padding:1rem 1.15rem;font-size:.8rem;line-height:1.6;overflow-x:auto}.code .kw{color:var(--accent)}.dot-live{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse;box-shadow:0 0 #c8ff4d99}@keyframes pulse{0%{box-shadow:0 0 #c8ff4d8c}70%{box-shadow:0 0 0 10px #c8ff4d00}to{box-shadow:0 0 #c8ff4d00}}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto}@supports (animation-timeline:scroll()){.site-header{animation:linear both header-solid;animation-timeline:scroll();animation-range:0 120px}}@keyframes header-solid{0%{background:#0b0c0f00;border-bottom-color:#f1ede400}to{background:var(--bg);border-bottom-color:var(--line)}}.menu-panel{top:calc(100% - .25rem);left:var(--gutter);right:var(--gutter);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.5rem;position:absolute;box-shadow:0 30px 60px #00000080}.menu-panel a{color:var(--fg);border-radius:10px;padding:.9rem 1rem;font-size:1.05rem;text-decoration:none;display:block}.menu-panel a:hover{background:var(--bg-3)}.burger{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;padding:0;display:inline-flex}.burger span{width:18px;height:1.5px;transition:transform .3s var(--ease-out);background:currentColor;display:block}.burger span+span{margin-top:5px}.burger[aria-expanded=true] span:first-child{transform:translateY(3.25px)rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.hero{align-items:end;min-height:100svh;padding-top:7rem;padding-bottom:clamp(2.5rem,6vw,5rem);display:grid;position:relative;overflow:clip}.hero-canvas{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-canvas canvas{width:100%;height:100%;display:block}.hero-fade{background:linear-gradient(180deg, #0b0c0f00 0%, var(--bg) 100%);pointer-events:none;height:40%;position:absolute;inset:auto 0 0}.hero>.wrap{z-index:1;position:relative}.stat{border-top:1px solid var(--line);gap:.35rem;padding-block:1.25rem;display:grid}.stat b{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.03em;font-size:clamp(1.75rem,1.4rem + 1.5vw,2.6rem);font-weight:500;line-height:1}.stat b em{font-family:var(--font-serif), Georgia, serif;color:var(--accent-text);font-style:italic;font-weight:400}@keyframes cue{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.cue-line{background:var(--fg-2);width:1px;height:3.5rem;animation:cue 2s var(--ease-io) infinite}@media (prefers-reduced-motion:reduce){.cue-line,.dot-live{animation:none}.sv-on .sv .sv-flip>span{opacity:1;transition:none;transform:none}}.ring{aspect-ratio:1;border:1px solid var(--line-strong);pointer-events:none;border-radius:50%;width:clamp(18rem,40vw,34rem);position:absolute}.ring:before{content:"";border:1px dashed var(--line);border-radius:50%;position:absolute;inset:18%}.timeline{margin:0;padding:0;list-style:none}.timeline>li{border-top:1px solid var(--line);gap:1rem 2rem;padding-block:2rem;display:grid}@media (min-width:768px){.timeline>li{grid-template-columns:11rem 1fr}}.timeline ul{color:var(--fg-2);margin:.9rem 0 0;padding-left:1.1rem}.timeline li li{margin-block:.3rem;line-height:1.5}.timeline li li::marker{color:var(--accent-text)}.score{background:var(--bg-3);border-radius:10px;gap:.25rem;padding:.75rem .9rem;display:grid}.score b{font-family:var(--font-mono), ui-monospace, monospace;color:var(--accent-text);font-size:1.25rem;font-weight:500}.score span{color:var(--muted);font-size:.72rem}.work-card{color:inherit;transition:border-color .3s var(--ease-out);gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);text-decoration:none;display:grid}.work-card:hover{border-color:var(--line-strong)}.work-card .arrow{transition:translate .3s var(--ease-out)}.work-card:hover .arrow{translate:4px -4px}.tilt-scope{perspective:1100px}.tilt{transform:rotateY(calc(var(--mx,0) * 4deg)) rotateX(calc(var(--my,0) * -4deg));will-change:transform;transition:transform .22s ease-out;overflow:hidden}.tilt-scope.sv-pointer-leave .tilt{transition:transform .7s var(--ease-out)}.tilt:after{content:"";background:radial-gradient(circle at calc(50% + var(--mx,0) * 38%) calc(50% + var(--my,0) * 38%), #ffffff12, transparent 42%);pointer-events:none;position:absolute;inset:-40%}@media (prefers-reduced-motion:reduce),(hover:none){.tilt{transition:none;transform:none}.tilt:after{display:none}}.pkg{border-radius:var(--radius);gap:1.5rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.pkg-name{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.01em;font-size:clamp(1.1rem,1rem + .6vw,1.4rem)}.pkg-stat{gap:.2rem;display:grid}.pkg-stat b{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.03em;font-size:1.6rem;font-weight:500;line-height:1}.pkg-stat span{color:var(--muted);font-size:.75rem}.pkg-install{font-family:var(--font-mono), ui-monospace, monospace;border:1px dashed var(--line-strong);color:var(--fg);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.85rem;display:flex}.band{--sv-gap:2.5rem;border-block:1px solid var(--line);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);padding-block:1.1rem;font-size:.85rem}.band .sv-marquee-track>span,.band .sv-marquee-track>span>span{align-items:center;gap:var(--sv-gap);display:inline-flex}.band i{color:var(--accent);font-style:normal}.cv h2{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);margin:0 0 1rem;padding-bottom:.6rem;font-size:.72rem}.cv h3{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:500}.cv p{color:var(--fg-2);margin:0;line-height:1.55}.cv ul{color:var(--fg-2);margin:.5rem 0 0;padding-left:1.1rem}.cv li{margin-block:.25rem;line-height:1.5}.cv li::marker{color:var(--accent-text)}.cv a:not(.btn){color:inherit;text-decoration:none}.cv a:not(.btn):hover{color:var(--accent)}.theme-paper{--bg:#f2f2f0;--bg-2:#e9e9e6;--bg-3:#dcdcd6;--fg:#0b0c0f;--fg-2:#4a4d55;--muted:#60646c;--line:#0b0c0f1f;--line-strong:#0b0c0f42;--accent-text:#4a6600;--accent-dim:#c8ff4d59;background:var(--bg);color:var(--fg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-paper ::selection{background:var(--fg);color:var(--bg)}.sv-flip{perspective:900px}.sv-flip>span{transform-style:preserve-3d;backface-visibility:hidden;display:inline-block}.sv-on .sv .sv-flip>span{opacity:0;transform-origin:50% 100%;transition:opacity var(--sv-duration) var(--sv-ease), transform var(--sv-duration) var(--sv-ease);transition-delay:calc(var(--sv-order,0) * var(--sv-stagger));transform:translateY(.4em)rotateX(-80deg)}.sv-on .sv.sv-live .sv-flip>span{opacity:1;transform:none}.work-wrap{position:relative}.work-list{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.work-row{border-top:1px solid var(--line);color:inherit;transition:color .3s var(--ease-out);grid-template-columns:2.5rem 1fr;align-items:baseline;gap:.5rem 1.25rem;padding-block:1.5rem;text-decoration:none;display:grid}@media (min-width:768px){.work-row{grid-template-columns:3rem 1fr auto;gap:1.75rem;padding-block:2rem}}.work-row .work-name{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.035em;transition:translate .4s var(--ease-out);margin:0;font-size:clamp(1.9rem,1.1rem + 3.4vw,4.25rem);font-weight:500;line-height:1}.work-row .work-meta{color:var(--muted);flex-wrap:wrap;grid-column:2;gap:.4rem 1rem;font-size:.9rem;display:flex}.work-row .work-scores{display:none}@media (min-width:768px){.work-row .work-scores{grid-area:1/3/span 2;align-self:center;gap:.4rem;display:flex}}.work-thumb{aspect-ratio:16/10;object-fit:cover;border-radius:10px;grid-column:2;width:100%;max-width:22rem;margin-top:.5rem}@media (hover:hover){.work-thumb{display:none}.work-wrap:has(.work-row:hover) .work-row:not(:hover){color:var(--muted)}.work-row:hover .work-name{translate:.35em}}.work-preview{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible;container-type:size}.work-preview figure{aspect-ratio:16/10;width:clamp(16rem,26vw,26rem);translate:calc(var(--mx,0) * 50cqw - 50%) calc(var(--my,0) * 50cqh - 50%);rotate:calc(var(--mx,0) * 4deg);transition:translate .28s var(--ease-out), rotate .5s var(--ease-out);will-change:translate;border-radius:12px;margin:0;position:absolute;top:50%;left:50%;overflow:hidden}.work-preview img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s var(--ease-out), scale .7s var(--ease-out);position:absolute;inset:0;scale:1.12}:is(.work-wrap:has(.work-list>li:first-child .work-row:hover) .work-preview img:first-child,.work-wrap:has(.work-list>li:nth-child(2) .work-row:hover) .work-preview img:nth-child(2),.work-wrap:has(.work-list>li:nth-child(3) .work-row:hover) .work-preview img:nth-child(3),.work-wrap:has(.work-list>li:nth-child(4) .work-row:hover) .work-preview img:nth-child(4),.work-wrap:has(.work-list>li:nth-child(5) .work-row:hover) .work-preview img:nth-child(5),.work-wrap:has(.work-list>li:nth-child(6) .work-row:hover) .work-preview img:nth-child(6)){opacity:1;scale:1}@media (hover:none),(prefers-reduced-motion:reduce){.work-preview{display:none}}.portrait{aspect-ratio:4/5;border-radius:var(--radius);background:var(--bg-3);position:relative;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;scale:1.12;translate:0 calc(var(--sv-view,0) * -2.5rem);will-change:translate;position:absolute;inset:0}.portrait figcaption{background:var(--bg);color:var(--fg);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.4rem .7rem;font-size:.7rem;position:absolute;bottom:1rem;left:1rem}.sketch{gap:1rem;display:grid}.sketch-stage{aspect-ratio:4/3;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line);touch-action:none;position:relative;overflow:hidden}.sketch-stage canvas{width:100%;height:100%;display:block}.sketch-stage:after{content:attr(data-hint);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);pointer-events:none;font-size:.65rem;position:absolute;bottom:.8rem;right:.9rem}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.m-0{margin:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-20{height:calc(var(--spacing) * 20)}.w-9{width:calc(var(--spacing) * 9)}.w-fit{width:fit-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-prose{max-width:65ch}.max-w-xl{max-width:var(--container-xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.overflow-clip{overflow:clip}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-line{border-color:var(--line)}.p-0{padding:0}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pt-36{padding-top:calc(var(--spacing) * 36)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.font-serif{font-family:var(--font-instrument-serif)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-all{word-break:break-all}.text-accent{color:var(--accent-text)}.text-fg{color:var(--fg)}.text-fg-2{color:var(--fg-2)}.text-muted{color:var(--muted)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-line{-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.underline-offset-4{text-underline-offset:4px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-full:focus{border-radius:3.40282e38px}.focus\:bg-accent:focus{background-color:var(--accent-text)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-accent-ink:focus{color:var(--accent-ink)}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[8rem_1fr\]{grid-template-columns:8rem 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-10{gap:calc(var(--spacing) * 10)}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1\.8fr_1fr\]{grid-template-columns:1.8fr 1fr}.lg\:grid-cols-\[22rem_1fr\]{grid-template-columns:22rem 1fr}.lg\:gap-20{gap:calc(var(--spacing) * 20)}}}:root{--bg:#0b0c0f;--bg-2:#121418;--bg-3:#1a1d23;--fg:#f1ede4;--fg-2:#b3b5bd;--muted:#7c7f89;--line:#f1ede41a;--line-strong:#f1ede433;--accent:#c8ff4d;--accent-text:#c8ff4d;--accent-dim:#c8ff4d24;--accent-ink:#0b0c0f;--gutter:clamp(1.25rem, 4vw, 4rem);--maxw:1280px;--radius:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans), system-ui, sans-serif;font-feature-settings:"kern", "liga", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}::selection{background:var(--accent);color:var(--accent-ink)}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media print{:root{--bg:#fff;--bg-2:#fff;--bg-3:#f3f3f3;--fg:#111;--fg-2:#333;--muted:#666;--line:#ddd;--line-strong:#bbb;--accent:#111}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-size:11px;color:#111!important;background:#fff!important}.site-header,.site-footer,.no-print{display:none!important}.cv{padding:0!important}.wrap{max-width:none;padding:0}*{box-shadow:none!important;text-shadow:none!important;transition:none!important;animation:none!important}a[href]:after{content:none!important}.cv-page{padding-top:0!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
