@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px var(--accent-primary)}50%{box-shadow:0 0 40px var(--accent-primary),0 0 60px var(--accent-secondary)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes borderGlow{0%,to{border-color:var(--accent-primary);box-shadow:0 0 10px rgba(var(--accent-primary-rgb),.3)}50%{border-color:var(--accent-secondary);box-shadow:0 0 20px rgba(var(--accent-secondary-rgb),.5)}}@keyframes progressFill{0%{width:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes nodePulse{0%,to{box-shadow:0 0 rgba(var(--accent-primary-rgb),.7)}50%{box-shadow:0 0 0 10px rgba(var(--accent-primary-rgb),0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .6s ease-out forwards}.animate-slide-in-right{animation:slideInRight .6s ease-out forwards}.animate-scale-in{animation:scaleIn .4s ease-out forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}.animate-delay-7{animation-delay:.7s}.animate-delay-8{animation-delay:.8s}.animate-delay-9{animation-delay:.9s}.animate-delay-10{animation-delay:1s}.animate-on-scroll{opacity:0}.animate-on-scroll.is-visible{animation:fadeInUp .6s ease-out forwards}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-card: rgba(26, 26, 36, .8);--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #6a6a7a;--accent-primary: #00d4ff;--accent-secondary: #7b2fff;--accent-tertiary: #ff2daa;--accent-primary-rgb: 0, 212, 255;--accent-secondary-rgb: 123, 47, 255;--accent-tertiary-rgb: 255, 45, 170;--gradient-primary: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--gradient-secondary: linear-gradient(135deg, var(--accent-secondary), var(--accent-tertiary));--gradient-text: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary), var(--accent-tertiary));--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 20px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(var(--accent-primary-rgb), .3);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.75rem}h4{font-size:1.25rem}p{color:var(--text-secondary);line-height:1.7}.mono,code{font-family:JetBrains Mono,Fira Code,monospace}a{color:var(--accent-primary);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--accent-secondary);text-decoration:none}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:var(--transition-normal)}.glass-card:hover{border-color:rgba(var(--accent-primary-rgb),.3);box-shadow:var(--shadow-glow)}.gradient-text{background:var(--gradient-text);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}.btn,a.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-normal);text-decoration:none}.btn.btn-primary,a.btn.btn-primary{background:var(--gradient-primary);color:var(--text-primary);box-shadow:0 4px 15px rgba(var(--accent-primary-rgb),.4)}.btn.btn-primary:hover,a.btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(var(--accent-primary-rgb),.6);color:var(--text-primary)}.btn.btn-outline,a.btn.btn-outline{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}.btn.btn-outline:hover,a.btn.btn-outline:hover{background:var(--accent-primary);color:var(--bg-primary);box-shadow:0 0 20px rgba(var(--accent-primary-rgb),.5)}.btn.btn-glass,a.btn.btn-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--text-primary)}.btn.btn-glass:hover,a.btn.btn-glass:hover{border-color:var(--accent-primary);box-shadow:0 0 20px rgba(var(--accent-primary-rgb),.3);color:var(--text-primary)}.wrapper{padding:40px 15px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:50px}.wrapper>.section,.wrapper>[class*=-section]{margin-bottom:0!important}.section{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:50px;margin-bottom:50px;transition:var(--transition-normal)}.section:hover{border-color:rgba(var(--accent-primary-rgb),.2)}.section:last-child{margin-bottom:0}.section-title{font-size:2rem;font-weight:700;text-align:center;margin-top:0;margin-bottom:40px;position:relative}.section-title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--gradient-primary);border-radius:var(--radius-full)}.carousel-indicators{position:relative;bottom:auto;margin:0 0 25px;display:flex;justify-content:center;gap:8px;padding:0;list-style:none}.carousel-indicators li,.carousel-indicators button{background-color:var(--glass-border);border:none;width:10px;height:10px;margin:0;border-radius:50%;cursor:pointer;transition:var(--transition-fast);opacity:1}.carousel-indicators li:hover,.carousel-indicators button:hover{background-color:rgba(var(--accent-primary-rgb),.5)}.carousel-indicators li.active,.carousel-indicators button.active{background:var(--gradient-primary);box-shadow:0 0 12px rgba(var(--accent-primary-rgb),.5)}.skill-tag,.job-technology{display:inline-block;padding:6px 14px;margin:4px;font-size:13px;font-weight:500;color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);border:1px solid rgba(var(--accent-primary-rgb),.3);border-radius:var(--radius-full);transition:var(--transition-fast)}.skill-tag:hover,.job-technology:hover{background:rgba(var(--accent-primary-rgb),.2);box-shadow:0 0 15px rgba(var(--accent-primary-rgb),.3);transform:translateY(-2px)}.timeline{position:relative;padding:0 0 0 40px;margin-left:0}.timeline:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;background:linear-gradient(to bottom,var(--accent-primary) 0%,rgba(var(--accent-primary-rgb),.3) 15%,rgba(128,128,128,.3) 30%,rgba(128,128,128,.2) 100%)}.timeline .item{position:relative;margin-bottom:50px;padding-left:30px}.timeline .item:last-child{margin-bottom:0}.timeline .item:before{content:"";position:absolute;left:-47px;top:5px;width:16px;height:16px;background:var(--bg-primary);border:3px solid rgba(128,128,128,.4);border-radius:50%;box-shadow:none}.timeline .item:after{content:"";position:absolute;left:-42px;top:10px;width:6px;height:6px;background:#80808080;border-radius:50%}.timeline>cv-project:first-child .item:before,.timeline>.item:first-child:before{border-color:var(--accent-primary);box-shadow:0 0 20px rgba(var(--accent-primary-rgb),.5);animation:nodePulse 2s ease-in-out infinite}.timeline>cv-project:first-child .item:after,.timeline>.item:first-child:after{background:var(--accent-primary)}.timeline>cv-project:nth-child(2) .item:before{border-color:rgba(var(--accent-primary-rgb),.5)}.timeline>cv-project:nth-child(2) .item:after{background:rgba(var(--accent-primary-rgb),.5)}.timeline>cv-project:nth-child(3) .item:before{border-color:rgba(var(--accent-primary-rgb),.3)}.timeline>cv-project:nth-child(3) .item:after{background:rgba(var(--accent-primary-rgb),.3)}.timeline .work-place{position:relative}.timeline .place{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.timeline .location{position:absolute;right:0;top:5px;color:var(--text-muted);font-size:14px}.timeline .location i,.timeline .location svg{margin-right:5px;color:var(--accent-primary)}.timeline .job-meta{position:relative;margin-bottom:15px}.timeline .job-meta .title{font-size:1.1rem;font-weight:600;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.timeline .job-meta .time{display:block;color:var(--text-muted);font-size:14px;font-family:JetBrains Mono,monospace;margin-top:5px}.timeline .job-desc{color:var(--text-secondary);line-height:1.7}.chart-easy-pie{position:relative}.chart{width:120px;height:120px;position:relative;margin:0 auto 30px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;font-family:JetBrains Mono,monospace;color:var(--accent-primary)}.chart canvas{position:absolute;left:0;top:0}.social{display:flex;gap:15px;list-style:none;padding:0;margin:0}.social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:18px;transition:var(--transition-normal)}.social a:hover{color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 20px rgba(var(--accent-primary-rgb),.4);transform:translateY(-3px)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-indicator .mouse{width:26px;height:40px;border:2px solid var(--text-secondary);border-radius:13px;position:relative}.scroll-indicator .mouse:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:8px;background:var(--accent-primary);border-radius:2px;animation:float 1.5s ease-in-out infinite}.footer{text-align:center;padding:40px;color:var(--text-muted);font-size:14px}.footer a{color:var(--accent-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}::selection{background:rgba(var(--accent-primary-rgb),.3);color:var(--text-primary)}@media(max-width:767px){.header .social{margin:0 auto;text-align:center}.header .actions{position:static;margin:0 auto 30px;text-align:center}.header .actions .btn{margin-bottom:15px;font-size:12px;display:inline-block;width:100%}.header .actions .btn:last-child{margin-bottom:0}.header .name{font-size:36px}.header .title{font-size:22px}.header .contact-info li{margin-right:0;margin-bottom:15px;font-size:14px;width:100%;display:inline-block}.header .contact-info li:last-child{margin-bottom:0}.section{padding:30px}.section-title{font-size:20px}.timeline{margin-left:0;padding-right:0}.timeline .place{margin-bottom:5px}.timeline .job-meta{position:static;margin-bottom:15px}.timeline .job-meta .title{max-width:none}.education-section .item{padding:0}.portfolio-section .filters .type{font-size:12px;margin-right:5px;padding:8px 5px}.portfolio-section .item-inner .content{padding:15px}.portfolio-section .item-inner .content .sub-title{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-section .item-inner .content .meta{margin-bottom:30px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-section .item-inner .content .action{position:static;font-size:12px}.contact-section .intro{padding:0;text-align:center}.contact-section .intro .profile-image{position:static;margin:0 auto 30px;text-align:center}.contact-section .service-list{margin-left:0}.contact-section .social{margin:0 auto}}
