@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Space+Mono:wght@400;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0b0f;--surface: #0f1117;--border: rgba(255,255,255,.14);--accent: #00ff9d;--muted: #99a1b8;--text: #eef2ff;--text-dim: #c6cce0;--mono: "Space Mono", "Courier New", monospace;--sans: "DM Sans", "Segoe UI", sans-serif}html{background:var(--bg);color:var(--text);font-family:var(--sans)}body{min-height:100vh}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#222}a{color:inherit;text-decoration:none}nav{border-bottom:1px solid var(--border);padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:52px;position:sticky;top:0;z-index:100;background:#0a0b0feb;backdrop-filter:blur(12px)}nav .logo{font-family:var(--mono);font-size:.8rem;color:var(--accent);letter-spacing:.1em}nav .nav-links{display:flex;gap:32px;list-style:none}nav .nav-links a{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;color:var(--muted);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}nav .nav-links a:hover,nav .nav-links a.active{color:var(--accent);border-bottom-color:var(--accent)}.hero{padding:80px 48px 60px;max-width:900px;border-bottom:1px solid var(--border)}.hero .eyebrow{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.1em;margin-bottom:20px}.hero h1{font-family:var(--mono);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-bottom:20px;color:#eeeef5}.hero h1 span{color:var(--accent)}.hero .bio{font-size:1rem;line-height:1.75;color:var(--text-dim);max-width:500px;margin-bottom:28px;font-weight:300}.hero .links{display:flex;gap:10px;flex-wrap:wrap}.hero .links a{font-family:var(--mono);font-size:.72rem;border:1px solid var(--border);padding:6px 14px;border-radius:2px;color:var(--muted);letter-spacing:.06em;transition:color .2s,border-color .2s}.hero .links a:hover{color:var(--accent);border-color:var(--accent)}main{padding:48px;max-width:900px}.section-label{font-family:var(--mono);font-size:.7rem;color:var(--muted);letter-spacing:.12em;margin-bottom:28px}.projects{display:flex;flex-direction:column;gap:16px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:24px 28px;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#00ff9d40;transform:translateY(-1px)}.project-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:16px}.project-card h3{font-size:1rem;font-weight:500;color:#e0e0ee;letter-spacing:-.01em}.status{font-family:var(--mono);font-size:.65rem;padding:2px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0}.status.shipped{color:#00ff9d;border:1px solid rgba(0,255,157,.3)}.status.progress{color:#f0c040;border:1px solid rgba(240,192,64,.3)}.status.concept{color:#88a;border:1px solid rgba(136,136,170,.3)}.project-card p{font-size:.88rem;color:var(--text-dim);line-height:1.6;margin-bottom:14px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-family:var(--mono);font-size:.7rem;background:#00ff9d0f;border:1px solid rgba(0,255,157,.18);color:var(--accent);padding:2px 8px;border-radius:2px}.post-list{display:flex;flex-direction:column}.post-row{padding:20px 4px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background .15s;border-radius:2px}.post-row:hover{background:#00ff9d08}.post-row a{font-size:.95rem;color:#e0e4f7;line-height:1.5}.post-row a:hover{color:var(--accent)}.post-date{font-family:var(--mono);font-size:.68rem;color:var(--muted);white-space:nowrap}.post-content{max-width:680px}.post-content h1{font-family:var(--mono);font-size:1.8rem;color:#eeeef5;line-height:1.2;margin-bottom:12px}.post-meta{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-bottom:40px}.prose{font-size:.97rem;line-height:1.85;color:#d0d7ed}.prose h2{font-family:var(--mono);font-size:1rem;color:#e0e4f7;margin:36px 0 12px;letter-spacing:.04em}.prose p{margin-bottom:20px}.prose code{font-family:var(--mono);background:#00ff9d12;border:1px solid rgba(0,255,157,.15);color:var(--accent);padding:1px 6px;border-radius:2px;font-size:.88em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:20px;overflow-x:auto;margin-bottom:24px}.prose pre code{background:none;border:none;padding:0;color:#c0c0d8}.prose a{color:var(--accent);border-bottom:1px solid rgba(0,255,157,.3)}.prose a:hover{border-bottom-color:var(--accent)}.stack-groups{display:flex;flex-direction:column;gap:32px}.stack-group-label{font-family:var(--mono);font-size:.68rem;color:var(--accent);letter-spacing:.1em;margin-bottom:12px;opacity:.8}.stack-items{display:flex;gap:8px;flex-wrap:wrap}.stack-item{font-family:var(--mono);font-size:.78rem;border:1px solid var(--border);padding:5px 12px;border-radius:2px;color:var(--text-dim);transition:color .15s,border-color .15s}.stack-item:hover{color:var(--accent);border-color:#00ff9d4d}footer{border-top:1px solid var(--border);padding:20px 48px;display:flex;justify-content:space-between;align-items:center;margin-top:80px}footer span{font-family:var(--mono);font-size:.65rem;color:var(--muted)}.back-link{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-bottom:40px;display:inline-block;transition:color .2s}.back-link:hover{color:var(--accent)}@media (max-width: 600px){nav,.hero,main,footer{padding-left:20px;padding-right:20px}.hero h1{font-size:2rem}}
