.cursor-dot,.cursor-ring{position:fixed;top:-4px;left:-4px;pointer-events:none;z-index:10000;border-radius:50%;will-change:transform}.cursor-dot{width:8px;height:8px;background:var(--accent);mix-blend-mode:difference}.cursor-ring{top:-16px;left:-16px;width:32px;height:32px;border:1.5px solid var(--accent);opacity:.45;transition:opacity .2s ease}html.custom-cursor,html.custom-cursor *{cursor:none!important}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform-origin:left center;transform:scaleX(0);z-index:200;border-radius:0 1px 1px 0;transition:transform .08s linear}[data-tilt]{will-change:transform;transform-style:preserve-3d}:root{--bg: #0a0a0c;--surface: #111114;--surface-hover: #1a1a1f;--border: rgba(255, 255, 255, .06);--text: #e8e6e3;--text-secondary: #8a8a8e;--accent: #7eb8ff;--accent-glow: rgba(126, 184, 255, .15);--gradient-1: #7eb8ff;--gradient-2: #c084fc;--gradient-3: #34d399}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--surface-hover) var(--bg)}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;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)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}.ambient-glow{position:fixed;left:0;top:0;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none;z-index:0;opacity:.5;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s ease;filter:blur(80px);will-change:transform}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2.5rem;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);background:transparent;border-bottom:1px solid transparent;transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s ease,border-color .4s ease,backdrop-filter .4s ease,padding .4s cubic-bezier(.22,1,.36,1)}nav.scrolled{backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);background:#0a0a0cbf;border-bottom-color:var(--border);padding-top:.9rem;padding-bottom:.9rem}.nav-logo{font-family:"Instrument Serif",serif;font-size:1.5rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.85rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;transition:color .3s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--text)}.nav-links a.active:after{width:100%}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 4rem;position:relative}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:100px;border:1px solid var(--border);background:var(--surface);font-size:.8rem;color:var(--text-secondary);margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s .2s forwards}.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--gradient-3);animation:pulse 2s infinite}.hero h1{font-family:"Instrument Serif",serif;font-size:clamp(3.5rem,9vw,8rem);font-weight:400;line-height:1;letter-spacing:-.03em;margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .4s forwards}.gradient-text{background:linear-gradient(135deg,var(--gradient-1),var(--gradient-2),var(--gradient-3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 8s linear infinite;will-change:filter}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);max-width:560px;font-weight:300;line-height:1.7;opacity:0;animation:fadeUp .8s .6s forwards}.hero-cta{display:flex;gap:1rem;margin-top:3rem;opacity:0;animation:fadeUp .8s .8s forwards}.btn{padding:.75rem 2rem;border-radius:100px;font-size:.9rem;font-family:DM Sans,sans-serif;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.22,1,.36,1);cursor:pointer;border:none}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffffff26}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:#fff3;background:var(--surface)}section{position:relative;z-index:1}.section-container{max-width:1100px;margin:0 auto;padding:8rem 2rem}.section-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-weight:500}.section-title{font-family:"Instrument Serif",serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;letter-spacing:-.02em;margin-bottom:3rem;line-height:1.2}.divider{max-width:1100px;margin:0 auto;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent)}.about-layout{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:start}.about-text p{color:var(--text-secondary);font-size:1.05rem;line-height:1.85;margin-bottom:1.5rem;font-weight:300}.about-text p strong{color:var(--text);font-weight:500}.about-photo{width:220px;height:220px;border-radius:20px;overflow:hidden;border:1px solid var(--border);background:var(--surface);flex-shrink:0}.about-photo img{width:100%;height:100%;object-fit:cover;display:block}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.value-card{padding:2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:all .4s cubic-bezier(.22,1,.36,1)}.value-card:hover{border-color:#7eb8ff26}.value-card h3{font-size:1.05rem;font-weight:500;margin-bottom:.5rem}.value-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.7;font-weight:300}.experience-list{display:flex;flex-direction:column;gap:1px}.experience-item{display:grid;grid-template-columns:180px 1fr auto;gap:2rem;align-items:start;padding:2.5rem 2rem;border-radius:16px;border:1px solid transparent;transition:all .4s cubic-bezier(.22,1,.36,1);cursor:default}.experience-item:hover{background:var(--surface);border-color:#7eb8ff1a}.exp-date{font-size:.85rem;color:var(--text-secondary);padding-top:.25rem;font-variant-numeric:tabular-nums}.exp-content h3{font-size:1.2rem;font-weight:500;margin-bottom:.3rem}.exp-content .company{color:var(--accent);font-size:.9rem;margin-bottom:.75rem}.exp-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;font-weight:300}.exp-tags{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.25rem}.exp-tag{font-size:.7rem;padding:.25rem .7rem;border-radius:100px;border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;transition:all .3s ease}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.skill-card{padding:2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:all .5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gradient-1),var(--gradient-2),var(--gradient-3));opacity:0;transition:opacity .4s ease}.skill-card:hover{border-color:#7eb8ff26}.skill-card:hover:before{opacity:.5}.skill-icon{width:44px;height:44px;border-radius:12px;background:#7eb8ff14;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1.25rem}.skill-card h3{font-size:1.05rem;font-weight:500;margin-bottom:.5rem}.skill-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;font-weight:300}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.project-card{padding:2.5rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);transition:all .5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.project-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(126,184,255,.06),transparent 60%);opacity:0;transition:opacity .4s ease}.project-card:hover:after{opacity:1}.project-card:hover{border-color:#7eb8ff33;transform:translateY(-4px)}.project-card>*{position:relative;z-index:1}.project-label{font-size:.7rem;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}.project-card h3{font-family:"Instrument Serif",serif;font-size:1.6rem;font-weight:400;margin-bottom:.75rem}.project-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;font-weight:300}.project-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;font-size:.85rem;color:var(--accent);text-decoration:none;transition:gap .3s ease}.project-link:hover{gap:.7rem}.project-link .arrow{transition:transform .3s ease}.project-link:hover .arrow{transform:translate(3px)}.game-description{color:var(--text-secondary);font-size:1.05rem;font-weight:300;line-height:1.7;max-width:560px;margin-bottom:2.5rem}.game-wrapper{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#0a0a1a;aspect-ratio:2 / 1;transition:all .3s ease}.game-wrapper canvas{width:100%;height:100%;display:block}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2}.game-overlay-content{text-align:center}.game-overlay-content h3{font-family:"Instrument Serif",serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:#fff;margin-bottom:.5rem}.game-overlay-content p{color:#8a8a8e;font-size:.9rem;margin-bottom:1.5rem;font-weight:300;line-height:1.6}.game-hud{position:absolute;top:0;left:0;right:0;display:none;justify-content:space-between;padding:.6rem 1rem;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);color:#fff;font-size:.78rem;font-weight:500;letter-spacing:.02em;z-index:1;pointer-events:none}.game-hud button{pointer-events:auto}.game-controls-hint{color:var(--text-secondary);font-size:.82rem;font-weight:300;margin-top:1.25rem;text-align:center}.game-touch-controls{display:none;position:absolute;bottom:12px;left:12px;right:12px;justify-content:space-between;z-index:3;pointer-events:none}.game-touch-group{display:flex;gap:8px;pointer-events:all}.game-touch-btn{width:50px;height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.15);background:#00000073;color:#fffc;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.game-touch-btn:active{background:#7eb8ff40;border-color:#7eb8ff66}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.blog-card{padding:2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:all .4s cubic-bezier(.22,1,.36,1);text-decoration:none;color:inherit;display:flex;flex-direction:column}.blog-card:hover{border-color:#7eb8ff33;transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.blog-card .blog-date{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem;letter-spacing:.02em}.blog-card h3{font-size:1.05rem;font-weight:500;margin-bottom:.5rem;line-height:1.4}.blog-card p{font-size:.82rem;color:var(--text-secondary);line-height:1.6;font-weight:300;flex-grow:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-more{text-align:center;margin-top:2rem}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.education-list{display:flex;flex-direction:column;gap:2rem}.education-item{padding:1.75rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:all .4s cubic-bezier(.22,1,.36,1)}.education-item:hover{border-color:#7eb8ff26}.education-item h3{font-size:1.05rem;font-weight:500;margin-bottom:.25rem}.education-item .school{color:var(--accent);font-size:.85rem;margin-bottom:.4rem}.education-item .year{font-size:.8rem;color:var(--text-secondary)}.credentials-list{display:flex;flex-direction:column;gap:1.25rem}.credential-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);transition:all .4s cubic-bezier(.22,1,.36,1)}.credential-item:hover{border-color:#7eb8ff26}.credential-icon{width:40px;height:40px;border-radius:10px;background:#7eb8ff14;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.credential-item h3{font-size:.9rem;font-weight:500;margin-bottom:.15rem}.credential-item span{font-size:.78rem;color:var(--text-secondary)}.publication-item{padding:1.75rem 2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);margin-bottom:1rem;transition:all .4s cubic-bezier(.22,1,.36,1)}.publication-item:hover{border-color:#7eb8ff26}.publication-item h3{font-size:1rem;font-weight:500;font-style:italic;margin-bottom:.25rem}.publication-item span{font-size:.82rem;color:var(--text-secondary);font-weight:300}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.testimonial-card{padding:2rem;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:all .4s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}.testimonial-card:hover{border-color:#7eb8ff26}.testimonial-quote{font-size:.9rem;color:var(--text-secondary);line-height:1.75;font-weight:300;font-style:italic;flex-grow:1;margin-bottom:1.5rem}.testimonial-quote:before{content:"“";font-family:"Instrument Serif",serif;font-size:2rem;color:var(--accent);line-height:0;vertical-align:-.35em;margin-right:.15em}.testimonial-author{border-top:1px solid var(--border);padding-top:1rem}.testimonial-author strong{font-size:.85rem;font-weight:500;color:var(--text);display:block;margin-bottom:.15rem}.testimonial-author span{font-size:.75rem;color:var(--text-secondary);font-weight:300}.testimonials-extra{display:none}.testimonials-extra.visible{display:contents}.testimonials-toggle{text-align:center;margin-top:2rem}.contact-section{text-align:center;padding:10rem 2rem}.contact-section .section-title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem}.contact-section .section-title .italic{font-style:italic;color:var(--accent)}.contact-subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:300;margin-bottom:3rem}.contact-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.contact-link{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;border-radius:100px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:all .3s cubic-bezier(.22,1,.36,1)}.contact-link:hover{color:var(--text);border-color:#7eb8ff4d;background:var(--surface-hover);transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}footer{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.8rem;border-top:1px solid var(--border)}.cmd-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding-top:20vh}.cmd-overlay.active{display:flex}.cmd-palette{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 25px 60px #0006;animation:cmdIn .15s ease}@keyframes cmdIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-input-wrap{display:flex;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);gap:.75rem}.cmd-input-wrap svg{color:var(--text-secondary);flex-shrink:0}.cmd-input{flex:1;background:none;border:none;outline:none;font-size:.95rem;font-family:DM Sans,sans-serif;color:var(--text)}.cmd-input::placeholder{color:var(--text-secondary)}.cmd-kbd{font-size:.65rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.15rem .4rem;font-family:DM Sans,sans-serif}.cmd-results{max-height:320px;overflow-y:auto;padding:.5rem}.cmd-group-label{font-size:.65rem;color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;padding:.5rem .75rem .25rem}.cmd-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:10px;cursor:pointer;transition:background .15s ease;text-decoration:none;color:var(--text)}.cmd-item:hover,.cmd-item.active{background:var(--surface-hover)}.cmd-item-icon{width:32px;height:32px;border-radius:8px;background:#7eb8ff14;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.cmd-item-text strong{font-size:.85rem;font-weight:500;display:block}.cmd-item-text span{font-size:.72rem;color:var(--text-secondary);font-weight:300}.cmd-hint{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-secondary);cursor:pointer;transition:color .2s}.cmd-hint:hover{color:var(--text)}.cmd-hint kbd{font-size:.6rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1rem .35rem;font-family:DM Sans,sans-serif}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}@keyframes gradientShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media(max-width:900px){.skills-grid{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr 1fr}.education-grid{grid-template-columns:1fr;gap:3rem}.testimonials-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.experience-item{grid-template-columns:1fr;gap:.5rem}.exp-tags{margin-top:.75rem}nav{padding:1rem 1.5rem}.nav-links{gap:1.25rem}.about-layout{grid-template-columns:1fr;gap:2rem}.about-photo{width:160px;height:160px;order:-1}}@media(max-width:600px){.skills-grid,.blog-grid{grid-template-columns:1fr}.nav-links{display:none}.section-container{padding:5rem 1.5rem}.hero{padding:7rem 1.5rem 4rem}.hero-cta{flex-direction:column;align-items:center}.game-touch-controls.active{display:flex}}@media print{*,*:before,*:after{background:#fff!important;color:#1a1a1c!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:#1a1a1c!important;border-color:#ddd!important}body:after,.ambient-glow,.cmd-overlay,.cmd-hint,.hero-cta,.divider,.blog-more,.testimonials-toggle,.project-link,footer,#blog,#projects,#game,#testimonials{display:none!important}nav{position:static!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:2px solid #1a1a1c!important;padding:.5rem 0!important}.nav-links{display:flex!important}.nav-links a{color:#1a1a1c!important}main{padding-top:0!important}.hero{min-height:auto!important;padding:2rem 0 1rem!important}.hero h1{font-size:2.5rem!important;animation:none!important;opacity:1!important}.hero-badge,.hero-subtitle{animation:none!important;opacity:1!important}.section-container{padding:2rem 0!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.about-layout{grid-template-columns:1fr!important}.about-photo{display:none!important}.experience-item{padding:.75rem 0!important;border:none!important;break-inside:avoid}.skill-card,.value-card,.education-item,.credential-item,.publication-item{break-inside:avoid;border:1px solid #ddd!important}.skill-card:before{display:none!important}a[href]:after{content:none!important}.contact-section{padding:1rem 0!important}.contact-link{border:1px solid #ddd!important}@page{margin:1.5cm;size:A4}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
