:root{--bg-primary: #0a0a0f;--bg-alt: #0e0e18;--purple-primary: #7b2ff7;--purple-light: #b44aff;--purple-dark: #1a0a2e;--purple-glow: rgba(123, 47, 247, .4);--text-primary: #e0e0e0;--text-white: #ffffff;--text-muted: #8888aa;--font-body: "Inter", sans-serif;--font-heading: "Space Grotesk", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden}a{color:var(--purple-light);text-decoration:none;transition:color .3s ease}a:hover{color:var(--text-white)}img{max-width:100%;height:auto}#constellation-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}#header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;transition:background .3s ease,box-shadow .3s ease}#header.scrolled{background:#0a0a0feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 20px #7b2ff726}nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--text-muted);font-size:.9rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;transition:color .3s ease,text-shadow .3s ease}.nav-links a:hover,.nav-links a.active{color:var(--purple-light);text-shadow:0 0 12px var(--purple-glow)}.lang-toggle{background:#7b2ff726;border:1px solid rgba(123,47,247,.3);color:var(--text-primary);padding:.4rem .8rem;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-family:var(--font-body);transition:all .3s ease}.lang-toggle:hover{background:#7b2ff74d;border-color:var(--purple-primary);box-shadow:0 0 15px var(--purple-glow)}.hero{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.hero-content{max-width:700px}.hero-greeting{font-size:1.1rem;color:var(--purple-light);margin-bottom:.5rem;font-weight:400;letter-spacing:1px;opacity:0;animation:fadeInUp .8s ease forwards;animation-delay:.3s}.hero-name{font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,5rem);font-weight:700;color:var(--text-white);line-height:1.1;margin-bottom:1rem;text-shadow:0 0 30px var(--purple-glow);opacity:0;animation:fadeInUp .8s ease forwards;animation-delay:.6s}.hero-title{font-size:clamp(1rem,3vw,1.5rem);color:var(--text-muted);font-weight:300;min-height:2rem;margin-bottom:2rem;opacity:0;animation:fadeInUp .8s ease forwards;animation-delay:.9s}.hero-title .cursor{display:inline-block;width:2px;height:1.2em;background:var(--purple-light);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}.hero-cta{display:inline-block;padding:.8rem 2.5rem;border:1px solid var(--purple-primary);border-radius:30px;color:var(--purple-light);font-weight:500;font-size:.95rem;letter-spacing:1px;transition:all .3s ease;opacity:0;animation:fadeInUp .8s ease forwards;animation-delay:1.2s}.hero-cta:hover{background:var(--purple-primary);color:var(--text-white);box-shadow:0 0 25px var(--purple-glow);transform:translateY(-2px)}.showcase-section{position:relative;z-index:1;height:300vh}.showcase-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;overflow:hidden}.showcase-label{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,2rem);color:var(--text-white);text-shadow:0 0 20px var(--purple-glow);letter-spacing:1px}.monitor-scene{perspective:1600px;perspective-origin:50% 40%;display:flex;flex-direction:column;align-items:center}.monitor-wrapper{display:flex;flex-direction:column;align-items:center}.monitor{width:500px;height:330px;position:relative;transform-style:preserve-3d;transition:transform .05s linear}.monitor-face{position:absolute;width:500px;height:330px;backface-visibility:hidden;border-radius:12px;overflow:hidden;border:2px solid rgba(123,47,247,.3);box-shadow:0 0 40px #7b2ff71f}.monitor-front{transform:translateZ(250px)}.monitor-right{transform:rotateY(90deg) translateZ(250px)}.monitor-back{transform:rotateY(180deg) translateZ(250px)}.monitor-left{transform:rotateY(-90deg) translateZ(250px)}.monitor-base{width:160px;height:10px;background:linear-gradient(180deg,#2a2a3a,#1a1a2a);border-radius:0 0 4px 4px;margin-top:6px;position:relative}.monitor-stand{width:70px;height:40px;background:linear-gradient(180deg,#1a1a2a,#0f0f1a);clip-path:polygon(15% 0%,85% 0%,100% 100%,0% 100%);margin-top:-2px}.code-window{width:100%;height:100%;background:#12121f;display:flex;flex-direction:column}.code-titlebar{display:flex;align-items:center;gap:7px;padding:10px 16px;background:#1a1a2e;border-bottom:1px solid rgba(123,47,247,.15)}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#ffbd2e}.dot.green{background:#28ca42}.code-filename{margin-left:10px;font-size:.8rem;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.code-content{padding:16px 20px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:.85rem;line-height:1.7;color:#c0c0d0;overflow:hidden;margin:0;flex:1}.code-content .kw{color:#c678dd}.code-content .str{color:#98c379}.code-content .fn{color:#61afef}.code-content .dec{color:#e5c07b}.code-content .tp{color:#56b6c2}.code-content .key{color:#e06c75}.code-content .num{color:#d19a66}.showcase-caption{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.caption-item{font-size:.85rem;color:var(--text-muted);padding:.4rem 1rem;border-radius:20px;border:1px solid transparent;transition:all .4s ease}.caption-item.active{color:var(--purple-light);border-color:#7b2ff766;background:#7b2ff71a;text-shadow:0 0 10px var(--purple-glow)}@media(max-width:768px){.showcase-section{height:250vh}.monitor,.monitor-face{width:240px;height:158px}.monitor-front{transform:translateZ(120px)}.monitor-right{transform:rotateY(90deg) translateZ(120px)}.monitor-back{transform:rotateY(180deg) translateZ(120px)}.monitor-left{transform:rotateY(-90deg) translateZ(120px)}.code-content{font-size:.55rem;padding:8px 10px}.code-titlebar{padding:6px 10px}.dot{width:8px;height:8px}.showcase-caption{gap:.8rem}.caption-item{font-size:.75rem;padding:.3rem .7rem}}.section{position:relative;z-index:1;padding:6rem 2rem}.section-alt{background:#0e0e1899}.container{max-width:1000px;margin:0 auto}.section-title{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.5rem);color:var(--text-white);text-align:center;margin-bottom:3rem;position:relative;text-shadow:0 0 20px var(--purple-glow)}.section-title:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--purple-primary),var(--purple-light));margin:.8rem auto 0;border-radius:2px}.about-intro{font-size:1.1rem;text-align:center;color:var(--purple-light);margin-bottom:1.5rem;font-weight:500}.about-text{text-align:center;max-width:800px;margin:0 auto 3rem;color:var(--text-muted);line-height:1.8;white-space:pre-line}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:1.5rem;max-width:700px;margin:2.5rem auto 0}.tech-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;border-radius:12px;background:#7b2ff70d;border:1px solid rgba(123,47,247,.1);transition:all .3s ease}.tech-item:hover{background:#7b2ff71f;border-color:#7b2ff74d;transform:translateY(-4px);box-shadow:0 8px 25px #7b2ff726}.tech-item img{width:40px;height:40px}.tech-item span{font-size:.75rem;color:var(--text-muted);text-align:center}.career-content{max-width:800px;margin:0 auto;padding:2rem;border-left:3px solid var(--purple-primary);background:#7b2ff708;border-radius:0 12px 12px 0}.career-text{color:var(--text-muted);line-height:1.9;white-space:pre-line}.hobby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.hobby-card{background:#7b2ff70d;border:1px solid rgba(123,47,247,.12);border-radius:16px;padding:2rem;transition:all .4s ease}.hobby-card:hover{background:#7b2ff71a;border-color:#7b2ff74d;transform:translateY(-6px);box-shadow:0 12px 40px #7b2ff726}.hobby-icon{width:48px;height:48px;margin-bottom:1rem;color:var(--purple-light);display:flex;align-items:center;justify-content:center}.hobby-icon svg{width:100%;height:100%}.hobby-card h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--text-white);margin-bottom:.75rem}.hobby-card p{color:var(--text-muted);font-size:.92rem;line-height:1.7}.contact-text{text-align:center;color:var(--text-muted);margin-bottom:2.5rem;font-size:1.1rem}.contact-links{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.contact-link{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 2rem;border-radius:16px;background:#7b2ff70f;border:1px solid rgba(123,47,247,.15);color:var(--text-primary);transition:all .4s ease;min-width:130px}.contact-link svg{width:40px;height:40px;color:var(--purple-light);transition:all .3s ease}.contact-link span{font-size:.9rem;font-weight:500}.contact-link:hover{background:#7b2ff726;border-color:var(--purple-primary);transform:translateY(-6px);box-shadow:0 12px 40px #7b2ff733;color:var(--text-white)}.contact-link:hover svg{color:var(--text-white);filter:drop-shadow(0 0 8px var(--purple-glow))}footer{position:relative;z-index:1;text-align:center;padding:2rem;color:var(--text-muted);font-size:.85rem;border-top:1px solid rgba(123,47,247,.1)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media(max-width:1024px){.nav-links{gap:1.2rem}.hobby-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media(max-width:768px){#header{padding:.8rem 1rem}.nav-links{display:none}.lang-toggle{margin-left:auto}.section{padding:4rem 1.2rem}.hero{padding:1.5rem}.tech-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.hobby-grid{grid-template-columns:1fr}.career-content{padding:1.5rem}.contact-links{gap:1.5rem}.contact-link{padding:1.2rem 1.5rem;min-width:100px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--purple-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--purple-primary)}::selection{background:#7b2ff766;color:var(--text-white)}
