/* 0.19.0 font picker (shared with the editor) */
.a8d-fp { position: relative; }
.a8d-fp-btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 44px; padding: 8px 12px; font: inherit; font-size: 16px; text-align: left; background: var(--surface-raised, #fff); color: var(--ink, #1C2430); border: 1px solid var(--line, #DDE1E6); border-radius: var(--radius-md, 10px); cursor: pointer; }
.a8d-fp-btn:focus-visible { outline: 3px solid var(--accent-fill, #FF8800); outline-offset: 1px; }
.a8d-fp-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.a8d-fp-caret { color: var(--ink-muted, #5B6573); }
.a8d-fp-pop { display: none; position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 4px); max-height: 360px; background: var(--surface-raised, #fff); border: 1px solid var(--line, #DDE1E6); border-radius: var(--radius-md, 10px); box-shadow: 0 16px 40px rgba(0,0,0,.18); overflow: hidden; display: none; flex-direction: column; }
.a8d-fp.is-open .a8d-fp-pop { display: flex; }
.a8d-fp-search { margin: 8px; min-height: 36px; font-size: 14px; }
.a8d-fp-list { overflow: auto; padding-bottom: 6px; }
.a8d-fp-group { padding: 8px 12px 4px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted, #5B6573); }
.a8d-fp-item { display: block; width: 100%; padding: 8px 12px; font-size: 18px; line-height: 1.3; text-align: left; background: none; border: 0; color: var(--ink, #1C2430); cursor: pointer; }
.a8d-fp-item:hover, .a8d-fp-item:focus-visible { background: var(--surface-sunken, #F4F5F7); outline: none; }
.a8d-fp-item[aria-selected="true"] { background: #FFF3E6; font-weight: 700; }
.a8d-fontgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
.a8d-ownfonts { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.a8d-ownfonts li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-md); }
.a8d-ownfonts .a8d-ownsample { font-size: 20px; }
.a8d-fp-sm .a8d-fp-btn { min-height: 34px; padding: 4px 10px; font-size: 14px; }
.a8d-fp-sm .a8d-fp-item { font-size: 16px; padding: 6px 10px; }
.gjs-sm-property:has(.a8d-fp) .gjs-fields { overflow: visible; }
.gjs-sm-sector, .gjs-sm-properties, .gjs-sm-property { overflow: visible !important; }
.a8d-fp-sm .a8d-fp-pop { min-width: 260px; left: auto; right: 0; }
