*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#09090b;color:#fff}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.background,.background-video,.background-fx,#fxCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.background{z-index:-5;background:#09090b center/cover no-repeat}.background-video{z-index:-4;object-fit:cover;display:none}.background-fx{z-index:-3;pointer-events:none}.background-fx:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,var(--vignette,.45)) 100%);pointer-events:none}.background-fx:before{content:"";position:absolute;inset:0;opacity:var(--noise,.08);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.page{min-height:100vh;display:grid;place-items:center;padding:34px;position:relative;z-index:2;transition:filter .8s ease,opacity .8s ease,transform .8s ease}.page.is-hidden{filter:blur(18px);opacity:.45;transform:scale(.985)}.profile-card{width:min(var(--card-width,540px),calc(100vw - 36px));padding:var(--card-padding,32px);border-radius:var(--card-radius,24px);background:rgba(18,18,23,var(--card-opacity,.23));border:1px solid rgba(255,255,255,var(--card-border,.16));backdrop-filter:blur(var(--card-blur,18px));-webkit-backdrop-filter:blur(var(--card-blur,18px));box-shadow:0 24px 90px rgba(0,0,0,.45),0 0 60px rgba(255,255,255,var(--card-glow,.08));display:flex;flex-direction:column;gap:var(--content-gap,18px);align-items:center;text-align:center}.avatar-wrap{width:var(--avatar-size,104px);height:var(--avatar-size,104px);border-radius:50%;position:relative}.avatar-wrap:after{content:"";position:absolute;inset:-1px;border:1px solid rgba(255,255,255,var(--avatar-border-opacity,.35));border-radius:inherit;pointer-events:none}.avatar{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;background:rgba(255,255,255,.06)}.identity{width:100%}.name-line{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.name-line h1{font-size:32px;line-height:1.05;margin:0;letter-spacing:-.04em}.handle{margin-top:4px;font-size:13px;opacity:.55}.bio{margin:10px auto 0;max-width:430px;line-height:1.55;font-size:14px;white-space:pre-wrap}.badges{display:flex;gap:6px;align-items:center}.badge{height:24px;display:inline-flex;align-items:center;justify-content:center}.badge img{display:block;max-width:24px;max-height:24px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.28))}.socials{display:flex;flex-wrap:wrap;justify-content:center;gap:13px}.social-link{width:34px;height:34px;display:grid;place-items:center;color:var(--icon-color,#fff);text-decoration:none;opacity:.86;transition:transform .18s ease,opacity .18s ease}.social-link:hover{transform:translateY(-2px) scale(1.06);opacity:1}.social-link svg{width:22px;height:22px;fill:currentColor}.custom-links,.widgets{width:100%;display:flex;flex-direction:column;gap:9px}.link-card,.widget{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:15px;text-decoration:none;color:inherit;text-align:left;transition:transform .18s ease,background .18s ease,border-color .18s ease}.link-card:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.2)}.link-card img,.widget img{width:38px;height:38px;border-radius:10px;object-fit:cover}.link-copy{display:flex;flex-direction:column;min-width:0}.link-copy strong{font-size:14px}.link-copy span{font-size:12px;opacity:.58;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-player{width:100%;display:flex;align-items:center;gap:13px;padding:12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,var(--player-opacity,.06));backdrop-filter:blur(var(--player-blur,14px));border-radius:var(--player-radius,18px)}.hidden{display:none!important}.track-cover{width:58px;height:58px;object-fit:cover;border-radius:12px;background:rgba(255,255,255,.08)}.track-main{flex:1;min-width:0}.track-meta{display:flex;flex-direction:column;text-align:left}.track-meta strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-meta span{font-size:11px;opacity:.55;margin-top:2px}.progress-row{display:grid;grid-template-columns:30px 1fr 30px;gap:7px;align-items:center;font-size:9px;opacity:.72;margin-top:8px}.progress-row input,.player-controls input{width:100%;accent-color:#fff}.player-controls{display:flex;align-items:center;gap:7px;margin-top:5px}.player-controls button{border:0;background:transparent;color:#fff;width:25px;height:25px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}.player-controls .play{font-size:12px;background:rgba(255,255,255,.1)}#volume{margin-left:auto;max-width:80px}.view-count{font-size:11px;opacity:.5}.entry{position:fixed;inset:0;z-index:50;width:100%;height:100%;border:0;background:rgba(7,7,9,.25);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;backdrop-filter:blur(var(--entry-blur,18px));-webkit-backdrop-filter:blur(var(--entry-blur,18px));transition:opacity .65s ease,visibility .65s ease}.entry span{font-size:16px;letter-spacing:.04em;text-shadow:0 0 22px rgba(255,255,255,.3)}.entry small{font-size:11px;opacity:.55}.entry.dismissed{opacity:0;visibility:hidden;pointer-events:none}#fxCanvas{z-index:1}#cursorGlow{position:fixed;z-index:1;width:180px;height:180px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.12),transparent 68%);opacity:0;transition:opacity .2s ease}.trail-char{position:fixed;z-index:4;pointer-events:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transform:translate(-50%,-50%);animation:trail-out .7s ease forwards}@keyframes trail-out{to{opacity:0;transform:translate(-50%,-85%) scale(.55) rotate(20deg)}}@media(max-width:620px){.page{padding:18px}.profile-card{padding:24px}.name-line h1{font-size:28px}.music-player{align-items:flex-start}.track-cover{width:50px;height:50px}.progress-row{grid-template-columns:26px 1fr 26px}#volume{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@keyframes titleFade{0%,100%{opacity:.42}50%{opacity:1}}@keyframes titleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes titlePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes titleGlitch{0%,92%,100%{transform:none;text-shadow:none}94%{transform:translateX(-2px);text-shadow:2px 0 rgba(255,255,255,.45)}96%{transform:translateX(2px);text-shadow:-2px 0 rgba(255,255,255,.35)}98%{transform:none}}.title-fade{animation:titleFade 2.1s ease-in-out infinite}.title-float{animation:titleFloat 2.5s ease-in-out infinite}.title-pulse{animation:titlePulse 1.8s ease-in-out infinite}.title-glitch{animation:titleGlitch 2.8s steps(1,end) infinite}

