:root{--bg:#0c0c0d;--surface:#111113;--surface-bar:#141417;--border:#ffffff17;--text:#e9e7e2;--muted:#85827b;--accent:#d9a441;--accent-2:#f2e3c8;--ok:#8fb08a;--warn:#d08770;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--font-serif:"Newsreader",Georgia,"Times New Roman",serif;--fs-mono:14px;--fs-mono-sm:12.5px;--fs-prose:19px;--lh-prose:1.62;--radius:4px;--term-w:clamp(320px,92vw,720px);--term-h:clamp(380px,68dvh,600px);--dock-w:clamp(340px,38vw,560px);--vvh:100dvh}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-mono);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s,color .3s}::selection{background:color-mix(in srgb,var(--accent)30%,transparent)}.brand{position:fixed;z-index:3;display:flex;font-size:var(--fs-mono-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);user-select:none;align-items: center;gap:10px;top:26px;left:30px}.brand-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.theme-toggle{position:fixed;z-index:6;display:flex;color:var(--muted);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:3px;justify-content:center;align-items: center;width:32px;height:32px;padding:0;transition:color .15s,border-color .15s;top:20px;right:26px}.theme-toggle:hover{color:var(--text);border-color:color-mix(in srgb,var(--text)40%,transparent)}.theme-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.hint{position:fixed;z-index:3;font-size:var(--fs-mono-sm);color:var(--muted);letter-spacing:.1em;user-select:none;pointer-events:none;transition:opacity .6s;bottom:26px;left:50%;transform:translate(-50%)}.hint kbd{font-family:var(--font-mono);font-size:inherit;color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--accent)60%,transparent);padding:0 1px}.terminal{position:fixed;z-index:2;width:var(--term-w);height:var(--term-h);display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:rise .4s cubic-bezier(.16,1,.3,1)both;flex-direction:column;box-shadow:0 24px 60px -24px #0000008c}.terminal.docked{width:var(--dock-w);height:var(--vvh);box-shadow:none;animation:none;border-top:none;border-bottom:none;border-left:none;border-radius:0;top:0;left:0}.terminal.docked .titlebar{cursor:default}.terminal.docked .bar-tag,body.paned .brand,body.paned .hint{display:none}body.paned .theme-toggle{top:6px;right:18px}body.paned .pane-bar{padding-right:62px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.titlebar{display:flex;background:var(--surface-bar);border-bottom:1px solid var(--border);cursor:grab;user-select:none;touch-action:none;flex:none;align-items: center;gap:12px;height:44px;padding:0 18px}.titlebar.grabbing{cursor:grabbing}.title{font-size:var(--fs-mono-sm);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:1}.bar-tag{font-size:var(--fs-mono-sm);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--muted)65%,transparent)}.output{overflow-y:auto;overflow-x:hidden;font-size:var(--fs-mono);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted)45%,transparent)transparent;flex:1;padding:22px 24px 4px;line-height:1.75}.output::-webkit-scrollbar{width:8px}.output::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted)30%,transparent);border-radius:4px}.output::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted)55%,transparent)}.line{white-space:pre-wrap;word-break:break-word;min-height:1.75em}.echo{color:var(--text)}.line.para{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:color-mix(in srgb,var(--text)92%,transparent);max-width:60ch;margin:.1em 0}.label{display:block;font-size:var(--fs-mono-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.inputline{display:flex;border-top:1px solid #0000;flex:none;align-items: center;gap:10px;padding:10px 24px 20px}.prompt{white-space:nowrap;font-size:var(--fs-mono)}.p-user{color:var(--accent)}.p-at,.p-path{color:var(--muted)}.p-host{color:var(--accent-2)}.field{position:relative;overflow:hidden;flex:1;min-width:0;height:1.5em}.cmdline,.mirror{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0;line-height:1.5em}.cmdline{position:absolute;outline:none;color:var(--text);caret-color:var(--accent);background:0 0;border:none;width:100%;padding:0;inset:0}.mirror{position:absolute;visibility:hidden;white-space:pre;pointer-events:none;top:0;left:0}.caret{position:absolute;background:var(--accent);pointer-events:none;animation:blink 1.05s steps(1)infinite;width:8px;height:1.15em;top:.15em}.c-accent{color:var(--accent)}.c-accent2{color:var(--accent-2)}.c-muted{color:var(--muted)}.c-text{color:var(--text)}.c-ok{color:var(--ok)}.c-warn{color:var(--warn)}.c-dim{color:color-mix(in srgb,var(--muted)60%,transparent)}.link{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent)35%,transparent);transition:border-color .15s}.link:hover{border-bottom-color:var(--accent)}.tech-tag{display:inline-block;font-size:var(--fs-mono-sm);letter-spacing:.06em;color:var(--muted);border:1px solid var(--border);border-radius:3px;margin-right:3px;padding:1px 7px}.swatch{display:inline-block;vertical-align:middle;border:1px solid var(--border);border-radius:2px;width:10px;height:10px;margin-right:2px}.masthead{margin:2px 0 4px}.masthead-name{display:block;font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);overflow-wrap:break-word;font-size:clamp(30px,6.2vw,46px);font-weight:600;line-height:1.06}.masthead-role{display:block;font-size:var(--fs-mono-sm);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:10px}.masthead-rule{background:var(--border);height:1px;margin:18px 0 2px}.chips{display:none;flex-wrap:wrap;flex:none;gap:6px;padding:0 20px 16px}.chip{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:.06em;color:var(--text);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:3px;padding:9px 12px}.chip:active{background:color-mix(in srgb,var(--accent)26%,transparent)}.pane{position:fixed;z-index:2;top:0;right:0;left:var(--dock-w);height:var(--vvh);display:flex;background:var(--bg);border-left:1px solid var(--border);overflow:hidden;flex-direction:column}.pane[hidden]{display:none}.pane-bar{display:flex;border-bottom:1px solid var(--border);user-select:none;flex:none;align-items: center;gap:12px;height:44px;padding:0 18px}.pane-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-mono-sm);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:1;min-width:0}.pane-close{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:3px;padding:6px 10px;transition:color .15s,border-color .15s}.pane-close:hover{color:var(--text);border-color:color-mix(in srgb,var(--text)40%,transparent)}.pane-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted)45%,transparent)transparent;flex:1;min-height:0;padding:56px 44px 80px}.pane-body>.prose{margin:0 auto}.prose{font-family:var(--font-serif);font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--text);max-width:64ch}.prose h1,.prose h2,.prose h3{font-family:var(--font-serif);color:var(--text);letter-spacing:-.015em;margin:1.9em 0 .45em;font-weight:600;line-height:1.18}.prose h1{letter-spacing:-.025em;margin-top:0;font-size:clamp(30px,4.6vw,40px)}.prose h2{font-size:1.42em}.prose h3{font-size:1.16em}.prose p{margin:0 0 1.15em}.prose em{font-style:italic}.prose strong{font-weight:600}.prose a{color:var(--text);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent)55%,transparent);transition:border-color .15s}.prose a:hover{border-bottom-color:var(--accent)}.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.3em}.prose li{margin:.3em 0;padding-left:.2em}.prose li::marker{color:var(--muted)}.prose code{font-family:var(--font-mono);color:var(--text);background:color-mix(in srgb,var(--muted)15%,transparent);border-radius:3px;padding:1px 5px;font-size:.82em}.prose pre{overflow-x:auto;background:color-mix(in srgb,var(--muted)10%,transparent);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1.4em;padding:16px 18px;line-height:1.6}.prose pre code{color:var(--text);background:0 0;padding:0;font-size:.8em}.prose blockquote{border-left:1px solid color-mix(in srgb,var(--accent)60%,transparent);color:color-mix(in srgb,var(--text)82%,transparent);margin:1.6em 0;padding-left:20px;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose img{border-radius:var(--radius);max-width:100%;height:auto}.prose hr{border:none;border-top:1px solid var(--border);margin:2.6em 0}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.4em;font-size:.92em}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;padding:9px 12px 9px 0}.prose th{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400}.post-meta{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 2.6em}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.terminal,.caret{animation:none}}@media (max-width:900px){.terminal{height:var(--vvh);box-shadow:none;border:none;border-radius:0;width:100vw;top:0;left:0}.chips{display:flex}.bar-tag,.brand,.hint{display:none}.theme-toggle{width:38px;height:38px;top:3px;right:12px}.titlebar{padding-right:60px}body.paned .theme-toggle{top:3px;right:12px}body.paned .pane-bar{padding-right:60px}.pane{border-left:none;left:0}body.paned .terminal{display:none}.output{padding:18px 18px 4px}.inputline{padding:8px 18px 14px}.pane-body{padding:30px 20px 60px}:root{--fs-prose:18px}}
