:root{--bg: #0a0d12;--surface: #0f141b;--surface-2: #141a23;--surface-3: #1a212c;--border: #232b37;--border-strong: #313c4b;--text: #d6dce4;--text-dim: #8b95a3;--text-faint: #576274;--accent: #39d353;--accent-dim: #26a641;--accent-glow: rgba(57, 211, 83, .14);--accent-glow-strong: rgba(57, 211, 83, .28)}*{box-sizing:border-box}html{color-scheme:dark;background:var(--bg)}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;display:block}body{margin:0;color:var(--text);font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}::selection{background:var(--accent-glow-strong);color:#eafff0}.shell{max-width:780px;margin:0 auto;padding:0 24px 96px}.tabbar{max-width:780px;margin:0 auto;padding:28px 24px 0;display:flex;align-items:flex-end;gap:2px;overflow-x:auto}.tab{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-faint);background:var(--surface);border:1px solid var(--border);border-bottom:none;padding:9px 16px 8px;white-space:nowrap;display:flex;align-items:center;gap:8px}a.tab{text-decoration:none}.tab.active{color:var(--accent);background:var(--surface-2);border-color:var(--border-strong);box-shadow:inset 0 2px 0 var(--accent)}.tab .dot{width:6px;height:6px;background:var(--text-faint);flex-shrink:0}.tab.active .dot{background:var(--accent)}.tabbar-fill{flex:1;border-bottom:1px solid var(--border);min-width:12px;align-self:flex-end}.frame{max-width:780px;margin:0 auto;border:1px solid var(--border-strong);border-top:none;background:var(--surface-2)}.cmd{display:flex;gap:10px;align-items:baseline;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-faint);padding:18px 32px 0}.cmd .sigil{color:var(--accent)}.cursor{display:inline-block;width:7px;height:15px;background:var(--accent);margin-left:2px;transform:translateY(3px);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:20px 32px 36px;border-bottom:1px solid var(--border)}.avatar-wrap{width:128px;height:128px;background:var(--surface-3);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.avatar-wrap:before{content:"";position:absolute;inset:-1px;border:1px solid var(--accent-glow-strong);pointer-events:none}.avatar-wrap img{width:96px;height:96px}.hero h1{font-family:JetBrains Mono,monospace;font-size:clamp(28px,5vw,38px);font-weight:700;margin:0 0 6px;color:#eef1f5;text-wrap:balance;letter-spacing:-.01em}.hero h1 .prompt-sym{color:var(--accent)}.role{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--accent);margin:0 0 10px}.tagline{margin:0;color:var(--text-dim);max-width:46ch;font-size:15px}section{padding:40px 32px;border-bottom:1px solid var(--border)}section:last-of-type{border-bottom:none}.heading{display:flex;align-items:center;gap:12px;margin:0 0 20px}.heading .idx{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent);background:var(--accent-glow);border:1px solid var(--border-strong);padding:3px 8px}.heading h2{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0;font-weight:600}.heading:after{content:"";flex:1;height:1px;background:var(--border)}.about p{color:var(--text-dim);max-width:62ch;margin:0 0 14px}.about p:last-child{margin-bottom:0}.about strong{color:var(--text);font-weight:600}.stackgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.stackitem{background:var(--surface-2);padding:12px 14px;display:flex;align-items:center;gap:9px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-dim)}.stackitem .bit{width:6px;height:6px;background:var(--accent);flex-shrink:0}.stackitem.dim .bit{background:var(--text-faint)}.projects{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border)}.project{background:var(--surface-2);padding:20px 22px;display:grid;gap:8px}.project.flagship{background:linear-gradient(180deg,var(--accent-glow),var(--surface-2) 65%)}.project-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.project-name{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;color:#eef1f5}.project-name a{color:inherit}.project-tag{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border-strong);padding:3px 8px;white-space:nowrap}.project-desc{color:var(--text-dim);font-size:14.5px;max-width:58ch}.project-meta{display:flex;gap:16px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-faint);margin-top:2px}.project-meta a{color:var(--text-dim)}.project-meta a:hover{color:var(--accent)}.lang-dot{display:inline-block;width:8px;height:8px;margin-right:6px;transform:translateY(1px)}.editme{border:1px dashed var(--border-strong);color:var(--text-faint)}.contact-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border:1px solid var(--border)}.contact-link{flex:1 1 180px;background:var(--surface-2);padding:16px 18px;display:flex;flex-direction:column;gap:3px;color:var(--text)}.contact-link:hover{background:var(--surface-3);text-decoration:none}.contact-link .label{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.contact-link .value{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--accent)}footer.site-footer{max-width:780px;margin:0 auto;padding:22px 32px 40px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-faint)}footer.site-footer .status{display:flex;align-items:center;gap:8px}footer.site-footer .led{width:7px;height:7px;background:var(--accent);box-shadow:0 0 6px var(--accent)}.postlist{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border)}.postcard{background:var(--surface-2);padding:18px 22px;display:grid;gap:6px}.postcard:hover{background:var(--surface-3)}.postcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.postcard h3{margin:0;font-family:JetBrains Mono,monospace;font-size:15.5px;font-weight:700;color:#eef1f5}.postcard h3 a{color:inherit}.postcard h3 a:hover{color:var(--accent)}.source-badge{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border-strong);padding:2px 7px;white-space:nowrap}.postcard-desc{color:var(--text-dim);font-size:14px;max-width:62ch;margin:0}.postcard-meta{display:flex;gap:12px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--text-faint)}.tag{color:var(--accent)}.post-header{padding:32px 32px 0}.post-header .back{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--text-faint)}.post-header .back:hover{color:var(--accent)}.post-header h1{font-family:JetBrains Mono,monospace;font-size:clamp(22px,4vw,30px);color:#eef1f5;margin:14px 0 8px;text-wrap:balance}.post-meta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--text-faint);margin-bottom:18px}.post-body{padding:8px 32px 36px;color:var(--text-dim);font-size:15.5px;max-width:66ch}.post-body p{margin:0 0 16px}.attribution{margin:28px 32px 40px;padding:16px 18px;border:1px solid var(--border-strong);background:var(--accent-glow);font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text)}.attribution a{font-weight:600}@media(max-width:560px){.hero{grid-template-columns:1fr;text-align:left}section{padding:32px 20px}.cmd{padding:16px 20px 0}.hero{padding:18px 20px 28px}.post-header,.post-body,.attribution{padding-left:20px;padding-right:20px;margin-left:0;margin-right:0}}
