@font-face{font-family:"PP Object Sans";src:url(fonts/ppobjectsans_medium.ttf);font-weight:500}
@font-face{font-family:"PP Object Sans";src:url(fonts/ppobjectsans_semibold.ttf);font-weight:600}
@font-face{font-family:"PP Object Sans";src:url(fonts/ppobjectsans_bold.ttf);font-weight:700}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg-btm)}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--gradient-app-bg);color:#fff;font:var(--type-body-small);-webkit-font-smoothing:antialiased;display:grid;place-items:center}
.stage{width:100%;max-width:400px;padding:calc(env(safe-area-inset-top,0px) + 24px) max(16px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom,0px) + 24px) max(16px,env(safe-area-inset-left))}
h1{margin:0}
.sub{margin:4px 0 24px;color:#B3A9E8}
.sheet{background:var(--bg);color:var(--fg);border-radius:24px;padding:24px;display:grid;gap:12px;box-shadow:var(--elev-sheet)}
#pin{height:64px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg);color:var(--fg);text-align:center;font:600 28px/36px var(--font-body);letter-spacing:12px;padding:0 0 0 12px;-webkit-appearance:none;appearance:none;width:100%}
#pin:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
#pin[aria-invalid=true]{border-color:var(--error)}
.msg{min-height:20px;margin:0;font:var(--type-body-small);color:var(--fg)}
.msg.err{color:color-mix(in oklab,var(--error),black 25%)}
.btn{height:60px;border:0;border-radius:16px;background:var(--accent);color:rgb(255 255 255 / .92);font:600 16px/24px var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent}
.btn:active{opacity:.7}
.btn:disabled{background:var(--btn-disabled-bg,#D6D2E2);color:#fff;cursor:default}
