/* P4: two quiet side rails, one shutter and one real scene-depth control. */
.instant-viewfinder.optical-finder{background:none}
.optical-finder:after{display:none}
.finder-aperture{position:absolute;border:1px solid #f8fff0a0;box-shadow:0 0 0 300vmax #102219a8;overflow:visible}
.finder-lens{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 68%,#19302418 88%,#07110d29 100%)}
.finder-focus{position:absolute;left:50%;top:50%;width:32px;height:28px;transform:translate(-50%,-50%);opacity:.55;border:1px solid #faffefb3;background:transparent;border-radius:2px}
.finder-focus-lock{animation:finder-settle .45s ease-out;border-color:#c4e2ad}
.finder-focus[data-found=false]{border-color:#e7e5ce}
@keyframes finder-settle{0%{transform:translate(-50%,-50%) scale(1.2);opacity:.4}60%,100%{transform:translate(-50%,-50%) scale(1);opacity:.9}}
.instant-viewfinder .finder-readout{position:absolute;inset:auto 0 10px;text-align:center;font:10px 'Segoe UI','Microsoft YaHei',sans-serif;letter-spacing:2px;color:#fffff0b3;text-shadow:0 1px 4px #152719}
.instant-viewfinder.optical-finder i{width:14px;height:14px}
.instant-viewfinder.optical-finder i:nth-of-type(1){top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.instant-viewfinder.optical-finder i:nth-of-type(2){top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}
.instant-viewfinder.optical-finder i:nth-of-type(3){bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}
.instant-viewfinder.optical-finder i:nth-of-type(4){bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}
.finder-rail{position:absolute;z-index:7;display:none;flex-direction:column;gap:4px;padding:5px 3px;transform:translateY(-50%);width:44px;border-radius:24px;background:#173128b8;border:1px solid #ffffff23;backdrop-filter:blur(8px)}
.instant-camera[data-phase=composing] .finder-rail{display:flex}
.finder-rail button{display:grid;place-items:center;width:36px;min-height:36px;margin:auto;border:0;border-radius:50%;padding:2px;background:transparent;color:#e6ecdfc9;font-size:11px;letter-spacing:0;transition:color .18s,background .18s}
.finder-rail button[aria-checked=true]{background:#f8f7ed;color:#344b3d;box-shadow:0 1px 5px #08130e22}
.finder-rail button:hover:not([aria-checked=true]){background:#ffffff18;color:white}
.finder-rail button:focus-visible{outline:2px solid #f8e1ac;outline-offset:2px}
.instant-camera .instant-compose{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:26px;bottom:max(20px,env(safe-area-inset-bottom));width:min(420px,calc(100% - 36px));max-width:calc(100% - 36px)}
.instant-camera .instant-compose[hidden]{display:none!important}
.instant-camera .instant-shutter{flex:none;display:grid;place-items:center;width:62px;height:62px;min-height:62px;padding:5px;border-radius:50%;background:#f4f5e9;color:#314b3d;box-shadow:0 4px 16px #17251d40}
.instant-camera .instant-shutter i{width:46px;height:46px;border:1px solid #728570;background:#f8f9ef;box-shadow:inset 0 0 0 3px #f8f9ef,inset 0 0 0 4px #8a9a7d}
.instant-camera .instant-shutter span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.instant-depth{display:grid;grid-template-columns:1fr;gap:4px;min-width:0;width:180px;color:#f4f5e5;font:10px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;letter-spacing:.5px;text-shadow:0 1px 4px #17291d}
.instant-depth input{width:100%;margin:0;min-height:24px;accent-color:#f7f6e9;cursor:ew-resize}
.instant-depth input:disabled{opacity:.35;cursor:not-allowed}
.depth-scale{display:flex;justify-content:space-between;color:#f0f4dfa3;font-size:9px}
/* A previous ready backdrop or an enlarged white camera back must never mimic a shutter. */
.instant-camera:is([data-phase=opening],[data-phase=raising],[data-phase=composing],[data-phase=loading]) .instant-shade{background:transparent!important;backdrop-filter:none!important;transition:none}
.instant-camera:not([data-phase=shutter]) .instant-flash{opacity:0!important;visibility:hidden}
.instant-camera .instant-flash[hidden]{display:none!important}
.instant-camera[data-phase] .instant-print{transform:translate(-50%,-50%) rotate(0deg);filter:drop-shadow(0 13px 20px #17271926);top:42%;width:min(64vw,620px,calc((100dvh - 245px) * var(--print-ratio)))}
.instant-camera .instant-actions{max-width:calc(100% - 28px);white-space:normal;gap:9px}
.instant-camera .photo-share-controls{flex-wrap:wrap;justify-content:center}
@media(max-width:650px){.instant-camera .instant-compose{gap:22px}.instant-depth{width:150px}.instant-camera[data-phase] .instant-print{top:42%;width:min(88vw,calc((100dvh - 235px) * var(--print-ratio)))}}
@media(max-height:550px) and (min-width:651px){
 .instant-camera .instant-compose{bottom:12px;gap:24px}
 .instant-camera .instant-shutter{width:54px;height:54px;min-height:54px}.instant-camera .instant-shutter i{width:40px;height:40px}
 .instant-camera[data-phase] .instant-print{left:33%;top:50%;width:min(52vw,calc(76dvh * var(--print-ratio)))}
 .instant-camera .instant-actions{left:79%;bottom:50%;transform:translate(-50%,50%);width:35%;max-width:35%}
}
@media(prefers-reduced-motion:reduce){.finder-focus-lock{animation:none}.finder-rail button{transition:none}}
.site-share-dialog .site-invitation{display:block}
.site-share-dialog .site-share-qr{display:block;width:240px;max-width:100%;height:auto;margin:15px auto 0;padding:0;border:0;border-radius:0;background:#fcfbf5}
.site-share-dialog .site-share-qr[hidden]{display:none!important}
.original-image-dialog{box-sizing:border-box;width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cad1c2;border-radius:10px;background:#fcfbf5;color:#314b3d;padding:18px;font:14px/1.6 'Segoe UI','Microsoft YaHei',sans-serif}
.original-image-dialog::backdrop{background:#0c181dc9}
.original-image-dialog header{position:sticky;top:-18px;z-index:1;background:#fcfbf5;display:flex;justify-content:space-between;align-items:center}
.original-close{min-width:44px;min-height:44px;background:transparent;border:0;font-size:28px;color:#314b3d}
.original-help{font-size:12px;color:#66715f}
.original-image{display:block;width:100%;height:auto;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}
.original-download{margin:14px 0 0;padding:10px 16px;border:1px solid #bec9b5;border-radius:5px;background:#f6f7ef;color:#314b3d;font:inherit}
.original-image-dialog button:focus-visible{outline:2px solid #9c583a;outline-offset:3px}
@media(min-height:551px){.instant-camera .instant-actions{width:min(440px,calc(100% - 28px))}}
/* The invisible previous print must not intercept focus/drag after retaking. */
.instant-camera:not([data-phase=ready]) .instant-print{pointer-events:none}
