@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit-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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit-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:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/jetbrains-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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/jetbrains-mono-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}:root{--bg-dark: #050608;--card-bg: rgba(12, 15, 23, .78);--card-border: rgba(255, 255, 255, .1);--card-border-hover: rgba(255, 255, 255, .22);--accent-white: #ffffff;--accent-slate: #cbd5e1;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-lg: 24px;--radius-md: 14px;--radius-sm: 8px;--focus-ring: 2px solid #7dd3fc;--hero-min-height: 100svh;--content-max: 560px;--gutter: 1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{width:100%;min-height:100vh;min-height:var(--hero-min-height);background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.skip-link{position:absolute;top:0;left:50%;transform:translate(-50%,-150%);z-index:100;background:#0c0f17;color:var(--text-main);border:1px solid var(--card-border-hover);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:.7rem 1.2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .2s ease}.skip-link:focus-visible{transform:translate(-50%);outline:var(--focus-ring);outline-offset:2px}:where(a,button,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}#webgl-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.frosted-backdrop{position:fixed;inset:0;z-index:1;backdrop-filter:blur(11px) saturate(135%);-webkit-backdrop-filter:blur(11px) saturate(135%);background:#05060842;pointer-events:none}.vignette{position:fixed;inset:0;z-index:2;background:radial-gradient(circle at center,transparent 40%,rgba(5,6,8,.85) 100%);pointer-events:none}.app-container{position:relative;z-index:3;width:100%}.hero{position:relative;min-height:100vh;min-height:var(--hero-min-height);display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem) var(--gutter)}.section{width:100%;max-width:calc(var(--content-max) + var(--gutter) * 2);margin-inline:auto;padding:clamp(2.5rem,7vw,4rem) var(--gutter);scroll-margin-top:2rem}.app-container>.section:last-child{padding-bottom:clamp(4rem,12vw,7rem)}.hero-card{position:relative;width:100%;max-width:440px;background:var(--card-bg);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:2.25rem 2rem;box-shadow:0 30px 60px -15px #000000d9,0 0 40px #ffffff05,inset 0 1px 1px #ffffff1f;transition:border-color .3s ease,box-shadow .3s ease}.hero-card:hover{border-color:var(--card-border-hover);box-shadow:0 35px 70px -15px #000000e6,0 0 50px #ffffff0a,inset 0 1px 2px #fff3}.is-ready .hero-card{animation:card-in .6s cubic-bezier(.22,1,.36,1) both}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.card-header{display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.domain-pill{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);padding:.32rem .95rem;border-radius:20px}.pill-dot{width:6px;height:6px;background-color:#fff;border-radius:50%;box-shadow:0 0 8px #fffc}.domain-text{font-family:var(--font-mono);font-weight:600;font-size:.82rem;color:var(--text-main);letter-spacing:.08em}.profile-section{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.65rem}.avatar-frame{position:relative;width:108px;height:108px;margin-bottom:1.25rem}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:2;border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 24px #00000080;transition:transform .3s ease}.avatar-frame:hover .avatar-img{transform:scale(1.03)}.avatar-halo{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,transparent 70%);z-index:1;filter:blur(8px)}.user-handle{font-size:clamp(1.55rem,5vw,1.75rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-main);margin-bottom:.25rem}.user-sublabel{font-family:var(--font-mono);font-size:.76rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.bio-section{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);padding:1.15rem 1.25rem 1.15rem 1.5rem;margin-bottom:1.65rem;overflow:hidden}.bio-accent-bar{position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(to bottom,#fffc,#ffffff26)}.bio-text{font-size:.94rem;line-height:1.6;color:#e2e8f0;font-weight:400}.tags-section{margin-bottom:1.75rem}.section-heading{display:block;font-family:var(--font-mono);font-size:.65rem;font-weight:700;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem;text-align:center}.tags-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;list-style:none}.tag{font-size:.8rem;font-weight:500;color:#cbd5e1;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);padding:.42rem .85rem;border-radius:var(--radius-sm);transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;user-select:none}.tag:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-1px)}.card-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem}.link-list{list-style:none;display:grid;gap:.6rem}.link-btn{display:flex;align-items:center;gap:.6rem;width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:var(--text-main);text-decoration:none;font-size:.9rem;font-weight:600;padding:.75rem 1.1rem;border-radius:var(--radius-md);box-shadow:0 4px 12px #0003;transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.link-btn:hover{background:#ffffff1f;border-color:#ffffff59;color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #0006}.link-icon{flex-shrink:0}.btn-meta{margin-left:auto;font-family:var(--font-mono);font-size:.74rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.error-card{text-align:center}.error-code{font-family:var(--font-mono);font-size:clamp(2.75rem,12vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:#ffffff21;margin-bottom:.35rem}.error-title{font-size:clamp(1.4rem,5vw,1.6rem);font-weight:800;letter-spacing:-.02em;color:var(--text-main);margin-bottom:.6rem}.error-text{font-size:.94rem;line-height:1.6;color:var(--text-muted);margin-bottom:1.75rem}.error-card .link-btn{justify-content:center}.scroll-cue{position:absolute;bottom:clamp(1rem,3vh,2rem);left:50%;translate:-50% 0;display:inline-flex;flex-direction:column;align-items:center;gap:.15rem;color:var(--text-dim);text-decoration:none;opacity:1;transition:opacity .4s ease,color .25s ease}.scroll-cue:hover{color:var(--text-muted)}.scroll-cue-text{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.scroll-cue svg{animation:cue-bob 2.4s ease-in-out infinite}.is-scrolled .scroll-cue{opacity:0;pointer-events:none}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.is-ready .section.is-observed{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1)}.is-ready .section.is-observed.is-revealed{opacity:1;transform:none}.section-eyebrow{font-family:var(--font-mono);font-size:.65rem;font-weight:700;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem}.section-title{font-size:clamp(1.35rem,4.5vw,1.6rem);font-weight:700;letter-spacing:-.015em;line-height:1.2;color:var(--text-main);margin-bottom:1.25rem}.panel{position:relative;background:#0c0f179e;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.25rem 1.35rem 1.25rem 1.6rem;overflow:hidden;box-shadow:0 18px 40px -18px #000000b3}.panel-accent{position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(to bottom,#38bdf8,#818cf8 55%,#c084fc)}.panel-text{font-size:.95rem;line-height:1.65;color:#e2e8f0}.project-list{list-style:none;display:grid;gap:.7rem}.project{display:flex;flex-direction:column;gap:.3rem;background:#0c0f178c;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.05rem 1.25rem;text-decoration:none;color:inherit;transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.project:hover{background:#ffffff12;border-color:var(--card-border-hover);transform:translateY(-2px);box-shadow:0 14px 30px -12px #0009}.project-head{display:flex;align-items:center;gap:.4rem}.project-name{font-family:var(--font-mono);font-size:.92rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em}.project-arrow{flex-shrink:0;color:var(--text-dim);transition:transform .25s ease,color .25s ease}.project:hover .project-arrow{color:var(--text-main);transform:translate(2px,-2px)}.project-desc{font-size:.88rem;line-height:1.55;color:var(--text-muted)}.contact-list{list-style:none;display:grid;gap:.6rem}.contact-row{display:flex;align-items:center;gap:.7rem;background:#0c0f178c;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:.8rem 1.1rem;text-decoration:none;color:var(--text-main);font-size:.9rem;font-weight:600;transition:background-color .25s ease,border-color .25s ease;position:relative}.contact-link{text-decoration:none;color:var(--text-muted);transition:color .2s ease}.contact-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.contact-row:hover .contact-link{color:var(--text-main)}.contact-link:focus-visible{outline:none}.contact-row:has(.contact-link:focus-visible){outline:var(--focus-ring);outline-offset:3px}.contact-row:has(.contact-link):hover{background:#ffffff12;border-color:var(--card-border-hover)}.contact-icon{flex-shrink:0;color:var(--text-muted)}.contact-label{flex-shrink:0}.contact-value{margin-left:auto;font-family:var(--font-mono);font-size:.78rem;font-weight:500;color:var(--text-muted);overflow-wrap:anywhere;text-align:right}.copy-btn{flex-shrink:0;margin-left:.15rem;position:relative;z-index:1;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:.3rem .55rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.copy-btn:hover{background:#ffffff1f;border-color:#ffffff4d;color:var(--text-main)}.copy-btn.is-copied{color:#7dd3fc;border-color:#7dd3fc73}@media(max-width:480px){.hero-card{padding:1.75rem 1.25rem}.btn-meta{display:none}.contact-row{flex-wrap:wrap;row-gap:.4rem}.contact-label{flex:1 1 auto}.contact-value{flex:1 1 auto;margin-left:0;text-align:left;padding-left:calc(18px + .7rem)}.copy-btn{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.avatar-frame:hover .avatar-img,.tag:hover,.link-btn:hover,.project:hover,.project:hover .project-arrow{transform:none}.scroll-cue svg{animation:none}.is-ready .section.is-observed{opacity:1;transform:none;transition:none}}@media(prefers-reduced-transparency:reduce){#webgl-canvas{opacity:.35}.frosted-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#050608b8}.hero-card,.panel,.project,.contact-row{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0c0f17}}
