.photo-invitation[hidden]{display:none!important}
.photo-invitation{position:fixed;right:0;top:40%;z-index:42;width:44px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:18px 12px;background:#f5f4f0;color:#292929;border:1px solid #d1d0c9;border-right:0;font:10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.8px;filter:drop-shadow(0 7px 7px rgba(41,41,41,.12));transition:transform .4s cubic-bezier(.22,.8,.18,1)}
.photo-invitation:after{content:'';position:absolute;left:calc(100% - 1px);top:-1px;bottom:-1px;width:36px;background:#f5f4f0;border-top:1px solid #d1d0c9;border-bottom:1px solid #d1d0c9;pointer-events:none}
.photo-invitation-face{display:contents}
.photo-invitation-label{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap}
.photo-invitation-arrow{font-size:15px;line-height:1;transition:transform .4s}
.photo-invitation:hover,.photo-invitation:focus-visible{transform:translateX(-9px)}
.photo-invitation:hover .photo-invitation-arrow{transform:translateX(3px)}
.photo-invitation.is-arriving{animation:photo-invitation-arrive 2.4s cubic-bezier(.22,.8,.18,1) both}
.photo-scene-outgoing{position:fixed;left:0;right:0;z-index:80;overflow:hidden;pointer-events:none;background:#f5f4f0;contain:paint}
.photo-scene-outgoing *{pointer-events:none!important}
.photo-return{display:block;font:10px/2 'IBM Plex Mono',monospace;letter-spacing:.6px;border-bottom:1px solid #b8b8b0;padding-bottom:4px;margin:0 0 26px;width:max-content;min-height:36px}
@keyframes photo-invitation-arrive{0%,12%{transform:translateX(100%)}38%,55%{transform:translateX(var(--photo-peek,-14px))}85%,100%{transform:translateX(0)}}
@media(max-width:1000px){.photo-invitation{--photo-peek:-7px;min-height:128px;padding:0;gap:0;font-size:9px;background:transparent;border:0;display:block;filter:drop-shadow(0 4px 5px rgba(41,41,41,.09))}.photo-invitation-face{display:flex;position:absolute;right:0;top:0;bottom:0;width:28px;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:10px 4px;background:#f5f4f0;border:1px solid #d1d0c9;border-right:0}.photo-invitation:after{top:0;bottom:0}.photo-invitation:hover,.photo-invitation:focus-visible{transform:translateX(-5px)}.photo-invitation-arrow{font-size:13px}.photo-return{min-height:44px}}
@media(prefers-reduced-motion:reduce){.photo-invitation,.photo-invitation.is-arriving{animation:none;transition:none}.photo-invitation-arrow{transition:none}}
