.hub-ai-pane{display:flex;flex-direction:column;gap:12px;min-width:0}.hub-ai-pane-head,.hub-ai-actions,.hub-ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hub-ai-pane-head .pill{margin-right:auto}.hub-ai-pane .button{white-space:normal}.hub-ai-pane .field{margin:0}.hub-ai-pane :is(textarea,select){width:100%;min-width:0}.hub-ai-pane textarea{resize:vertical}.hub-ai-context{font-size:12px;color:var(--mint);border:1px solid var(--border);border-radius:8px;padding:10px;margin:0}.hub-ai-conversation{display:flex;flex-direction:column;gap:12px;max-height:45dvh;overflow-y:auto;overscroll-behavior:contain;min-height:80px}.hub-ai-turn{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;overflow-wrap:anywhere}.hub-ai-turn p{white-space:pre-wrap;margin:0 0 12px;font-size:13px;line-height:1.65}.hub-ai-question-text{color:var(--mint);font-weight:650}.hub-ai-answer{color:var(--text)}.hub-ai-receipt,.hub-ai-status{font-size:11px;line-height:1.65;color:var(--muted)}.hub-ai-receipt{display:block;margin-top:12px}.hub-ai-providers{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:12px}.hub-ai-providers summary{cursor:pointer;color:var(--text);min-height:32px}.hub-ai-providers .button{margin:4px 0;display:block;width:100%;text-align:left}.hub-ai-expanded{width:min(960px,calc(100% - 24px));padding:20px}.hub-ai-expanded .hub-ai-pane-head{display:none}.hub-ai-expanded .hub-ai-conversation{max-height:40dvh}.hub-ai-expanded .hub-ai-query-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hub-ai-query-form>label:first-child,.hub-ai-query-form>.small-note{grid-column:1/-1}.hub-ai-query-form{display:flex;flex-direction:column;gap:10px}.hub-ai-expanded .hub-ai-query-form>button{justify-self:end;grid-column:1/-1}.hub-ai-tools{margin-top:16px}.hub-ai-tools>.button{margin:6px}.hub-ai-pane :is([hidden],.hidden),.hub-ai-expanded [hidden]{display:none!important}@media(max-width:600px){.hub-ai-expanded .hub-ai-query-form{display:flex}.hub-ai-expanded{padding:16px}.hub-ai-tools .field-grid{grid-template-columns:1fr}}

.hub-ai-conversation:focus-visible{outline:2px solid var(--hub-focus,var(--mint));outline-offset:3px}
@media(max-width:700px){.hub-ai-providers summary{min-height:44px}}

