.swipe-gesture{touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain}.swipe-dragging{cursor:grabbing!important;user-select:none}.swipe-gesture img{-webkit-user-drag:none;user-select:none}.swipe-effect{position:relative;isolation:isolate;overflow:hidden}.swipe-effect::after{content:'';position:absolute;inset:-15%;z-index:12;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#bca88b33 42%,#f2e7d347 48%,transparent 68%),radial-gradient(ellipse at 28% 46%,#b4a18b25 0 2%,transparent 2.3%),radial-gradient(ellipse at 37% 57%,#b4a18b25 0 1%,transparent 1.3%);opacity:0}.swipe-effect.swipe-changing::after{animation:gallery-ink-wash .48s ease-out both}@keyframes gallery-ink-wash{0%{transform:translateX(-45%) skewX(-10deg);opacity:0}35%{opacity:.8}100%{transform:translateX(45%) skewX(-10deg);opacity:0}}
.photo-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;cursor:grab}.photo-dialog .photo-stage #full-photo{max-height:calc(83dvh - 155px);max-width:86vw;object-fit:contain}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px}.photo-navigation>button{border:1px solid #8c795f;color:#e4d4bd;background:transparent;min-width:42px;height:42px;font-size:20px;padding:0}.photo-navigation>div{text-align:center;min-width:0}.photo-dialog #photo-caption{margin:0 0 4px;font-size:12px}.photo-counter{font-size:8px;letter-spacing:1.4px;color:#b8a182}.photo-dots{display:flex;justify-content:center;gap:9px;margin-top:12px}.photo-dots button{padding:0;width:6px;height:6px;min-height:0;border:0;border-radius:50%;background:#71634f;outline-offset:5px}.photo-dots button[aria-current=true]{background:#d7b999}.photo-swipe-hint{display:block;text-align:center;font-size:8px;color:#a99475;letter-spacing:.3px;margin:12px 0 6px}.photo-dialog>small:last-child{display:block;text-align:center;margin-top:7px}
.work-art{cursor:grab}.master-swipe-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ccb99a;padding:10px 0 13px;margin-top:20px}.master-swipe-bar>span{font-size:8px;color:#a08a6b}.master-swipe-bar>div{display:flex;gap:7px}.master-swipe-bar button{width:33px;height:30px;border:1px solid #bca587;background:transparent;color:#8b7150;font-size:16px;padding:0}.work-swipe-hint{display:block;text-align:center;font-size:8px;color:#a18a69;margin:8px 0 0}.portraits.is-scrolling .portrait{filter:brightness(.9)}.portraits .portrait{transition:filter .22s}.profile-layout.swipe-effect::after{z-index:20}.profile-content .master-swipe-bar{margin-top:15px}.profile-content{touch-action:pan-y pinch-zoom}
@media(max-width:650px){.photo-dialog .photo-stage #full-photo{max-height:calc(84dvh - 160px);max-width:85vw}.photo-navigation{gap:12px}.photo-dialog #photo-caption{font-size:11px}.photo-navigation>button{width:41px;height:41px}.photo-swipe-hint{font-size:9px}.master-swipe-bar>span{font-size:8px;line-height:1.7}.master-swipe-bar button{width:37px;height:34px}.work-swipe-hint{font-size:9px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.swipe-effect.swipe-changing::after{animation:none}.portraits .portrait{transition:none}}

.photo-dots{gap:2px;margin-top:5px}.photo-dots button{width:24px;height:24px;background:none;display:flex;align-items:center;justify-content:center}.photo-dots button::after{content:"";width:6px;height:6px;border-radius:50%;background:#71634f}.photo-dots button[aria-current=true]{background:none}.photo-dots button[aria-current=true]::after{background:#d7b999}

.profile-layout.swipe-effect{overflow:visible}

.profile-dialog{overflow-x:hidden}.profile-layout.swipe-effect::after{inset:0}
