/* Local generation controls inherit the existing monochrome/lime instrument. */
.app-shell[data-theme="robotic"] .run-dock { flex-wrap: wrap; gap: 8px 12px; padding-block: 12px; }
.app-shell[data-theme="robotic"] .source-pane:has(> .failure-panel:not([hidden])) { grid-template-rows: 42px minmax(80px, 1fr) auto auto; overflow-y: auto; }
.app-shell[data-theme="robotic"] .failure-panel { position: static; inset: auto; min-width: 0; max-width: none; margin: 0 12px 8px; flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 6px 12px; box-shadow: none; }
.app-shell[data-theme="robotic"] .failure-panel > div { flex: 1 1 240px; min-width: 0; }
.app-shell[data-theme="robotic"] .failure-panel p { line-height: 1.5; overflow-wrap: anywhere; }
.app-shell[data-theme="robotic"] .failure-panel > span { max-width: 100%; white-space: normal; }
.app-shell[data-theme="robotic"] .processing-copy { display: block; flex: 1 0 100%; max-width: none; min-height: 0; margin: 0; text-align: left; color: #595959; font: 10px/1.5 var(--mono-font); }
.app-shell[data-theme="robotic"] .processing-copy:empty { display: none; }
.generation-connection-summary { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.generation-connection-summary .generation-preview-note { max-width: 190px; font-size: 9px; }
.generation-secondary-button, .generation-dialog-actions button, .generation-pending button { border: 1px solid #bababa; border-radius: 3px; background: #f3f3f3; color: #303030; padding: 7px 10px; font: 11px/1.3 var(--ui-font); cursor: pointer; }
.generation-secondary-button:hover, .generation-dialog-actions button:hover, .generation-pending button:hover { background: #e6e6e6; }
.generation-secondary-button:focus-visible, .generation-dialog-actions button:focus-visible, .generation-pending button:focus-visible, .generation-connection-dialog input:focus-visible { outline: 2px solid #79932f; outline-offset: 3px; }
.generation-connection-dialog { width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 24px; border: 1px solid #777; border-radius: 4px; background: #f4f4f4; color: #303030; box-shadow: 0 16px 64px #0004; font: 12px/1.6 var(--ui-font); }
.generation-connection-dialog::backdrop { background: #1118; }
.generation-connection-dialog form { display: grid; gap: 16px; }
.generation-connection-dialog h2, .generation-connection-dialog p { margin: 0; }
.generation-connection-dialog h2 { font-size: 19px; }
.generation-connection-dialog label { display: grid; gap: 6px; font-weight: 600; }
.generation-connection-dialog input { box-sizing: border-box; width: 100%; min-width: 0; padding: 10px; color: #222; background: white; border: 1px solid #aaa; border-radius: 3px; font: 12px/1.4 var(--mono-font); }
.generation-dialog-actions, .generation-pending > div { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
#generation-connection-submit, #generation-apply-button { background: var(--signal, #d6f483); border-color: #a9bd6c; }
#generation-connection-status { color: #555; font: 11px/1.6 var(--mono-font); }
#generation-connection-status[data-state="error"] { color: var(--danger, #a33037); border-left: 2px solid currentColor; padding-left: 10px; }
#generation-connection-status[data-state="success"] { color: #435516; }
.generation-pending { position: sticky; top: 0; z-index: 3; padding: 12px; margin-bottom: 16px; border: 1px solid #a9bd6c; background: #f0f5e4; font: 12px/1.5 var(--ui-font); }
.generation-pending p { margin: 0 0 9px; }
.app-shell[data-theme="robotic"] .source-document { position: relative; z-index: 1; }
.source-highlight-overlay { position: absolute; top: 0; left: 0; box-sizing: border-box; overflow: hidden; white-space: pre-wrap; overflow-wrap: break-word; word-break: normal; pointer-events: none; color: transparent; border: 0; scrollbar-width: none; }
.source-highlight-overlay mark { color: transparent; padding: 0; border-radius: 2px; }
.source-highlight-overlay .source-mark-identifier { background: #c5e872; }
.source-highlight-overlay .source-mark-evidence { background: #e2eccb; box-shadow: inset 0 -2px #7b9637; }
.source-highlight-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; flex-shrink: 0; margin: 0; color: #505a40; font: 9px/1.6 var(--mono-font); }
.source-highlight-legend span::before { content: ""; display: inline-block; width: 10px; height: 8px; margin-right: 5px; background: #c5e872; }
.source-highlight-legend .evidence-key::before { background: #e2eccb; border-bottom: 2px solid #7b9637; }
@media (max-width: 600px) { .generation-connection-summary { align-items: flex-start; } .generation-connection-summary .generation-preview-note { text-align: left; } }
@media print { .generation-pending, .source-highlight-overlay, .generation-connection-dialog { display: none !important; } }
