.assistant-tool-library { border-block-start: 1px solid var(--ui-border); margin-block-start: 12px; padding-block-start: 4px; }
.assistant-tool-library > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 14px; font-weight: 600; }
.assistant-tool-library > summary::before { content: "›"; margin-inline-end: 8px; }
.assistant-tool-library[open] > summary::before { transform: rotate(90deg); }
.tool-library { font-size: 13px; line-height: 1.5; padding-block-end: 8px; }
.tool-library p { margin: 8px 0; }
.tool-library-help, .tool-library-description, .tool-library-state { color: var(--ui-text-muted); }
.tool-library-help { font-size: 12px; }
.tool-library-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; border-block-end: 1px solid var(--ui-border); }
.tool-library-row > details { min-width: 0; }
.tool-library-row summary { cursor: pointer; min-height: 48px; display: flex; gap: 8px; align-items: center; list-style: none; }
.tool-library-row summary::-webkit-details-marker { display: none; }
.tool-library-row summary::after { content: "›"; color: var(--ui-text-muted); }
.tool-library-row details[open] summary::after { transform: rotate(90deg); }
.tool-library-row summary svg { height: 18px; width: 18px; flex: 0 0 18px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tool-library-row summary small { margin-inline-start: auto; color: var(--ui-text-muted); font-size: 11px; white-space: nowrap; }
.tool-library-state { font-size: 11px; padding-block: 16px; white-space: nowrap; }
.tool-library-switch { display: flex; align-items: center; justify-content: center; width: 44px; min-height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.tool-library-switch > span:first-child { position: relative; width: 32px; height: 20px; border-radius: 12px; background: var(--ui-text-muted); }
.tool-library-switch > span:first-child::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--ui-surface); }
.tool-library-switch[aria-checked="true"] > span:first-child { background: var(--ui-primary); }
.tool-library-switch[aria-checked="true"] > span:first-child::after { left: 15px; }
.tool-library-switch:disabled { cursor: wait; opacity: .55; }
.tool-library-switch:focus-visible, .tool-library-row summary:focus-visible { outline: 2px solid var(--ui-primary); outline-offset: -2px; border-radius: 4px; }
.tool-library-tools { padding: 0; margin: 4px 0 12px; list-style: none; }
.tool-library-tools li { display: flex; align-items: start; gap: 8px; padding: 4px 0; overflow-wrap: anywhere; }
.tool-library-tools li > span:first-child { flex: 1; min-width: 0; }
.tool-library-risk { color: var(--ui-text-muted); flex: 0 0 auto; }
.tool-library-error { color: var(--ui-danger); }
.tool-library-legacy-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tool-library-legacy-groups > details { min-width: 0; padding: 0 8px; border: 1px solid var(--ui-border); border-radius: 4px; background: var(--ui-surface); }
.tool-library-legacy-groups summary { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; font-size: 12px; }
.tool-library-legacy-groups summary::-webkit-details-marker { display: none; }
.tool-library-legacy-groups summary svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tool-library-legacy-groups summary small { margin-inline-start: auto; color: var(--ui-text-muted); font-size: 11px; }
.tool-library-legacy-groups .tool-library-tools { font-size: 12px; }
