:root{--bg-950: #02040a;--bg-900: #0c1423;--text-100: #e7f4ff;--text-300: #8ea7bc;--accent-sky: #7ccbff;--accent-mint: #7ce3c3;--accent-coral: #ff7a66;--font-display: "Space Grotesk", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;--portrait-size: clamp(140px, 30vw, 200px);--gap-section: clamp(1.75rem, 4vw, 2.75rem);--link-btn-size: 48px;--link-icon-size: 20px;--mouse-x: 50%;--mouse-y: 50%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;color-scheme:dark}body{min-height:100%;min-height:100dvh;background-color:var(--bg-950);color:var(--text-100);font-family:var(--font-display);display:flex;align-items:center;justify-content:center;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(124,203,255,.12) 0%,transparent 45%),radial-gradient(circle at 50% 38%,var(--bg-900) 0%,transparent 70%);pointer-events:none;z-index:0;animation:var(--bg-animation, ambientMove 10s ease-in-out infinite alternate)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.05) .5px,transparent .5px),linear-gradient(#12101000 50%,#0000001a 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:4px 4px,100% 4px,200px 200px;opacity:.04;pointer-events:none;z-index:0}.page{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--gap-section);padding:3rem 1.5rem;text-align:center;width:100%;max-width:480px;animation:fadeSlideUp .65s cubic-bezier(.16,1,.3,1) both}.portrait-block{animation:float 5s ease-in-out infinite}.portrait-video{display:block;width:var(--portrait-size);height:var(--portrait-size);border-radius:50%;object-fit:cover;background-color:var(--bg-900);box-shadow:0 0 0 1.5px #7ccbff8c,0 0 20px #7ccbff47,0 0 60px #7ccbff1f,0 16px 48px #050816bf}.identity-block{display:flex;flex-direction:column;align-items:center;gap:.5rem}.name{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,9vw,3.75rem);letter-spacing:-.03em;color:var(--accent-sky);line-height:1}.microcopy{font-family:var(--font-mono);font-size:clamp(.7rem,2.2vw,.8125rem);color:var(--text-300);line-height:1.65}.typing-cursor{display:inline-block;color:var(--accent-sky);font-weight:300;margin-left:2px;animation:cursorFadeOut .5s ease-out .2s both}.handle{display:block;color:var(--text-100);opacity:.85}.links-block,.microcopy,.wishlist-pill{transition:opacity .5s ease-out}.links-block.is-typing,.microcopy.is-typing,.name.is-typing,.wishlist-pill.is-typing{opacity:0;pointer-events:none}.links-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem}.link-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--link-btn-size);height:var(--link-btn-size);border-radius:50%;background-color:var(--bg-900);border:1px solid rgba(124,203,255,.12);text-decoration:none;cursor:pointer;position:relative;transition:border-color .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out}.link-btn:hover{border-color:#7ccbff59;box-shadow:0 0 20px #7ccbff1f;transform:translateY(-3px)}.link-btn:focus-visible{outline:2px solid var(--accent-sky);outline-offset:4px}.link-icon{display:block;width:var(--link-icon-size);height:var(--link-icon-size);background-color:var(--icon-bg, var(--text-100));-webkit-mask-image:var(--icon-mask);mask-image:var(--icon-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;transition:background-color .2s ease-out;flex-shrink:0}.link-btn:hover .link-icon,.link-btn:focus-visible .link-icon{background-color:var(--icon-bg-hover, var(--accent-sky))}.wishlist-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.8125rem;color:var(--text-100);text-decoration:none;background-color:var(--bg-900);border:1.5px solid rgba(124,227,195,.25);border-radius:9999px;padding:.5rem 1.3rem;cursor:pointer;transition:border-color .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out,color .2s ease-out}.wishlist-pill:hover{border-color:#7ce3c38c;box-shadow:0 0 20px #7ce3c324;color:var(--accent-mint);transform:translateY(-2px)}.wishlist-pill:focus-visible{outline:2px solid var(--accent-mint);outline-offset:4px}.pill-glyph{color:var(--accent-mint)}#glitch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-950);pointer-events:none;z-index:9999;opacity:0}#glitch-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#7ccbff2e;opacity:0;transform:translate(0)}#glitch-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ff7a662e;opacity:0;transform:translate(0)}#glitch-overlay.glitch-enter{animation:glitchEnter .5s steps(1) forwards}#glitch-overlay.glitch-enter:before{animation:glitchSky .5s steps(1) forwards}#glitch-overlay.glitch-enter:after{animation:glitchCoral .5s steps(1) forwards}#glitch-overlay.glitch-exit{animation:glitchExit .35s steps(1) forwards}#glitch-overlay.glitch-exit:before{animation:glitchSky .35s steps(1) forwards}#glitch-overlay.glitch-exit:after{animation:glitchCoral .35s steps(1) forwards}@keyframes glitchEnter{0%{opacity:.95}10%{opacity:.2}12%{opacity:.85}18%{opacity:0}20%{opacity:.6}26%{opacity:0}30%{opacity:.3}36%{opacity:0}to{opacity:0}}@keyframes glitchExit{0%{opacity:0}20%{opacity:0}22%{opacity:.7}26%{opacity:.1}40%{opacity:.9}50%{opacity:.3}60%{opacity:1}to{opacity:1}}@keyframes glitchSky{0%,to{opacity:0;transform:translate(0)}12%{opacity:.8;transform:translate(-4px)}18%{opacity:0}20%{opacity:.6;transform:translate(3px)}26%{opacity:0;transform:translate(0)}}@keyframes glitchCoral{0%,to{opacity:0;transform:translate(0)}12%{opacity:.6;transform:translate(4px)}18%{opacity:0}20%{opacity:.5;transform:translate(-3px)}26%{opacity:0;transform:translate(0)}}.glitch-text{position:relative;animation:glitch 4s steps(1) infinite;-webkit-user-select:none;user-select:none}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(0 0,0 0,0 0,0 0)}.glitch-text:before{color:var(--accent-coral);animation:glitch-before 4s steps(1) infinite;left:2px}.glitch-text:after{color:var(--accent-mint);animation:glitch-after 4s steps(1) infinite;left:-2px}@keyframes glitch{0%,90%,to{text-shadow:none}91%{text-shadow:3px 0 var(--accent-coral),-3px 0 var(--accent-mint)}93%{text-shadow:-3px 0 var(--accent-coral),3px 0 var(--accent-mint)}95%{text-shadow:3px 0 var(--accent-coral),-3px 0 var(--accent-mint)}97%{text-shadow:none}}@keyframes glitch-before{0%,90%,to{clip-path:polygon(0 0,0 0,0 0,0 0);transform:none}91%{clip-path:polygon(0 20%,100% 20%,100% 45%,0 45%);transform:translate(-3px)}93%{clip-path:polygon(0 55%,100% 55%,100% 75%,0 75%);transform:translate(3px)}95%{clip-path:polygon(0 10%,100% 10%,100% 30%,0 30%);transform:translate(-2px)}97%{clip-path:polygon(0 0,0 0,0 0,0 0);transform:none}}@keyframes glitch-after{0%,90%,to{clip-path:polygon(0 0,0 0,0 0,0 0);transform:none}91%{clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%);transform:translate(3px)}93%{clip-path:polygon(0 30%,100% 30%,100% 50%,0 50%);transform:translate(-3px)}95%{clip-path:polygon(0 70%,100% 70%,100% 90%,0 90%);transform:translate(2px)}97%{clip-path:polygon(0 0,0 0,0 0,0 0);transform:none}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes cursorFadeOut{0%{opacity:1}to{opacity:0}}@keyframes ambientMove{0%{--mouse-x: 30%;--mouse-y: 30%}50%{--mouse-x: 70%;--mouse-y: 60%}to{--mouse-x: 40%;--mouse-y: 80%}}@media (prefers-reduced-motion: reduce){.page{animation:none;opacity:1;transform:none}.portrait-block{animation:none}.link-btn,.link-icon,.links-block,.microcopy,.wishlist-pill{transition:none}.typing-cursor{animation:none}#glitch-overlay{display:none}.glitch-text{animation:none}.glitch-text:before,.glitch-text:after{display:none}}@media (max-width: 400px){:root{--link-btn-size: 44px}.name{letter-spacing:-.02em}}
