.ide-page{--cn-bg:#fff;--cn-soft:#f6f8fb;--cn-line:#e1e7ef;--cn-ink:#172a43;--cn-muted:#6f829b;--cn-blue:#075cba;--cn-tint:#edf5ff}
.ide-page[data-theme=dark]{--cn-bg:#0c0c0d;--cn-soft:#141416;--cn-line:#2a2b2f;--cn-ink:#edf0f5;--cn-muted:#99a3b4;--cn-blue:#96c8ff;--cn-tint:#15202d}
.composer-context-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1}
.composer-context-actions .add-context{font-size:.875rem;min-height:38px;flex-shrink:0}
.composer-context-actions .context-chips{flex:1 1 170px;min-width:0;max-width:100%;align-items:center;gap:7px;padding:3px 2px;scrollbar-width:thin;scrollbar-color:var(--cn-line) transparent}
.connections-trigger svg{width:17px;height:17px;flex-shrink:0}
.connections-composer-error{display:flex;justify-content:space-between;gap:10px;padding:8px 4px;color:var(--cn-muted);font:400 .875rem/1.5 var(--sans)}.connections-composer-error button{border:0;background:none;color:var(--cn-blue);font:inherit;cursor:pointer}
.connections-trigger #connections-count{font-size:.75rem;min-width:18px;border-radius:4px;background:var(--cn-tint);color:var(--cn-blue);padding:1px 4px}
.composer-context-actions .context-tab{display:inline-flex;align-items:center;flex-shrink:0;max-width:min(250px,100%);padding:0;border:1px solid var(--cn-line);border-radius:8px;background:var(--cn-soft);color:var(--cn-ink);overflow:hidden;white-space:nowrap;transition:border-color .15s,background .15s}
.composer-context-actions .context-tab:hover,.composer-context-actions .context-tab:focus-within{border-color:var(--cn-muted)}
.composer-context-actions .connection-chip{background:var(--cn-tint);color:var(--cn-blue)}
.context-tab button{border:0;background:transparent;color:inherit;font:400 .875rem/1.4 var(--sans);cursor:pointer;min-height:34px;padding:6px 9px}
.context-tab .context-tab-label{display:flex;align-items:center;gap:7px;min-width:0;text-align:left;padding-right:4px}
.context-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.context-tab-label svg{width:15px;height:15px;flex-shrink:0;stroke:var(--cn-blue);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.context-tab button:hover{background:var(--cn-line)}
.context-tab .context-tab-remove{flex-shrink:0;min-width:28px;padding:4px 7px;color:var(--cn-muted);font-size:1.1rem}
.context-tab button:focus-visible{outline:2px solid var(--cn-blue);outline-offset:-3px;border-radius:5px}
.context-tab small{font-size:.75rem;color:var(--cn-muted)}
.ide-page #connections-dialog{width:min(660px,calc(100% - 28px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:28px;background:var(--cn-bg);color:var(--cn-ink);border:1px solid var(--cn-line);border-radius:16px;overflow:auto;box-shadow:0 24px 90px #0003}
.connections-dialog::backdrop{background:#02091466;backdrop-filter:blur(4px)}
.connections-dialog .dialog-heading{align-items:flex-start;gap:20px}
.connections-dialog .dialog-heading h2{font:400 2rem/1.2 var(--serif);color:var(--cn-ink);margin:5px 0 0}
.connections-eyebrow{font:500 .75rem/1.4 var(--sans);letter-spacing:.13em;color:var(--cn-muted);margin:0}
.connections-intro{font:400 1rem/1.6 var(--sans);color:var(--cn-muted);margin:16px 0 24px;max-width:48ch}
.connections-toolbar{display:flex;gap:10px;margin-bottom:16px;align-items:center}
.connections-dialog input:not([type=file]),.connections-dialog select,.connections-dialog textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--cn-line);border-radius:8px;background:var(--cn-bg);color:var(--cn-ink);font:400 1rem/1.5 var(--sans);padding:10px 12px;margin:0}
.connections-dialog input::placeholder,.connections-dialog textarea::placeholder{color:var(--cn-muted);opacity:.8}
.connections-dialog input:focus-visible,.connections-dialog textarea:focus-visible,.connections-dialog select:focus-visible{outline:2px solid var(--cn-blue);outline-offset:2px}
.connections-dialog .button{font-size:.875rem;min-height:43px;white-space:nowrap;padding:10px 16px}
.connections-dialog .text-button{font-size:.875rem;color:var(--cn-blue);padding:8px 0}
.connections-list{display:flex;flex-direction:column;gap:9px;max-height:45dvh;overflow:auto}
.connection-card{display:flex;gap:14px;align-items:center;border:1px solid var(--cn-line);border-radius:10px;padding:16px;background:var(--cn-bg)}
.connection-monogram{width:36px;height:42px;border:1px solid var(--cn-line);border-radius:5px;display:grid;place-items:center;background:var(--cn-soft);color:var(--cn-muted);font:400 1rem var(--serif);flex-shrink:0}
.connection-card-info{min-width:0;flex:1}.connection-card-info h3{font:500 1rem/1.4 var(--sans);color:var(--cn-ink);margin:0 0 5px;overflow-wrap:anywhere}
.connection-card-info p{font:400 .75rem/1.5 var(--sans);color:var(--cn-muted);margin:0;overflow-wrap:anywhere}
.connection-card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.connections-dialog .connection-attach{font:500 .875rem/1.4 var(--sans);border:1px solid var(--cn-line);border-radius:7px;padding:8px 11px;min-height:36px;background:var(--cn-tint);color:var(--cn-blue);cursor:pointer}
.connection-attach[aria-pressed=true]{background:var(--cn-soft);color:var(--cn-muted)}
.connection-empty{padding:28px 24px;border:1px dashed var(--cn-line);border-radius:12px;text-align:center;background:var(--cn-soft)}
.connection-empty h3{font:400 1.5rem/1.4 var(--serif);color:var(--cn-ink);margin:0 0 8px}.connection-empty p{font:400 1rem/1.6 var(--sans);margin:0;color:var(--cn-muted)}
.connection-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px}
.connections-feedback{font:400 .875rem/1.6 var(--sans);color:var(--cn-muted);margin:12px 0;white-space:pre-line}.connections-feedback:empty{display:none}
.connections-footnote{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--cn-line);padding-top:16px;margin-top:24px;font:400 .75rem/1.5 var(--sans);color:var(--cn-muted)}
.connection-fields{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}.connections-dialog label{display:block;font:500 .875rem/1.5 var(--sans);color:var(--cn-ink);margin:16px 0 7px}.connection-hint{font:400 .75rem/1.6 var(--sans);color:var(--cn-muted);margin:6px 0 0}
.connection-content-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px}.connections-dialog textarea{resize:vertical;min-height:170px;max-height:36dvh}.connection-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--cn-line);padding-top:18px;margin-top:22px}.connection-form-actions .button{margin-left:auto}.connections-dialog button:disabled{opacity:.55;cursor:wait}
@media(max-width:520px){.ide-page #connections-dialog{padding:20px}.connection-fields{grid-template-columns:1fr;gap:0}.connection-card{padding:12px;gap:10px;flex-wrap:wrap}.connection-card-actions{margin-left:auto}.connection-card-info{min-width:110px}.connection-content-label{flex-wrap:wrap;gap:0}.connections-toolbar{gap:8px}.composer-context-actions{gap:2px}.composer-context-actions .add-context{padding:7px 5px;font-size:.8125rem}}
