.ascii-art{font-family:var(--font-mono);letter-spacing:0;white-space:pre;margin:0;line-height:1;display:inline-block}.ascii-row{height:1em}.ascii-art-clickable{cursor:zoom-in}.ascii-art-fallback-img{cursor:zoom-in;border-radius:4px;max-width:100%}.md{font-family:var(--font-mono);max-width:78ch}.md>:first-child{margin-top:0}.md h1,.md h2,.md h3,.md h4{color:var(--color-accent);margin:1em 0 .4em;line-height:1.3}.md h1:before{content:"# ";color:var(--color-text-faint)}.md h2:before{content:"## ";color:var(--color-text-faint)}.md h3:before{content:"### ";color:var(--color-text-faint)}.md p{margin:.6em 0}.md ul,.md ol{margin:.4em 0;padding-left:1.6em}.md li::marker{color:var(--color-accent)}.md a{text-underline-offset:2px;text-decoration:underline}.md strong{color:var(--color-text);font-weight:700}.md em{color:var(--color-text-dim)}.md blockquote{border-left:2px solid var(--color-accent-2);color:var(--color-text-dim);margin:.6em 0;padding:.2em 0 .2em .9em}.md code{font-family:var(--font-mono);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-warning);border-radius:3px;padding:.05em .35em;font-size:.92em}.md pre{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;margin:.6em 0;padding:.8em 1em;overflow-x:auto}.md pre code{color:inherit;background:0 0;border:none;padding:0}.md table{border-collapse:collapse;margin:.6em 0;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--color-border);text-align:left;padding:.3em .7em}.md th{color:var(--color-accent)}.md hr{border:none;border-top:1px dashed var(--color-border);margin:1em 0}.md img,.md .ascii-art{margin:.6em 0;display:block}.term-bold{color:var(--color-text);font-weight:700}.term-block{margin:.4em 0}.term-row{flex-wrap:wrap;gap:.6em;display:flex}.help-row{white-space:pre}.listing{flex-direction:column;gap:.7em;margin:.3em 0 .8em;display:flex}.listing-item-head{flex-wrap:wrap;align-items:baseline;gap:.6em;display:flex}.listing-title{color:var(--color-text);font-weight:700}.listing-subtitle{margin-top:.1em;display:block}.listing-description{color:var(--color-text-dim);margin-top:.15em}.listing-detail-head{border-bottom:1px dashed var(--color-border);flex-wrap:wrap;align-items:baseline;gap:.7em;margin-bottom:.4em;padding-bottom:.4em;display:flex}.listing-detail-head>strong{font-size:1.05em}.input-line{cursor:text;flex-wrap:wrap;align-items:baseline;gap:.5em;padding:2px 0;display:flex}.prompt{white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none}.prompt-user{color:var(--color-prompt-user);font-weight:700}.prompt-at,.prompt-sep{color:var(--color-text-faint)}.prompt-host{color:var(--color-prompt-user)}.prompt-path{color:var(--color-prompt-path);font-weight:700}.prompt-dollar{color:var(--color-text-dim);margin-left:.15em}.input-wrap{flex:auto;align-items:baseline;min-width:1ch;display:inline-flex}.terminal-input{min-width:1ch;max-width:100%;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:0 0;border:none;outline:none;margin:0;padding:0}.terminal-suggestion{color:var(--color-suggestion);background:var(--color-suggestion-bg);cursor:pointer;white-space:pre;border-radius:2px}@media (hover:hover){.terminal-suggestion:hover{color:var(--color-text-dim)}}.man-pager{z-index:90;background:var(--color-bg);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;inset:0}.man-pager-header,.man-pager-footer{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);color:var(--color-text-dim);flex:none;justify-content:space-between;align-items:center;padding:.5em 1em;font-size:.85em;display:flex}.man-pager-footer{border-bottom:none;border-top:1px solid var(--color-border)}.man-pager-hint{color:var(--color-text-faint);display:none}@media (width>=640px){.man-pager-hint{display:inline}}.man-pager-close{color:var(--color-text-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;font-size:1em}.man-pager-close:hover{color:var(--color-error)}.man-pager-body{flex:1;padding:1em 1.2em 3em;overflow-y:auto}.image-modal-backdrop{background:var(--color-bg-overlay);z-index:100;justify-content:center;align-items:center;padding:5vh 5vw;animation:.12s ease-out image-modal-fade;display:flex;position:fixed;inset:0}@keyframes image-modal-fade{0%{opacity:0}to{opacity:1}}.image-modal-frame{background:var(--color-bg-elevated);border:1px solid var(--color-border);max-width:100%;max-height:100%;box-shadow:var(--shadow-overlay);border-radius:6px;flex-direction:column;align-items:center;gap:8px;margin:0;padding:12px;display:flex;position:relative}.image-modal-frame img{object-fit:contain;border-radius:4px;max-width:100%;max-height:80vh}.image-modal-frame figcaption{color:var(--color-text-dim);font-size:.85em}.image-modal-close{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:28px;height:28px;color:var(--color-text);cursor:pointer;font-family:var(--font-mono);border-radius:50%;line-height:1;position:absolute;top:-14px;right:-14px}.image-modal-close:hover{color:var(--color-error)}.welcome-banner{margin-bottom:1em}.welcome-hero{flex-wrap:wrap;align-items:flex-start;gap:1.4em;display:flex}.welcome-portrait{flex:none;font-size:8px;line-height:1}.welcome-info{flex:260px;min-width:220px;padding-top:.2em}.welcome-title{color:var(--color-accent);margin-bottom:.7em;font-size:1.15em;font-weight:700}.facts-grid{grid-template-columns:max-content 1fr;gap:.25em 1.2em;display:grid}.fact-key{color:var(--color-accent2,var(--color-accent-2));font-weight:700}.fact-value{color:var(--color-text-dim)}.welcome-hint{color:var(--color-text-dim);margin-top:1.1em}@media (width<=640px){.welcome-portrait{font-size:5px}}.terminal-root{background:var(--color-bg);width:100vw;height:100dvh;color:var(--color-text);cursor:text;flex-direction:column;display:flex}.terminal-viewport{padding:16px 20px calc(24px + env(safe-area-inset-bottom));padding-top:calc(16px + env(safe-area-inset-top));flex:1;overflow:hidden auto}.scrollback-entry{margin-bottom:2px}.echo-line{flex-wrap:wrap;align-items:baseline;gap:.5em;display:flex}.echo-text{white-space:pre-wrap;overflow-wrap:anywhere}.output-block{margin:.2em 0 .9em;overflow-x:auto}@media (width<=640px){.terminal-viewport{padding:12px 12px calc(18px + env(safe-area-inset-bottom));padding-top:calc(12px + env(safe-area-inset-top))}}:root{--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular","Cascadia Code",Menlo,Consolas,"Liberation Mono",monospace;--color-bg:#fafafa;--color-bg-elevated:#f0f1f3;--color-bg-overlay:#0f10128c;--color-border:#d7dae0;--color-text:#1c2128;--color-text-dim:#57606a;--color-text-faint:#8b949e;--color-prompt-user:#116329;--color-prompt-path:#0969da;--color-accent:#0969da;--color-accent-2:#8250df;--color-success:#116329;--color-warning:#9a6700;--color-error:#cf222e;--color-suggestion:#a8adb4;--color-suggestion-bg:#e7e9ec;--color-selection:#0969da33;--color-scrollbar:#c6cad1;--shadow-overlay:0 20px 60px #14141940}@media (prefers-color-scheme:dark){:root{--color-bg:#0b0d10;--color-bg-elevated:#12151a;--color-bg-overlay:#000000a6;--color-border:#2a2f37;--color-text:#d3d7de;--color-text-dim:#8b949e;--color-text-faint:#5b6472;--color-prompt-user:#3fb950;--color-prompt-path:#58a6ff;--color-accent:#58a6ff;--color-accent-2:#bc8cff;--color-success:#3fb950;--color-warning:#e3b341;--color-error:#f85149;--color-suggestion:#454b54;--color-suggestion-bg:#171b21;--color-selection:#58a6ff40;--color-scrollbar:#30363d;--shadow-overlay:0 20px 60px #0009}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar)transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:6px}::-webkit-scrollbar-track{background:0 0}::selection{background:var(--color-selection)}button,input{color:inherit;font-family:inherit}a{color:var(--color-accent)}@media (width<=640px){body{font-size:13.5px}}