#access-modal{min-height:100dvh;box-sizing:border-box;padding-top:calc(clamp(22px,4vmin,48px) + env(safe-area-inset-top));padding-right:clamp(20px,4vmin,48px);padding-bottom:calc(clamp(22px,4vmin,48px) + env(safe-area-inset-bottom) + var(--first-time-panel-height,0px));padding-left:clamp(20px,4vmin,48px);overflow-y:auto}
.access-panel{width:min(88vw,680px);transform:translateY(clamp(-22px,-2.5dvh,-8px))}.emblem-origin{display:block;width:100vw;max-width:none;height:auto;aspect-ratio:500/420;margin:0 0 0 50%;transform:translateX(-50%);overflow:hidden;background:transparent}.access-panel p{margin:clamp(16px,2.4vmin,30px) 0 0;font-size:clamp(15px,2vmin,24px);transition:opacity 480ms ease,filter 480ms ease,transform 480ms ease}#access-form{grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(14px,2vmin,24px);margin-top:clamp(20px,3vmin,38px);transition:opacity 480ms ease,filter 480ms ease,transform 480ms ease}#access-form label{min-width:0}#access-form input{height:clamp(58px,7vmin,80px);font-size:clamp(31px,4.6vmin,52px)}
.access-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;width:min(78vw,286px);margin:0 auto;touch-action:manipulation;-webkit-user-select:none;user-select:none}.access-key,.access-key-spacer{width:100%;min-width:0;aspect-ratio:1.24/1}.access-key{display:grid;place-items:center;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--color-line-strong) 74%,transparent);border-radius:18px;background:color-mix(in srgb,var(--color-canvas) 93%,var(--color-primary) 7%);color:var(--color-text-strong);font:var(--font-medium) clamp(22px,5.7vw,28px) var(--font-sans);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 90ms ease,border-color 120ms ease,background 120ms ease}.access-key:active{transform:scale(.96);border-color:var(--color-primary);background:color-mix(in srgb,var(--color-canvas) 84%,var(--color-primary) 16%)}.access-key:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.access-key-peach{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--color-primary-strong) 54%,var(--color-line-strong));background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--color-primary-strong) 13%,transparent),transparent 58%),color-mix(in srgb,var(--color-canvas) 94%,var(--color-primary) 6%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary-strong) 4.5%,transparent),0 0 18px color-mix(in srgb,var(--color-primary) 8%,transparent)}.access-key-peach:active{border-color:var(--color-primary-strong);background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--color-primary-strong) 20%,transparent),transparent 60%),color-mix(in srgb,var(--color-canvas) 88%,var(--color-primary) 12%)}.access-peach-svg{display:block;width:54%;height:54%;overflow:visible;filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--color-canvas) 34%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,var(--color-primary-strong) 26%,transparent))}.access-peach-body{transform-origin:32px 34px}.access-peach-shimmer{animation:access-peach-shimmer 2.65s cubic-bezier(.42,0,.58,1) infinite}@keyframes access-peach-shimmer{0%,18%{transform:translateX(-10px);opacity:0}27%{opacity:.82}53%{opacity:.82}66%,100%{transform:translateX(92px);opacity:0}}.access-key-delete{border-color:transparent;background:transparent;color:var(--color-text-muted);font-size:clamp(21px,5vw,25px)}html.access-autosent .access-keypad{pointer-events:none;opacity:.48}#access-button{width:auto;min-height:var(--tap-min);padding:8px 4px;display:inline-block;justify-self:center;border:0;background:var(--gradient-primary-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(28px,3.4vmin,40px);font-weight:600;line-height:1;letter-spacing:.01em;filter:drop-shadow(0 0 10px var(--color-primary-soft));cursor:pointer}#access-button.hidden{display:none!important}#access-button:focus-visible{outline:1px solid var(--color-focus);outline-offset:6px}#access-button:disabled{opacity:.42;cursor:wait}
#access-modal.access-success-fading .access-panel>p,#access-modal.access-success-fading #access-form{opacity:0;visibility:hidden;filter:none;transform:none;pointer-events:none}body:has(.unlock-emblem-layer) #access-modal.emblem-building .access-panel>p,body:has(.unlock-emblem-layer) #access-modal.emblem-building #access-form{visibility:hidden;opacity:0;pointer-events:none}html.unlock-visual-running body{overflow:hidden!important}html.unlock-visual-running:not(.unlock-app-reveal) #private-app{visibility:hidden!important;opacity:0!important;pointer-events:none!important}html.unlock-visual-running #access-modal{overflow:hidden!important}
.unlock-emblem-layer{position:fixed;z-index:160;pointer-events:none;transform-origin:top left;will-change:transform,opacity;filter:drop-shadow(0 0 13px color-mix(in srgb,var(--color-primary) 32%,transparent));transition:transform 420ms cubic-bezier(.22,.82,.2,1),opacity 140ms ease}.unlock-emblem-prepared{pointer-events:none!important}.unlock-emblem-svg{display:block;width:100%;height:100%;overflow:visible}.unlock-emblem-piece{opacity:0;transform-box:fill-box;transform-origin:center;will-change:transform,opacity}.unlock-emblem-piece:nth-of-type(8n+1){--fly-x:-105vw;--fly-y:-42vh;--fly-r:-34deg}.unlock-emblem-piece:nth-of-type(8n+2){--fly-x:108vw;--fly-y:-28vh;--fly-r:29deg}.unlock-emblem-piece:nth-of-type(8n+3){--fly-x:-92vw;--fly-y:34vh;--fly-r:24deg}.unlock-emblem-piece:nth-of-type(8n+4){--fly-x:96vw;--fly-y:46vh;--fly-r:-31deg}.unlock-emblem-piece:nth-of-type(8n+5){--fly-x:-38vw;--fly-y:-92vh;--fly-r:18deg}.unlock-emblem-piece:nth-of-type(8n+6){--fly-x:42vw;--fly-y:94vh;--fly-r:-22deg}.unlock-emblem-piece:nth-of-type(8n+7){--fly-x:-110vw;--fly-y:5vh;--fly-r:-16deg}.unlock-emblem-piece:nth-of-type(8n){--fly-x:112vw;--fly-y:8vh;--fly-r:17deg}.unlock-emblem-piece.is-drawing{animation:emblem-piece-fly var(--piece-duration,900ms) cubic-bezier(.16,.84,.2,1.04) var(--piece-delay,0ms) forwards}@keyframes emblem-piece-fly{0%{opacity:0;transform:translate(var(--fly-x,0px),var(--fly-y,-60vh)) rotate(var(--fly-r,0deg)) scale(.72)}18%{opacity:1}78%{opacity:1;transform:translate(calc(var(--fly-x,0px)*-.018),calc(var(--fly-y,-60vh)*-.018)) rotate(calc(var(--fly-r,0deg)*-.025)) scale(1.018)}100%{opacity:1;transform:translate(0,0) rotate(0deg) scale(1)}}
.emblem-inside{transition:opacity 120ms ease}body.unlocking .emblem-inside{opacity:0}.emblem-inside.emblem-target-ready{opacity:0}.emblem-inside.emblem-target-visible{opacity:.9}html.unlock-visual-running .first-time-intro{visibility:hidden!important;opacity:0!important;pointer-events:none!important}html.unlock-visual-running .first-time-intro-card{animation:none!important}.location-confirm-button{display:block;width:100%;min-height:3.6rem;margin:.4rem 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-primary-strong) 52%,transparent);background:transparent;color:var(--color-primary-strong);font:inherit;font-size:1.08rem;text-transform:lowercase}.location-confirm-button.hidden{display:none!important}
@media(max-width:600px){.access-panel{width:min(92vw,420px);transform:none}.emblem-origin{width:100vw;max-width:none}.access-panel p{margin-top:10px}#access-form{margin-top:16px;gap:10px}#access-form input{height:54px;font-size:34px}}@media(max-height:720px){#access-modal{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom) + var(--first-time-panel-height,0px))}.access-panel{transform:none}.emblem-origin{width:100vw;max-width:none}.access-panel p{margin-top:6px}#access-form{margin-top:10px;gap:8px}#access-form input{height:48px;font-size:30px}.access-keypad{width:min(70vw,242px);gap:7px 9px}.access-key{border-radius:15px;font-size:22px}}@media(min-width:700px) and (min-height:800px){.access-panel{width:min(72vw,620px)}.emblem-origin{width:100vw;max-width:none}#access-form{margin-top:clamp(16px,2.2vmin,26px)}.access-keypad{width:min(34vw,300px)}}@media(prefers-reduced-motion:reduce){.unlock-emblem-layer{display:none!important}.access-key{transition:none}.access-peach-shimmer{animation:none;opacity:.22;transform:translateX(42px)}}
