.font-picker{position:fixed;bottom:12px;left:12px;z-index:200;width:min(340px,calc(100vw - 24px));font-family:system-ui,sans-serif;font-size:12px;color:#1a1a1a;background:#fffffff7;border:1px solid rgba(0,0,0,.2);border-radius:10px;box-shadow:0 10px 30px -8px #00000073;overflow:hidden}.font-picker__bar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f2f2f2;border-bottom:1px solid rgba(0,0,0,.12)}.font-picker__hint{color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.font-picker__bar button{margin-left:auto;background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;color:#333}.font-picker__body{padding:10px;display:grid;gap:10px;max-height:60vh;overflow-y:auto}.font-picker.collapsed .font-picker__body{display:none}.font-picker__row{display:grid;gap:3px}.font-picker__label{font-weight:600;font-size:11px;color:#444}.font-picker__row select{width:100%;font-family:inherit;font-size:12px;padding:5px 6px;border:1px solid rgba(0,0,0,.25);border-radius:5px;background:#fff}.font-picker__current{font-size:10px;color:#0a7;min-height:12px}.font-picker__actions{display:flex;gap:6px;padding-top:2px}.font-picker__actions button{flex:1;font-family:inherit;font-size:11px;cursor:pointer;padding:6px 8px;border:1px solid rgba(0,0,0,.25);border-radius:5px;background:#fff}.font-picker__actions button:hover{background:#f0f0f0}.font-picker__sep{border:none;border-top:1px solid rgba(0,0,0,.12);margin:2px 0}.font-picker__section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#666;margin:0}.font-picker__row--size{gap:2px}.font-picker__slider{display:flex;align-items:center;gap:8px}.font-picker__slider input[type=range]{flex:1;accent-color:#0a7;min-width:0}.font-picker__slider output{font-variant-numeric:tabular-nums;font-size:10px;color:#0a7;min-width:38px;text-align:right}
