@keyframes rotateSlow{to{transform:rotate(360deg)}}@keyframes rotateRev{to{transform:rotate(-360deg)}}@keyframes glitch-js{0%,to{transform:translate(0,0);filter:hue-rotate(0deg)}20%{transform:translate(-2px,2px);filter:hue-rotate(15deg)}40%{transform:translate(2px,-2px);filter:hue-rotate(-15deg)}60%{transform:translate(-1px,1px);filter:hue-rotate(5deg)}80%{transform:translate(1px,-1px);filter:hue-rotate(-5deg)}}@keyframes rotateSmall{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}:root{--accent:#00aeef;--verve:#00a2d8;--depth:#1984c2;--vigor:#0078a3;--bg-color:#f5f6f8;--bg-primary:#ffffff;--bg-secondary:#f7fafc;--card-bg:var(--bg-primary);--item-bg-color:#fefefe;--item-hover-bg-color:#e6f0ff;--text-primary:#1a202c;--text-secondary:#4a5568;--title-color:#2c3e50;--border-color:#e2e8f0;--item-border-color:#e0e0e0;--shadow-light:rgba(255, 255, 255, 0.8);--shadow-dark:rgba(0, 0, 0, 0.08);--glass-bg:rgba(255, 255, 255, 0.7);--glass-border:rgba(255, 255, 255, 0.2);--radius:16px;--project-card-glass-bg:rgba(255, 255, 255, 0.15);--project-card-glass-border:1px solid rgba(255, 255, 255, 0.1);--project-card-shadow-light:0 15px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);--project-card-shadow-hover-light:0 25px 50px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.08), 0 0 30px 10px rgba(0, 174, 239, 0.2);--project-card-image-overlay:linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 50%);--project-card-inner-pattern:conic-gradient(from 90deg at 50% 50%, var(--accent), var(--verve), var(--depth), var(--vigor), var(--accent));--project-card-inner-pattern-opacity:0.01;--project-content-inner-pattern-opacity:0.03}[data-theme=dark]{--accent-color:#63b3ed;--bg-color:#0d1117;--bg-primary:#1a202c;--bg-secondary:#2d3748;--card-bg-color:#161b22;--card-bg:#21262d;--item-bg-color:#21262d;--item-hover-bg-color:#1f2c49;--text-primary:#f7fafc;--text-secondary:#cbd5e0;--title-color:#cdd9e5;--border-color:#2d3748;--item-border-color:#30363d;--shadow-light:rgba(255, 255, 255, 0.1);--shadow-dark:rgba(0, 0, 0, 0.4);--glass-bg:rgba(33, 38, 45, 0.7);--glass-border:rgba(48, 54, 61, 0.5);--project-card-glass-bg:rgba(22, 27, 34, 0.3);--project-card-glass-border:1px solid rgba(48, 54, 61, 0.2);--project-card-shadow-light:0 15px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(45, 55, 72, 0.8);--project-card-shadow-hover-light:0 25px 50px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(45, 55, 72, 1), 0 0 30px 10px rgba(99, 179, 237, 0.2);--project-card-image-overlay:linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%);--project-card-inner-pattern-opacity:0.02;--project-content-inner-pattern-opacity:0.05}.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Inter",sans-serif;background-color:var(--bg-color);color:var(--text-primary);margin:0;padding:0;min-height:100vh;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}.language-selector{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;opacity:.8;transition:opacity .3s ease}.language-selector:hover{opacity:1}.lang-flag-btn{background:var(--glass-bg);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:50%;width:32px!important;height:32px!important;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.lang-flag-btn:hover{transform:scale(1.15);background:var(--card-bg)}.lang-flag-btn.active{background:var(--accent);border-color:var(--accent)}.flag-icon{width:24px;height:24px;border-radius:50%;object-fit:cover}.lang-flag-btn:hover .flag-icon{transform:scale(1.1)}.theme-toggle-button{position:absolute;top:20px;right:20px;background-color:var(--card-bg-color);border:1px solid var(--item-border-color);border-radius:50%;width:44px;height:44px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;color:var(--text-primary);transition:all .3s ease-in-out;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.06)}.theme-toggle-button:hover{transform:scale(1.1) rotate(15deg);border-color:var(--text-primary)}.theme-toggle-button svg{width:24px;height:24px;transition:opacity .3s ease}.theme-icon--hidden{display:none}.site-header{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.site-title{font-size:clamp(2.5rem,8vw,4rem)!important;font-weight:700;letter-spacing:-.02em;margin:0;animation:fadeInUp .3s ease}.site-tagline{font-size:1.25rem;font-weight:600;margin:1.5rem 0;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(to right,var(--accent) 0%,var(--verve) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:fadeInUp .3s ease .2s backwards}.site-intro{font-size:1.1rem;color:var(--text-secondary);max-width:700px;margin:0 auto 2rem;line-height:1.7;contain:layout;content-visibility:auto}#tech-stack,body,section{position:relative}#tech-stack .section-content,.section-content{width:100%;max-width:1100px;margin:0 auto}#tech-stack{display:block;z-index:1;background-color:var(--bg-color);padding:120px 20px 60px}#tech-stack .section-content{position:relative;z-index:2}#hero{min-height:100vh;display:flex;align-items:center;justify-content:center;contain:layout;position:relative;overflow:hidden;height:100vh;padding:60px 20px}#hero .section-content{position:relative;z-index:1}.hero-bg::after,.hero-bg::before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg at 50% 50%,var(--accent),var(--verve),var(--depth),var(--vigor),var(--accent));opacity:.08;mix-blend-mode:soft-light;animation:rotateSlow 80s linear infinite}.hero-bg::after{animation:rotateRev 120s linear infinite;opacity:.04}[data-theme=dark] .hero-bg::after,[data-theme=dark] .hero-bg::before{opacity:.12;mix-blend-mode:overlay}[data-theme=dark] .hero-bg{opacity:.12}.cta-button{max-width:200px;display:inline-block;padding:12px 32px;background:var(--accent);color:#fff;text-decoration:none;border-radius:30px;font-weight:600;transition:all .3s ease;animation:fadeInUp .5s ease .3s backwards;box-shadow:0 4px 15px rgba(0,174,239,.3)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,174,239,.4);background:var(--verve)}.category-section{margin-bottom:2.5rem}.category-title{font-size:1.2rem;font-weight:700;color:var(--title-color);margin-bottom:1.5rem;position:relative;padding-left:20px}.category-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--accent);border-radius:2px}#projects{padding:80px 20px;background-color:var(--bg-color)}.projects-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:700;color:var(--title-color);margin-bottom:1rem}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start;max-width:1200px;margin:0 auto}@media (min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}.project-card-static{border:var(--project-card-glass-border)}.project-card-static:hover{transform:translateY(-12px);background:color-mix(in srgb,var(--project-card-glass-bg) 90%,var(--accent) 5%)}.project-content,.project-image{display:flex;position:relative;overflow:hidden}.project-image,.project-image img{width:100%;border-top-left-radius:inherit;border-top-right-radius:inherit}.project-image{align-items:center;justify-content:center;height:250px}.project-image img{display:block;height:100%;object-fit:cover;object-position:center center;transition:none}.project-image img.img-v-align-top{object-position:center 54%}.project-card-static:hover .project-image::after{opacity:.7}.project-content{padding:1.8rem;flex:1;flex-direction:column;gap:1rem}.project-content::after{content:"";position:absolute;inset:0;background:var(--project-card-inner-pattern);background-size:cover;opacity:var(--project-content-inner-pattern-opacity);border-radius:0;z-index:-1;animation:rotateSmall 50s linear infinite}.project-content>:not(.project-content::after){position:relative;z-index:1}section h1{font-size:2em}.project-title{font-family:"Inter",sans-serif;font-size:1.2rem;font-weight:700;margin:0;letter-spacing:-.03em;color:var(--title-color);line-height:1.2;display:flex;align-items:center;gap:10px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.project-divider{height:2px;border:0;background:var(--border-color, #e2e8f0);margin:.8rem 0}.project-description{flex:1;line-height:1.7;color:var(--text-secondary);font-size:.95rem}.project-description p{margin:0 0 .8rem;font-size:.95rem}.project-description p:last-child{margin-bottom:0}.project-tech{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--border-color, #e2e8f0)}.tech-tag{background:var(--accent, #0080d0);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem .9rem;border-radius:.5rem;line-height:1.2;white-space:nowrap;transition:none;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:default;text-decoration:none}.site-footer{position:relative;width:100%;max-width:1000px;margin:4rem auto 0;padding-top:2rem;padding-bottom:2rem;flex-direction:column;align-items:center}.site-footer::before{content:"";display:block;width:68px;height:2px;background-color:var(--item-border-color);border-radius:1px;transition:background-color .3s ease}.site-footer,.social-links{display:flex;gap:1.5rem}.social-icon{color:var(--text-secondary);transition:all .3s ease;cursor:pointer}.social-icon:hover{color:var(--accent);transform:translateY(-3px);cursor:pointer}.social-links a.social-icon,footer .social-links a.social-icon,footer .social-links a.social-icon:hover{cursor:pointer!important}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.5rem}.card{background:var(--glass-bg);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem;text-align:center;position:relative;overflow:hidden}.card:hover{transform:translateY(-5px) scale(1.02);border-color:var(--accent)}.card img{width:72px;height:72px;margin-bottom:.75rem}.card span,.modal-info p{color:var(--text-secondary)}.card span{display:block;font-size:.8rem;font-weight:500}.icon-larger{transform:scale(1.15)}.postman-icon:hover{transform:rotate(360deg) scale(1.1)}.tech-icon[alt="Adobe Illustrator"]:hover,.tech-icon[alt="Adobe Photoshop"]:hover,.tech-icon[alt=Canva]:hover,.tech-icon[alt=Figma]:hover{transform:rotate(5deg) scale(1.05);transition:transform .2s ease-in-out}.tech-icon[alt=JavaScript]:hover{animation:glitch-js .4s forwards}.nav-dot::before,.nav-dots{top:50%;transform:translateY(-50%)}.nav-dots{position:fixed;right:30px;z-index:100;display:flex;flex-direction:column;gap:16px;contain:layout style paint}.nav-dot{width:10px;height:10px;border-radius:50%;background:var(--text-secondary);opacity:.3;cursor:pointer;transition:all .3s ease;position:relative}.nav-dot.active,.nav-dot:hover{opacity:.7;transform:scale(1.5)}.nav-dot.active{opacity:1;background:var(--accent)}.nav-dot::before{content:attr(data-section);position:absolute;right:20px;background:var(--card-bg);padding:4px 12px;border-radius:20px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;box-shadow:0 2px 8px var(--shadow-dark)}.nav-dot:hover::before{opacity:1}.card,.lang-flag-btn,.nav-dot{will-change:transform;backface-visibility:hidden}.smooth-transition{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease}.project-card-static,.project-card-static:hover{box-shadow:var(--project-card-shadow-light);background:var(--project-card-glass-bg)}.project-card-static{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:1rem;overflow:hidden;border:0;height:fit-content;display:flex;flex-direction:column;width:100%;box-sizing:border-box;text-decoration:none;color:inherit;position:relative;z-index:1}.project-card-static::before{content:"";position:absolute;inset:0;background:var(--project-card-inner-pattern);background-size:cover;opacity:var(--project-card-inner-pattern-opacity);border-radius:inherit;z-index:-1;animation:rotateSmall 60s linear infinite}.project-card-static:hover{transform:none}@media (max-width:1150px){.projects-grid{grid-template-columns:1fr;max-width:530px}.project-card-static{width:100%}}@media (max-width:768px){#hero{padding:40px 20px}#tech-stack{padding:100px 20px 40px}#projects{padding:60px 20px}.projects-grid{gap:1.5rem}.project-image{width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;position:relative;background-color:var(--bg-secondary)}.project-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.project-image img.img-v-align-top{object-position:center 54%}.project-content{padding:1.5rem}.section-title{font-size:2rem}.project-title{font-size:1.25rem}.nav-dots{display:none}.site-title{font-size:2.3em}.site-tagline{font-size:1.5em}.site-intro{font-size:1em}.language-selector{top:15px;left:15px;gap:6px}.theme-toggle-button{top:15px;right:15px}}@media (max-width:600px){.project-content{padding:1.25rem}.project-title{font-size:1.25rem}.project-description{font-size:.9rem}}@media (max-width:480px){#hero{padding:30px 20px}#tech-stack{padding:80px 20px 30px}#projects{padding:50px 20px}.projects-grid{gap:1rem}.project-content{padding:1rem}.language-selector{top:10px;left:10px;gap:4px}.theme-toggle-button{top:10px;right:10px}.site-header{margin-top:40px}}[data-theme=light] .card{background:var(--card-bg);border:0;box-shadow:0 2px 8px rgba(0,0,0,.06),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.02)}[data-theme=light] .card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08),0 12px 24px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.03)}[data-theme=dark] .card{background:var(--card-bg);border:1px solid var(--item-border-color);box-shadow:4px 4px 12px rgba(0,0,0,.4),-2px -2px 8px rgba(255,255,255,.05)}[data-theme=dark] .card:hover{background:var(--card-bg);box-shadow:6px 6px 20px rgba(0,0,0,.6),-3px -3px 12px rgba(255,255,255,.08)}[data-theme=dark] .card span{color:var(--text-primary)}[data-theme=dark] .lang-flag-btn:hover{border-color:var(--text-secondary);box-shadow:0 4px 8px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1)}[data-theme=dark] footer{background-color:var(--bg-color);border-top-color:var(--item-border-color)}[data-theme=dark] .card img[alt=Bash],[data-theme=dark] .card img[alt=Terminal],[data-theme=dark] .card img[alt=macOS]{filter:invert(1)}.project-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;z-index:2000;padding:20px}.project-modal.active{opacity:1;visibility:visible}.modal-content{background:var(--card-bg);border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.9);transition:transform .3s ease}.project-modal.active .modal-content{transform:scale(1)}.modal-image img{width:100%;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12)}.modal-info h2,.modal-tech h3{font-size:2rem;margin:0 0 1rem;color:var(--title-color)}.modal-info p{font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.modal-tech h3{font-size:1.2rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.modal-close{position:absolute;top:20px;right:20px;background:var(--glass-bg);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1}.modal-close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}.modal-project-image{width:100%;height:400px;background:linear-gradient(135deg,var(--accent) 0%,var(--verve) 100%);border-radius:20px 20px 0 0;overflow:hidden}.modal-project-image img{width:100%;height:100%;object-fit:cover}.modal-project-content{padding:3rem}.modal-project-title{font-size:2rem;font-weight:800;margin-bottom:1rem;color:var(--title-color)}.modal-project-description{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.modal-tech-stack{margin-bottom:2rem}.modal-tech-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--title-color)}.modal-cta{display:inline-block;padding:12px 32px;background:var(--accent);color:#fff;text-decoration:none;border-radius:30px;font-weight:600;transition:all .3s ease}.modal-cta:hover{background:var(--verve);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.category-section{transition:opacity .2s ease;transform:none}}.card,.lang-flag-btn,.project-card{transition:transform .2s ease-out,box-shadow .2s ease-out}.language-icons img{width:75px;height:auto;margin:0 10px}