@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";:root{--void:oklch(8% .01 250);--surface:oklch(12% .015 250);--surface-raised:oklch(16% .018 250);--edge-subtle:oklch(30% .08 250);--edge-primary:oklch(52% .18 250);--edge-strong:oklch(62% .22 250);--accent-cyan:oklch(78% .14 195);--accent-amber:oklch(72% .16 68);--text-primary:oklch(88% .04 250);--text-secondary:oklch(62% .06 250);--text-muted:oklch(50% .04 250);--sidebar-w:250px;--font:"Share Tech Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{background:var(--void);color:var(--text-primary);font-family:var(--font);min-height:100vh;line-height:1.7}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(4px)}}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(#0000 0 3px,oklch(0% 0 0/.035) 3px 4px);animation:5s linear infinite scanline;position:fixed;inset:0}a{color:inherit}button,input,textarea,select{font:inherit}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--edge-subtle);flex-direction:column;min-height:100vh;padding:2rem 1.25rem;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-name{color:var(--edge-strong);letter-spacing:.06em;margin-bottom:.3rem;font-size:1.1rem}.sidebar-handle{color:var(--text-muted);letter-spacing:.1em;margin-bottom:2rem;font-size:.72rem}.sidebar-rule,.rule,.section-rule{background:var(--edge-subtle)}.sidebar-rule{height:1px;margin-bottom:1.5rem}.sidebar-nav{flex-direction:column;flex:1;gap:.1rem;list-style:none;display:flex}.sidebar-nav a{color:var(--text-muted);letter-spacing:.08em;border-radius:2px;align-items:center;gap:.6rem;padding:.4rem .5rem;font-size:.82rem;text-decoration:none;transition:color .15s,background .15s;display:flex}.sidebar-nav .arrow{color:var(--edge-subtle);font-size:.7rem;transition:color .15s}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--surface-raised)}.sidebar-nav a:hover{color:var(--text-primary)}.sidebar-nav a:hover .arrow,.sidebar-nav a.active,.sidebar-nav a.active .arrow{color:var(--accent-cyan)}.sidebar-footer{border-top:1px solid var(--edge-subtle);flex-direction:column;gap:.75rem;padding-top:1.5rem;display:flex}.sidebar-link-button{border:1px solid var(--edge-subtle);background:var(--surface-raised);color:var(--text-primary);letter-spacing:.1em;text-align:center;padding:.7rem .85rem;font-size:.72rem;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:block}.sidebar-link-button:hover{border-color:var(--edge-primary);background:var(--surface);color:var(--accent-cyan)}.main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;display:flex}.pane-header{border-bottom:1px solid var(--edge-subtle);color:var(--text-muted);letter-spacing:.12em;gap:.5rem;padding:.8rem 2.75rem;font-size:.72rem;display:flex}.pane-header .sep{color:var(--edge-subtle)}.pane-header .crumb{color:var(--edge-primary)}.page.active{display:block}.pane-body{max-width:860px;padding:2.75rem 3rem 4.5rem}.prompt{color:var(--edge-primary);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.82rem;display:flex}.prompt .cmd,.contact-val,.t-out,.hero-body,.post-excerpt,.article-summary,.article-body{color:var(--text-secondary)}.cursor,.t-cursor{background:var(--edge-strong);vertical-align:text-bottom;animation:1.1s step-end infinite blink;display:inline-block}.cursor{width:.48em;height:1em}.t-cursor{width:.55em;height:1.1em}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.block-label,.section-label,.hero-eyebrow,.terminal-titlebar,.post-tag,.contact-key{color:var(--edge-primary)}.block-label{letter-spacing:.18em;margin-bottom:.75rem;font-size:.68rem}.rule{height:1px;margin:2rem 0}.bio{color:var(--text-secondary);margin-bottom:2rem;font-size:.96rem;line-height:1.9}.bio a,.back-link{color:var(--accent-cyan);text-decoration:none}.bio a:hover,.back-link:hover{background:var(--accent-cyan);color:var(--void);text-decoration:none}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--edge-subtle);color:var(--text-primary);letter-spacing:.07em;padding:3px 9px;font-size:.72rem;transition:border-color .15s,color .15s,background .15s,opacity .15s}.chip-match{border-color:var(--edge-primary);color:var(--accent-cyan);background:oklch(20% .03 230)}.chip-dim{color:var(--text-muted);opacity:.55}.chip-solo{border-color:var(--accent-amber);color:var(--accent-amber);background:oklch(20% .04 75)}.stack-filter{margin-top:1rem}.stack-filter-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.45rem;font-size:.68rem;display:block}.stack-filter-input{border:1px solid var(--edge-subtle);background:var(--surface);width:min(100%,22rem);color:var(--text-primary);outline:none;padding:.7rem .85rem;font-size:.82rem}.stack-filter-input::placeholder{color:var(--text-muted)}.stack-filter-input:focus{border-color:var(--edge-primary)}.project-name,.post-title,.hero-title,.article-header h1{color:var(--edge-strong)}.post-title{font-size:.98rem;transition:color .15s}.page-section{width:100%}.post-list,.article-actions{flex-direction:column;display:flex}.post-item,.article-shell{background:var(--surface);border-left:2px solid var(--edge-primary)}.article-shell{border:1px solid var(--edge-subtle);border-left:3px solid var(--accent-cyan);margin-bottom:1.25rem}.post-item{border-bottom:1px solid var(--edge-subtle);flex-direction:column;gap:.45rem;padding:1.15rem 1.25rem;text-decoration:none;transition:padding-left .15s,background .15s,border-left-color .15s;display:flex}.post-item:first-child{border-top:1px solid var(--edge-subtle)}.post-item:hover{background:var(--surface-raised);border-left-color:var(--accent-cyan);padding-left:1.55rem}.post-meta{color:var(--text-muted);letter-spacing:.08em;font-size:.7rem}.post-meta .tag{color:var(--edge-primary);margin-right:.75rem}.post-summary{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.post-tag{border:1px solid var(--edge-subtle);color:var(--edge-primary);letter-spacing:.12em;background:0 0;align-self:flex-start;padding:.2rem .55rem;font-size:.66rem;display:inline-block}.article-header,.article-body{padding:1.8rem}.article-header{border-bottom:1px solid var(--edge-subtle)}.article-header h1{letter-spacing:.04em;margin:1.1rem 0 .95rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}.article-summary{font-size:.95rem;line-height:1.8}.article-meta{color:var(--text-muted);letter-spacing:.1em;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.74rem;display:flex}.article-body{font-size:.94rem;line-height:1.95}.article-body>*+*{margin-top:1rem}.article-body h2,.article-body h3{color:var(--edge-strong);margin-top:1.5rem;line-height:1.3}.article-body a{color:var(--accent-cyan)}.article-body code{color:var(--accent-amber)}.article-body pre{border:1px solid var(--edge-subtle);border-left:2px solid var(--accent-amber);background:var(--surface);padding:1.1rem;overflow-x:auto}.article-actions{margin-bottom:1rem}.back-link{letter-spacing:.08em;font-size:.82rem}.mobile-bar{z-index:100;background:var(--surface);border-bottom:1px solid var(--edge-subtle);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:none;position:sticky;top:0}.mobile-name{color:var(--edge-strong);letter-spacing:.06em;font-size:.95rem}.mobile-toggle{border:1px solid var(--edge-subtle);color:var(--text-muted);cursor:pointer;letter-spacing:.1em;background:0 0;padding:4px 10px;font-size:.72rem;transition:color .15s,border-color .15s}.mobile-toggle:hover{border-color:var(--edge-primary);color:var(--accent-cyan)}.mobile-nav{background:var(--surface);border-bottom:1px solid var(--edge-subtle);padding:.75rem 1.25rem 1rem;display:none}.mobile-nav.open{display:block}.mobile-nav ul{flex-direction:column;gap:.2rem;list-style:none;display:flex}.mobile-nav a{color:var(--text-muted);letter-spacing:.08em;padding:.35rem 0;font-size:.82rem;text-decoration:none;display:block}.mobile-nav a.active{color:var(--accent-cyan)}@media (width<=640px){.sidebar{display:none}.main{margin-left:0}.mobile-bar{display:flex}.pane-body{padding:1.75rem 1.25rem 3rem}.pane-header{padding:.75rem 1.25rem}.article-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){.cursor,.dot,.t-cursor{animation:none}.project,.post-card,.sidebar-nav a,.tag-pill{transition:none}}
