:root{--background: #0a0a0a;--foreground: #c5c8c6;--accent: #00ff88;--accent-secondary: #00b8ff;--accent-hover: #ffcc00;--muted: #9a9a9a;--border: #444;--code-bg: #151515;--glow-color: rgba(0, 255, 136, .4);--font-mono: "Fira Code", "Fira Mono", "Consolas", "Monaco", monospace;--max-width: 800px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes glow-pulse{0%,to{text-shadow:0 0 5px var(--glow-color),0 0 10px var(--glow-color)}50%{text-shadow:0 0 10px var(--glow-color),0 0 20px var(--glow-color)}}.matrix-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background-color:var(--background)}body{font-family:var(--font-mono);background:transparent;color:var(--foreground);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:no-preference){body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background:repeating-linear-gradient(transparent 0px,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);z-index:1000}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.4) 100%);z-index:999}}.container{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem;position:relative;z-index:10}header{position:sticky;top:0;z-index:100;margin-bottom:3rem;padding:1rem 0 1.5rem;border-bottom:1px dashed var(--border);background:var(--background);transition:box-shadow .3s ease}header.scrolled{box-shadow:0 4px 20px #00ff881a}.ascii-logo{color:var(--accent);font-size:.5rem;line-height:1.1;margin-bottom:1rem;text-shadow:0 0 10px var(--glow-color);user-select:none;letter-spacing:0}@media(prefers-reduced-motion:no-preference){.ascii-logo{animation:glow-pulse 4s ease-in-out infinite}}@media(max-width:600px){.ascii-logo{font-size:.28rem}}.site-title{font-size:1.5rem;margin-bottom:.5rem}.site-title a{color:var(--accent);text-decoration:none;text-shadow:0 0 10px var(--glow-color)}.site-title a:before{content:"> ";color:var(--accent-secondary)}.site-title a:after{content:"_";animation:blink 1s step-end infinite;color:var(--accent)}nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.9rem}nav a{color:var(--accent-secondary);text-decoration:none;transition:color .2s ease;padding:.25rem .5rem}nav a:hover,nav a:focus{color:var(--accent)}nav a:before{content:"./";color:var(--muted)}nav a:hover:before,nav a:focus:before{color:var(--accent)}main{min-height:60vh}h1,h2,h3,h4{color:var(--foreground);font-weight:600;margin-bottom:1rem}h1{font-size:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}h2{font-size:1.25rem;margin-top:2rem}h3{font-size:1.1rem;margin-top:1.5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover,a:focus{color:var(--accent-hover)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.post-list{list-style:none}.post-item{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--border);background:#14141480;transition:border-color .2s ease}.post-item:hover{border-color:var(--accent)}.post-meta{color:var(--muted);font-size:.8rem;margin-bottom:.5rem}.post-meta:before{content:"$ cat ";color:var(--accent-secondary)}.post-title{font-size:1.1rem;margin-bottom:.75rem;margin-top:0}.post-title a{color:var(--foreground)}.post-title a:hover{color:var(--accent)}.post-excerpt{color:var(--muted);font-size:.9rem;margin-top:.5rem;padding-left:1rem;border-left:2px solid var(--border)}.read-more{display:inline-block;margin-top:1rem;font-size:.875rem;color:var(--accent-secondary);border:1px solid var(--accent-secondary);padding:.25rem .75rem;transition:all .2s ease}.read-more:before{content:"> "}.read-more:hover{background:var(--accent-secondary);color:var(--background)}.tag{display:inline-block;color:var(--accent-hover);font-size:.75rem;margin-right:.5rem;padding:.1rem .4rem;background:#ffcc001a;border:1px solid rgba(255,204,0,.3)}.tag:before{content:"#"}article{line-height:1.8}article a{text-decoration:underline;text-underline-offset:2px}article a:hover{text-decoration-color:var(--accent-hover)}article h1{margin-bottom:.5rem}.article-meta{color:var(--muted);font-size:.875rem;margin-bottom:2rem}article ul,article ol{margin:1rem 0 1rem 1.5rem}article li{margin-bottom:.5rem}article blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1.5rem 0;color:var(--muted);font-style:italic}article code{background:var(--code-bg);padding:.2rem .4rem;border-radius:3px;font-size:.9em}article pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin:1.5rem 0}article pre code{background:none;padding:0}article strong{color:var(--foreground);font-weight:600}article table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}article th,article td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}article th{color:var(--accent);font-weight:600}footer{margin-top:3rem;padding-top:1.5rem;border-top:1px dashed var(--border);color:var(--muted);font-size:.8rem}.about-section{margin-bottom:2rem}.about-section h2{margin-bottom:.5rem}.company-list{margin-top:1rem}.company-item{margin-bottom:1.5rem;padding-left:1rem;border-left:2px solid var(--border)}.company-item h3{margin-top:0;margin-bottom:.25rem}.company-item p{color:var(--muted);font-size:.9rem}@media(max-width:768px){.post-item{padding:1rem}.post-title{font-size:1rem}.post-excerpt{font-size:.85rem;padding-left:.75rem}article pre{padding:.75rem;font-size:.8rem;margin-left:-1rem;margin-right:-1rem;border-radius:0}article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}article th,article td{padding:.5rem;font-size:.85rem;white-space:nowrap}h1{font-size:1.25rem}h2{font-size:1.1rem}h3{font-size:1rem}}@media(max-width:600px){html{font-size:14px}.container{padding:1rem .75rem}header{margin-bottom:2rem;padding:.75rem 0 1rem}.ascii-logo{display:none}.site-title{font-size:1.1rem;word-break:break-all}.site-title a:before{content:">"}nav{gap:.25rem .75rem;font-size:.85rem}nav a{padding:.35rem .25rem}nav a:before{content:"./";font-size:.75rem}.post-item{margin-bottom:1.5rem;padding:1rem}.post-meta{font-size:.75rem}.post-meta:before{content:"$ "}.read-more{padding:.35rem .6rem;font-size:.8rem}footer{margin-top:2rem;padding-top:1rem}main{min-height:50vh}body:before,body:after{display:none}}@media(max-width:380px){.container{padding:.75rem .5rem}.ascii-logo{font-size:.22rem}.site-title{font-size:1rem}nav{font-size:.8rem}.post-title{font-size:.95rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skip-link{position:fixed;top:-100%;left:50%;transform:translate(-50%);background:var(--background);color:var(--accent);padding:.75rem 1.5rem;border:1px solid var(--accent);border-radius:0 0 4px 4px;z-index:10000;font-size:.85rem;text-decoration:none;box-shadow:0 4px 20px #00ff884d;transition:top .3s ease}.skip-link:before{content:"> ";color:var(--accent-secondary)}.skip-link:focus{top:0;outline:none}.footer-content{text-align:center;padding:1rem;color:var(--muted);font-size:.8rem}.footer-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.footer-content a:hover{color:var(--accent-hover)}.cookie-banner{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:400px;background:var(--code-bg);border:1px solid var(--border);padding:1rem;z-index:9999;font-size:.85rem;box-shadow:0 4px 20px #00000080}.cookie-banner.show{display:block}.cookie-banner p{margin:0 0 .75rem;color:var(--muted)}.cookie-banner strong{color:var(--accent)}.cookie-buttons{display:flex;gap:.5rem}.cookie-btn{flex:1;padding:.5rem 1rem;border:1px solid var(--border);background:transparent;color:var(--foreground);font-family:var(--font-mono);font-size:.8rem;cursor:pointer;transition:all .2s ease}.cookie-btn.accept{background:var(--accent);color:var(--background);border-color:var(--accent)}.cookie-btn.accept:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.cookie-btn.decline:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:600px){.cookie-banner{left:.5rem;right:.5rem;bottom:.5rem}}@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
