:root{--bg: #0a0e17;--bg-elevated: #10151f;--bg-elevated-2: #161c29;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #eef1f6;--text-muted: #9aa4b8;--text-faint: #6b7385;--accent: #5b8cff;--accent-2: #a35bff;--gradient: linear-gradient(120deg, #5b8cff, #a35bff);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}#root{max-width:none;margin:0;padding:0;text-align:left}::selection{background:var(--accent);color:#fff}.page{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.section{padding:4.5rem 0}.section-tight{padding:3rem 0}.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.section-heading{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--text);margin-bottom:2rem;letter-spacing:-.01em}.navbar-glass{position:sticky;top:0;z-index:1000;background:#0a0e17b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.navbar-glass .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}.brand{font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none;letter-spacing:-.01em}.brand span{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-links{list-style:none;display:flex;align-items:center;gap:2rem;margin:0;padding:0}.nav-links a,.nav-links button{background:none;border:none;padding:0;color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.95rem;cursor:pointer;transition:color .2s ease}.nav-links a:hover,.nav-links button:hover{color:var(--text)}.hero{position:relative;padding:4.5rem 0 4rem;overflow:hidden}.hero-glow{position:absolute;top:-180px;right:-160px;width:520px;height:520px;background:radial-gradient(circle,rgba(91,140,255,.28) 0%,rgba(163,91,255,.12) 45%,transparent 70%);filter:blur(10px);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:720px}.hero-title{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin-bottom:1rem}.hero-title .accent-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle{font-size:1.15rem;color:var(--text-muted);line-height:1.6;margin-bottom:2rem;max-width:600px}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.5rem}.hero-stack{display:flex;flex-wrap:wrap;gap:.6rem}.btn-gradient{display:inline-flex;align-items:center;gap:.5rem;background:var(--gradient);color:#fff;border:none;border-radius:999px;padding:.75rem 1.6rem;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;box-shadow:0 8px 24px #5b8cff40;transition:transform .2s ease,box-shadow .2s ease}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 12px 28px #5b8cff59;color:#fff}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:999px;padding:.75rem 1.6rem;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:border-color .2s ease,background .2s ease}.btn-outline:hover{border-color:var(--accent);background:#5b8cff14;color:var(--text)}.chip{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:999px;padding:.35rem .85rem;font-size:.82rem;color:var(--text-muted);background:var(--bg-elevated-2)}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:500;color:var(--accent);background:#5b8cff1f;border:1px solid rgba(91,140,255,.25)}.surface-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card{height:100%;display:flex;flex-direction:column;overflow:hidden}.project-card:hover{transform:translateY(-4px);border-color:#5b8cff66;box-shadow:0 16px 32px #00000059}.project-card.spotlight{border-color:#a35bff4d}.project-preview{display:block;position:relative;height:170px;overflow:hidden}.project-preview img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .35s ease}.project-preview:hover img{transform:scale(1.06)}.project-preview-emoji{display:flex;align-items:center;justify-content:center;font-size:2.75rem;text-decoration:none;transition:filter .2s ease}.project-preview-emoji:hover{filter:brightness(1.15)}.project-body{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;flex-grow:1}.project-title{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:.6rem}.project-desc{color:var(--text-muted);font-size:.92rem;line-height:1.6;margin-bottom:1.1rem;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}.project-link{color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem;border-top:1px solid var(--border);padding-top:.9rem;margin-top:auto}.project-link:hover{color:var(--accent)}.project-link-row{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:.9rem;margin-top:auto}.project-link-row a{color:var(--text);text-decoration:none;font-weight:600;font-size:.88rem}.project-link-row a:hover{color:var(--accent)}.skill-card{padding:1.5rem;height:100%}.skill-card h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.9rem}.skill-chips{display:flex;flex-wrap:wrap;gap:.5rem}.about-photo{width:220px;height:220px;object-fit:cover;border-radius:20px;border:1px solid var(--border-strong);transition:transform .3s ease}.about-photo:hover{transform:scale(1.03)}.about-text p{color:var(--text-muted);font-size:1.02rem;line-height:1.75;margin-bottom:1.1rem}.contact-section{text-align:center}.social-btn{width:48px;height:48px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,transform .2s ease}.social-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.social-btn img{width:22px;height:22px;opacity:.9}.social-btn img.icon-mono{filter:invert(1)}.modal-backdrop-custom{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1040}.modal-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1050;width:90%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:18px;padding:2rem}.modal-panel .form-label{color:var(--text-muted)}.modal-panel .form-control{background:var(--bg);border:1px solid var(--border-strong);color:var(--text)}.modal-panel .form-control:focus{background:var(--bg);color:var(--text);border-color:var(--accent);box-shadow:0 0 0 .2rem #5b8cff40}.modal-panel .form-control::placeholder{color:var(--text-faint)}.modal-panel .btn-close{filter:invert(1)}.site-footer{border-top:1px solid var(--border);padding:1.75rem 0;text-align:center;color:var(--text-faint);font-size:.85rem}@media (max-width: 767px){.nav-links{gap:1.1rem}.section{padding:3rem 0}}
