.layer-catalogue { color: var(--text, #f0f2fa); }
.layer-catalogue [hidden] { display: none !important; }
.layer-catalogue-search { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border: 1px solid var(--line, #283349); border-radius: 7px; background: #080e1e99; margin: 0 0 13px; color: var(--quiet, #7f8ca6); }
.layer-catalogue-search:focus-within { border-color: var(--purple, #a5a1ff); box-shadow: 0 0 0 2px #a5a1ff18; }
.layer-catalogue-search svg { width: 15px; height: 15px; flex: 0 0 auto; }
.layer-catalogue .layer-catalogue-search input { width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; background: transparent; color: var(--text, #f0f2fa); font: inherit; font-size: 11px; box-shadow: none; }
.layer-catalogue-search input::placeholder { color: var(--quiet, #7f8ca6); }
.layer-catalogue-search input::-webkit-search-cancel-button { cursor: pointer; }
.layer-catalogue-groups { display: grid; gap: 7px; }
.layer-category { background: #15203855; border: 1px solid var(--line, #283349); border-radius: 7px; overflow: clip; }
.layer-category > summary { display: flex; align-items: center; gap: 9px; list-style: none; cursor: pointer; min-height: 43px; padding: 11px 10px; user-select: none; }
.layer-category > summary::-webkit-details-marker { display: none; }
.layer-category > summary:hover { background: #a5a1ff0a; }
.layer-category > summary:focus-visible { outline: 2px solid var(--cyan, #63d4de); outline-offset: -3px; border-radius: 6px; }
.layer-category-icon { width: 17px; height: 17px; color: var(--purple, #a5a1ff); flex: 0 0 auto; }
.layer-category-icon svg { width: 100%; height: 100%; display: block; }
.layer-category-title { font-size: 11px; font-weight: 550; flex: 1; min-width: 0; }
.layer-category-title small { display: block; margin-top: 4px; color: var(--amber, #efbc76); font-size: 9px; font-weight: 400; }
.layer-category-count { color: var(--quiet, #7f8ca6); font: 9px ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.layer-category-chevron { color: var(--muted, #a5b1c7); font-size: 15px; line-height: 12px; transform: rotate(-90deg); transition: transform .15s; }
.layer-category[open] > summary .layer-category-chevron { transform: rotate(0); }
.layer-category[open] > summary { border-bottom: 1px solid #28334999; }
.layer-category-body { padding: 3px 10px; }
.layer-catalogue .layer-catalogue-row { gap: 8px; padding: 11px 0; border-bottom: 1px solid #28334977; align-items: center; }
.layer-catalogue .layer-catalogue-row:last-child { border-bottom: 0; }
.layer-catalogue .layer-name { line-height: 1.35; font-size: 11px; min-width: 0; }
.layer-catalogue .layer-name small { font-size: 9px; line-height: 1.5; margin-top: 4px; color: var(--quiet, #7f8ca6); }
.layer-catalogue .layer-count { font-size: 9px; max-width: 50px; overflow-wrap: anywhere; text-align: right; }
.layer-catalogue .switch { flex: 0 0 27px; }
.layer-catalogue .switch:disabled { cursor: not-allowed; opacity: .45; }
.layer-catalogue-row:has(input:disabled) .layer-name { color: var(--quiet, #7f8ca6); }
.layer-context-intro { padding: 10px 0; border-bottom: 1px solid #28334999; }
.layer-context-intro p { margin: 0 0 10px; font-size: 10px; line-height: 1.55; color: var(--muted, #a5b1c7); }
.layer-context-toggle { display: flex; align-items: center; gap: 12px; font-size: 10px; color: var(--amber, #efbc76); cursor: pointer; }
.layer-context-toggle > span { flex: 1; }
.layer-category-demo { border-color: #65513977; }
.layer-catalogue-empty { border: 1px dashed var(--line, #283349); border-radius: 6px; padding: 16px 10px; font-size: 11px; text-align: center; color: var(--muted, #a5b1c7); margin: 0; }
.layer-catalogue-footnote { font-size: 9px; line-height: 1.5; color: var(--quiet, #7f8ca6); margin: 12px 1px 0; }
@media (prefers-reduced-motion: reduce) { .layer-category-chevron { transition: none; } }
