/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}.visible{visibility:visible}.container{width:100%}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-width:0;overflow-x:hidden;background:#100d1b}html{scroll-behavior:smooth}.navbar{position:fixed;top:0;width:100%;background:#14121eeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;border-bottom:1px solid #292542}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-logo{font-weight:700;font-size:1.5rem;color:#7f5af0;letter-spacing:1px;text-shadow:0 0 12px #7f5af099,0 0 32px #00e0ff44}.nav-links{display:flex;gap:2rem}.nav-links a{text-decoration:none;color:#e1e1ef;font-weight:500;transition:color .3s;font-size:1.09rem;letter-spacing:.2px}.nav-links a:hover{color:#00e0ff;text-shadow:0 0 7px #00e0ffbb}.nav-links a.active{color:#00e0ff;text-shadow:0 0 8px #00e0ff}.hero{min-height:100vh;width:100vw;background:linear-gradient(135deg,#19122a,#292859 60%,#764ba2);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:2rem 1rem;margin:0;box-sizing:border-box;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;max-width:100vw;overflow:hidden}.fx-layer{position:absolute;inset:0;pointer-events:none;z-index:0}#stars{position:absolute;inset:0;width:100%;height:100%}.glow.orb{position:absolute;filter:blur(50px);opacity:.34;animation:floatY 12s ease-in-out infinite;z-index:1}.orb-1{width:320px;height:320px;background:radial-gradient(circle,#7f5af0,#7f5af000 65%);top:10%;left:10%;animation-delay:0s}.orb-2{width:220px;height:220px;background:radial-gradient(circle,#00e0ff,#00e0ff00 65%);bottom:20%;right:15%;animation-delay:1.5s}.orb-3{width:240px;height:240px;background:radial-gradient(circle,#ff3d81,#ff3d8100 60%);top:17%;right:29%;animation-delay:.8s}@keyframes floatY{0%,to{transform:translateY(-10px)}50%{transform:translateY(15px)}}.hero-content{max-width:900px;width:100%;margin:0 auto;z-index:2;position:relative;background:#0f0c1e33;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:3rem 2rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 40px #00000059,inset 0 0 60px #7f5af00f}.hero-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;margin-bottom:1rem;animation:fadeInUp 1s ease;line-height:1.05}.title-glow{color:#fff;letter-spacing:1.2px;text-shadow:0 0 20px rgba(127,90,240,1),0 0 36px rgba(0,224,255,.6),0 2px 12px rgba(0,0,0,.6)}.hero-subtitle{font-size:clamp(1.2rem,4vw,2rem);margin-bottom:1rem;opacity:.98;text-shadow:0 0 10px #00e0ff88,0 2px 8px rgba(0,0,0,.5);animation:fadeInUp 1s ease .2s both}.hero-description{font-size:1.2rem;margin-bottom:2rem;opacity:.92;text-shadow:0 2px 8px rgba(0,0,0,.4);animation:fadeInUp 1s ease .4s both}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease .6s both}.btn-primary,.btn-secondary{padding:1rem 2rem;text-decoration:none;border-radius:50px;font-weight:700;letter-spacing:.3px;transition:transform .2s ease,box-shadow .3s ease,color .2s ease,background .2s ease;display:inline-block;font-size:1.06rem;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(45deg,#7f5af0,#00e0ff);color:#fff;border:none;box-shadow:0 0 10px #7f5af0aa,0 0 22px #00e0ff55}.btn-primary:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 16px #7f5af0,0 0 36px #00e0ffbb,0 8px 32px #00000059}.btn-secondary{background:transparent;color:#00e0ff;border:2px solid #00e0ff;box-shadow:0 0 14px #00e0ff44 inset,0 0 8px #00e0ff22}.btn-secondary:hover{background:#7f5af022;color:#fff;transform:translateY(-2px);box-shadow:0 0 18px #00e0ffbb,0 0 26px #fff5 inset}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.77,0,.18,1),transform .9s cubic-bezier(.77,0,.18,1)}.reveal.visible{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.about,.projects,.contact{padding:5rem 0}.about{background:linear-gradient(120deg,#2c2740,#393067)}.about h2,.projects h2,.contact h2{font-size:2.6rem;margin-bottom:2rem;text-align:center;color:#7f5af0;text-shadow:0 0 6px #00e0ff44}.about p{font-size:1.2rem;text-align:center;max-width:800px;margin:0 auto;color:#cfcfed}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.project-card{background:#181530;border-radius:15px;box-shadow:0 5px 25px #26214733;transition:transform .3s,box-shadow .3s;position:relative;border:1.5px solid #3b3371;overflow:hidden}.project-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 40px #00e0ff33,0 0 30px #7f5af044}.project-card:before{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;background:conic-gradient(from 0deg,#7f5af0,#00e0ff,#ff3d81,#7f5af0);filter:blur(14px);opacity:0;transition:opacity .35s cubic-bezier(.77,0,.18,1);z-index:-1}.project-card:hover:before{opacity:.43}.project-image{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#0f1022;border:1px solid #2a2550;box-shadow:inset 0 0 20px #0006}.project-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block;transform:scale(1.02);transition:transform .6s ease;filter:saturate(1.06) contrast(1.02)}.project-card:hover .project-image img{transform:scale(1.08)}.project-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.45) 100%);opacity:0;transition:opacity .35s ease}.project-card:hover .project-overlay{opacity:1}.project-buttons a{text-decoration:none;font-weight:700;border-radius:999px;padding:.55rem 1.1rem;border:1.5px solid #00e0ff;color:#fff;background:#00e0ff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 12px #00e0ff55;transition:transform .2s,box-shadow .2s,background .2s}.project-buttons a:hover{transform:translateY(-2px);background:#00e0ff;color:#121225;box-shadow:0 0 18px #00e0ffbb}.btn-github{border-color:#7f5af0;background:#7f5af01f;box-shadow:0 0 12px #7f5af055}.btn-github:hover{background:#7f5af0}.btn-live{border-color:#00e0ff}.project-content{padding:1.25rem 0 0}.project-card h3{color:#fff;margin-bottom:.65rem;font-size:1.5rem;text-shadow:0 0 9px #7f5af022}.project-card p{color:#bfc2ee;margin-bottom:1rem;line-height:1.6}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.tech-stack span{background:linear-gradient(90deg,#7f5af0cc,#00e0ffbb);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.9rem;font-weight:500}.contact{background:#23213b;color:#fff;text-align:center;box-shadow:0 -4px 40px #19122a50}.contact h2{color:#00e0ff;text-shadow:0 0 6px #7f5af088}.contact p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.contact-form-section{display:grid;place-items:center;margin-bottom:2rem}.contact-form{width:min(820px,100%);background:#181530;border:1px solid #2f2a58;border-radius:16px;padding:1.5rem;box-shadow:0 10px 30px #0003,inset 0 0 22px #7f5af022}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{width:100%}.contact-form input,.contact-form textarea{width:100%;background:#141230;color:#e6ebff;border:1.5px solid #2f2a58;border-radius:12px;padding:.9rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;font-size:1rem}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input:focus,.contact-form textarea:focus{border-color:#00e0ff;box-shadow:0 0 12px #00e0ff44}.form-submit{margin-top:.6rem;padding:.9rem 1.4rem;border-radius:999px;font-weight:800;letter-spacing:.3px;border:1.5px solid #00e0ff;background:linear-gradient(45deg,#7f5af0,#00e0ff);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}.form-submit:hover{transform:translateY(-2px);box-shadow:0 0 18px #7f5af0aa,0 0 24px #00e0ff88}.form-submit:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.2)}.form-status{margin-top:.6rem;font-weight:600}.form-status.success{color:#64ffda}.form-status.error{color:#ff6b6b}.contact-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.contact-links a{color:#fff;text-decoration:none;padding:1rem 2rem;border:2px solid #00e0ff66;border-radius:50px;transition:all .3s;font-weight:600;box-shadow:0 0 12px #00e0ff22 inset}.contact-links a:hover{background:#00e0ff;color:#27243b;border-color:#7f5af0;box-shadow:0 0 8px #7f5af099,0 0 28px #ff3d8199}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.project-grid{grid-template-columns:1fr}}@media (max-width: 768px){.nav-container{padding:0 1rem}.hero-buttons,.contact-links{flex-direction:column;align-items:center}.form-row{grid-template-columns:1fr}}@media (max-width: 820px){.floating-social{right:12px;bottom:12px}}.skills-section{background:linear-gradient(120deg,#192848,#241c38);box-shadow:0 1px 64px #18153066;border-top:1px solid #282452;border-bottom:1px solid #282452;margin-top:-2rem;margin-bottom:2rem;padding-bottom:2.5rem}.skills-section h2{color:#00e0ff;margin-bottom:2.6rem;text-align:center;font-weight:800;letter-spacing:1.5px;font-size:2.3rem;text-shadow:0 0 7px #00e0ff99,0 0 24px #7f5af066;padding-top:1rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2.2rem;justify-items:center}.skill-card{background:#241e44eb;border-radius:19px;padding:1.1rem 1.5rem;box-shadow:0 7px 24px #0002,0 0 16px #7f5af044 inset;display:flex;flex-direction:column;align-items:center;border:1.2px solid #7f5af044;position:relative;transition:transform .2s,box-shadow .3s}.skill-card:hover{transform:translateY(-4px) scale(1.08) rotate(-1deg);box-shadow:0 0 25px #00e0ff,0 0 62px #181530cc}.skill-icon{width:46px;height:46px;margin-bottom:.75rem;filter:drop-shadow(0 0 8px #00e0ff88);transition:filter .2s}.skill-card:hover .skill-icon{filter:drop-shadow(0 0 16px #7f5af0cc) brightness(1.18)}.skill-card span{color:#8ee6ff;font-weight:700;margin-bottom:.5rem;letter-spacing:.8px;font-size:1.07rem;text-shadow:0 0 4px #7f5af0cc}.skill-meter{width:80%;height:8px;background:#232147;border-radius:8px;margin-top:.3rem;overflow:hidden;box-shadow:0 0 8px #232147bb inset}.skill-meter .fill{height:100%;border-radius:8px;background:linear-gradient(90deg,#00e0ff,#7f5af0 92%);box-shadow:0 0 16px #7f5af0,0 0 16px #00e0ff99;transition:width 1.1s cubic-bezier(.77,0,.18,1)}.floating-social{position:fixed;right:18px;bottom:22px;display:flex;flex-direction:column;gap:10px;z-index:1200}.floating-social a{width:46px;height:46px;display:grid;place-items:center;color:#00e0ff;text-decoration:none;border:1.5px solid #00e0ff99;border-radius:12px;background:#181530cc;box-shadow:0 0 12px #00e0ff33,inset 0 0 10px #7f5af044;font-weight:800;letter-spacing:.5px;font-size:1.3rem;transition:transform .2s,box-shadow .2s,color .2s}.floating-social a:hover{transform:translateY(-3px) scale(1.05);color:#fff;box-shadow:0 0 18px #00e0ffbb,0 0 28px #7f5af077 inset}.cursor-glow{position:fixed;left:0;top:0;width:18px;height:18px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#00e0ff,#00e0ff00 70%);box-shadow:0 0 16px #00e0ff,0 0 28px #7f5af0aa;transform:translate3d(-100px,-100px,0);mix-blend-mode:screen;z-index:1300}.click-burst{position:fixed;width:8px;height:8px;border-radius:50%;background:#fff;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 0 14px #fff,0 0 24px #00e0ff,0 0 38px #7f5af0;animation:burst .45s ease-out forwards;z-index:1299}@keyframes burst{0%{opacity:.9;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}.timeline-section{background:linear-gradient(120deg,#1a1831,#1f2950);border-top:1px solid #2d2a58;border-bottom:1px solid #2d2a58}.timeline-section h2{color:#7f5af0;text-align:center;font-weight:800;letter-spacing:1.2px;margin-bottom:2.2rem;text-shadow:0 0 6px #00e0ff55}.timeline{position:relative;margin:0 auto;max-width:900px;padding:0 1rem 2rem}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(#00e0ff,#7f5af0);opacity:.6;transform:translate(-50%)}.tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:1.8rem 0}.tl-item:nth-child(odd) .tl-content{grid-column:1;padding-right:2rem}.tl-item:nth-child(2n) .tl-content{grid-column:2;padding-left:2rem}.tl-dot{position:absolute;left:50%;top:10px;width:14px;height:14px;border-radius:50%;background:#00e0ff;box-shadow:0 0 10px #00e0ff,0 0 22px #7f5af0;transform:translate(-50%)}.tl-content{background:#181530e6;border:1px solid #3b3371;border-radius:16px;padding:1rem 1.2rem;color:#cfd2ff;box-shadow:0 8px 28px #0002,inset 0 0 22px #7f5af022}.tl-content h3{margin-bottom:.4rem;color:#fff;text-shadow:0 0 6px #7f5af066;font-size:1.15rem}@media (max-width: 768px){.timeline:before{left:12px;transform:none}.tl-item{grid-template-columns:1fr;padding-left:28px}.tl-item .tl-content{grid-column:1;padding:.9rem 1rem}.tl-dot{left:12px}}.contact-links a[href$=".pdf"],a[download]{border-color:#7f5af0;box-shadow:0 0 10px #7f5af066 inset}.contact-links a[href$=".pdf"]:hover,a[download]:hover{background:linear-gradient(45deg,#7f5af0,#00e0ff);color:#fff}.project-card{padding:1.25rem 1.25rem 1.4rem}.project-content{padding-top:1rem}.project-card p{font-size:1.02rem;line-height:1.6;margin:0 0 1rem;color:#c7cbf3}.tech-stack{margin-top:.1rem;gap:.45rem .5rem}.tech-stack span{font-size:.88rem;padding:.28rem .7rem}.project-grid{gap:2.2rem}.project-image{border-radius:12px}.project-card h3{min-height:0}@supports (text-wrap: balance){.project-card h3{text-wrap:balance}}@media (max-width: 480px){.project-card{padding:1rem}.project-card h3{font-size:1.35rem}.project-card p{font-size:.98rem}}
