@font-face{font-family:Mona Sans;font-style:normal;font-weight:200 900;font-stretch:75% 125%;font-display:swap;src:url(/fonts/mona-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:Mona Sans;font-style:normal;font-weight:200 900;font-stretch:75% 125%;font-display:swap;src:url(/fonts/mona-sans-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/martian-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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}:root{color-scheme:light;--bg: .985 .004 165;--surface: .955 .007 165;--ink: .22 .03 262;--muted: .44 .022 262;--faint: .53 .018 262;--line: .9 .008 262;--accent: .89 .19 128;--accent-ink: .47 .13 145;--navy: .22 .03 262;--ease-out: cubic-bezier(.16, 1, .3, 1);--sans: "Mona Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Martian Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root.dark{color-scheme:dark;--bg: .175 .022 262;--surface: .215 .024 262;--ink: .965 .01 130;--muted: .78 .018 255;--faint: .67 .018 255;--line: .31 .022 262;--accent: .9 .2 128;--accent-ink: .88 .19 128}*,*:before,*:after{box-sizing:border-box;border-color:oklch(var(--line))}html{-webkit-text-size-adjust:100%;background:oklch(var(--bg))}body{margin:0;min-height:100svh;color:oklch(var(--ink));font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}h1,p{margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}img,svg{display:block}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::-moz-selection{background:oklch(var(--accent));color:oklch(var(--navy))}::selection{background:oklch(var(--accent));color:oklch(var(--navy))}:where(a,button):focus-visible{outline:2px solid oklch(var(--accent-ink));outline-offset:3px}:where(a,button){-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:.75rem;z-index:60;border-radius:999px;background:oklch(var(--accent));color:oklch(var(--navy));padding:.5rem 1rem;font-size:.875rem;font-weight:600;transform:translateY(-160%);transition:transform .25s var(--ease-out)}.skip-link:focus{transform:none}.meta{font-family:var(--mono);font-size:.75rem;letter-spacing:-.02em;color:oklch(var(--faint))}.field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 60% 45% at 50% 18%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 60% 45% at 50% 18%,#000 15%,transparent 75%)}.field canvas{width:100%;height:100%}.corner{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:.75rem;z-index:40;display:flex;gap:.125rem;padding:.25rem;border:1px solid oklch(var(--line) / .8);border-radius:999px;background:oklch(var(--bg) / .8);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5)}.icon-btn{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;color:oklch(var(--muted));transition:color .2s ease,background-color .2s ease}.icon-btn:hover{background:oklch(var(--surface));color:oklch(var(--ink))}.icon-btn svg{width:1rem;height:1rem;grid-area:1 / 1;transition:transform .5s var(--ease-out),opacity .5s var(--ease-out)}.theme-toggle .moon,:root.dark .theme-toggle .sun{transform:rotate(-90deg) scale(.5);opacity:0}:root.dark .theme-toggle .moon{transform:none;opacity:1}.stack{display:flex;flex-direction:column;align-items:center;width:100%;max-width:27rem;min-height:100svh;margin:0 auto;padding:clamp(4.5rem,12vh,7rem) 1.25rem 2rem}.profile{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.avatar-wrap{position:relative}.avatar{width:6.5rem;height:6.5rem;border-radius:999px;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 0 4px oklch(var(--bg)),0 0 0 5px oklch(var(--line)),0 18px 40px -18px #0e162473}.avatar-status{position:absolute;right:.35rem;bottom:.35rem;display:grid;place-items:center;width:1.125rem;height:1.125rem;border-radius:999px;background:oklch(var(--bg))}.status-dot{position:relative;width:.625rem;height:.625rem;border-radius:999px;background:oklch(var(--accent-ink))}.status-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;animation:ping 2.4s var(--ease-out) infinite}.name{margin-top:1.25rem;font-size:clamp(2rem,1.6rem + 1.8vw,2.5rem);font-weight:700;font-stretch:108%;line-height:1;letter-spacing:-.035em}.prox-letter{display:inline-block;font-weight:calc(620 + var(--p, 0) * 280);font-stretch:calc(108% + var(--p, 0) * 17%);color:color-mix(in oklch,oklch(var(--ink)),oklch(var(--accent-ink)) calc(var(--p, 0) * 100%))}.role{margin-top:.75rem;display:flex;flex-direction:column;align-items:center;gap:.125rem;font-size:.9375rem;font-weight:600;line-height:1.35;letter-spacing:-.008em}.role-alt{display:flex;align-items:center;font-size:.875rem;font-weight:500;color:oklch(var(--muted))}.role-alt:before{content:"";width:4px;height:4px;margin-right:.4375rem;border-radius:999px;background:oklch(var(--accent-ink) / .6)}.skills{position:relative;width:calc(100% + 2.5rem);margin-inline:-1.25rem;margin-top:.875rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}.skill-track{display:flex;width:-moz-max-content;width:max-content}.skill-rail{display:flex;align-items:center}.skill-rail li{display:flex;align-items:center;font-family:var(--mono);font-size:.625rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:oklch(var(--faint));transition:color .2s var(--ease-out)}.skill-rail li:after{content:"";width:3px;height:3px;margin-inline:.75rem;border-radius:999px;background:oklch(var(--accent-ink) / .5)}@media (hover: hover){.skills:hover .skill-track{animation-play-state:paused}.skill-rail li:hover{color:oklch(var(--accent-ink))}}nav{width:100%;margin-top:2.25rem}.links{display:grid;gap:.625rem}.links:focus{outline:none}.link{position:relative;display:flex;align-items:center;justify-content:center;height:3.5rem;padding-inline:3.25rem;border:1px solid oklch(var(--line));border-radius:1rem;background:oklch(var(--bg) / .72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:1rem;font-weight:550;letter-spacing:-.01em;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out)}.link-icon,.link-arrow{position:absolute;top:50%;width:1.125rem;height:1.125rem;translate:0 -50%;transition:transform .4s var(--ease-out),opacity .3s var(--ease-out),color .3s var(--ease-out)}.link-icon{left:1.125rem;color:oklch(var(--muted))}.link-arrow{right:1.125rem;width:1rem;height:1rem;opacity:0;transform:translate(-4px,4px)}.link-label{font-stretch:100%;transition:font-stretch .5s var(--ease-out)}.link:hover{border-color:oklch(var(--ink))}.link:hover .link-label,.link:focus-visible .link-label{font-stretch:112%}.link:hover .link-icon{color:oklch(var(--accent-ink));transform:rotate(-8deg)}.link:hover .link-arrow,.link:focus-visible .link-arrow{opacity:1;transform:none}.link:active{transform:scale(.985)}.link-primary{border-color:oklch(var(--ink));background:oklch(var(--ink));color:oklch(var(--bg))}.link-primary .link-icon{color:oklch(var(--accent))}:root.dark .link-primary .link-icon{color:#1c6d26}.link-primary:hover{border-color:oklch(var(--accent));background:oklch(var(--accent));color:oklch(var(--navy))}.link-primary:hover .link-icon{color:oklch(var(--navy))}.link-quiet{border-style:dashed;background:transparent;color:oklch(var(--muted));font-weight:500}.link-quiet:hover{color:oklch(var(--ink))}.footer{display:flex;align-items:center;gap:.625rem;margin-top:auto;padding-top:3rem}.logo{width:1.5rem;height:1.5rem;border-radius:7px;overflow:visible}.logo .leaf-a,.logo .leaf-b{transition:transform .5s var(--ease-out)}.logo .leaf-a{transform-origin:16px 15.5px}.logo .leaf-b{transform-origin:16px 19px}.footer-mark:hover .leaf-a{transform:rotate(-12deg)}.footer-mark:hover .leaf-b{transform:rotate(12deg)}.footer-mark{border-radius:7px}:root.dark .logo{box-shadow:inset 0 0 0 1px oklch(var(--line))}.toast-region{position:fixed;inset-inline:0;bottom:1.5rem;z-index:70;display:flex;justify-content:center;padding-inline:1rem;pointer-events:none}.toast{border-radius:999px;background:oklch(var(--ink));color:oklch(var(--bg));padding:.625rem 1rem;font-size:.875rem;font-weight:500;box-shadow:0 10px 30px -10px #0e162466}@media (prefers-reduced-motion: no-preference){.rise{animation:rise .9s var(--ease-out) both;animation-delay:var(--d, 0ms)}.prox-letter{animation:letter-in .9s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms + .14s)}.links li{animation:rise .7s var(--ease-out) both;animation-delay:calc(var(--n, 0) * 60ms + .56s)}.links li:nth-child(1){--n: 0}.links li:nth-child(2){--n: 1}.links li:nth-child(3){--n: 2}.links li:nth-child(4){--n: 3}.links li:nth-child(5){--n: 4}.links li:nth-child(6){--n: 5}.toast{animation:rise .45s var(--ease-out) both}.skill-track{animation:marquee 34s linear infinite}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes letter-in{0%{opacity:0;transform:translateY(.3em);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes ping{0%{transform:scale(1);opacity:.55}80%,to{transform:scale(2.6);opacity:0}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (prefers-reduced-motion: reduce){.skills{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}.skills::-webkit-scrollbar{display:none}.skill-rail[aria-hidden]{display:none}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
