.connect-ai { display:grid; gap:16px; min-width:0; padding:16px; }
.connect-ai .md3-card { min-width:0; padding:16px; }
.connect-ai .ai-clients { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:16px; }
.connect-ai .ai-client { display:block; overflow-wrap:anywhere; }
.connect-ai .ai-client > summary h2 { display:inline; margin:0; }
.connect-ai .ai-client-body { display:grid; gap:8px; }
.connect-ai .ai-client:not([open]) .ai-client-body { display:none; }
.connect-ai .ai-connections-jump { display:none; }
.connect-ai .ai-client .md3-button { width:100%; }
.connect-ai .ai-client ol { padding-inline-start:24px; margin:8px 0; }
.connect-ai .ai-client li { margin-block:8px; }
.connect-ai > details > .md3-card { margin-block:16px; }
.connect-ai .ai-health { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:8px 16px; padding-block:12px; overflow-wrap:anywhere; }
.connect-ai .ai-health dt { color:var(--md-sys-color-on-surface-variant); }
.connect-ai .ai-health dd { margin:0; color:var(--md-sys-color-on-surface); }
.connect-ai .ai-test-success { padding:12px; border-radius:var(--md-sys-shape-corner-small); background:var(--md-sys-color-success-container); color:var(--md-sys-color-success); }
.connect-ai h2 { font-size:var(--md-sys-typescale-title-medium-size); margin:0 0 12px; }
.connect-ai p { color:var(--md-sys-color-on-surface-variant); }
.connect-ai label { display:grid; gap:8px; margin:12px 0; }
.connect-ai .md3-text-field { min-width:0; width:100%; box-sizing:border-box; min-height:48px; font-size:16px; }
.connect-ai pre, .connect-ai code { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
.connect-ai pre { padding:12px; border-radius:var(--md-sys-shape-corner-small); background:var(--md-sys-color-surface-container-high); color:var(--md-sys-color-on-surface); }
.connect-ai .ai-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:12px 0; }
.connect-ai .ai-row > span { flex:1 1 16rem; min-width:0; overflow-wrap:anywhere; }
.connect-ai [role="alert"] { color:var(--md-sys-color-error); }
.connect-ai :focus-visible { outline:3px solid var(--md-sys-color-primary); outline-offset:3px; }
.ai-act-confirm { position:fixed; margin:auto auto 0; width:100%; max-width:100%; max-height:85dvh; box-sizing:border-box; padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
.ai-act-confirm::before { content:""; display:block; width:32px; height:4px; margin:0 auto 16px; border-radius:var(--md-sys-shape-corner-full); background:var(--md-sys-color-on-surface-variant); }
.ai-act-confirm::backdrop { background:var(--md-sys-color-scrim); }
.ai-act-confirm .md3-button { min-height:48px; margin-block:4px; }
.connect-ai .ai-act-choice { display:flex; align-items:center; min-height:48px; }
.connect-ai .ai-act-choice input { width:20px; height:20px; flex:0 0 20px; accent-color:var(--md-sys-color-primary); }
.connect-ai .ai-act-switch { display:inline-flex; align-items:center; gap:12px; min-width:48px; min-height:48px; max-width:100%; padding:8px; border:0; border-radius:var(--md-sys-shape-corner-small); background:transparent; color:var(--md-sys-color-on-surface); font:inherit; text-align:left; cursor:pointer; }
.connect-ai .ai-switch-track { position:relative; flex:0 0 52px; width:52px; height:32px; box-sizing:border-box; border-width:2px; border-style:solid; border-color:var(--md-sys-color-outline); border-radius:var(--md-sys-shape-corner-full); background:var(--md-sys-color-surface-container-highest); }
.connect-ai .ai-switch-thumb { position:absolute; width:16px; height:16px; top:6px; left:6px; border-radius:var(--md-sys-shape-corner-full); background:var(--md-sys-color-outline); }
.connect-ai .ai-act-switch[aria-checked="true"] .ai-switch-track { background:var(--md-sys-color-primary); border-color:var(--md-sys-color-primary); }
.connect-ai .ai-act-switch[aria-checked="true"] .ai-switch-thumb { width:24px; height:24px; top:2px; left:22px; background:var(--md-sys-color-on-primary); }
.connect-ai .ai-act-switch:hover { background:color-mix(in srgb,var(--md-sys-color-on-surface) calc(var(--md-sys-state-hover-opacity) * 100%),transparent); }
.connect-ai .ai-act-switch:active { background:color-mix(in srgb,var(--md-sys-color-on-surface) calc(var(--md-sys-state-pressed-opacity) * 100%),transparent); }
.connect-ai .ai-act-switch:disabled { opacity:var(--md-sys-state-disabled-opacity); cursor:wait; }
.connect-ai summary { min-height:48px; align-content:center; cursor:pointer; overflow-wrap:anywhere; }
.connect-ai .ai-activity-list { padding-left:24px; }
.connect-ai .ai-activity-list li { padding-block:16px; overflow-wrap:anywhere; }
.connect-ai .md3-button { min-height:48px; min-width:48px; max-width:100%; white-space:normal; text-align:center; }
@media (min-width:600px) {
  .connect-ai .ai-client > summary { list-style:none; }
  .connect-ai .ai-client > summary::-webkit-details-marker { display:none; }
  .ai-act-confirm { margin:auto; max-width:560px; border-radius:var(--md-sys-shape-corner-extra-large); }
  .ai-act-confirm::before { display:none; }
}
@media (max-width:599px) {
  .connect-ai .ai-client { padding-block:0; }
  .connect-ai .ai-client-body { padding-bottom:16px; }
  .connect-ai .ai-connections-jump { display:inline-flex; }
}
