/* 특수문자 쪽 (assets/chars/chars.css). 사이트 토큰만 써요. */
.ch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 6px; }
.ch-g { font: inherit; font-size: 24px; line-height: 1; height: 48px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--card); color: var(--text); cursor: pointer; padding: 0; overflow: hidden; }
.ch-g:hover, .ch-g:focus-visible { border-color: var(--brand); background: var(--brand-soft); }
.ch-g.done { border-color: var(--brand); background: var(--brand-soft); }
.ch-g[hidden] { display: none; }
.ch-search { display: grid; gap: 6px; }
.ch-search label { font-size: 13px; font-weight: 700; color: var(--sub); }
.ch-search input { height: 48px; padding: 0 14px; font: inherit; font-size: 17px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--card); color: var(--text); }
.ch-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); padding: 10px 16px; border-radius: var(--r); background: var(--text); color: var(--bg); font-size: 15px; z-index: 50; }
