/* The console's existing palette and compact geometry continue into settings. */
[hidden] { display:none !important; }
button, input, textarea, select { -webkit-tap-highlight-color:transparent; }
input, textarea, select { color:var(--fg); background:var(--bg-raise); border:1px solid var(--line-strong); border-radius:3px; padding:10px 11px; font:12px/1.55 var(--font-mono); caret-color:var(--orange); }
input::placeholder, textarea::placeholder { color:var(--dim); opacity:.85; }
textarea { resize:vertical; min-height:75px; }
button:disabled { opacity:.5; cursor:not-allowed; }
::selection { color:var(--fg); background:var(--orange-soft); }
* { scrollbar-width:thin; scrollbar-color:var(--line-strong) var(--bg); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.text-button { border:0; background:none; color:var(--orange); padding:5px 0; font:inherit; cursor:pointer; text-align:left; text-underline-offset:4px; }
.text-button:hover { text-decoration:underline; }
.text-button.muted { color:var(--dim); }
.primary-button, .secondary-button { border:1px solid var(--line-strong); border-radius:3px; background:var(--panel-raise); color:var(--fg); padding:10px 15px; font:12px/1.4 var(--font-mono); cursor:pointer; min-height:38px; }
.primary-button { color:#160a03; background:var(--orange); border-color:var(--orange); font-weight:700; }
.primary-button:hover:not(:disabled) { filter:brightness(1.09); }
.secondary-button:hover:not(:disabled) { border-color:var(--orange); }
.ctl-btn.accent { color:var(--orange); }
.demo-badge { cursor:pointer; background:transparent; font-family:var(--font-mono); min-height:30px; }
.demo-badge:hover { border-color:var(--orange); }
.wordmark .sub { max-width:26ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#welcome-strip { display:flex; align-items:center; gap:20px; padding:2px 2px 14px; font-size:11px; color:var(--dim); flex-wrap:wrap; }
#welcome-strip > span { margin-right:auto; }
.source-notice { min-height:140px; padding:24px 18px; color:var(--dim); font-size:12px; line-height:1.7; }
.source-notice p { margin-bottom:12px; }
.source-notice.error p { color:var(--crit); }
.source-notice.stale { min-height:0; padding:12px 18px 0; }
.source-notice.stale p { margin-bottom:3px; }
.source-problems { padding-left:20px; margin:12px 0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.source-problems li { margin:8px 0; }
.source-notice .text-button + .text-button { margin-left:18px; }
.panel-head { justify-content:space-between; }
.panel-aux { min-width:0; text-align:right; flex-shrink:1; }
.drawer { position:fixed; inset:0 0 0 auto; width:min(540px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; color:var(--fg); background:var(--panel); border:0; border-left:1px solid var(--line-strong); z-index:300; overflow:hidden; }
.drawer::backdrop { background:rgba(0,0,0,.56); }
.drawer[open] { display:flex; flex-direction:column; animation:drawer-enter 220ms cubic-bezier(.16,1,.3,1); }
@keyframes drawer-enter { from { transform:translateX(35px); opacity:.7; } to { transform:none; opacity:1; } }
.drawer-head { flex:0 0 auto; display:flex; align-items:flex-start; gap:16px; padding:25px 24px 21px; border-bottom:1px solid var(--line); }
.drawer-head > div { flex:1; min-width:0; }
.drawer-head h2 { font:700 22px/1.35 var(--font-display); margin-bottom:7px; letter-spacing:-.02em; }
.drawer-head p { font-size:11px; line-height:1.7; color:var(--dim); max-width:40ch; }
.drawer-head .ctl-btn { margin-top:0; flex-shrink:0; }
.drawer-content { overflow-y:auto; min-height:0; padding:0 24px 24px; flex:1; }
.settings-form fieldset { border:0; min-width:0; padding:25px 0 26px; border-bottom:1px solid var(--line); }
.settings-form legend { float:left; width:100%; padding:0; font:700 14px var(--font-display); margin-bottom:18px; color:var(--fg); }
.settings-form legend + * { clear:both; }
.setting-field { margin-bottom:17px; }
.setting-field:last-child { margin-bottom:0; }
.setting-field label { display:block; font-size:12px; margin-bottom:7px; }
.setting-field input, .setting-field select, .setting-field textarea { width:100%; }
.field-help { color:var(--dim); font-size:11px; line-height:1.65; margin-top:7px; overflow-wrap:anywhere; }
.check-row { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.65; cursor:pointer; margin:10px 0; }
.check-row input { width:16px; height:16px; accent-color:var(--orange); margin-top:2px; }
.provider-note { margin:0 0 17px; }
.capability-note { color:var(--dim); font-size:11px; line-height:1.7; padding:18px 0; }
.drawer-actions { position:sticky; bottom:-24px; padding:15px 0; border-top:1px solid var(--line); background:var(--panel); display:flex; gap:16px; align-items:center; }
.form-status { font-size:11px; color:var(--dim); line-height:1.6; flex:1; overflow-wrap:anywhere; }
.form-status.error { color:var(--crit); }
.drawer-actions .primary-button { flex-shrink:0; }
#assistant .drawer-content { display:flex; flex-direction:column; overflow:hidden; }
.assistant-meta { display:flex; gap:12px; align-items:center; justify-content:space-between; padding-top:15px; font-size:11px; }
.assistant-provider { border:1px solid var(--line-strong); padding:5px 8px; color:var(--orange); border-radius:3px; }
.assistant-status { color:var(--dim); font-size:11px; line-height:1.6; min-height:35px; padding:10px 0; overflow-wrap:anywhere; }
.conversation { overflow-y:auto; flex:1; min-height:100px; padding:10px 0 18px; }
.assistant-welcome { padding:30px 0; }
.assistant-welcome h3 { font:700 21px/1.4 var(--font-display); letter-spacing:-.025em; max-width:22ch; margin-bottom:15px; }
.assistant-welcome p { font-size:12px; line-height:1.8; color:var(--dim); max-width:47ch; }
.prompt-buttons { display:flex; flex-direction:column; margin-top:26px; border-top:1px solid var(--line); }
.prompt-button { background:none; border:0; border-bottom:1px solid var(--line); font:12px/1.6 var(--font-mono); padding:13px 0; color:var(--fg); text-align:left; cursor:pointer; }
.prompt-button:hover { color:var(--orange); }
.assistant-form { border-top:1px solid var(--line); padding-top:16px; flex:0 0 auto; }
.assistant-form label { display:block; margin-bottom:9px; }
.assistant-form textarea { width:100%; max-height:180px; min-height:90px; }
.assistant-controls { display:flex; align-items:center; gap:8px; margin-top:10px; }
.assistant-controls .primary-button { margin-left:auto; min-width:88px; }
.assistant-controls .recording { border-color:var(--crit); color:var(--crit); }
.message { border-bottom:1px solid var(--line); padding:17px 0; }
.message-author { font-size:10px; color:var(--dim); margin-bottom:8px; text-transform:uppercase; letter-spacing:.1em; }
.message.assistant .message-author { color:var(--orange); }
.message-text { font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.action-approvals { margin-top:15px; display:flex; flex-direction:column; gap:8px; }
.action-approvals p { color:var(--dim); font-size:11px; }
.action-approvals button { text-align:left; overflow-wrap:anywhere; }
.gx-empty { position:absolute; inset:25% 15% auto; z-index:3; color:var(--dim); font-size:12px; line-height:1.7; text-align:center; }
@media (max-width:1450px) { #topbar { flex-wrap:wrap; } #system-chips { order:4; flex-basis:100%; margin:0; } #topbar-controls { margin-left:auto; } }
@media (max-width:760px) { #topbar { gap:10px; } #topbar-controls { order:3; flex-basis:100%; margin-left:0; gap:7px; } #topbar-controls .ctl-btn { flex:1; padding:7px 6px; letter-spacing:.025em; } #clock-block { margin-left:auto; } #clock { font-size:22px; } #clock-meta { font-size:8px; } .wordmark { flex:1; min-width:165px; } #system-chips { gap:7px; } #welcome-strip { gap:8px 18px; padding-bottom:16px; } #welcome-strip > span { flex-basis:100%; } .drawer-head { padding:20px 18px; } .drawer-content { padding:0 18px 18px; } .drawer-actions { bottom:-18px; align-items:flex-start; } .drawer-actions .primary-button { padding:10px; } .runtime-state { font-size:23px; } }
@media (prefers-reduced-motion:reduce) { .drawer[open] { animation:none; } }
