@font-face{font-family:Onest;src:url('/assets/Onest.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--canvas:#000;--field:#202020;--key:#262626;--white:#fff;--muted:#929292;--wrong-bg:#2e0a0a;--wrong:#f00;--success-bg:#15240f;--success:#9dff00;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--view-height:100dvh;--layout-height:100dvh}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--white);font:400 18px/21px Onest,system-ui,sans-serif}body{overscroll-behavior:none}button,input{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #aaa;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.auth-shell{position:relative;width:min(100%,430px);height:var(--view-height);min-height:420px;margin:0 auto;overflow:hidden;background:var(--canvas)}.loading-coin{position:absolute;left:calc(50% - 102px);top:calc(50% - 118px);object-fit:cover}
.auth-coin{position:absolute;left:calc(50% - 102px);top:0;width:204px;height:136px;transform:translateY(min(220px,calc(var(--layout-height)*.236052)));visibility:hidden;pointer-events:none}.auth-coin .loading-coin{position:static;display:block}.auth-shell[data-screen=loading] .auth-coin{visibility:visible;transform:translateY(calc(var(--view-height)*.5 - 118px))}.auth-shell[data-screen=loading] .auth-coin .loading-coin{animation:loading-coin-pulse 1500ms var(--ease-in-out) infinite}.auth-shell[data-screen=email] .auth-coin{visibility:visible;transition:transform 400ms var(--ease-out)}.auth-shell.soft-keyboard[data-screen=email] .auth-coin{transform:translateY(clamp(16px,calc(var(--view-height)*.36 - 68px),220px))}.auth-shell[data-intro=email] .email-form{animation:auth-form-enter 200ms 120ms var(--ease-out) backwards}
@keyframes auth-form-enter{from{opacity:0}to{opacity:1}}
@keyframes loading-coin-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.email-form{position:absolute;left:18px;right:18px;bottom:min(332px,calc(var(--layout-height)*.356223));display:flex;flex-direction:column;align-items:stretch;gap:13px;text-align:center}.email-form label{font-size:18px;line-height:21px}.email-field{position:relative;width:100%;height:60px}.email-form input{width:100%;height:60px;min-width:0;padding:8px 65px 8px 16px;border:0;border-radius:10px;background:var(--field);text-align:left;font-size:32px;line-height:44px;caret-color:var(--white);appearance:none}.email-form input:disabled{opacity:.6}.email-submit{position:absolute;right:8px;top:8px;display:block;width:41px;height:44px;padding:7px 7px 9px 6px;border-radius:4px;background:#292929;transition:background-color 140ms var(--ease-out)}.email-submit img{display:block;pointer-events:none}.email-submit:not(:disabled),.email-submit[aria-busy=true]{background:#ff3c00}.email-submit:active:not(:disabled){background:#d93400;transition-duration:0ms}.email-submit[aria-busy=true] img{opacity:.55}.email-form .form-error{position:absolute;top:calc(100% + 12px);left:0;right:0;margin:0}.soft-keyboard .email-form{bottom:12px}.soft-keyboard .email-form .form-error{top:auto;bottom:calc(100% + 16px)}
.back-button{position:absolute;z-index:2;left:10px;top:30px;width:44px;height:44px;padding:10px}.back-button img{display:block}.back-button:active{opacity:.65}
.code-content{position:absolute;left:20px;right:20px;top:min(220px,calc(var(--view-height)*.236052))}.code-label{margin:0;text-align:center;font-size:18px;line-height:21px;overflow-wrap:anywhere}.code-entry{position:relative;margin-top:36px;height:150px}.code-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;height:100%}.code-slot{display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--field);font-size:52px;line-height:52px;font-variant-numeric:tabular-nums;transition:background-color 120ms var(--ease-out),color 120ms var(--ease-out)}.otp-input{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:52px;appearance:none}.code-entry[data-state=wrong] .code-slot{background:var(--wrong-bg);color:var(--wrong)}.code-entry[data-state=verified] .code-slot{background:var(--success-bg);color:var(--success);animation:confirm-code 450ms var(--ease-out)}.code-entry[data-state=checking] .code-slot{opacity:.65}.form-error{margin:0;color:#ffaaa4;font-size:14px;line-height:20px;text-align:center}.code-error{margin-top:14px}.code-entry[data-state=verified]+.code-error{display:none}
.resend-area{position:absolute;top:calc(var(--view-height) - 382px);left:20px;right:20px;text-align:center}.resend-button{height:34px;min-width:164px;padding:6px 8px 7px;border-radius:8px;line-height:21px}.resend-button:not(:disabled){background:#1a1a1a}.resend-button:active:not(:disabled){background:#303030}.countdown{margin:-6px 0 0;font-size:18px;line-height:21px}
.login-keypad{position:absolute;left:4px;right:4px;bottom:max(42px,calc(env(safe-area-inset-bottom) + 8px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,60px);gap:1px}.login-key{display:flex;align-items:flex-end;justify-content:flex-end;padding:0 10px 6px;min-width:0;border-radius:10px;background:var(--key);font-size:24px;line-height:24.032px;transition:background-color 140ms var(--ease-out)}.login-key:active:not(:disabled){background:#4b4b4b;transition-duration:0ms}.login-zero{grid-column:2;grid-row:4}.login-erase{grid-column:3;grid-row:4;align-items:center;justify-content:center;background:transparent;padding:0}.login-erase img{display:block}.login-key:disabled{opacity:.6}
.account-screen{padding:80px 20px 100px}.account-screen h2{font-size:24px;line-height:32px;font-weight:400;margin:0 0 12px}.account-email{color:var(--muted);overflow-wrap:anywhere;margin:0 0 32px}.budget-list{list-style:none;margin:0;padding:0}.budget-list li{padding:18px 0;border-bottom:1px solid var(--field);overflow-wrap:anywhere}.quiet-button{min-height:44px;text-decoration:underline;text-underline-offset:4px}.sign-out{position:absolute;bottom:max(42px,env(safe-area-inset-bottom));left:20px;min-height:44px;color:var(--muted)}.account-screen .form-error{margin-top:20px;text-align:left}
@keyframes confirm-code{0%,100%{opacity:1}50%{opacity:.55}}
.preview-note{position:fixed;z-index:5;top:8px;left:0;right:0;margin:0;text-align:center;color:var(--muted);font-size:11px;line-height:16px;pointer-events:none}
:root:not(.keyboard-input) :is(button,input):focus-visible{outline:none}
.login-zero{padding-bottom:9px}
.code-label{height:42px;overflow-wrap:normal}.code-recipient{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-retry{display:block;min-height:44px;margin:4px auto 0;font-size:14px;line-height:20px;text-decoration:underline;text-underline-offset:4px}
.budget-settings{display:block;min-height:44px;width:fit-content;padding:12px 0 6px;color:var(--muted);font-size:14px;line-height:20px;text-underline-offset:4px}.budget-settings:active{color:var(--white)}.budget-settings:focus-visible{outline:2px solid #aaa;outline-offset:4px}
@media(max-height:700px){.code-content{top:110px}.code-entry{height:110px;margin-top:24px}.login-keypad{grid-template-rows:repeat(4,46px)}.resend-area{top:auto;bottom:calc(max(42px,env(safe-area-inset-bottom)) + 220px)}}
@media(prefers-reduced-motion:reduce){.code-slot,.login-key,.email-submit{transition:none}.code-entry[data-state=verified] .code-slot,.auth-shell[data-screen=loading] .auth-coin .loading-coin,.auth-shell[data-intro=email] .email-form{animation:none}.auth-shell[data-screen=email] .auth-coin{transition:none}}
