.plot-photos{border-top:1px solid var(--line);margin:22px 0;padding-top:18px}
.photos-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.photos-heading-row h2{font-size:.8125rem;font-weight:700;letter-spacing:.08em;line-height:1.5;margin:0;color:#6b5b7c}
.photos-heading-row button,.photo-viewer button{font:inherit;font-size:.875rem;font-weight:650;line-height:1.5;min-height:44px;padding:10px 12px;border:1px solid #ded1f4;border-radius:6px;background:#f1ebfc;color:var(--primary)}
.photos-heading-row button:hover:enabled,.photo-viewer button:hover:enabled{background:#e9ddfa}
.photos-note,.photos-status{font-size:.875rem;line-height:1.6;color:var(--muted);margin:12px 0;overflow-wrap:anywhere}
.photos-status:empty{display:none}.photos-status.is-error{color:#9b2c3d}.photos-status.is-success{color:#4c1d95}
.photos-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.photos-gallery:empty{display:none}
.photo-thumbnail{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#f4f1fa;color:var(--primary);font:inherit;font-size:.875rem;line-height:1.5;text-align:center}
.photo-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-thumbnail span{padding:10px}
.photos-text-button{display:inline-block;color:var(--primary);background:transparent;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:10px 0;margin-top:6px}
.photo-viewer{width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-family:inherit}
.photo-viewer::backdrop{background:#1a0a36b3}
.photo-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.photo-viewer-header h2{font-size:1.125rem;line-height:1.5;font-weight:650;margin:0;overflow-wrap:anywhere}
#photo-close{width:44px;padding:10px;display:grid;place-items:center;flex-shrink:0;background:#fff;border-color:var(--line)}
#photo-full{display:block;width:100%;height:auto;max-height:60dvh;object-fit:contain;border-radius:6px;background:#f4f1fa}
.photo-viewer-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}
.photo-viewer-footer p{font-size:.875rem;line-height:1.5;color:var(--muted);margin:0}
.photo-remove-confirm{margin-top:16px;padding:16px;border:1px solid #e8c9cf;border-radius:7px;background:#fff8f9}
.photo-remove-confirm p{font-size:1rem;line-height:1.5;margin:0 0 12px}
.photo-remove-confirm>div{display:flex;flex-wrap:wrap;gap:10px}
#photo-remove-yes{background:#9b2c3d;color:#fff;border-color:#9b2c3d}
@media(max-width:760px){.photo-viewer{padding:16px}.photo-viewer-header{gap:12px}.photo-viewer-header h2{font-size:1rem}}
