@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--bg:#0a0a12;--bg-alt:#0e0e1a;--surface:#ffffff0a;--surface-border:#ffffff14;--text:#eaeaf0;--text-dim:#9a9ab0;--accent:#7c6cff;--accent-2:#00d4ff;--gradient:linear-gradient(120deg, #7c6cff, #00d4ff);--radius:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4{font-family:Sora,sans-serif}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 24px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}.nav{z-index:100;justify-content:space-between;align-items:center;padding:18px 40px;transition:background .3s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a12d1;padding:12px 40px;box-shadow:0 4px 30px #0006}.nav-logo{color:var(--text);font-family:Sora,sans-serif;font-size:1.5rem;font-weight:800}.nav-logo span{color:var(--accent)}.nav-logo:hover{text-decoration:none}.nav-links{gap:28px;list-style:none;display:flex}.nav-links a{color:var(--text-dim);padding-bottom:4px;font-size:.92rem;font-weight:500;transition:color .2s;display:inline-block;position:relative}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-links a:after{content:"";background:var(--gradient);transform-origin:0;border-radius:2px;height:2px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a.active{color:var(--text)}.nav-links a.active:after{transform:scaleX(1)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.nav-toggle span{background:var(--text);border-radius:2px;width:24px;height:2px}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.blob{filter:blur(110px);opacity:.35;border-radius:50%;animation:14s ease-in-out infinite float;position:absolute}.blob-1{background:#7c6cff;width:520px;height:520px;top:-140px;left:-120px}.blob-2{background:#00d4ff;width:460px;height:460px;animation-delay:-7s;bottom:-160px;right:-100px}@keyframes float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.08)}}.grid-overlay{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.hero-content{max-width:820px;position:relative}.hero-photo-wrap{width:150px;height:150px;margin:0 auto 28px;position:relative}.hero-photo{object-fit:cover;z-index:1;border:3px solid #ffffff26;border-radius:50%;width:100%;height:100%;position:relative}.hero-ring{z-index:0;background:conic-gradient(#7c6cff,#00d4ff,#7c6cff);border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-8px}@keyframes spin{to{transform:rotate(360deg)}}.hero-greeting{color:var(--accent-2);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:600}.hero-name{margin:8px 0 4px;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800}.hero-title{margin-bottom:22px;font-size:clamp(1.1rem,2.6vw,1.6rem);font-weight:600}.gradient-text{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-summary{color:var(--text-dim);max-width:640px;margin:0 auto 32px}.hero-cta{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:56px;display:flex}.btn{cursor:pointer;border-radius:999px;padding:13px 30px;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-block}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 8px 26px #7c6cff59}.btn-primary:hover{box-shadow:0 12px 34px #7c6cff80}.btn-outline{border:1px solid var(--surface-border);color:var(--text);background:var(--surface)}.btn-outline:hover{background:#ffffff17}.hero-stats{flex-wrap:wrap;justify-content:center;gap:clamp(24px,5vw,64px);display:flex}.stat{flex-direction:column;display:flex}.stat-value{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Sora,sans-serif;font-size:2rem;font-weight:800}.stat-label{color:var(--text-dim);font-size:.85rem}.page{padding:120px 0 90px;animation:.45s both pageIn}.page-alt{background:var(--bg-alt)}.page-home{padding:0;animation:none}.page-home .hero{padding-bottom:40px}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.home-quick{padding:0 0 90px}.section-title{margin-bottom:48px;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700}.section-title span{color:var(--accent-2);margin-right:10px;font-size:.75em;font-weight:600}.section-sub{color:var(--text-dim);margin:-30px 0 40px}.about-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px;display:grid}.about-text p{color:var(--text-dim);margin-bottom:18px}.about-text strong{color:var(--text)}.about-edu{margin-top:34px}.about-edu h3,.info-card h3{color:var(--text);margin:22px 0 14px;font-size:1rem}.about-edu h3:first-child{margin-top:0}.edu-item,.cert{align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.edu-year,.cert-year{color:var(--accent-2);min-width:48px;font-family:Sora,sans-serif;font-weight:700}.edu-item div,.cert div{flex-direction:column;display:flex}.edu-item span,.cert span{color:var(--text-dim);font-size:.88rem}.info-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);margin-bottom:22px;padding:26px}.info-card h3:first-child{margin-top:0}.info-card ul{list-style:none}.info-card li{color:var(--text-dim);word-break:break-all;align-items:center;gap:10px;padding:5px 0;font-size:.92rem;display:flex}.lang{color:var(--text-dim);justify-content:space-between;align-items:center;padding:4px 0;font-size:.92rem;display:flex}.dots{gap:5px;display:flex}.dot{background:#ffffff26;border-radius:50%;width:9px;height:9px}.dot.filled{background:var(--accent)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.skill-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:26px;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-card:hover{border-color:#7c6cff73;transform:translateY(-5px);box-shadow:0 14px 40px #7c6cff1f}.skill-icon{margin-bottom:12px;font-size:1.8rem}.skill-card h3{margin-bottom:14px;font-size:1.05rem}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--surface-border);color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:4px 12px;font-size:.78rem}.tag-accent{color:#c5bcff;background:#7c6cff1f;border-color:#7c6cff59}.timeline{border-left:2px solid #ffffff1a;margin-left:12px;padding-left:36px;position:relative}.timeline-item{margin-bottom:44px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:var(--gradient);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-45px;box-shadow:0 0 0 5px #7c6cff2e}.timeline-content{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:24px 28px;transition:border-color .25s,transform .25s}.timeline-content:hover{border-color:#00d4ff59;transform:translate(4px)}.timeline-period{color:var(--accent-2);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.timeline-content h3{margin:6px 0 2px;font-size:1.15rem}.timeline-content h4{color:var(--text-dim);margin-bottom:14px;font-size:.9rem;font-weight:500}.timeline-content ul{margin-bottom:14px;list-style:none}.timeline-content li{color:var(--text-dim);margin-bottom:6px;padding-left:18px;font-size:.92rem;position:relative}.timeline-content li:before{content:"▹";color:var(--accent);position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.project-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:30px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative}.project-card:hover{border-color:#7c6cff80;transform:translateY(-6px);box-shadow:0 18px 50px #7c6cff26}.project-card.highlight{background:linear-gradient(160deg,#7c6cff1a,#00d4ff0d);border-color:#00d4ff66}.badge{background:var(--gradient);color:#fff;letter-spacing:.05em;border-radius:999px;padding:4px 14px;font-size:.72rem;font-weight:700;position:absolute;top:-12px;right:18px}.project-card h3{font-size:1.25rem}.project-card p{color:var(--text-dim);flex:1;font-size:.92rem}.project-link{color:var(--accent-2);font-size:.9rem;font-weight:600}.project-link:hover{opacity:.8;text-decoration:none}.games-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.game-card{background:var(--surface);border:1px solid var(--surface-border);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:18px 20px;transition:transform .2s,border-color .2s;display:flex}.game-card:hover{border-color:#00d4ff66;text-decoration:none;transform:translateY(-3px)}.game-icon{font-size:1.3rem}.game-name{flex:1;font-size:.92rem;font-weight:600}.game-arrow{color:var(--accent-2)}.contact-box{text-align:center;background:linear-gradient(160deg,#7c6cff1f,#00d4ff0f);border:1px solid #7c6cff4d;border-radius:24px;max-width:620px;margin:0 auto;padding:56px 40px}.contact-box h3{margin-bottom:14px;font-size:1.8rem}.contact-box p{color:var(--text-dim);margin-bottom:30px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--surface-border);padding:40px 24px;font-size:.88rem}.footer-sub{opacity:.7;font-size:.78rem}@media (width<=860px){.about-grid{grid-template-columns:1fr}.nav-toggle{display:flex}.nav-links{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e0e1af7;flex-direction:column;justify-content:center;gap:30px;width:min(70vw,300px);height:100vh;padding:40px;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}.nav-links.open{transform:translate(0)}.nav{padding:14px 22px}.nav-scrolled{padding:10px 22px}.page{padding:96px 0 70px}.page-home{padding:0}}
