:root,:root[data-theme=dark]{color-scheme:dark;--bg: #09090b;--fg-strong: #f4f4f5;--fg-hover: #ffffff;--fg-200: #e5e7eb;--fg-300: #d4d4d8;--fg-400: #a1a1aa;--fg-500: #71717a;--fg-800: #27272a;--border: #27272a;--border-soft: rgba(31, 41, 55, .8);--border-hover: #71717a;--surface: rgba(15, 23, 42, .4);--surface-strong: rgba(15, 23, 42, .8);--selection-bg: #18181b;--menu-bg: rgba(9, 9, 11, .92);--menu-border: rgba(63, 63, 70, .8);--menu-shadow: rgba(0, 0, 0, .5);--menu-hover: rgba(39, 39, 42, .8);--toggle-active: rgba(39, 39, 42, .8);--photo-border: rgba(39, 39, 42, .8);--wave-bg: #070709;--wave-rgb: 180, 180, 187;--wave-alpha: 1}:root[data-theme=light]{color-scheme:light;--bg: #fafafa;--fg-strong: #18181b;--fg-hover: #09090b;--fg-200: #27272a;--fg-300: #3f3f46;--fg-400: #52525b;--fg-500: #71717a;--fg-800: #d4d4d8;--border: #e4e4e7;--border-soft: rgba(212, 212, 216, .9);--border-hover: #a1a1aa;--surface: rgba(255, 255, 255, .6);--surface-strong: rgba(244, 244, 245, .9);--selection-bg: #e4e4e7;--menu-bg: rgba(255, 255, 255, .95);--menu-border: #e4e4e7;--menu-shadow: rgba(24, 24, 27, .08);--menu-hover: #f4f4f5;--toggle-active: #e4e4e7;--photo-border: #e4e4e7;--wave-bg: #fafafa;--wave-rgb: 63, 63, 70;--wave-alpha: .75}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg-strong);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:var(--selection-bg);color:var(--fg-hover)}.relative{position:relative}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.pointer-events-none{pointer-events:none}.z-0{z-index:0}.z-10{z-index:10}.min-h-screen{min-height:100vh}.overflow-x-hidden{overflow-x:hidden}.bg-zinc-950{background-color:var(--bg)}.bg-zinc-900\/40{background-color:var(--surface)}.bg-zinc-900\/80{background-color:var(--surface-strong)}.text-zinc-100{color:var(--fg-strong)}.text-zinc-200{color:var(--fg-200)}.text-zinc-300{color:var(--fg-300)}.text-zinc-400{color:var(--fg-400)}.text-zinc-500{color:var(--fg-500)}.text-zinc-800{color:var(--fg-800)}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.08em}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem}.text-4xl{font-size:2.5rem;line-height:1.1}.sm\:text-5xl{font-size:3rem}.font-extralight{font-weight:200}.font-light{font-weight:300}.leading-relaxed{line-height:1.75}.max-w-2xl{max-width:42rem}.mx-auto{margin-left:auto;margin-right:auto}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.pt-2{padding-top:.5rem}.pt-12{padding-top:3rem}.space-y-16>:not([hidden])~:not([hidden]){margin-top:4rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.group{display:inline-flex}.transition-all{transition:all .2s ease-in-out}.duration-200{transition-duration:.2s}.hover\:text-white:hover{color:var(--fg-hover)}.hover\:bg-zinc-900\/80:hover{background-color:var(--surface-strong)}.hover\:border-zinc-500:hover{border-color:var(--border-hover)}.border{border:1px solid currentColor}.border-t{border-top:1px solid currentColor}.border-zinc-800{border-color:var(--border)}.border-zinc-800\/80{border-color:var(--border-soft)}.rounded-lg{border-radius:.75rem}.backdrop-blur-sm{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:translate-x-0\.5,.group:hover .group-hover\:-translate-y-0\.5{transform:translate(.125rem) translateY(-.125rem)}.w-4{width:1rem}.h-4{height:1rem}.w-3\.5{width:.875rem}.h-3\.5{height:.875rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}@media (min-width: 640px){.sm\:text-5xl{font-size:3rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:flex-row{flex-direction:row}}@media (max-width: 640px){.max-w-2xl{width:100%}}body,html{min-width:320px}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.text-sm{font-size:.875rem;line-height:1.6}.font-normal{font-weight:400}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}a{color:inherit;text-decoration:none}.group:hover .icon-nudge-right{transform:translate(.125rem)}.page{padding-bottom:5rem}.site-nav{display:flex;gap:1.75rem;padding-top:2.5rem}.site-nav-link{color:var(--fg-500);transition:color .2s ease-in-out}.site-nav-link:hover,.site-nav-link[aria-current=page]{color:var(--fg-strong)}.page-main{padding-top:4.5rem}.page-footer{margin-top:6rem}@media (min-width: 640px){.page{padding-bottom:6rem}.page-main{padding-top:6.5rem}.page-footer{margin-top:8rem}}.project-list{list-style:none;margin:0;padding:0}.project-list li{border-top:1px solid var(--border)}.project-row{display:grid;grid-template-columns:1fr auto;column-gap:1rem;row-gap:.25rem;align-items:baseline;padding:1.25rem 0}.project-url{display:inline-flex;align-items:center;gap:.5rem}.project-subtitle{grid-column:1 / -1}.project-row:hover .project-name,.project-row:hover .project-url{color:var(--fg-hover)}.hero{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}.hero-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6rem 0 4rem}.hero-name{font-size:3.25rem;line-height:1;letter-spacing:-.035em}@media (min-width: 640px){.hero-name{font-size:4.75rem}}.hero-nav{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin-top:3.5rem}.text-link{position:relative;align-items:center;gap:.5rem;padding-bottom:.4rem;font-weight:300;color:var(--fg-400);border-bottom:1px solid var(--border);transition:color .2s ease-in-out}.text-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fg-strong);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.text-link:hover,.text-link.is-open{color:var(--fg-hover)}.text-link:hover:after,.text-link:focus-visible:after,.text-link.is-open:after{transform:scaleX(1)}.hero-link{gap:.625rem;padding-bottom:.5rem;font-size:1.125rem}@media (min-width: 640px){.hero-link{font-size:1.25rem}}.hero-footer{padding:2rem 0}button.text-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-bottom:1px solid var(--border);padding:0 0 .4rem;font:inherit;font-weight:300;cursor:pointer}.text-link.is-open .chevron{opacity:1;transform:rotate(180deg)}.dropdown{position:relative;display:inline-flex}.dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;z-index:20;width:12rem;padding:.25rem;background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:.75rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 32px var(--menu-shadow);animation:dropdown-in .15s ease-out}.dropdown-menu.align-right{left:auto;right:0}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;border-radius:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;color:var(--fg-300)}.dropdown-menu svg{transition-duration:.1s}.dropdown-item:hover,.dropdown-item:focus-visible{background:var(--menu-hover);color:var(--fg-hover);outline:none}.profile{display:grid;grid-template-columns:6.5rem 1fr;grid-template-areas:"photo name" "links links" "body body";column-gap:1.25rem;align-items:end}.portrait{grid-area:photo;display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:.75rem;border:1px solid var(--photo-border)}.profile-name{grid-area:name;line-height:1.05}.profile-links{grid-area:links;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.5rem;font-size:.9375rem}.profile-body{grid-area:body;margin-top:3.5rem}.profile-body>*+*{margin-top:1.75rem}@media (min-width: 640px){.profile{grid-template-columns:8.5rem 1fr;grid-template-rows:1fr auto auto 1fr auto;grid-template-areas:"photo ." "photo name" "photo links" "photo ." "body body";column-gap:2rem;align-items:start}.profile-links{margin-top:1.25rem}.profile-body{margin-top:4rem}}.theme-toggle{position:fixed;top:1.25rem;right:1.25rem;z-index:30;display:flex;gap:2px;padding:3px;border:1px solid var(--border-soft);border-radius:9999px;background:var(--surface);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.theme-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--fg-500);cursor:pointer;transition:color .2s ease-in-out,background-color .2s ease-in-out}.theme-toggle button:hover{color:var(--fg-strong)}.theme-toggle button[aria-pressed=true]{background:var(--toggle-active);color:var(--fg-strong)}.theme-toggle svg{width:.8125rem;height:.8125rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--fg-strong)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
