*{margin:0;padding:0;box-sizing:border-box}:root{--theme:#A855F7;--theme-rgb:168,85,247;--bg:#08080c;--surface:rgba(20,20,26,0.6);--surface-soft:rgba(20,20,26,0.4);--border-soft:rgba(255,255,255,0.06);--text:#f5f5f7;--text-dim:rgba(255,255,255,0.6);--text-faint:rgba(255,255,255,0.4);--radius-lg:0.75rem;--radius-md:0.5rem;--radius-full:9999px;--font-display:'Space Grotesk',system-ui,-apple-system,sans-serif;--font-body:'Inter',system-ui,-apple-system,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;--glass-edge:inset 0 1px 0 rgba(255,255,255,0.05)}@property --angle{syntax:'<angle>';inherits:false;initial-value:0deg}html{scrollbar-gutter:stable}body{position:relative;font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100dvh;overflow-x:hidden}body::before{content:'';position:fixed;top:-25%;left:50%;width:140vw;max-width:820px;aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--theme-rgb),0.18),transparent 62%);filter:blur(70px);pointer-events:none;z-index:-1;animation:aura-breathe 9s ease-in-out infinite}@keyframes aura-breathe{0%,100%{opacity:0.6}50%{opacity:1}}body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.045;mix-blend-mode:overlay;pointer-events:none;z-index:-1}.page{display:none;width:100%;min-height:100dvh;padding:4.5rem 1.5rem 2rem;opacity:0;transform:translateY(8px);transition:opacity 0.25s ease,transform 0.25s ease}.page.active{display:block;opacity:1;transform:translateY(0)}.top-nav{position:fixed;top:0.75rem;left:50%;transform:translateX(-50%);z-index:50;padding:0.25rem;background:rgba(10,10,14,0.8);border:1px solid rgba(var(--theme-rgb),0.18);border-radius:var(--radius-full);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color 0.3s ease}.nav-inner{position:relative;display:flex;gap:0.25rem}.nav-btn{position:relative;display:flex;height:2rem;width:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-full);color:rgba(255,255,255,0.4);background:none;border:none;cursor:pointer;transition:color 0.2s ease;z-index:2;line-height:1;-webkit-tap-highlight-color:transparent}.nav-btn:hover{color:rgba(255,255,255,0.75)}.nav-btn.active{color:var(--theme)}.nav-btn svg{width:16px;height:16px;display:block;flex-shrink:0}.pill{position:absolute;top:0;left:0;width:2.5rem;height:100%;background:rgba(var(--theme-rgb),0.14);border:1px solid rgba(var(--theme-rgb),0.25);border-radius:var(--radius-full);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1),width 0.35s cubic-bezier(0.4,0,0.2,1),background 0.3s ease,border-color 0.3s ease;z-index:1;pointer-events:none}.discord-status{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem}.discord-avatar-wrap{position:relative;flex-shrink:0}.discord-avatar-wrap::before{content:'';position:absolute;inset:-4px;z-index:0;border-radius:50%;background:conic-gradient(from var(--angle,0deg),transparent,rgba(var(--theme-rgb),0.85),transparent 30%);filter:blur(3px);opacity:0;transition:opacity 0.4s ease}.discord-avatar-wrap:has(.status-dot.online)::before{opacity:1;animation:ring-spin 3.5s linear infinite}@keyframes ring-spin{to{--angle:360deg}}.discord-avatar{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;object-fit:cover;display:block;background:rgba(255,255,255,0.05);border:1px solid rgba(var(--theme-rgb),0.35);transition:border-color 0.3s ease}.status-dot{position:absolute;z-index:2;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg)}.status-dot.online{background:#23a559;box-shadow:0 0 0 0 rgba(35,165,89,0.6);animation:pulse-dot 2.4s ease-out infinite}.status-dot.idle{background:#f0b232}.status-dot.dnd{background:#f23f43}.status-dot.offline{background:#80848e}@keyframes pulse-dot{0%{box-shadow:0 0 0 0 rgba(35,165,89,0.55)}70%{box-shadow:0 0 0 6px rgba(35,165,89,0)}100%{box-shadow:0 0 0 0 rgba(35,165,89,0)}}.discord-user{display:flex;align-items:center;gap:0.375rem;cursor:pointer;position:relative;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent}.discord-username{font-size:0.875rem;font-weight:500;color:var(--theme);transition:color 0.3s ease}.discord-user .copy-icon{width:14px;height:14px;color:rgba(255,255,255,0.4);opacity:0;transition:opacity 0.15s}.discord-user:hover .copy-icon{opacity:1}.discord-user.copied .copy-icon{opacity:1;color:#23a559}.spotify-activity{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;padding:0.625rem 0.875rem;background:rgba(29,185,84,0.06);border:1px solid rgba(29,185,84,0.12);border-radius:var(--radius-md);cursor:pointer;transition:background 0.15s;-webkit-tap-highlight-color:transparent}.spotify-activity:hover{background:rgba(29,185,84,0.1)}.spotify-activity.hidden{display:none}.spotify-cover{width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:rgba(255,255,255,0.05)}.spotify-info{flex:1;min-width:0}.spotify-song{font-size:0.8rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-artist{font-size:0.7rem;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-icon{width:16px;height:16px;color:#1DB954;flex-shrink:0}.eq-bars{display:flex;align-items:flex-end;gap:2px;height:12px;flex-shrink:0}.eq-bar{width:3px;background:#1DB954;border-radius:1px;animation:eq-bounce 0.9s ease-in-out infinite}.eq-bar:nth-child(1){animation-delay:-0.6s}.eq-bar:nth-child(2){animation-delay:-0.3s}.eq-bar:nth-child(3){animation-delay:0s}@keyframes eq-bounce{0%,100%{height:3px}50%{height:12px}}.lyrics-panel{max-width:680px;margin:0 auto 1.5rem;max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.4s ease,opacity 0.3s ease;opacity:0;padding:0 1rem}.lyrics-panel.open{max-height:320px;padding:1rem;opacity:1}.lyrics-panel-inner{background:var(--surface);border:1px solid rgba(var(--theme-rgb),0.12);border-radius:var(--radius-lg);box-shadow:var(--glass-edge);padding:1rem;max-height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--theme-rgb),0.35) transparent}.lyrics-panel-inner::-webkit-scrollbar{width:4px}.lyrics-panel-inner::-webkit-scrollbar-track{background:transparent}.lyrics-panel-inner::-webkit-scrollbar-thumb{background:rgba(var(--theme-rgb),0.35);border-radius:2px}.lyrics-line{font-size:0.9rem;line-height:2;color:rgba(255,255,255,0.25);text-align:center;transition:color 0.3s ease,transform 0.3s ease,text-shadow 0.3s ease;transform:scale(0.95)}.lyrics-line.active{color:var(--theme);transform:scale(1.05);text-shadow:0 0 20px rgba(var(--theme-rgb),0.6);font-weight:600}.about-section,.skills-section{max-width:680px;margin:0 auto 1.75rem;padding:1.25rem;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--glass-edge);transition:border-color 0.3s ease}.about-text{font-size:0.875rem;color:var(--text-dim);line-height:1.65}.skills-list{display:flex;flex-direction:column;gap:0.625rem}.skill-item{font-size:0.8rem;color:rgba(255,255,255,0.65);display:flex;align-items:baseline;gap:0.5rem}.projects-section{max-width:680px;margin:0 auto}.project-card{position:relative;display:block;text-decoration:none;background:var(--surface);backdrop-filter:blur(12px);border:1px solid var(--theme);border-radius:var(--radius-lg);overflow:hidden;width:100%;transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.project-card::after{content:'';position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(var(--theme-rgb),0.16),transparent 70%);opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:1}.project-card:hover::after{opacity:1}.project-card:hover,.project-card:focus-visible{transform:translateY(-4px);box-shadow:0 12px 32px rgba(var(--theme-rgb),0.16),var(--glass-edge)}.project-card:active{transform:translateY(-2px)}.project-image-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,rgba(var(--theme-rgb),0.3),rgba(var(--theme-rgb),0.05))}.project-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:filter 0.3s ease,opacity 0.3s ease}.project-card:hover .project-image-wrap img{filter:brightness(0.4)}.project-overlay-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff;opacity:0;transition:opacity 0.3s ease;pointer-events:none}.project-card:hover .project-overlay-text{opacity:1}.project-info{padding:1.25rem;position:relative}.project-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:rgba(255,255,255,0.92);margin-bottom:0.375rem}.project-desc{font-size:0.875rem;color:var(--text-dim);line-height:1.5;margin-bottom:0.75rem}.project-link{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.8rem;color:rgba(255,255,255,0.7);transition:color 0.15s}.project-card:hover .project-link{color:var(--theme)}.project-link svg{width:10px;height:10px;transition:transform 0.2s ease}.project-card:hover .project-link svg{transform:translateX(3px)}.project-users{position:absolute;bottom:1.25rem;right:1.25rem;display:flex;align-items:center;gap:0.375rem;color:var(--text-dim);font-size:0.8rem}.project-users svg{width:14px;height:14px;color:rgba(255,255,255,0.4)}.music-content{max-width:680px;margin:0 auto}.music-list{display:flex;flex-direction:column;gap:0.75rem}.music-item{display:flex;align-items:center;gap:0.875rem;padding:0.75rem;background:rgba(20,20,26,0.45);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--glass-edge);cursor:pointer;transition:background 0.15s,border-color 0.15s;-webkit-tap-highlight-color:transparent}.music-item:hover,.music-item:focus-visible{background:rgba(var(--theme-rgb),0.09);border-color:rgba(var(--theme-rgb),0.18)}.music-item img{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:rgba(255,255,255,0.05)}.music-item-info{flex:1;min-width:0}.music-item-title{font-size:0.875rem;font-weight:500;color:rgba(255,255,255,0.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-item-artist{font-size:0.75rem;color:var(--text-dim);margin-top:0.125rem}.music-item-time{font-size:0.7rem;color:rgba(255,255,255,0.35);font-family:var(--font-mono);flex-shrink:0}.albums-section{width:100%;overflow:hidden}.albums-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0.75rem 1rem;background:rgba(20,20,26,0.5);border:1px solid rgba(var(--theme-rgb),0.12);border-radius:var(--radius-md);box-shadow:var(--glass-edge);cursor:pointer;transition:background 0.15s;margin-top:0.5rem;-webkit-tap-highlight-color:transparent}.albums-toggle:hover,.albums-toggle:focus-visible{background:rgba(var(--theme-rgb),0.09)}.albums-toggle-label{font-size:0.8rem;font-weight:500;color:rgba(255,255,255,0.7)}.albums-toggle-icon{width:12px;height:12px;color:rgba(255,255,255,0.5);transition:transform 0.2s ease;flex-shrink:0}.albums-toggle.open .albums-toggle-icon{transform:rotate(180deg)}.albums-list{display:flex;flex-direction:column;gap:0.5rem;padding:0.5rem 0 0 0;max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease}.albums-list.open{max-height:600px;padding:0.5rem 0 0 0}.album-item{display:flex;align-items:center;gap:0.875rem;padding:0.625rem 0.875rem;background:rgba(20,20,26,0.35);border:1px solid rgba(255,255,255,0.04);border-radius:var(--radius-md);box-shadow:var(--glass-edge);cursor:pointer;transition:background 0.15s,border-color 0.15s;-webkit-tap-highlight-color:transparent}.album-item:hover,.album-item:focus-visible{background:rgba(var(--theme-rgb),0.07);border-color:rgba(var(--theme-rgb),0.14)}.album-item img{width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:rgba(255,255,255,0.05)}.album-item-info{flex:1;min-width:0}.album-item-year{font-size:0.7rem;color:var(--theme);font-family:var(--font-mono)}.album-item-title{font-size:0.8rem;font-weight:500;color:rgba(255,255,255,0.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coin-content{max-width:680px;margin:0 auto;text-align:center;padding-top:8rem}.coin-svg{width:120px;height:120px;margin-bottom:1.5rem;animation:coin-float 4s ease-in-out infinite}@keyframes coin-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.coin-amount{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--theme);margin-bottom:1rem;transition:color 0.3s ease}.coin-msg{font-size:0.875rem;color:var(--text-dim);line-height:1.6;max-width:320px;margin:0 auto}.eyebrow{display:flex;align-items:center;gap:0.5rem;color:var(--theme);font-family:var(--font-mono);font-size:0.75rem;margin-bottom:0.5rem;text-transform:lowercase;transition:color 0.3s ease}.eyebrow svg{width:10px;height:10px;color:var(--theme);flex-shrink:0}h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:1rem;background:linear-gradient(135deg,#fff 40%,rgba(var(--theme-rgb),0.75));-webkit-background-clip:text;background-clip:text;color:transparent}.home-content{max-width:680px;margin:0 auto}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--theme);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media (max-width:380px){.page{padding:4.25rem 1rem 2rem}.coin-amount{font-size:2.5rem}}
