.pf-card{display:flex;flex-direction:column;gap:var(--half);cursor:pointer}
.pf-title{margin:0}
.pf-frame{all:unset;display:block;position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:zoom-in;background:var(--color-bg)}
.pf-frame:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.pf-frame>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-frame>[hidden]{display:none}
.pf-ph{display:grid;place-items:center;background:var(--color-bg);border:1px solid rgb(22 32 48 / .08);border-radius:8px;box-sizing:border-box;color:color-mix(in srgb,var(--color-text) 62%,transparent);font-size:13px;letter-spacing:.02em}
.pf-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.pf-controls .btn{min-width:44px;min-height:44px;padding:0 var(--space-3)}
.pf-count{font-size:13px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.pf-cap{margin:0}.pf-cap:empty{display:none}
.pf-case{max-width:760px}
.pf-lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0}
.pf-lightbox::backdrop{background:rgb(22 25 29 / .72)}
.pf-lb-inner{box-sizing:border-box;width:min(1100px,100% - 2*var(--space-3));max-height:calc(100% - 2*var(--space-3));margin:var(--space-3) auto;overflow:auto;background:var(--color-bg);border-radius:12px;box-shadow:var(--shadow-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.pf-lb-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.pf-lb-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:22px;line-height:1.25;margin:0}
.pf-lb-stage{position:relative;aspect-ratio:4/3;max-height:68vh;width:100%;margin-inline:auto}
.pf-lb-stage>*{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pf-lb-stage .pf-ph{font-size:16px}
.pf-lb-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.pf-lb-foot .btn{min-height:44px}
.pf-lb-count{font-size:15px;font-variant-numeric:tabular-nums}
.pf-lb-cap{font-size:16px;line-height:var(--leading);margin:0;max-width:var(--measure)}.pf-lb-cap:empty{display:none}
@media (max-width:767px){.pf-lb-inner{padding:var(--space-3)}.pf-lb-foot .btn{padding:0 var(--space-3)}.pf-lb-stage{aspect-ratio:auto;height:52vh}}
.pf-frame>img{object-position:top center;background:#fff}
.pf-lb-inner:has(.pf-lb-stage img){overflow:hidden}
.pf-lb-stage:has(img){aspect-ratio:auto;max-height:none;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.pf-lb-stage>img{position:static;display:block;height:auto;max-width:100%;margin-inline:auto;background:#fff}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:var(--space-4)}
.pf-build{display:flex;flex-direction:column;gap:var(--half)}
.pf-build-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);aspect-ratio:4/3;justify-content:center}
.pf-build-body .card-body{margin:0}
.pf-pass{font-variant-ligatures:none;letter-spacing:.02em;user-select:all}
.pf-grid-wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.pf-study .pf-frame>img{object-fit:contain;object-position:center}
.pf-facts{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}
.pf-facts dt{font-weight:600;font-size:15px}
.pf-facts dd{margin:0;font-size:15px;line-height:1.6;text-wrap:pretty}
.pf-cite{font-size:15px;align-self:flex-start}
.pf-record-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.pf-record-body .card-body{margin:0}
.pf-closing{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.pf-closing>*{margin:0}
.pf-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
