:root,:root[data-theme=dark]{--bg: #07090f;--bg-2: #0c1019;--surface: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #e8ecf3;--muted: #8b95a7;--accent: #34d399;--accent-2: #38bdf8;--accent-3: #a78bfa;--accent-ink: #04130d;--red: #fb7185;--grid: rgba(255, 255, 255, .035);--glow-1: rgba(52, 211, 153, .14);--glow-2: rgba(56, 189, 248, .12);--shadow: 0 20px 50px -20px rgba(0, 0, 0, .7);--term-bg: #0b0f17;color-scheme:dark}:root[data-theme=light]{--bg: #f7f8fb;--bg-2: #eef1f6;--surface: rgba(255, 255, 255, .75);--surface-2: #ffffff;--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .18);--text: #0f172a;--muted: #5b6577;--accent: #059669;--accent-2: #0284c7;--accent-3: #7c3aed;--accent-ink: #ffffff;--red: #e11d48;--grid: rgba(15, 23, 42, .045);--glow-1: rgba(16, 185, 129, .14);--glow-2: rgba(14, 165, 233, .12);--shadow: 0 20px 40px -24px rgba(15, 23, 42, .25);--term-bg: #0f172a;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.15;margin:0;letter-spacing:-.02em}p{margin:0}ul{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.muted{color:var(--muted)}.small{font-size:.85rem}.accent{color:var(--accent)}.gradient-text{background:linear-gradient(100deg,var(--accent),var(--accent-2) 55%,var(--accent-3));-webkit-background-clip:text;background-clip:text;color:transparent}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 70%)}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(600px circle at 15% 10%,var(--glow-1),transparent 60%),radial-gradient(700px circle at 90% 20%,var(--glow-2),transparent 60%)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.caret,.dot{animation:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;font:inherit;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);box-shadow:0 10px 30px -10px var(--accent)}.btn-primary:hover{box-shadow:0 14px 34px -10px var(--accent)}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--accent)}.btn-sm{padding:8px 16px;font-size:.875rem;border-radius:10px}.btn-block{width:100%}.pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);white-space:nowrap}.pill-live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pill-done{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 40%,transparent);background:color-mix(in srgb,var(--accent-2) 10%,transparent)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags li{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:5px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);transition:color .2s,border-color .2s}.tags li:hover{color:var(--accent);border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .3s,transform .3s,box-shadow .3s}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}.logo{display:flex;align-items:center;gap:10px;font-weight:700}.logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--accent-2))}.logo-text{font-family:JetBrains Mono,monospace}.nav{display:flex;align-items:center;gap:4px;margin-left:auto}.nav a:not(.btn){position:relative;padding:8px 12px;border-radius:8px;font-size:.92rem;color:var(--muted);transition:color .2s,background .2s}.nav a:not(.btn):hover{color:var(--text)}.nav a.active{color:var(--text);background:var(--surface-2)}.nav-cta{margin-left:8px}.header-actions{display:flex;gap:8px}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .2s,color .2s}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.menu-btn{display:none}.hero{padding:88px 0 40px}.hero-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.3rem,5.2vw,3.9rem);font-weight:800;margin:20px 0}.hero-sub{display:grid;margin-top:.15em;font-size:.62em;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden}.hero-sub-ghost,.hero-sub-live{grid-area:1 / 1}.hero-sub-ghost{visibility:hidden}.typed{color:var(--text)}.caret{display:inline-block;width:3px;height:.95em;margin-left:4px;vertical-align:-.1em;background:var(--accent);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.lead{font-size:1.08rem;color:var(--muted);max-width:560px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 28px}.socials{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.socials a{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--muted);transition:color .2s,border-color .2s,transform .2s}.socials a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.socials-loc{display:inline-flex;align-items:center;gap:6px;margin-left:6px;color:var(--muted);font-size:.9rem}.terminal{border-radius:18px;background:var(--term-bg);border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -30px #0009,0 0 0 1px #34d3990f;overflow:hidden;transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);transition:transform .5s ease;min-width:0}.terminal:hover{transform:none}.terminal-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}.terminal-bar span{width:11px;height:11px;border-radius:50%;background:#ff5f57}.terminal-bar span:nth-child(2){background:#febc2e}.terminal-bar span:nth-child(3){background:#28c840}.terminal-bar em{margin-left:10px;font-style:normal;font-family:JetBrains Mono,monospace;font-size:.75rem;color:#6b7486}.terminal pre{margin:0;padding:22px 24px 26px;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:.86rem;line-height:1.75;color:#cbd5e1}.terminal .c{color:#5c6779;font-style:italic}.terminal .k{color:#c084fc}.terminal .v{color:#38bdf8}.terminal .s{color:#34d399}.terminal .n{color:#fbbf24}.terminal .f{color:#60a5fa}.terminal .ok{color:#34d399;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden}.stat{padding:26px 24px;text-align:center}.stat+.stat{border-left:1px solid var(--border)}.stat-value{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat-label{font-size:.88rem;color:var(--muted)}.section{padding:96px 0}.section-head{margin-bottom:48px;max-width:680px}.kicker{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--accent);margin-bottom:12px}.section-head h2,.contact h2{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:800}.section-intro{color:var(--muted);margin-top:14px;font-size:1.05rem}.about-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}.about-text p{font-size:1.08rem;color:var(--muted);margin-bottom:18px}.about-text p:first-child{color:var(--text);font-size:1.2rem}.about-card{padding:28px;border-radius:20px;border:1px solid var(--border);background:var(--surface);text-align:center}.avatar{width:92px;height:92px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;font-size:1.8rem;font-weight:800;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--accent-2),var(--accent-3));box-shadow:0 0 0 6px var(--surface-2),0 0 0 7px var(--border)}.about-card h3{font-size:1.3rem}.facts{text-align:left;margin:22px 0;display:grid;gap:12px}.facts li{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--muted);word-break:break-word}.facts svg{flex-shrink:0;color:var(--accent)}.facts a:hover{color:var(--accent)}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--accent),transparent)}.job{position:relative}.job-marker{position:absolute;left:-32px;top:30px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent)}.job-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.job-head h3{font-size:1.4rem;margin-bottom:8px}.at{color:var(--accent)}.impact{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.impact-item{padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.impact-item strong{display:block;font-size:1.45rem;font-weight:800;color:var(--accent);letter-spacing:-.02em}.impact-item span{font-size:.84rem;color:var(--muted);line-height:1.45;display:block}.bullets{display:grid;gap:10px;margin-bottom:22px}.bullets li{position:relative;padding-left:22px;color:var(--muted)}.bullets li:before{content:"▹";position:absolute;left:0;color:var(--accent)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{--pc: var(--accent);position:relative;display:flex;flex-direction:column;gap:14px;overflow:hidden}.project.accent-red{--pc: var(--red)}.project.accent-blue{--pc: var(--accent-2)}.project:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--pc),transparent)}.project:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--pc) 45%,transparent)}.project-head{display:flex;justify-content:space-between;align-items:center}.project-num{font-size:.9rem;color:var(--pc)}.project h3{font-size:1.3rem}.project-tagline{font-weight:600}.project>.muted{font-size:.93rem}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px dashed var(--border-strong)}.flow-step{display:inline-flex;align-items:center;gap:6px}.flow-node{font-family:JetBrains Mono,monospace;font-size:.7rem;padding:4px 8px;border-radius:6px;color:var(--pc);background:color-mix(in srgb,var(--pc) 12%,transparent);border:1px solid color-mix(in srgb,var(--pc) 30%,transparent)}.flow-arrow{color:var(--muted);font-size:.8rem}.checks{display:grid;gap:8px;flex:1;align-content:start}.checks li{display:flex;gap:10px;font-size:.9rem;color:var(--muted);line-height:1.5}.checks svg{flex-shrink:0;margin-top:2px;color:var(--pc)}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skill:hover{transform:translateY(-4px)}.skill-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.skill-head h3{font-size:1.05rem}.skill-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.interests{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.interest{position:relative;overflow:hidden}.interest:hover{transform:translateY(-4px)}.interest-emoji{display:inline-grid;place-items:center;width:52px;height:52px;font-size:1.6rem;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:16px;transition:transform .3s}.interest:hover .interest-emoji{transform:rotate(-8deg) scale(1.08)}.interest h3{font-size:1.1rem;margin-bottom:8px}.interest p{font-size:.93rem}.edu-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.card-title{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin-bottom:18px}.card-title svg{color:var(--accent)}.edu-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--border)}.edu-list li div{display:grid}.edu-list .muted{font-size:.9rem}.score{font-family:JetBrains Mono,monospace;font-weight:700;font-size:.9rem;color:var(--accent);white-space:nowrap}.achievements{display:grid;gap:22px}.achievement{display:flex;gap:18px;align-items:flex-start}.achievement>svg{flex-shrink:0;color:#fbbf24;margin-top:4px}a.achievement:hover{transform:translateY(-4px)}.achievement-big{font-size:2.2rem;font-weight:800;line-height:1.2}.achievement p{font-size:.9rem}.contact{text-align:center;padding:64px 32px;position:relative;overflow:hidden;background:radial-gradient(500px circle at 50% 0%,var(--glow-1),transparent 70%),var(--surface)}.contact h2{margin-bottom:16px}.contact>p{max-width:540px;margin:0 auto;font-size:1.05rem}.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:32px 0}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px}.contact-links a{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.95rem;transition:color .2s}.contact-links a:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);padding:28px 0;color:var(--muted);font-size:.88rem}.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer a:hover{color:var(--accent)}@media (max-width: 980px){.hero-inner,.about-grid,.edu-grid{grid-template-columns:1fr}.terminal{transform:none}.projects,.skills,.interests,.impact{grid-template-columns:repeat(2,1fr)}.about-card{max-width:420px}}@media (max-width: 820px){.menu-btn{display:grid}.nav{position:fixed;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:16px;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}.nav.open{transform:none;opacity:1;pointer-events:auto}.nav a:not(.btn){padding:12px 14px}.nav-cta{margin:8px 0 0}}@media (max-width: 640px){.container{padding:0 16px}.hero{padding-top:56px}.section{padding:72px 0}.stats{grid-template-columns:repeat(2,1fr);margin-top:48px}.stat:nth-child(3){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--border)}.projects,.skills,.interests{grid-template-columns:1fr}.card{padding:22px}.job-head{flex-direction:column;gap:12px}.timeline{padding-left:24px}.job-marker{left:-24px}.terminal pre{font-size:.75rem;padding:18px}.contact{padding:48px 20px}}
