/* 특수문자·이모지 모음 */
.sc-search { font-size: 1rem; }
.sc-hint { margin: .5rem 0 0; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }
.sc-count { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

.sc-group {
    font-size: var(--text-sm, .875rem); font-weight: 700; margin: var(--spacing-lg, 1.5rem) 0 .5rem;
    color: var(--text-secondary, #3d434d); padding-bottom: .25rem;
    border-bottom: 1px solid var(--border-subtle, #eef0f4);
}
.sc-group:first-child { margin-top: 0; }
.sc-cells { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .375rem; }
.sc-cell {
    display: flex; flex-direction: column; align-items: center; gap: .125rem;
    padding: .5rem .25rem; cursor: pointer;
    border: 1px solid var(--border-color, #e5e8ed); border-radius: var(--radius-sm, 6px);
    background: var(--bg-surface, #fff);
    transition: border-color .12s ease, background-color .12s ease, transform .12s ease;
}
.sc-cell:hover, .sc-cell:focus-visible {
    border-color: var(--accent-primary, #3b6fe0); background: var(--accent-soft, #eef3fd);
    outline: none; transform: translateY(-1px);
}
.sc-cell:active { transform: translateY(0); }
.sc-glyph { font-size: 1.5rem; line-height: 1.4; }
.sc-name { font-size: .6875rem; color: var(--text-muted, #626977); text-align: center; line-height: 1.3; word-break: keep-all; }
.sc-cell-mini { padding: .375rem .25rem; }
.sc-none { color: var(--text-muted, #626977); font-size: var(--text-sm, .875rem); padding: var(--spacing-lg, 1.5rem) 0; text-align: center; }

.sc-toast {
    position: fixed; left: 50%; bottom: 2rem; transform: translateX(-50%);
    background: rgba(20,22,28,.92); color: #fff; padding: .5rem 1rem;
    border-radius: 999px; font-size: var(--text-sm, .875rem); z-index: 9999;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
@media (max-width: 768px) { .sc-cells { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); } }
