@property --page{syntax:"<color>";inherits:true;initial-value:#f5f5f5}@property --surface{syntax:"<color>";inherits:true;initial-value:#fff}@property --surface-2{syntax:"<color>";inherits:true;initial-value:#efeff1}@property --surface-press{syntax:"<color>";inherits:true;initial-value:#e3e3e6}@property --text{syntax:"<color>";inherits:true;initial-value:#0b0b0b}@property --text-2{syntax:"<color>";inherits:true;initial-value:#6e6e73}@property --text-3{syntax:"<color>";inherits:true;initial-value:#86868b}@property --text-body{syntax:"<color>";inherits:true;initial-value:#3a3a3c}@property --rule{syntax:"<color>";inherits:true;initial-value:#e5e5e7}@property --focus{syntax:"<color>";inherits:true;initial-value:#06c}@property --glass{syntax:"<color>";inherits:true;initial-value:#f6f6f8b8}@property --glass-panel{syntax:"<color>";inherits:true;initial-value:#ffffff9e}@property --backdrop-dim{syntax:"<color>";inherits:true;initial-value:#0a0a0c47}@property --card-bg{syntax:"<color>";inherits:true;initial-value:#fff}@property --btn-fill{syntax:"<color>";inherits:true;initial-value:#0b0b0b}@property --btn-fill-hover{syntax:"<color>";inherits:true;initial-value:#2c2c2e}@property --dot{syntax:"<color>";inherits:true;initial-value:#c7c7cc}@property --rx{syntax:"<angle>";inherits:false;initial-value:0deg}@property --ry{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--font-display:"Inter Tight", "Geist", ui-sans-serif, system-ui, sans-serif;--font-text:"Geist", ui-sans-serif, system-ui, sans-serif;--page:#f5f5f5;--surface:#fff;--surface-2:#efeff1;--surface-press:#e3e3e6;--text:#0b0b0b;--text-2:#6e6e73;--text-3:#86868b;--text-body:#3a3a3c;--rule:#e5e5e7;--accent:#06c;--on-accent:#fff;--hatch-a:#ececee;--hatch-b:#e2e2e5;--control-disabled:#aeaeb2;--focus:var(--accent);--logo-slot-border:#bdbdc2;--logo-slot-bg:#fafafa;--r-module:20px;--r-media:18px;--r-control:12px;--r-inner:8px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--gutter:clamp(16px, 4vw, 56px);--gap:32px;--content:1180px;--top-space:clamp(20px, 4vh, 40px);--nav-space:calc(104px + env(safe-area-inset-bottom,0px));--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-page:cubic-bezier(.32, .72, 0, 1);--t-press:.12s;--t-hover:.18s;--t-select:.24s;--t-page:.3s;--t-theme:.35s;--ease-theme:cubic-bezier(.41, .1, .13, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--glass:#f6f6f8b8;--glass-panel:#ffffff9e;--glass-edge:transparent;--glass-filter:saturate(1.8) blur(40px);--backdrop-dim:#0a0a0c47;--card-bg:var(--surface);--card-edge:transparent;--card-filter:none;--card-shadow:0 1px 2px #00000008, 0 24px 60px #0000000d;--card-shadow-lift:0 1px 2px #0000000a, 0 32px 70px #00000014;--btn-fill:#0b0b0b;--btn-fill-hover:#2c2c2e;--btn-edge:transparent;--btn-filter:none;--dot:#c7c7cc}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#08080a;--surface:#161618;--surface-2:#ffffff14;--surface-press:#ffffff24;--text:#f5f5f7;--text-2:#a1a1a6;--text-3:#8e8e93;--text-body:#d1d1d6;--rule:#ffffff1a;--hatch-a:#1c1c1e;--hatch-b:#2a2a2d;--control-disabled:#636366;--focus:#5aa9ff;--logo-slot-border:#48484a;--logo-slot-bg:#1c1c1e;--glass:#1e1e228c;--glass-panel:#ffffff0f;--glass-edge:transparent;--glass-filter:saturate(1.6) blur(40px);--backdrop-dim:#00000073;--card-bg:#1c1c2080;--card-edge:transparent;--card-filter:saturate(1.6) blur(30px);--card-shadow:0 24px 60px #00000073;--card-shadow-lift:0 32px 80px #0000008c;--btn-fill:#ffffff24;--btn-fill-hover:#ffffff38;--btn-edge:transparent;--btn-filter:saturate(1.6) blur(12px);--dot:#ffffff40}:root{transition:--page var(--t-theme) var(--ease-theme), --surface var(--t-theme) var(--ease-theme), --surface-2 var(--t-theme) var(--ease-theme), --surface-press var(--t-theme) var(--ease-theme), --text var(--t-theme) var(--ease-theme), --text-2 var(--t-theme) var(--ease-theme), --text-3 var(--t-theme) var(--ease-theme), --text-body var(--t-theme) var(--ease-theme), --rule var(--t-theme) var(--ease-theme), --focus var(--t-theme) var(--ease-theme), --glass var(--t-theme) var(--ease-theme), --glass-panel var(--t-theme) var(--ease-theme), --backdrop-dim var(--t-theme) var(--ease-theme), --card-bg var(--t-theme) var(--ease-theme), --btn-fill var(--t-theme) var(--ease-theme), --btn-fill-hover var(--t-theme) var(--ease-theme), --dot var(--t-theme) var(--ease-theme)}@media (prefers-reduced-motion:reduce){:root{transition:none}}@media (prefers-reduced-transparency:reduce){:root{--glass:#f6f6f8;--glass-panel:#fff;--glass-filter:none}:root[data-theme=dark]{--glass:#1c1c1f;--glass-panel:#242427;--glass-filter:none;--card-bg:#18181b;--card-filter:none;--btn-fill:#3a3a3d;--btn-fill-hover:#48484b;--btn-filter:none}}.theme-dark{--surface:#111113;--surface-2:#232325;--surface-press:#2c2c2e;--text:#f5f5f7;--text-2:#a1a1a6;--text-3:#8e8e93;--text-body:#d1d1d6;--rule:#ffffff1a;--hatch-a:#1c1c1e;--hatch-b:#2a2a2d;--control-disabled:#636366;--focus:#5aa9ff;--logo-slot-border:#48484a;--logo-slot-bg:#1c1c1e;color:var(--text)}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Inter Tight;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.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:Inter Tight;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.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}.label{color:var(--text-2);margin:0 0 10px;font-size:12px;font-weight:500;line-height:16px}.display{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:600;line-height:.98}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--page);scrollbar-gutter:stable}body{min-height:100svh;color:var(--text);font-family:var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}[tabindex="-1"]:focus{outline:none}body:before{content:"";z-index:-1;pointer-events:none;opacity:0;transition:opacity var(--t-theme) var(--ease-theme);background:radial-gradient(45% 40% at 30% 25%,#ffffff17,#0000 75%),radial-gradient(40% 38% at 75% 75%,#ffffff0d,#0000 75%);position:fixed;inset:-20%}:root[data-theme=dark] body:before{opacity:1;animation:48s ease-in-out infinite alternate theme-lights}body:after{content:"";z-index:-1;pointer-events:none;opacity:0;transition:opacity var(--t-theme) var(--ease-theme);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=dark] body:after{opacity:.05}@keyframes theme-lights{50%{transform:translate(3%,-2%)scale(1.05)}to{transform:translate(-3%,2%)scale(.98)}}html:has(dialog[open]){overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}:root[data-theme=dark] body:before{animation:none}}[data-vt=navbar]{view-transition-name:navbar}[data-vt=nav-indicator]{view-transition-name:nav-indicator}[data-vt=nav-label-about]{view-transition-name:nav-label-about}[data-vt=nav-label-projects]{view-transition-name:nav-label-projects}::view-transition-image-pair(root){isolation:auto}::view-transition-old(root){mix-blend-mode:normal;animation-duration:var(--t-page);animation-timing-function:var(--ease-page);animation-fill-mode:both}::view-transition-new(root){mix-blend-mode:normal;animation-duration:var(--t-page);animation-timing-function:var(--ease-page);animation-fill-mode:both}html[data-nav-dir=forward]::view-transition-old(root){animation-name:vt-to-left}html[data-nav-dir=forward]::view-transition-new(root){animation-name:vt-from-right}html[data-nav-dir=back]::view-transition-old(root){animation-name:vt-to-right}html[data-nav-dir=back]::view-transition-new(root){animation-name:vt-from-left}html[data-nav-dir=none]::view-transition-old(root){animation:.12s ease-out both vt-fade-out}html[data-nav-dir=none]::view-transition-new(root){animation:.18s ease-out both vt-fade-in}@keyframes vt-to-left{to{transform:translate(-100%)}}@keyframes vt-from-right{0%{transform:translate(100%)}}@keyframes vt-to-right{to{transform:translate(100%)}}@keyframes vt-from-left{0%{transform:translate(-100%)}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}::view-transition-group(navbar){animation:none}::view-transition-old(navbar){display:none}::view-transition-new(navbar){animation:none}::view-transition-group(nav-indicator){animation-duration:.46s;animation-timing-function:cubic-bezier(.34,1.32,.5,1)}::view-transition-image-pair(nav-indicator){isolation:auto}::view-transition-old(nav-indicator){display:none}::view-transition-new(nav-indicator){width:100%;height:100%;animation:none}::view-transition-group(nav-label-about){z-index:2;animation:none}::view-transition-group(nav-label-projects){z-index:2;animation:none}::view-transition-group(nav-indicator){z-index:1}::view-transition-old(nav-label-about){display:none}::view-transition-old(nav-label-projects){display:none}::view-transition-new(nav-label-about){animation:none}::view-transition-new(nav-label-projects){animation:none}html[data-pill]::view-transition-group(nav-indicator){background:var(--accent);border-radius:14px;animation:.56s both nav-pill-liquid}html[data-pill]::view-transition-old(nav-indicator){display:none}html[data-pill]::view-transition-new(nav-indicator){display:none}@keyframes nav-pill-liquid{0%{transform:translate(var(--pill-x0), var(--pill-y));width:var(--pill-w0);height:var(--pill-h);animation-timing-function:cubic-bezier(.6,0,.4,1)}42%{transform:translate(var(--pill-x1), var(--pill-ym));width:var(--pill-w1);height:var(--pill-hm);animation-timing-function:cubic-bezier(.25,1.45,.45,1)}to{transform:translate(var(--pill-x2), var(--pill-y));width:var(--pill-w2);height:var(--pill-h)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}html[data-nav-dir]::view-transition-old(root){animation:.12s linear both vt-fade-out!important}html[data-nav-dir]::view-transition-new(root){animation:.12s linear both vt-fade-in!important}}html[data-nav-dir=story] [data-vt^=nav]{view-transition-name:none}html[data-nav-dir=story]::view-transition-old(root){animation:.22s ease-out both vt-fade-out}html[data-nav-dir=story]::view-transition-new(root){animation:.22s ease-out both vt-fade-in}::view-transition-group(story){animation-duration:.42s;animation-timing-function:var(--ease-page);background:var(--surface);border-radius:22px;overflow:clip}::view-transition-image-pair(story){isolation:auto}::view-transition-old(story){object-fit:none;object-position:top left;mix-blend-mode:normal;height:auto}::view-transition-new(story){object-fit:none;object-position:top left;mix-blend-mode:normal;height:auto}::view-transition-old(story){animation:.16s ease-out both vt-fade-out}::view-transition-new(story){animation:.26s ease-out .12s both vt-fade-in}html[data-nav-dir=modal] [data-vt^=nav]{view-transition-name:none}html[data-nav-dir=modal]::view-transition-old(root){animation:.2s ease-out both vt-fade-out}html[data-nav-dir=modal]::view-transition-new(root){animation:.26s ease-out both vt-fade-in}::view-transition-group(case-cover){animation-duration:.44s;animation-timing-function:var(--ease-page);border-radius:5px;overflow:clip}::view-transition-image-pair(case-cover){isolation:auto}::view-transition-old(case-cover){object-fit:cover;mix-blend-mode:normal;height:100%}::view-transition-new(case-cover){object-fit:cover;mix-blend-mode:normal;height:100%}::view-transition-old(case-cover){animation:.24s ease-out both vt-fade-out}::view-transition-new(case-cover){animation:.24s ease-out both vt-fade-in}
