/* Original licensed photographic frames, never cropped into invented objects. */
.milestone-photo-gallery{margin:24px 0 38px;padding:23px 0 25px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.milestone-photo-gallery h2{font:29px/1.2 Georgia,serif;margin:0 0 9px;color:#325343}
.photo-gallery-intro,.photo-gallery-limit{font-size:12px;color:var(--muted);line-height:1.75;margin:8px 0 20px}
.photo-gallery-limit{margin:18px 0 0}
.photo-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.photo-strip figure,.record-photos figure{margin:0;min-width:0}
.photo-tile,.record-photo{display:block;width:100%;padding:0;border:1px solid #d5d9cb;background:#e9e6dc;position:relative;overflow:hidden;border-radius:7px;cursor:zoom-in;color:#fff}
.photo-tile img{display:block;width:100%;height:240px;object-fit:contain;background:#e9e6dc}
.photo-tile:hover,.record-photo:hover{border-color:#577464;box-shadow:0 3px 10px #243a3420}
.photo-expand{position:absolute;right:7px;bottom:7px;padding:5px 8px;background:#203d36e8;font-size:10px;line-height:1.5;border-radius:3px;pointer-events:none}
.photo-strip figcaption{margin-top:10px;line-height:1.6;font-size:11px}
.photo-strip figcaption b,.photo-strip figcaption span{display:block}.photo-strip figcaption span{color:var(--muted);font-size:10px;margin-top:3px}
.photo-credit{font-size:10px!important;line-height:1.7!important;color:#66705f!important;margin:7px 0 0!important;overflow-wrap:anywhere}
.photo-credit a,.photo-identification a,.photo-method-note a{color:#345f55;text-decoration:underline;text-underline-offset:3px}
.case-photo{margin:-23px -23px 18px;background:#e9e6dc;border-bottom:1px solid var(--rule);position:relative;padding-bottom:12px;text-align:center;flex-shrink:0}
.case-photo img{display:block;width:100%;height:230px;object-fit:contain;background:#e9e6dc;margin-bottom:10px}
.case-photo-setting{font-size:10px;line-height:1.5;padding:0 15px;display:block;color:#465949}
.case-photo-credit{font-size:9px;line-height:1.5;padding:5px 15px 0;display:block;color:#69705e}
.record-photos{margin:17px 0 23px;padding:0 0 20px;border-bottom:1px solid var(--rule)}
.record-photos h3{font:22px/1.3 Georgia,serif;margin:15px 0}
.record-photos figure+figure{margin-top:22px}
.record-photo img{width:100%;height:300px;object-fit:contain;display:block;background:#e9e6dc}
.record-photos figcaption{font-size:11px;line-height:1.75;margin-top:10px;color:#4f5b50}
.record-photos .photo-setting{font-size:10px;line-height:1.7;color:#68705f;margin:8px 0}
#case-detail .record-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#case-detail .record-photos h3{grid-column:1/-1;margin-bottom:0}
#case-detail .record-photos figure+figure{margin-top:0}
.photo-dialog{width:min(1080px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #bec8b5;border-radius:10px;background:#faf8f1;color:var(--ink);overflow:auto;box-shadow:0 20px 80px #152c3370}
.photo-dialog::backdrop{background:#142e2acc;backdrop-filter:blur(3px)}
.photo-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;background:#faf8f1;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--rule)}
.photo-dialog h2{font:25px/1.3 Georgia,serif;margin:0}
.photo-close{font-size:24px;width:44px;height:44px;flex-shrink:0;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer}
.photo-full{background:#e5e2d8;padding:12px}
.photo-full img{display:block;width:100%;height:min(53dvh,570px);object-fit:contain}
.photo-details{padding:18px 24px 24px;font-size:13px;line-height:1.75}
.photo-details>p{margin:8px 0}.photo-type{font-size:10px;letter-spacing:1.2px;font-weight:600;color:#47614e}
.photo-setting{color:#5d675a}.photo-date,.photo-identification{font-size:11px;color:var(--muted)}
.photo-open-record{border:0;background:#3e6352;color:#fff;border-radius:5px;padding:12px 17px;margin-top:12px;cursor:pointer;min-height:44px}
.photo-method-note{padding:22px 25px;margin-bottom:34px;border:1px solid #dedeca;border-left:3px solid #b99a5c;border-radius:10px;background:#f8f4e7}
.photo-method-note h3{font:22px/1.3 Georgia,serif;margin:0 0 10px}.photo-method-note p{font-size:12px;line-height:1.8;color:var(--muted)}
@media(min-width:1550px){.photo-tile img{height:280px}}
@media(max-width:1100px){.photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-tile img{height:230px}}
@media(max-width:760px){
 .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.photo-tile img{height:220px}.photo-expand{font-size:9px;padding:4px 6px}
 .case-photo{margin:-21px -21px 18px}.case-photo img{height:280px}.photo-strip figcaption{font-size:12px}
 .photo-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.photo-dialog-top{padding:12px 14px}.photo-dialog h2{font-size:21px}
 .photo-full img{height:42dvh}.photo-details{padding:14px 17px 20px}.photo-details>p{overflow-wrap:anywhere}
 #case-detail .record-photos{display:block}.record-photo img{height:290px}#case-detail .record-photos figure+figure{margin-top:22px}
 .photo-method-note{padding:20px}.milestone-photo-gallery h2{font-size:27px}
}
@media(max-width:360px){.photo-strip{grid-template-columns:1fr}.photo-tile img{height:310px}.photo-strip figure{max-width:100%}.photo-strip figcaption span{font-size:11px}.photo-dialog h2{font-size:19px}}
/* The library has no data cap; its page size only keeps the workspace manageable. */
.photo-library-tools{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr) auto;align-items:end;gap:16px;margin:24px 0 14px}
.photo-library-tools>label{font-size:11px;line-height:1.7;color:#5b6a5b;min-width:0}
.photo-library-tools input[type=search],.photo-library-tools select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #cbd6c3;border-radius:6px;background:#fffef9;color:var(--ink);min-height:44px;min-width:0}
.photo-all-label{display:flex;gap:8px;align-items:center;padding:12px 0}.photo-all-label input,.photo-compare-label input{width:17px;height:17px;accent-color:#41634f;flex-shrink:0}
.photo-examples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:12px 0}
.photo-examples button,.photo-show-more{border:1px solid #cbd6c3;border-radius:20px;padding:7px 13px;background:#f9f8ee;color:#345a49;cursor:pointer;min-height:34px}
.photo-examples button:hover,.photo-show-more:hover{background:#e9efdf}
.photo-library-count{font-size:11px;color:var(--muted);margin:19px 0 16px}.photo-show-more{display:block;margin:24px auto 4px;min-height:44px;padding:10px 25px}
.photo-show-more[hidden]{display:none}
.case-photo-count{position:absolute;top:9px;right:9px;padding:5px 9px;font-size:10px;background:#284c40ed;color:#fff;border-radius:20px}
.photo-view-controls{padding:14px 22px 8px;display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:#f3f2e7}
.photo-view-controls>label{font-size:11px;color:#52624f;line-height:1.7}.photo-view-controls select{display:block;margin-top:4px;min-height:38px;padding:7px 10px;border:1px solid #c8d0bd;border-radius:5px;background:#fffef9;color:var(--ink);max-width:100%}
.photo-view-controls .photo-compare-label{display:flex;align-items:center;gap:6px;min-height:38px;padding-bottom:0}
.photo-reset{background:transparent;border:1px solid #c8d0bd;border-radius:5px;padding:8px 12px;color:#466045;min-height:38px;cursor:pointer}.photo-reset:disabled{opacity:.5;cursor:default}
.photo-display-note{font-size:11px;line-height:1.7;margin:0;padding:8px 22px 12px;background:#f3f2e7;color:#5b6954;border-bottom:1px solid #d5d9ca}
.photo-stage{display:flex;align-items:stretch;background:#e5e2d8}.photo-full{flex:1;min-width:0;display:grid;place-items:center;overflow:hidden;padding:22px;perspective:1100px}
.photo-full img{height:min(48dvh,530px);max-width:100%;transition:filter .18s ease-out,transform .18s ease-out;transform-origin:center}
.photo-stage[data-pose=quarter] .photo-full img{transform:rotateY(-28deg) rotateX(3deg);box-shadow:14px 19px 22px #1d2b3b4a;outline:1px solid #ffffff80}
.photo-stage[data-effect=mono] .photo-full img{filter:grayscale(1)}
.photo-stage[data-effect=contrast] .photo-full img{filter:contrast(1.25)}
.photo-original{flex:1;min-width:0;padding:22px;position:relative;border-right:1px solid #bfc5b5;display:grid;place-items:center;background:#dcded3}
.photo-original[hidden]{display:none!important}.photo-original>span{position:absolute;left:12px;top:7px;font-size:10px;color:#52614c}
.photo-original img{display:block;width:100%;height:min(48dvh,530px);object-fit:contain}
.photo-pager{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 22px;border-top:1px solid #cbd1c0;border-bottom:1px solid #d5d9ca;font-size:11px;background:#f1f2e8}
.photo-pager button{border:1px solid #c4cdb7;border-radius:5px;padding:8px 13px;min-height:38px;cursor:pointer;background:#fffdf3;color:#3c5e4b}.photo-pager button:disabled{opacity:.45;cursor:default}
.photo-original-link{display:inline-block;margin:9px 18px 5px 0;font-size:12px;color:#345f55;text-underline-offset:3px}
.record-more-photos{grid-column:1/-1;margin-top:20px}.record-more-photos>summary{cursor:pointer;padding:12px 14px;background:#edf0e3;border:1px solid #ccd7be;border-radius:5px;color:#3d5d48;font-size:12px;min-height:44px}
.record-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:20px 0 0}
.record-photo-grid .record-photo img{height:250px}.record-photo-grid figure+figure{margin-top:0}
.photo-publication-links{grid-column:1/-1;font-size:11px;border-top:1px solid var(--rule);padding-top:17px;margin-top:15px}
.photo-publication-links p{font-size:11px;line-height:1.8;color:#68745e}.photo-publication-links a{color:#345e50;text-underline-offset:3px}
.photo-object-review{grid-column:1/-1;border-left:3px solid #788c62;background:#eff1e6;padding:14px 16px;margin:12px 0 20px;overflow-wrap:anywhere}
.photo-object-review h3{margin:0 0 10px;font-size:17px}.photo-object-review p,.photo-object-review dd{font-size:12px;line-height:1.7}
.photo-object-review dl{margin:12px 0}.photo-object-review dt{font-size:11px;font-weight:700;color:#435d49;margin-top:12px}.photo-object-review dd{margin:3px 0 0}
.image-coverage-audit{font-size:11px;margin-top:20px;border-top:1px solid #d7dcca;padding-top:15px}.image-coverage-audit summary{cursor:pointer}.image-coverage-audit p{font-size:11px;margin:9px 0}
.photo-audit-record{border:0;padding:3px;background:transparent;text-decoration:underline;cursor:pointer;color:#345f50;font-size:11px}
@media(max-width:1100px){.photo-library-tools{grid-template-columns:1fr 1fr}.photo-all-label{grid-column:1/-1;padding:0}}
@media(max-width:760px){
 .photo-library-tools{grid-template-columns:1fr;gap:10px}.photo-all-label{grid-column:auto}.photo-examples{font-size:12px}
 .photo-view-controls{padding:12px 14px 6px;gap:10px}.photo-view-controls>label{font-size:11px;max-width:100%;flex:1 1 44%}.photo-view-controls select{width:100%;font-size:11px}
 .photo-display-note{padding:8px 14px 12px}.photo-full{padding:20px}.photo-full img{height:38dvh}.photo-original{padding:20px}.photo-original img{height:38dvh}
 .photo-stage.is-comparing{display:block}.photo-stage.is-comparing .photo-original{border-right:0;border-bottom:1px solid #bdc6b2}.photo-stage.is-comparing img{height:32dvh}
 .photo-pager{padding:10px 14px;gap:8px}.photo-pager button{padding:8px;font-size:11px}.record-photo-grid{grid-template-columns:1fr}.record-photo-grid .record-photo img{height:290px}
}
.photo-related-records{border-top:1px solid var(--rule);padding-top:10px;margin-top:15px;font-size:11px}.photo-related-records button{border:1px solid #cbd5c0;background:#eff2e6;border-radius:5px;padding:8px;margin:4px;cursor:pointer;font-size:11px;color:#3a5c48}
.photo-publication-links summary{cursor:pointer;min-height:35px;color:#3e5f4c;line-height:1.7}
.photo-publication-locator{font-size:11px;line-height:1.75;padding:9px 12px;background:#eff0e3;border-left:2px solid #a4b58e;color:#4f614d}
.photo-publication-citation{font-size:12px;line-height:1.75;overflow-wrap:anywhere}.photo-publication-citation a{color:#345f55;text-underline-offset:3px}
.photo-studies-jump{border:1px solid #cbd6c3;border-radius:5px;padding:8px 13px;background:#f9f8ee;color:#345a49;cursor:pointer;min-height:44px;font-size:12px}
.published-studies{margin:0 0 34px;padding:22px 0;border-top:1px solid var(--rule);scroll-margin-top:100px}
.published-studies h3{font:25px/1.3 Georgia,serif;margin:0 0 17px;color:#325343}
.publication-works-search{display:block;max-width:680px;font-size:12px;line-height:1.7;color:var(--muted)}
.publication-works-search input{display:block;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:11px;border:1px solid #cbd6c3;border-radius:6px;background:#fffef9;color:var(--ink)}
.publication-works-count,.publication-works-empty{font-size:12px;color:var(--muted);line-height:1.7;margin:15px 0}
.publication-studies-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.publication-study-card{min-width:0;padding:18px;border:1px solid #d4dbcc;border-radius:7px;background:#faf9f2;overflow-wrap:anywhere}
.publication-study-citation{display:block;color:#345f55;text-decoration:underline;text-underline-offset:3px;font-size:13px;line-height:1.75}
.publication-study-detail{margin-top:12px;padding-top:11px;border-top:1px solid var(--rule)}
.publication-study-detail summary{cursor:pointer;font-size:12px;line-height:1.7;color:#435f4d;min-height:32px}
.publication-study-detail p{font-size:12px;line-height:1.75;color:#5d6958;margin:10px 0}
.publication-study-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.publication-study-actions button{flex:1 1 190px;min-width:0;max-width:100%;min-height:44px;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:9px 11px;border:1px solid #cbd6c3;border-radius:5px;background:#eff2e6;color:#345a49;font-size:12px;line-height:1.6;cursor:pointer}
@media(max-width:760px){.publication-studies-grid{grid-template-columns:1fr}.published-studies{scroll-margin-top:110px}.publication-study-card{padding:15px}.publication-study-detail summary{min-height:44px}}
@media(max-width:360px){.publication-study-card{padding:12px}.publication-study-actions button{flex-basis:100%}}

/* Local image inspection: the same full-frame asset, up to its source pixels. */
.photo-dialog{width:min(1460px,calc(100% - 32px));max-height:calc(100dvh - 24px);border-radius:14px}
.photo-dialog-body{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.85fr);align-items:start}
.photo-dialog-media{min-width:0;border-right:1px solid var(--rule);background:#eeeee4}
.photo-dialog .photo-details{min-width:0;padding:20px 24px 28px;overflow-wrap:anywhere}
.photo-dialog .photo-details>p:first-child{margin-top:0}
.photo-provenance-details,.photo-object-evidence{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--rule);font-size:12px;line-height:1.75}
.photo-provenance-details>summary,.photo-object-evidence>summary{min-height:44px;padding:10px 0;color:#365c49;font-size:12px;cursor:pointer}
.photo-provenance-details>p{margin:8px 0}
.photo-dialog .photo-stage{min-width:0}
.photo-dialog .photo-full{display:block;min-width:0;padding:0;overflow:hidden}
.photo-zoom-viewer{min-width:0;width:100%}
.photo-zoom-controls{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:10px 12px;border-bottom:1px solid #cbd2c6;background:#f6f6ed}
.photo-zoom-controls button{min-width:44px;min-height:44px;padding:8px 11px;border:1px solid #c4cebc;border-radius:6px;background:#fffef7;color:#345748;font:12px/1.3 system-ui,sans-serif;cursor:pointer}
.photo-zoom-controls .photo-zoom-in,.photo-zoom-controls .photo-zoom-out{font-size:21px;padding:6px}
.photo-zoom-controls button:disabled{opacity:.48;cursor:default}
.photo-zoom-readout{font:11px/1.5 system-ui,sans-serif;color:#536451;margin-left:auto;padding:4px;white-space:nowrap}
.photo-viewport{height:clamp(340px,59dvh,680px);width:100%;overflow:auto;overscroll-behavior:contain;background:#e4e3d9;scroll-behavior:auto;scrollbar-gutter:stable}
.photo-viewport:focus-visible{outline:3px solid #9b5c35;outline-offset:-3px}
.photo-zoom-plane{box-sizing:border-box;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;perspective:1100px}
.photo-viewport .photo-zoom-plane>img,.photo-full .photo-viewport img{display:block;flex:none;max-width:none;max-height:none;object-fit:contain;margin:0;transition:filter .18s ease-out,transform .18s ease-out}
.photo-zoom-hint{margin:0;padding:9px 13px;font-size:11px;line-height:1.6;color:#596650;border-top:1px solid #cbd2c6;background:#f1f2e6}
.photo-dialog .photo-original{padding:34px 14px 14px;align-self:stretch;flex:1;min-width:0;align-content:center}
.photo-dialog .photo-original>img{width:100%;height:min(59dvh,680px);object-fit:contain;max-width:100%}
.photo-reference-strip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:12px;background:#f3f3e9;border-bottom:1px solid #d3dac9}
.photo-reference-strip[hidden]{display:none!important}
.photo-reference{position:relative;flex:0 0 72px;width:72px;min-height:82px;padding:5px;border:2px solid transparent;border-radius:6px;background:#e4e6dc;cursor:pointer}
.photo-reference img{display:block;width:58px;height:65px;object-fit:contain}
.photo-reference>span{position:absolute;right:3px;bottom:3px;font:10px/1.4 system-ui,sans-serif;background:#315548;color:#fff;padding:1px 5px;border-radius:3px}
.photo-reference[aria-current=true]{border-color:#426b56;background:#fffef4}
.photo-source-comparison-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:#f7f7ee;border-top:1px solid #d3dac9}
.photo-compare-pick,.photo-open-source-comparison,.photo-compare-launch,.photo-compare-clear,.photo-compare-remove,.photo-comparison-record{min-height:44px;max-width:100%;border:1px solid #bdcbb5;border-radius:6px;padding:10px 12px;background:#f7f8ed;color:#365c49;font:12px/1.5 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.photo-strip .photo-compare-pick{width:100%;margin-top:10px;text-align:left}
.photo-card-role{font:10px/1.7 system-ui,sans-serif;color:#43624d;letter-spacing:.35px;margin:10px 0 4px;overflow-wrap:anywhere}
.photo-location-links{margin:18px 0;padding:15px;background:#edf1e5;border:1px solid #cad6bd;border-radius:6px}
.photo-location-link+.photo-location-link{border-top:1px solid #ccd6c2;margin-top:15px;padding-top:14px}
.photo-location-links .photo-location-relation{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#44634a}
.photo-location-links .photo-location-label{font-size:13px;line-height:1.6;margin:0 0 9px}
.photo-location-links a{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.photo-open-location{display:block;margin-top:12px;min-height:44px;padding:9px 12px;border:1px solid #b8c9aa;border-radius:5px;color:#31563f;background:#fffdf6;font-size:12px;cursor:pointer}
.photo-compare-pick[aria-pressed=true]{background:#315d4d;color:#fff;border-color:#315d4d}
.photo-open-source-comparison,.photo-compare-launch{background:#315d4d;color:#fff;border-color:#315d4d}
.photo-compare-pick:disabled,.photo-open-source-comparison:disabled,.photo-compare-launch:disabled,.photo-compare-clear:disabled{opacity:.5;cursor:default}
.photo-comparison-selection{padding:17px 18px;margin:20px 0 24px;background:#edf0e3;border:1px solid #cbd7be;border-radius:9px}
.photo-comparison-selection[hidden]{display:none!important}
.photo-comparison-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.photo-comparison-heading h3{font:21px/1.3 Georgia,serif;color:#345845;margin:0}
.photo-comparison-status{font:12px/1.65 system-ui,sans-serif;color:#576750;margin:5px 0 10px}
.photo-comparison-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 14px}
.photo-comparison-items:empty{display:none}
.photo-comparison-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;background:#fffef6;border:1px solid #d3ddca;border-radius:7px;min-width:0}
.photo-comparison-item img{width:40px;height:55px;object-fit:contain}
.photo-comparison-item>span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.photo-comparison-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.photo-comparison-dialog{width:min(1560px,calc(100% - 32px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #bec8b5;border-radius:14px;background:#faf8f1;color:var(--ink);overflow:auto;box-shadow:0 20px 80px #152c3370}
.photo-comparison-dialog::backdrop{background:#142e2acc;backdrop-filter:blur(3px)}
.photo-comparison-dialog h2{font:28px/1.3 Georgia,serif;margin:0}
.photo-comparison-close{font-size:24px;min-width:44px;width:44px;height:44px;flex-shrink:0;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer;color:inherit}
.photo-comparison-description{margin:0;padding:13px 20px;font:12px/1.7 system-ui,sans-serif;color:#5b6852;border-bottom:1px solid var(--rule)}
.photo-comparison-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.photo-comparison-source{min-width:0;padding:18px;background:#faf9f1;overflow-wrap:anywhere}
.photo-comparison-source+.photo-comparison-source{border-left:1px solid var(--rule)}
.photo-comparison-source>h3{font:24px/1.3 Georgia,serif;margin:0 0 10px;color:#345845;min-height:2.6em}
.photo-comparison-source>.photo-type{font-size:10px;line-height:1.7;margin:0 0 14px}
.photo-comparison-source .photo-viewport{height:clamp(300px,52dvh,620px)}
.photo-comparison-evidence{font-size:13px;line-height:1.75;padding:10px 3px 0}
.photo-comparison-evidence p{margin:9px 0}
.photo-comparison-evidence>a{display:inline-block;font-size:12px;color:#345f55;min-height:44px;padding:10px 0;text-underline-offset:3px;margin-right:12px}
.photo-comparison-record{display:block;margin-top:8px;background:#315d4d;color:white;border-color:#315d4d;text-align:left}
.photo-dialog .photo-pager button,.photo-dialog .photo-view-controls select,.photo-dialog .photo-reset,.photo-dialog .photo-related-records button,.photo-examples button{min-height:44px}
.photo-dialog button:focus-visible,.photo-comparison-dialog button:focus-visible,.photo-compare-pick:focus-visible,.photo-comparison-selection button:focus-visible{outline:3px solid #a95f36;outline-offset:2px}
@media(min-width:1001px){
 .photo-dialog[open]{display:flex;flex-direction:column;height:calc(100dvh - 24px);overflow:hidden}
 .photo-dialog>.photo-dialog-top{flex:0 0 auto;position:relative;top:auto}
 .photo-dialog-body{flex:1 1 auto;min-height:0;align-items:stretch;overflow:hidden}
 .photo-dialog-media,.photo-dialog .photo-details{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:1000px){
 .photo-dialog-body{grid-template-columns:1fr}.photo-dialog-media{border-right:0;border-bottom:1px solid var(--rule)}
 .photo-dialog .photo-viewport{height:clamp(330px,57dvh,600px)}
}
@media(max-width:760px){
 .photo-dialog,.photo-comparison-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:10px}
 .photo-dialog .photo-dialog-top,.photo-comparison-dialog .photo-dialog-top{padding:10px 12px}
 .photo-dialog .photo-details{padding:16px}.photo-dialog .photo-viewport{height:clamp(300px,48dvh,480px)}
 .photo-dialog .photo-original>img{height:35dvh}.photo-dialog .photo-stage.is-comparing .photo-full .photo-viewport{height:35dvh;min-height:250px}
 .photo-comparison-items,.photo-comparison-panels{grid-template-columns:1fr}
 .photo-comparison-selection{padding:14px}.photo-comparison-source{padding:13px}
 .photo-comparison-source+.photo-comparison-source{border-left:0;border-top:1px solid var(--rule)}
 .photo-comparison-source>h3{font-size:22px;min-height:0}.photo-comparison-dialog h2{font-size:23px}
 .photo-comparison-source .photo-viewport{height:40dvh;min-height:280px}.photo-comparison-description{padding:12px 14px}
 .photo-zoom-controls{padding:8px;gap:4px}.photo-zoom-hint{font-size:11px}.photo-reference-strip{padding:10px}
 .photo-comparison-item{grid-template-columns:34px minmax(0,1fr) auto;gap:6px}.photo-comparison-item img{width:34px}
 .photo-source-comparison-actions>button{flex:1 1 150px}.photo-compare-remove{padding:8px;font-size:11px}
 .photo-dialog .photo-view-controls select{font-size:16px}.photo-dialog .photo-compare-label{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.photo-viewport .photo-zoom-plane>img,.photo-full .photo-viewport img{transition:none}}
.photo-sharing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:12px 0;margin:8px 0;border-top:1px solid var(--rule)}
.photo-sharing-actions .photo-share-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;color:#345f55;text-underline-offset:3px;overflow-wrap:anywhere}
.photo-copy-link{min-height:44px;padding:9px 12px;border:1px solid #c4cebc;border-radius:6px;background:#f8f9ee;color:#345748;font-size:12px;line-height:1.5;cursor:pointer}
.photo-share-status{flex-basis:100%;font-size:11px;line-height:1.6;color:#52644f}
.photo-share-status:empty{display:none}
.photo-comparison-dialog>.photo-sharing-actions{margin:0;padding:8px 20px;border-top:0;border-bottom:1px solid var(--rule);background:#f3f4e9}
.photo-comparison-evidence .photo-related-records{display:flex;align-items:start;flex-direction:column;gap:6px}
.photo-comparison-evidence .photo-related-records>p{margin:0}
.photo-comparison-evidence .photo-comparison-record{max-width:100%;margin:0;min-height:44px;padding:10px 13px;white-space:normal;overflow-wrap:anywhere;border-radius:5px;cursor:pointer;font-size:12px}
