/* Conversational terminal: one scrollable transcript and an anchored composer. */
html.terminal-open{overflow:hidden}
.command-dialog{width:min(960px,calc(100vw - 36px));height:min(860px,90vh);height:min(860px,90dvh);max-height:90vh;max-height:90dvh;padding:0;overflow:hidden;background:#05110ffb;border-color:#45977c;box-shadow:0 30px 100px #000e,0 0 55px #12765b22;box-sizing:border-box}
.command-dialog[open]{display:flex;flex-direction:column}
.command-dialog *{box-sizing:border-box}
.command-dialog .terminal-heading{flex:none;padding:23px 28px 18px;background:linear-gradient(115deg,#102c23,#06140f);border-bottom:1px solid #417c605c;align-items:flex-start}
.terminal-kicker{font:12px/1.4 var(--mono);color:#78bfa1;letter-spacing:.12em}
.command-dialog .terminal-heading h2{font-size:clamp(23px,2.5vw,30px);line-height:1.2;margin:7px 0;color:#e2fff2;letter-spacing:-.04em}
.terminal-heading p{font:14px/1.5 var(--mono);color:#88b8a4;margin:0}
.command-dialog .terminal-heading>button{border:1px solid #497d6660;padding:0 12px;min-height:44px;background:#06150f;font-size:14px}
.terminal-statusbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:5px 28px;border-bottom:1px solid #2f5b494f;background:#05130d}
.terminal-statusbar>[role=status]{font:13px/1.5 var(--mono);color:#8ccfb0;overflow-wrap:anywhere}
.terminal-statusbar>button{font-size:13px;color:#b6efd3;background:none;text-decoration:underline;text-underline-offset:4px;min-height:36px;white-space:nowrap}
.is-writing .terminal-statusbar>[role=status]{color:#c4ffe2}
.terminal-log-wrap{position:relative;flex:1;min-height:120px;overflow:hidden;background:linear-gradient(90deg,#123b2022 1px,transparent 1px);background-size:34px 100%}
.command-dialog .terminal-output{height:100%;max-height:none;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#388366 #06150e;border:0;padding:25px 28px 36px;scroll-padding:24px}
.terminal-output:focus-visible{outline:1px solid #82dcb4;outline-offset:-4px}
.terminal-message{position:relative;margin:0 0 28px;padding:0 0 0 18px;border-left:1px solid #397455;overflow-wrap:anywhere}
.terminal-message:last-child{margin-bottom:0}
.terminal-message-meta{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:0 0 10px;color:#70b597;font:12px/1.4 var(--mono);letter-spacing:.07em}
.terminal-message-meta strong{font-weight:500}
.terminal-message-meta>span{color:#608774}
.command-dialog .terminal-output .terminal-message-text{font:15px/1.85 var(--mono);white-space:pre-wrap;color:#b8e2cb;margin:0}
.terminal-message--user{padding:13px 18px;background:#143b2a88;border-left:2px solid #70d9aa;margin-left:40px}
.terminal-message--user .terminal-message-meta{color:#92f6c7}
.command-dialog .terminal-message--user .terminal-message-text{color:#e5fff1}
.terminal-message.is-typing .terminal-message-text:after{content:'▋';display:inline;color:#a6ffcf;animation:terminal-caret 1s steps(2,end) infinite}
.terminal-message[aria-busy=true]:not(.is-typing) .terminal-message-text{color:#668f7c}
.terminal-reply-actions{margin-top:18px}
.terminal-route-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;background:#17563b;border:1px solid #61bf90;color:#d3ffe6;font:14px/1.5 var(--mono)}
.command-dialog .terminal-output .terminal-follow-prompt{font:14px/1.6 var(--mono);color:#8ab9a2;margin:16px 0 8px}
.terminal-topic-choices{display:flex;flex-wrap:wrap;gap:8px}
.terminal-topic-choices>button{font:14px/1.5 var(--mono);padding:9px 12px;min-height:44px;text-align:left;color:#a6d9bc;background:#0c271a;border:1px solid #3c6f525e}
.terminal-topic-choices>button:hover,.terminal-route-link:hover{border-color:#9ae8ba;color:#fff;background:#1b4831}
.terminal-latest{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);font:14px/1.5 var(--mono);min-height:44px;padding:9px 18px;border:1px solid #75c89c;background:#103c26;color:#c4ffe1;box-shadow:0 5px 30px #000b;z-index:2;white-space:nowrap}
.terminal-composer{flex:none;padding:17px 28px 16px;background:#071a12;border-top:1px solid #52836a66}
.terminal-composer>p{font:13px/1.6 var(--mono);color:#8cad9c;margin:0 0 10px}
.command-dialog .terminal-entry{margin:0;gap:6px;border:1px solid #407c5e;background:#030e09;padding-left:14px}
.command-dialog .terminal-entry:focus-within{border-color:#84e4b2;box-shadow:0 0 0 1px #84e4b244}
.command-dialog .terminal-entry input{font:16px/1.5 var(--mono);padding:14px 8px;height:auto;outline:none;box-shadow:none;border:0;color:#d9ffeb;width:100%;border-radius:0}
.terminal-entry input::placeholder{color:#719780;opacity:1}
.command-dialog .terminal-entry [data-terminal-send]{flex:none;padding:14px 16px;font:14px/1.5 var(--mono);background:#185139;color:#d1ffe7;min-height:52px}
.command-dialog .terminal-commands{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;margin-top:11px;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#3d7257 #081a10;gap:7px}
.command-dialog .terminal-commands button{flex:none;font:13px/1.4 var(--mono);min-height:40px;padding:8px 11px;background:#0a2416;border:1px solid #426b4f6b;color:#87c9a4}
.terminal-composer>.terminal-knowledge{font:12px/1.5 var(--mono);color:#7d9e8b;margin:8px 0 0}
.terminal-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.command-dialog [hidden]{display:none!important}
@keyframes terminal-caret{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(max-width:600px){
 .command-dialog{width:calc(100vw - 16px);height:94vh;height:94dvh;max-height:94vh;max-height:94dvh}
 .command-dialog .terminal-heading{padding:16px;gap:10px}.terminal-kicker{font-size:12px;letter-spacing:.05em}.terminal-heading p{font-size:12px}
 .command-dialog .terminal-heading>button{padding:0 9px}.terminal-statusbar{padding:4px 16px;gap:8px}
 .command-dialog .terminal-output{padding:20px 15px 30px}.command-dialog .terminal-output .terminal-message-text{font-size:14px;line-height:1.8}
 .terminal-message{padding-left:12px}.terminal-message--user{margin-left:15px;padding:12px}.terminal-composer{padding:12px 14px}.terminal-composer>p{font-size:12px}
 .command-dialog .terminal-entry [data-terminal-send]{padding:12px 9px}.terminal-topic-choices>button{font-size:13px}.terminal-composer>.terminal-knowledge{font-size:12px}
}
@media(max-height:590px){.command-dialog{height:96dvh;max-height:96dvh}.command-dialog .terminal-heading{padding:10px 16px}.terminal-heading p,.terminal-kicker,.terminal-knowledge{display:none}.terminal-composer{padding:8px 16px}.terminal-statusbar{min-height:40px;padding:0 16px}.command-dialog .terminal-commands{margin-top:6px}.terminal-log-wrap{min-height:75px}.terminal-composer>p{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.terminal-message.is-typing .terminal-message-text:after{animation:none}}
.motion-paused .terminal-message.is-typing .terminal-message-text:after{animation:none}
@media print{.command-dialog{display:none!important}}
