.glyph-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}.glyph-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.glyph-toolbar label{margin-bottom:0;white-space:nowrap}.glyph-search{width:min(100%,320px)}.glyph-size{width:160px;height:auto}.glyph-page-size{width:auto;display:inline-block;min-width:88px}.glyph-board{border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);overflow:hidden}.glyph-detail{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg,var(--bs-light,#f8f9fa))}.glyph-detail-char{font-family:'GlyphView',sans-serif;font-size:36px;line-height:1;min-width:1.2em;text-align:center}.glyph-detail-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--bs-text-muted-color,#6c757d)}.glyph-grid-wrap{max-height:calc(100vh - 420px);min-height:280px;overflow:auto}.glyph-grid{--glyph-size:48px;--glyph-cell:96px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--glyph-cell),1fr));gap:8px;padding:12px}.glyph-cell{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:92px;padding:10px 4px 8px;border:1px solid var(--bs-border-color);border-radius:6px;background:var(--bs-body-bg);color:var(--bs-body-color);cursor:pointer;font:inherit}.glyph-cell:hover{border-color:var(--theme-color)}.glyph-cell.is-selected{background:var(--bs-secondary-bg,#e9ecef);border-color:var(--theme-color);box-shadow:inset 0 0 0 1px var(--theme-color)}.glyph-char{font-family:'GlyphView',sans-serif;font-size:var(--glyph-size);line-height:1.1;min-height:1.1em;word-break:break-all}.glyph-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.2;color:var(--bs-text-muted-color,#6c757d)}.glyph-empty{padding:48px 16px;text-align:center;color:var(--bs-text-muted-color,#6c757d)}.glyph-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--bs-border-color)}.glyph-pager-info{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:var(--bs-body-color)}.glyph-page-input{width:72px;text-align:center}@media(max-width:576px){.glyph-pager{flex-wrap:wrap;justify-content:center}.glyph-grid-wrap{max-height:none}}