/* Motion stays cosmetic: normal browser scrolling, usable controls, visible content. */
.scroll-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#d9f478,#f2a5c7);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
button,a.button,.studio-steps>a,.gallery-card,.invitation-item{transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease}
button:not(:disabled):active,a.button:active,.studio-steps>a:active{transform:scale(.97)}
.motion-art{transform:translate3d(0,var(--art-y,0px),0) scale(calc(var(--art-scale,1) + var(--art-hover,0)));transition:transform 220ms ease-out;transform-origin:center}
.intro-mark{animation:chog-bob 6s ease-in-out infinite}
@keyframes chog-bob{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -7px;rotate:1deg}}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover,a.button:hover{transform:translateY(-2px);box-shadow:0 5px 0 rgba(36,48,36,.12)}.studio-steps>a:hover,.gallery-card:hover,.invitation-item:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(36,48,36,.1)}.gallery-card:hover .motion-art,.parent-art:hover .motion-art,.sticker-card:hover .motion-art{--art-hover:.025}}
.artwork-enlarge{margin:12px 0 0;font-size:12px;padding:10px 14px}
.artwork-viewer-open{overflow:hidden}
.artwork-viewer{width:min(1100px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:16px;border:2px solid #243024;border-radius:20px;background:#f7f6ed;color:#243024;box-shadow:0 20px 80px #0004}
.artwork-viewer::backdrop{background:#172215b8;backdrop-filter:blur(5px)}
.artwork-viewer-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.artwork-viewer-toolbar h2{margin:0 auto 0 0;font-size:20px;letter-spacing:-.4px}.artwork-viewer-toolbar button{padding:12px 16px;white-space:nowrap}
.artwork-viewer-stage{max-height:calc(100dvh - 140px);overflow:auto;border-radius:12px;background:#e9eedf;text-align:center;overscroll-behavior:contain}.artwork-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 140px);margin:auto}.artwork-viewer-stage.is-zoomed img{width:150%;min-width:100%;max-width:none;max-height:none}
@media(max-width:600px){.artwork-viewer-toolbar{flex-wrap:wrap;gap:10px}.artwork-viewer-toolbar h2{flex:1 0 100%}.artwork-viewer-toolbar button{flex:1}.artwork-viewer-stage,.artwork-viewer-stage img{max-height:calc(100dvh - 185px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.intro-mark{animation:none!important}.motion-art{transform:none!important;transition:none!important}button,a.button,.studio-steps>a,.gallery-card,.invitation-item{transition:none!important;transform:none!important}.scroll-progress{display:none}}
