.ap{gap:22px;margin-top:14px;display:grid}.ap-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.ap-head h3{color:var(--ol-chalk);margin:0;font-size:16px;font-weight:700}.ap-count{color:var(--ol-mute);font-size:14px}.ap-count--low{color:var(--ol-tape)}.ap-hint{color:var(--ol-mute);margin:4px 0 0;font-size:14px;line-height:1.45}.ap-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.ap-tile{background:var(--ol-void);border:1px solid #ecebe738;border-radius:10px;grid-template-rows:auto auto;min-width:0;display:grid;position:relative;overflow:hidden}.ap-tile img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.ap-tile--loading img{opacity:.45}.ap-tile--error{border-color:#ff4b4f8c}.ap-tile--error img{opacity:.3}.ap-state{aspect-ratio:4/3;text-align:center;color:var(--ol-chalk);place-items:center;padding:10px;font-size:14px;line-height:1.35;display:grid;position:absolute;inset:0 0 auto}.ap-state--err{background:#0c0d0f99}.ap-x{width:36px;height:36px;color:var(--ol-chalk);cursor:pointer;background:#0c0d0fc7;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.ap-x svg,.ap-add svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.ap-x svg{width:16px;height:16px}.ap-x:hover{background:var(--ol-chalk);color:var(--ol-ink)}.ap-x:focus-visible{outline:3px solid var(--ol-tape);outline-offset:2px}.ap-cap{width:100%;min-width:0;color:var(--ol-chalk);font:inherit;background:0 0;border:0;border-top:1px solid #ecebe724;padding:8px 10px;font-size:14px}.ap-cap::placeholder{color:#ecebe766}.ap-cap:focus{background:#ecebe70f;outline:none}.ap-cap:focus-visible{outline:3px solid var(--ol-tape);outline-offset:-3px}.ap-add{background:0 0;border-style:dashed}.ap-add label{aspect-ratio:4/3;min-height:100%;color:var(--ol-mute);cursor:pointer;align-content:center;place-items:center;gap:8px;padding:12px;font-size:14px;display:grid}.ap-add svg{width:24px;height:24px}.ap-add:hover{border-color:var(--ol-chalk)}.ap-add:hover label{color:var(--ol-chalk)}.ap-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ap-add:has(.ap-file:focus-visible){outline:3px solid var(--ol-tape);outline-offset:2px}@media (max-width:600px){.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
