:root{--primary-blue: #4fc3f7;--secondary-blue: #2d3748;--accent-color: #4fc3f7;--text-primary: #f3f4f6;--text-secondary: #cbd5e1;--text-muted: #9ca3af;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(79, 195, 247, .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:linear-gradient(to bottom,#0a0f1a,#12161d);color:var(--text-primary);min-height:100vh;position:relative;overflow-x:hidden;line-height:1.6}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 40%,rgba(79,195,247,.08) 0%,transparent 70%),radial-gradient(ellipse at 70% 60%,rgba(79,195,247,.05) 0%,transparent 60%);z-index:-1;animation:nebulaShift 20s ease-in-out infinite}@keyframes nebulaShift{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}html{scroll-behavior:smooth}.text-gradient{background:linear-gradient(135deg,#4fc3f7,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spiralIn{0%{opacity:0;transform:scale(.7) rotate(-360deg) translateY(80px)}60%{opacity:1;transform:scale(1.05) rotate(10deg) translateY(-5px)}80%{transform:scale(.98) rotate(-3deg) translateY(3px)}to{opacity:1;transform:scale(1) rotate(0) translateY(0)}}.spiral-hidden{opacity:0;transform:scale(.7) rotate(-360deg) translateY(80px);transition:none}.spiral-in{animation:spiralIn 1.2s cubic-bezier(.23,1,.32,1) forwards}.animate-bounce-slow{animation:bounce-slow 3s infinite}.animate-fade-in-down{animation:fadeInDown .8s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in{animation:fadeIn 1s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.section-bg{position:relative;overflow:hidden}.section-bg>*{position:relative;z-index:1}.project-card{transition:all .3s ease;overflow:hidden;background:#1e263499;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(79,195,247,.2);border-radius:24px;box-shadow:none}.project-card:hover{transform:translateY(-4px);box-shadow:none;background:#232c3ca6;border-color:#4fc3f766}.project-card img{transition:transform .3s ease}.project-card:hover img{transform:scale(1.05)}#follower{position:fixed;width:12px;height:12px;background-color:#4fc3f766;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(1);transition:transform .15s ease-out,background-color .2s ease-out,opacity .3s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 0 6px #4fc3f74d;z-index:9999;opacity:1;left:-100px;top:-100px}@media (hover: none) and (pointer: coarse){#follower{opacity:0}}#name{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Inter,sans-serif;font-size:3rem;font-weight:800;color:#fff;cursor:default;text-shadow:0 4px 24px rgba(0,0,0,.4)}#name span{display:inline-block;transition:transform .2s ease-out;pointer-events:none}.subtitle{font-family:Inter,sans-serif;font-weight:400;font-size:1.1rem;letter-spacing:.25em;color:#b4d2ffd9;min-height:1.5em;text-shadow:0 2px 8px rgba(44,130,201,.18);margin-top:.5rem;margin-bottom:.5rem;transition:color .3s;text-transform:uppercase;animation:fadeInUp 1.2s .3s both}@keyframes glitchIn{0%{opacity:0}20%{opacity:.3}40%{opacity:.7}60%{opacity:.9}to{opacity:1}}@keyframes glitchOut{0%{opacity:1}30%{opacity:.8}60%{opacity:.4}to{opacity:0}}.glitch-in{animation:glitchIn .3s ease-out forwards}.glitch-out{animation:glitchOut .25s ease-in forwards}.floating{animation:float 4s ease-in-out infinite}.floating:nth-child(2){animation-delay:1s}.floating:nth-child(3){animation-delay:2s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.wave-text{position:relative}.wave-text span{display:inline-block;transition:all .3s ease}.wave-animate span{animation:wave 3.5s ease-in-out}@keyframes wave{0%,to{transform:translateY(0)}7%{transform:translateY(-8px)}14%{transform:translateY(0)}}.wave-animate span:nth-child(1){animation-delay:.15s}.wave-animate span:nth-child(2){animation-delay:.3s}.wave-animate span:nth-child(3){animation-delay:.45s}.wave-animate span:nth-child(4){animation-delay:.6s}.wave-animate span:nth-child(5){animation-delay:.75s}.wave-animate span:nth-child(6){animation-delay:.9s}.wave-animate span:nth-child(7){animation-delay:1.05s}.wave-animate span:nth-child(8){animation-delay:1.2s}.wave-animate span:nth-child(9){animation-delay:1.35s}.wave-animate span:nth-child(10){animation-delay:1.5s}.wave-animate span:nth-child(11){animation-delay:1.65s}.wave-animate span:nth-child(12){animation-delay:1.8s}.wave-animate span:nth-child(13){animation-delay:1.95s}.wave-animate span:nth-child(14){animation-delay:2.1s}.go-to-projects-link{transition:all .3s ease}.go-to-projects-link:hover{transform:translateY(-2px)}.go-to-projects-link:hover .wave-text{color:#4fc3f7!important;text-shadow:0 0 20px rgba(79,195,247,.5)}.image-viewer{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.image-viewer.active{opacity:1;visibility:visible}.image-viewer img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}.image-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}.gallery-image{width:100%;height:150px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .3s ease}.gallery-image:hover{transform:scale(1.05)}.modal-overlay{background:#0009!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.modal-glass{background:#1e263499!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important;border:1px solid rgba(79,195,247,.2)!important;border-radius:24px!important;box-shadow:0 8px 32px #0003!important}.project-modal-scroll{scrollbar-width:thin;scrollbar-color:rgba(79,195,247,.5) rgba(255,255,255,.06)}.project-modal-scroll::-webkit-scrollbar{width:8px}.project-modal-scroll::-webkit-scrollbar-track{background:#ffffff0f;border-radius:4px;margin:4px 2px}.project-modal-scroll::-webkit-scrollbar-thumb{background:#4fc3f766;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.project-modal-scroll::-webkit-scrollbar-thumb:hover{background:#4fc3f799;background-clip:padding-box}.project-modal-scroll::-webkit-scrollbar-thumb:active{background:#4fc3f7cc;background-clip:padding-box}#project-modal-glass .close-btn{top:1rem;right:1rem}.close-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#ffffff0d!important;color:#4fc3f7!important;border:1px solid rgba(79,195,247,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .3s ease;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.close-btn:hover{background:#4fc3f71a!important;border-color:#4fc3f766;transform:scale(1.05);color:#fff!important}.glass-card{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(79,195,247,.2);border-radius:16px;box-shadow:0 8px 32px #0000004d;transition:all .3s ease;position:relative}.contact-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(79,195,247,.2);border-radius:24px;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;cursor:pointer}.contact-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(79,195,247,.1),transparent);transition:left .6s ease}.contact-card:hover:before{left:100%}.contact-card:hover{transform:translateY(-4px) scale(1.01);background:linear-gradient(135deg,#ffffff1f,#ffffff0f);border-color:#4fc3f766;box-shadow:0 12px 30px #4fc3f726,0 0 0 1px #4fc3f733,inset 0 1px #ffffff26}.carousel-container{overflow:hidden;position:relative;width:100%;margin:0 auto}.carousel-track{display:flex;transition:transform .6s cubic-bezier(.23,1,.32,1);gap:1.5rem;padding:1rem 0}.carousel-track .project-card{flex:0 0 calc(25% - 1.5rem);min-width:280px}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;background:#1e263499;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(79,195,247,.3);border-radius:50%;color:#4fc3f7e6;font-size:20px;cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1);z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0003}.carousel-nav:hover{background:#232c3ca6;border-color:#4fc3f799;color:#fff;transform:translateY(-50%) scale(1.05);box-shadow:0 8px 32px #0003,0 12px 40px #00000026}.carousel-nav-left{left:-70px}.carousel-nav-right{right:-50px}.filter-btn{background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(79,195,247,.2);border-radius:25px;padding:12px 24px;color:#fffc;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);display:inline-flex;align-items:center;box-shadow:0 4px 15px #0003}.filter-btn:hover{background:#4fc3f726;border-color:#4fc3f766;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #4fc3f733}.filter-btn.active{background:linear-gradient(135deg,#4fc3f7e6,#3b82f6cc);border-color:#4fc3f799;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #4fc3f74d}.tech-tag{background:linear-gradient(135deg,#475569e6,#334155d9)!important;color:#e2e8f0!important;font-weight:700;border-radius:25px;padding:10px 18px;font-size:14px;border:1px solid rgba(79,195,247,.4);box-shadow:0 4px 15px #0006,0 0 20px #4fc3f740;transition:all .3s cubic-bezier(.23,1,.32,1);display:inline-block;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}h3 span,#name span,.subtitle-letter{display:inline-block;transform:translate(0);transition:transform .05s ease-out;touch-action:manipulation;will-change:transform}@media (hover: none) and (pointer: coarse){h3 span,#name span,.subtitle-letter{transition:transform .25s ease-out}}.nav-responsive{font-size:clamp(1rem,4vw,1.25rem);gap:clamp(.5rem,2vw,1rem);padding:clamp(.5rem,2vw,1rem) clamp(1rem,3vw,1.5rem)}@media (max-width: 768px){nav{min-width:90vw!important;max-width:95vw!important}nav .flex{gap:12px!important}nav a{font-size:12px!important;padding:4px 8px}#home{padding:80px 8px 16px!important}#name span{font-size:3rem!important}.subtitle{font-size:.5rem!important;letter-spacing:.05em!important;margin-top:2rem!important}.subtitle span{font-size:.5rem!important}.wave-text{font-size:14px!important;margin-bottom:8px!important}.carousel-track{gap:1rem}.carousel-track .project-card{flex:0 0 calc(50% - 1rem)}.carousel-nav{width:50px;height:50px;font-size:16px}.carousel-nav-left{left:-55px}.carousel-nav-right{right:-40px}}@media (max-width: 480px){nav .flex{gap:4px!important}#name span{font-size:2.25rem!important}.subtitle,.subtitle span{font-size:.45rem!important}.wave-text{font-size:12px!important}.carousel-track{gap:.75rem}.carousel-track .project-card{flex:0 0 calc(100% - .75rem)}.carousel-nav{width:45px;height:45px;font-size:14px}.carousel-nav-left{left:-50px}.carousel-nav-right{right:-35px}}.blog-card{text-decoration:none;color:inherit}.blog-card:hover .project-card{transform:translateY(-6px);box-shadow:0 24px 48px #0006;border-color:#4fc3f780}.blog-content{color:var(--text-primary)}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{color:var(--text-primary);font-weight:700;margin-top:2em;margin-bottom:1em;line-height:1.3}.blog-content h1{font-size:2.5em;border-bottom:2px solid rgba(79,195,247,.3);padding-bottom:.5em}.blog-content h2{font-size:2em;border-bottom:1px solid rgba(79,195,247,.2);padding-bottom:.4em}.blog-content h3{font-size:1.5em}.blog-content h4{font-size:1.25em}.blog-content p{margin-bottom:1.5em;line-height:1.8;color:var(--text-secondary)}.blog-content a{color:var(--accent-color);text-decoration:none;border-bottom:1px solid rgba(79,195,247,.3);transition:all .3s ease}.blog-content a:hover{color:#fff;border-bottom-color:var(--accent-color)}.blog-content ul,.blog-content ol{margin-bottom:1.5em;padding-left:2em;color:var(--text-secondary)}.blog-content li{margin-bottom:.5em;line-height:1.8}.blog-content blockquote{border-left:4px solid rgba(79,195,247,.5);margin:1.5em 0;font-style:italic;color:var(--text-muted);background:#4fc3f70d;padding:1em 1.5em;border-radius:4px}.blog-content code{background:#4fc3f726;color:#4fc3f7;padding:.2em .4em;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9em;border:1px solid rgba(79,195,247,.2)}.blog-content pre{background:#0006;border:1px solid rgba(79,195,247,.2);border-radius:8px;padding:1.5em;overflow-x:auto;margin:1.5em 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.blog-content pre code{background:transparent;padding:0;border:none;color:var(--text-primary);font-size:.9em;line-height:1.6}.blog-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5em 0;box-shadow:0 8px 24px #0000004d}.blog-content hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:2em 0}.blog-content table{width:100%;border-collapse:collapse;margin:1.5em 0;background:#ffffff0d;border-radius:8px;overflow:hidden}.blog-content th,.blog-content td{padding:.75em;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.blog-content th{background:#4fc3f71a;font-weight:600;color:var(--text-primary)}.blog-content td{color:var(--text-secondary)}.blog-content strong{color:var(--text-primary);font-weight:600}.blog-content em{color:var(--text-secondary);font-style:italic}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tilted-3d{transform:perspective(1000px) rotateX(10deg) rotateY(-10deg) rotate(2deg);transform-style:preserve-3d;transition:transform .5s ease}.tilted-3d:hover{transform:perspective(1000px) rotateX(0) rotateY(0) rotate(0)}
