.term-nav-link[data-astro-cid-3ef6ksr2]{text-decoration:none}.term-nav-btn[data-astro-cid-3ef6ksr2]{font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace;font-size:.85em;letter-spacing:.03em;position:relative}.term-nav-btn[data-astro-cid-3ef6ksr2]:after{content:"▌";display:inline-block;margin-left:2px;animation:blink-caret 1s step-end infinite;opacity:.7}@keyframes blink-caret{50%{opacity:0}}@media (max-width: 640px){.desktop-only[data-astro-cid-3ef6ksr2]{display:none!important}}:root{--t-bg: 8 10 10;--t-fg: 0 255 102;--t-fg-dim: 0 150 70;--t-accent: 0 255 102;--t-warn: 255 80 80;--t-chrome: 18 22 18;--t-border: 0 255 102;--t-mark: 255 240 120}:root[data-term-theme=amber]{--t-bg: 26 14 0;--t-fg: 255 176 0;--t-fg-dim: 200 120 0;--t-accent: 255 140 0;--t-warn: 255 90 60;--t-chrome: 38 22 6;--t-border: 255 176 0;--t-mark: 255 230 110}:root[data-term-theme=paper]{--t-bg: 246 242 233;--t-fg: 26 24 22;--t-fg-dim: 110 100 90;--t-accent: 192 60 26;--t-warn: 192 60 26;--t-chrome: 232 226 213;--t-border: 26 24 22;--t-mark: 244 215 80}.term-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:stretch;justify-content:stretch;padding:24px;background:#000000eb;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;color:rgb(var(--t-fg));animation:term-fade-in .12s ease-out both}.term-overlay.t-hidden{display:none}@keyframes term-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.t-grid{display:grid;grid-template-rows:1fr 35% 28px;grid-template-columns:18% 1fr 30%;gap:1px;width:100%;height:100%;background:rgb(var(--t-border) / .25);border-radius:6px;overflow:hidden}.t-pane{display:flex;flex-direction:column;overflow:hidden;background:rgb(var(--t-bg));position:relative}.t-pane.t-pane-active{box-shadow:inset 0 0 0 1px rgb(var(--t-border) / .9),0 0 4px rgb(var(--t-border) / .3)}.t-pane-sidebar{grid-row:1;grid-column:1}.t-pane-shell{grid-row:1;grid-column:2}.t-pane-help{grid-row:1;grid-column:3}.t-pane-preview{grid-row:2;grid-column:1 / -1}.t-pane-statusbar{grid-row:3;grid-column:1 / -1}.t-pane-titlebar{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;line-height:1;color:rgb(var(--t-fg-dim));background:rgb(var(--t-chrome));border-bottom:1px solid rgb(var(--t-border) / .2);user-select:none;flex-shrink:0}.t-pane-active .t-pane-titlebar{color:rgb(var(--t-fg));background:rgb(var(--t-chrome))}.t-pane-idx{opacity:.6}.t-pane-body{flex:1;overflow-y:auto;padding:8px 10px;font-size:13px;line-height:1.5;scrollbar-width:thin;scrollbar-color:rgb(var(--t-border) / .4) transparent}.t-pane-body::-webkit-scrollbar{width:6px}.t-pane-body::-webkit-scrollbar-thumb{background:rgb(var(--t-border) / .35);border-radius:3px}.t-shell-body{display:flex;flex-direction:column;padding:0}.t-shell-body .t-screen{flex:1;overflow-y:auto;padding:12px 14px 4px;font-size:14px;line-height:1.55;scrollbar-width:thin;scrollbar-color:rgb(var(--t-border) / .4) transparent}.t-shell-body .t-screen::-webkit-scrollbar{width:6px}.t-shell-body .t-screen::-webkit-scrollbar-thumb{background:rgb(var(--t-border) / .35);border-radius:3px}.t-line{white-space:pre-wrap;word-break:break-word}.t-block{margin:6px 0 10px}.t-block+.t-block{margin-top:4px}.t-row{white-space:pre-wrap;word-break:break-word}.t-mono{margin:0;white-space:pre-wrap;font:inherit;line-height:1.55}.t-ascii{color:rgb(var(--t-accent));margin:0 0 4px;font-size:13px;line-height:1.2}.t-dim{color:rgb(var(--t-fg-dim))}.t-err{color:rgb(var(--t-warn))}.t-cmd{color:rgb(var(--t-accent));font-weight:600;white-space:pre}.t-user{color:rgb(var(--t-accent));font-weight:600}.t-host{color:rgb(var(--t-fg))}.t-pwd{color:rgb(var(--t-fg-dim))}.t-date{color:rgb(var(--t-fg-dim));white-space:pre}.t-title{color:rgb(var(--t-fg))}.t-slug{color:rgb(var(--t-accent));cursor:pointer;border-bottom:1px dashed rgb(var(--t-accent) / .4)}.t-slug:hover{border-bottom-color:rgb(var(--t-accent))}.t-tag{color:rgb(var(--t-fg-dim))}.t-hint{margin-top:4px;color:rgb(var(--t-fg-dim))}.t-cat .t-mono{margin:0}.t-banner{margin-bottom:14px}.t-about a{color:rgb(var(--t-accent));border-bottom:1px dashed rgb(var(--t-accent) / .4)}.t-easter{margin:6px 0}mark{background:rgb(var(--t-mark) / .4);color:inherit;padding:0 1px;border-radius:2px}.t-promptline{display:flex;align-items:center;padding:8px 14px 12px;border-top:1px dashed rgb(var(--t-border) / .25);background:rgb(var(--t-bg));flex-shrink:0}.t-prompt,.t-prompt-static{white-space:pre;font-size:14px}.t-input{flex:1;background:transparent;border:none;outline:none;color:rgb(var(--t-fg));font:inherit;font-size:14px;caret-color:rgb(var(--t-accent));padding:0;margin-left:2px}.t-input::placeholder{color:rgb(var(--t-fg-dim) / .6)}.t-pane-statusbar{display:flex;align-items:center;padding:0 12px;font-size:11px;line-height:28px;background:rgb(var(--t-chrome));color:rgb(var(--t-fg-dim));user-select:none;overflow:hidden}.t-sb-left{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-sb-mid{flex:0 1 auto;text-align:center;padding:0 16px;color:rgb(var(--t-fg-dim) / .6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40ch}.t-sb-right{flex-shrink:0;white-space:nowrap}.t-sb-session{color:rgb(var(--t-accent));font-weight:600}.t-sb-pane{cursor:pointer;padding:0 2px}.t-sb-pane:hover{color:rgb(var(--t-fg))}.t-sb-pane.t-sb-active{color:rgb(var(--t-accent));font-weight:600}.t-tree-container{font-size:11px;line-height:1.7;padding:6px 8px}.t-tree-node{display:block;padding:1px 4px;cursor:pointer;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-tree-node:hover{background:rgb(var(--t-border) / .1)}.t-tree-node.t-tree-selected{background:rgb(var(--t-border) / .15);color:rgb(var(--t-accent))}.t-tree-node.t-tree-active{color:rgb(var(--t-accent));font-weight:600}.t-tree-toggle{display:inline-block;width:12px;text-align:center;color:rgb(var(--t-fg-dim))}.t-tree-indent{display:inline-block;width:14px}.t-tree-count{color:rgb(var(--t-fg-dim) / .7);font-size:10px}.t-help-container{font-size:12px;line-height:1.6;padding:8px 10px}.t-preview-container{font-size:12px;line-height:1.5;padding:8px 12px}.t-preview-card{display:flex;align-items:baseline;gap:10px;padding:4px 6px;border-radius:3px;cursor:pointer}.t-preview-card:hover{background:rgb(var(--t-border) / .08)}.t-preview-card .t-date{font-size:11px;flex-shrink:0}.t-preview-card .t-slug,.t-preview-card .t-title{font-size:12px}.t-launcher{position:fixed;right:16px;bottom:16px;z-index:50;display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 8px 4px 6px;font-family:JetBrains Mono,SFMono-Regular,ui-monospace,monospace;font-size:10px;line-height:1;letter-spacing:.04em;color:rgb(var(--t-fg) / .7);background:#0009;border:1px dashed rgb(var(--t-border) / .35);border-radius:3px;cursor:pointer;opacity:.45;transition:opacity .14s ease,border-color .14s ease;-webkit-font-smoothing:antialiased}.t-launcher:hover,.t-launcher:focus-visible{opacity:.7;border-color:rgb(var(--t-border) / .6);outline:none}.t-launcher-dots{display:inline-flex;align-items:center;gap:3px;padding-right:3px}.t-launcher-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.t-launcher-dot.r{background:#ff5f57}.t-launcher-dot.y{background:#febc2e}.t-launcher-dot.g{background:#28c840}.t-launcher-label{display:inline-flex;align-items:baseline;gap:3px;color:rgb(var(--t-fg) / .8)}.t-launcher-prompt{color:rgb(var(--t-accent));font-weight:600}.t-launcher-kbd{display:inline-block;padding:1px 4px;font:inherit;font-size:9px;line-height:1;color:rgb(var(--t-fg-dim));border:1px solid rgb(var(--t-border) / .3);border-radius:2px;background:transparent}.term-overlay:not(.t-hidden)~.t-launcher{display:none!important}.t-close-btn{display:none;margin-left:auto;padding:2px 8px;background:transparent;border:1px dashed rgb(var(--t-border) / .55);border-radius:3px;color:rgb(var(--t-fg));font:inherit;font-size:11px;line-height:1.2;letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent}.t-close-btn:active,.t-close-btn:focus-visible{background:rgb(var(--t-border) / .12);outline:none}.t-close-btn .t-close-x{color:rgb(var(--t-accent));font-weight:700}.t-quick-actions{display:none;flex-wrap:wrap;gap:6px;padding:8px 10px 4px;border-top:1px dashed rgb(var(--t-border) / .25);background:rgb(var(--t-bg));flex-shrink:0}.t-qa{appearance:none;-webkit-appearance:none;font-family:inherit;font-size:12px;line-height:1.4;letter-spacing:.02em;color:rgb(var(--t-fg));background:transparent;border:1px dashed rgb(var(--t-border) / .6);border-radius:2px;padding:4px 9px;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}.t-qa:before{content:"$ ";color:rgb(var(--t-accent));font-weight:600}.t-qa:active,.t-qa:focus-visible{background:rgb(var(--t-border) / .12);border-style:solid;outline:none}@media (max-width: 640px){.term-overlay{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:rgb(var(--t-bg))}.t-grid{grid-template-rows:1fr 28px;grid-template-columns:1fr;border-radius:0;gap:0;background:rgb(var(--t-bg))}.t-pane-sidebar,.t-pane-help,.t-pane-preview{display:none!important}.t-pane-shell{grid-row:1;grid-column:1}.t-pane-statusbar{grid-row:2;grid-column:1}.t-close-btn{display:inline-block}.t-quick-actions{display:flex}.t-shell-body .t-screen{padding:10px 12px 4px;font-size:13.5px}.t-promptline{padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px))}.t-input,.t-prompt,.t-prompt-static{font-size:14px}.t-pane-statusbar{padding:0 10px;font-size:10px}.t-sb-mid{display:none}.t-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:6px 10px 6px 8px;font-size:11px;opacity:.92;background:rgb(var(--t-bg) / .92);border-style:solid;border-color:rgb(var(--t-border) / .7);border-radius:4px;max-width:120px;-webkit-tap-highlight-color:transparent}.t-launcher-kbd{display:none}}:root{--bg: #000000;--fg: #00ff00;--fg-dim: #00b300;--accent: #00ff00;--code-bg: #0a0f0a;--max-width: 85em}*{box-sizing:border-box}html,body{margin:0 auto;width:100%;min-height:100%;max-width:var(--max-width);background-color:var(--bg);color:var(--fg);font-family:SFMono-Regular,Menlo,Consolas,monospace;line-height:1.6}body{display:flex;flex-direction:column;min-height:100vh;padding:0 1em}a{color:inherit;text-decoration:none;border-bottom:1px dashed transparent}a:hover{border-bottom:1px dashed var(--fg)}hr{border:none;border-top:1px dashed var(--fg);margin:1.5em 0}header{text-align:right;padding:1em 0;border-bottom:1px dashed var(--fg)}.horizontallist{margin:0;padding:0;list-style:none}.horizontallist li{margin:0 .25em;display:inline-block}.button{border:1px dashed var(--fg);padding:.4em .6em;display:inline-block;transition:all .1s ease}.button:hover,.button.selected{color:var(--bg);background-color:var(--fg);border-bottom:1px dashed var(--fg)}#outerwrapper{flex:1 0 auto;padding:1.5em 0}footer{flex-shrink:0;border-top:1px dashed var(--fg);padding:1em 0}footer .horizontallist{text-align:center}footer img{filter:drop-shadow(0 0 2px var(--fg))}#copyright{font-size:75%;text-align:center;margin-top:.5em}.home-center{text-align:center}.adl-text{text-align:left;display:inline-block;color:var(--fg);text-shadow:0 0 6px var(--fg);font-weight:700;line-height:1.1}.subtitle{margin:1em 0;font-size:1.2em}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}#cursor:after{content:"▇";animation:blink 1s steps(1) infinite}.typetarget{text-align:left;white-space:pre-wrap}.post-list{list-style:none;padding:0}.post-item{border:1px dashed var(--fg);padding:.8em 1em;margin-bottom:1em;transition:all .1s ease}.post-item:hover{background-color:#00ff0012}.post-item a{border-bottom:none}.post-title{font-size:1.1em;font-weight:700}.post-meta{font-size:.8em;color:var(--fg-dim);margin-top:.3em}.tag{border:1px dashed var(--fg-dim);padding:0 .4em;margin-right:.4em;font-size:.85em}.category-heading{margin-top:1.5em;border-bottom:1px dashed var(--fg);padding-bottom:.3em;text-transform:uppercase;letter-spacing:.1em}.prose{max-width:100%}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--fg);text-shadow:0 0 4px rgba(0,255,0,.4);margin-top:1.4em}.prose h1{border-bottom:1px dashed var(--fg);padding-bottom:.3em}.prose p{margin:1em 0}.prose a{color:var(--fg);border-bottom:1px dashed var(--fg)}.prose img{max-width:100%;height:auto;border:1px dashed var(--fg-dim)}.prose blockquote{border-left:3px dashed var(--fg);margin:1em 0;padding:.2em 1em;color:var(--fg-dim)}.prose ul,.prose ol{padding-left:1.5em}.prose table{border-collapse:collapse;width:100%;margin:1em 0}.prose th,.prose td{border:1px dashed var(--fg-dim);padding:.4em .6em}.prose :not(pre)>code{background-color:var(--code-bg);border:1px dashed var(--fg-dim);padding:.1em .35em;border-radius:2px;color:var(--fg)}.prose pre{border:1px dashed var(--fg);padding:1em;overflow-x:auto;border-radius:3px}.prose pre code{background:transparent;border:none;padding:0}.article-header{border-bottom:1px dashed var(--fg);padding-bottom:1em;margin-bottom:1.5em}.article-header h1{margin-bottom:.2em;text-shadow:0 0 6px var(--fg)}.back-link{display:inline-block;margin-bottom:1em}.textcontent{text-align:left}.contact-list{list-style:none;padding:0}.contact-list li{border:1px dashed var(--fg);padding:.6em 1em;margin-bottom:.6em}.blog-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5em;border-bottom:1px dashed var(--fg)}.blog-head h1{border-bottom:none}.blog-actions{display:flex;align-items:center;gap:.5em}.search-box{background-color:var(--bg);color:var(--fg);border:1px dashed var(--fg);font-family:inherit;font-size:.9em;padding:.45em .6em;outline:none;min-width:14em}.search-box::placeholder{color:var(--fg-dim)}.search-box:focus{box-shadow:0 0 6px var(--fg)}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:1.5em;padding-top:1em;border-top:1px dashed var(--fg)}.pager-info{color:var(--fg-dim);font-size:.9em}.button.disabled{opacity:.35;pointer-events:none}.year-nav{display:flex;flex-wrap:wrap;gap:.4em;margin:1em 0}.archive-list{margin-top:.3em}.archive-item{border:none;padding:.25em 0;margin:0}.archive-item:hover{background:none}.archive-item a{display:flex;align-items:baseline;gap:.7em;border-bottom:1px dashed transparent}.archive-item a:hover{border-bottom-color:var(--fg)}.archive-date{color:var(--fg-dim);font-size:.85em;white-space:nowrap}.archive-title{flex:1}
