:root{--nav-h:54px;--bg:#080a0d;--bg2:#0c0f14;--border:#ffffff0f;--accent:#ff8c00;--accent2:#e445ff;--accent3:#06b6d4;--text:#f0ebe0;--muted:#8b95a3;--dimmed:#4a5568;--subtle:#7d8fa0;--tag-rant:#ef4444;--wipe:var(--accent);--overlay-line:#ffffff06}[data-theme=void]{--bg:#090c10;--bg2:#0d1117;--border:#3df2e01a;--accent:#3df2e0;--accent2:#7b8cff;--accent3:#ff4d8f;--text:#f0fffd;--muted:#7ab8b2;--dimmed:#2d5a55;--subtle:#5aa89e;--tag-rant:#ff6b6b}[data-theme=quantum]{--bg:#071525;--bg2:#0a1d30;--border:#8cd2ff1f;--accent:#5bc8f5;--accent2:#f5c842;--accent3:#7fe8a2;--text:#eaf6ff;--muted:#8bbdd4;--dimmed:#2d5a72;--subtle:#5a90b5;--tag-rant:#ff7070}[data-theme=plasma]{--bg:#0f0a14;--bg2:#160f1e;--border:#e445ff1f;--accent:#e445ff;--accent2:#7b6fff;--accent3:#0fc;--text:#fef0ff;--muted:#b87acc;--dimmed:#4a2560;--subtle:#8f5aaa;--tag-rant:#ff6b6b}[data-theme=solar]{--bg:#080f0a;--bg2:#0c1510;--border:#b6ff3b1f;--accent:#b6ff3b;--accent2:gold;--accent3:#ff7f3f;--text:#f5ffe8;--muted:#91b870;--dimmed:#2d4a1a;--subtle:#6a8f4a;--tag-rant:#ff6b6b}[data-theme=drift]{--bg:#e8edf2;--bg2:#d8e0e8;--border:#1a6fa826;--accent:#1a6fa8;--accent2:#7b3fbf;--accent3:#d4550f;--text:#080f1a;--muted:#3d6080;--dimmed:#8ca0b0;--subtle:#6a90aa;--tag-rant:#c20;--overlay-line:#0000000a}[data-theme=daylight]{--bg:#f5f2ed;--bg2:#ede9e2;--border:#1a16121a;--accent:#c45e00;--accent2:#9b1fc3;--accent3:#0e7490;--text:#1a1612;--muted:#57534e;--dimmed:#a8a29e;--subtle:#8a8580;--tag-rant:#b91c1c;--overlay-line:#0000000a}[data-theme=synthwave]{--bg:#0d0120;--bg2:#150230;--border:#ff2d782e;--accent:#c8185a;--accent2:#ff6a00;--accent3:#bf5fff;--text:#f0e6ff;--muted:#b070d0;--dimmed:#4a1870;--subtle:#8050b0;--tag-rant:#ff4d6d;--wipe:#ff2d78;--overlay-line:#8228c80a}html[data-theme=synthwave] #circuit-bg,html[data-theme=synthwave] #hero:before,html[data-theme=synthwave] #hero:after{display:none}html.anim-paused #circuit-bg *,html.anim-paused #hero[data-scanlines=true]:before{animation-play-state:paused}html[data-theme=synthwave] section.content-section{background-image:linear-gradient(#8c32d217 1px,#0000 1px),linear-gradient(90deg,#8c32d217 1px,#0000 1px);background-size:56px 56px}html[data-theme=synthwave] .btn-primary{color:#fff}html[data-theme=synthwave] .hero-divider-line{display:none}html[data-theme=synthwave] .hero-divider span{background:color-mix(in srgb, var(--bg) 70%, transparent);border-radius:100px;padding:.1rem .65rem}[data-theme=laser]{--bg:#0d0808;--bg2:#130a0a;--border:#e8001c1f;--accent:#e8001c;--accent2:#ff6b2b;--accent3:#00d4ff;--text:#f0f4f8;--muted:#a08888;--dimmed:#4a2525;--subtle:#8f6060;--tag-rant:#f33;--wipe:#8b0000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;overflow-x:hidden}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes flickerIn{0%{opacity:0}70%{opacity:0}80%{opacity:1}85%{opacity:.4}90%{opacity:1}to{opacity:1}}@keyframes fullWipe{0%{transform:translate(-101%)}42%{transform:translate(0%)}58%{transform:translate(0%)}to{transform:translate(101%)}}@keyframes titleWipe{0%{transform:translate(-101%)}42%{transform:translate(0%)}58%{transform:translate(0%)}to{transform:translate(101%)}}#theme-wipe{z-index:9999;pointer-events:none;background:var(--wipe);position:fixed;inset:0;transform:translate(-101%)}#theme-wipe.wiping{animation:.72s cubic-bezier(.76,0,.24,1) forwards fullWipe}#theme-bar{position:relative}#theme-toggle{display:none}#theme-swatches{z-index:300;border:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;width:max-content;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 4px 16px #0006}#theme-swatches.open{display:flex}.swatch-btn{letter-spacing:.06em;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:var(--bg2);color:var(--muted);white-space:nowrap;text-align:left;align-items:center;padding:.28rem .65rem;font-family:Space Mono,monospace;font-size:.58rem;transition:all .15s;display:flex}.swatch-btn:last-child{border-bottom:none}.swatch-btn:hover{color:var(--text);background:color-mix(in srgb, var(--accent) 12%, var(--bg2))}.swatch-btn.active{color:var(--accent)}.swatch-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:6px;display:inline-block}nav{z-index:100;padding:0 3rem;transition:all .3s;position:fixed;top:0;left:0;right:0}nav.scrolled{background:color-mix(in srgb, var(--bg) 94%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}@media (width<=768px){nav{background:color-mix(in srgb, var(--bg) 97%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}}.nav-inner{max-width:1100px;height:var(--nav-h);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{letter-spacing:.05em;align-items:center;gap:0;font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:700;text-decoration:none;display:flex}.logo .l1{color:var(--accent)}.logo .l2{color:var(--text)}.logo .l3{color:var(--muted)}.logo-sep{color:var(--accent3);opacity:.5;margin:0 3px}.nav-badge{color:var(--tag-rant);border:1px solid color-mix(in srgb, var(--tag-rant) 35%, transparent);letter-spacing:.1em;white-space:nowrap;padding:.12rem .45rem;font-family:Space Mono,monospace;font-size:.58rem;animation:2s 1.2s both flickerIn}.logo-group{flex-shrink:0;align-items:center;gap:.6rem;display:flex}#light-dark-btn,#palette-btn{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}#light-dark-btn svg,#palette-btn svg{width:13px;height:13px}#light-dark-btn:hover,#palette-btn:hover{color:var(--accent)}@keyframes navIconBreathe{0%,to{opacity:1;color:var(--muted)}50%{opacity:1;color:var(--accent3)}}#light-dark-btn{color:var(--muted);animation:3.5s ease-in-out infinite navIconBreathe}#palette-btn{color:var(--muted);animation:3.5s ease-in-out 1.75s infinite navIconBreathe}@keyframes navIconAttention{0%,to{color:var(--muted)}50%{color:var(--accent3);filter:drop-shadow(0 0 4px var(--accent3))}}#light-dark-btn.first-visit{animation:1s ease-in-out 3 navIconAttention,3.5s ease-in-out 3s infinite navIconBreathe}#palette-btn.first-visit{animation:1s ease-in-out .3s 3 navIconAttention,3.5s ease-in-out 3.3s infinite navIconBreathe}.nav-links{align-items:center;gap:1.8rem;display:flex}.nav-links a{color:var(--muted);letter-spacing:.05em;font-family:Space Mono,monospace;font-size:.7rem;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent)}.nav-links a.code{color:var(--accent3);border:1px solid color-mix(in srgb, var(--accent3) 30%, transparent);padding:.2rem .5rem;font-weight:700;transition:all .2s}.nav-links a.code:hover{background:color-mix(in srgb, var(--accent3) 10%, transparent)}section.content-section{z-index:1;border-top:1px solid var(--border);padding:3.5rem 3rem;position:relative}.section-inner{max-width:1100px;margin:0 auto}.section-label{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.section-label-line{background:var(--accent);width:18px;height:1px}.section-label .label-text{color:var(--accent);letter-spacing:.15em;font-family:Space Mono,monospace;font-size:.63rem}.section-label .label-comment{color:var(--subtle);letter-spacing:.05em;margin-left:auto;font-family:Space Mono,monospace;font-size:.72rem}h2{color:var(--text);letter-spacing:.04em;margin-bottom:1.8rem;font-family:Orbitron,sans-serif;font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:700}.post-item{border-bottom:1px solid var(--border);border-left:2px solid #0000;align-items:center;gap:1rem;margin-left:-1rem;padding:1rem;text-decoration:none;transition:all .2s;display:flex}.post-item:hover{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, transparent)}.post-item:hover .post-arrow{opacity:1;transform:translate(0)}.post-title{color:var(--text);opacity:.85;flex:1;font-family:DM Sans,sans-serif;font-size:.92rem}.post-date{color:var(--subtle);white-space:nowrap;font-family:Space Mono,monospace;font-size:.75rem}.post-arrow{color:var(--accent);opacity:0;font-size:.7rem;transition:all .2s;transform:translate(-4px)}.tag{letter-spacing:.08em;white-space:nowrap;flex-shrink:0;padding:.1rem .4rem;font-family:Space Mono,monospace;font-size:.58rem}.tag-rant{color:var(--tag-rant);border:1px solid color-mix(in srgb, var(--tag-rant) 40%, transparent)}.tag-code{color:var(--accent3);border:1px solid color-mix(in srgb, var(--accent3) 40%, transparent)}.tag-life{color:var(--accent2);border:1px solid color-mix(in srgb, var(--accent2) 40%, transparent)}.tag-project{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent)}.grumpy-aside{border-left:2px solid var(--accent2);background:color-mix(in srgb, var(--accent2) 4%, transparent);margin-top:2rem;padding:1rem 1.5rem}.grumpy-aside:before{content:"// opinion";color:var(--accent2);letter-spacing:.1em;margin-bottom:.5rem;font-family:Space Mono,monospace;font-size:.6rem;display:block}.grumpy-aside p{color:var(--muted);font-family:Space Mono,monospace;font-size:.72rem;line-height:1.8}.grumpy-aside p em{color:var(--accent);font-style:normal}.projects-grid{background:var(--border);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;display:grid}.project-card{background:var(--bg);cursor:pointer;padding:1.5rem;text-decoration:none;transition:background .2s;display:block;position:relative;overflow:hidden}.project-card:hover{background:var(--bg2)}.project-card:hover .project-underline{opacity:1;width:100%}.project-name{color:var(--accent);margin-bottom:.4rem;font-family:Space Mono,monospace;font-size:.82rem;font-weight:700;display:block}.project-status{float:right;padding:.08rem .35rem;font-family:Space Mono,monospace;font-size:.56rem}.status-active{color:var(--accent3);border:1px solid color-mix(in srgb, var(--accent3) 40%, transparent)}.status-shipped{color:var(--subtle);border:1px solid color-mix(in srgb, var(--subtle) 40%, transparent)}.project-desc{color:var(--muted);clear:both;font-family:DM Sans,sans-serif;font-size:.8rem;line-height:1.6}.project-underline{opacity:0;background:linear-gradient(90deg, var(--accent), var(--accent2));width:0;height:2px;transition:all .4s;position:absolute;bottom:0;left:0}footer{border-top:1px solid var(--border);z-index:1;padding:1.5rem 3rem;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:1100px;margin:0 auto;display:flex}.footer-left{flex-direction:column;gap:.25rem;display:flex}footer span{color:var(--subtle);font-family:Space Mono,monospace;font-size:.68rem}footer .footer-name{color:var(--muted);font-size:.72rem}footer .footer-copy{color:var(--subtle);font-size:.72rem}footer em{color:var(--accent2);font-style:normal}.prose-wrap{max-width:720px;padding:calc(var(--nav-h) + 3rem) 3rem 4rem;margin:0 auto}.prose-wrap h1{color:var(--text);margin-bottom:.5rem;font-family:Orbitron,sans-serif;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:900}.prose-meta{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.prose-body{color:var(--text);font-family:DM Sans,sans-serif;font-size:1rem;line-height:1.8}.prose-body h2{margin-top:2rem;margin-bottom:.75rem}.prose-body p{margin-bottom:1.2rem}.prose-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose-body code{background:var(--bg2);border-radius:2px;padding:.1em .4em;font-family:Inconsolata,monospace;font-size:.9em}.prose-body pre{background:var(--bg2);border:1px solid var(--border);margin-bottom:1.2rem;padding:1.2rem;overflow-x:auto}.prose-body pre code{background:0 0;padding:0}.back-link{color:var(--muted);letter-spacing:.05em;align-items:center;gap:.4rem;margin-bottom:2rem;font-family:Space Mono,monospace;font-size:.65rem;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--accent)}#nav-hamburger{border:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:0;transition:border-color .2s;display:none}#nav-hamburger:hover{border-color:var(--accent)}.ham-line{background:var(--muted);transform-origin:50%;width:18px;height:1.5px;transition:all .25s;display:block}#nav-hamburger.open .ham-line:first-child{background:var(--accent);transform:translateY(6.5px)rotate(45deg)}#nav-hamburger.open .ham-line:nth-child(2){opacity:0;transform:scaleX(0)}#nav-hamburger.open .ham-line:nth-child(3){background:var(--accent);transform:translateY(-6.5px)rotate(-45deg)}@keyframes hamPulse{0%{border-color:var(--border);box-shadow:none}40%{border-color:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent)}60%{border-color:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent)}to{border-color:var(--border);box-shadow:none}}#nav-hamburger.pulse{animation:2s .8s forwards hamPulse}#mobile-menu{background:color-mix(in srgb, var(--bg) 97%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid #0000;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1);overflow:hidden}#mobile-menu.open{border-bottom-color:var(--border);max-height:400px}.mobile-menu-inner{flex-direction:column;gap:0;padding:.75rem 1.5rem 1.25rem;display:flex}.mobile-menu-link{color:var(--muted);letter-spacing:.06em;border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.7rem 0;font-family:Space Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .2s;display:flex}.mobile-menu-link:last-child{border-bottom:none}.mobile-menu-link:hover,.mobile-menu-link[aria-current=page]{color:var(--accent)}.mobile-menu-link:before{content:"›";color:var(--dimmed);font-size:.9rem}.mobile-menu-code{color:var(--accent3)}.mobile-menu-code:hover{color:var(--accent)}@media (width<=768px){.nav-links{display:none}#nav-hamburger{display:flex}nav{padding:0 1.5rem}section.content-section{padding:3rem 1.5rem}footer{padding:1.5rem}.prose-wrap{padding:5rem 1.5rem 3rem}.post-date,.section-label .label-comment{display:none}}@media (height<=500px) and (orientation:landscape){nav{position:relative}}#cookie-bar{z-index:500;background:var(--bg2);border-top:1px solid var(--border);color:var(--muted);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 3rem;font-family:Space Mono,monospace;font-size:.58rem;display:flex;position:fixed;bottom:0;left:0;right:0}#cookie-bar a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}#cookie-ok{letter-spacing:.08em;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;flex-shrink:0;padding:.25rem .6rem;font-family:Space Mono,monospace;font-size:.58rem;transition:all .2s}#cookie-ok:hover{background:var(--accent);color:var(--bg)}@media (width<=600px){#cookie-bar{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1.5rem}}
