:root{--bg:#0A0C0B;--panel:#111614;--line:#232E28;--text:#D7E3DB;--dim:#8FA396;--accent:#5CF0A0}*{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,sans-serif;line-height:1.6}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.dim{color:var(--dim)}.accent{color:var(--accent)}a{color:inherit}a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--accent);color:#0a0c0b;padding:8px 12px;z-index:10}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:#0a0c0beb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{color:var(--accent);text-decoration:none;font-size:14px}.nav nav{display:flex;gap:28px;font-size:14px}.nav nav a{color:var(--dim);text-decoration:none}.nav nav a:hover{color:var(--text)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;min-height:calc(100vh - 64px);padding-top:48px;padding-bottom:48px}.prompt{color:var(--accent);margin:0 0 20px}h1{margin:0 0 24px;font-size:clamp(40px,6vw,64px);line-height:1.05;font-weight:600}.cursor{color:var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.lede{font-size:20px;color:#a9bab0;max-width:540px;margin:0 0 32px}.actions{display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 24px;border:1px solid #2C3A32;border-radius:6px;text-decoration:none;font-size:15px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#0a0c0b;border-color:var(--accent);font-weight:600}.term{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;font-size:14px}.term p{margin:0;line-height:2}.section{padding-top:96px;padding-bottom:24px}h2{margin:0 0 32px;font-size:28px;color:var(--accent);font-weight:600}h3{margin:0 0 8px;font-size:20px;font-weight:600}.about{max-width:680px}.about p{margin:0 0 16px;color:#b9c8bf;font-size:18px}.timeline{list-style:none;margin:0;padding:0}.timeline>li{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:28px 0;border-top:1px solid var(--line)}.meta{display:flex;flex-direction:column;font-size:14px}.timeline ul{margin:0;padding-left:18px;color:#b9c8bf;max-width:720px}.timeline ul li{margin-bottom:8px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:32px;max-width:760px}.card p{color:#b9c8bf;margin:0 0 20px}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 20px;font-size:13px;color:#a9bab0}.chips li{border:1px solid #2C3A32;padding:6px 14px;border-radius:999px}.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 48px}.skills h3{font-size:16px;color:var(--dim);font-weight:500}.contact{padding-bottom:96px}.foot{padding-top:32px;padding-bottom:48px;border-top:1px solid var(--line);font-size:14px}@media (max-width:860px){.hero{grid-template-columns:1fr;min-height:0}.timeline>li{grid-template-columns:1fr;gap:12px}.skills{grid-template-columns:1fr}.nav nav{gap:16px;font-size:13px}.nav{padding:14px 20px}.wrap{padding:0 20px}}@media (max-width:560px){.nav nav a:nth-child(n+4){display:none}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}html{scroll-behavior:auto}}.bubble{width:100%;max-width:560px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:18px}.bubble h3{margin:0}.bubble label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--dim)}.bubble input,.bubble textarea{font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid #2C3A32;border-radius:12px;padding:12px 14px;resize:vertical}.bubble input:focus-visible,.bubble textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.bubble .btn{align-self:flex-start;cursor:pointer}.bubble .btn:disabled{opacity:.6;cursor:wait}.bubble .hp{position:absolute;left:-9999px}.status{margin:0;min-height:1.6em;font-size:15px;color:var(--text)}.status a{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.contact-info .lede{margin-bottom:32px}@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:32px}}
