:root{--bg: #0a0a0a;--bg-2: #111;--fg: #d7d7d7;--dim: #7a7a7a;--muted: #4a4a4a;--accent: #7cff6b;--accent-2: #ffb86b;--warn: #ff6b6b;--link: #7cff6b;--rule: #1e1e1e;--mono: ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg)}body{font-family:var(--mono);font-size:15px;line-height:1.6;min-height:100vh;background:radial-gradient(1200px 600px at 80% -10%,rgba(124,255,107,.06),transparent 60%),radial-gradient(1000px 500px at -10% 20%,rgba(255,184,107,.04),transparent 60%),var(--bg)}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.015) 0px,rgba(255,255,255,.015) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay}.wrap{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:48px 24px 96px}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.prompt{color:var(--dim);font-size:13px;letter-spacing:.02em;border:1px solid var(--rule);background:var(--bg-2);padding:8px 12px;display:flex;flex-wrap:wrap;gap:2px}.prompt .user{color:var(--accent)}.prompt .at{color:var(--dim)}.prompt .host{color:var(--accent-2)}.prompt .colon,.prompt .dollar{color:var(--dim)}.prompt .path{color:#6ba9ff}.prompt .dollar{margin-right:6px;margin-left:2px}.prompt .cmd{color:var(--fg)}.head{margin-bottom:40px}.name{font-size:clamp(38px,8vw,68px);line-height:1.05;margin:20px 0 4px;letter-spacing:-.02em;font-weight:700}.name .bracket{color:var(--dim);font-weight:400}.cursor{display:inline-block;color:var(--accent);animation:blink 1.1s steps(1,end) infinite;transform:translateY(-2px)}@keyframes blink{50%{opacity:0}}.tagline{color:var(--dim);margin:0;font-size:15px}.tagline .comment{color:var(--muted);margin-right:6px}.section{margin:44px 0;border-top:1px dashed var(--rule);padding-top:28px}.h2{font-size:14px;text-transform:lowercase;letter-spacing:.08em;color:var(--fg);margin:0 0 18px;font-weight:600}.h2 .hash{color:var(--accent);margin-right:8px}.prose p{margin:0 0 12px;color:var(--fg)}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--accent);font-weight:600}.prose em{color:var(--accent-2);font-style:normal}.facts{margin:20px 0 0;padding:14px 16px;border:1px solid var(--rule);background:var(--bg-2);display:grid;gap:6px;font-size:13px}.facts>div{display:flex;gap:12px;align-items:baseline}.facts dt{color:var(--accent);min-width:64px;text-transform:lowercase;letter-spacing:.04em}.facts dt:before{content:"·";margin-right:6px;color:var(--muted)}.facts dd{margin:0;color:var(--fg)}.facts .dim{color:var(--dim)}.projects{list-style:none;padding:0;margin:0;display:grid;gap:14px}.project-link{display:block;border:1px solid var(--rule);background:var(--bg-2);padding:16px 18px;color:var(--fg);transition:border-color .15s ease,transform .15s ease,background .15s ease}.project-link:hover{border-color:var(--accent);background:#0f130f;text-decoration:none;transform:translateY(-1px)}.project-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px}.project-name{color:var(--accent);font-weight:600;font-size:17px}.project-tag{color:var(--dim);font-size:12px;letter-spacing:.04em}.project-status{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--muted);color:var(--dim);padding:2px 6px}.project-status[data-status="under development"]{color:var(--accent-2);border-color:var(--accent-2)}.project-status[data-status=shipped]{color:var(--accent);border-color:var(--accent)}.project-blurb{color:var(--fg);margin:4px 0 10px;font-size:14px;line-height:1.55}.stack{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.stack li{font-size:11px;color:var(--dim);border:1px solid var(--rule);padding:2px 6px;background:#0d0d0d}.contacts{list-style:none;padding:0;margin:0;display:grid;gap:6px}.contact{display:flex;gap:10px;align-items:baseline;font-size:14px}.contact-label{color:var(--dim);min-width:84px;text-transform:lowercase}.contact-sep{color:var(--muted)}.contact-value{color:var(--link)}.foot{margin-top:56px}@media (max-width: 520px){.wrap{padding:32px 16px 64px}.project-status{margin-left:0}}