/* v3 — public profile polish */
:root{--ease:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.2,.75,.2,1)}
.background,.background-video{transform:scale(1.025);transition:filter .8s var(--ease),transform 1.2s var(--ease)}body.entered .background,body.entered .background-video{transform:scale(1)}
.profile-card{position:relative;overflow:hidden;transform:translateY(18px) scale(.985);opacity:0;transition:transform .85s var(--ease),opacity .7s ease,box-shadow .35s,border-color .35s}.page:not(.is-hidden) .profile-card{transform:none;opacity:1}.profile-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);opacity:.55}.profile-card:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;left:50%;top:-210px;transform:translateX(-50%);background:rgba(255,255,255,.045);filter:blur(35px);pointer-events:none}.profile-card:hover{border-color:rgba(255,255,255,calc(var(--card-border,.16) + .05));box-shadow:0 30px 110px rgba(0,0,0,.5),0 0 75px rgba(255,255,255,var(--card-glow,.08))}
.avatar-wrap{transition:transform .45s var(--ease),filter .45s var(--ease)}.avatar-wrap:hover{transform:translateY(-3px) scale(1.025)}.avatar{transition:transform .5s var(--ease)}.avatar-wrap:hover .avatar{transform:scale(1.035)}.name-line h1{transition:filter .3s,transform .3s}.badge{transition:transform .25s var(--ease),filter .25s}.badge:hover{transform:translateY(-2px) scale(1.1);filter:brightness(1.12)}
.social-link{position:relative;border-radius:12px;transition:transform .28s var(--ease),opacity .2s,background .2s,box-shadow .2s}.social-link:hover{transform:translateY(-4px) scale(1.08);background:rgba(255,255,255,.06);box-shadow:0 10px 30px rgba(0,0,0,.22)}.social-link:active{transform:translateY(-1px) scale(.97)}
.link-card,.widget{position:relative;overflow:hidden;transition:transform .32s var(--ease),background .25s,border-color .25s,box-shadow .25s}.link-card:before,.widget:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.05),transparent);transform:translateX(-120%);transition:transform .65s var(--ease)}.link-card:hover:before,.widget:hover:before{transform:translateX(120%)}.link-card:hover,.widget:hover{transform:translateY(-3px) scale(1.008);box-shadow:0 15px 38px rgba(0,0,0,.2)}
.music-player{transition:transform .3s var(--ease),background .3s,border-color .3s,box-shadow .3s}.music-player:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.17);box-shadow:0 13px 36px rgba(0,0,0,.2)}.track-cover{transition:transform .4s var(--ease),box-shadow .4s}.music-player:hover .track-cover{transform:rotate(-1.5deg) scale(1.035);box-shadow:0 10px 25px rgba(0,0,0,.28)}.player-controls button{transition:transform .2s var(--ease),background .2s}.player-controls button:hover{transform:scale(1.12);background:rgba(255,255,255,.12)}.player-controls button:active{transform:scale(.94)}
.entry{overflow:hidden}.entry:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07);filter:blur(70px);animation:entryAura 5s ease-in-out infinite alternate}.entry span,.entry small{position:relative;z-index:1}.entry span{transition:transform .3s var(--ease),letter-spacing .3s}.entry:hover span{transform:translateY(-2px);letter-spacing:.07em}.entry:active span{transform:scale(.98)}.entry.dismissed{transform:scale(1.015)}
.trail-char{text-shadow:0 0 16px currentColor;will-change:transform,opacity}.page>*{animation-fill-mode:both}.identity,.socials,.custom-links,.widgets,.music-player,.view-count{opacity:0;transform:translateY(8px)}.page:not(.is-hidden) .identity{animation:sectionIn .55s .12s var(--ease) forwards}.page:not(.is-hidden) .socials{animation:sectionIn .55s .2s var(--ease) forwards}.page:not(.is-hidden) .custom-links{animation:sectionIn .55s .28s var(--ease) forwards}.page:not(.is-hidden) .widgets{animation:sectionIn .55s .34s var(--ease) forwards}.page:not(.is-hidden) .music-player{animation:sectionIn .55s .4s var(--ease) forwards}.page:not(.is-hidden) .view-count{animation:sectionIn .55s .46s var(--ease) forwards}
@keyframes sectionIn{to{opacity:1;transform:none}}@keyframes entryAura{to{transform:translate(35px,-18px) scale(1.18)}}
@keyframes titleBlur{0%,100%{filter:blur(0);opacity:1}50%{filter:blur(1.8px);opacity:.72}}@keyframes titleSlide{0%,100%{transform:translateX(0)}45%{transform:translateX(-3px)}55%{transform:translateX(3px)}}@keyframes titleNeon{0%,18%,22%,25%,53%,57%,100%{opacity:1;filter:brightness(1.1)}20%,24%,55%{opacity:.45;filter:brightness(.7)}}.title-blur{animation:titleBlur 2.6s ease-in-out infinite}.title-slide{animation:titleSlide 2.8s var(--ease) infinite}.title-neon{animation:titleNeon 3.2s linear infinite}

