*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}@keyframes splashOrbPulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}@keyframes splashRingSpin{0%{transform:rotate(0) scale(.9)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(.9)}}@keyframes gridMove{0%{transform:translateZ(0)}to{transform:translate3d(-50px,-50px,0)}}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-20px,0)}}@keyframes gradientFlow{0%{background-position:0 0}to{background-position:200%0}}@keyframes bracketPulse{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(-2px);opacity:1}}@keyframes textGlow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}}@keyframes roleTextGlow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 6px rgba(59,130,246,.6))}}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-24px)}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGradient{0%,to{opacity:.9}50%{opacity:.5}}@keyframes badgePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translateZ(0)}}:root{--color-bg-primary: #0a0e1a;--color-bg-secondary: #131827;--color-bg-tertiary: #1a1f35;--color-text-primary: #e8eaf0;--color-text-secondary: #a0a8c0;--color-text-muted: #6b7280;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-light: rgba(59, 130, 246, .1);--color-success: #10b981;--color-warning: #f59e0b;--color-border: rgba(255, 255, 255, .08);--shadow-base: 0 4px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .4);--mouse-x: 50%;--mouse-y: 50%;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "Courier New", monospace;--container-max-width: 1200px;--container-padding-x: 2rem;--container-padding-x-mobile: 1.5rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--nav-height: 64px;--transition-fast: .2s;--transition: .3s;--transition-slow: .6s;--gradient-accent-success: linear-gradient(135deg, var(--color-accent), var(--color-success));--gradient-nav-line: linear-gradient(90deg, var(--color-accent), var(--color-success), var(--color-warning), var(--color-accent));--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--accent-light: var(--color-accent-light);--success: var(--color-success);--warning: var(--color-warning);--border: var(--color-border);--shadow: var(--shadow-base);--logo-text: #ffffff;--logo-glow: rgba(255, 255, 255, .8)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: rgba(37, 99, 235, .1);--border: rgba(0, 0, 0, .1);--shadow: 0 4px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .12);--logo-text: #004080;--logo-glow: rgba(0, 64, 128, .5)}.logo-bracket.left{animation-delay:0s;color:var(--accent)}.portfolio-root *,.portfolio-root :after,.portfolio-root :before{margin:0;padding:0;box-sizing:border-box}body.portfolio-page,body.portfolio-page *{cursor:none!important}body.portfolio-page{scroll-behavior:smooth;overflow-x:hidden}body.portfolio-page::-webkit-scrollbar{width:10px}body.portfolio-page::-webkit-scrollbar-track{background:var(--bg-secondary)}body.portfolio-page::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--success));border-radius:999px;border:2px solid var(--bg-secondary)}body.portfolio-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-hover),var(--success))}.portfolio-root *{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-secondary)}body.portfolio-page{font-family:var(--font-sans),var(--font-emoji);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;cursor:none;transition:background-color var(--transition),color var(--transition);scroll-behavior:smooth}body.portfolio-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.05)0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(16,185,129,.05)0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(245,158,11,.05)0,transparent 50%);pointer-events:none;z-index:0}body.touch-device .cursor,body.touch-device .cursor-dot{display:none!important}body.splash-active{overflow:hidden;scroll-behavior:auto}.portfolio-root a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color var(--transition)}.portfolio-root .container,.portfolio-root .nav-content{max-width:var(--container-max-width);margin:0 auto}.portfolio-root .container,.portfolio-root a,body.portfolio-page{position:relative}.portfolio-root .container{padding:0 var(--container-padding-x);z-index:2}.mobile-container .container{max-width:480px;padding:0 var(--container-padding-x-mobile)}.portfolio-root .hamburger span,.portfolio-root nav{transition:all var(--transition)}.portfolio-root nav{position:fixed;inset-inline:0;top:0;background:#0a0e1af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;border-bottom:1px solid var(--border)}[data-theme=light] .portfolio-root nav{background:#fffffff2}.portfolio-root .nav-links a:after,.portfolio-root nav:after{content:"";position:absolute;left:0}.portfolio-root nav:after{top:100%;right:0;height:3px;background:var(--gradient-nav-line);background-size:200% 100%;animation:gradientFlow 3s linear infinite;will-change:background-position}.mobile-container nav{padding:.5rem 0}.portfolio-root .nav-content{padding:.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.mobile-container .nav-content{padding:.5rem 1rem}.portfolio-root .logo{font-size:1.75rem;font-weight:1000;font-family:var(--font-mono);position:relative;display:inline-block;color:var(--logo-text);transition:color var(--transition)}.mobile-container .logo{font-size:1rem}.portfolio-root .logo-bracket,.portfolio-root .logo-text{display:inline-block;animation:textGlow 3s ease-in-out infinite;will-change:filter}.logo-bracket.left{animation-delay:0s}.logo-bracket.right{animation-delay:2s}.portfolio-root .nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.portfolio-root .nav-links a:after{bottom:-4px;width:0;height:2px;background:var(--accent);transition:width var(--transition);will-change:width}.portfolio-root .nav-links a.active,.portfolio-root .nav-links a:hover{color:var(--accent)}.portfolio-root .nav-links a.active:after,.portfolio-root .nav-links a:hover:after{width:100%}.portfolio-root .hamburger{display:none;flex-direction:column;gap:6px;background:0 0;border:0;padding:8px;margin:0}.portfolio-root .hamburger span{width:24px;height:2.5px;background:var(--text-primary);border-radius:2px;will-change:transform,opacity}.portfolio-root .hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.portfolio-root .hamburger.active span:nth-child(2){transform:scale(0)}.portfolio-root .hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.portfolio-root .nav-controls{display:flex;gap:.75rem;font-family:var(--font-emoji),sans-serif}.portfolio-root .control-btn,.portfolio-root .lang-flag{display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.portfolio-root .control-btn{width:36px;height:36px;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition);font-size:1.2rem}.mobile-container .control-btn{width:32px;height:32px;font-size:1rem}.portfolio-root .control-btn:hover{background:var(--accent-light);border-color:var(--accent)}.portfolio-root .control-btn svg{width:20px;height:20px;fill:var(--text-primary)}.portfolio-root .lang-flag{width:24px;height:24px;font-family:var(--font-emoji),"Twemoji Mozilla",sans-serif!important;font-size:18px;font-style:normal;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portfolio-root .lang-flag svg{width:100%;height:100%;display:block;flex-shrink:0}@media(max-width:830px){.portfolio-root .hamburger{display:flex}.portfolio-root .nav-content{flex-wrap:nowrap;padding:.5rem .75rem;gap:.5rem}.portfolio-root .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-secondary);max-height:0;overflow:hidden;opacity:0;transition:all var(--transition);pointer-events:none;will-change:max-height,opacity}.portfolio-root .nav-links.active{max-height:400px;opacity:1;pointer-events:all}.portfolio-root .nav-links,.portfolio-root .nav-links li{width:100%;border-bottom:1px solid var(--border)}.portfolio-root .nav-links li:last-child{border-bottom:none}.portfolio-root .nav-links a{display:block;padding:1rem;text-align:center;color:var(--text-primary);transition:background var(--transition-fast)}.portfolio-root .nav-links a:hover{background:var(--bg-tertiary)}.portfolio-root .nav-controls{margin-left:auto;gap:.5rem}.portfolio-root .logo{font-size:1rem;white-space:nowrap}}.portfolio-root .splash-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;z-index:10002;transition:opacity .6s ease,background-color .4s ease;will-change:opacity}.portfolio-root .splash-logo{font-size:2.5rem;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--text-primary);animation:splashPulse 1.5s ease-in-out infinite;transition:color .4s ease}.portfolio-root .splash-bracket{color:var(--accent);transition:color .4s ease}.portfolio-root .splash-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:var(--accent);border-radius:50%;animation:splashSpin .8s linear infinite;transition:border-color .4s ease}.portfolio-root .bg-grid,.portfolio-root .particles{position:fixed;inset:0;pointer-events:none}.portfolio-root .bg-grid{background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;z-index:0;will-change:transform}.portfolio-root .particles{z-index:1}.portfolio-root .cursor,.portfolio-root .particle{will-change:transform}.portfolio-root .particle{position:absolute;width:4px;height:4px;background:var(--accent);border-radius:50%;opacity:.3;animation:float 10s infinite ease-in-out}.portfolio-root .cursor{width:50px;height:50px;position:fixed;pointer-events:none;z-index:9999;opacity:0;transition:opacity var(--transition-fast)}.portfolio-root .cursor-dot.active,.portfolio-root .cursor.active{opacity:1}.portfolio-root .cursor-progress{width:100%;height:100%;transform:rotate(-90deg)}.portfolio-root .cursor-progress-bg{fill:none;stroke:var(--accent);stroke-width:2;opacity:.2}.portfolio-root .cursor-progress-fill{fill:none;stroke:var(--success);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:138.23;stroke-dashoffset:138.23;will-change:stroke-dashoffset;transition:stroke-dashoffset .05s linear}.portfolio-root .cursor-inner,.portfolio-root .hero-cta:before{position:absolute;border-radius:50%}.portfolio-root .cursor-inner{inset:0;border:2px solid var(--accent);transition:all var(--transition-fast);will-change:transform}.portfolio-root .cursor.hover .cursor-inner{transform:scale(1.2)}.portfolio-root .cursor-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;position:fixed;pointer-events:none;z-index:10000;opacity:0;will-change:transform;box-shadow:0 0 8px var(--accent);transition:opacity var(--transition-fast)}.portfolio-root .cursor.click .cursor-inner{transform:scale(.7)}.portfolio-root .cursor-dot.click{transform:scale(2)!important;opacity:.6!important}.portfolio-root .hero,.portfolio-root .hero-grid{align-items:center;position:relative}.portfolio-root .hero{min-height:100vh;display:flex;overflow:hidden;padding-top:80px}.mobile-container .hero{min-height:100vh;padding-top:120px;padding-bottom:2rem;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;z-index:1}.mobile-container .hero-grid{grid-template-columns:1fr;gap:2rem;text-align:center}.portfolio-root .hero-content h1{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:400}.mobile-container .hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mobile-container .hero-content h1{font-size:1.1rem;margin-bottom:.75rem;letter-spacing:.05em}.portfolio-root .hero-title-container{margin-bottom:1rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.mobile-container .hero-title-container{justify-content:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.portfolio-root .hero-name{font-size:3.5rem;font-weight:800;background:var(--gradient-accent-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;display:inline;white-space:nowrap}.mobile-container .hero-name{font-size:2rem;white-space:normal;margin-bottom:1rem;line-height:1.3}.portfolio-root .hero-role-container{display:inline-block;font-family:var(--font-mono);font-size:1.5rem;color:var(--text-secondary);white-space:nowrap}.mobile-container .hero-role-container{font-size:1.1rem;display:flex;justify-content:center;width:100%}.portfolio-root .hero-role-terminal{display:inline-flex;align-items:center;font-weight:600;letter-spacing:.1rem;min-height:2rem}.portfolio-root .education-institution a:hover,.portfolio-root .hero-role-prefix{color:var(--success)}.portfolio-root .hero-role-text{color:var(--accent);display:inline-block;font-size:1.5rem;overflow:hidden;text-overflow:clip;white-space:nowrap;animation:roleTextGlow 4s ease-in-out infinite;will-change:filter}.mobile-container .hero-role-text{font-size:1rem;min-width:auto;max-width:100%;white-space:normal}.portfolio-root .hero-description{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.8}.mobile-container .hero-description{font-size:.9rem;line-height:1.7;margin-bottom:1.75rem;max-width:100%;padding:0 1rem;word-spacing:.05em}.portfolio-root .hero-cta-group{display:flex;gap:1rem;align-items:center}.mobile-container .hero-cta-group{justify-content:center;flex-direction:column;width:100%;gap:.75rem;align-items:stretch}.portfolio-root .hero-cta{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--accent);color:#fff;border-radius:var(--radius-md);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:0}.mobile-container .hero-cta{width:100%;padding:1rem 1.5rem;font-size:.95rem}.portfolio-root .hero-cta:before{content:"";top:50%;left:50%;width:0;height:0;background:#fff3;transform:translate(-50%,-50%);transition:width 1.2s,height 2.4s;will-change:width,height}.portfolio-root .hero-cta:hover:before{width:768px;height:768px}.portfolio-root .hero-cta:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.portfolio-root .hero-cta.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.portfolio-root .hero-cta.secondary:hover{background:var(--accent-light);border-color:var(--accent)}.portfolio-root .hero-cta svg{width:20px;height:20px;fill:currentColor}.portfolio-root .contact-modal{position:absolute;top:calc(100% + 10px);left:0;background:#131827f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;min-width:250px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all var(--transition);box-shadow:var(--shadow-lg);z-index:100;will-change:opacity,transform}[data-theme=light] .portfolio-root .contact-modal{background:#fffffff2}.portfolio-root .contact-modal.active{opacity:1;pointer-events:all;transform:translateY(0)}.portfolio-root .contact-modal-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:all var(--transition);margin-bottom:.5rem}.portfolio-root .contact-modal-item:last-child{margin-bottom:0}.portfolio-root .contact-modal-icon,.portfolio-root .contact-modal-item:hover{background:var(--accent-light)}.portfolio-root .contact-modal-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.portfolio-root .contact-modal-icon svg{width:18px;height:18px;fill:var(--accent)}.portfolio-root .contact-modal-text{display:flex;flex-direction:column}.portfolio-root .contact-modal-label{font-weight:600;font-size:.9rem}.portfolio-root .contact-modal-value{font-size:.8rem;color:var(--text-muted)}.hero-image{position:relative;perspective:1500px}.mobile-container .hero-image{margin-bottom:2rem}.profile-card{background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:2rem;border:1px solid var(--border);box-shadow:var(--shadow-lg);transform-style:preserve-3d;transition:transform var(--transition),box-shadow var(--transition);position:relative;will-change:transform;overflow:hidden}.profile-card:before,.profile-shine{position:absolute;inset:0;border-radius:var(--radius-2xl);opacity:0;transition:opacity var(--transition);pointer-events:none}.profile-card:before{content:"";background:linear-gradient(135deg,#3b82f61a0,#10b9811a)}.profile-card:hover:before{opacity:1}.profile-shine{background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(59,130,246,.15) 0%,rgba(16,185,129,.05) 30%,transparent 70%);z-index:10}.mobile-container .profile-card{transform:none!important;padding:1.5rem}.profile-image-container{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:1.5rem;position:relative;box-shadow:var(--shadow)}.profile-image-container:before{content:"";position:absolute;inset:-4px;background:var(--gradient-accent-success);border-radius:50%;z-index:-1;animation:rotateGradient 3s linear infinite;will-change:transform}.profile-image{width:100%;height:100%;object-fit:cover;display:block}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.mobile-container .profile-stats{gap:.75rem}.stat{text-align:center;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.mobile-container .stat{padding:.75rem}.stat:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:var(--shadow)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent);display:block}.mobile-container .stat-value{font-size:1.2rem}.stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.mobile-container .stat-label{font-size:.75rem}.portfolio-root section{padding:8rem 0;position:relative}.portfolio-root .mobile-container section{padding:3rem 0}.portfolio-root .section-header{text-align:center;margin-bottom:2rem}.portfolio-root .section-title{font-size:2.5rem;font-weight:800;margin-bottom:1.5rem;position:relative;display:inline-block}.mobile-container .section-title{font-size:1.75rem}.portfolio-root .section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:192px;height:4px;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:2px}.portfolio-root .section-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin-inline:auto}.portfolio-root .section-note{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.portfolio-root .section-note a{color:var(--accent)}.mobile-container .section-subtitle{font-size:.95rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:stretch}.mobile-container .about-content{grid-template-columns:1fr;gap:2rem}.capabilities{display:grid;gap:1.5rem}.capability-item{padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition);position:relative;overflow:hidden;text-align:center}.mobile-container .capability-item{padding:1rem}.capability-item:before,footer:before{content:"";position:absolute;top:0;left:0}.capability-item:before{bottom:0;width:4px;background:linear-gradient(180deg,var(--accent),var(--success));transform:scaleY(0);transition:transform var(--transition);transform-origin:top;will-change:transform}.capability-item:hover:before{transform:scaleY(1)}.capability-item:hover{transform:translate(10px);border-color:var(--accent);box-shadow:var(--shadow)}.capability-icons{display:grid;grid-template-columns:repeat(3,auto);gap:.75rem;margin-bottom:1rem;justify-content:center;align-items:center}.mobile-container .capability-icons{gap:.5rem}.capability-icons .capability-icon{width:40px;height:40px;margin-bottom:0}.mobile-container .capability-icons .capability-icon{width:32px;height:32px}.about-visual,.capability-icon{display:flex;align-items:center;justify-content:center}.capability-icon{width:48px;height:48px;background:var(--accent-light);border-radius:var(--radius-lg);margin-bottom:1rem}.capability-icon svg{width:24px;height:24px;fill:var(--accent)}.capability-item strong{color:var(--accent);display:block;margin-bottom:.5rem;font-size:1.1rem}.capability-item p{color:var(--text-secondary);line-height:1.6;font-size:.9rem}.mobile-container .capability-item p{font-size:.85rem}.about-visual{position:relative;min-height:500px;border-radius:var(--radius-2xl);overflow:hidden;perspective:1000px}.mobile-container .about-visual{min-height:auto;max-height:100%}.mobile-container .about-visual-content{padding:2rem 0}.about-visual-bg,.about-visual-bg:before{position:absolute;inset:0;border-radius:var(--radius-2xl)}.about-visual-bg{background:linear-gradient(135deg,var(--accent-light),rgba(16,185,129,.1))}.about-visual-bg:before{content:"";background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.3)0,transparent 30%),radial-gradient(circle at 80% 50%,rgba(16,185,129,.3)0,transparent 30%),radial-gradient(circle at 50%0,rgba(245,158,11,.3)0,transparent 30%),radial-gradient(circle at 50% 100%,rgba(236,72,153,.3)0,transparent 30%)}.about-visual-content{z-index:2;text-align:center;flex-direction:column;gap:2rem}.about-visual-card,.about-visual-content,.about-visual-icon{display:flex;align-items:center;position:relative}.about-visual-card{flex-direction:column;gap:1.5rem;transition:opacity var(--transition),transform var(--transition);will-change:opacity,transform}.about-visual-icon{width:120px;height:120px;background:var(--bg-secondary);border-radius:var(--radius-2xl);border:2px solid var(--border);justify-content:center;animation:iconFloat .5s ease-in-out infinite,iconPulse 6s ease-in-out infinite;overflow:hidden;will-change:transform}.mobile-container .about-visual-icon{width:80px;height:80px}.about-visual-icon svg{width:60px;height:60px;fill:var(--accent);position:relative;z-index:1;will-change:transform}.mobile-container .about-visual-icon svg{width:48px;height:48px}.about-visual-text{font-size:1.8rem;font-weight:700;color:var(--text-primary);min-height:2rem}.mobile-container .about-visual-text{font-size:1.3rem}.about-visual-subtext{font-size:.95rem;color:var(--text-secondary);max-width:350px}.mobile-container .about-visual-subtext{font-size:.85rem}.about-visual-skills{display:flex;flex-direction:column;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem;min-height:32px;list-style:none;padding:0}.mobile-container .about-visual-skills{margin-top:1rem;gap:.375rem}.about-visual-skill{display:flex;align-items:center;padding:.75rem 1.25rem .75rem 1.75rem;color:var(--text-primary);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;border-left:3px solid var(--accent);background:#3b82f60d;animation:slideInLeft 1.5s cubic-bezier(.34,1.56,.64,1);transition:all var(--transition);position:relative}.about-visual-skill:before{content:"→";position:absolute;left:.5rem;opacity:.7;font-weight:700}.mobile-container .about-visual-skill{padding:.6rem 1rem .6rem 1.5rem;font-size:.8rem}.about-visual-skill:hover{background:#3b82f626;border-left-color:var(--success);transform:translate(8px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem}.mobile-container .projects-grid{grid-template-columns:1fr}.project-card,.project-header{position:relative;overflow:hidden}.project-card{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border);transition:all var(--transition);display:flex;flex-direction:column}.project-card:before,.project-header img{transition:transform var(--transition);will-change:transform}.project-card:before{content:"";position:absolute;inset-inline:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--success));transform:scaleX(0);transform-origin:left}.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.contact-card:hover:before,.project-card:hover:before{transform:scaleX(1)}.project-card.featured{border:2px solid var(--accent)}.project-header{width:100%;height:128px}.project-header img{width:100%;height:100%;object-fit:cover}.education-card:hover .education-header-image,.project-card:hover .project-header img{transform:scale(1.05)}.project-header-placeholder{width:100%;height:100%;background:var(--gradient-accent-success);display:flex;align-items:center;justify-content:center}.project-header-text{font-size:2rem;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.featured-badge{position:absolute;top:1rem;right:1rem;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:.375rem .875rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.375rem;z-index:1}.project-content{padding:2rem;margin-top:-2rem;flex:1;display:flex;flex-direction:column;text-align:center}.mobile-container .project-content{padding:1rem;margin-top:0}.project-name{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.mobile-container .project-name{font-size:1.2rem}.project-description{color:var(--text-secondary);margin:1rem;line-height:1.6;flex:1}.mobile-container .project-description{font-size:.9rem}.project-skills{display:grid;grid-template-columns:repeat(auto-fit,64px);justify-content:center;gap:.75rem;padding:.5rem 0 1rem;border-bottom:1px solid var(--border)}.project-skills img{height:64px;width:auto;transition:transform var(--transition),filter var(--transition);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));will-change:transform,filter}.mobile-container .project-skills{grid-template-columns:repeat(auto-fit,48px);gap:.5rem}.mobile-container .project-skills img{height:48px}.project-skills img:hover{transform:scale(1.1)}.project-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.mobile-container .project-links{gap:.75rem}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-md);font-weight:500;transition:all var(--transition);border:1px solid var(--border)}.mobile-container .project-link{padding:.5rem 1rem;font-size:.85rem}.project-link svg{width:18px;height:18px;fill:currentColor}.project-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.education-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem}.mobile-container .education-container{grid-template-columns:1fr}.education-card{background:var(--bg-secondary);border-radius:var(--radius-xl);border:2px solid var(--border);overflow:hidden;transition:all var(--transition);display:flex;flex-direction:column}.education-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.education-header{position:relative;height:128px;overflow:hidden}.mobile-container .education-header{height:100px}.education-header-image,.skill-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition);will-change:transform}.skill-item img{object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:filter var(--transition);will-change:filter}.education-header-gradient{width:100%;height:100%;background:var(--gradient-accent-success);transition:opacity var(--transition)}.education-card.ongoing .education-header-gradient{animation:pulseGradient 2s ease-in-out infinite;will-change:opacity}.education-header-content{position:absolute;inset-inline:0;bottom:0;padding:1.5rem 2rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;min-height:80px}.mobile-container .education-header-content{padding:1rem 1.5rem;min-height:60px}.education-institution{font-size:1.5rem;font-weight:700;color:#fff;flex:1}.mobile-container .education-institution{font-size:1.2rem}.education-institution a{color:#fff;text-decoration:none;transition:color var(--transition)}.education-header-badges{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.education-mode-badge{display:inline-block;padding:.375rem .875rem;background:#3b82f6e6;color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-container .education-mode-badge{font-size:.7rem;padding:.3rem .75rem}.education-body{padding:2rem;flex:1;display:flex;flex-direction:column}.mobile-container .education-body{padding:1.5rem}.education-degree{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.mobile-container .education-degree{font-size:1rem;margin-bottom:.75rem}.education-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;font-size:.95rem}.mobile-container .education-description{font-size:.85rem;margin-bottom:1rem}.education-courses h4,.education-meta{font-size:.9rem;color:var(--text-muted)}.education-meta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.mobile-container .education-meta{gap:.5rem;margin-bottom:1rem;font-size:.8rem}.education-meta-item{display:flex;align-items:center;gap:.5rem}.education-meta-item svg{width:16px;height:16px;fill:currentColor}.ongoing-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .875rem;background:#10b981e6;color:#fff;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;animation:badgePulse 2s ease-in-out infinite;flex-shrink:0;will-change:opacity,transform;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-container .ongoing-badge{font-size:.7rem;padding:.3rem .75rem}.ongoing-badge:before{content:"";width:6px;height:6px;background:#fff;border-radius:50%;animation:blink 2s ease-in-out infinite;will-change:opacity}.education-courses{margin-top:auto}.education-courses h4{margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.mobile-container .education-courses h4{font-size:.8rem;margin-bottom:.75rem}.courses-list{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.75rem}.course-item{padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-secondary);border:1px solid var(--border);display:inline-block;font-size:.95rem;transition:all var(--transition)}.mobile-container .course-item{padding:.7rem .875rem;font-size:.85rem;border-radius:16px}.course-item:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent);transform:scale(1.05)}.skills-container{position:relative;width:100%;height:600px;display:flex;align-items:center;justify-content:center;margin-top:8rem}.mobile-container .skills-container{height:400px;margin-top:4rem}.skills-scene{position:relative;width:100%;height:100%;transform-style:preserve-3d;background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.08)0,rgba(59,130,246,.04) 15%,transparent 40%);border-radius:var(--radius-2xl);transition:background var(--transition)}.skills-scene.skill-active{background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.15)0,rgba(59,130,246,.08) 15%,rgba(16,185,129,.03) 30%,transparent 50%)}.skill-item{position:absolute;width:100px;height:100px;background:0 0;border-radius:50%;display:flex;align-items:center;justify-content:center;left:50%;top:50%;margin-left:-50px;margin-top:-50px;box-shadow:var(--shadow);will-change:transform,opacity,filter;transition:transform .15s,opacity .15s,filter .15s,box-shadow .15s,border-color .15s}.mobile-container .skill-item{width:70px;height:70px;margin-left:-35px;margin-top:-35px}.skill-item.active{border-color:var(--accent);box-shadow:0 0 30px var(--accent-light);z-index:5;filter:drop-shadow(0 0 16px rgba(59,130,246,.5))}.skill-item.depth-back{opacity:.6}.project-skills img:hover,.skill-item:hover img{filter:drop-shadow(0 4px 12px var(--accent))}.skill-related-item:hover:after,.skill-tooltip{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.skill-tooltip{bottom:0;background:#13182740;border-radius:var(--radius-lg);padding:1rem;opacity:0;transition:opacity var(--transition-fast);width:340px;text-align:center;z-index:9998;box-shadow:0 8px 32px #0006;backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);will-change:opacity}[data-theme=light] .skill-tooltip{background:#ffffff40;border:1px solid rgba(37,99,235,.4);box-shadow:0 8px 32px #00000026}.mobile-container .skill-tooltip{width:90%;padding:.75rem;bottom:-4rem}.skill-tooltip.active{opacity:1;pointer-events:auto}.skill-tooltip-title{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:.5rem;text-shadow:0 0 8px rgba(0,0,0,.9),0 2px 4px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.7);filter:drop-shadow(0 0 4px rgba(0,0,0,.9))}[data-theme=light] .skill-tooltip-title{text-shadow:0 0 8px #fff,0 2px 4px #fff,0 0 16px rgba(255,255,255,.9);filter:drop-shadow(0 0 4px #fff)}.mobile-container .skill-tooltip-title{font-size:1rem;margin-bottom:.375rem}.skill-tooltip-desc{font-size:.9rem;color:var(--text-primary);line-height:1.5;font-weight:600;text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7);filter:drop-shadow(0 0 3px rgba(0,0,0,.9))}[data-theme=light] .skill-tooltip-desc{text-shadow:0 0 1px #fff,0 1px 3px #fff,0 0 6px rgba(255,255,255,.9);filter:drop-shadow(0 0 3px #fff)}.skill-tooltip-related{display:none;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.skill-related-item{width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);position:relative}.skill-related-item img{width:2rem;height:2rem;object-fit:contain}.skill-related-item:hover{transform:scale(1.5)}.skill-related-item:hover:after{content:attr(data-title);bottom:100%;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;margin-bottom:5px}.contact-intro{text-align:center;max-width:600px;margin:0 auto 3rem;font-size:1.1rem;color:var(--text-secondary);line-height:1.8}.mobile-container .contact-intro{margin-bottom:2rem;font-size:.95rem}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:900px;margin:0 auto}.mobile-container .contact-grid{grid-template-columns:1fr;gap:1.5rem}.contact-card,footer{background:var(--bg-secondary);position:relative;overflow:hidden}.contact-card{padding:2.5rem 2rem;border-radius:var(--radius-2xl);border:2px solid var(--border);text-align:center;transition:all var(--transition)}.mobile-container .contact-card{padding:1.5rem}.contact-card:before{content:"";position:absolute;inset-inline:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--success));transform:scaleX(0);transition:transform var(--transition);will-change:transform}.contact-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.contact-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:var(--accent-light);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .5s cubic-bezier(.34,1.56,.64,1);will-change:background-color,transform}.mobile-container .contact-icon{width:60px;height:60px;margin-bottom:1rem}.contact-card:hover .contact-icon{background:var(--accent);transform:scale(1.1) rotate(360deg)}.contact-icon svg{width:40px;height:40px;fill:var(--accent);transition:fill var(--transition)}.mobile-container .contact-icon svg{width:32px;height:32px}.contact-card:hover .contact-icon svg{fill:#fff}.contact-name{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.mobile-container .contact-name{font-size:1.2rem}.contact-link{color:var(--text-secondary);word-break:break-all;font-size:.95rem;transition:color var(--transition)}.mobile-container .contact-link{font-size:.9rem}.contact-card:hover .contact-link{color:var(--accent)}footer{border-top:2px solid var(--border);padding:.75rem 0}footer:before{right:0;height:3px;background:var(--gradient-nav-line);background-size:200% 100%;animation:gradientFlow 3s linear infinite;will-change:background-position}.footer-bottom{text-align:center;color:var(--text-muted);font-size:.85rem;line-height:1.4}.footer-bottom p{margin:.125rem 0}.scroll-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background:var(--accent);border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:all var(--transition);box-shadow:var(--shadow);z-index:999}.mobile-container .scroll-top{width:45px;height:45px;bottom:1.5rem;right:1.5rem}.scroll-top.visible{opacity:1;pointer-events:all}.scroll-top:hover{background:var(--accent-hover);transform:translateY(-5px)}.scroll-top svg{width:24px;height:24px;fill:#fff;transform:rotate(180deg)}.curriculo-preview{display:flex;justify-content:center;padding:2rem 0}#curriculo{padding:2rem 0}.view-desktop #curriculo,.view-ultrawide #curriculo{padding:4rem 0}.curriculo-preview-card{position:relative;width:480px;aspect-ratio:210 / 297;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg);transition:transform var(--transition),box-shadow var(--transition);cursor:pointer}.curriculo-preview-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #3b82f633}.curriculo-preview-card:hover .curriculo-preview-overlay{opacity:1}.curriculo-preview-mockup{display:grid;grid-template-columns:32% 68%;height:100%;padding:0}.curriculo-preview-sidebar{background:linear-gradient(180deg,#004080,#002040);padding:24px 16px;display:flex;flex-direction:column;gap:20px}.curriculo-preview-avatar{width:90px;height:90px;border-radius:50%;background:#ffffff26;border:4px solid rgba(255,255,255,.3);margin:16px auto 0}.curriculo-preview-section{display:flex;flex-direction:column;gap:12px;width:100%}.curriculo-preview-section.gap-s{gap:8px}.curriculo-preview-section.gap-l{gap:16px}.curriculo-preview-contact-item{display:flex;align-items:center;gap:8px}.curriculo-preview-icon{width:14px;height:14px;border-radius:50%;background:#ffffff4d;flex-shrink:0}.curriculo-preview-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.curriculo-preview-pill{height:10px;border-radius:5px;background:#fff3}.curriculo-preview-edu-item{display:flex;flex-direction:column;gap:6px}.curriculo-preview-content{padding:32px 24px;display:flex;flex-direction:column;gap:24px;background:#fff}.curriculo-preview-header{display:flex;flex-direction:column;gap:12px;padding-bottom:20px;border-bottom:3px solid rgba(0,64,128,.2)}.curriculo-preview-name{height:20px;width:75%;background:#004080;border-radius:2px}.curriculo-preview-role{height:14px;width:45%;background:#004080;opacity:.7;border-radius:2px}.curriculo-preview-summary{display:flex;flex-direction:column;gap:6px;margin-top:6px}.curriculo-preview-body{display:flex;flex-direction:column;gap:18px;flex:1}.curriculo-preview-timeline{display:flex;flex-direction:column;gap:16px;padding-left:10px;border-left:3px solid rgba(0,64,128,.15)}.curriculo-preview-timeline-item{display:flex;flex-direction:column;gap:6px;position:relative}.curriculo-preview-timeline-item:before{content:"";position:absolute;left:-18px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #004080}.curriculo-preview-row{display:flex;align-items:center;width:100%}.ml-auto{margin-left:auto}.curriculo-preview-hardskills{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;border-top:2px solid rgba(0,0,0,.1)}.curriculo-preview-line{height:8px;border-radius:4px;position:relative;overflow:hidden}.curriculo-preview-sidebar .curriculo-preview-line{background:#fff3}.curriculo-preview-content .curriculo-preview-line{background:#0000001a}.curriculo-preview-line.thick{height:12px;background:#0003}.curriculo-preview-line.opacity-low{opacity:.5}.curriculo-preview-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2.5s infinite}.curriculo-preview-content .curriculo-preview-line:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}@keyframes shimmer{0%{left:-100%}to{left:200%}}.curriculo-preview-line.w20{width:20%}.curriculo-preview-line.w30{width:30%}.curriculo-preview-line.w35{width:35%}.curriculo-preview-line.w40{width:40%}.curriculo-preview-line.w45{width:45%}.curriculo-preview-line.w50{width:50%}.curriculo-preview-line.w60{width:60%}.curriculo-preview-line.w65{width:65%}.curriculo-preview-line.w70{width:70%}.curriculo-preview-line.w75{width:75%}.curriculo-preview-line.w80{width:80%}.curriculo-preview-line.w85{width:85%}.curriculo-preview-line.w90{width:90%}.curriculo-preview-line.w95{width:95%}.curriculo-preview-overlay{position:absolute;inset:0;background:#004080e6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:20}.curriculo-preview-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--gradient-accent-success);color:#fff;font-weight:700;font-size:1rem;border-radius:var(--radius-full);box-shadow:0 4px 20px #3b82f666;transition:transform var(--transition-fast);white-space:nowrap}.curriculo-preview-cta:hover{transform:scale(1.05)}.fade-in-up{animation:fadeInUp .6s ease-out}.portfolio-root section{padding:4rem 0;position:relative}.view-desktop .portfolio-root section,.view-ultrawide .portfolio-root section{padding:8rem 0}:root{--primary: #004080;--primary-600: #00336a;--secondary: #002040;--ink: #101418;--muted: #495057;--bg: #ffffff;--onPrimary: #f3f7ff;--onPrimaryMuted: #cfe2ff;--fs-base: 11pt;--fs-xs: 10pt;--fs-sm: 11pt;--fs-md: 12pt;--fs-lg: 13.5pt;--fs-xl: 16.25pt;--fs-xxl: 26.5pt;--lh: 1.45;--space-1: 1.5mm;--space-2: 2mm;--space-3: 3mm;--space-4: 4mm;--space-5: 6mm;--radius: 6px;--border-strong: 2px;--logo-glow: rgba(0, 64, 128, .5)}.curriculo-root *,.curriculo-root *:before,.curriculo-root *:after{box-sizing:border-box}body.curriculo-page{height:100%;margin:0;background:#eef1f5;transition:background-color .3s ease}body.curriculo-dark{background:#0a0e1a!important}body.curriculo-dark .toolbar-nav{background:#0a0e1af2;border-bottom-color:#ffffff14}body.curriculo-dark .logo{color:#fff}body.curriculo-dark .logo-bracket{color:#3b82f6}body.curriculo-dark .btn{background:#3b82f61f;color:#93bbfc;border-color:#3b82f633}body.curriculo-dark .btn:hover{background:#3b82f640;border-color:#3b82f6}body.curriculo-dark .btn.btn-active{background:#3b82f6;color:#fff;border-color:#3b82f6}body.curriculo-dark .variant-selector{background:#3b82f614;border-color:#3b82f626}body.curriculo-dark .variant-btn{color:#93bbfc;border-right-color:#3b82f626}body.curriculo-dark .variant-btn:hover{background:#3b82f626}body.curriculo-dark .variant-btn.active{background:#3b82f6;color:#fff}body.curriculo-dark .control-btn{border-color:#3b82f626}body.curriculo-dark .control-btn:hover{background:#3b82f61f;border-color:#3b82f6}body.curriculo-dark .curriculo-root{background:#0a0e1a}body.curriculo-dark .a4{background:#131827;border-color:#1e293b;box-shadow:0 8px 30px #0006}body.curriculo-dark .sidebar{background:linear-gradient(180deg,#1a2744,#0f1a30)}body.curriculo-dark .sidebar:before{background:linear-gradient(180deg,#3b82f62e,#3b82f60f)}body.curriculo-dark .sidebar:after{background:linear-gradient(90deg,#3b82f61f,#3b82f60a)}body.curriculo-dark .avatar{border-color:#1a2744}body.curriculo-dark .pill{background:#3b82f626;color:#93bbfc;border-color:#3b82f64d}body.curriculo-dark .content{background:#131827}body.curriculo-dark .header .name{color:#e8eaf0;border-bottom-color:#3b82f6}body.curriculo-dark .header .role{color:#3b82f6}body.curriculo-dark .header .summary{color:#a0a8c0}body.curriculo-dark .kicker{color:#93bbfc}body.curriculo-dark .curriculo-root p,body.curriculo-dark .curriculo-root small,body.curriculo-dark .exp-description,body.curriculo-dark .cert-meta{color:#a0a8c0}body.curriculo-dark .exp-description strong,body.curriculo-dark .t-title{color:#e8eaf0}body.curriculo-dark .t-date{color:#6b7280}body.curriculo-dark .curriculo-root li{color:#a0a8c0}body.curriculo-dark .curriculo-root li::marker{color:#3b82f6}body.curriculo-dark .curriculo-root a{color:#3b82f6;border-bottom-color:#3b82f659}body.curriculo-dark .timeline:before{background:linear-gradient(180deg,#3b82f659,#3b82f61f)}body.curriculo-dark .t-item:before{border-color:#3b82f6;background:#131827;box-shadow:0 0 0 2px #131827}body.curriculo-dark .hardskills-grid{color:#e8eaf0;border-top-color:#3b82f633}body.curriculo-dark .hardskill-item:before{color:#3b82f6}.curriculo-splash{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;background:#0a0e1a;transition:opacity .6s ease,background-color .4s ease;will-change:opacity}.curriculo-splash.light-splash{background:#eef1f5}.curriculo-splash.fade-out{opacity:0;pointer-events:none}.curriculo-splash-logo{font-size:2.5rem;font-weight:500;font-family:JetBrains Mono,monospace;color:#fff;animation:splashPulse 1.5s ease-in-out infinite;transition:color .4s ease}.curriculo-splash.light-splash .curriculo-splash-logo{color:#004080}.curriculo-splash-logo .splash-bracket{color:#3b82f6}.curriculo-splash-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:splashSpin .8s linear infinite}@keyframes splashSpin{to{transform:rotate(360deg)}}@keyframes splashPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.curriculo-root{animation:fadeIn .6s ease-out backwards;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-ligatures:contextual;color:var(--ink);line-height:var(--lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--fs-base);-webkit-hyphens:auto;hyphens:auto;orphans:3;widows:3}@keyframes textGlow{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 8px var(--logo-glow))}}.toolbar-nav{position:fixed;inset-inline:0;top:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;border-bottom:1px solid rgba(0,64,128,.1);transition:all .3s ease}.toolbar-nav:after{content:"";position:absolute;top:100%;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#10b981);background-size:200% 100%;animation:gradientFlow 3s linear infinite}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.nav-content{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.logo{font-size:1.5rem;font-weight:1000;font-family:Courier New,monospace;text-decoration:none;color:var(--primary);display:inline-block;position:relative}.logo-bracket,.logo-text{display:inline-block;animation:textGlow 3s ease-in-out infinite;will-change:filter}.logo-bracket{color:#3b82f6;opacity:.7}.logo-text{margin:0 4px}.toolbar-controls{display:flex;gap:8px}.btn{font-family:inherit;font-size:10pt;padding:6px 14px;background:#00408014;color:var(--primary);border:1px solid rgba(0,64,128,.15);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;white-space:nowrap;font-weight:600}.btn:hover{background:#00408026;border-color:var(--primary)}.btn.btn-active{background:var(--primary);color:#fff;border-color:var(--primary)}.variant-selector{display:flex;background:#0040800d;border:1px solid rgba(0,64,128,.1);border-radius:var(--radius);overflow:hidden}.variant-btn{font-family:inherit;font-size:9pt;padding:6px 12px;background:transparent;color:var(--primary);border:0;cursor:pointer;transition:all .2s ease;font-weight:600;border-right:1px solid rgba(0,64,128,.1)}.variant-btn:last-child{border-right:0}.variant-btn:hover{background:#0040801a}.variant-btn.active{background:var(--primary);color:#fff}.nav-controls{display:flex;align-items:center;gap:6px}.control-btn{width:38px;height:38px;background:transparent;border:1px solid rgba(0,64,128,.1);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--primary)}.control-btn:hover{background:#0040800d;border-color:var(--primary)}.control-btn svg{display:block}.lang-flag svg{display:block}.curriculo-root{all:initial;display:block;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-ligatures:contextual;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:11pt;background:#eef1f5;min-height:100vh;padding-top:80px;box-sizing:border-box}.curriculo-root *{box-sizing:border-box}body.curriculo-page{background:#eef1f5!important;font-family:JetBrains Mono,monospace!important;cursor:auto!important;overflow:auto!important}.a4{width:210mm;height:297mm;margin:16px auto;background:#fff;display:grid;grid-template-columns:34% 66%;overflow:hidden;position:relative;box-shadow:0 8px 30px #0000001f;border:2px solid #004080}.sidebar{background:linear-gradient(180deg,#004080,#002040);color:#f3f7ff;padding:4mm;display:flex;flex-direction:column;justify-content:space-between;gap:4mm;position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;bottom:0;width:2mm;background:linear-gradient(180deg,#ffffff2e,#ffffff0f)}.sidebar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2mm;background:linear-gradient(90deg,#ffffff1f,#ffffff0a)}.avatar{display:flex;align-items:center;justify-content:center;margin:6mm auto 2mm;width:48mm;height:48mm;border-radius:50%;background:#ffffff14;box-shadow:0 8px 18px #00000038,inset 0 0 0 2px #ffffff1f;overflow:hidden;border:#002040 3px solid}.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.sidebar.no-photo{padding-top:6mm;justify-content:flex-start}.sidebar-section{display:flex;flex-direction:column;gap:3mm;padding:2mm}.contact-list{list-style:none;padding:0 2mm 0 3mm;margin:0;display:grid;grid-auto-rows:min-content;gap:8px;justify-content:center}.contact-list li{display:flex;align-items:center;gap:6px;font-size:12pt;color:#f3f7ff}.contact-list a{color:#f3f7ff!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);display:inline-flex;align-items:center;gap:6px}.contact-list a:hover{border-bottom-color:#fff}.icon{width:14px;height:14px;flex:0 0 14px;fill:currentColor;opacity:.95}.skills{padding:0 3mm;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.pill{display:inline-block;font-size:11pt;font-weight:700;padding:1.2mm 3mm;border-radius:4mm;color:#004080;background:#fff;border:1.5px solid #ffffff;box-shadow:0 0 0 1px #0000001f;white-space:nowrap;transition:all .3s ease}.edu{padding:0 3mm 2mm;margin:0;display:grid;gap:2mm}.edu-entry{display:grid;gap:2px}.edu-entry .edu-title{font-size:12pt;font-weight:700;color:#f3f7ff}.edu-entry .edu-meta{font-size:11pt;color:#cfe2ff}.edu-entry a{color:#f3f7ff!important}.edu-meta ul{list-style:disc inside;margin:0;padding-left:1em}.sidebar a.inline{color:#f3f7ff!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}.sidebar a.inline:hover{border-bottom-color:#fff}.content{padding:5mm 6mm;display:flex;flex-direction:column;gap:6mm}.header .name{font-size:26.5pt;font-weight:800;color:#101418;display:inline-block;padding-bottom:2mm;border-bottom:2px solid #004080;letter-spacing:.2px}.header .role{font-size:16.25pt;color:#004080;margin-top:2mm;font-weight:700}.header .summary{font-size:11pt;color:#495057;margin-top:2mm;margin-bottom:0;line-height:1.4}.kicker{font-weight:700;color:#00336a;font-size:13.5pt}.curriculo-root p{color:#495057;margin:0}.curriculo-root small{font-size:10pt;color:#495057}.curriculo-root ul{list-style:disc outside;margin:2mm 0 0 2mm;padding:0 0 0 2.5mm}.curriculo-root li{display:list-item;margin:1.2mm 0;font-size:12pt}.curriculo-root li::marker{color:#004080}.curriculo-root a{color:#004080;text-decoration:none;border-bottom:1px solid rgba(0,64,128,.35)}.curriculo-root a:hover{border-bottom-color:#004080}.timeline-section{flex:1;display:flex;flex-direction:column}.timeline{position:relative;padding-left:6.5mm;margin-top:2mm;flex:1;display:flex;flex-direction:column;justify-content:space-between}.timeline:before{content:"";position:absolute;left:3mm;top:3mm;bottom:3mm;width:3px;background:linear-gradient(180deg,#00408059,#0040801f)}.t-item{position:relative;margin-bottom:0;page-break-inside:avoid}.t-item:before{content:"";position:absolute;left:-5mm;top:2mm;width:4mm;height:4mm;border-radius:100%;border:.5mm solid #004080;background:#fff;box-shadow:0 0 0 2px #fff}.t-head{display:flex;align-items:baseline;justify-content:space-between;gap:2mm;flex-wrap:wrap}.t-title{font-weight:700;color:#101418}.t-date{font-size:11pt;color:#495057}.t-body{margin-top:1mm}.compact-list{margin:1mm 0 0 2mm;padding-left:3mm}.compact-list li{margin:.8mm 0}.footer{text-align:right;margin-top:auto}.exp-description{font-size:11pt;color:#495057;margin:1mm 0 0;line-height:1.4}.exp-description strong{color:#101418}.cert-list li{font-size:11pt}.cert-meta{color:#495057;font-size:10pt}.hardskills-section{margin-top:0}.hardskills-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 8mm;font-size:11pt;color:#101418;padding:3mm 2mm;border-top:1.5px solid rgba(0,64,128,.2)}.hardskill-item{position:relative;padding:.5mm 0 .5mm 3mm}.hardskill-item:before{content:"›";position:absolute;left:0;color:#004080;font-weight:700}.content-fade-enter{animation:fadeSlideIn .35s ease-out forwards}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.a4.bw-mode{border:2px solid #000;box-shadow:none!important}.a4.bw-mode .sidebar{background:#fff!important;color:#000!important;border-right:2px solid #000}.a4.bw-mode .sidebar:before,.a4.bw-mode .sidebar:after{display:none!important}.a4.bw-mode .pill{background:#fff!important;border:1px solid #000!important;color:#000!important}.a4.bw-mode .edu-entry .edu-title,.a4.bw-mode .edu-entry .edu-meta,.a4.bw-mode .contact-list li,.a4.bw-mode .contact-list a,.a4.bw-mode .sidebar a.inline{color:#000!important}.a4.bw-mode .header .name,.a4.bw-mode .header .role,.a4.bw-mode .header .summary,.a4.bw-mode .kicker,.a4.bw-mode p,.a4.bw-mode li,.a4.bw-mode small,.a4.bw-mode a,.a4.bw-mode .hardskill-item,.a4.bw-mode .cert-meta,.a4.bw-mode .exp-description{color:#000!important;border-bottom-color:#000!important}.a4.bw-mode .hardskills-grid{border-top-color:#000}.a4.bw-mode .hardskill-item:before{color:#000!important}.a4.bw-mode .timeline:before{background:#000!important}.a4.bw-mode .t-item:before{border:1px solid #000!important;background:#fff!important}.a4.bw-mode .avatar{border-color:#000}.a4.bw-mode .avatar img{filter:grayscale(1)}@media(max-width:830px){.nav-content{flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}.logo{font-size:1.1rem}.toolbar-controls{order:2;gap:4px}.btn{font-size:8pt;padding:4px 8px}.variant-selector{order:3;width:100%;justify-content:center}.variant-btn{font-size:8pt;padding:5px 10px;flex:1;text-align:center}.nav-controls{order:1;margin-left:auto}.control-btn{width:32px;height:32px}.a4-wrapper{width:100%;overflow:hidden}.a4{width:210mm;height:297mm;transform-origin:top left;transform:scale(var(--a4-scale, 1));margin:0;flex-shrink:0}.curriculo-root{padding-top:110px;overflow-x:hidden}}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm;height:297mm;margin:0;padding:0;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.toolbar-nav{display:none!important}.curriculo-root{padding-top:0!important;background:#fff!important;animation:none!important;display:block!important}.a4{margin:0!important;box-shadow:none!important;border:none!important;width:210mm!important;height:297mm!important;overflow:hidden!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
