/* Fonts plugin: intentionally scoped to chat composer and message text only. */
.fonts-picker{display:grid;gap:18px;min-width:0}
.fonts-intro{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}
.fonts-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px;max-height:min(64vh,680px);overflow:auto;padding:4px 6px 4px 2px;scrollbar-gutter:stable}
.fonts-option{display:grid;grid-template-columns:28px minmax(0,1fr);gap:13px;align-items:center;width:100%;min-width:0;min-height:78px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:16px;background:color-mix(in srgb,var(--panel2) 90%,transparent);color:var(--text);cursor:pointer;text-align:left;box-sizing:border-box;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.fonts-option:hover{border-color:color-mix(in srgb,var(--cyan) 45%,transparent);background:color-mix(in srgb,var(--cyan) 8%,var(--panel2));transform:translateY(-1px)}
.fonts-option.active{border-color:color-mix(in srgb,var(--cyan) 72%,transparent);background:color-mix(in srgb,var(--cyan) 10%,var(--panel2));box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 15%,transparent)}
.fonts-check{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);font-size:.76rem;color:transparent;flex:none}
.fonts-option.active .fonts-check{background:var(--cyan);border-color:var(--cyan);color:#071219}
.fonts-copy{display:grid;gap:7px;min-width:0;padding:1px 0}
.fonts-copy b{font-size:.84rem;line-height:1.2;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.fonts-preview{display:block;font-size:1.08rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.fonts-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:2px}
.fonts-note{font-size:.78rem;color:var(--muted);line-height:1.55}
@media(max-width:860px){.fonts-grid{grid-template-columns:1fr;gap:12px;max-height:min(60vh,620px)}.fonts-option{min-height:74px;padding:14px 15px}}
@media(max-width:620px){.fonts-picker{gap:15px}.fonts-grid{grid-template-columns:1fr;gap:11px;max-height:58vh;padding-right:3px}.fonts-option{grid-template-columns:26px minmax(0,1fr);gap:11px;min-height:72px;padding:13px 14px;border-radius:15px}.fonts-copy{gap:6px}.fonts-preview{font-size:1.05rem}.fonts-actions{justify-content:stretch}.fonts-actions .btn{flex:1 1 120px}}
@media(max-width:380px){.fonts-option{padding:12px}.fonts-preview{font-size:1rem}.fonts-copy b{font-size:.8rem}}