/* v5: custom cursor must win over entry/buttons/links before and after entry */
html.has-custom-cursor, html.has-custom-cursor body, html.has-custom-cursor body *, html.has-custom-cursor body *::before, html.has-custom-cursor body *::after { cursor: var(--site-cursor) !important; }
html.has-overlay-cursor, html.has-overlay-cursor body, html.has-overlay-cursor body *, html.has-overlay-cursor body *::before, html.has-overlay-cursor body *::after { cursor:none !important; }
#customCursorVisual{position:fixed;left:0;top:0;z-index:2147483647;pointer-events:none;background-repeat:no-repeat;background-position:left top;background-size:100% 100%;opacity:0;will-change:transform;transform:translate(-100px,-100px)}.has-overlay-cursor #customCursorVisual.is-ready{display:block}
.profile-card.card-disabled{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;overflow:visible}
.profile-card.card-disabled:before,.profile-card.card-disabled:after{display:none!important}
.profile-card.card-disabled:hover{box-shadow:none!important;border-color:transparent!important}
.avatar-wrap.hidden{display:none!important}
.profile-card:has(.avatar-wrap.hidden) .identity{margin-top:0}

/* v8 floating audio control */
.floating-mute{position:fixed;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:45;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(12,12,16,.32);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:grid;place-items:center;padding:0;color:#fff;box-shadow:0 10px 34px rgba(0,0,0,.22);transition:transform .24s var(--ease,ease),background .24s,border-color .24s,opacity .24s;cursor:pointer}.floating-mute:hover{transform:translateY(-2px) scale(1.04);background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24)}.floating-mute:active{transform:scale(.94)}.floating-mute img{width:21px;height:21px;display:block;filter:brightness(0) invert(1);opacity:.92;pointer-events:none}.floating-mute.is-muted{background:rgba(12,12,16,.22)}body:not(.entered) .floating-mute{opacity:0;pointer-events:none;transform:translateY(-5px)}body.entered .floating-mute{opacity:1}
