:root{--bg:#0b0e11;--bg2:#10151a;--bg3:#161d23;--bg4:#1b242c;--green:#7ee787;--cyan:#79c0ff;--amber:#ffb86b;--red:#ff7b72;--purple:#d2a8ff;--orange:#ff9b3d;--text:#c9d1d9;--muted:#8b949e;--muted2:#57606a;--border:rgba(255,255,255,.09);--mono:'IBM Plex Mono',monospace;--sans:'Inter',sans-serif;--shadow:0 14px 40px -14px rgba(0,0,0,.6)}@media(prefers-color-scheme:light){:root{--bg:#f6f8fa;--bg2:#ffffff;--bg3:#eaeef2;--bg4:#d0d7de;--green:#116329;--cyan:#0969da;--amber:#9a6700;--red:#cf222e;--purple:#8250df;--orange:#bc4c00;--text:#1f2328;--muted:#57606a;--muted2:#8c959f;--border:rgba(31,35,40,.15);--shadow:0 14px 40px -14px rgba(0,0,0,.18)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:3px}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;list-style:none}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);font-family:var(--mono);color:var(--text);line-height:1.75;overflow-x:hidden}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit;transition:all .2s}::selection{background:var(--orange);color:#0b0e11}::selection{background:var(--green);color:#0b0e11}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--muted2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--green)}.container{max-width:860px;margin:0 auto;padding:0 1.5rem}header{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;background:rgba(11,14,17,.85);backdrop-filter:blur(12px)}@media(prefers-color-scheme:light){header{background:rgba(246,248,250,.88)}::selection{background:var(--green);color:#fff}}header .container{display:flex;justify-content:space-between;align-items:center;height:52px}.logo{font-family:var(--mono);font-size:.85rem;color:var(--text);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.logo .dollar{color:var(--green)}.logo .path{color:var(--cyan)}.logo .blink{animation:blink 1s steps(1)infinite;color:var(--muted2)}@keyframes blink{50%{opacity:0}}nav ul{display:flex;gap:1.5rem;list-style:none}nav a{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.02em;text-transform:none}nav a:hover,nav a.active{color:var(--green)}nav a .tilde{color:var(--muted2);margin-right:.1em}.menu-toggle{display:none;flex-direction:column;gap:.35rem;cursor:pointer;background:0 0;border:none;padding:.3rem}.menu-toggle span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}.term{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg2);box-shadow:var(--shadow)}.term .bar{display:flex;align-items:center;gap:.45rem;padding:.55rem .9rem;background:var(--bg3);border-bottom:1px solid var(--border)}.term .dot{width:11px;height:11px;border-radius:50%}.term .dot.r{background:#ff5f57}.term .dot.y{background:#febc2e}.term .dot.g{background:#28c840}.term .bar .title{font-size:.6rem;color:var(--muted);margin-left:.6rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term .body{padding:1.2rem 1.3rem;font-size:.78rem;line-height:1.8}.term .line{display:flex;gap:.6rem;flex-wrap:wrap}.term .prompt{color:var(--green);flex-shrink:0}.term .c{color:var(--muted)}.term .ok{color:var(--green)}.term .warn{color:var(--amber)}.term .cmd{color:var(--text)}.term .flag{color:var(--cyan)}.term .path{color:var(--purple)}.term .arrow{color:var(--orange)}.term .val{color:var(--text)}.posts-list{margin-top:2.5rem}.post-item{padding:1.4rem 0;border-bottom:1px solid var(--border)}.post-item .post-meta{font-size:.62rem;color:var(--muted);background:var(--bg3);display:inline-block;padding:.18rem .55rem;border-radius:3px;margin-bottom:.7rem;letter-spacing:.06em}.post-item h2{font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:500;line-height:1.35;margin-bottom:.6rem;color:var(--text)}.post-item h2 a:hover{color:var(--green)}.post-item .post-excerpt{font-size:.82rem;color:var(--muted);line-height:1.8;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-item .post-read{margin-bottom:.9rem}.post-item .post-read a{font-size:.72rem;color:var(--green)}.post-item .post-read a:hover{text-decoration:underline}.post-tags{display:flex;flex-wrap:wrap;gap:.4rem}.post-tags .tag{font-size:.62rem;padding:.2rem .55rem;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:var(--bg2)}.post-tags .tag:hover{border-color:var(--cyan);color:var(--cyan)}.breadcrumb{font-size:.68rem;color:var(--muted);margin-bottom:2rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.breadcrumb .sep{color:var(--muted2)}.breadcrumb a:hover{color:var(--green)}.post-header{margin-bottom:2.5rem}.post-header .post-meta{font-size:.62rem;color:var(--muted);background:var(--bg3);display:inline-block;padding:.18rem .55rem;border-radius:3px;margin-bottom:1rem;letter-spacing:.06em}.post-header h1{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:500;line-height:1.25;color:var(--text);margin-bottom:1rem}.post-tags{margin-top:1.2rem}.featured-image{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow)}.content{font-family:var(--sans);font-size:1rem;color:var(--text);line-height:1.85}.content p{margin-bottom:1.4rem}.content a{color:var(--cyan)}.content a:hover{text-decoration:underline}.content h2{font-family:var(--mono);font-size:1.35rem;font-weight:500;color:var(--green);margin:2.5rem 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.content h3{font-family:var(--mono);font-size:1.1rem;font-weight:500;color:var(--cyan);margin:2rem 0 .8rem}.content h4{font-family:var(--mono);font-size:.95rem;font-weight:500;color:var(--text);margin:1.8rem 0 .7rem}.content ul,.content ol{margin:0 0 1.4rem 1.4rem}.content li{margin-bottom:.5rem}.content li::marker{color:var(--green)}.content blockquote{border-left:2px solid var(--green);background:var(--bg2);padding:.9rem 1.2rem;margin:1.5rem 0;border-radius:0 6px 6px 0;color:var(--muted);font-style:italic}.content pre{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1.2rem 1.3rem;overflow-x:auto;margin:1.5rem 0;font-family:var(--mono);font-size:.82rem;line-height:1.7}.content pre code{background:0 0;padding:0;color:var(--text)}.content code{font-family:var(--mono);background:var(--bg3);padding:.18rem .45rem;border-radius:4px;font-size:.85em;color:var(--amber)}.content img{max-width:100%!important;height:auto!important;display:block;margin:2rem auto;border-radius:8px;border:1px solid var(--border);box-shadow:var(--shadow)}.content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.85rem}.content th,.content td{border:1px solid var(--border);padding:.55rem .85rem;text-align:left}.content th{background:var(--bg3);color:var(--green);font-family:var(--mono);font-weight:500}.content tr:nth-child(even){background:var(--bg2)}.content hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.btn-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;font-family:var(--mono);font-size:.72rem;color:var(--muted);border:1px solid var(--border);padding:.55rem 1rem;border-radius:6px;background:var(--bg2)}.btn-back:hover{border-color:var(--green);color:var(--green)}.btn-back .lead{color:var(--green)}footer{margin-top:5rem;padding:2.5rem 0 1.5rem;border-top:1px solid var(--border);font-family:var(--mono);font-size:.64rem;color:var(--muted2)}footer .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-copy span{color:var(--green)}.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}.footer-links a:hover{color:var(--green)}.footer-links a i{margin-right:4px;font-size:.6rem}@media(prefers-color-scheme:light){@media(max-width:960px){header{background:rgba(246,248,250,.98)}}}@media(max-width:960px){header .container{height:48px}nav ul{display:none;position:absolute;top:48px;left:0;right:0;flex-direction:column;background:rgba(11,14,17,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);gap:0;padding:1.2rem 1.5rem}nav ul.active{display:flex}nav a{display:block;padding:.65rem 0;font-size:.8rem}.menu-toggle{display:flex}.container{padding:0 1.2rem}footer .container{flex-direction:column;gap:1rem;text-align:center}.footer-links{justify-content:center;gap:1rem}}@media(max-width:600px){.post-item h2{font-size:1.15rem}}