.portrait-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.portrait-heading h2,.portrait-collection h3{font-size:13px;font-weight:500}.portrait-heading span,.portrait-collection h3 span{color:var(--color-muted);font-size:11px}.portrait-views{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.portrait-views .portrait-tile{aspect-ratio:3/4}.portrait-tile{background:var(--color-surface-3);border:1px solid var(--color-line);border-radius:12px;min-width:0;min-height:0;position:relative;overflow:hidden}.portrait-tile>button{cursor:zoom-in;width:100%;height:100%;display:block}.portrait-tile img{object-fit:cover;object-position:center 30%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;transition:transform .4s}.portrait-tile>button:hover img{transform:scale(1.035)}.portrait-tile button:focus-visible{outline:3px solid var(--color-accent);outline-offset:-4px}.portrait-label{color:#fff;pointer-events:none;background:#101010b8;border-radius:6px;padding:5px 9px;font-size:10px;position:absolute;bottom:10px;left:10px}.portrait-expand{color:#fff;background:#10101080;border-radius:50%;padding:7px;position:absolute;top:10px;right:10px}.portrait-missing{height:100%;min-height:120px;color:var(--color-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px 4px 35px;font-size:11px;display:flex}.portrait-note{color:var(--color-muted);margin:12px 0;font-size:11px;line-height:1.8}.portrait-collection{margin-top:30px}.portrait-collection h3{margin-bottom:12px}.portrait-collection h3 span{margin-left:10px}.portrait-collection>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.portrait-collection .portrait-tile{aspect-ratio:3/4}.portrait-dialog{border:1px solid var(--color-line);width:min(960px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-paper);background:var(--color-ink);border-radius:18px;margin:auto;padding:24px;position:fixed;overflow:auto}.portrait-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b10d9}.portrait-dialog[open]{flex-direction:column;display:flex}.portrait-close{border:1px solid var(--color-line-strong);cursor:pointer;border-radius:50%;align-self:flex-end;place-items:center;width:44px;height:44px;margin-bottom:12px;display:grid}.portrait-dialog-photo{justify-content:center;min-height:0;display:flex}.portrait-dialog-photo img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:6px;width:auto;max-width:100%;max-height:calc(100dvh - 218px)}.portrait-dialog-controls{justify-content:center;align-items:center;gap:28px;margin-top:18px;display:flex}.portrait-dialog-controls button{border:1px solid var(--color-line-strong);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.portrait-dialog-controls button:disabled{opacity:.4;cursor:default}.portrait-dialog-controls p{text-align:center;min-width:110px;font-size:13px}.portrait-dialog-controls span{color:var(--color-muted);margin-top:4px;font-size:11px;display:block}body:has(.portrait-dialog[open]){overflow:hidden}@media (prefers-reduced-motion:reduce){.portrait-tile img{transition:none}}
