:root{color-scheme:dark;--bg:#08070a;--bg2:#0f0d14;--bg3:#161320;--text:#d4cfc8;--muted:#6b6478;--accent:#7a1c2e;--accent-light:#b03050;--border:rgba(255,255,255,.07);--frost:rgba(200,210,230,.02);--shadow:0 24px 64px rgba(0,0,0,.5);--section-tint:rgba(20,8,12,0)}
*{box-sizing:border-box;cursor:none}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% 20%,var(--section-tint),transparent 55%),linear-gradient(150deg,var(--bg),#0b0910 55%,#060608);color:var(--text);font:400 1rem/1.8 "Cormorant Garamond",serif;opacity:0;filter:blur(6px);transform:scale(1.025);transition:opacity 750ms cubic-bezier(.4,0,.2,1),filter 750ms cubic-bezier(.4,0,.2,1),transform 750ms cubic-bezier(.4,0,.2,1),background 1.2s ease}body.loaded{opacity:1;filter:none;transform:none}body::before{position:fixed;inset:0;z-index:20;content:"";pointer-events:none;opacity:.042;mix-blend-mode:overlay;filter:url(#grain)}body::after{position:fixed;inset:0;z-index:19;content:"";pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 40%,rgba(0,0,0,.72) 120%)}.grain-source{position:absolute;width:0;height:0}a{color:inherit;text-decoration:none}p{margin-top:0;color:var(--muted)}h1,h2,h3{margin-top:0;font-family:Cinzel,serif}h1{min-height:.9em;margin-bottom:24px;font-size:clamp(4rem,10vw,9rem);font-weight:700;line-height:.88;letter-spacing:-.01em;text-shadow:0 0 38px rgba(122,28,46,.24)}h2{margin-bottom:18px;font-size:clamp(1.8rem,4vw,3.4rem);font-weight:500;line-height:1}h3{margin-bottom:12px;font-size:1.2rem;font-weight:500}.eyebrow,.card-label{margin-bottom:14px;color:var(--muted);font:500 .72rem/1.4 Cinzel,serif;letter-spacing:.12em;text-transform:uppercase}
.fog{position:fixed;z-index:0;width:80vw;height:40vh;border-radius:50%;pointer-events:none;filter:blur(60px);background:radial-gradient(ellipse,rgba(140,120,180,.06),transparent 70%);opacity:.9}.fog-a{top:12%;left:-12vw;animation:fog-a 22s ease-in-out infinite alternate}.fog-b{top:-8%;right:-18vw;animation:fog-b 31s ease-in-out infinite alternate}.fog-c{top:45%;left:-20vw;animation:fog-c 44s ease-in-out infinite alternate}#snow-canvas{position:fixed;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.bats{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.bat{position:absolute;top:0;left:0;width:24px;color:#8b7aaa;opacity:.7;will-change:transform}.bat svg{display:block;width:100%;overflow:visible}.wing-left,.wing-right{transform-box:fill-box;transform-origin:right center;animation:flap .48s ease-in-out infinite}.wing-right{transform-origin:left center;animation-delay:.1s}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%)}.cursor-dot{width:4px;height:4px;background:var(--accent-light);transition:transform 80ms ease,opacity .2s}.cursor-ring{z-index:9998;width:20px;height:20px;border:1px solid rgba(176,48,80,.5);transition:transform 150ms ease,background 150ms ease,opacity .2s}.cursor-dot.hover{transform:translate(-50%,-50%) scale(0)}.cursor-ring.hover{transform:translate(-50%,-50%) scale(2.2);background:rgba(176,48,80,.08)}
.site-header{position:fixed;top:0;right:0;left:0;z-index:15;border-bottom:1px solid var(--border);background:rgba(8,7,10,.72);backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1100px,calc(100% - 32px));min-height:66px;margin:auto}.brand,.nav-links{display:flex;align-items:center}.brand{gap:10px;font:500 .82rem Cinzel,serif;letter-spacing:.1em}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--accent)}.nav-links{gap:23px}.nav-links a{color:var(--muted);font-size:.95rem;transition:color 180ms}.nav-links a:hover{color:var(--text)}.nav-toggle{display:none;border:0;background:transparent;color:var(--text);font:600 .9rem "Cormorant Garamond",serif}
main{position:relative;z-index:4}.hero{position:relative;min-height:100vh;overflow:hidden}.moon{position:absolute;top:9%;right:5%;z-index:-3;width:clamp(260px,36vw,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(200,185,140,.06),transparent 70%);box-shadow:0 0 100px rgba(200,185,140,.035)}.tree-line{position:absolute;right:0;bottom:0;left:0;z-index:-2;width:100%;height:35%;color:var(--text);opacity:.12}.hero-inner,.section{width:min(1100px,calc(100% - 32px));margin:auto}.hero-inner{display:grid;grid-template-columns:1.25fr minmax(290px,.55fr);align-items:center;gap:64px;min-height:100vh;padding:120px 0 70px}.hero-text{max-width:560px;font-size:1.2rem}.hero-actions,.social-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border:1px solid var(--border);border-radius:4px;font:500 .73rem Cinzel,serif;letter-spacing:.1em;transition:all 180ms}.button:hover,.button:active{transform:translateY(-4px);border-color:rgba(176,48,80,.4);box-shadow:0 0 22px rgba(122,28,46,.22)}.button.primary{background:linear-gradient(135deg,var(--accent-light),var(--accent));color:#f0e9e1}.button.ghost{background:transparent}
.panel{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:linear-gradient(145deg,var(--frost),rgba(255,255,255,.018));box-shadow:var(--shadow);backdrop-filter:blur(12px);transition:all 180ms ease}.panel::before,.panel::after{position:absolute;z-index:2;width:10px;height:10px;content:"";pointer-events:none;opacity:.85}.panel::before{top:-1px;left:-1px;border-top:1px solid var(--accent);border-left:1px solid var(--accent);box-shadow:calc(100% + var(--corner-x,0px)) 0 0 -1px transparent}.panel::after{right:-1px;bottom:-1px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent)}.panel:hover,.panel:active{transform:translateY(-4px);border-color:rgba(176,48,80,.4);box-shadow:var(--shadow),0 0 22px rgba(122,28,46,.22)}.corner-layer{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(var(--accent),var(--accent)) top right/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) top right/1px 10px no-repeat,linear-gradient(var(--accent),var(--accent)) bottom left/10px 1px no-repeat,linear-gradient(var(--accent),var(--accent)) bottom left/1px 10px no-repeat;opacity:.6}.glow-ripple{position:absolute;z-index:0;width:20px;height:20px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(176,48,80,.25),transparent 68%);transform:translate(-50%,-50%) scale(0);animation:glow-ripple .4s ease-out forwards}.profile-card{padding:22px}.profile-image{position:relative;aspect-ratio:1;margin-bottom:20px;border:1px solid var(--border);box-shadow:0 0 32px rgba(122,28,46,.14)}.profile-image img{display:block;width:100%;height:100%;object-fit:cover}.profile-card h2{margin-bottom:7px;font-size:1.45rem}.profile-card p:last-child{margin-bottom:0}.presence-line{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:.9rem}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#605b66}.status-dot.online{background:#62826a;box-shadow:0 0 10px #62826a;animation:pulse 2s infinite}.status-dot.idle{background:#a48b55;box-shadow:0 0 10px #a48b55;animation:pulse 2s infinite}.status-dot.dnd{background:#88404a;box-shadow:0 0 10px #88404a;animation:pulse 2s infinite}.status-dot.offline{background:#605b66}
.divider{position:relative;z-index:4;width:min(1100px,calc(100% - 32px));height:1px;margin:auto;background:var(--border)}.divider::after{position:absolute;top:50%;left:50%;padding:0 10px;content:"◆";color:var(--accent);font-size:.55rem;background:var(--bg);transform:translate(-50%,-50%)}.section{padding:100px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.section-heading{max-width:620px;margin-bottom:34px}.prose{padding:32px;font-size:1.08rem}.prose p:last-child{margin-bottom:0}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.project-card{min-height:315px;padding:25px}.project-watermark{position:absolute;right:10px;bottom:-42px;color:var(--text);font:700 8rem Cinzel,serif;opacity:.04}.project-top{position:relative;display:flex;justify-content:space-between;margin-bottom:48px;color:var(--muted);font:500 .7rem Cinzel,serif;letter-spacing:.1em}.project-icon{position:relative;margin-bottom:22px}.project-card h3,.project-card p,.project-card .private{position:relative}.private{color:var(--muted);font-size:.9rem}.skill-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.skill{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--border);border-radius:6px;background:var(--frost);font-size:1rem;font-family:"Cormorant Garamond",serif;font-weight:600;color:var(--text);letter-spacing:.03em;transition:border-color 250ms,background 250ms}.skill:hover{border-color:var(--accent-light);background:rgba(176,48,80,.08)}.skill b{font:400 .72rem monospace}.skill img,.skill svg{flex:0 0 22px;width:22px;height:22px}.skill img,.social-row img,.project-icon,.github-name img{transition:filter 180ms}.skill:hover img,.social-row a:hover img,.project-card:hover .project-icon,.github-name:hover img{filter:drop-shadow(0 0 6px rgba(176,48,80,.6))}
.connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.live-card{min-height:285px;padding:28px}.github-name{position:relative;display:flex;align-items:center;gap:17px}.github-name h3{margin-bottom:0}.stats{position:relative;display:flex;gap:46px;margin:27px 0}.stats div{display:grid}.stats strong{font:500 2.5rem Cinzel,serif}.stats span{color:var(--muted);font-size:.85rem}.text-link{position:relative;color:var(--accent-light);font-weight:600}
.discord-card{padding:0;overflow:hidden}.discord-banner{height:72px;background:var(--accent);background-size:cover;background-position:center;transition:background 400ms}.discord-header{padding:0 20px;margin-top:-28px}.dc-avatar-wrap{position:relative;display:inline-block;width:80px;height:80px}#discord-avatar{display:block;width:80px;height:80px;border-radius:50%;border:4px solid var(--bg2);object-fit:cover}.dc-decoration{position:absolute;top:50%;left:50%;width:128px;height:128px;transform:translate(-50%,-50%);pointer-events:none}.dc-avatar-wrap .status-dot{position:absolute;right:2px;bottom:2px;width:14px;height:14px;border:3px solid var(--bg2)}.discord-body{padding:12px 20px 22px}.discord-body h3{margin-bottom:2px;font-size:1.1rem}.dc-status-label{font-size:.8rem;color:var(--muted);margin-bottom:14px}.dc-custom-status{display:flex;align-items:center;gap:7px;margin-bottom:14px;padding:10px 14px;border:1px solid var(--border);border-radius:4px;background:var(--frost);font-size:.88rem;color:var(--text)}.dc-custom-status img{width:18px;height:18px;flex:0 0 18px}.dc-activity{padding:12px 14px;border:1px solid var(--border);border-radius:4px;background:var(--frost);font-size:.85rem}.dc-activity .activity-label{font:500 .68rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.dc-activity .activity-row{display:flex;gap:12px;align-items:flex-start}.dc-activity .activity-art{width:50px;height:50px;border-radius:4px;object-fit:cover;flex:0 0 50px}.dc-activity p{margin:0;line-height:1.4}.dc-activity strong{color:var(--text);font-size:.9rem}.dc-activity .activity-details{flex:1;min-width:0}.dc-activity .activity-name{overflow:hidden;font-weight:600;color:var(--text);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.dc-activity .activity-sub{overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.dc-activity .activity-empty{color:var(--muted);font-size:.8rem;font-style:italic}
.comments-panel{max-width:780px;margin:0 auto;padding:32px}.auth-bar{padding:18px 0 24px;border-bottom:1px solid var(--border)}.auth-bar .button{gap:10px}.compose-bar{padding:20px 0;border-bottom:1px solid var(--border)}.compose-user{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.9rem;color:var(--muted)}.compose-user img{width:28px;height:28px;border-radius:50%;object-fit:cover}.compose-user a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}#comment-input{display:block;width:100%;min-height:80px;padding:12px 14px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);font:400 1rem "Cormorant Garamond",serif;resize:vertical;transition:border-color 180ms}#comment-input:focus{outline:none;border-color:rgba(176,48,80,.5)}#comment-input::placeholder{color:var(--muted)}.compose-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.char-count{font-size:.8rem;color:var(--muted)}.comment-list{padding-top:6px}.comment-item{display:flex;gap:13px;padding:18px 0;border-bottom:1px solid var(--border);animation:comment-in 350ms ease both}.comment-item:last-child{border-bottom:none}.comment-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:baseline;gap:10px;margin-bottom:5px}.comment-name{font:600 .92rem "Cormorant Garamond",serif;color:var(--text)}.comment-time{font-size:.78rem;color:var(--muted)}.comment-text{color:var(--muted);font-size:.95rem;line-height:1.65;word-break:break-word;margin:0}.comment-likes{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:.82rem;color:var(--muted)}.comments-empty{padding:32px 0;text-align:center;color:var(--muted);font-size:.95rem}@keyframes comment-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.contact-panel{max-width:720px;margin:auto;padding:46px 30px;text-align:center}.social-row{position:relative;justify-content:center}.social-row a{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--border);border-radius:4px;background:var(--frost);transition:all 180ms}.social-row a:hover,.social-row a:active{transform:translateY(-2px);border-color:var(--accent-light)}.site-footer{position:relative;z-index:4;padding:31px 16px 40px;color:var(--muted);text-align:center}
.reveal{opacity:0;filter:blur(3px);transform:translateY(22px);transition:opacity 600ms cubic-bezier(.4,0,.2,1),filter 600ms cubic-bezier(.4,0,.2,1),transform 600ms cubic-bezier(.4,0,.2,1)}.reveal.was-revealed{opacity:1;filter:none;transform:none}.project-grid .reveal:nth-child(2),.skill-grid .reveal:nth-child(2){transition-delay:90ms}.project-grid .reveal:nth-child(3),.skill-grid .reveal:nth-child(3){transition-delay:180ms}.project-grid .reveal:nth-child(4){transition-delay:270ms}.skill-grid .reveal:nth-child(4){transition-delay:270ms}.skill-grid .reveal:nth-child(5){transition-delay:360ms}.skill-grid .reveal:nth-child(6){transition-delay:450ms}
@keyframes fog-a{to{transform:translateX(-8vw)}}@keyframes fog-b{to{transform:translateX(6vw)}}@keyframes fog-c{to{transform:translate(-5vw,3vh)}}@keyframes flap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.35)}}@keyframes pulse{50%{opacity:.45}}@keyframes glow-ripple{to{opacity:0;transform:translate(-50%,-50%) scale(22)}}
@media(max-width:820px){.nav-toggle{display:block}.nav-links{position:absolute;top:100%;right:0;left:0;display:none;grid-template-columns:repeat(2,1fr);gap:14px;padding:18px max(16px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--border);background:rgba(8,7,10,.96)}.nav-links.open{display:grid}.hero-inner,.split,.connection-grid{grid-template-columns:1fr}.hero-inner{gap:35px;padding-top:110px}.profile-card{max-width:410px}.project-grid{grid-template-columns:1fr}.section{padding:76px 0}.tree-line{height:25%}}
@media(max-width:520px){.hero-inner,.section,.divider,.header-inner{width:calc(100% - 24px)}h1{font-size:clamp(3.4rem,19vw,5.1rem)}.hero-inner{padding-bottom:55px}.project-card{min-height:270px}.bat{max-width:22px}.site-footer{padding-bottom:75px}}
@media(pointer:coarse){*{cursor:auto}.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}body{opacity:1;filter:none;transform:none;background:radial-gradient(circle at 30% 20%,rgba(200,210,230,.035),transparent 28%),var(--bg)}#snow-canvas,.fog,.bats{display:none}.reveal{opacity:1;filter:none;transform:none}}

