#connection-panel { padding: 12px; border-bottom: 1px solid #444; }
#connection-panel summary { cursor: pointer; font-weight: bold; margin-bottom: 10px; }
#connection-list { max-height: 240px; overflow: auto; }
#connection-list button { display: grid; grid-template-columns: 52px minmax(72px, 1fr) 54px 44px 92px; gap: 6px; width: 100%; margin: 5px 0; text-align: left; align-items: center; }
#connection-list button span { min-width: 0; overflow-wrap: anywhere; }
#connection-list button[aria-current="true"] { border-color: #64d9ff; background: #102734; color: #eef6ff; }
#connection-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
#connection-editor.hidden { display: none; }
#connection-editor > label, #connection-editor fieldset { display: flex; flex-direction: column; min-width: 0; }
#connection-editor > label, #connection-editor fieldset, #connection-number, #connection-source { grid-column: 1 / -1; }
#connection-editor input, #connection-editor select, #connection-editor textarea { width: 100%; min-width: 0; }
#connection-editor textarea { resize: vertical; }
#connection-editor fieldset { border: 1px solid #465261; padding: 7px; }
#connection-editor fieldset label { display: grid; grid-template-columns: auto 1fr; gap: 7px; align-items: start; margin: 4px 0; }
#connection-editor fieldset label span { min-width: 0; overflow-wrap: anywhere; }
#connection-editor fieldset input { width: auto; margin-top: 3px; }
#connection-source { overflow-wrap: anywhere; color: #c5cbd3; font-size: 12px; }
.connection-candidate-note { margin: 0 0 5px; color: #e6bd68; font-size: 11px; }
.connection-empty { color: #969da7; font-size: 12px; }
.connection-ai { grid-column: 1 / -1; border: 1px solid #465261; padding: 8px; overflow-wrap: anywhere; }
.connection-ai:empty { display: none; }
.connection-ai label { display: flex; align-items: start; gap: 8px; margin: 6px 0; }
.connection-ai input[type="checkbox"] { width: auto; flex: 0 0 auto; }
.connection-ai details { max-height: 240px; overflow: auto; }
.connection-ai pre { white-space: pre-wrap; font-size: 12px; }
.connection-ai button { margin: 4px; }
@media (max-width: 760px) {
  #connection-list button { grid-template-columns: 48px minmax(0, 1fr) minmax(0, 90px); }
  #connection-list button span:nth-child(3), #connection-list button span:nth-child(4) { display: none; }
}
.connection-ai-badge { display: inline-block; margin: 2px 5px 4px 0; padding: 2px 6px; border: 1px solid currentColor; border-radius: 3px; font-size: 11px; }
