.photo-interaction{position:absolute;z-index:5;pointer-events:none;color:#f4f1e8}
.photo-interaction:not([hidden]) .photo-action,.photo-interaction:not([hidden]) .photo-sleeve,.photo-interaction:not([hidden]) .photo-shutter{animation:photoPromptIn .3s ease-out both}
@keyframes photoPromptIn{from{opacity:0}to{opacity:1}}
.photo-interaction button{pointer-events:auto;touch-action:manipulation}
.photo-action{position:absolute;right:5%;bottom:7%;display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:15px 22px;background:#263b31dc;border:1px solid #f4f1e84d;border-left:2px solid #dedbc2;border-radius:0;color:#f4f1e8;text-align:left;box-shadow:0 5px 24px #16271c25}
.photo-action>span{font:400 clamp(16px,2vw,25px) "STSong","SimSun",serif;letter-spacing:2px}
.photo-action>small{font:10px "Microsoft YaHei",sans-serif;letter-spacing:1px;opacity:.74}
.photo-action:hover,.photo-action:focus-visible{background:#354e40;color:#fffbed;border-color:#f4f1e8a0}
.photo-interaction[data-kind=closer] .photo-action{right:4%;bottom:7%;background:#263b31c9;padding:11px 16px}
.photo-interaction[data-kind=closer] .photo-action>span{font-size:clamp(14px,1.6vw,20px)}
.photo-sleeve{position:absolute;transform:translate(-50%,-50%);width:62px;height:62px;border:0;border-radius:50%;padding:0;background:transparent;display:grid;place-items:center}
.photo-sleeve>span{width:9px;height:9px;border-radius:50%;background:#fffbed;box-shadow:0 0 7px 3px #fff9e8bb,0 0 20px 9px #f8edc460;animation:sleeveGlow 2.6s ease-in-out infinite}
.photo-sleeve:hover{background:#fffbed12}
.photo-sleeve:focus-visible{outline:1px solid #fffbed;outline-offset:0}
.photo-shutter{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);border:0;background:transparent;padding:0 12px;color:#fffbed;display:flex;flex-direction:column;align-items:center;gap:8px}
.photo-shutter>span{width:52px;height:52px;border-radius:50%;border:1px solid #fffbed;background:#fffbed20;display:grid;place-items:center;box-shadow:0 2px 18px #18352440}
.photo-shutter>span:after{content:'';width:38px;height:38px;border-radius:50%;background:#f4f1e8;box-shadow:0 1px 7px #15301c50}
.photo-shutter:hover>span{background:#fffbed55}.photo-shutter>small{font:12px "STSong","SimSun",serif;letter-spacing:3px;text-shadow:0 2px 7px #12251a}
.photo-captured{position:absolute;inset:0;border:12px solid #f4f1e8;border-bottom-width:35px;box-shadow:inset 0 0 0 1px #28382d66}
.photo-captured:before{content:'';position:absolute;inset:0;background:#fffbed;opacity:0;animation:shutterFlash 220ms ease-out both}
.photo-captured>span{position:absolute;bottom:-26px;left:0;right:0;text-align:center;color:#52634e;font:12px "STKaiti","KaiTi",serif;letter-spacing:4px}
@keyframes sleeveGlow{0%,100%{opacity:.7;transform:scale(.92)}50%{opacity:1;transform:scale(1.1)}}
@keyframes shutterFlash{0%{opacity:.55}100%{opacity:0}}
@media(max-width:760px){.photo-action{padding:12px 16px;gap:6px}.photo-action>small{font-size:9px}.photo-sleeve{width:48px;height:48px}.photo-shutter>span{width:44px;height:44px}.photo-shutter>span:after{width:32px;height:32px}.photo-shutter>small{font-size:10px}.photo-captured{border-width:7px;border-bottom-width:29px}.photo-captured>span{bottom:-23px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.photo-sleeve>span,.photo-captured:before,.photo-interaction:not([hidden]) .photo-action,.photo-interaction:not([hidden]) .photo-sleeve,.photo-interaction:not([hidden]) .photo-shutter{animation:none}.photo-captured:before{display:none}}
