/* Additive media controls; RC 1.5 layout and palette are retained. */
picture {display:contents;}
.photo-open {display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;}
.photo-open:focus-visible {outline:3px solid var(--wine);outline-offset:-4px;}
.photo-open img {width:100%;height:100%;}
.photo-viewer {width:min(1100px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);overflow:auto;}
.photo-viewer::backdrop {background:rgb(20 15 17 / 88%);}
.viewer-active {overflow:hidden;}
.viewer-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.viewer-toolbar h2 {font:500 20px/1.25 var(--serif);margin:0;}
.viewer-close {flex:none;font-size:32px;line-height:1;width:48px;height:48px;border:1px solid var(--line);border-radius:8px;background:var(--ivory);color:var(--ink);}
.viewer-stage {display:flex;justify-content:center;align-items:center;min-height:100px;margin:12px 0;background:#E7E1DB;}
.viewer-stage img {width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 250px);object-fit:contain;}
.viewer-controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.viewer-controls button,.viewer-controls a {min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--ivory);color:var(--ink);font:500 13px var(--sans);}
.viewer-controls button[aria-pressed=true] {background:var(--wine);color:white;}
.viewer-controls button:disabled {opacity:.45;cursor:not-allowed;}
.viewer-hint {font-size:12px;color:var(--muted);margin:12px 0 0;}
.photo-viewer :focus-visible {outline:2px solid var(--wine);outline-offset:3px;}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}