body{background:radial-gradient(ellipse at 30% 20%,#0d0a18 0%,#08070a 60%,#050408 100%);min-height:100vh}
.site-backdrop{position:fixed;inset:0;z-index:-1;background:url("background.gif") center/cover no-repeat;filter:grayscale(.88) brightness(.22);opacity:.45;pointer-events:none}
.tint-overlay{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--section-tint,transparent);transition:background 1.2s ease}
main{min-height:100vh}
.page{display:none;min-height:calc(100vh - 66px);opacity:0;pointer-events:none;transition:opacity 200ms ease;background:transparent}
.page.page-visible{display:block}
.page.page-visible.split{display:grid}
.page.page-active{opacity:1;pointer-events:auto}
.hero.page{min-height:100vh}
.nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a[aria-current="page"]::after{content:"";display:block;height:1px;margin-top:3px;background:var(--accent)}
.status-indicator{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;flex:0 0 12px}
.status-indicator svg{display:block;width:12px;height:12px}
.discord-banner{position:relative;height:72px;overflow:hidden;background:var(--accent)}
.discord-banner>img{display:block;width:100%;height:100%;object-fit:cover}
.discord-banner>img[hidden]{display:none}
.dc-profile-effect{position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;object-fit:cover;pointer-events:none;mix-blend-mode:screen;opacity:.75}
.dc-profile-effect[hidden]{display:none}
.dc-decoration{position:absolute;top:50%;left:50%;width:100px;height:100px;transform:translate(-50%,-50%);pointer-events:none}
.dc-avatar-wrap .status-indicator{position:absolute;right:3px;bottom:3px;width:16px;height:16px;padding:2px;border-radius:50%;background:var(--bg2)}
.dc-bio{margin:0 0 12px;color:var(--muted);font-size:.85rem;line-height:1.5}
.anime-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1100px;margin:0 auto}
.anime-card{display:flex;gap:16px;align-items:flex-start;padding:16px}
.anime-cover{position:relative;flex:0 0 70px;height:100px;overflow:hidden;border-radius:4px}.anime-cover img{display:block;width:70px;height:100px;object-fit:cover;border:1px solid var(--border);border-radius:4px}.anime-card-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#1a1520 25%,#2a1f35 50%,#1a1520 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.anime-fav-badge{position:absolute;top:8px;left:8px;z-index:2;padding:3px 8px;border-radius:2px;background:var(--accent);color:#fff;font:600 .65rem Cinzel,serif;letter-spacing:.06em}
.anime-info{flex:1;min-width:0}.anime-info h3{margin:0 0 8px;font-size:1rem}.anime-info p{margin:8px 0 0;color:var(--muted);font-size:.88rem;line-height:1.6}
.anime-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:3px 8px;border:1px solid var(--border);border-radius:3px;color:var(--muted);font:500 .7rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase}
.about-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.interest-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.interest-grid span{padding:8px 14px;border:1px solid var(--border);border-radius:4px;background:var(--frost);color:var(--text);font-size:.9rem}.interest-note{margin-top:14px}.fav-chars{display:flex;flex-direction:column;gap:20px;margin-top:4px}.fav-char{display:flex;gap:18px;align-items:flex-start;padding:16px;border-left:2px solid var(--accent);background:var(--frost);border-radius:0 4px 4px 0}.fav-char-portrait{position:relative;flex:0 0 72px;width:72px;height:102px;border-radius:4px;overflow:hidden;background:var(--bg2)}.fav-char-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.fav-char-portrait-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#1a1520 25%,#2a1f35 50%,#1a1520 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.fav-char-body{flex:1;min-width:0}.fav-char-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.fav-char-series-logo{flex:0 0 42px;width:42px;height:60px;object-fit:cover;border-radius:3px;opacity:.85}.char-name{display:block;margin-bottom:2px;color:var(--text);font:600 1rem "Cormorant Garamond",serif}.char-series{display:block;color:var(--accent-light);font:500 .7rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.char-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.6}
.comments-header{display:flex;align-items:baseline;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:20px}.comments-header h3{margin:0;font-size:1rem}.comments-count{color:var(--muted);font-size:.8rem}.auth-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 22px;border-bottom:1px solid var(--border)}.auth-bar p{margin:0;font-size:.9rem}.compose-inner{display:flex;gap:12px;align-items:flex-start;padding:16px 0 20px;border-bottom:1px solid var(--border)}.compose-field{flex:1;min-width:0}
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;max-width:1100px;margin:0 auto}.game-card{overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:4px;background:#1b2838;transition:transform 200ms ease,box-shadow 200ms ease}.game-card:hover{z-index:2;transform:scale(1.04);box-shadow:0 10px 40px rgba(0,0,0,.7),0 0 0 1px rgba(102,192,244,.25)}.game-card-art{position:relative;overflow:hidden;aspect-ratio:2/3;background:#1b2838}.game-card-art.game-card-header-mode{aspect-ratio:16/9}.game-card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.game-card-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#1b2838 25%,#2a3f5a 50%,#1b2838 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.game-card-info{padding:8px 10px 10px;background:#1b2838}.game-card-title{display:block;overflow:hidden;color:#c6d4df;font:500 .72rem Cinzel,serif;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.game-card:hover .game-card-info{border-top:1px solid #66c0f4}.game-card:hover .game-card-title{color:#fff}
.game-card-art.game-card-logo-only{aspect-ratio:2/3;background:#111;display:flex;align-items:center;justify-content:center;padding:24px}.game-card-art.game-card-logo-only img{width:70%;height:auto;object-fit:contain;object-position:center;filter:invert(1) brightness(.8)}
.steam-game-count{font-size:.8rem;color:var(--muted);margin:4px 0 10px}.steam-thumbnails{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.steam-thumbnails img{width:calc(33.333% - 4px);height:auto;border-radius:3px;object-fit:cover;opacity:.85;transition:opacity 200ms}.steam-thumbnails img:hover{opacity:1}.spotify-playlists{display:flex;flex-direction:column;gap:8px;margin:10px 0;border-radius:6px;overflow:hidden}.spotify-embed-card{min-width:0}.spotify-embed-card iframe{display:block;border-radius:6px}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.vinyl-btn{position:fixed;right:32px;bottom:32px;left:auto;z-index:200;padding:0;border:0;background:none}
.vinyl-btn:hover .vinyl{box-shadow:0 0 28px rgba(122,28,46,.45)}
.vinyl{position:relative;display:block;width:110px;height:110px;border:2px solid #2a2a2a;border-radius:50%;background:radial-gradient(circle at center,#0d0d0d 0%,#1a1a1a 18%,#111 20%,#1c1c1c 22%,#111 38%,#1c1c1c 40%,#111 56%,#1c1c1c 58%,#111 72%,#1c1c1c 74%,#0d0d0d 100%);box-shadow:0 4px 24px rgba(0,0,0,.6);transition:opacity 250ms,box-shadow 250ms}
.vinyl-btn[aria-pressed="false"] .vinyl{opacity:.4}.vinyl-btn[aria-pressed="true"] .vinyl{opacity:1;animation:vinyl-spin 3s linear infinite}
.vinyl-groove{position:absolute;top:50%;left:50%;border:1px solid rgba(255,255,255,.045);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.vinyl-groove-1{width:80%;height:80%}.vinyl-groove-2{width:58%;height:58%}.vinyl-groove-3{width:36%;height:36%}
.vinyl-label{position:absolute;top:50%;left:50%;width:30%;height:30%;border-radius:50%;background:radial-gradient(circle at 40% 38%,var(--accent-light),var(--accent));transform:translate(-50%,-50%);box-shadow:0 0 8px rgba(122,28,46,.4)}
.vinyl-hole{position:absolute;top:50%;left:50%;width:9%;height:9%;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:#0a0a0a;transform:translate(-50%,-50%)}
@keyframes vinyl-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@media(max-width:820px){
  .hero.page{min-height:auto}.hero-inner{min-height:auto}
  .page.page-visible.split{display:block}
  .about-panels{grid-template-columns:1fr}
  .vinyl-btn{right:22px;bottom:22px}.vinyl{width:80px;height:80px}
}
@media(max-width:520px){
  h1{font-size:clamp(2.8rem,12vw,5rem)}
  .project-grid{grid-template-columns:1fr}
  .anime-grid{grid-template-columns:1fr}
  .games-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
  .vinyl-btn{right:16px;bottom:16px;left:auto}.vinyl{width:64px;height:64px}
  .fav-char{flex-direction:column}.fav-char-portrait{width:100%;height:160px}.fav-char-portrait img{object-position:center top}
}

.visitor-count{min-height:1.5em;margin:18px 0 0;color:rgba(212,207,200,.48);font:500 .68rem Cinzel,serif;letter-spacing:.14em;text-transform:uppercase}
.gothic-clock{position:absolute;right:28px;bottom:22px;display:flex;align-items:center;gap:10px;color:rgba(212,207,200,.42);font:500 .7rem Cinzel,serif;letter-spacing:.14em;text-transform:uppercase}
.clock-sep{color:var(--accent-light)}

.now-playing{display:flex;align-items:center;gap:12px;margin-top:17px;padding:10px;border:1px solid var(--border);border-radius:4px;background:rgba(0,0,0,.18);opacity:1;transition:opacity 280ms}
.now-playing-hidden{opacity:0;pointer-events:none}.np-art{flex:0 0 44px;width:44px;height:44px;border-radius:3px;object-fit:cover}.np-text{display:grid;min-width:0}.np-track,.np-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-track{color:var(--text);font-weight:600}.np-artist{color:var(--muted);font-size:.82rem}.np-bars{display:flex;align-items:flex-end;gap:2px;height:9px;margin-bottom:4px}.np-bars span{width:2px;height:100%;background:#1db954;animation:np-bar .8s ease-in-out infinite alternate}.np-bars span:nth-child(2){animation-delay:-.5s}.np-bars span:nth-child(3){animation-delay:-.25s}.np-bars span:nth-child(4){animation-delay:-.65s}
@keyframes np-bar{from{height:25%}to{height:100%}}

.moon{z-index:1;cursor:none;outline:none}.moon-phase-shadow{position:absolute;inset:17%;border-radius:50%;pointer-events:none;background:rgba(3,3,7,.7);filter:blur(7px);clip-path:inset(0 var(--phase-pct) 0 0)}.moon-phase-shadow[style*="right"]{clip-path:inset(0 0 0 var(--phase-pct))}.moon-tooltip{position:absolute;top:58%;left:50%;z-index:2;padding:7px 10px;border:1px solid var(--border);border-radius:3px;background:rgba(8,7,10,.92);color:var(--text);font:500 .65rem Cinzel,serif;letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity 180ms,transform 180ms}.moon:hover .moon-tooltip,.moon:focus .moon-tooltip,.moon-tooltip.visible{opacity:1;transform:translate(-50%,0)}

.playlists-grid{display:grid;grid-template-columns:minmax(0,760px);justify-content:center}.playlist-single{min-width:0;padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--frost);box-shadow:var(--shadow)}.playlist-single iframe{display:block;max-width:100%;border-radius:4px}

.page-ink{position:fixed;inset:0;z-index:10000;pointer-events:none;background:radial-gradient(circle at 50% 50%,#160812 0,#08070a 42%,#020203 75%);opacity:0;transform:scale(1.5);clip-path:circle(0 at 50% 50%)}.page-ink.ink-in{opacity:1;transform:scale(1);clip-path:circle(75% at 50% 50%);transition:clip-path 180ms ease-in,opacity 100ms}.page-ink.ink-out{opacity:0;clip-path:circle(100% at 50% 50%);transition:opacity 320ms ease-out}

.terminal-overlay{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,2,4,.82);backdrop-filter:blur(8px)}.terminal-overlay[hidden]{display:none}.terminal-inner{display:flex;flex-direction:column;width:min(720px,100%);height:min(480px,78vh);overflow:hidden;border:1px solid rgba(176,48,80,.45);border-radius:5px;background:#08070a;box-shadow:0 0 80px rgba(122,28,46,.28)}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border);background:#100c12}.terminal-title{color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.08em}.terminal-close{padding:0;border:0;background:none;color:var(--muted);font-size:1.3rem}.terminal-output{flex:1;overflow:auto;padding:18px;color:#c9c3cc;font:400 .9rem/1.75 Consolas,"Courier New",monospace;white-space:pre-wrap}.terminal-muted{color:#71697a}.terminal-command{color:var(--accent-light)}.terminal-error{color:#c56070}.terminal-input-row{display:flex;align-items:center;padding:12px 16px;border-top:1px solid var(--border);background:#0d0a0f}.terminal-prompt{color:var(--accent-light);font-family:Consolas,monospace}.terminal-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:400 .9rem Consolas,"Courier New",monospace}

.konami-active{animation:konami-pulse 1.1s ease-in-out 4}.konami-msg{position:fixed;top:84px;left:50%;z-index:10030;padding:13px 20px;border:1px solid var(--accent-light);border-radius:4px;background:rgba(8,7,10,.94);color:var(--text);font:500 .72rem Cinzel,serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 35px rgba(176,48,80,.35);transform:translateX(-50%);animation:konami-msg 3.2s ease both}
@keyframes konami-pulse{50%{filter:hue-rotate(55deg) saturate(1.5)}}@keyframes konami-msg{0%,100%{opacity:0;transform:translate(-50%,-10px)}12%,85%{opacity:1;transform:translate(-50%,0)}}

@media(max-width:820px){html{overflow-x:hidden}.fog{max-width:100vw}.bats{display:none}.gothic-clock{position:relative;right:auto;bottom:auto;justify-content:center;padding:0 16px 24px}.moon{pointer-events:none}.moon-tooltip{display:none}}
@media(max-width:520px){.playlist-single{padding:8px}.playlist-single iframe{height:430px}.terminal-overlay{padding:12px}.terminal-inner{height:82vh}.terminal-output{padding:14px;font-size:.78rem}.konami-msg{top:76px;width:calc(100% - 32px);text-align:center}}

.page-progress{position:fixed;top:0;left:0;z-index:10001;width:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-light));opacity:0;pointer-events:none;transition:width 160ms ease,opacity 300ms}.page-progress.progress-active{opacity:1}
.skip-link{position:fixed;top:-100%;left:16px;z-index:99999;padding:10px 18px;border-radius:4px;background:var(--accent);color:#fff;font:500 .85rem Cinzel,serif;transition:top 200ms}.skip-link:focus{top:16px}
.profile-tagline{margin:0 0 9px;font:500 .7rem Cinzel,serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-light)}
.cursor-trail{position:fixed;z-index:9998;width:5px;height:5px;border-radius:50%;background:var(--accent);pointer-events:none;opacity:0;transform:translate(-50%,-50%)}.cursor-trail.trail-active{animation:trail-fade 500ms ease forwards}@keyframes trail-fade{from{opacity:.45;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}@keyframes blink{50%{opacity:0}}

.skill[data-tip],.github-name[data-tip]{position:relative}.skill[data-tip]::after,.github-name[data-tip]::after{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:10;padding:5px 10px;border:1px solid var(--border);border-radius:3px;background:rgba(8,7,10,.95);color:var(--text);content:attr(data-tip);font:400 .72rem "Cormorant Garamond",serif;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity 180ms}.skill[data-tip]:hover::after,.github-name[data-tip]:hover::after{opacity:1}

.anime-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-chip{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--frost);color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.08em;transition:all 180ms}.filter-chip:hover{border-color:var(--accent-light);color:var(--text)}.filter-chip.active{border-color:var(--accent);background:rgba(122,28,46,.25);color:var(--text)}.anime-count{margin-bottom:20px;color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.1em}
.games-count{margin-bottom:20px;color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.1em;text-align:center}.sort-toggle{margin-top:10px;padding:6px 14px;border:1px solid var(--border);border-radius:4px;background:var(--frost);color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.08em;transition:all 180ms}.sort-toggle.active{border-color:var(--accent-light);color:var(--text)}.game-new-badge{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:2px;background:var(--accent);color:#fff;font:600 .58rem Cinzel,serif;letter-spacing:.08em}

.comment-like{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--muted);font-size:.82rem;transition:all 180ms}.comment-like:hover{border-color:var(--accent-light);color:var(--text)}.comment-like:disabled{opacity:.5}.comment-delete{margin-left:6px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font-size:.9rem;transition:all 180ms}.comment-delete:hover{border-color:#88404a;color:#c56070}

.contact-form{display:flex;flex-direction:column;gap:18px;margin-bottom:32px;text-align:left}.contact-field{display:flex;flex-direction:column;gap:7px}.contact-field label{color:var(--muted);font:500 .72rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.contact-field input,.contact-field textarea{padding:12px 14px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);font:400 1rem "Cormorant Garamond",serif;resize:vertical;transition:border-color 180ms}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:rgba(176,48,80,.5)}.contact-status{color:var(--muted);font-size:.9rem}

.live-badge{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:3px;background:#ff2020;color:#fff;font:700 .65rem Cinzel,serif;letter-spacing:.1em;animation:pulse 2s infinite}.twitch-info{margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.lastfm-tracks{display:flex;flex-direction:column;gap:8px;margin:14px 0}.lastfm-track{display:flex;align-items:center;gap:10px;font-size:.82rem}.lastfm-track img{flex:0 0 32px;width:32px;height:32px;border-radius:2px;object-fit:cover}.lastfm-track-info{flex:1;min-width:0}.lastfm-track-name,.lastfm-track-artist{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lastfm-track-name{color:var(--text);font-weight:600}.lastfm-track-artist{color:var(--muted);font-size:.75rem}.lastfm-now{padding:1px 5px;border-radius:2px;background:var(--accent);color:#fff;font:600 .58rem Cinzel,serif}

.scroll-top{position:fixed;bottom:32px;left:32px;z-index:200;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--frost);color:var(--text);font-size:1rem;opacity:0;backdrop-filter:blur(8px);transition:opacity 200ms,transform 200ms}.scroll-top:not([hidden]){opacity:1}.scroll-top:hover{border-color:var(--accent-light);transform:translateY(-3px)}
@media(max-width:820px){.scroll-top{bottom:86px;left:16px}}
