:root{--motion-spring:cubic-bezier(.34,1.56,.64,1)}
button{touch-action:manipulation;transition:transform 110ms ease,box-shadow 110ms ease}
button.motion-pressed:not(:disabled){transform:scale(.96)!important;box-shadow:inset 0 3px 7px #24232155!important}
.motion-submit{position:relative!important;isolation:isolate;width:var(--motion-width)!important;height:var(--motion-height)!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;padding:0!important;color:var(--ink)!important;opacity:1!important}
.motion-submit:before{content:'';position:absolute;z-index:-1;inset:-2px;border:2px solid var(--line);border-radius:8px;background:var(--highlight);box-shadow:3px 3px 0 var(--line);transition:inset 300ms var(--motion-spring),border-radius 300ms var(--motion-spring),background 180ms ease}
.motion-label{transition:opacity 120ms ease}.motion-signal{position:absolute;inset:0;display:grid;place-items:center;opacity:0}
.motion-submit:is(.is-loading,.is-success,.is-error):before{inset:-2px calc((100% - var(--motion-height))/2 - 2px);border-radius:50%;box-shadow:1px 2px 0 var(--line)}
.motion-submit:is(.is-loading,.is-success,.is-error) .motion-label{opacity:0}
.motion-submit:is(.is-loading,.is-success,.is-error) .motion-signal{opacity:1}
.is-loading .motion-signal:after{content:'';height:18px;width:18px;border:2px solid #24232130;border-top-color:var(--ink);border-radius:50%;animation:motion-spin 650ms linear infinite}
.motion-submit.is-success:before{background:#237345;border-color:#1b5736}.motion-submit.is-error:before{background:#a1303a;border-color:#7c242b}
.motion-signal svg,.hold-delete>svg:not(.hold-ring){width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.motion-submit:is(.is-success,.is-error) .motion-signal{color:white;font-size:22px}
button.hold-delete{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:48px!important;height:48px!important;min-width:48px;padding:0!important;border-radius:50%!important;color:#a1303a;background:#fffdf6;font-size:13px!important;vertical-align:middle;user-select:none;-webkit-touch-callout:none;touch-action:none}
.hold-ring{position:absolute;inset:-2px;width:48px;height:48px;transform:rotate(-90deg);pointer-events:none}.hold-ring circle{fill:none;stroke:#b23940;stroke-width:3;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}
button.hold-delete.hold-done{width:auto!important;min-width:104px;border-radius:24px!important;padding:0 12px!important;background:#237345;color:#fff;border-color:#1b5736}
.motion-notice{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10002;max-width:calc(100% - 32px);padding:10px 18px;border-radius:12px;background:#242321;color:#fff;box-shadow:0 3px 16px #0003;font-size:14px;pointer-events:none}
.original-stage{display:flex;align-items:center;justify-content:center;background:#f3eee5;border-radius:6px;overflow:hidden;transform-origin:0 0;max-width:100%;max-height:calc(100dvh - 155px)}
.original-stage .original-photo{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
@keyframes motion-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button,.motion-submit:before,.motion-label{transition:none!important}.is-loading .motion-signal:after{animation:none;border-style:dotted}button.motion-pressed:not(:disabled){transform:none!important}}
