.font-picker-trigger { width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; min-height:36px; }
.font-picker-trigger::after { content:' ▾'; float:right; }
.font-picker-dialog { position:fixed; z-index:30000; right:16px; top:100px; width:min(360px,calc(100vw - 32px)); max-height:calc(100dvh - 120px); display:flex; flex-direction:column; gap:10px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-panel,var(--bg)); color:var(--text); box-shadow:0 12px 40px #0005; }
.font-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.font-picker-dialog>input,.font-picker-dialog>select { width:100%; min-height:36px; }
.font-picker-list { overflow:auto; min-height:0; display:grid; gap:6px; }
.font-picker-option { display:grid; gap:5px; text-align:left; padding:10px; background:var(--bg-input); color:var(--text); border:1px solid var(--border); border-radius:6px; min-width:0; cursor:pointer; }
.font-picker-option[aria-selected=true],.font-picker-option:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.font-picker-meta,.font-picker-status { color:var(--text-dim); font-size:12px; margin:0; }
.font-picker-sample { font-size:22px; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#text-inline-toolbar { display:flex!important; flex-wrap:wrap; gap:8px!important; align-items:end; box-sizing:border-box; overflow:auto; max-height:180px; }
#text-inline-toolbar .text-field[hidden],select[data-search-picker][hidden] { display:none!important; }
#text-inline-toolbar .text-field { flex:1 1 90px; min-width:80px; max-width:200px; }
#text-inline-toolbar .text-field:has([data-text-property=fontFamily]) { flex-basis:160px; }
#text-inline-toolbar [data-text-property=fontSize] { min-width:55px; width:100%; }
.properties-select-wrap:has(>select[data-search-picker][hidden]) { display:none!important; }
#text-inline-toolbar .text-field>[role=status] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.font-picker-dialog { margin:0; left:auto; bottom:auto; box-sizing:border-box; }
.font-picker-collections { display:flex; gap:6px; flex-wrap:wrap; }
.font-picker-collections .btn { flex:1; padding:7px; min-height:36px; font-size:12px; }
.font-picker-collections [aria-pressed=true] { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 15%,var(--bg-input)); }
.font-picker-row { display:grid; grid-template-columns:minmax(0,1fr) 38px; gap:5px; }
.font-picker-favorite { align-self:start; min-height:38px; display:grid; place-items:center; border:1px solid var(--border); border-radius:6px; background:var(--bg-input); color:var(--text-dim); cursor:pointer; }
.font-picker-favorite[aria-pressed=true] { color:var(--accent); }
.font-picker-favorite:focus-visible { outline:2px solid var(--accent); }
.font-picker-group-title { padding:8px 2px 2px; font-size:12px; color:var(--text-dim); }
.font-picker-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.font-picker-filters label { display:grid; gap:5px; min-width:0; font-size:12px; color:var(--text-dim); }
.font-picker-filters select { min-width:0; width:100%; min-height:36px; }
.font-picker-list { flex:1 1 auto; }
.font-picker-preview-controls { display:grid; gap:8px; padding:10px; border:1px solid var(--border); border-radius:6px; }
.font-picker-preview-controls>label { display:grid; gap:5px; min-width:0; font-size:12px; color:var(--text-dim); }
.font-picker-preview-controls input[type=text] { width:100%; min-width:0; min-height:34px; box-sizing:border-box; }
.font-picker-size-row { display:grid; grid-template-columns:minmax(0,1fr) 58px auto; align-items:center; gap:8px; }
.font-picker-size-row input { width:100%; min-width:0; }
.font-picker-preview-controls .btn { min-height:32px; }
.font-picker-dialog { overflow:auto; }
.font-picker-list { min-height:110px; }
.font-picker-sample { font-size:var(--font-preview-size,22px); white-space:normal; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.font-picker-row { grid-template-columns:minmax(0,1fr) 64px; }
.font-picker-row-actions { display:flex; flex-direction:column; align-items:stretch; gap:5px; }
.font-picker-compare { font-size:10px; padding:5px 2px; min-height:30px; }
.font-picker-comparing { width:min(880px,calc(100vw - 32px)); }
.font-comparison[hidden] { display:none; }
.font-comparison { border:1px solid var(--border); border-radius:8px; padding:10px; display:grid; gap:10px; flex-shrink:0; }
.font-comparison-grid { display:grid; grid-template-columns:repeat(var(--compare-count),minmax(160px,1fr)); gap:10px; overflow:auto; max-height:34vh; }
.font-comparison-card { display:flex; flex-direction:column; gap:9px; padding:10px; border:1px solid var(--border); border-radius:6px; min-width:0; }
.font-comparison-card>.font-picker-sample { flex:1; min-height:2em; }
.font-comparison-card>.btn { min-height:32px; }
@media(min-width:700px){.font-picker-comparing .font-picker-preview-controls { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:end; }.font-picker-comparing .font-picker-preview-controls .btn{min-height:34px;}}
.font-comparison-card>.font-picker-sample { display:block; -webkit-line-clamp:unset; overflow:visible; }
.font-saved-sets { border:1px solid var(--border); border-radius:6px; padding:10px; }
.font-saved-sets>summary { cursor:pointer; min-height:30px; }
.font-saved-sets>p { color:var(--text-dim); font-size:12px; line-height:1.5; }
.font-saved-sets>input,.font-saved-sets>select { width:100%; min-height:34px; margin:5px 0; box-sizing:border-box; }
.font-saved-sets>.btn { min-height:34px; margin:5px 0; }
.font-comparison>.font-picker-heading { flex-wrap:wrap; }
.font-comparison-card>.font-picker-sample[hidden] { display:none!important; }
.font-saved-sets>.btn[hidden] { display:none!important; }
