:root{--bg:#07101a;--panel:#0f1720;--accent:#6c63ff;--muted:#9aa8b8;--text:#e8eef7;--glow:#6c63ff1f;--nav-height:72px}*{box-sizing:border-box}#root,body,html{height:100%}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,#051021,#07101a 60%);background:linear-gradient(180deg,#051021 0,var(--bg) 60%);color:#e8eef7;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;margin:0}.container{margin:0 auto;max-width:1100px;padding:0 18px}main{padding-top:72px;padding-top:var(--nav-height)}section{scroll-margin-top:80px;scroll-margin-top:calc(var(--nav-height) + 8px)}.nav-wrap{height:72px;height:var(--nav-height);left:0;position:fixed;right:0;top:0;z-index:999}.nav{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1073;border-bottom:1px solid #ffffff05;gap:16px;height:100%;justify-content:space-between;padding:12px 18px}.brand,.nav{display:flex}.brand{flex-direction:column;line-height:1}.brand-main{color:#6c63ff;color:var(--accent);font-size:1.1rem;font-weight:800;letter-spacing:.6px}.brand-sub{color:#9aa8b8;color:var(--muted);font-size:.75rem;margin-top:2px}.nav-links{align-items:center;display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav-links a{color:#e8eef7;color:var(--text);font-weight:600;padding:6px 2px;position:relative;text-decoration:none;transition:color .18s ease,transform .18s ease}.nav-links a:hover{color:#6c63ff;color:var(--accent);transform:translateY(-2px)}.underline{background:linear-gradient(90deg,#6c63ff,#41ead4);background:linear-gradient(90deg,var(--accent),#41ead4);bottom:-6px;height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .26s ease;width:0}.nav-links a:hover .underline{width:60%}.hamburger{align-items:center;background:#ffffff05;border:none;border-radius:10px;cursor:pointer;display:none;height:46px;justify-content:center;padding:8px;width:46px}.hamburger .bar{background:#e8eef7;background:var(--text);border-radius:2px;display:block;height:2px;margin:4px 0;transition:transform .25s cubic-bezier(.2,.9,.3,1),opacity .2s,width .25s;width:20px}.hamburger.open .bar:first-child{transform:translateY(6px) rotate(45deg)}.hamburger.open .bar:nth-child(2){opacity:0;transform:translateX(8px)}.hamburger.open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-dropdown{background:linear-gradient(180deg,#0a0c10f5,#080a0cfa);border-bottom:1px solid #ffffff05;box-shadow:0 8px 24px #00000073;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .32s cubic-bezier(.22,.9,.3,1),box-shadow .32s;z-index:998}.mobile-dropdown.open{max-height:320px}.mobile-links{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:14px 18px}.mobile-links a{align-items:center;border-radius:8px;color:#e8eef7;color:var(--text);display:flex;font-weight:700;gap:10px;padding:10px 12px;text-decoration:none;transition:background .18s,color .18s,transform .18s}.mobile-links a:hover{background:#6c63ff0f;color:#6c63ff;color:var(--accent);transform:translateX(6px)}.link-index{color:#9aa8b8;color:var(--muted);font-family:monospace;font-size:.88rem}.hero{align-items:center;display:flex;min-height:calc(100vh - 72px);min-height:calc(100vh - var(--nav-height));padding:96px 0 60px;padding:calc(var(--nav-height) + 24px) 0 60px}.hero-inner{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-columns:1fr 360px;margin:0 auto;max-width:1100px;padding:0 18px}.hero-title{font-size:2.4rem;margin:0 0 8px}.accent{color:#6c63ff;color:var(--accent);font-weight:800;text-shadow:0 10px 30px #6c63ff1f;text-shadow:0 10px 30px var(--glow)}.hero-sub{color:#9aa8b8;color:var(--muted);margin:0 0 18px;max-width:52ch}.cta-row{display:flex;gap:12px}.btn{border:none;border-radius:999px;cursor:pointer;display:inline-block;font-weight:700;padding:10px 16px;text-decoration:none}.btn.primary{background:linear-gradient(90deg,#6c63ff,#41ead4);background:linear-gradient(90deg,var(--accent),#41ead4);box-shadow:0 8px 30px #6c63ff1f;box-shadow:0 8px 30px var(--glow);color:#021018;transition:transform .18s}.btn.primary:hover{transform:translateY(-6px)}.btn.outline{background:#0000;border:1px solid #ffffff0a;color:#6c63ff;color:var(--accent)}.info-card{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid #ffffff08;border-radius:10px;padding:16px}.info-card h4{color:#6c63ff;color:var(--accent);margin:0 0 8px}.info-card ul{color:#9aa8b8;color:var(--muted);margin:0;padding-left:18px}.section-title{color:#6c63ff;color:var(--accent);font-size:1.8rem;margin:14px 0 22px}.about{padding:60px 0}.about-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px;padding:0 18px}@media (max-width:900px){.about-grid{grid-template-columns:1fr}}.about-text p{color:#9aa8b8;color:var(--muted);line-height:1.6;margin:0 0 16px}.skills{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;color:#e8eef7;color:var(--text);font-size:.9rem;padding:6px 12px;transition:background .2s,transform .2s}.skill-tag:hover{background:#6c63ff;background:var(--accent);color:#000;transform:translateY(-3px)}.projects{padding:40px 0}.projects .grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr;margin:0 auto;max-width:1100px;padding:0 18px}@media (min-width:900px){.projects .grid{grid-template-columns:repeat(3,1fr)}}.card{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid #ffffff08;border-radius:12px;padding:16px}.project-card{transition:transform .22s,box-shadow .22s}.project-card:hover{box-shadow:0 20px 40px #0000008c;transform:translateY(-8px)}.card-actions{display:flex;gap:8px;margin-top:12px}.link{color:#41ead4;font-weight:700;text-decoration:none}.link.ghost{border:1px solid #ffffff0a;border-radius:8px;color:#9aa8b8;color:var(--muted);padding:8px 10px}.project-meta{gap:12px;justify-content:space-between;margin-top:12px}.meta-left,.project-meta{align-items:center;display:flex}.meta-left{flex-wrap:wrap;gap:8px}.meta-right{align-items:center;color:#9aa8b8;color:var(--muted);display:flex;font-size:.95rem;gap:12px}.meta-item{background:#ffffff05;border:1px solid #ffffff05;border-radius:8px;gap:6px;padding:6px 10px}.code-link,.meta-item{align-items:center;display:inline-flex}.code-link{font-weight:700;gap:8px}.live-link{gap:8px;padding:8px 10px}.live-link,.star-item{align-items:center;border-radius:8px;display:inline-flex}.star-item{background-image:none;cursor:pointer;gap:6px;padding:6px 10px}.contact{padding:36px 0 80px}.contact-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 320px;margin:0 auto;max-width:1100px;padding:0 18px}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}.contact-form label{display:block;margin-bottom:10px}.contact-form input,.contact-form textarea{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;box-shadow:none;color:#e8eef7;color:var(--text);padding:10px;width:100%}.contact-form .label{color:#9aa8b8;color:var(--muted);display:block;font-size:.9rem;margin-bottom:6px}.form-row{align-items:center;display:flex;gap:12px;margin-top:10px}.msg{font-size:.95rem}.msg.success{color:#8fe7b3}.msg.error{color:#ff8a8a}.hint{color:#9aa8b8;color:var(--muted);display:block;margin-top:10px}.contact-info a{color:#41ead4;text-decoration:none}.socials{display:flex;flex-direction:column;gap:8px;gap:.6rem;margin-top:12px;margin-top:1rem}.socials a{align-items:center;color:#bbb;display:flex;gap:8px;text-decoration:none;transition:color .3s ease,transform .2s ease}.socials a:hover{color:#00d4ff;transform:translateX(4px)}.footer{border-top:1px solid #ffffff05;color:#9aa8b8;color:var(--muted);margin-top:30px;padding:18px 0;text-align:center}@media (max-width:900px){.nav-links{display:none}.hamburger{display:inline-flex}.hero-inner{grid-template-columns:1fr}.brand-sub{display:none}}@media (min-width:901px){.mobile-dropdown{display:none}}.contact-grid,.hero-inner,.projects .grid{animation:fadeUp .6s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}a,button{outline:none}
/*# sourceMappingURL=main.58c6ed65.css.map*/