.bfj-companion{--bfj-surface:var(--surface,#17121f);--bfj-ink:var(--ink,#fff);--bfj-border:var(--line,#675873);--bfj-accent:var(--gold,#bca4f3);box-sizing:border-box;color:var(--bfj-ink);background:var(--bfj-surface);border:1px solid var(--bfj-border);border-radius:16px;padding:0;position:fixed;inset:auto 16px 16px auto;margin:0;width:min(460px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);font:16px/1.5 system-ui,sans-serif;overflow:hidden;box-shadow:0 12px 48px #0008}.bfj-companion::backdrop{background:#0005}.bfj-companion[open]{display:flex;flex-direction:column}.bfj-companion>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--bfj-border);flex-shrink:0}.bfj-companion h2{font-size:1.2rem;margin:0}.bfj-companion h3{font-size:1rem;margin:8px 0;overflow-wrap:anywhere}.bfj-companion-body{padding:16px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.bfj-companion p{margin:8px 0 12px;max-width:none;overflow-wrap:anywhere}.bfj-companion button,.bfj-companion select,.bfj-cym-launcher,.bfj-companion-actions button{font:inherit;min-width:44px;min-height:44px;border:1px solid var(--line,#675873);border-radius:10px;background:var(--surface,#17121f);color:var(--ink,#fff);padding:8px 12px;cursor:pointer;white-space:normal}.bfj-companion button:disabled{opacity:.55;cursor:default}.bfj-companion :focus-visible,.bfj-cym-launcher:focus-visible,.bfj-companion-actions button:focus-visible{outline:2px solid var(--gold,#bca4f3);outline-offset:2px}.bfj-companion article{padding:12px;margin:12px 0;border:1px solid var(--bfj-border);border-radius:12px;min-width:0}.bfj-companion .bfj-unread{border-inline-start:4px solid var(--bfj-accent)}.bfj-companion time,.bfj-companion .bfj-secondary{font-size:.875rem;color:var(--muted,#c7c1ce)}.bfj-companion .bfj-copy{white-space:pre-wrap}.bfj-companion form{display:grid;gap:12px;margin-top:16px}.bfj-companion label{display:grid;gap:8px}.bfj-companion textarea{width:100%;box-sizing:border-box;min-height:100px;resize:vertical;max-height:32dvh;background:var(--bg,#100c18);color:var(--bfj-ink);font:inherit;border:1px solid var(--bfj-border);border-radius:8px;padding:12px}.bfj-companion .bfj-context-option{display:flex;align-items:center;gap:8px;min-height:44px}.bfj-context-option input{width:20px;height:20px;flex-shrink:0}.bfj-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bfj-panel-actions>*{max-width:100%}.bfj-companion details>summary{min-height:44px;align-content:center;cursor:pointer}.bfj-companion details{margin:8px 0}.bfj-cym-launcher{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:16px;z-index:1500;box-shadow:0 4px 20px #0006}.bfj-header-actions{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto}.bfj-companion-actions{display:inline-flex;align-items:center}.bfj-companion-actions button{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:8px}.bfj-companion-actions [data-badge]{position:absolute;top:-4px;right:-5px;background:#bca4f3;color:#17121f;font:bold 11px system-ui;min-width:18px;border-radius:12px;padding:1px 3px}.bfj-header-floating{position:fixed;top:8px;right:8px;z-index:1500;background:var(--surface,#17121f);padding:4px;border-radius:12px}.bfj-header-floating>a{color:var(--ink,#fff);min-height:44px;display:inline-flex;align-items:center;padding:0 8px}[hidden].bfj-cym-launcher,[hidden].bfj-companion-actions,[hidden].bfj-header-actions,.bfj-companion [hidden],.bfj-companion-actions [hidden]{display:none!important}
@media(max-width:600px){.bfj-companion{inset:auto 0 0;width:100%;max-height:90dvh;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}.bfj-companion-body{padding:16px}.bfj-cym-launcher.bfj-over-notebook{bottom:calc(80px + env(safe-area-inset-bottom))}.bfj-header-actions{gap:8px}.bfj-companion>header{gap:8px}}

@media(min-width:601px){#bfj-notification-panel{inset:72px 16px auto auto;max-height:calc(100dvh - 88px)}}
.site-nav:has(.bfj-header-actions){flex-wrap:wrap;gap:8px}.bfj-header-actions{flex-shrink:0}
/* Cym conversation workspace: shared shell, one transcript scroll region and pinned composer. */
#bfj-cym-panel{height:min(760px,calc(var(--cym-viewport,100dvh) - 32px));bottom:calc(16px + var(--cym-keyboard,0px));width:min(560px,calc(100vw - 32px))}
#bfj-cym-panel.bfj-expanded{inset:8px 8px auto;width:calc(100vw - 16px);height:calc(var(--cym-viewport,100dvh) - 16px);max-height:none}
#bfj-cym-panel>.bfj-companion-body{display:flex;flex:1;flex-direction:column;overflow:hidden;padding:12px 16px;gap:8px}
#bfj-cym-panel .bfj-cym-history{flex:1;min-height:40px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#bfj-cym-panel .bfj-cym-history article{margin:0 0 12px;padding:12px}
#bfj-cym-panel .bfj-cym-history .bfj-user-message{border-left:2px solid var(--bfj-border);padding-left:12px}
#bfj-cym-panel>.bfj-cym-composer{flex:none;border-top:1px solid var(--bfj-border);padding:12px 16px;gap:8px;margin:0;max-height:55%;overflow:auto;background:var(--bfj-surface)}
#bfj-cym-panel textarea{min-height:48px;max-height:150px;resize:none;margin:0}
#bfj-cym-panel .bfj-cym-context{font-size:.8rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
#bfj-cym-panel .bfj-cym-context>span{overflow-wrap:anywhere;flex:1;min-width:60px}
#bfj-cym-panel .bfj-panel-actions{margin:0;gap:8px}
#bfj-cym-panel .bfj-panel-actions select{min-width:0;flex:1;width:100px;text-overflow:ellipsis}
#bfj-cym-panel .bfj-cym-status{margin:0;font-size:.85rem;flex:none}
#bfj-cym-panel .bfj-cym-status:empty{display:none}
#bfj-cym-panel .bfj-cym-queue{max-height:140px;overflow:auto;margin:0}
#bfj-cym-panel .bfj-queued-row{border-top:1px solid var(--bfj-border);padding:8px 0}
#bfj-cym-panel .bfj-queued-row button{margin:4px}
#bfj-cym-panel small{font-size:.75rem;color:var(--muted,#c7c1ce)}
#bfj-cym-uploads .upload-row{border:1px solid var(--bfj-border);padding:12px;margin:8px 0;border-radius:12px;overflow-wrap:anywhere}
#bfj-cym-uploads .upload-row img{max-width:100%;max-height:180px;object-fit:contain}
#bfj-cym-uploads .upload-detail{display:grid;gap:8px}
#bfj-cym-uploads .upload-actions,#bfj-cym-uploads .upload-submit-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#bfj-cym-uploads input{max-width:100%;min-height:44px}
#bfj-cym-uploads .upload-dropzone{display:grid;gap:8px;border:1px dashed var(--bfj-border);padding:12px}
@media(max-width:600px){#bfj-cym-panel{inset:auto 0 var(--cym-keyboard,0px);width:100%;height:calc(var(--cym-viewport,100dvh) - 8px);max-height:none}#bfj-cym-panel>.bfj-cym-composer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}#bfj-cym-panel.bfj-expanded{inset:auto 0 var(--cym-keyboard,0px);width:100%;height:var(--cym-viewport,100dvh)}}
.bfj-conversation-options>button{margin:4px}.bfj-conversation-options{width:100%}
#bfj-cym-panel>.bfj-cym-composer{display:flex;flex-direction:column}#bfj-cym-panel>.bfj-cym-composer>*{flex-shrink:0}#bfj-cym-panel .bfj-cym-context>*{max-width:100%;overflow-wrap:anywhere}#bfj-cym-panel .bfj-email-context{min-width:0}
html:has(#bfj-cym-panel.bfj-expanded[open]){overflow:hidden}
/* Conversation-first presentation; shared Cym behavior and permissions are unchanged. */
#bfj-cym-panel{height:calc(var(--cym-viewport,100dvh) - 24px);max-height:none;width:min(840px,calc(100vw - 24px));inset:auto 12px calc(12px + var(--cym-keyboard,0px)) auto}
#bfj-cym-panel>header{position:relative;gap:8px;padding:8px 16px;border-bottom:1px solid var(--bfj-border)}
#bfj-cym-panel>header h2{font-size:1rem;flex:none}
#bfj-cym-panel .bfj-conversation-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--muted,#c7c1ce)}
#bfj-cym-panel .bfj-new-chat,#bfj-cym-panel .bfj-send,#bfj-cym-panel .bfj-latest{font-size:0;width:44px;height:44px;padding:0;flex:none}
#bfj-cym-panel .bfj-new-chat:after{content:'+';font:24px system-ui}
#bfj-cym-panel .bfj-send:after{content:'\2191';font:24px system-ui}
#bfj-cym-panel .bfj-send{border-radius:50%;background:var(--bfj-accent);color:var(--bg,#100c18);margin-left:auto}
#bfj-cym-panel .bfj-conversation-options{width:44px;flex:none;margin:0}
#bfj-cym-panel .bfj-conversation-options>summary{font-size:0;list-style:none;width:44px;height:44px;text-align:center;border-radius:10px}
#bfj-cym-panel .bfj-conversation-options>summary::-webkit-details-marker{display:none}
#bfj-cym-panel .bfj-conversation-options>summary:after{content:'\2026';font:24px system-ui}
#bfj-cym-panel .bfj-conversation-menu{position:absolute;z-index:3;right:8px;top:calc(100% + 4px);width:min(320px,calc(100vw - 32px));max-height:55dvh;overflow:auto;box-sizing:border-box;padding:12px;display:grid;gap:8px;background:var(--bfj-surface);border:1px solid var(--bfj-border);border-radius:12px;box-shadow:0 8px 24px #0008}
#bfj-cym-panel .bfj-conversation-menu select{width:100%;min-width:0}
#bfj-cym-panel>.bfj-companion-body{position:relative;padding:16px;gap:8px}
#bfj-cym-panel .bfj-cym-history article{border:0;border-radius:0;padding:0;margin:0 0 24px}
#bfj-cym-panel .bfj-cym-history article>strong{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#bfj-cym-panel .bfj-cym-history .bfj-user-message{border:0;background:var(--surface-2,#302b37);border-radius:20px;padding:12px 16px;margin:0 0 24px auto;width:fit-content;max-width:85%;box-sizing:border-box}
#bfj-cym-panel .bfj-cym-history .bfj-copy{line-height:1.65}
#bfj-cym-panel .bfj-cym-history .bfj-panel-actions{gap:8px}
#bfj-cym-panel .bfj-cym-history .bfj-panel-actions button{border:0;background:transparent;font-size:.8rem;padding:8px}
#bfj-cym-panel .bfj-latest{position:absolute;bottom:12px;left:calc(50% - 22px);border-radius:50%;box-shadow:0 2px 12px #0006;z-index:1}
#bfj-cym-panel .bfj-latest:after{content:'\2193';font:22px system-ui}
#bfj-cym-panel>.bfj-cym-composer{border:0;padding:8px 16px 16px;gap:8px}
#bfj-cym-panel .bfj-composer-shell{border:1px solid var(--bfj-border);border-radius:24px;background:var(--surface-2,#302b37);padding:8px 12px}
#bfj-cym-panel .bfj-composer-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#bfj-cym-panel textarea{background:transparent;border:0;border-radius:12px;min-height:48px;padding:8px 4px}
#bfj-cym-panel .bfj-composer-actions{align-items:center}
#bfj-cym-panel .bfj-composer-actions>button:first-child{border:0;background:transparent;font-size:24px}
#bfj-cym-panel .bfj-cym-context{padding:0 4px}
#bfj-cym-panel .bfj-cym-context>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}
#bfj-cym-panel .bfj-context-option{min-height:44px;gap:4px;font-size:.75rem}
@media(max-width:600px){#bfj-cym-panel,#bfj-cym-panel.bfj-expanded{inset:auto 0 var(--cym-keyboard,0px);width:100%;height:var(--cym-viewport,100dvh);border-radius:0;border:0}#bfj-cym-panel>header{padding:8px}#bfj-cym-panel>.bfj-companion-body{padding:12px}#bfj-cym-panel>.bfj-cym-composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}}
@media(max-width:280px){#bfj-cym-panel .bfj-conversation-title{display:none}#bfj-cym-panel>header h2{flex:1}#bfj-cym-panel>header{gap:0;padding:4px}}
#bfj-cym-panel .bfj-latest{bottom:56px}
/* Private attachment previews inside Cym's composer. */
#bfj-cym-panel .bfj-attachment-previews{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
#bfj-cym-panel .bfj-attachment-previews:empty{display:none}
#bfj-cym-panel .bfj-attachment-card{position:relative;display:flex;flex-direction:column;justify-content:center;width:144px;max-width:100%;min-height:72px;background:var(--surface-2,#29232f);border-radius:12px;overflow:hidden;margin-bottom:8px}
#bfj-cym-panel .bfj-attachment-card img{width:144px;height:112px;object-fit:cover;background:var(--surface,#19141f)}
#bfj-cym-panel .bfj-attachment-card span{font-size:12px;padding:8px;overflow-wrap:anywhere;padding-right:36px}
#bfj-cym-panel .bfj-attachment-card button{position:absolute;right:0;top:0;min-width:44px;min-height:44px;padding:0;background:var(--surface,#19141f)}
#bfj-cym-assets .bfj-companion-body>div{display:flex;flex-direction:column;gap:8px}
#bfj-cym-assets button{overflow-wrap:anywhere;white-space:normal;text-align:left}
#bfj-cym-assets select,#bfj-cym-assets input{max-width:100%;min-width:0;width:100%}
#bfj-cym-assets .bfj-companion-body{display:flex;flex-direction:column;gap:8px}
#bfj-cym-assets input{box-sizing:border-box;min-height:44px;font:inherit;padding:8px 12px;border:1px solid var(--bfj-border);border-radius:10px;background:var(--bfj-surface);color:var(--bfj-ink)}
/* Message copying: same compact control for user messages and Cym replies. */
#bfj-cym-panel .bfj-cym-history .bfj-user-message{margin-bottom:4px}
#bfj-cym-panel .bfj-message-meta{display:flex;align-items:center;gap:8px;margin:0 0 16px;min-width:0}
#bfj-cym-panel .bfj-user-actions{justify-content:flex-end}
#bfj-cym-panel .bfj-message-copy{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted,#c7c1ce)}
#bfj-cym-panel .bfj-message-copy:hover,#bfj-cym-panel .bfj-message-copy:focus-visible{background:var(--surface-2,#302b37);color:var(--bfj-ink)}
#bfj-cym-panel .bfj-copy-check{display:none}
#bfj-cym-panel .bfj-message-copy[data-copied] svg{display:none}
#bfj-cym-panel .bfj-message-copy[data-copied] .bfj-copy-check{display:inline}
/* Compact conversation navigation and pending messages. */
#bfj-cym-panel>header{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:8px}
#bfj-cym-panel>header h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#bfj-cym-panel>header>button{min-width:44px;width:44px;height:44px;padding:0;background:transparent;border:0;display:grid;place-items:center}
#bfj-cym-panel .bfj-conversation-title{flex:1;min-width:32px;font-size:14px}
#bfj-cym-panel .bfj-conversation-sidebar{position:absolute;inset:60px auto 0 0;width:min(320px,100%);box-sizing:border-box;background:var(--bfj-surface,#19141f);border-right:1px solid var(--bfj-border);z-index:10;padding:12px;overflow:auto;box-shadow:8px 0 24px #0005}
#bfj-cym-panel .bfj-conversation-sidebar[hidden]{display:none}
#bfj-cym-panel .bfj-conversation-sidebar input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:8px 0}
#bfj-cym-panel .bfj-conversation-sidebar>div{display:grid;gap:8px}
#bfj-cym-panel .bfj-conversation-sidebar button{text-align:left;overflow-wrap:anywhere;white-space:normal}
#bfj-cym-panel .bfj-conversation-sidebar [aria-current=true]{border-color:var(--bfj-accent,#b69bff)}
#bfj-cym-panel .bfj-cym-queue{margin:0;padding:4px 8px;border-radius:16px 16px 0 0;background:var(--surface-2,#302b37);max-height:220px;overflow:auto}
#bfj-cym-panel .bfj-cym-queue>p{font-size:12px;margin:0;color:var(--muted,#c7c1ce)}
#bfj-cym-panel .bfj-queued-row{display:flex;align-items:center;gap:4px;padding:0;margin:0;border:0;min-width:0;position:relative}
#bfj-cym-panel .bfj-queue-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
#bfj-cym-panel .bfj-queued-row>button,#bfj-cym-panel .bfj-queue-options>summary{min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;list-style:none}
#bfj-cym-panel .bfj-queue-options>div{display:flex;flex-direction:column;position:absolute;right:0;top:44px;z-index:12;background:var(--bfj-surface,#19141f);border:1px solid var(--bfj-border);padding:8px;max-width:100%;box-shadow:0 4px 12px #0008}
#bfj-cym-panel .bfj-queue-options[open]{padding-bottom:0}
#bfj-cym-panel .bfj-queue-files{font-size:12px;max-width:32px}
#bfj-cym-panel .bfj-reorder-handle{touch-action:none;cursor:grab}
#bfj-cym-panel .is-dragging{opacity:.6}
#bfj-cym-panel [data-drop=before]{box-shadow:0 -2px var(--bfj-accent,#b69bff)}
#bfj-cym-panel [data-drop=after]{box-shadow:0 2px var(--bfj-accent,#b69bff)}
#bfj-cym-panel .bfj-reorder-status{font-size:12px;margin:0}
#bfj-cym-panel .bfj-queue-footer:empty{display:none}
@media(max-width:280px){#bfj-cym-panel .bfj-conversation-title{display:none}#bfj-cym-panel>header{justify-content:flex-start}#bfj-cym-panel .bfj-conversation-sidebar{inset-block-start:104px}#bfj-cym-panel .bfj-queue-files{display:none}}
#bfj-cym-panel .bfj-thinking{color:var(--muted,#c7c1ce);font-size:14px;display:flex;align-items:center;gap:8px}
#bfj-cym-panel .bfj-thinking:before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;animation:cym-pulse 1.4s ease-in-out infinite}
@keyframes cym-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){#bfj-cym-panel .bfj-thinking:before{animation:none}}
#bfj-cym-panel .bfj-queue-files img{width:32px;height:32px;object-fit:cover;border-radius:6px;background:var(--bfj-surface)}
#bfj-cym-action input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;background:var(--bfj-surface);color:var(--bfj-ink);border:1px solid var(--bfj-border);border-radius:8px;padding:8px;font:inherit}
#bfj-cym-action .bfj-companion-body{display:grid;gap:12px}
#bfj-cym-panel .bfj-conversation-menu{max-height:min(420px,70dvh);overflow:auto}
#bfj-cym-action>header{flex-wrap:wrap;gap:8px}
#bfj-cym-action>header h2{min-width:0;overflow-wrap:anywhere;flex:1}
#bfj-cym-action .bfj-companion-body>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){#bfj-cym-action{inset:auto 0 0;width:100%;max-height:100dvh}}
.agent-memory-list{display:grid;gap:8px}
#bfj-cym-action .agent-memory-list article{margin:0;padding:12px;display:flex;flex-wrap:wrap;gap:8px}
#bfj-cym-action .agent-memory-list article p,#bfj-cym-action .agent-memory-list article small{width:100%;margin:0}
#bfj-cym-action label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:44px}
#bfj-cym-action input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:none}
#bfj-cym-action [data-discard]{padding:12px;border:1px solid var(--bfj-border);border-radius:12px}
#bfj-cym-panel .bfj-user-actions>button:first-child{font-size:12px;border:0;background:transparent}

.bfj-page-tools{font-size:.85rem;min-width:0}.bfj-page-tools summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.bfj-page-tools>div{display:grid;gap:8px;padding:8px 0}.bfj-page-tools label{display:flex;align-items:center;gap:8px;min-height:44px}.bfj-page-tools input[type=checkbox]{width:20px;height:20px;flex:none}.bfj-page-tools small{overflow-wrap:anywhere}
/* Compact action menus and conversation navigation retain 44px targets. */
#bfj-cym-panel .bfj-conversation-menu{width:min(264px,calc(100vw - 24px));padding:8px;gap:8px;border-radius:14px}
#bfj-cym-panel .bfj-compact-menu-item{display:flex;align-items:center;gap:12px;min-height:44px;width:100%;min-width:0;padding:8px 12px;margin:0;border:0;border-radius:8px;background:transparent;text-align:left;font:inherit;font-size:14px;line-height:1.3;box-shadow:none}
#bfj-cym-panel .bfj-compact-menu-item svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#bfj-cym-panel .bfj-compact-menu-item span{min-width:0;overflow-wrap:anywhere}
#bfj-cym-panel .bfj-compact-menu-item:hover,#bfj-cym-panel .bfj-compact-menu-item[aria-current=true]{background:var(--surface-2,#302b37)}
#bfj-cym-panel .bfj-compact-menu-item:focus-visible{outline:2px solid var(--bfj-accent,#b69bff);outline-offset:1px}
#bfj-cym-panel .bfj-menu-danger{color:#ffaaa8}
#bfj-cym-panel .bfj-conversation-menu small{padding:8px 12px;border-top:1px solid var(--bfj-border);font-size:12px;line-height:1.4;color:var(--muted,#c7c1ce)}
#bfj-cym-panel .bfj-conversation-sidebar{width:min(288px,100%);padding:8px}
#bfj-cym-panel .bfj-conversation-sidebar .bfj-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:12px;font-size:14px}
#bfj-cym-panel .bfj-sidebar-heading button{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border:0;background:transparent}
#bfj-cym-panel .bfj-conversation-sidebar input{padding:10px 12px;border:1px solid var(--bfj-border);border-radius:10px;background:var(--surface-2,#302b37);color:inherit;font:inherit;font-size:14px}
#bfj-cym-panel .bfj-conversation-sidebar .bfj-conversation-list{display:grid;gap:8px}
#bfj-cym-panel .bfj-conversation-list .bfj-compact-menu-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bfj-cym-panel .bfj-conversation-list [aria-current=true]{box-shadow:inset 3px 0 var(--bfj-accent,#b69bff)}
#bfj-cym-panel .bfj-queue-options>div{width:min(264px,calc(100vw - 48px));gap:8px;border-radius:12px;box-sizing:border-box}

/* Cym is a nonmodal companion until explicitly expanded. */
#bfj-cym-panel{inset:auto 16px calc(16px + var(--cym-keyboard,0px)) auto;width:min(460px,calc(100vw - 32px));height:min(640px,calc(var(--cym-viewport,100dvh) * .75));max-height:none;box-sizing:border-box;z-index:1600;border-radius:16px}
@media(max-width:600px){#bfj-cym-panel{inset:auto 8px calc(8px + var(--cym-keyboard,0px)) auto;width:calc(100vw - 16px);height:calc(var(--cym-viewport,100dvh) * .7)}}
#bfj-cym-panel.bfj-expanded{inset:0 0 auto;width:100%;height:var(--cym-viewport,100dvh);max-height:none;border:0;border-radius:0}

#bfj-cym-panel .bfj-message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
#bfj-cym-panel .bfj-message-attachment{display:flex;flex-direction:column;gap:4px;max-width:100%;font-size:12px;overflow-wrap:anywhere}
#bfj-cym-panel .bfj-message-attachment img{width:180px;max-width:100%;max-height:180px;object-fit:contain;border-radius:12px;background:var(--surface-2,#302b37)}
#bfj-cym-panel .bfj-message-attachment img[hidden]{display:none}

/* Composer context and capabilities; shared menu pattern, scoped to Cym. */
#bfj-cym-panel .bfj-composer-shell{position:relative}
#bfj-cym-panel .bfj-cym-context{margin:0;padding:0;min-height:0;gap:4px}
.bfj-context-chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--line,#675873);border-radius:10px}
#bfj-cym-panel .bfj-context-chip button{border:0;background:transparent;margin:0;min-height:44px}
#bfj-cym-panel .bfj-context-chip button:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:calc(100% - 44px);font-size:13px}
#bfj-cym-panel .bfj-composer-menu{position:fixed;bottom:64px;left:8px;z-index:20;width:min(340px,calc(100% - 16px));box-sizing:border-box;max-height:min(420px,55dvh);overflow:auto;background:var(--bfj-surface,#17121f);border:1px solid var(--line,#675873);border-radius:12px;padding:8px;box-shadow:0 8px 24px #0008}
#bfj-cym-panel .bfj-composer-menu>button{display:flex;align-items:center;gap:8px;text-align:left;width:100%;border:0;background:transparent;margin:0;padding:8px;min-height:44px}
#bfj-cym-panel .bfj-composer-menu label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}
#bfj-cym-panel .bfj-composer-menu input{width:20px;height:20px;flex-shrink:0}
#bfj-cym-panel .bfj-composer-menu p,#bfj-cym-panel .bfj-composer-menu small{font-size:13px;overflow-wrap:anywhere;white-space:normal}
#bfj-cym-panel .bfj-composer-actions button[aria-pressed=true]{color:var(--bfj-accent,#bca4f3);background:var(--surface,#30253f)}

/* Inline page context beside Add context; preserve independent 44px actions. */
#bfj-cym-panel .bfj-composer-actions{flex-wrap:nowrap;gap:4px;min-width:0}
#bfj-cym-panel .bfj-composer-actions>button{flex-shrink:0;padding:8px;min-width:44px}
#bfj-cym-panel .bfj-composer-actions>.bfj-cym-context{display:flex;flex:1 1 160px;min-width:0;max-width:320px;overflow:hidden;gap:4px}
#bfj-cym-panel .bfj-composer-actions .bfj-cym-context>span{display:block;min-width:0;width:100%}
#bfj-cym-panel .bfj-composer-actions .bfj-context-chip{display:flex;width:100%;box-sizing:border-box;border:0}
#bfj-cym-panel .bfj-composer-actions .bfj-context-chip button:first-child{flex:1;min-width:0;padding:4px;font-size:12px}
#bfj-cym-panel .bfj-composer-actions .bfj-context-chip button:last-child{flex:0 0 44px;padding:4px}
@media(max-width:320px){#bfj-cym-panel .bfj-composer-actions{flex-wrap:wrap}#bfj-cym-panel .bfj-composer-actions>.bfj-cym-context{min-width:88px}}

/* Queue rows never reserve space for their floating action menu. */
#bfj-cym-panel>.bfj-cym-composer{overflow:visible;max-height:none}
#bfj-cym-panel .bfj-cym-queue{max-height:min(180px,25dvh);overflow-y:auto;overflow-x:hidden;padding:4px 8px}
#bfj-cym-panel .bfj-cym-queue>p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#bfj-cym-panel .bfj-queued-row{height:44px;min-height:44px;flex-shrink:0}
#bfj-cym-panel .bfj-queued-row button{margin:0;flex-shrink:0;font-size:13px}
#bfj-cym-panel .bfj-queue-options{margin:0;flex-shrink:0;padding:0}
#bfj-cym-panel .bfj-queue-options>summary{list-style:none;min-width:44px;min-height:44px}
#bfj-cym-panel .bfj-queue-options>summary::-webkit-details-marker{display:none}
#bfj-cym-panel .bfj-queue-popup{z-index:30;display:flex;flex-direction:column;gap:4px;overflow:auto;box-sizing:border-box;background:var(--bfj-surface,#17121f);border:1px solid var(--bfj-border,#675873);border-radius:12px;padding:8px;box-shadow:0 8px 24px #0008}
#bfj-cym-panel .bfj-queue-popup>button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px;text-align:left;border:0;background:transparent;font-size:14px}
#bfj-cym-panel .bfj-queue-footer button{min-height:44px;padding:4px 8px;font-size:13px;margin:0}

/* Align icons and labels consistently, overriding host-page button centering. */
#bfj-cym-panel .bfj-compact-menu-item,#bfj-cym-panel .bfj-composer-menu>button,#bfj-cym-panel .bfj-queue-popup>button{justify-content:flex-start;text-align:left}

#bfj-cym-panel .bfj-message-sources{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted,#c7c1ce)}
.bfj-reply-sources{font-size:14px;overflow-wrap:anywhere}

/* Source links align consistently in menus and existing detail surfaces. */
.bfj-companion .bfj-reply-sources{text-align:left}
.bfj-companion .bfj-reply-sources button{display:flex;justify-content:flex-start;align-items:center;text-align:left;width:100%;margin:4px 0;padding:8px 12px;overflow-wrap:anywhere}

/* Shared agent activity disclosure: compact content, accessible heading target. */
.bfj-companion .agent-activity{margin:8px 0;color:var(--muted,#c7c1ce);font-size:14px;line-height:1.4;border:0;padding:0;min-width:0}
.bfj-companion .agent-activity>summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:0 4px;margin:0;list-style:none;cursor:pointer;font-size:14px;font-weight:400;border:0;background:transparent;color:inherit}
.bfj-companion .agent-activity>summary::-webkit-details-marker{display:none}
.bfj-companion .agent-activity>summary:focus-visible{outline:2px solid var(--accent,#bca8ff);outline-offset:2px;border-radius:4px}
.bfj-companion .agent-activity-icon,.bfj-companion .agent-activity-chevron{display:inline-flex;flex:0 0 auto;align-items:center}
.bfj-companion .agent-activity-count{font-size:12px}
.bfj-companion .agent-activity[open] .agent-activity-chevron{transform:rotate(180deg)}
.bfj-companion .agent-activity-list{display:grid;width:fit-content;max-width:100%;box-sizing:border-box;gap:4px;list-style:none;margin:12px 0 0;padding:0 4px}
.bfj-companion .agent-activity-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;column-gap:8px;min-height:24px;margin:0;padding:0;font-size:14px;line-height:1.4}
.bfj-companion .agent-activity-row .agent-activity-icon{padding-top:2px}
.bfj-companion .agent-activity-name,.bfj-companion .agent-activity-state{overflow-wrap:anywhere;min-width:0}
.bfj-companion .agent-activity-state{font-size:12px;padding-top:1px}
.bfj-companion .agent-activity-file{grid-column:2/-1;font-size:12px;overflow-wrap:anywhere}

/* Optional reply draft: native placeholder wraps with the composer. */
#bfj-cym-prompt.agent-has-suggestion::placeholder{color:#b5b1bd;opacity:1;}
.bfj-cym-composer .agent-reply-suggestion{font-size:12px;min-height:44px;width:auto;padding:4px 10px;color:#c5c1cc;background:transparent;border:0;align-self:flex-start;text-align:left;}
.bfj-cym-composer .agent-reply-suggestion[hidden]{display:none;}

.bfj-composer-actions .agent-reply-suggestion{width:44px;height:44px;min-width:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;align-self:center;}

#bfj-cym-panel .bfj-attachment-card .bfj-draft-attachment-preview{position:static;width:100%;display:flex;flex-direction:column;align-items:stretch;text-align:left;border:0;background:transparent;cursor:zoom-in;}

.bfj-inline-audio{display:flex;flex-direction:column;gap:8px;padding:12px;margin:8px 0;border:1px solid var(--bfj-border,#4b4058);border-radius:12px;min-width:0}.bfj-inline-audio strong{overflow-wrap:anywhere}.bfj-inline-audio .bfj-review-player{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bfj-inline-audio input[aria-label="Playback position"]{flex:1;min-width:80px;width:100px}.bfj-inline-audio input[aria-label="Volume"]{width:70px}.bfj-inline-audio [role="status"]:empty{display:none}.bfj-inline-audio details[open]{display:flex;flex-wrap:wrap;gap:8px}.bfj-inline-audio summary{min-height:44px;cursor:pointer}

.bfj-cym-preview-dock{flex:0 1 auto;max-height:38%;min-height:0;overflow:auto;border-bottom:1px solid var(--bfj-border);padding:12px 16px}.bfj-cym-preview-dock>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.bfj-cym-preview-dock strong{overflow-wrap:anywhere}.bfj-cym-preview-dock .bfj-panel-actions a{min-height:44px;display:inline-flex;align-items:center}.bfj-cym-preview-dock video,.bfj-cym-preview-dock img{max-height:24dvh!important}

/* Compact preview attached to the composer, after queued messages. */
#bfj-cym-panel .bfj-cym-preview-dock{flex:none;max-height:200px;overflow:auto;margin:0 8px -8px;padding:4px 8px 8px;border:1px solid var(--bfj-border);border-bottom:0;border-radius:16px 16px 0 0;background:var(--surface-2,#302b37)}
#bfj-cym-panel .bfj-cym-preview-dock>header{gap:8px;min-height:44px}
#bfj-cym-panel .bfj-cym-preview-dock strong{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bfj-cym-panel .bfj-cym-preview-dock>header>button{min-width:44px;min-height:44px;padding:4px;border:0;background:transparent;font-size:20px}
#bfj-cym-panel .bfj-cym-preview-dock summary{min-height:44px;display:flex;align-items:center;font-size:13px;cursor:pointer}
#bfj-cym-panel .bfj-cym-preview-dock details .bfj-panel-actions{display:flex;flex-wrap:wrap;gap:8px;font-size:13px}
#bfj-cym-panel .bfj-cym-preview-dock video,#bfj-cym-panel .bfj-cym-preview-dock img{max-height:100px!important}
#bfj-cym-panel .bfj-cym-preview-dock p{margin:4px 0;font-size:13px}
/* Neutral layered dock/composer surface; scoped to the active preview. */
#bfj-cym-panel .bfj-cym-composer:has(.bfj-cym-preview-dock){--cym-dock-surface:#2d2d2d;--cym-input-surface:#353535;--cym-dock-line:#414141;--cym-dock-text:#f3f3f3;--cym-dock-muted:#b4b4b4}
#bfj-cym-panel .bfj-cym-preview-dock{position:relative;margin:0 12px -28px;padding:4px 12px 28px;border:1px solid var(--cym-dock-line);border-radius:24px;background:var(--cym-dock-surface);color:var(--cym-dock-text)}
#bfj-cym-panel .bfj-cym-preview-dock+.bfj-composer-shell{position:relative;z-index:1;border:1px solid var(--cym-dock-line);border-radius:28px;background:var(--cym-input-surface);color:var(--cym-dock-text)}
#bfj-cym-panel .bfj-cym-preview-dock+.bfj-composer-shell textarea{background:transparent;color:var(--cym-dock-text);border-color:transparent;box-shadow:none}
#bfj-cym-panel .bfj-cym-preview-dock+.bfj-composer-shell textarea:focus{outline:none;box-shadow:none}
#bfj-cym-panel .bfj-cym-preview-dock+.bfj-composer-shell textarea::placeholder{color:var(--cym-dock-muted)}
#bfj-cym-panel .bfj-cym-preview-dock .bfj-review-player{background:transparent;margin:0;padding:4px 0;gap:8px}
#bfj-cym-panel .bfj-cym-preview-dock button,#bfj-cym-panel .bfj-cym-preview-dock a{color:var(--cym-dock-text);background:transparent;border-color:var(--cym-dock-line)}
#bfj-cym-panel .bfj-cym-preview-dock summary,#bfj-cym-panel .bfj-cym-preview-dock p{color:var(--cym-dock-muted)}
#bfj-cym-panel .bfj-cym-preview-dock input[type=range]{accent-color:#ededed}
#bfj-cym-panel .bfj-audio-dock{overflow:visible;max-height:none;padding-top:0;padding-bottom:24px}
#bfj-cym-panel .bfj-cym-preview-dock>header[hidden]{display:none}
#bfj-cym-panel .bfj-audio-dock>div{overflow:visible!important}
@media(max-width:600px){#bfj-cym-panel .bfj-audio-dock{margin-left:0;margin-right:0;padding-left:4px;padding-right:4px}}
#bfj-cym-panel .bfj-audio-dock>div>div{overflow:visible!important}
#bfj-cym-panel .bfj-cym-composer:has(.bfj-player-volume[open]){overflow:visible}

/* Keep the transcript close to its attached preview without shrinking controls. */
#bfj-cym-panel:has(.bfj-cym-preview-dock)>.bfj-companion-body{padding-bottom:4px}
#bfj-cym-panel>.bfj-cym-composer:has(.bfj-cym-preview-dock){padding-top:4px}

/* Fade the transcript edge into the dock; the mask never intercepts input. */
#bfj-cym-panel:has(.bfj-cym-preview-dock) .bfj-cym-history{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 20px),transparent 100%);padding-bottom:20px;box-sizing:border-box}
/* Pending messages share the neutral layered dock treatment. */
#bfj-cym-panel .bfj-cym-composer:has(.bfj-cym-queue:not([hidden])){--cym-dock-surface:#2d2d2d;--cym-input-surface:#353535;--cym-dock-line:#414141;--cym-dock-text:#f3f3f3;--cym-dock-muted:#b4b4b4;padding-top:4px}
#bfj-cym-panel:has(.bfj-cym-queue:not([hidden]))>.bfj-companion-body{padding-bottom:4px}
#bfj-cym-panel .bfj-cym-queue:not([hidden]){position:relative;margin:0 12px -28px;padding:4px 8px 28px;border:1px solid var(--cym-dock-line);border-radius:24px;background:var(--cym-dock-surface);color:var(--cym-dock-text);max-height:min(220px,30dvh);box-sizing:border-box}
#bfj-cym-panel .bfj-cym-queue:not([hidden])~.bfj-composer-shell{position:relative;z-index:1;border:1px solid var(--cym-dock-line);border-radius:28px;background:var(--cym-input-surface);color:var(--cym-dock-text)}
#bfj-cym-panel .bfj-cym-queue:not([hidden])~.bfj-composer-shell textarea{background:transparent;color:var(--cym-dock-text);border-color:transparent;box-shadow:none}
#bfj-cym-panel .bfj-cym-queue:not([hidden])~.bfj-composer-shell textarea::placeholder{color:var(--cym-dock-muted)}
#bfj-cym-panel .bfj-queued-row{height:auto;min-height:44px;gap:0}
#bfj-cym-panel .bfj-queued-row>.bfj-queue-preview{display:block;flex:1 1 0;min-width:0;width:0;max-width:100%;padding:0 4px;text-align:left;font-size:14px;color:#f3f3f3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent}
#bfj-cym-panel .bfj-queued-row>button,#bfj-cym-panel .bfj-queue-options>summary{color:#b4b4b4;border-radius:12px}
#bfj-cym-panel .bfj-queued-row>button:hover,#bfj-cym-panel .bfj-queue-options>summary:hover{background:#ffffff0d}
#bfj-cym-panel .bfj-queued-row>.bfj-queue-steer{display:flex;align-items:center;gap:4px;padding:0 8px}
#bfj-cym-panel .bfj-queue-files{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;overflow:hidden;border:1px solid #555;border-radius:5px;background:#242424}
#bfj-cym-panel .bfj-queue-files img{width:100%;height:100%;object-fit:cover}
#bfj-cym-panel .bfj-queue-popup{background:#2d2d2d;border-color:#494949;color:#f3f3f3;border-radius:18px;padding:6px;gap:0;box-shadow:0 8px 24px #0005}
#bfj-cym-panel .bfj-queue-popup>button{color:inherit;font-size:14px;gap:10px;border-radius:10px;min-height:44px}
#bfj-cym-panel .bfj-queue-popup>button:hover{background:#ffffff0d}
#bfj-cym-panel .bfj-queue-popup svg{width:18px;height:18px;flex:none;color:#b4b4b4}
#bfj-cym-panel .bfj-queue-full-preview{position:fixed;z-index:35;box-sizing:border-box;padding:16px 20px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:14px;background:#202020;color:#f3f3f3;border:1px solid #414141;border-radius:20px;box-shadow:0 8px 24px #0005}
#bfj-cym-panel .bfj-reorder-status:empty{display:none}
@media(max-width:420px){#bfj-cym-panel .bfj-queue-steer span{display:none}#bfj-cym-panel .bfj-cym-queue:not([hidden]){margin-inline:8px;padding-inline:4px}}
#bfj-cym-panel .bfj-queue-popup>.bfj-queue-reorder-start{border-top:1px solid #494949;border-radius:0;margin-top:4px} #bfj-cym-panel .bfj-queue-footer button{background:transparent;border:0;color:#b4b4b4}
/* Compact neutral composer and anchored menus, using existing shared controls. */
#bfj-cym-panel .bfj-composer-shell{background:#353535;border:1px solid #414141;border-radius:26px;padding:8px;box-shadow:none}
#bfj-cym-panel .bfj-composer-shell:focus-within{border-color:#606060}
#bfj-cym-panel .bfj-composer-shell textarea,#bfj-cym-panel .bfj-composer-shell textarea:focus{display:block;min-height:44px;padding:8px 8px 4px;background:transparent;color:#f3f3f3;border:0;border-radius:0;outline:none;box-shadow:none;font-size:16px;line-height:1.5}
#bfj-cym-panel .bfj-composer-shell textarea::placeholder{color:#a6a6a6}
#bfj-cym-panel .bfj-composer-actions{gap:2px;margin-top:4px}
#bfj-cym-panel .bfj-composer-actions>button{border:0;border-radius:50%;background:transparent;color:#ddd;width:44px;height:44px;min-width:44px;padding:8px}
#bfj-cym-panel .bfj-composer-actions>button:hover{background:#ffffff10}
#bfj-cym-panel .bfj-composer-actions>button[aria-pressed=true]{background:#ffffff0b;color:#eee}
#bfj-cym-panel .bfj-composer-actions>.bfj-send{background:#fff;color:#202020}
#bfj-cym-panel .bfj-composer-actions>.bfj-send:hover{background:#e5e5e5}
#bfj-cym-panel .bfj-composer-actions .bfj-context-chip button{background:transparent;border:0;color:#b4b4b4;font-size:12px}
#bfj-cym-panel .bfj-composer-menu,#bfj-cym-panel .bfj-conversation-menu{background:#2d2d2d;color:#f3f3f3;border:1px solid #454545;border-radius:20px;padding:6px;box-shadow:0 8px 24px #0005;gap:0}
#bfj-cym-panel .bfj-composer-menu>button,#bfj-cym-panel .bfj-conversation-menu>button{min-height:44px;padding:8px 12px;border-radius:12px;font-size:14px;line-height:1.3;color:inherit}
#bfj-cym-panel .bfj-composer-menu>button:hover,#bfj-cym-panel .bfj-conversation-menu>button:hover{background:#ffffff10}
#bfj-cym-panel .bfj-composer-menu svg,#bfj-cym-panel .bfj-conversation-menu svg{width:18px;height:18px;flex:none;color:#b4b4b4}
#bfj-cym-panel .bfj-composer-menu label{padding:0 12px;font-size:13px;gap:10px}
#bfj-cym-panel .bfj-composer-menu input{width:18px;height:18px;accent-color:#ddd}
#bfj-cym-panel .bfj-composer-menu :focus-visible,#bfj-cym-panel .bfj-composer-actions :focus-visible{outline:2px solid #aaa;outline-offset:-2px}
#bfj-cym-panel .bfj-composer-menu small{color:#b4b4b4;padding:4px 12px;display:block}
#bfj-cym-panel .bfj-composer-actions>.bfj-stop{background:#fff;color:#202020;display:grid;place-items:center}
/* Cym-wide neutral palette. Domain pages retain their own theme and status colors. */
.bfj-companion[id^="bfj-cym"],.bfj-cym-launcher{--surface:#202020;--surface-2:#303030;--bg:#181818;--ink:#f3f3f3;--muted:#b4b4b4;--line:#414141;--gold:#d4d4d4;--bfj-surface:#202020;--bfj-ink:#f3f3f3;--bfj-border:#414141;--bfj-accent:#d4d4d4;color-scheme:dark}
#bfj-cym-panel{background:#202020;color:#f3f3f3;border-color:#414141}
#bfj-cym-panel>header{background:#202020;padding:4px 8px;gap:2px;border-bottom:1px solid #333}
#bfj-cym-panel>header>button:hover,#bfj-cym-panel .bfj-conversation-options>summary:hover{background:#303030}
#bfj-cym-panel .bfj-conversation-title{color:#d0d0d0;font-size:13px}
#bfj-cym-panel>.bfj-companion-body{padding:12px 16px;gap:4px}
#bfj-cym-panel .bfj-cym-history{scrollbar-color:#666 transparent}
#bfj-cym-panel .bfj-cym-history article{margin-bottom:16px}
#bfj-cym-panel .bfj-cym-history .bfj-user-message{background:#303030;border-radius:20px;padding:10px 14px;margin-bottom:4px;max-width:85%}
#bfj-cym-panel .bfj-cym-history .bfj-copy{line-height:1.5}
#bfj-cym-panel .bfj-message-meta{gap:4px;margin-bottom:8px}
#bfj-cym-panel .bfj-cym-history .bfj-panel-actions{gap:4px}
#bfj-cym-panel .bfj-conversation-sidebar{inset-block-start:52px;background:#252525;border-color:#414141}
#bfj-cym-panel .bfj-conversation-sidebar .bfj-conversation-list{gap:2px}
#bfj-cym-panel .bfj-conversation-list [aria-current=true]{background:#353535;box-shadow:inset 2px 0 #aaa}
#bfj-cym-panel .bfj-inline-audio{padding:8px;margin:6px 0;border-color:#414141;background:#252525;gap:4px}
#bfj-cym-panel .bfj-inline-audio .bfj-review-player{background:#303030!important}
#bfj-cym-panel input[type=range]{accent-color:#ddd}
#bfj-cym-panel .agent-activity{color:#b4b4b4}
#bfj-cym-panel .bfj-latest{background:#2d2d2d;border-color:#484848;color:#eee}
#bfj-cym-panel :focus-visible{outline-color:#aaa}
@media(max-width:600px){#bfj-cym-panel>.bfj-companion-body{padding-inline:12px}#bfj-cym-panel .bfj-cym-history .bfj-user-message{max-width:92%}#bfj-cym-panel .bfj-conversation-title{font-size:13px}}
/* Complete the neutral theme across Cym-owned dialogs, including notifications. */
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel){--surface:#202020;--surface-2:#303030;--bg:#181818;--ink:#f3f3f3;--muted:#b4b4b4;--line:#414141;--gold:#d4d4d4;--bfj-surface:#202020;--bfj-ink:#f3f3f3;--bfj-border:#414141;--bfj-accent:#d4d4d4;color-scheme:dark;scrollbar-color:#666 transparent}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel){background:#202020;color:#f3f3f3;border:1px solid #414141;border-radius:18px;font-size:14px;line-height:1.5}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>header{padding:4px 8px 4px 12px;gap:8px;min-height:44px;border-color:#414141}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>header h2{font-size:15px;line-height:1.4;min-width:0;overflow-wrap:anywhere}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>header button{width:44px;height:44px;padding:0;flex:none;background:transparent;border:0;border-radius:10px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>.bfj-companion-body{padding:12px;gap:8px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) p{margin:4px 0 8px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) form{gap:8px;margin-top:8px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) :is(button,select,input,textarea){font-size:14px;border-color:#484848;background:#303030;color:#f3f3f3;border-radius:10px;box-sizing:border-box;max-width:100%}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) :is(button,select,input:not([type=checkbox]):not([type=radio])){min-height:44px;padding:8px 12px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel) :is(input[type=checkbox],input[type=radio],progress){accent-color:#d4d4d4}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel) :focus-visible{outline:2px solid #aaa;outline-offset:2px}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) article{margin:8px 0;padding:12px;border-color:#414141;background:#252525}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel) pre{font-size:12px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
#bfj-cym-panel .bfj-conversation-menu>.bfj-menu-danger{color:#ffaaa8}
.bfj-companion-actions [data-badge]{background:#ddd;color:#202020}
#bfj-cym-uploads .upload-dropzone{background:#252525;border-color:#555;padding:12px;gap:8px;min-height:0}
#bfj-cym-uploads .upload-list{gap:8px;margin:8px 0}
#bfj-cym-uploads .upload-submit-row,#bfj-cym-uploads .upload-actions{gap:8px;margin-top:8px}
#bfj-cym-assets :is(select,input){background:#303030;color:#f3f3f3;border:1px solid #484848}
#bfj-cym-action .agent-memory-list{gap:8px}
#bfj-notification-panel .bfj-unread{border-inline-start-color:#ccc}
@media(max-width:600px){:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel){border-radius:18px 18px 0 0}}
/* Hybrid Cym theme: BFJ conversation identity with compact neutral work surfaces. */
#bfj-cym-panel{--surface:#17121f;--surface-2:#302b37;--bg:#100c18;--ink:#f3f3f3;--muted:#c7c1ce;--line:#675873;--gold:#bca4f3;--bfj-surface:#17121f;--bfj-ink:#f3f3f3;--bfj-border:#675873;--bfj-accent:#bca4f3;background:#17121f;border-color:#675873}
#bfj-cym-panel>header{background:#17121f;border-bottom-color:#362c40}
#bfj-cym-panel>header>button:hover,#bfj-cym-panel .bfj-conversation-options>summary:hover{background:#302b37}
#bfj-cym-panel .bfj-cym-history .bfj-user-message{background:#302b37}
#bfj-cym-panel .bfj-conversation-sidebar{background:#1e1827;border-color:#4b4058}
#bfj-cym-panel .bfj-conversation-list [aria-current=true]{background:#302b37;box-shadow:inset 2px 0 #bca4f3}
#bfj-cym-panel .bfj-composer-actions>.bfj-send,#bfj-cym-panel .bfj-composer-actions>.bfj-stop{background:#bca4f3;color:#17121f}
#bfj-cym-panel .bfj-composer-actions>.bfj-send:hover,#bfj-cym-panel .bfj-composer-actions>.bfj-stop:hover{background:#cbb8f7}
#bfj-cym-panel .bfj-composer-actions>button[aria-pressed=true]{background:#bca4f318;color:#cbb8f7}
#bfj-cym-panel :focus-visible,#bfj-cym-panel .bfj-composer-menu :focus-visible,#bfj-cym-panel .bfj-composer-actions :focus-visible{outline-color:#bca4f3}
#bfj-cym-panel .bfj-composer-menu input,#bfj-cym-panel input[type=range]{accent-color:#bca4f3}
.bfj-cym-launcher{--surface:#17121f;--line:#675873;--gold:#bca4f3;--ink:#f3f3f3}
.bfj-companion-actions [data-badge]{background:#bca4f3;color:#17121f}
/* BFJ palette for compact Cym menus and secondary dialogs. */
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel){--surface:#17121f;--surface-2:#302b37;--bg:#100c18;--ink:#f3f3f3;--muted:#c7c1ce;--line:#675873;--gold:#bca4f3;--bfj-surface:#17121f;--bfj-ink:#f3f3f3;--bfj-border:#675873;--bfj-accent:#bca4f3;background:#17121f;border-color:#675873}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>header{border-color:#4b4058}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) :is(button,select,input,textarea){background:#302b37;border-color:#675873;color:#f3f3f3}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel)>header button{background:transparent}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel):not(#bfj-cym-panel) article{background:#241c2f;border-color:#4b4058}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel) :is(input[type=checkbox],input[type=radio],progress){accent-color:#bca4f3}
:is(.bfj-companion[id^="bfj-cym"],#bfj-notification-panel) :focus-visible{outline-color:#bca4f3}
#bfj-cym-panel :is(.bfj-composer-menu,.bfj-conversation-menu,.bfj-queue-popup,.bfj-queue-full-preview){background:#241c2f;border-color:#675873;color:#f3f3f3}
#bfj-cym-panel :is(.bfj-composer-menu,.bfj-conversation-menu,.bfj-queue-popup)>button:hover{background:#382d46}
#bfj-cym-panel :is(.bfj-composer-menu,.bfj-conversation-menu,.bfj-queue-popup) svg,#bfj-cym-panel .bfj-composer-menu small{color:#c7c1ce}
#bfj-cym-panel .bfj-queue-popup>.bfj-queue-reorder-start{border-top-color:#675873}
#bfj-cym-panel .bfj-player-volume label{background:#302b37;border-color:#675873;color:#f3f3f3}
#bfj-cym-uploads .upload-dropzone{background:#241c2f;border-color:#675873}
#bfj-cym-assets :is(select,input){background:#302b37;border-color:#675873}
#bfj-notification-panel .bfj-unread{border-inline-start-color:#bca4f3}

/* Floating companion glass; full-screen and secondary dialogs remain opaque. */
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){
 @media(min-width:601px) and (prefers-reduced-transparency:no-preference){
  #bfj-cym-panel:not(.bfj-expanded){background:transparent;isolation:isolate}
  #bfj-cym-panel:not(.bfj-expanded)::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(23,18,31,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none;z-index:-1}
  #bfj-cym-panel:not(.bfj-expanded)>header{background:transparent}
  #bfj-cym-panel:not(.bfj-expanded) .bfj-cym-history article{background:transparent}
  #bfj-cym-panel:not(.bfj-expanded) .bfj-cym-history .bfj-copy{background:#17121f}
  #bfj-cym-panel:not(.bfj-expanded) .bfj-cym-history .bfj-user-message{background:#302b37}
 }
}

/* Tight queued dock: one 44px control row with a shallow composer overlap. */
#bfj-cym-panel .bfj-cym-queue:not([hidden]){padding:0 4px 12px;margin-bottom:-20px;border-radius:20px;gap:0}
#bfj-cym-panel .bfj-cym-queue>.bfj-reorder-list{padding:0;margin:0;gap:0}
#bfj-cym-panel .bfj-queued-row{height:44px;min-height:44px;padding:0;margin:0;box-sizing:border-box}
#bfj-cym-panel .bfj-queue-options{margin:0;padding:0;height:44px}
#bfj-cym-panel .bfj-cym-queue .bfj-reorder-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}

#bfj-cym-panel .bfj-composer-actions>.bfj-stop{margin-inline-start:auto}

#bfj-cym-panel .bfj-queued-row>.bfj-queue-steer{width:44px;min-width:44px;height:44px;flex:0 0 44px;padding:0;justify-content:center}

/* Uniform queued action targets; message preview receives the remaining width. */
#bfj-cym-panel .bfj-queued-row{flex-wrap:nowrap;gap:0}
#bfj-cym-panel .bfj-queued-row>button:not(.bfj-queue-preview),#bfj-cym-panel .bfj-queue-options>summary{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;box-sizing:border-box}
#bfj-cym-panel .bfj-queued-row>button:not(.bfj-queue-preview) svg,#bfj-cym-panel .bfj-queue-options>summary svg{width:18px;height:18px;flex:none}

#bfj-cym-panel .bfj-composer-actions{gap:0}
#bfj-cym-panel .bfj-composer-actions>button{box-sizing:border-box;flex:0 0 44px;padding:0;display:flex;align-items:center;justify-content:center}
#bfj-cym-panel .bfj-composer-actions>button svg{width:18px;height:18px;flex:none}
#bfj-cym-panel .bfj-send:after{content:none}

/* Reorder feedback uses the shared list drag state, including pointer capture. */
#bfj-cym-panel .bfj-reorder-handle:not(:disabled),#bfj-cym-panel .bfj-reorder-handle:not(:disabled) *{cursor:grab}
#bfj-cym-panel .is-dragging .bfj-reorder-handle,#bfj-cym-panel .is-dragging .bfj-reorder-handle *,#bfj-cym-panel .bfj-reorder-handle:not(:disabled):active{cursor:grabbing}

/* Compact queue lift and insertion markers reuse BFJReorderList state. */
#bfj-cym-panel .bfj-queued-row.is-dragging{opacity:1;z-index:2;transform:translateY(-2px);background:#3b3545;border-radius:12px;box-shadow:0 6px 14px #0008,inset 0 0 0 1px #bca7f080}
#bfj-cym-panel .bfj-queued-row[data-drop]{box-shadow:none}
#bfj-cym-panel .bfj-queued-row[data-drop]::after{content:"";position:absolute;left:4px;right:4px;height:3px;border-radius:3px;background:#cbb8ff;box-shadow:0 0 0 1px #241c31;pointer-events:none;z-index:3}
#bfj-cym-panel .bfj-queued-row[data-drop=before]::after{top:0}
#bfj-cym-panel .bfj-queued-row[data-drop=after]::after{bottom:0}
#bfj-cym-panel .bfj-queued-row.is-dragging[data-drop]{box-shadow:0 6px 14px #0008,inset 0 0 0 1px #bca7f080}
@media(prefers-reduced-motion:reduce){#bfj-cym-panel .bfj-queued-row.is-dragging{transform:none}}

#bfj-cym-panel .bfj-reorder-list{position:relative}
#bfj-cym-panel .bfj-reorder-list[data-reorder-preview=valid]::after{content:"";position:absolute;top:var(--reorder-drop-top);left:4px;right:4px;height:3px;border-radius:3px;background:#cbb8ff;pointer-events:none;z-index:3}
#bfj-cym-panel .bfj-reorder-list[data-reorder-preview] .bfj-queued-row:not(.is-dragging){pointer-events:none}

#bfj-cym-panel .bfj-reorder-list[data-reorder-settling]{pointer-events:none}

/* Show the reserved row slot while adjacent queued messages slide aside. */
#bfj-cym-panel .bfj-reorder-list[data-reorder-preview=valid]::after{height:44px;box-sizing:border-box;border:1px dashed #bca7f066;border-radius:12px;background:#bca7f00a;z-index:0}
#bfj-cym-panel .bfj-reorder-list[data-reorder-preview] .bfj-queued-row{z-index:1}
#bfj-cym-panel .bfj-reorder-list[data-reorder-preview] .bfj-queued-row.is-dragging{z-index:2}

/* Anchor mobile dialogs to the visible viewport once; do not double-offset for the keyboard. */
@media(max-width:600px){
#bfj-cym-panel{top:var(--cym-viewport-top,0px);bottom:auto;height:var(--cym-viewport,100dvh);max-height:var(--cym-viewport,100dvh)}
#bfj-cym-panel.bfj-expanded{inset:var(--cym-viewport-top,0px) 0 auto;height:var(--cym-viewport,100dvh);max-height:var(--cym-viewport,100dvh);border-radius:0}
#bfj-cym-panel[data-keyboard-open]>.bfj-cym-composer{padding-bottom:8px}
}

/* Mobile is a solid edge-to-edge shell in either saved window mode. */
@media(max-width:600px){
#bfj-cym-panel,#bfj-cym-panel.bfj-expanded{position:fixed;inset:var(--cym-viewport-top,0px) 0 auto 0;width:100%;max-width:none;height:var(--cym-viewport,100dvh);min-height:0;max-height:var(--cym-viewport,100dvh);margin:0;padding:0;border:0;border-radius:0;background:#17121f;box-sizing:border-box}
#bfj-cym-panel::before{display:none}
#bfj-cym-panel>header{background:#17121f}
}
/* Dictation shares the compact composer controls; no recorded audio is saved locally. */
#bfj-cym-panel .bfj-composer-actions .bfj-dictate{margin-inline-start:auto}
#bfj-cym-panel .bfj-composer-actions .bfj-send,#bfj-cym-panel .bfj-composer-actions .bfj-stop{margin-inline-start:0}
#bfj-cym-panel .bfj-dictation-notice{margin:0;padding:4px 12px;font-size:.8rem;color:#c6c0cf}
#bfj-cym-panel .bfj-composer-actions [hidden]{display:none!important}
/* Active dictation uses the existing composer row, preserving the draft above it. */
#bfj-cym-panel .bfj-composer-actions.bfj-dictation-active>button:not(.bfj-dictation-cancel):not(.bfj-dictate):not(.bfj-stop),
#bfj-cym-panel .bfj-dictation-active>.bfj-cym-context{display:none!important}
#bfj-cym-panel .bfj-dictation-active{gap:8px;flex-wrap:nowrap}
#bfj-cym-panel .bfj-dictation-active .bfj-dictation-cancel{order:0;border-radius:50%;background:#414141}
#bfj-cym-panel .bfj-dictation-meter{order:1;display:flex;align-items:center;justify-content:space-between;gap:3px;flex:1 1 0;min-width:0;height:44px;overflow:hidden}
#bfj-cym-panel .bfj-dictation-meter i{display:block;flex:0 1 4px;min-width:2px;height:3px;border-radius:4px;background:#c6c0cf;opacity:.5}
#bfj-cym-panel .bfj-dictation-active .bfj-stop{order:2;border-radius:50%;background:#414141;color:#fff}
#bfj-cym-panel .bfj-dictation-active .bfj-dictate{order:3;margin-inline-start:0;border-radius:50%;background:#fff;color:#17121f}
#bfj-cym-panel .bfj-composer-shell:has(.bfj-dictation-active) .bfj-dictation-notice{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}
/* Email context is a compact removable chip above the draft, separate from page context. */
#bfj-cym-panel .bfj-email-context{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;margin:0 4px 4px;padding:0 0 0 12px;border-radius:16px;background:#403849;color:#e6dfef}
#bfj-cym-panel .bfj-email-context[hidden]{display:none}
#bfj-cym-panel .bfj-email-context>svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8}
#bfj-cym-panel .bfj-email-context-subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}
#bfj-cym-panel .bfj-email-context>button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:inherit}
#bfj-cym-panel .bfj-email-context>button svg{width:18px;height:18px}
#bfj-cym-panel .bfj-email-context>button:hover{background:#51475d}
/* Compact desktop draft text; retain 16px inputs on phones to avoid focus zoom. */
#bfj-cym-panel .bfj-composer-shell textarea,#bfj-cym-panel .bfj-composer-shell textarea:focus{font-size:14px;line-height:1.45;max-height:min(220px,40dvh)}
@media(max-width:600px){#bfj-cym-panel .bfj-composer-shell textarea,#bfj-cym-panel .bfj-composer-shell textarea:focus{font-size:16px}}
/* Unified context stack uses the existing context actions and preview dialogs. */
#bfj-cym-panel .bfj-context-stack{display:flex;flex-direction:column;gap:4px;max-height:min(200px,28dvh);overflow:auto;margin:0 4px 4px;min-width:0}
#bfj-cym-panel .bfj-context-stack:has(>.bfj-cym-context[hidden]):has(>.bfj-email-context[hidden]):has(>.bfj-attachment-previews[hidden]){display:none}
#bfj-cym-panel .bfj-context-stack>.bfj-cym-context,#bfj-cym-panel .bfj-context-stack>.bfj-email-context,#bfj-cym-panel .bfj-context-stack>.bfj-attachment-previews{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;background:none;border:0;border-radius:0;max-width:100%;width:100%;min-width:0}
#bfj-cym-panel .bfj-context-stack .bfj-secondary{display:block;min-width:0;width:100%}
#bfj-cym-panel .bfj-stacked-context-chip{display:flex;align-items:center;gap:8px;min-width:0;border-radius:16px;background:#403849;color:#e6dfef}
#bfj-cym-panel .bfj-stacked-context-chip button{display:flex;align-items:center;gap:8px;min-height:44px;height:44px;border:0;background:transparent;color:inherit;margin:0;font-size:13px;padding:0 12px;min-width:0;border-radius:16px}
#bfj-cym-panel .bfj-stacked-context-chip .bfj-context-detail{flex:1;overflow:hidden;text-align:left}
#bfj-cym-panel .bfj-context-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#bfj-cym-panel .bfj-stacked-context-chip svg{width:18px;height:18px;flex:0 0 18px}
#bfj-cym-panel .bfj-stacked-context-chip .bfj-context-remove{flex:0 0 44px;width:44px;padding:0;justify-content:center;border-radius:50%}
#bfj-cym-panel .bfj-stacked-context-chip button:hover{background:#51475d}
#bfj-cym-panel .bfj-context-stack .bfj-stacked-context-chip{width:100%;max-width:100%;box-sizing:border-box;flex-shrink:0}
#bfj-cym-panel .bfj-context-stack>.bfj-attachment-previews,#bfj-cym-panel .bfj-context-stack>.bfj-email-context{align-items:stretch}
/* Context circles follow the suggestion control; one expanded pill at a time. */
#bfj-cym-panel .bfj-context-stack[hidden]{display:none!important}
#bfj-cym-panel .bfj-context-circles{display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:thin}
#bfj-cym-panel .bfj-context-circle{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#403849;color:#e6dfef}
#bfj-cym-panel .bfj-context-pill{display:flex;align-items:center;flex:1 0 160px;min-width:0;max-width:100%;height:44px;border-radius:22px;background:#403849;color:#e6dfef;overflow:hidden}
#bfj-cym-panel .bfj-context-pill button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:inherit;padding:0;min-height:44px;height:44px;flex:0 0 44px;margin:0}
#bfj-cym-panel .bfj-context-pill .bfj-context-pill-detail{flex:1;min-width:0;padding-left:12px;justify-content:flex-start;font-size:13px}
#bfj-cym-panel .bfj-context-pill-detail span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#bfj-cym-panel :is(.bfj-context-pill,.bfj-context-circle) svg{width:18px;height:18px;flex:0 0 18px}
#bfj-cym-panel .bfj-context-expanded{margin:4px 0 8px;min-width:0}
#bfj-cym-panel .bfj-dictation-active .bfj-context-circles{display:none}
#bfj-cym-panel .bfj-composer-shell:has(.bfj-dictation-active) .bfj-context-expanded{display:none}
#bfj-cym-panel .bfj-agent-asset-card{width:min(100%,360px);margin:12px 0;min-width:0;background:transparent}
#bfj-cym-panel .bfj-agent-asset-preview{display:flex;align-items:center;justify-content:center;gap:8px;min-height:100px;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#302b37}
#bfj-cym-panel .bfj-agent-asset-preview img{display:block;width:100%;max-height:300px;object-fit:contain}
#bfj-cym-panel .bfj-agent-asset-name{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:6px 0 0}
#bfj-cym-panel .bfj-agent-asset-card>small{display:block;font-size:12px;color:#c6c0cf}
#bfj-cym-panel .bfj-agent-asset-actions{display:flex;gap:4px;flex-wrap:wrap}
#bfj-cym-panel .bfj-agent-asset-actions :is(button,a){display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#c6c0cf;border-radius:50%}
#bfj-cym-panel .bfj-agent-asset-actions :is(button,a):hover{background:#403849;color:#fff}
#bfj-cym-panel .bfj-agent-asset-actions svg{width:18px;height:18px}

#bfj-cym-panel .bfj-agent-asset-actions{gap:8px;margin-top:8px}
#bfj-cym-panel .bfj-agent-asset-card .bfj-inline-audio>strong{display:none}

#bfj-cym-panel .bfj-agent-asset-preview.bfj-asset-image-slot{height:240px;max-height:35dvh;position:relative}
#bfj-cym-panel .bfj-asset-image-slot img{height:100%;width:100%;object-fit:contain}
#bfj-cym-panel .bfj-asset-image-slot [hidden]{display:none!important}
#bfj-cym-panel .bfj-asset-image-state{font-size:13px;color:#c6c0cf;padding:16px;text-align:center}

#bfj-cym-panel .bfj-cym-history .bfj-copy{font-size:var(--cym-message-font-size,14px);line-height:1.55}

/* Keep dismiss and transport controls inside the floating composer at every viewport. */
#bfj-cym-panel .bfj-audio-dock .bfj-player-compact{grid-template-columns:44px minmax(0,1fr) auto 44px 44px;gap:0!important;max-width:100%}
#bfj-cym-panel .bfj-audio-dock .bfj-player-title{grid-row:1;grid-column:2;min-width:0}
#bfj-cym-panel .bfj-audio-dock .bfj-player-compact>button:first-child{grid-row:1;grid-column:1}
#bfj-cym-panel .bfj-audio-dock .bfj-player-actions{grid-row:1;grid-column:3}
#bfj-cym-panel .bfj-audio-dock .bfj-player-volume{grid-row:1;grid-column:4}
#bfj-cym-panel .bfj-audio-dock [data-close-preview]{grid-row:1;grid-column:5}
#bfj-cym-panel .bfj-audio-dock .bfj-player-seek{grid-row:2;grid-column:1/4;height:24px}
#bfj-cym-panel .bfj-audio-dock .bfj-player-clock{grid-row:2;grid-column:4/6;text-align:right;font-size:11px}
#bfj-cym-panel .bfj-composer-shell:focus-within{border-color:#8d7bac}
/* Runtime capability inspection: reuse the composer popover and shared dialog. */
.bfj-capability-view{font-size:14px;line-height:1.5;min-width:0}
.bfj-capability-view p{margin:8px 0;overflow-wrap:anywhere}
.bfj-capability-section{margin:8px 0;min-width:0}
.bfj-capability-section>summary{min-height:44px;display:list-item;box-sizing:border-box;padding:12px 8px;cursor:pointer;font-size:14px;line-height:20px;font-weight:600;overflow-wrap:anywhere}
.bfj-capability-section[open]>summary{margin-bottom:12px}
.bfj-capability-section>p,.bfj-capability-section>.bfj-capability-section{margin-left:16px;margin-right:8px}
.bfj-capability-note{color:var(--bfj-secondary,#c7c1ce);font-size:13px}
.bfj-capability-code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:12px;max-width:100%}
#bfj-cym-panel .bfj-composer-menu>strong{display:block;padding:8px 12px;font-size:14px}
#bfj-cym-panel .bfj-composer-menu>.bfj-capability-note{margin:8px 12px}
.bfj-capability-section>button{min-height:44px;max-width:100%;white-space:normal}

/* The mobile modal must also cover browser keyboard transition/pan regions. */
@media(max-width:600px){
 #bfj-cym-panel::backdrop{background:#17121f;backdrop-filter:none;-webkit-backdrop-filter:none;}
 #bfj-cym-panel[open]{overflow:hidden;overscroll-behavior:none;}
 #bfj-cym-panel>.bfj-companion-body{min-height:0;}
}

/* Android resizes the layout viewport itself. Do not subtract visual keyboard
   dimensions or apply visual pan offsets a second time. */
@media(max-width:600px){
 #bfj-cym-panel[data-native-keyboard-layout],#bfj-cym-panel[data-native-keyboard-layout].bfj-expanded{inset:0;height:100%;max-height:100%;}
 #bfj-cym-panel[data-native-keyboard-layout]>.bfj-cym-composer{padding-bottom:8px;}
}

/* Only conversation history scrolls. Hidden overflow allowed modal focus restoration
   to scroll this outer flex body, leaving a blank region above the composer. */
#bfj-cym-panel>.bfj-companion-body{overflow:clip;}

/* Jump-to-latest preserves navigation while reflecting actual execution state. */
#bfj-cym-panel .bfj-latest-working{display:none;align-items:center;justify-content:center;gap:4px}#bfj-cym-panel .bfj-latest.is-working:after{content:none}#bfj-cym-panel .bfj-latest.is-working .bfj-latest-working{display:flex}#bfj-cym-panel .bfj-latest-working>span{width:5px;height:5px;border-radius:50%;background:currentColor;animation:cym-latest-pulse 1.4s ease-in-out infinite}#bfj-cym-panel .bfj-latest-working>span:nth-child(2){animation-delay:.16s}#bfj-cym-panel .bfj-latest-working>span:nth-child(3){animation-delay:.32s}@keyframes cym-latest-pulse{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){#bfj-cym-panel .bfj-latest-working>span{animation:none;opacity:1}}

#bfj-cym-panel .bfj-cym-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;background:transparent;border:0;border-radius:10px}#bfj-cym-panel .bfj-cym-notifications [data-badge]{position:absolute;top:0;right:0;background:var(--bfj-accent);color:#17121f;font:bold 10px system-ui;min-width:14px;border-radius:10px;padding:1px 3px}#bfj-notification-panel{width:min(640px,calc(100vw - 32px))}

/* Conversation menu uses available space; native scrolling remains keyboard/touch accessible. */
#bfj-cym-panel .bfj-conversation-menu{max-height:calc(100dvh - 100px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--bfj-border) transparent}
#bfj-cym-panel .bfj-conversation-menu>hr{display:block;width:auto;min-width:0;height:0;margin:8px 6px;border:0;border-top:1px solid var(--bfj-border);justify-self:stretch}
#bfj-cym-panel .bfj-conversation-menu::-webkit-scrollbar{width:6px}
#bfj-cym-panel .bfj-conversation-menu::-webkit-scrollbar-track{background:transparent}
#bfj-cym-panel .bfj-conversation-menu::-webkit-scrollbar-thumb{background:var(--bfj-border);border-radius:6px}
#bfj-cym-panel .bfj-conversation-menu::-webkit-scrollbar-button{display:none;width:0;height:0}
