/* The conversation is the workbench's primary input. */
.generator-layout { grid-template-columns: minmax(330px, 390px) minmax(0, 1fr); }
.agent-pane { display:flex; flex-direction:column; min-height:0; min-width:0; background:#f8f8f3; border-right:1px solid #28323b; }
.agent-heading { background:#f2f2ec; }
.agent-heading .button { margin-left:auto; color:#7a8179; font-size:11px; }
.agent-messages { flex:1; overflow-y:auto; overscroll-behavior:contain; padding:26px 22px; scrollbar-width:thin; scrollbar-color:#c9cec6 transparent; }
.intro-index { font:9px/1.6 "SFMono-Regular",Consolas,monospace; letter-spacing:1.3px; color:#8a9187; }
.agent-intro { padding-top:18px; animation:sheet-enter 350ms var(--ease); }
.agent-intro h2 { font-size:25px; font-weight:500; letter-spacing:-.7px; margin:14px 0; color:#3a453d; }
.agent-intro p { font-size:12px; line-height:1.9; color:#7b8378; }
.starter-list { margin:28px 0 22px; display:flex; flex-direction:column; border-top:1px solid #d9ddd3; }
.starter-list button { display:flex; justify-content:space-between; align-items:center; text-align:left; padding:14px 0; background:none; border:0; border-bottom:1px solid #d9ddd3; color:#586451; font-size:12px; cursor:pointer; transition:padding 180ms, color 180ms; }
.starter-list button:hover { padding-left:8px; color:#a36341; }
.starter-list span { color:#a7afa0; }
.agent-intro .scope-note { font-size:10px; line-height:1.8; color:#959b90; }
.chat-message { margin-bottom:25px; animation:detail-enter 220ms var(--ease); }
.message-byline { display:flex; align-items:center; gap:10px; font-size:10px; color:#92998e; margin-bottom:9px; }
.message-byline strong { font-weight:600; color:#63705e; letter-spacing:.4px; }
.chat-message.user { padding:14px 16px; margin-left:22px; background:#ecede6; border-left:2px solid #b98962; }
.message-body { font-size:12px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.message-files { font-size:10px; color:#858d7e; margin-top:7px; }
.message-warning { margin-top:8px; font-size:11px; line-height:1.7; color:#995a3d; white-space:pre-wrap; }
.proposal { margin-top:14px; border-top:1px solid #ccd2c5; }
.proposal-title { display:flex; justify-content:space-between; padding:12px 0 8px; color:#6b7763; font-size:11px; }
.proposal table { width:100%; border-collapse:collapse; font-size:11px; }
.proposal td { padding:7px 3px; border-bottom:1px solid #e0e3d9; vertical-align:top; }
.proposal td:nth-child(2) { text-align:right; font-family:Consolas,monospace; color:#46523f; }
.proposal-source { display:block; color:#92998b; font-size:9px; line-height:1.5; max-width:210px; overflow-wrap:anywhere; }
.proposal .uncertain { color:#ac5b33; }
.proposal-questions { font-size:11px; line-height:1.8; margin:10px 0; color:#93623e; white-space:pre-wrap; }
.proposal-actions { display:flex; gap:6px; margin-top:12px; flex-wrap:wrap; }
.agent-pending { padding:8px 22px; font-size:11px; color:#8e6f51; display:flex; align-items:center; gap:9px; }
.agent-pending span { width:8px; height:8px; border:1px solid #bf9470; border-top-color:transparent; border-radius:50%; animation:generate-turn .9s linear infinite; }
.agent-error { padding:9px 20px; color:#9b4a31; font-size:11px; line-height:1.7; background:#f3e9df; }
.chat-composer { margin:0 14px 12px; padding:10px 12px 8px; border:1px solid #cdd2c7; border-radius:4px; background:#fff; box-shadow:0 2px 6px #323d2810; transition:border-color 180ms,box-shadow 180ms; }
.chat-composer:focus-within { border-color:#b58a67; box-shadow:0 0 0 2px #b58a6710; }
.chat-composer.is-dragging { background:#f1e7da; border-color:#ad6e43; }
textarea { width:100%; resize:none; border:0; background:transparent; outline:none; font:12px/1.8 inherit; font-family:inherit; line-height:1.8; color:#35412e; padding:4px 0 10px; min-height:76px; }
textarea::placeholder { color:#a0a696; }
textarea:focus-visible { outline:none; }
.composer-tools { display:flex; align-items:center; gap:5px; }
.composer-tools > span { font-size:9px; color:#a1a796; }
.composer-tools > .primary { margin-left:auto; }
.composer-tools #attach-files { padding-left:0; font-size:11px; }
.composer-note { font-size:9px; line-height:1.6; color:#a0a695; margin-top:6px; }
.attachment-list { display:flex; gap:6px; flex-wrap:wrap; }
.attachment-chip { display:flex; align-items:center; gap:5px; max-width:100%; padding:4px 6px; border:1px solid #dce0d5; margin-bottom:5px; font-size:10px; color:#737c68; }
.attachment-chip img { width:29px; height:29px; object-fit:cover; }
.attachment-chip span { overflow:hidden; text-overflow:ellipsis; max-width:180px; white-space:nowrap; }
.attachment-chip button { border:0; background:none; color:#9d7251; cursor:pointer; }
.header-setting { background:none; color:#c9b198; border:1px solid #586169; border-radius:3px; padding:6px 10px; font-size:11px; cursor:pointer; }
.app-header { gap:20px; }
.local-indicator { font-size:10px; }
.parameter-toggle { display:block; margin-left:0; padding:7px 0 7px 8px; background:none; border:0; color:#d5b59d; font-size:11px; cursor:pointer; }
.generator-input { position:absolute; inset:0 0 0 auto; width:330px; z-index:8; border-left:1px solid #26313a; transform:translateX(100%); visibility:hidden; transition:transform 260ms var(--ease),visibility 260ms; }
.parameters-open .generator-input { transform:translateX(0); visibility:visible; }
.generator-layout { overflow:hidden; }
.parameter-scrim:not([hidden]) { display:block; position:absolute; inset:0; z-index:7; border:0; background:#16212b66; cursor:pointer; animation:detail-enter 220ms var(--ease); }
.template-picker { width:auto; }
.template-picker select { width:174px; }
.command-bar { gap:10px; }
.mobile-views { display:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
dialog { width:min(480px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #bdc5b5; border-radius:5px; padding:25px; color:#4e5a46; background:#f8f8f2; box-shadow:0 20px 70px #121d2b66; animation:sheet-enter 220ms var(--ease); }
dialog::backdrop { background:#19242e99; backdrop-filter:blur(3px); }
.settings-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.settings-heading h2 { margin-top:6px; font-size:21px; font-weight:500; }
#close-settings { font-size:22px; }
#settings-form > p { font-size:11px; line-height:1.8; color:#87907c; }
#settings-form > label { display:flex; flex-direction:column; gap:6px; margin-top:14px; font-size:11px; }
#settings-form input, #settings-form select { width:100%; height:34px; }
#settings-form .check-row { flex-direction:row; align-items:center; gap:8px; margin-top:12px; }
#settings-form input[type="checkbox"] { width:14px; height:14px; accent-color:#a46b42; }
.settings-help { margin-top:15px; }
.settings-actions { margin-top:20px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
#settings-result { white-space:pre-wrap; font-size:11px; line-height:1.7; color:#96633d; margin-top:12px; }
@media(max-width:1000px) { .generator-layout { grid-template-columns:minmax(300px,350px) minmax(0,1fr); } .app-navigation { display:none; } .app-header { gap:14px; } .command-bar { gap:6px; } .command-bar .preview-zoom { display:none; } .template-picker { min-width:0; flex:none; } }
@media(max-width:760px) { .generator-layout { display:flex; } .agent-pane,.generator-output { width:100%; flex-shrink:0; } .generator-output { display:none; } body.view-drawing .agent-pane { display:none; } body.view-drawing .generator-output { display:flex; } .command-bar { display:none; } body.view-drawing .command-bar { display:flex; } .mobile-views { display:flex; background:#eeefea; border-bottom:1px solid #ced4c7; padding:0 16px; gap:22px; height:36px; flex-shrink:0; } .mobile-views button { background:none; border:0; border-bottom:2px solid transparent; padding:0 10px; color:#969e8c; font-size:12px; cursor:pointer; } .mobile-views button[aria-pressed="true"] { color:#98613e; border-bottom-color:#a16e47; } .header-setting { margin-left:auto; } .local-indicator { display:none; } .agent-messages { padding:20px; } .agent-intro { padding-top:12px; } .app-name > span { display:none; } .generator-input { inset:0 0 0 auto; width:min(330px,calc(100vw - 25px)); } .template-picker { flex:1; } .template-picker select { width:auto; } .output-facts { display:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
.app-logo { display:block; flex-shrink:0; }
.app-name { gap:9px; }
