:root{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}:root{--primary-bg: #0a0a0f;--secondary-bg: #12121a;--lavender: #8e7cc3;--lavender-light: #b8a9d8;--lavender-dark: #6b5b95;--accent-pink: #ff6b9d;--accent-cyan: #00d9ff;--text-primary: #ffffff;--text-secondary: #a0a0b8;--border-color: rgba(142, 124, 195, .3)}.app{min-height:100vh;background:var(--primary-bg);position:relative;overflow-x:hidden}.bg-orbs{position:fixed;width:100%;height:100%;top:0;left:0;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:floatOrb 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--lavender) 0%,transparent 70%);top:-10%;left:-10%;animation-delay:0s}.orb-2{width:400px;height:400px;background:radial-gradient(circle,var(--accent-pink) 0%,transparent 70%);bottom:-10%;right:-5%;animation-delay:5s}.orb-3{width:350px;height:350px;background:radial-gradient(circle,var(--accent-cyan) 0%,transparent 70%);top:40%;right:15%;animation-delay:10s}.orb-4{width:300px;height:300px;background:radial-gradient(circle,var(--lavender-dark) 0%,transparent 70%);bottom:20%;left:10%;animation-delay:15s}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.hero-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;padding:120px 60px}.hero-content{text-align:center;max-width:900px;transition:transform .3s ease-out;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-greeting{font-size:1.15rem;font-weight:400;color:var(--text-secondary);margin-bottom:16px;letter-spacing:.5px;opacity:.9}.hero-main-text{font-size:4.8rem;font-weight:700;color:var(--text-primary);margin-bottom:24px;line-height:1.15;letter-spacing:-1.5px}.gradient-text{background:linear-gradient(135deg,#b8a9d8,#ff6b9d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:40px;max-width:650px;margin-left:auto;margin-right:auto;font-weight:400;opacity:.85}.cta-group{display:flex;gap:16px;margin-bottom:60px;flex-wrap:wrap;justify-content:center;position:relative;z-index:10}.cta-group a.btn{cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto}.cta-group a.btn:hover{text-decoration:none}.btn{padding:14px 32px;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;font-family:inherit;border:none;text-decoration:none;pointer-events:auto;position:relative;z-index:10}.btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 4px 15px #7c3aed4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#8e7cc31a;border-color:var(--lavender);transform:translateY(-2px);box-shadow:0 4px 15px #8e7cc333}.btn svg{transition:transform .3s ease}.btn-secondary:hover svg{transform:translateY(2px)}.achievement-cards{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.achieve-card{background:#8e7cc314;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;padding:24px 32px;text-align:center;min-width:150px;transition:all .3s ease}.achieve-card:hover{transform:translateY(-6px);background:#8e7cc326;border-color:var(--lavender)}.achieve-icon{font-size:2rem;margin-bottom:8px}.achieve-num{font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,var(--lavender-light) 0%,var(--lavender) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px;line-height:1}.achieve-text{color:var(--text-secondary);font-size:.9rem;font-weight:500}.deco-line,.deco-circle{pointer-events:none}.deco-line{position:absolute;background:linear-gradient(90deg,transparent,var(--lavender),transparent);opacity:.2;z-index:5}.line-1{width:200px;height:2px;top:25%;left:8%;animation:slideLine 3s ease-out .5s both}.line-2{width:150px;height:2px;bottom:25%;right:10%;animation:slideLine 3s ease-out .7s both}@keyframes slideLine{0%{width:0;opacity:0}to{width:200px;opacity:.2}}.deco-circle{position:absolute;width:400px;height:400px;border:1px solid var(--border-color);border-radius:50%;top:50%;left:60%;transform:translate(-50%,-50%);opacity:.15;animation:rotate 40s linear infinite}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.social-links{position:absolute;left:40px;bottom:40px;display:flex;gap:12px;z-index:100;animation:slideInLeft .8s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.social-icon{width:50px;height:50px;border-radius:50%;background:#8b7cc31a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-light);transition:all .3s ease;text-decoration:none;box-shadow:var(--shadow-sm)}.social-icon:hover{background:#8b7cc333;border-color:var(--lavender-medium);transform:translateY(-5px);box-shadow:var(--shadow-md)}.social-icon-plain{display:flex;align-items:center;justify-content:center;padding:4px;color:var(--text-light);text-decoration:none;transition:all .3s ease;border-radius:50%;background:#8b7cc31a;border:2px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.social-icon-plain:hover{transform:translateY(-5px);background:#8b7cc333;border-color:var(--lavender-medium);box-shadow:var(--shadow-md)}.social-img{width:36px;height:36px;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:.9;transition:all .3s ease}.social-icon-plain:hover .social-img{opacity:1;transform:scale(1.05)}.bottom-nav{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#12121ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:12px 16px;display:flex;gap:12px;border:2px solid var(--border-color);z-index:100}.nav-item{width:52px;height:52px;border-radius:16px;background:#8e7cc31a;display:flex;align-items:center;justify-content:center;color:var(--lavender-light);border:none;cursor:pointer;transition:all .3s ease}.nav-item:hover{background:#8e7cc333;transform:translateY(-5px)}.nav-item.active{background:linear-gradient(135deg,var(--lavender) 0%,var(--lavender-dark) 100%);color:#fff;box-shadow:0 8px 24px #8e7cc366}section{min-height:100vh;position:relative}@media(max-width:1024px){.hero-wrapper{padding:100px 40px}.hero-main-text{font-size:4rem}}@media(max-width:768px){.hero-wrapper{padding:80px 24px}.hero-content{text-align:center}.hero-main-text{font-size:2.8rem}.hero-description{font-size:1rem}.achievement-cards,.cta-group{flex-direction:column;align-items:center}.btn{width:100%;max-width:260px;justify-content:center}.social-links{left:20px;bottom:20px;flex-direction:row;gap:12px}.social-icon-plain{width:42px;height:42px}.bottom-nav{bottom:20px;padding:12px 20px;gap:20px}.nav-item{width:45px;height:45px}.deco-circle{display:none}}@media(max-width:480px){.hero-main-text{font-size:2.2rem}.hero-greeting{font-size:1rem}.orb{opacity:.25}}.experience-section{min-height:100vh;padding:100px 40px 60px;background:linear-gradient(135deg,#0a0a12fa,#0f0f19fa);position:relative;overflow:hidden}.experience-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.experience-content{animation:fadeInLeft .8s ease-out}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.section-title-exp{display:flex;align-items:center;gap:12px;font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:50px}.experience-timeline{position:relative;padding-left:40px}.experience-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#8b5cf6,#8b5cf64d)}.experience-item{position:relative;margin-bottom:40px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.exp-dot{position:absolute;left:-46px;top:8px;width:16px;height:16px;background:#8b5cf6;border-radius:50%;border:3px solid rgba(10,10,18,.98);box-shadow:0 0 0 4px #8b5cf633;z-index:2}.exp-card{background:#1a1a2e99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:28px;border:1px solid rgba(139,92,246,.2);transition:all .3s ease}.exp-card:hover{background:#1a1a2ecc;border-color:#8b5cf666;transform:translate(8px);box-shadow:0 12px 32px #8b5cf626}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:20px}.exp-title{font-size:1.4rem;font-weight:600;color:#fff;margin:0 0 8px}.exp-company{font-size:1rem;color:#a78bfa;margin:0;font-weight:500}.exp-period{font-size:.9rem;color:#a0a0b8;white-space:nowrap;padding:6px 14px;background:#8b5cf61a;border-radius:20px;border:1px solid rgba(139,92,246,.2)}.exp-description{font-size:.95rem;line-height:1.6;color:#b8b8d0;margin:0}.current-badge{display:inline-block;margin-top:12px;padding:4px 12px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #10b9814d}.github-section{background:#14141e99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:32px;border:1px solid rgba(139,92,246,.2);animation:fadeInRight .8s ease-out}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.github-header{margin-bottom:24px}.github-title{display:flex;align-items:center;gap:12px;font-size:2rem;font-weight:700;color:#fff;margin:0}.github-title svg{color:#a78bfa}.github-graph-image{margin:24px 0;padding:20px;background:#0f0f1980;border-radius:12px;overflow:hidden}.contributions-img{width:100%;height:auto;border-radius:8px;display:block;object-fit:contain}.github-link-btn{display:block;width:100%;padding:14px 24px;background:#8b5cf61a;border:2px solid rgba(139,92,246,.3);border-radius:12px;color:#a78bfa;text-decoration:none;font-size:.95rem;font-weight:600;text-align:center;transition:all .3s ease;box-sizing:border-box}.github-link-btn:hover{background:#8b5cf633;border-color:#8b5cf6;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.tech-stack-section{max-width:1400px;margin:60px auto 0;width:100%;box-sizing:border-box}.tech-stack-inner{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:stretch}.tech-stack-title-block{background:#1a1a2e66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:center;padding:40px 32px}.section-title-techstack{font-size:2.8rem;font-weight:700;color:#fff;margin:0;text-align:center;line-height:1.2}.tech-categories-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:24px}.chip-category{background:#1a1a2e66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:24px 28px;border:1px solid rgba(139,92,246,.2);transition:all .3s ease}.chip-category:hover{background:#1a1a2e99;border-color:#8b5cf666;transform:translateY(-2px)}.chip-category-title{font-size:1.1rem;font-weight:600;color:#a78bfa;margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid rgba(139,92,246,.2)}.tech-chips{display:flex;flex-wrap:wrap;gap:10px}.tech-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#0f0f1999;border-radius:20px;border:1px solid rgba(139,92,246,.25);cursor:pointer;transition:all .3s ease}.tech-chip:hover{background:#8b5cf633;border-color:#8b5cf680;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.chip-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.chip-name{font-size:.85rem;color:#b8b8d0;font-weight:500;white-space:nowrap}.tech-chip:hover .chip-name{color:#fff}@media(max-width:1024px){.experience-container{grid-template-columns:1fr;gap:60px}.tech-stack-inner{grid-template-columns:1fr}.tech-stack-title-block{padding:32px}.section-title-techstack{font-size:2.2rem}.tech-categories-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.experience-section{padding:80px 24px 48px}.section-title-exp{font-size:2rem}.experience-timeline{padding-left:30px}.exp-dot{left:-36px;width:12px;height:12px}.exp-card{padding:20px}.exp-header{flex-direction:column;gap:12px}.exp-title{font-size:1.2rem}.exp-period{align-self:flex-start}.github-title{font-size:1.6rem}.section-title-techstack{font-size:2rem}.tech-categories-grid{grid-template-columns:1fr}.chip-category{padding:16px 20px}.chip-category-title{font-size:1rem}.tech-chip{padding:6px 12px}.chip-icon{width:18px;height:18px}.chip-name{font-size:.8rem}}@media(max-width:480px){.experience-section{padding:60px 20px 40px}.section-title-exp{font-size:1.8rem}.github-title{font-size:1.4rem}.exp-title{font-size:1.1rem}.github-section{padding:24px 20px}.section-title-techstack{font-size:1.8rem}.chip-category{padding:14px 16px}.chip-category-title{font-size:.95rem;margin-bottom:12px}.tech-chips{gap:8px}.tech-chip{padding:5px 10px}.chip-icon{width:16px;height:16px}.chip-name{font-size:.75rem}}.what-i-do{max-width:1300px;margin:0 auto;padding:100px 40px 140px;position:relative;z-index:1}.wid-header{text-align:center;margin-bottom:70px}.wid-label{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#a78bfa;margin-bottom:16px;padding:6px 18px;border:1px solid rgba(167,139,250,.3);border-radius:20px;background:#a78bfa14}.page-title{font-size:3.8rem;font-weight:800;color:#fff;margin:0 0 20px;line-height:1.1}.wid-subtitle{font-size:1.05rem;color:#9090b0;max-width:520px;margin:0 auto;line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{position:relative;border-radius:24px;padding:40px 36px 44px;display:flex;flex-direction:column;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease;cursor:default}.service-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px #0006}.card-gradient-green{background:linear-gradient(145deg,#0f4d2e,#1a6e41,#0d3b22);border:1px solid rgba(40,198,99,.25)}.card-gradient-blue{background:linear-gradient(145deg,#0e1f5c,#1a2f8a,#0a1845);border:1px solid rgba(46,84,205,.3)}.card-gradient-purple{background:linear-gradient(145deg,#2d1060,#4a1a8a,#200c48);border:1px solid rgba(152,51,215,.3)}.card-number{position:absolute;top:28px;right:32px;font-size:4.5rem;font-weight:900;color:#ffffff0f;line-height:1;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.service-icon-wrap{width:64px;height:64px;border-radius:18px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;margin-bottom:28px}.service-icon-img{width:36px;height:36px;object-fit:contain}.service-title{font-size:1.55rem;font-weight:700;color:#fff;margin:0 0 14px;line-height:1.2}.service-desc{font-size:.95rem;color:#ffffffa6;line-height:1.65;margin:0 0 28px}.service-card:after{content:"";display:block;width:48px;height:3px;border-radius:2px;margin-bottom:24px;background:#ffffff4d}.service-highlights{list-style:none;padding:0;margin:auto 0 0;display:flex;flex-direction:column;gap:12px}.service-highlights li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#fffc;line-height:1.4}.highlight-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#ffffff80}.card-glow{position:absolute;bottom:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:#ffffff0a;filter:blur(40px);pointer-events:none}@media(max-width:1024px){.services-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:span 2;max-width:580px;margin:0 auto;width:100%}.page-title{font-size:3rem}}@media(max-width:768px){.what-i-do{padding:80px 24px 100px}.page-title{font-size:2.5rem}.wid-subtitle{font-size:.95rem}.services-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto;max-width:100%}.service-card{padding:32px 28px 36px}.service-title{font-size:1.3rem}}@media(max-width:480px){.page-title{font-size:2rem}.wid-header{margin-bottom:48px}.service-icon-wrap{width:56px;height:56px}.service-icon-img{width:30px;height:30px}.card-number{font-size:3.5rem}}.projects-page{max-width:1400px;margin:0 auto;padding:80px 40px 150px;position:relative;z-index:1}.projects-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:60px;animation:fadeInDown .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:3.5rem;font-weight:700;color:#fff;margin-bottom:10px;position:relative;display:inline-block}.page-title:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:4px;background:var(--gradient-primary);border-radius:2px}.page-subtitle{font-size:1.1rem;color:#a0a0b8;margin:20px 0 0;font-weight:300}.carousel-controls{display:flex;gap:15px}.carousel-btn{width:52px;height:52px;border-radius:12px;background:#8b5cf61a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.3);color:#b8a9d8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.carousel-btn:hover{background:#8b5cf633;border-color:#8b5cf6;color:#fff;transform:scale(1.05) translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.projects-carousel{overflow:hidden;position:relative}.projects-track{display:flex;gap:30px;transition:transform .5s ease}.project-card{min-width:calc((100% - 60px) / 3);background:#1a1a2e99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:70px 35px 35px;position:relative;transition:all .3s ease;display:flex;flex-direction:column;gap:20px;cursor:pointer;margin-top:50px;animation:fadeInUp .6s ease-out both;animation-delay:calc(var(--card-index, 0) * .1s);border:1px solid rgba(139,92,246,.2)}.project-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,#9833d7,#ff6b9d,#fde047);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:.7;transition:opacity .3s ease}.project-card:hover:before{opacity:1}.project-card:hover{transform:translateY(-8px);background:#1a1a2ecc;border-color:#8b5cf666;box-shadow:0 20px 40px #8b5cf626}.project-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;top:-40px;left:30px;background:#fff;border:3px solid var(--primary-bg);box-shadow:0 8px 24px #0000004d;z-index:10;transition:all .3s ease}.project-icon img{width:60%;height:60%;object-fit:contain;filter:none;opacity:1}.project-card:hover .project-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 32px #0006}.project-card-header{display:flex;flex-direction:column;gap:12px}.project-title{font-size:1.8rem;font-weight:700;color:#fff;margin:0}.project-categories{display:flex;gap:8px;flex-wrap:wrap}.category-chip{padding:6px 14px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:20px;font-size:.75rem;font-weight:500;color:#b8a9d8;text-transform:capitalize}.project-short-description{font-size:.95rem;line-height:1.6;color:#a0a0b8;font-style:italic;margin:0}.project-tech-chips{display:flex;gap:8px;flex-wrap:wrap}.tech-chip{padding:6px 12px;background:#0f0f19cc;border:1px solid rgba(139,92,246,.2);border-radius:6px;font-size:.8rem;font-weight:500;color:#b8a9d8}.project-image-preview{width:100%;height:100px;border-radius:15px;margin-top:auto;overflow:hidden;background:#8b5cf60f;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;border:1px solid rgba(139,92,246,.2)}.project-image-preview img{width:100%;height:100%;object-fit:cover;border-radius:15px;transition:transform .3s ease}.project-card:hover .project-image-preview img{transform:scale(1.05)}.project-divider,.project-image-placeholder,.project-screenshots,.screenshots-title,.screenshots-preview,.screenshots-count{display:none}.project-detail-overlay{position:fixed;inset:0;background:#0f0f14f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;overflow-y:auto;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-detail-container{max-width:1200px;margin:0 auto;padding:80px 40px 100px;position:relative}.close-detail-btn{position:fixed;top:40px;right:40px;width:50px;height:50px;border-radius:50%;background:#8b5cf61a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1001;box-shadow:0 4px 12px #0003}.close-detail-btn:hover{background:#8b5cf633;border-color:#8b5cf6;transform:rotate(90deg);box-shadow:0 8px 20px #8b5cf64d}.detail-header{display:flex;align-items:center;gap:30px;margin-bottom:60px}.detail-icon{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0}.detail-title-section{flex:1}.detail-title{font-size:3rem;font-weight:700;color:#fff;margin:0 0 15px}.github-link{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:#8b5cf61a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.3);border-radius:50px;color:#fff;text-decoration:none;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 12px #0003;font-weight:500}.github-link:hover{background:#8b5cf633;border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:60px}.mockup-section h2,.description-section h2{font-size:1.8rem;font-weight:600;color:#fff;margin-bottom:30px}.mockup-carousel{position:relative;display:flex;align-items:center;gap:20px;margin-bottom:30px}.mockup-container{flex:1;display:flex;justify-content:center;background:#8b5cf60f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:30px;padding:40px;border:2px solid rgba(139,92,246,.2);box-shadow:0 4px 12px #0003}.mockup-container.timora-mockup{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:20px;box-shadow:none}.mockup-container.timora-mockup .mockup-image{max-height:450px}.mockup-image{max-width:100%;max-height:500px;border-radius:20px;object-fit:contain}.mockup-nav-btn{width:50px;height:50px;border-radius:50%;background:#8b5cf61a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(139,92,246,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:0 4px 12px #0003}.mockup-nav-btn:hover{background:#8b5cf633;border-color:#8b5cf6;transform:scale(1.1);box-shadow:0 8px 20px #8b5cf64d}.mockup-indicators{display:flex;justify-content:center;gap:10px}.indicator{width:10px;height:10px;border-radius:50%;background:#8b5cf64d;border:none;cursor:pointer;transition:all .3s ease;padding:0}.indicator.active{background:#8b5cf6;width:30px;border-radius:5px}.description-section p{font-size:1.1rem;line-height:1.8;color:#a0a0b8;margin-bottom:40px}.description-section h3{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:20px}.tech-tags{display:flex;flex-wrap:wrap;gap:12px}.tech-tag{padding:10px 20px;background:#8b5cf61a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(139,92,246,.3);border-radius:50px;color:#fff;font-size:.95rem;transition:all .3s ease}.tech-tag:hover{background:#8b5cf633;border-color:#8b5cf6;transform:translateY(-2px)}@media(max-width:1024px){.project-card{min-width:calc((100% - 30px)/2)}.detail-content{grid-template-columns:1fr;gap:40px}}@media(max-width:768px){.projects-page{padding:60px 20px 120px}.projects-header{flex-direction:column;gap:30px}.page-title{font-size:2.5rem}.page-subtitle{font-size:1rem}.carousel-controls{align-self:flex-end}.carousel-btn{width:45px;height:45px}.project-card{min-width:100%;padding:60px 24px 24px;gap:16px}.project-icon{width:70px;height:70px;top:-35px;left:20px}.project-title{font-size:1.5rem}.project-short-description{font-size:.9rem}.project-image-preview{height:180px}.project-detail-container{padding:60px 20px 80px}.close-detail-btn{top:20px;right:20px;width:45px;height:45px}.detail-header{flex-direction:column;align-items:flex-start;gap:20px}.detail-icon{width:80px;height:80px;font-size:2.5rem}.detail-title{font-size:2rem}.mockup-section h2,.description-section h2{font-size:1.5rem}.mockup-carousel{flex-direction:column;gap:15px}.mockup-nav-btn{width:45px;height:45px}.mockup-nav-btn.prev,.mockup-nav-btn.next{order:2}.mockup-container{order:1;padding:20px}.description-section p{font-size:1rem}.description-section h3{font-size:1.3rem}}.contact-page{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px 120px;background:#0a0a0f}.contact-container{max-width:1200px;width:100%}.contact-header{text-align:left;margin-bottom:50px;position:relative;z-index:1}.contact-title{font-size:3rem;font-weight:700;color:#fff;margin-bottom:16px;position:relative;z-index:2}.contact-subtitle{font-size:1.1rem;color:#9ca3af;max-width:500px;line-height:1.7;position:relative;z-index:2}.contact-content{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start}.contact-info-section{display:flex;flex-direction:column;gap:35px;position:relative}.contact-info-section:before{content:"";position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(139,92,246,.3) 0%,rgba(139,92,246,.3) 10%,rgba(139,92,246,.15) 20%,rgba(139,92,246,.05) 50%,transparent 70%);border-radius:50%;top:50%;left:-100px;transform:translateY(-50%);z-index:0;filter:blur(40px);pointer-events:none}.info-cards{display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.info-card{background:transparent;border-radius:0;padding:0;display:flex;align-items:flex-start;gap:18px;transition:all .3s ease;border:none;position:relative;z-index:1}.info-card:hover{transform:translate(5px)}.info-card:hover .info-icon{background:#a78bfa33;color:#a78bfa}.info-icon{width:48px;height:48px;border-radius:12px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0;transition:all .3s ease}.info-content h3{font-size:1rem;font-weight:600;color:#fff;margin-bottom:6px}.info-content p{font-size:.95rem;color:#6b7280;margin:0}.contact-form-section{position:relative;z-index:1}.contact-form-section .stack-layer-1{position:absolute;top:32px;left:32px;width:100%;height:90%;border-radius:24px;background:#1e1e28cc;z-index:-1;pointer-events:none}.contact-form-section .stack-layer-2{position:absolute;top:48px;left:64px;width:100%;height:85%;border-radius:24px;background:#14141ee6;z-index:-2;pointer-events:none}.contact-form{position:relative;background:#14141ef2;border-radius:24px;padding:50px;z-index:1;border:1px solid transparent;background-clip:padding-box;box-shadow:0 8px 32px #00000080}.contact-form:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(135deg,#8b5cf6cc,#8b5cf666,#fff9);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.contact-form form{display:flex;flex-direction:column;gap:28px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:.9rem;font-weight:500;color:#d1d5db}.form-group input,.form-group textarea{padding:16px 20px;border:1px solid rgba(255,255,255,.15);border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#ffffff08;color:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#8b5cf699;background:#ffffff0d}.form-group textarea{resize:vertical;min-height:140px}.form-group input::placeholder,.form-group textarea::placeholder{color:#6b7280}.submit-btn{padding:16px 32px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;border:none;border-radius:12px;font-size:1.05rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin:10px auto 0;width:fit-content;box-shadow:0 4px 20px #8b5cf666}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf699;background:linear-gradient(135deg,#9d6fff,#b794ff)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.success-message{padding:16px 20px;background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3);border-radius:12px;text-align:center;font-weight:500;animation:slideIn .4s ease}.error-message{padding:16px 20px;background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3);border-radius:12px;text-align:center;font-weight:500;animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:968px){.contact-content{grid-template-columns:1fr;gap:40px}.contact-title{font-size:2.5rem}.contact-form{padding:30px}.contact-info-section:before{left:50%;top:60%;transform:translate(-50%) translateY(-50%)}.contact-form-section .stack-layer-1,.contact-form-section .stack-layer-2{display:none}}@media(max-width:600px){.contact-page{padding:60px 15px 120px}.contact-title{font-size:2rem}.contact-subtitle{font-size:1rem}.info-card{padding:20px}.info-icon{width:45px;height:45px}.contact-form{padding:24px}.contact-info-section:before{width:250px;height:250px;left:50%;top:50%;transform:translate(-50%) translateY(-50%)}.form-group input,.form-group textarea{padding:12px 16px}.submit-btn{padding:14px 28px;font-size:1rem}}.about-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;overflow-y:auto;animation:fadeIn .4s cubic-bezier(.16,1,.3,1);color:#e6e6ff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-container{min-height:100vh;padding:60px 24px 100px;position:relative}.about-content{max-width:1280px;margin:0 auto}.back-button{position:fixed;top:24px;left:24px;width:44px;height:44px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;z-index:1001;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back-button:hover{background:#9370db40;border-color:#9370db66;transform:translate(-4px)}.back-button:active{transform:scale(.96)}.about-layout{display:grid;grid-template-columns:320px 1fr;gap:48px;margin-top:40px}.about-sidebar{position:sticky;top:32px;height:fit-content}.profile-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:32px 28px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 40px #00000040;transition:transform .3s ease,box-shadow .3s ease}.profile-card:hover{box-shadow:0 12px 50px #667eea26}.profile-image-wrapper{position:relative;width:180px;height:180px;margin:0 auto 24px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#667eea,#764ba2,#9b59b6);box-shadow:0 8px 30px #667eea4d}.profile-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #1a1a2e;transition:transform .4s ease}.profile-card:hover .profile-image{transform:scale(1.02)}.profile-status{position:absolute;bottom:12px;right:12px;width:16px;height:16px;background:#4ade80;border:3px solid #1a1a2e;border-radius:50%}.profile-name-mobile{display:none;text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.profile-name-mobile h1{font-size:1.4rem;font-weight:700;margin-bottom:4px;background:linear-gradient(90deg,#fff,#c7b9e8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.profile-name-mobile .profile-title{color:#ffffffb3;font-size:.9rem}.contact-section h3{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 18px;text-align:center;letter-spacing:.3px}.contact-list{display:flex;flex-direction:column;gap:12px}.contact-link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:#ffffffeb;text-decoration:none;font-size:.95rem;transition:all .25s ease}.contact-link:hover{background:#9370db2e;border-color:#9370db59;transform:translate(4px);color:#fff}.contact-icon{flex-shrink:0;color:#a78bfa;transition:color .2s ease}.contact-link:hover .contact-icon{color:#c4b5fd}.about-main{padding-right:8px}.about-header{margin-bottom:32px}.about-name{font-size:2.6rem;font-weight:800;line-height:1.15;margin:0 0 12px;background:linear-gradient(135deg,#fff,#d8c6f7 45%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-subtitle{font-size:1.05rem;color:#ffffffbf;margin:0;font-weight:400}.about-intro{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 32px;margin-bottom:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.about-intro p{color:#ffffffeb;line-height:1.75;font-size:1.05rem;margin:0}.about-section{margin-bottom:40px}.section-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 20px;padding-left:16px;position:relative;display:flex;align-items:center;gap:12px}.section-title:before{content:"";position:absolute;left:0;width:4px;height:24px;background:linear-gradient(180deg,#667eea,#a78bfa);border-radius:4px}.section-content{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-content p{color:#ffffffe6;line-height:1.7;font-size:1rem;margin:0 0 16px}.section-content p:last-child{margin-bottom:0}.timeline-item{display:flex;gap:20px;padding-bottom:24px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:last-child:after{display:none}.timeline-marker{width:12px;height:12px;background:linear-gradient(135deg,#667eea,#a78bfa);border-radius:50%;margin-top:8px;flex-shrink:0;border:2px solid #1a1a2e;box-shadow:0 0 0 4px #667eea26}.timeline-content h4{font-size:1.15rem;font-weight:600;color:#fff;margin:0 0 4px}.timeline-institution{color:#a78bfa;font-size:.9rem;font-weight:500;margin:0 0 12px!important}.hobbies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.hobby-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;text-align:center;transition:all .25s ease;cursor:default}.hobby-card:hover{background:#9370db26;border-color:#9370db4d;transform:translateY(-3px)}.hobby-card svg{color:#a78bfa;transition:color .2s ease}.hobby-card:hover svg{color:#c4b5fd}.hobby-card span{font-size:.9rem;color:#ffffffeb;font-weight:500}.hobbies-note{color:#fffc;font-size:.95rem;line-height:1.6;margin:0!important;text-align:center;font-style:italic}@media(max-width:1024px){.about-layout{grid-template-columns:1fr;gap:40px}.about-sidebar{position:relative;top:0}.profile-name-mobile{display:block}.profile-image-wrapper{width:140px;height:140px}}@media(max-width:768px){.about-container{padding:20px 16px 100px}.back-button{top:16px;left:16px;width:40px;height:40px}.about-name{font-size:2rem}.about-subtitle{font-size:.95rem}.section-title{font-size:1.3rem}.about-intro,.section-content{padding:24px}.timeline-item{flex-direction:column;align-items:flex-start;gap:12px}.timeline-marker{margin-top:0}.hobbies-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.about-name{font-size:1.75rem}.section-title{font-size:1.2rem}.about-intro p,.section-content p{font-size:.95rem}.hobbies-grid{grid-template-columns:1fr}.contact-link{font-size:.9rem;padding:12px 14px}}.back-button:focus-visible,.contact-link:focus-visible,.hobby-card:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}.about-overlay{scroll-behavior:smooth}*{cursor:none!important}.custom-cursor{position:fixed;width:8px;height:8px;background:linear-gradient(135deg,#b8a9d8,#ff6b9d);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease,opacity .2s ease;z-index:9999;mix-blend-mode:difference}.custom-cursor.pointer{width:4px;height:4px}.custom-cursor.hidden{opacity:0}.custom-cursor-outline{position:fixed;width:40px;height:40px;border:2px solid rgba(184,169,216,.5);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,opacity .2s ease,border-color .3s ease;z-index:9998;animation:cursorPulse 2s ease-in-out infinite}.custom-cursor-outline.pointer{width:60px;height:60px;border-color:#ff6b9d99;animation:cursorExpand .3s ease}.custom-cursor-outline.hidden{opacity:0}@keyframes cursorPulse{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}@keyframes cursorExpand{0%{width:40px;height:40px}to{width:60px;height:60px}}@keyframes trail{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@media(prefers-reduced-motion:reduce){.custom-cursor,.custom-cursor-outline{transition:none;animation:none}}@media(hover:none)and (pointer:coarse){*{cursor:auto!important}.custom-cursor,.custom-cursor-outline{display:none}}@media(max-width:1024px){*{cursor:auto!important}.custom-cursor,.custom-cursor-outline{display:none}}
