.ofp{--ofp-line:var(--cm-line,var(--line-2,hsla(0,0%,100%,.14)));--ofp-bg:var(--cm-bg-2,var(--panel-2,hsla(0,0%,100%,.04)));--ofp-fg:var(--cm-fg,var(--text-1,#fff));--ofp-dim:var(--cm-muted,var(--text-3,hsla(0,0%,100%,.6)));--ofp-accent:var(--cm-accent-bri,var(--accent,#7aa7ff));--ofp-accent-soft:var(--cm-accent-soft,var(--accent-soft,rgba(122,167,255,.14)));--ofp-r:var(--cm-r,12px);display:flex;flex-direction:column;gap:10px}.ofp-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--ofp-line);border-radius:var(--ofp-r);background:var(--ofp-bg)}.ofp-tabs button{flex:1;padding:8px 10px;border:0;border-radius:calc(var(--ofp-r) - 3px);background:transparent;color:var(--ofp-dim);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ofp-tabs button.is-on{background:var(--ofp-accent-soft);color:var(--ofp-fg)}.ofp-filters{display:flex;gap:6px;flex-wrap:wrap}.ofp-filters button{padding:6px 12px;border:1px solid var(--ofp-line);border-radius:99px;background:transparent;color:var(--ofp-dim);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.ofp-filters button.is-on{border-color:var(--ofp-accent);background:var(--ofp-accent-soft);color:var(--ofp-fg)}.ofp-describe{display:flex;flex-direction:column;gap:8px}.ofp-prompt{width:100%;padding:12px;border:1px solid var(--ofp-line);border-radius:var(--ofp-r);background:var(--ofp-bg);color:var(--ofp-fg);font:inherit;font-size:14px;resize:vertical}.ofp-hint em{font-style:normal;color:var(--ofp-fg);font-weight:600}.ofp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:360px;overflow-y:auto}.ofp-tile{position:relative;min-width:0}.ofp-pick{display:block;width:100%;padding:0;overflow:hidden;border:2px solid transparent;border-radius:var(--ofp-r);background:var(--ofp-bg);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.ofp-pick:hover:not(:disabled){transform:translateY(-2px)}.ofp-tile.is-on .ofp-pick{border-color:var(--ofp-accent)}.ofp-pick img{display:block;width:100%;aspect-ratio:3/4;-o-object-fit:cover;object-fit:cover}.ofp-pick span{display:block;padding:6px 6px 7px;overflow:hidden;color:var(--ofp-fg);font-size:11px;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ofp-del{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:rgba(0,0,0,.72);color:#fff;font-size:15px;line-height:1;cursor:pointer}.ofp-upload{display:flex;gap:12px;padding:12px;border:1px dashed var(--ofp-line);border-radius:var(--ofp-r);background:var(--ofp-bg)}.ofp-upload-preview{width:84px;aspect-ratio:3/4;border-radius:8px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.ofp-upload-body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.ofp-file{position:relative;align-self:flex-start;padding:8px 14px;border:1px solid var(--ofp-line);border-radius:99px;color:var(--ofp-fg);font-size:13px;font-weight:600;cursor:pointer}.ofp-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.ofp-name{width:100%;padding:9px 11px;border:1px solid var(--ofp-line);border-radius:8px;background:transparent;color:var(--ofp-fg)}.ofp-name,.ofp-save{font:inherit;font-size:13px}.ofp-save{align-self:flex-start;padding:9px 16px;border:0;border-radius:99px;background:var(--cm-accent-grad,var(--ofp-accent));color:#fff;font-weight:700;cursor:pointer}.ofp-pick:disabled,.ofp-save:disabled,.ofp-tabs button:disabled{opacity:.55;cursor:not-allowed}.ofp-hint{margin:0;color:var(--ofp-dim);font-size:12.5px;line-height:1.5}.ofp-link{padding:0;border:0;background:none;color:var(--ofp-accent);font:inherit;cursor:pointer}.ofp-error{margin:0;color:#f87171;font-size:12.5px}