@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_7b30e7{font-family:Instrument Sans,Instrument Sans Fallback,Helvetica Neue,Arial,sans-serif;font-style:normal}.__variable_7b30e7{--font-instrument:"Instrument Sans","Instrument Sans Fallback",Helvetica Neue,Arial,sans-serif}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/4f1e2870983fbcaa-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/e9b443debf0e5df9-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_2d3058{font-family:Instrument Sans,Instrument Sans Fallback,Helvetica Neue,Arial,sans-serif;font-style:italic}.__variable_2d3058{--font-instrument-italic:"Instrument Sans","Instrument Sans Fallback",Helvetica Neue,Arial,sans-serif}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/8568456ce63ce5f6-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/3eaa3cee8b9d1972-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/2fa23d17c8b4c0c7-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/268d3f26604a103a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/23205fdbfac35380-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/_next/static/media/4974d0dc1d063735-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d68818{font-family:JetBrains Mono,JetBrains Mono Fallback}.__variable_d68818{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:var(--font-instrument),"Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-jetbrains),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--leading-tight:1.25;--default-font-family:var(--font-instrument),"Helvetica Neue",Arial,sans-serif;--default-mono-font-family:var(--font-jetbrains),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{min-width:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);color:var(--fg);font-family:var(--font-sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:48px 48px;font-size:16px;line-height:1.5}h1,h2,h3{font-weight:500}cite,em,i{font-family:var(--font-instrument-italic),var(--font-sans)}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--fg);color:var(--bg)}}@layer components{.wrap{width:100%;max-width:1240px;margin-inline:auto}.section{padding:clamp(96px,12vw,168px) var(--gutter)}.display{letter-spacing:-.045em;font-weight:500;line-height:.95}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:12px;font-size:12px;line-height:1.4;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:24px;height:1px}.pill{background:var(--pill-bg);color:var(--pill-fg);white-space:nowrap;transition:transform .5s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:14px 22px;font-weight:500;line-height:1.15;display:inline-flex}.pill:hover{transform:scale(1.04)}.pill--dot:after{content:"";background:var(--dot);border-radius:50%;flex:none;width:7px;height:7px}.pill--ghost{border-color:var(--fg-faint);color:var(--fg);background:0 0}.pill--ghost.pill--dot:after{background:var(--accent)}.pill--sheet{background:var(--sheet-fg);color:var(--sheet)}.pill--sheet.pill--dot:after{background:var(--dot-sheet)}.pill--sheet-ghost{border-color:var(--sheet-fg);background:0 0}@supports (color:color-mix(in lab,red,red)){.pill--sheet-ghost{border-color:color-mix(in srgb,var(--sheet-fg) 22%,transparent)}}.pill--sheet-ghost{color:var(--sheet-fg)}.pill--sm{padding:10px 16px;font-size:14px}.pill:disabled,.pill[aria-disabled=true]{opacity:.45;transform:none}.chip{border:1px solid var(--fg-faint);border-radius:999px;align-items:center;padding:7px 13px;font-size:13px;line-height:1.3;display:inline-flex}.glass{background:var(--bg)}@supports (color:color-mix(in lab,red,red)){.glass{background:color-mix(in srgb,var(--bg) 60%,transparent)}}.glass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.iconbtn{border:1px solid var(--fg-faint);width:44px;height:44px;transition:transform .5s var(--ease);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.iconbtn:hover{transform:scale(1.04)}.nav{z-index:50;padding:20px var(--gutter) 28px;pointer-events:none;background:linear-gradient(to bottom,var(--bg),transparent);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab,red,red)){.nav{background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 90%,transparent),transparent)}}.nav>*{pointer-events:auto;flex:none}.nav__logo{letter-spacing:-.02em;justify-self:start;width:56px;height:56px;font-size:15px}.nav__links{border:1px solid var(--fg-faint);border-radius:999px;gap:2px;padding:5px;display:flex}.nav__links a{color:var(--fg-soft);border-radius:999px;padding:9px 16px;font-size:14px;transition:color .3s}.nav__links a:hover{color:var(--fg)}.nav__links a[aria-current=true]{color:var(--accent)}.nav__right{justify-self:end;align-items:center;gap:8px;display:flex}.themes{position:relative}.themes__icon{grid-template-columns:repeat(2,7px);gap:3px;display:grid}.themes__icon i{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 1px}@supports (color:color-mix(in lab,red,red)){.themes__icon i{box-shadow:0 0 0 1px color-mix(in srgb,currentColor 30%,transparent)}}.themes__panel{border:1px solid var(--fg-faint);background:var(--bg);border-radius:18px;width:216px;padding:6px;position:absolute;top:calc(100% + 10px);right:0}@supports (color:color-mix(in lab,red,red)){.themes__panel{background:color-mix(in srgb,var(--bg) 92%,transparent)}}.themes__panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--card-shadow)}.themes__row{text-align:left;width:100%;color:var(--fg-soft);border-radius:12px;align-items:center;gap:12px;padding:7px 12px 7px 7px;font-size:14px;transition:background-color .2s,color .2s;display:flex}.themes__row:hover,.themes__row[aria-checked=true]{color:var(--fg)}.themes__row:hover{background:var(--fg-faint)}.themes__row[aria-checked=true]:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:auto}.swatch{background:var(--bg);width:46px;height:32px;color:var(--fg);border-radius:9px;flex:none;position:relative;overflow:hidden;box-shadow:0 0 0 1px}@supports (color:color-mix(in lab,red,red)){.swatch{box-shadow:0 0 0 1px color-mix(in srgb,currentColor 22%,transparent)}}.swatch{font-size:11px;font-weight:600;line-height:1}.swatch b{font-weight:600;position:absolute;top:6px;left:6px}.swatch i{background:var(--sheet);border-radius:6px 0 0;width:22px;height:16px;position:absolute;bottom:0;right:0}.swatch u{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px;left:7px}.hero__title{letter-spacing:-.05em;font-size:clamp(44px,7.4vw,112px);font-weight:500;line-height:.95}.hero__title>span{display:block}.hero__title b{color:var(--name-dim);font-weight:400}.hero__lead{letter-spacing:-.03em;max-width:26ch;font-size:clamp(20px,2.1vw,30px);font-weight:500;line-height:1.15}.hl{color:var(--accent);font-style:italic}.photo{aspect-ratio:4/5;background:var(--fg);border-radius:22px;width:100%;max-width:460px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.photo{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}}.photo{box-shadow:var(--card-shadow);transition:transform .8s var(--ease)}.photo:hover{transform:scale(1.01)}.photo__empty{color:var(--fg-soft);flex-direction:column;justify-content:flex-end;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.photo__empty svg{width:100%;height:82%;fill:var(--fg-faint);position:absolute;inset:auto 0 0}.photo__empty span{margin-bottom:44%;position:relative}.photo__chip{color:var(--fg);border-radius:999px;padding:7px 12px;font-size:12px;line-height:1.3;position:absolute;bottom:14px;left:14px}.lede{letter-spacing:-.035em;font-size:clamp(26px,3.2vw,44px);font-weight:500;line-height:1.12}.lede .w{color:var(--fg-dim);transition:color .6s}.lede[data-in=true] .w{color:var(--fg)}.lede__chip{vertical-align:-.24em;background:var(--fg);border-radius:50%;width:1.15em;height:1.15em;margin:0 .08em;display:inline-block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.lede__chip{background:color-mix(in srgb,var(--fg) 12%,var(--bg))}}.lede__chip{box-shadow:0 0 0 1px var(--fg-faint)}.lede__chip svg{width:100%;height:100%;fill:var(--fg-dim);position:absolute;inset:12% 0 0}.track{height:calc(100vh + var(--steps,11) * 32.73vh)}.stage{height:100svh;position:sticky;top:0;overflow:clip}.stage__head{z-index:3;top:108px;left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:space-between;align-items:baseline;gap:16px;display:flex;position:absolute}.stage__head>*{pointer-events:auto}.stage__title{letter-spacing:-.04em;font-size:clamp(28px,3.4vw,48px);line-height:.95}.mode{align-items:center;gap:10px;font-size:15px;display:flex}.mode button{color:var(--fg-soft);padding:6px 2px;transition:color .3s}.mode button:hover,.mode button[aria-pressed=true]{color:var(--fg)}.mode i{background:var(--fg-dim);border-radius:50%;width:5px;height:5px}.stage__hint{color:var(--fg-soft);white-space:nowrap;font-size:13px;bottom:28px;left:50%;transform:translate(-50%)}.stage__count,.stage__hint{z-index:3;pointer-events:none;position:absolute}.stage__count{left:var(--gutter);font-variant-numeric:tabular-nums;color:var(--accent);font-size:15px;bottom:26px}.spiral{content-visibility:auto;perspective:1200px;perspective-origin:50% 42%;inset:0}.scene,.spiral{position:absolute}.scene{width:0;height:0;transform-style:preserve-3d;will-change:transform;top:52%;left:50%}.card{--w:calc(320px * var(--k,1.25));--h:calc(200px * var(--k,1.25));left:calc(var(--w) / -2);top:calc(var(--h) / -2);width:var(--w);height:var(--h);border:1px solid var(--card-border);box-shadow:var(--card-shadow);will-change:transform,opacity;border-radius:12px;position:absolute;overflow:hidden}.card:focus-visible{outline-offset:4px}.cover{object-fit:cover;width:100%;height:100%;display:block}.cover__lines *{fill:none;stroke:var(--cover-line);stroke-width:1px;vector-effect:non-scaling-stroke}.cover__lines .cover__dots{stroke-width:2.6px;stroke-linecap:round}.card .cover,.next .cover{transition:transform .8s var(--ease)}.card:hover .cover{transform:scale(1.06)}.tip{z-index:40;background:var(--pill-bg);color:var(--pill-fg);white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;align-items:center;gap:10px;padding:6px 18px 6px 6px;font-size:14px;font-weight:500;line-height:1;transition:opacity .2s;display:flex;position:fixed;top:0;left:0}.tip[data-show=true]{opacity:1}.tip__title{text-overflow:ellipsis;max-width:min(340px,60vw);line-height:1.3;overflow:hidden}.tip__thumb{border-radius:999px;flex:none;width:52px;height:38px;position:relative;overflow:hidden}.projects.list .track{height:auto}.projects.list .stage{height:auto;min-height:100svh;position:relative;overflow:visible}.plist{padding:210px var(--gutter) 140px}.plist ul{z-index:1;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.plist a{letter-spacing:-.035em;text-align:center;text-wrap:balance;font-size:clamp(34px,5.4vw,76px);font-weight:500;line-height:1.06;transition:color .3s;display:block}.plist ul:focus-within a,.plist ul:hover a{color:var(--fg-dim)}.plist ul a:focus-visible,.plist ul a:hover{color:var(--fg)}.plist__float{--w:min(320px,70vw);left:calc(var(--w) / -2);top:calc(var(--w) * -.3125);z-index:0;width:var(--w);aspect-ratio:16/10;pointer-events:none;will-change:transform;position:fixed}.plist__floatin{width:100%;height:100%;box-shadow:var(--card-shadow);opacity:0;transition:opacity .3s,transform .6s var(--ease);border-radius:12px;position:relative;overflow:hidden;transform:scale(.8)rotate(-4deg)}.plist__float[data-show=true] .plist__floatin{opacity:1;transform:none}.sheet{--inset:30px;--pad:clamp(20px,4vw,56px);z-index:100;visibility:hidden;transition:visibility 0s .8s;position:fixed;inset:0}.sheet[data-open=true]{visibility:visible;transition-delay:0s}.sheet__scrim{background:var(--bg);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.sheet__scrim{background:color-mix(in srgb,var(--bg) 70%,transparent)}}.sheet__scrim{opacity:0;transition:opacity .6s}.sheet[data-open=true] .sheet__scrim{opacity:1}.sheet__paper{left:var(--inset);right:var(--inset);top:var(--inset);background:var(--sheet);color:var(--sheet-fg);transition:transform .8s var(--ease);border-radius:24px 24px 0 0;position:absolute;bottom:0;overflow:hidden;transform:translateY(104%)}.sheet[data-open=true] .sheet__paper{transform:none}@starting-style{.sheet[data-open=true] .sheet__scrim{opacity:0}.sheet[data-open=true] .sheet__paper{transform:translateY(104%)}}.sheet__scroll{overscroll-behavior:contain;height:100%;overflow-y:auto}.sheet :focus-visible{outline-color:var(--sheet-fg)}.sheet__close{z-index:2;border:1px solid var(--line);background:var(--sheet);width:52px;height:52px;color:var(--sheet-fg);transition:transform .5s var(--ease);border-radius:50%;place-items:center;font-size:26px;font-weight:400;line-height:1;display:grid;position:absolute;top:24px;right:24px}.sheet__close:hover{transform:scale(1.06)rotate(90deg)}.sheet__hero{border-radius:14px;height:min(60vh,520px);margin:12px;position:relative;overflow:hidden}.sheet__tag{background:var(--sheet);color:var(--sheet-fg);border-radius:999px;padding:8px 14px;font-size:13px;line-height:1.3;position:absolute;bottom:16px;left:16px}.sheet__body{padding:0 var(--pad) var(--pad)}.sheet__intro{grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);padding-block:clamp(36px,6vw,88px);display:grid}.sheet__title{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(40px,5.6vw,72px);line-height:.95}.sheet__title[data-long=true]{letter-spacing:-.04em;font-size:clamp(30px,3.7vw,50px);line-height:1}.sheet__meta{font-variant-numeric:tabular-nums;color:var(--sheet-dim);margin-bottom:18px;font-size:14px}.sheet__tagline{max-width:30ch;color:var(--sheet-dim);margin-top:20px;font-size:18px;line-height:1.4}.sheet__desc{max-width:46ch;font-size:18px;line-height:1.5}.sheet__label{letter-spacing:.14em;text-transform:uppercase;color:var(--sheet-dim);margin-bottom:20px;font-size:12px;font-weight:500}.sheet__block{padding-bottom:clamp(48px,7vw,96px)}.tech{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.tech li{border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:17px;font-weight:500;line-height:1.3}.article{scroll-margin-top:24px}.article__section{border-top:1px solid var(--line);grid-template-columns:200px 1fr;gap:24px;padding-block:clamp(32px,4vw,56px);display:grid}.article__section>.sheet__label{margin:0;padding-top:5px}.prose{max-width:68ch;font-size:17px;line-height:1.6}.prose>*+*{margin-top:1em}.prose strong{font-weight:600}.prose ul{padding-left:1.2em;list-style:outside}.prose ol{padding-left:1.5em;list-style:decimal}.prose li+li{margin-top:.45em}.prose code{background:var(--sheet-fg);border-radius:6px;padding:.12em .4em}@supports (color:color-mix(in lab,red,red)){.prose code{background:color-mix(in srgb,var(--sheet-fg) 8%,transparent)}}.prose code{font-family:var(--font-mono);letter-spacing:0;font-variant-ligatures:none;font-size:.88em}.gallery{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:40px 24px;margin-top:24px;padding-bottom:140px;display:grid}.gallery>:nth-child(2n){transform:translateY(140px)}.gallery__img{aspect-ratio:16/10;border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.gallery__img img{object-fit:cover;object-position:top}.gallery__title{margin-top:14px;font-size:17px;font-weight:500;line-height:1.3}.gallery__title a:hover{text-underline-offset:3px;text-decoration:underline}.gallery__note{color:var(--sheet-dim);margin-top:4px;font-size:14px}.next{margin-top:clamp(64px,10vw,140px);display:block}.next__img{aspect-ratio:16/9;border-radius:14px;position:relative;overflow:hidden}.next:hover .cover{transform:scale(1.03)}.next__title{letter-spacing:-.04em;margin-top:18px;font-size:clamp(28px,4vw,56px);font-weight:500;line-height:1}.seg{border:1px solid var(--fg-faint);padding:4px;display:inline-flex}.seg,.seg button{border-radius:999px}.seg button{color:var(--fg-soft);padding:9px 16px;font-size:14px;line-height:1.2;transition:background-color .3s,color .3s}.seg button[aria-pressed=true]{background:var(--pill-bg);color:var(--pill-fg)}.cv__block{border-top:1px solid var(--fg-faint);grid-template-columns:200px 1fr;gap:24px;padding-block:32px;display:grid}.cv__row{grid-template-columns:190px 1fr;gap:16px;display:grid}.cv__row+.cv__row{margin-top:28px}.cv__time{color:var(--fg-soft);font-variant-numeric:tabular-nums}.cv__row b{font-weight:500}.cv__row p{max-width:62ch;color:var(--fg-soft);margin-top:6px}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.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-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-\[clamp\(40px\,6vw\,80px\)\]{margin-top:clamp(40px,6vw,80px)}.mt-\[clamp\(64px\,9vw\,128px\)\]{margin-top:clamp(64px,9vw,128px)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.min-h-svh{min-height:100svh}.max-w-\[52ch\]{max-width:52ch}.max-w-\[54ch\]{max-width:54ch}.max-w-\[58ch\]{max-width:58ch}.grow{flex-grow:1}.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}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[1\.15fr_\.85fr\]{grid-template-columns:1.15fr .85fr}.grid-cols-\[1\.25fr_\.9fr\]{grid-template-columns:1.25fr .9fr}.grid-cols-\[110px_1fr\]{grid-template-columns:110px 1fr}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[clamp\(32px\,6vw\,96px\)\]{gap:clamp(32px,6vw,96px)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.justify-self-end{justify-self:flex-end}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-fg-faint{border-color:var(--fg-faint)}.object-cover{object-fit:cover}.px-\(--gutter\){padding-inline:var(--gutter)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-36{padding-top:calc(var(--spacing) * 36)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[clamp\(16px\,1\.35vw\,19px\)\]{font-size:clamp(16px,1.35vw,19px)}.text-\[clamp\(22px\,3\.6vw\,44px\)\]{font-size:clamp(22px,3.6vw,44px)}.text-\[clamp\(36px\,4\.6vw\,68px\)\]{font-size:clamp(36px,4.6vw,68px)}.text-\[clamp\(36px\,5vw\,72px\)\]{font-size:clamp(36px,5vw,72px)}.text-\[clamp\(40px\,8vw\,128px\)\]{font-size:clamp(40px,8vw,128px)}.leading-\[\.95\]{--tw-leading:.95;line-height:.95}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.text-fg-soft{color:var(--fg-soft)}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media not all and (min-width:860px){.max-\[860px\]\:max-w-\[360px\]{max-width:360px}.max-\[860px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-\[860px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-\[860px\]\:justify-self-start{justify-self:flex-start}}}[data-theme-scope=obsidian],html[data-theme=obsidian]{--bg:#0a0a0a;--grid:#ffffff0b;--fg:#fafafa;--fg-soft:#fafafa9e;--fg-dim:#fafafa6b;--fg-faint:#fafafa24;--accent:#fafafa;--pill-bg:#fafafa;--pill-fg:#0a0a0a;--sheet:#fafafa;--sheet-fg:#0a0a0a;--sheet-dim:#6b6b6b;--line:#0a0a0a1a;--code-bg:#111;--code-fg:#bdbdbd;--code-kw:#fafafa;--cover-s:16%;--cover-l1:24%;--cover-l2:12%;--cover-line:#fafafa38;--card-border:#fafafa14;--card-shadow:0 20px 50px #00000073;color-scheme:dark}[data-theme-scope=paper],html[data-theme=paper]{--bg:#f4f3ee;--grid:#0a0a0a0f;--fg:#111;--fg-soft:#111111a8;--fg-dim:#11111173;--fg-faint:#1111111f;--accent:#111;--pill-bg:#111;--pill-fg:#f4f3ee;--sheet:#111;--sheet-fg:#f4f3ee;--sheet-dim:#f4f3ee8c;--line:#f4f3ee24;--code-bg:#1a1a1a;--code-fg:#cfcfcf;--code-kw:#fafafa;--cover-s:12%;--cover-l1:88%;--cover-l2:78%;--cover-line:#11111147;--card-border:#1111111a;--card-shadow:0 20px 50px #0000002e;color-scheme:light}[data-theme-scope=ink],html[data-theme=ink]{--bg:#0b0b14;--grid:#c8c4ff0d;--fg:#f2f0ff;--fg-soft:#f2f0ff9e;--fg-dim:#f2f0ff6b;--fg-faint:#f2f0ff24;--accent:#8f82ff;--pill-bg:#f2f0ff;--pill-fg:#0b0b14;--sheet:#f6f5ff;--sheet-fg:#0b0b14;--sheet-dim:#6c6a84;--line:#0b0b141a;--code-bg:#12111f;--code-fg:#c3c0dc;--code-kw:#cfc8ff;--cover-s:22%;--cover-l1:26%;--cover-l2:12%;--cover-line:#f2f0ff38;--card-border:#f2f0ff14;--card-shadow:0 20px 50px #00000073;color-scheme:dark}[data-theme-scope=graphite],html[data-theme=graphite]{--bg:#141312;--grid:#fff5e60b;--fg:#f3ede4;--fg-soft:#f3ede49e;--fg-dim:#f3ede46b;--fg-faint:#f3ede424;--accent:#d9a066;--pill-bg:#f3ede4;--pill-fg:#141312;--sheet:#f3ede4;--sheet-fg:#141312;--sheet-dim:#7a7068;--line:#1413121a;--code-bg:#1c1a18;--code-fg:#cfc6ba;--code-kw:#f3ede4;--cover-s:18%;--cover-l1:26%;--cover-l2:13%;--cover-line:#f3ede438;--card-border:#f3ede414;--card-shadow:0 20px 50px #00000073;color-scheme:dark}[data-theme-scope],html{--dot:var(--pill-fg);--dot-sheet:var(--sheet);--name-dim:var(--fg-dim)}[data-theme-scope=graphite],[data-theme-scope=ink],html[data-theme=graphite],html[data-theme=ink]{--dot:var(--accent);--dot-sheet:var(--accent);--name-dim:var(--accent)}:root{--gutter:clamp(20px,5vw,72px);--ease:cubic-bezier(.22,1,.36,1)}@media (min-width:1100px){.nav{grid-template-columns:1fr auto 1fr;display:grid}}@media (max-width:1099px){.nav__links a{padding-inline:12px}.nav__right .pill{padding:13px 16px;font-size:14px}}@media (max-width:760px){.nav{gap:8px}.nav__links{display:none}.nav__logo{width:44px;height:44px;font-size:13px}.nav__right{gap:6px}.stage__head{top:92px}.stage__hint{bottom:80px}.stage__count{bottom:78px}.card{--w:calc(240px * var(--k,1.25));--h:calc(150px * var(--k,1.25))}.plist{padding-top:180px}.sheet{--inset:12px}.sheet__close{width:44px;height:44px;font-size:22px;top:16px;right:16px}.sheet__hero{margin:8px}.article__section,.sheet__intro{grid-template-columns:1fr}.article__section{gap:14px}.gallery{grid-template-columns:1fr;gap:28px;padding-bottom:0}.gallery>:nth-child(2n){transform:none}.cv__block{gap:16px}.cv__block,.cv__row{grid-template-columns:1fr}.cv__row{gap:6px}}@media (max-width:350px){.nav__right .pill{padding-inline:13px;font-size:13px}.nav__right .pill--dot:after{display:none}}html.theme-switching,html.theme-switching *{transition:background-color .3s,color .3s,border-color .3s,fill .3s,stroke .3s!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before,html.theme-switching,html.theme-switching *{transition:none!important;animation:none!important}.track{height:auto}.stage{position:relative}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}