*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{min-height:100vh;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}:root{--color-bg:#0a0a0a;--color-bg-alt:#141414;--color-fg:#f2f2f2;--color-fg-dim:#8a8a8a;--color-accent:#fff;--color-border:#2a2a2a;--color-glitch:#fff;--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--shadow-card:0 0 0 1px var(--color-border), 0 4px 24px #00000080;--shadow-glow:0 0 20px #ffffff0d, 0 0 40px #ffffff05;--card-max-width:420px}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);line-height:1.6}.page{min-height:100vh;padding:var(--space-xl) var(--space-md);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.grain-overlay{z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}.profile-card{width:100%;max-width:var(--card-max-width);align-items:center;gap:var(--space-lg);padding:var(--space-2xl) var(--space-xl);background:var(--color-bg-alt);border-radius:var(--radius-lg);z-index:1;border:none;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000080,0 0 20px #ffffff05}.profile-card>*{z-index:2;position:relative}.profile-card:before{content:"";z-index:-2;background:conic-gradient(#0000 0% 40%,#fff9 50%,#0000 60% 100%);width:200%;height:200%;animation:4s linear infinite rotate-card-glow;position:absolute;top:-50%;left:-50%}.profile-card:after{content:"";background:var(--color-bg-alt);border-radius:calc(var(--radius-lg) - 1px);z-index:-1;position:absolute;inset:1px}@keyframes rotate-card-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-photo-wrapper{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-fg-dim) 0%, var(--color-border) 50%, var(--color-fg-dim) 100%);width:120px;height:120px;box-shadow:var(--shadow-glow);transition:box-shadow var(--duration-normal) var(--ease-out);padding:2px;position:relative;overflow:hidden}.profile-photo-wrapper:hover{box-shadow:0 0 30px #ffffff14,0 0 60px #ffffff08}.profile-photo{border-radius:var(--radius-full);object-fit:cover;filter:grayscale(5%)contrast(1.05);width:100%;height:100%;transition:filter var(--duration-normal) var(--ease-out)}.profile-photo-wrapper:hover .profile-photo{filter:grayscale(0%)contrast(1.1)}.username{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-accent);text-align:center;font-size:1.75rem;font-weight:700;line-height:1.2}.status-badge{top:var(--space-md);left:var(--space-md);align-items:center;gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:var(--font-mono);color:var(--color-fg-dim);letter-spacing:.02em;z-index:10;background:#ffffff08;padding:6px 12px;font-size:.75rem;display:inline-flex;position:absolute}.status-dot{border-radius:var(--radius-full);background-color:var(--color-fg-dim);width:6px;height:6px;transition:background-color var(--duration-normal) var(--ease-out);flex-shrink:0}.status-dot.online{background-color:#43b581;box-shadow:0 0 6px #43b58180}.status-dot.idle{background-color:#faa61a;box-shadow:0 0 6px #faa61a66}.status-dot.dnd{background-color:#f04747;box-shadow:0 0 6px #f0474766}.bio{color:var(--color-fg-dim);text-align:center;letter-spacing:.01em;max-width:320px;font-size:.9rem;line-height:1.7}.tech-stack{gap:var(--space-xs);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.tech-badge{border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:default;background:#ffffff0a;align-items:center;gap:5px;padding:4px 10px;transition:border-color .2s,background .2s;display:flex}.tech-badge:hover{background:#ffffff14;border-color:#ffffff4d}.tech-icon{width:13px;height:13px;color:var(--color-fg-dim);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tech-icon svg{width:100%;height:100%}.tech-label{font-family:var(--font-mono);color:var(--color-fg-dim);white-space:nowrap;font-size:.65rem}.music-player{bottom:var(--space-xl);right:var(--space-xl);align-items:center;gap:var(--space-xs);display:flex;position:absolute}.music-btn{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-fg-dim);cursor:pointer;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:border-color .2s,background .2s,color .2s;display:flex}.music-btn:hover,.music-btn.playing{border-color:var(--color-accent);color:var(--color-accent);background:#ffffff1a}.music-label{font-family:var(--font-mono);color:var(--color-fg-dim);opacity:.6;font-size:.6rem}.spotify-card{opacity:0;flex-wrap:nowrap;align-items:center;gap:6px;max-width:0;transition:max-width .4s,opacity .3s,margin-left .3s,padding-left .3s;display:flex;overflow:hidden}.spotify-card.visible{opacity:1;border-left:1px solid var(--color-border);max-width:250px;margin-left:2px;padding-left:10px}.spotify-note{color:var(--color-fg-dim);flex-shrink:0;font-size:.7rem;animation:1.5s ease-in-out infinite spotify-pulse}@keyframes spotify-pulse{0%,to{opacity:.5}50%{opacity:1}}.spotify-song{font-family:var(--font-mono);color:var(--color-fg);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.7rem;font-weight:500;overflow:hidden}.spotify-sep{font-family:var(--font-mono);color:var(--color-fg-dim);opacity:.4;flex-shrink:0;font-size:.7rem}.spotify-artist{font-family:var(--font-mono);color:var(--color-fg-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.7rem;overflow:hidden}.spotify-progress-bar{background:#ffffff14;border-radius:1px;width:100%;height:1px;display:none;overflow:hidden}.spotify-progress-fill{background:var(--color-fg-dim);width:0%;height:100%;transition:width 1s linear}.game-card{align-items:center;gap:var(--space-sm);width:100%;padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);opacity:0;background:#ffffff08;max-height:0;transition:max-height .4s,opacity .3s,transform .3s,padding .3s;display:flex;overflow:hidden;transform:translateY(6px)}.game-card.visible{max-height:60px;padding:var(--space-sm) var(--space-md);opacity:1;transform:translateY(0)}.game-icon{flex-shrink:0;font-size:1rem}.game-info{flex-direction:column;gap:1px;min-width:0;display:flex}.game-name{font-family:var(--font-body);color:var(--color-fg);font-size:.8rem;font-weight:600}.game-details{font-family:var(--font-mono);color:var(--color-fg-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.social-links{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.social-link{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--color-fg);letter-spacing:.02em;transition:border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);cursor:pointer;background:0 0;font-size:.875rem;font-weight:500;display:flex;position:relative;overflow:hidden}.social-link:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:50%;height:100%;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.social-link:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 0 12px #ffffff1a}.social-link:hover:after{animation:1s ease-in-out infinite regen-sweep}@keyframes regen-sweep{0%{left:-100%}to{left:200%}}.social-link:active{transform:translateY(0)}.social-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.social-link-icon svg{fill:currentColor;width:100%;height:100%}.projects-section{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.projects-label{font-family:var(--font-mono);color:var(--color-fg-dim);letter-spacing:.15em;text-align:left;opacity:.6;margin:0;font-size:.65rem}.projects-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;width:100%;display:grid}.project-card{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:#ffffff08;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-card:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:50%;height:100%;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.project-card:hover{border-color:var(--color-accent);background:#ffffff0f;transform:translateY(-1px)}.project-card:hover:after{animation:.9s ease-in-out infinite regen-sweep}.project-icon{width:20px;height:20px;color:var(--color-fg-dim);transition:color var(--duration-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-card:hover .project-icon{color:var(--color-accent)}.project-icon svg{width:100%;height:100%}.project-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.project-name{font-family:var(--font-body);color:var(--color-fg);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.project-desc{font-family:var(--font-mono);color:var(--color-fg-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;overflow:hidden}.project-arrow{opacity:0;width:12px;height:12px;color:var(--color-fg-dim);transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);flex-shrink:0}.project-card:hover .project-arrow{opacity:1;transform:translate(2px,-2px)}.project-arrow svg{width:100%;height:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-dim)}::selection{color:var(--color-accent);background:#ffffff26}.view-counter{top:var(--space-xl);left:var(--space-xl);align-items:center;gap:var(--space-xs);font-family:var(--font-mono);color:var(--color-fg-dim);opacity:0;animation:fade-in-up var(--duration-normal) var(--ease-out) forwards;animation-delay:calc(var(--duration-normal) * 2);font-size:.75rem;display:flex;position:absolute}.view-icon{font-size:.9rem}@media (width<=480px){.profile-card{padding:var(--space-xl) var(--space-lg);gap:var(--space-md)}.profile-photo-wrapper{width:100px;height:100px}.username{font-size:1.5rem}.bio{font-size:.85rem}.social-link{padding:var(--space-sm) var(--space-md);font-size:.8rem}}@media (width>=768px){.profile-card{padding:var(--space-3xl) var(--space-2xl)}.profile-photo-wrapper{width:140px;height:140px}.username{font-size:2rem}}.glitch-text{display:inline-block;position:relative}.glitching{color:var(--color-glitch);text-shadow:-2px 0 #ff00c1,2px 0 #00fff9;animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch-skew}@keyframes glitch-skew{0%{transform:skew(0deg)}20%{transform:skew(-10deg)}40%{transform:skew(10deg)}60%{transform:skew(-5deg)}80%{transform:skew(5deg)}to{transform:skew(0deg)}}.bio{min-height:1.7em}.typewriter-cursor:after{content:"█";width:8px;color:var(--color-fg-dim);vertical-align:baseline;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.typewriter-done:after{content:"";display:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.custom-cursor{pointer-events:none;z-index:10000;opacity:0;width:0;height:0;transition:opacity .3s;position:fixed;top:0;left:0}.custom-cursor.visible{opacity:1}.cursor-dot{background-color:var(--color-accent);width:4px;height:4px;box-shadow:0 0 4px var(--color-accent);border-radius:50%;position:absolute;top:-2px;left:-2px}.cursor-ring{border:1px solid #fff3;border-radius:50%;width:24px;height:24px;transition:width .2s,height .2s,top .2s,left .2s,border-color .2s;position:absolute;top:-12px;left:-12px}.custom-cursor.hovering .cursor-ring{background-color:#ffffff0d;border-color:#fffc;width:36px;height:36px;top:-18px;left:-18px}.cursor-trail-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.trail-dot{background-color:var(--color-fg-dim);opacity:.5;border-radius:50%;width:2px;height:2px;transition:opacity .5s ease-out;position:absolute;transform:translate(-50%,-50%)}.trail-dot.fading{opacity:0}.profile-card{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(20px)}.profile-card.loaded{opacity:1;transform:translateY(0)}.social-link{opacity:0;animation:fade-in-up .5s var(--ease-out) forwards;transform:translateY(10px)}@keyframes fade-in-up{to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){body,a,button{cursor:none}}
