html{scroll-behavior:smooth}:root{--bg-page:radial-gradient(circle at top, #0f172a 0, #020617 45%, #020617 100%);--bg-surface:#020617;--text-color:#e5e7eb;--muted-color:#9ca3af;--border-color-soft:#94a3b8b3;--border-color-strong:#1e40afcc;--nav-bg:radial-gradient(circle at top, #0f172ae6, #020617);--button-primary-bg:radial-gradient(circle at top left, #22c55e, #16a34a);--button-primary-border:#22c55ecc;--button-primary-shadow:0 14px 40px #22c55e73, 0 0 0 1px #16a34a99;--chip-bg:#0f172ae6;--footer-text:#6b7280;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=light]{--bg-page:radial-gradient(circle at top, #e5f0ff 0, #eef2ff 45%, #e5e7eb 100%);--bg-surface:#fff;--text-color:#0f172a;--muted-color:#4b5563;--border-color-soft:#94a3b899;--border-color-strong:#818cf8b3;--nav-bg:radial-gradient(circle at top, #fff, #e5e7eb);--button-primary-bg:radial-gradient(circle at top left, #16a34a, #22c55e);--button-primary-border:#16a34ae6;--button-primary-shadow:0 14px 40px #16a34a59, 0 0 0 1px #16a34a66;--chip-bg:#f3f4f6;--footer-text:#6b7280}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text-color);background:var(--bg-page) fixed;margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600}button{font-family:inherit}.portfolio{max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 3rem}.muted{color:var(--muted-color)}.section-header{flex-direction:column;gap:.25rem;margin-bottom:1.25rem;display:flex}.section-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted-color);margin:0;font-size:.75rem}.section-subtitle{margin-top:1.75rem}.clean-list{color:var(--muted-color);margin:.75rem 0 0;padding-left:1.1rem}.clean-list li{margin:.35rem 0}.portfolio-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#020617f2,#020617b3,#0000);margin-bottom:1rem;padding-bottom:1.5rem;position:sticky;top:0}.portfolio-nav{border:1px solid var(--border-color-soft);background:var(--nav-bg);border-radius:999px;justify-content:space-between;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 18px 60px #0f172ad9,0 0 0 1px #0f172ab3}.nav-logo{letter-spacing:.06em;text-transform:uppercase;color:var(--text-color);font-size:.85rem;font-weight:700}.nav-links{color:var(--muted-color);align-items:center;gap:1.25rem;font-size:.9rem;display:flex}.nav-links a{padding-bottom:.1rem;position:relative}.nav-links a:after{content:"";background:linear-gradient(90deg,#22c55e,#38bdf8);width:0;height:1px;transition:width .2s ease-out;position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.hero{grid-template-columns:minmax(0,3fr) minmax(0,2.1fr);align-items:stretch;gap:2.75rem;margin-top:2.5rem;display:grid}.hero-text{flex-direction:column;gap:1.5rem;display:flex}.hero-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--muted-color);font-size:.75rem}.hero h1{font-size:clamp(2.4rem,4vw,3rem);line-height:1.1}.accent{background:linear-gradient(90deg,#22c55e,#38bdf8,#a855f7);color:#0000;-webkit-background-clip:text}.hero-subtitle{max-width:32rem;color:var(--muted-color);font-size:.98rem}.hero-actions{flex-wrap:wrap;gap:.85rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.35rem;font-size:.9rem;font-weight:500;transition:background-color .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.button.primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:#f9fafb;box-shadow:var(--button-primary-shadow);margin-bottom:2%}.button.primary:hover{transform:translateY(-1px);box-shadow:0 18px 50px #22c55e8c,0 0 0 1px #16a34ae6}.button.ghost{color:#e5e7eb;background:#0f172ab3;border-color:#94a3b899;margin-bottom:2%}.button.ghost:hover{background:#0f172ae6}.hero-card{background:radial-gradient(circle at top,#38bdf82e,#0000 60%),radial-gradient(circle at bottom,#60a5fa2e,#0000 55%),#0f172af2;border:1px solid #94a3b899;border-radius:1.5rem;flex-direction:column;align-self:center;gap:.7rem;padding:1.4rem 1.5rem;display:flex;box-shadow:0 18px 60px #0f172ae6,0 0 0 1px #0f172ae6}.hero-card-header{align-items:center;gap:.85rem;display:flex}.hero-avatar{object-fit:cover;border:2px solid #94a3b8e6;border-radius:999px;width:72px;height:72px;margin-bottom:.25rem;box-shadow:0 10px 30px #0f172ae6,0 0 0 1px #0f172ae6}.hero-pill{color:#bbf7d0;letter-spacing:.08em;text-transform:uppercase;background:#22c55e1a;border:1px solid #22c55e80;border-radius:999px;align-self:flex-start;padding:.25rem .9rem;font-size:.75rem}.hero-summary{color:var(--text-color);font-size:.9rem}.portfolio-main{margin-top:2.5rem}.section{background:var(--bg-surface);border:1px solid var(--border-color-strong);border-radius:1.5rem;margin-bottom:1.75rem;padding:2.25rem 1.25rem 2.5rem;scroll-margin-top:7rem;box-shadow:0 20px 70px #0f172ae6,0 0 0 1px #0f172ae6}.section h2{margin:0;font-size:1.55rem}.section p{color:var(--muted-color);max-width:52rem;margin:.25rem 0 0;font-size:.95rem}.section h3{color:var(--text-color);margin-top:1.25rem;font-size:1.05rem}.section h4{color:var(--text-color);margin:0;font-size:.98rem}.about-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.75rem;margin-top:.5rem;display:grid}.about-card{border:1px solid var(--border-color-soft);background:var(--bg-surface);border-radius:1.1rem;padding:1.1rem 1.1rem 1.15rem;box-shadow:0 16px 46px #0f172a26,0 0 0 1px #0f172a1a}.about-card+.about-card{margin-top:1rem}.skills-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;margin-top:1.25rem;display:grid}.skills-column h3{color:var(--text-color);margin-bottom:.6rem;font-size:.95rem}.skills-grid{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.skill-pill{border:1px solid var(--border-color-soft);background:var(--chip-bg);color:var(--text-color);border-radius:999px;justify-content:flex-start;align-items:center;gap:.75rem;min-width:0;padding:.4rem .85rem;font-size:.8rem;display:inline-flex}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.project-card{background:var(--bg-surface);border:1px solid var(--border-color-soft);border-radius:1.1rem;flex-direction:column;gap:.65rem;padding:1.25rem 1.1rem 1.2rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 16px 46px #0f172ad9,0 0 0 1px #0f172ae6}.project-card:hover{border-color:#818cf8a6;transform:translateY(-2px);box-shadow:0 18px 55px #0f172a38,0 0 0 1px #818cf840}.project-card h3{font-size:1.02rem}.project-description{color:var(--muted-color);font-size:.9rem}.project-tags{flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .6rem;padding:0;list-style:none;display:flex}.project-tags li{background:var(--chip-bg);border:1px solid var(--border-color-soft);color:var(--text-color);border-radius:999px;padding:.25rem .7rem;font-size:.75rem}.project-link{color:#a5b4fc;margin-top:auto;font-size:.85rem}.project-link:hover{color:#c4b5fd}.project-link--disabled{opacity:.7;cursor:default;text-decoration:none}.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr);align-items:flex-start;gap:2rem;margin-top:1.25rem;display:grid}.contact-info p{max-width:32rem}.contact-details{gap:.75rem;margin-top:1.25rem;display:grid}.contact-details div{flex-direction:column;gap:.1rem;display:flex}.contact-label{text-transform:uppercase;letter-spacing:.12em;color:#6b7280;font-size:.78rem}.contact-details a{color:var(--text-color);font-size:.88rem}.contact-details a:hover{color:#a5b4fc}.contact-form{border:1px solid var(--border-color-strong);background:var(--bg-surface);border-radius:1.1rem;padding:1.1rem 1.1rem 1.25rem;box-shadow:0 16px 46px #0f172ae6,0 0 0 1px #0f172ae6}.form-row{flex-direction:column;gap:.25rem;margin-bottom:.9rem;display:flex}.form-row label{color:var(--muted-color);font-size:.8rem}.form-row input,.form-row textarea{background:var(--bg-surface);color:var(--text-color);border:1px solid #374151e6;border-radius:.75rem;outline:none;padding:.55rem .75rem;font-size:.88rem}.form-row input::placeholder,.form-row textarea::placeholder{color:#6b7280}.form-row input:focus,.form-row textarea:focus{border-color:#818cf8f2;box-shadow:0 0 0 1px #818cf8f2}.button.full-width{justify-content:center;width:100%;margin-top:.4rem}.portfolio-footer{color:var(--footer-text);text-align:center;margin-top:1.5rem;padding:1.75rem 1.25rem 0;font-size:.78rem}:root[data-theme=light] .section{background:#fff;box-shadow:0 14px 40px #0f172a14,0 0 0 1px #94a3b859}:root[data-theme=light] .project-card{background:#f9fafb;box-shadow:0 10px 30px #0f172a14,0 0 0 1px #94a3b866}:root[data-theme=light] .contact-form{background:#f9fafb}:root[data-theme=light] .hero-card{background:radial-gradient(circle at top,#38bdf81f,#0000 60%),#fff}:root[data-theme=light] .accent{background:0 0;-webkit-background-clip:initial;color:#0f172a}:root[data-theme=light] .hero-pill{color:#166534;background:#16a34a1a;border-color:#16a34a99}:root[data-theme=light] .project-link{color:#111827}:root[data-theme=light] .project-link:hover{color:#1f2937}@media (width<=900px){.about-grid{grid-template-columns:minmax(0,1fr)}}.theme-toggle{border:1px solid var(--border-color-soft);color:var(--text-color);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .4rem;display:inline-flex}.theme-toggle:hover{background:#94a3b81f}.theme-toggle-icon{border:2px solid var(--text-color);background:var(--text-color);border-radius:999px;width:.9rem;height:.9rem}:root[data-theme=dark] .theme-toggle-icon{box-shadow:0 0 0 4px var(--text-color);background:0 0}@media (width<=900px){.portfolio{padding-inline:1.1rem}.portfolio-nav{border-radius:1rem;padding-inline:1rem}.nav-links{gap:.9rem;font-size:.82rem}.hero{grid-template-columns:minmax(0,1fr);margin-top:2rem}.hero-card{order:-1}.section{padding-inline:1rem}.skills-layout,.contact-layout{grid-template-columns:minmax(0,1fr)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portfolio-header{padding-bottom:1.1rem}.portfolio-nav{flex-direction:column;align-items:flex-start;gap:.6rem}.hero-actions{flex-direction:column;align-items:flex-start}.projects-grid{grid-template-columns:minmax(0,1fr)}}
