/* sidebar.css — cell-catalog sidebar. Tokens only. */
.sb-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-3); }
.sb-title { font-family: var(--display); font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-dim); }
.sb-collapse { padding: 2px 7px; font-size: 11px; letter-spacing: 0; }
.sb-section { margin-bottom: var(--sp-3); }
/* F-18 · dock filter + group-jump. The filter is the real path for a tall catalog; its placeholder
   is the hint. The chips jump to a category (group orientation). Tokens only, quiet register. */
.sb-filter { width: 100%; box-sizing: border-box; margin-bottom: var(--sp-2); padding: 5px 8px; background: var(--bg-deep); border: 1px solid var(--rule); border-radius: 1px; color: var(--ink); font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; }
.sb-filter::placeholder { color: var(--ink-faint); }
.sb-filter:focus { outline: none; border-color: var(--accent); }
.sb-jump { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: var(--sp-3); }
.sb-jump-chip { padding: 2px 7px; background: var(--bg-deep); border: 1px solid var(--rule); border-radius: 1px; color: var(--ink-dim); font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: color 120ms, border-color 120ms; }
.sb-jump-chip:hover { color: var(--accent); border-color: var(--accent); }
.sb-jump-chip:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.sb-cat { font-family: var(--mono); font-size: 9px; letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink-faint); padding: var(--sp-2) 4px var(--sp-1); border-top: 1px solid var(--rule); }
.sb-section:first-of-type .sb-cat { border-top: none; }
.sb-item { display: flex; align-items: center; gap: var(--sp-2); padding: 5px 6px; border-radius: 1px; cursor: grab; color: var(--ink-mid); transition: background 120ms, color 120ms; }
.sb-item:hover { background: var(--surface-2); color: var(--ink); }
.sb-item:active { cursor: grabbing; }
.sb-nav { margin-bottom: var(--sp-3); }
.sb-nav-item { cursor: pointer; }
.sb-nav-item:active { cursor: pointer; }
.sb-icon { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex: 0 0 16px; color: var(--ink-dim); }
.sb-item:hover .sb-icon { color: var(--accent); }
.sb-icon svg { width: 16px; height: 16px; }
.sb-icon .glyph { font-family: var(--mono); font-size: 13px; line-height: 1; }
.sb-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; color: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* mini mode (§6.3 mini icons = 20px) */
.workspace.sidebar-mini { grid-template-columns: 56px 1fr; }
.workspace.sidebar-mini .sb-title,
.workspace.sidebar-mini .sb-cat,
.workspace.sidebar-mini .sb-filter,
.workspace.sidebar-mini .sb-jump,
.workspace.sidebar-mini .sb-label { display: none; }
.workspace.sidebar-mini .sb-head { justify-content: center; }
.workspace.sidebar-mini .sb-item { justify-content: center; padding: 7px 0; }
.workspace.sidebar-mini .sb-icon { width: 20px; height: 20px; flex-basis: 20px; }
.workspace.sidebar-mini .sb-icon svg { width: 20px; height: 20px; }