/* A persistent workspace companion; only the conversation scrolls. */
body.hub-shell.hub-assistant-docked { --hub-rail-width: clamp(280px, var(--hub-personal-rail-width, 320px), 28vw); }
body.hub-shell.hub-assistant-docked .hub-ai-rail {
  display: flex; width: var(--hub-rail-width); height: 100dvh; padding: 0;
  overflow: visible; background: var(--bg); border-color: var(--border); z-index: 10;
}
.hub-assistant-docked .hub-ai-slot { display: flex; width: 100%; min-width: 0; min-height: 0; }
.hub-assistant-docked .hub-ai-pane { width: 100%; height: 100%; min-height: 0; gap: 0; padding: 0 16px 16px; }
.hub-assistant-docked .hub-ai-pane-head { position: relative; flex-wrap: nowrap; gap: 4px; flex: none; min-height: 64px; }
.hub-assistant-docked .hub-ai-pane-head h2 { flex: 1; min-width: 0; margin: 0; font-size: 15px; font-weight: 650; letter-spacing: -.2px; }
.hub-assistant-docked .hub-ai-icon-button { display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--muted); cursor: pointer; font-size: 24px; list-style: none; }
.hub-assistant-docked .hub-ai-icon-button::-webkit-details-marker { display: none; }
.hub-assistant-docked .hub-ai-icon-button:hover { background: var(--surface-2); color: var(--text); }
.hub-assistant-docked .hub-ai-close { display: none; }
.hub-assistant-docked .hub-ai-context { flex: none; margin: 0 0 12px; padding: 0 2px; border: 0; font-size: 11px; line-height: 1.5; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hub-assistant-docked .hub-ai-conversation { flex: 1; min-height: 0; max-height: none; padding: 4px 2px 16px; gap: 16px; scrollbar-width: thin; }
.hub-assistant-docked .hub-ai-empty { margin: auto 0; padding: 16px 8px; color: var(--muted); text-align: center; font-size: 13px; line-height: 1.7; }
.hub-assistant-docked .hub-ai-turn { padding: 12px 0; border: 0; border-radius: 0; background: transparent; }
.hub-assistant-docked .hub-ai-turn + .hub-ai-turn { border-top: 1px solid var(--border); }
.hub-assistant-docked .hub-ai-turn p { font-size: 13px; line-height: 1.65; }
.hub-assistant-docked .hub-ai-question-text { background: var(--surface); padding: 10px 12px; border-radius: 12px; font-weight: 500; }
.hub-assistant-docked .hub-ai-actions { gap: 6px; }
.hub-assistant-docked .hub-ai-actions .button { font-size: 11px; padding: 6px 8px; }
.hub-assistant-docked .hub-ai-receipt { font-size: 11px; margin-top: 10px; }
.hub-assistant-docked .hub-ai-status { flex: none; margin: 0 0 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.hub-assistant-docked .hub-ai-status:empty { display: none; }
.hub-assistant-docked .hub-ai-query-form { position: relative; flex: none; display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px; }
.hub-assistant-docked .hub-ai-composer { position: relative; width: 100%; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.hub-assistant-docked .hub-ai-message-field { display: block; }
.hub-assistant-docked .hub-ai-message-field textarea { display: block; min-height: 84px; max-height: 128px; padding: 12px 54px 12px 12px; border: 0; border-radius: 14px; background: transparent; color: var(--text); resize: none; font-size: 13px; line-height: 1.5; }
.hub-assistant-docked .hub-ai-message-field textarea:focus-visible { outline-offset: 2px; }
.hub-assistant-docked .hub-ai-send { position: absolute; right: 6px; bottom: 6px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: var(--mint); color: var(--hub-on-accent); cursor: pointer; }
.hub-assistant-docked .hub-ai-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hub-assistant-docked .hub-ai-send:disabled { background: var(--surface-2); color: var(--faint); cursor: default; }
.hub-assistant-docked .hub-ai-local-note { margin-inline-start: auto; align-self: center; padding-inline: 4px; font-size: 11px; color: var(--faint); }
.hub-assistant-docked .hub-ai-query-options > summary { display: flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 11px; cursor: pointer; list-style: none; }
.hub-assistant-docked .hub-ai-options-panel, .hub-assistant-docked .hub-ai-query-options-panel { position: absolute; inset-inline: 0; max-height: calc(var(--hub-ai-visible-height, 100dvh) - 140px); overflow-y: auto; overscroll-behavior: contain; padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 12px 30px #0003; z-index: 15; }
.hub-assistant-docked .hub-ai-options-panel { top: 58px; display: flex; flex-direction: column; gap: 8px; }
.hub-assistant-docked .hub-ai-query-options-panel { bottom: 46px; display: flex; flex-direction: column; gap: 12px; }
.hub-assistant-docked .hub-ai-options:not([open]) .hub-ai-options-panel, .hub-assistant-docked .hub-ai-query-options:not([open]) .hub-ai-query-options-panel { display: none; }
.hub-assistant-docked .hub-ai-options-panel .button { min-height: 44px; width: 100%; text-align: left; }
.hub-assistant-docked .hub-ai-options-panel :is(summary, .hub-ai-providers summary) { min-height: 44px; padding: 10px 2px; font-size: 12px; color: var(--text); cursor: pointer; }
.hub-assistant-docked .hub-ai-providers { padding: 0; border: 0; font-size: 12px; }
.hub-assistant-docked .hub-ai-suggestions { flex-direction: column; align-items: stretch; }
.hub-assistant-docked .hub-ai-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; }
.hub-assistant-docked .hub-ai-launcher, .hub-assistant-docked .hub-ai-backdrop { display: none; }
.hub-assistant-docked .hub-ai-dialog.hub-ai-expanded { width: min(960px, calc(100% - 24px)); }
.hub-assistant-docked .hub-ai-dialog.hub-ai-expanded > .hub-ai-tools { margin-top: 16px; }
@media (max-width: 1279px) {
  body.hub-shell.hub-assistant-docked { --hub-rail-width: 60px; }
  body.hub-shell.hub-assistant-docked .hub-ai-rail { display: none; width: min(380px, calc(100vw - 24px)); height: var(--hub-ai-visible-height, 100dvh); top: var(--hub-ai-visible-top, 0px); bottom: auto; z-index: 40; }
  body.hub-shell.hub-assistant-docked.hub-ai-open { overflow: hidden; }
  body.hub-shell.hub-assistant-docked.hub-ai-open .hub-ai-rail { display: flex; box-shadow: -12px 0 40px #0003; }
  .hub-assistant-docked .hub-ai-launcher { position: fixed; display: flex; align-items: center; justify-content: center; top: 16px; right: 8px; width: 44px; min-height: 44px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--mint); font-size: 0; z-index: 12; }
  .hub-assistant-docked .hub-ai-launcher::before { content: "IA"; font-size: 13px; font-weight: 650; }
  .hub-assistant-docked .hub-ai-close { display: flex; }
  .hub-assistant-docked.hub-ai-open .hub-ai-backdrop { display: block; position: fixed; inset: 0; padding: 0; border: 0; background: #0007; z-index: 39; }
}
@media (max-width: 760px) {
  body.hub-shell.hub-assistant-docked { --hub-rail-width: 0px; }
  .hub-assistant-docked .page-shell { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  .hub-assistant-docked .hub-ai-launcher { top: auto; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); right: 12px; width: auto; gap: 8px; min-height: 44px; padding: 10px 14px; font-size: 12px; box-shadow: 0 4px 16px #0002; }
  .hub-assistant-docked .hub-ai-launcher::before { content: "✧"; font-size: 18px; }
  .hub-assistant-docked .hub-ai-message-field textarea { font-size: 16px; }
}
@media (max-height: 480px) {
  .hub-assistant-docked .hub-ai-pane { padding: 0 12px 8px; }
  .hub-assistant-docked .hub-ai-pane-head { min-height: 48px; }
  .hub-assistant-docked .hub-ai-context { margin-bottom: 4px; }
  .hub-assistant-docked .hub-ai-message-field textarea { min-height: 64px; }
  .hub-assistant-docked .hub-ai-status { margin-bottom: 4px; padding: 4px 8px; }
  .hub-assistant-docked .hub-ai-options-panel { top: 46px; }
}
@media (prefers-reduced-motion: no-preference) { .hub-assistant-docked :is(.hub-ai-icon-button, .hub-ai-launcher, .hub-ai-send) { transition: background 120ms ease, color 120ms ease; } }
body.hub-assistant-docked[data-hub-reduced-motion=true] :is(.hub-ai-icon-button, .hub-ai-launcher, .hub-ai-send) { transition: none; }
@media (forced-colors: active) { .hub-assistant-docked :is(.hub-ai-icon-button, .hub-ai-send, .hub-ai-launcher) { border: 1px solid ButtonText; } }
