.lock-stage{position:absolute;inset:0;overflow:hidden;--lock-y:0px;--unlock-progress:0;background:#d8e3e8;touch-action:none;user-select:none;-webkit-user-select:none}
.lock-stage .lock-screen{position:absolute;inset:0;z-index:2;transform:translate3d(0,var(--lock-y),0);will-change:transform;touch-action:none;box-shadow:0 20px 50px #10203140}
.lock-stage button{touch-action:none}
.unlock-home-preview{position:absolute;inset:0;pointer-events:none;transform:scale(calc(1.08 - var(--unlock-progress)*.08));filter:blur(calc(7px - var(--unlock-progress)*7px));opacity:calc(.6 + var(--unlock-progress)*.4);will-change:transform,filter}
.lock-stage.is-settling .lock-screen,.lock-stage.is-settling .unlock-home-preview{transition:transform .33s cubic-bezier(.2,.9,.2,1),filter .33s,opacity .33s}
.lock-stage.is-unlocking .lock-screen,.lock-stage.is-unlocking .unlock-home-preview{transition:transform .35s cubic-bezier(.22,.72,.2,1),filter .35s,opacity .35s}
.lock-stage .lock-hint{margin-top:32px;min-height:35px;font-size:12px;font-weight:500;text-shadow:0 1px 8px #0007;letter-spacing:.1px;transition:opacity .15s}
.lock-stage .lock-hint svg{display:none}
.lock-stage.is-dragging .lock-hint,.lock-stage.is-unlocking .lock-hint{opacity:0}
.phone-screen:has(.lock-stage)>.home-indicator{touch-action:none;height:32px;bottom:0;cursor:grab}
.phone-screen:has(.lock-stage.is-dragging)>.home-indicator{cursor:grabbing}
.phone-screen:has(.lock-stage)>.home-indicator:after{top:auto;bottom:8px}
@media(prefers-reduced-motion:reduce){.lock-stage .lock-screen,.unlock-home-preview{transition:none!important}.unlock-home-preview{filter:none;transform:none}}
.no-motion .unlock-home-preview{filter:none;transform:none}
