.login-page{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(52% 46% at 14% 8%,color-mix(in srgb,var(--success) 20%,transparent) 0,transparent 62%),radial-gradient(48% 44% at 88% 92%,rgb(255 107 0/.16) 0,transparent 60%),radial-gradient(60% 50% at 92% 4%,rgb(42 120 214/.12) 0,transparent 64%),var(--canvas)}html[data-theme=dark] .login-page{background:radial-gradient(52% 46% at 14% 8%,color-mix(in srgb,var(--success) 28%,transparent) 0,transparent 60%),radial-gradient(48% 44% at 88% 92%,rgb(255 107 0/.2) 0,transparent 58%),radial-gradient(60% 50% at 92% 4%,rgb(42 120 214/.18) 0,transparent 62%),var(--canvas)}.login-page:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--ink) 14%,transparent) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 76%);mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 76%);opacity:.45}.login-shell{width:min(100%,468px);gap:26px;justify-items:stretch}.login-brand{justify-self:center;width:min(62%,236px)}.login-page .login-card{position:relative;overflow:hidden;padding:34px 30px 28px;border-radius:24px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 2px rgb(0 0 0/.06),0 24px 60px rgb(0 0 0/.1)}.login-page .login-card[data-step=referral]{padding:0}html[data-theme=dark] .login-page .login-card{background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 1px 2px rgb(0 0 0/.3),0 24px 60px rgb(0 0 0/.45)}.login-page .login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--success),#35c98a 38%,#ff6b00 86%)}.login-page .eyebrow{color:var(--success);letter-spacing:.1em}.login-page .login-card h1{font-size:clamp(28px,6.4vw,36px);letter-spacing:-.035em}.login-page .google-button{border-radius:14px;background:var(--success);color:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255/.2),0 8px 22px color-mix(in srgb,var(--success) 32%,transparent)}.login-page .google-button:hover:not(:disabled){background:color-mix(in srgb,var(--success) 88%,#000);transform:translateY(-1px)}.login-page .google-mark{background:#fff;color:var(--success)}.login-page .google-button.is-done{background:#0f6b45;cursor:default;opacity:1}.login-page .google-button.is-done .google-mark.is-tick{background:#fff;color:#0f6b45}.login-page .google-button:disabled{opacity:1}.auth-alt{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--border);border-radius:14px;background:transparent;color:var(--ink);font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.auth-alt:hover{border-color:var(--success);color:var(--success);background:color-mix(in srgb,var(--success) 6%,transparent)}.auth-alt:focus-visible{outline:2px solid var(--success);outline-offset:2px}.auth-alt-icon{display:grid;place-items:center;width:20px;height:20px}.auth-alt-icon svg{width:19px;height:19px}.login-page .auth-separator{margin:20px 0 16px;font-size:12.5px;font-weight:700;letter-spacing:.02em}.login-page .login-card input{border-radius:11px;min-height:48px}.login-page .login-card input:focus{outline-color:var(--success)}.login-page .auth-submit{border-radius:14px;min-height:48px}.login-page .auth-switch .text-link,.login-page .forgot-password{color:var(--success)}.login-page .auth-alt,.login-page .login-card form{animation:login-reveal .26s cubic-bezier(.22,1,.36,1) backwards}@keyframes login-reveal{0%{opacity:0;transform:translateY(-6px)}}.login-page .auth-redirect{position:absolute;inset:4px 0 0 0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:28px 26px 36px;background:color-mix(in srgb,var(--surface) 97%,transparent);animation:auth-redirect-in .22s ease-out both}.login-page .auth-redirect h2{margin:6px 0 0;font-size:26px;letter-spacing:-.03em}.login-page .auth-redirect-sub{margin:0;color:var(--muted);font-size:14.5px}.auth-redirect-spinner{width:46px;height:46px;border-radius:50%;border:4px solid color-mix(in srgb,var(--success) 18%,transparent);border-top-color:var(--success);animation:auth-spin .8s linear infinite}.auth-redirect-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px;width:min(100%,270px);text-align:left;font-size:14px;font-weight:600}.auth-redirect-steps li{display:flex;align-items:center;gap:10px;color:var(--muted);transition:color .2s ease}.auth-redirect-steps li[data-state=active],.auth-redirect-steps li[data-state=done]{color:var(--ink)}.auth-step-dot{position:relative;flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--border);font-size:11px;font-weight:800;line-height:1}.auth-redirect-steps li[data-state=done] .auth-step-dot{background:var(--success);border-color:var(--success);color:#fff}.auth-redirect-steps li[data-state=active] .auth-step-dot{border-color:color-mix(in srgb,var(--success) 25%,transparent);border-top-color:var(--success);animation:auth-spin .8s linear infinite}.auth-redirect-bar{width:min(100%,270px);height:4px;margin-top:16px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--success) 16%,transparent)}.auth-redirect-bar span{display:block;width:40%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--success),#ff6b00);animation:auth-bar 1.3s ease-in-out infinite}.login-page .auth-redirect-slow{margin:8px 0 0;max-width:270px;font-size:12.5px;line-height:1.45;color:var(--muted);opacity:0;transform:translateY(4px);transition:opacity .4s ease,transform .4s ease}.login-page .auth-redirect-slow[data-show=true]{opacity:1;transform:none}@keyframes auth-spin{to{transform:rotate(1turn)}}@keyframes auth-bar{0%{transform:translateX(-110%)}to{transform:translateX(260%)}}@keyframes auth-redirect-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.login-page .auth-alt,.login-page .login-card form{animation:none}.login-page .google-button:hover:not(:disabled){transform:none}.login-page .auth-redirect{animation:none}.auth-redirect-bar span,.auth-redirect-spinner,.auth-redirect-steps li[data-state=active] .auth-step-dot{animation:auth-pulse 1.4s ease-in-out infinite}.auth-redirect-bar span{width:100%}}@keyframes auth-pulse{50%{opacity:.45}}.auth-referral{display:grid;grid-gap:8px;gap:8px;justify-items:center;padding:34px 26px 30px;border-radius:inherit;background:radial-gradient(80% 50% at 50% 0,rgb(250 204 21/.16),transparent 70%),var(--surface);text-align:center;animation:auth-referral-in .26s ease-out}@keyframes auth-referral-in{0%{opacity:0;transform:translateY(6px)}}.auth-referral-coin{width:84px;height:84px;filter:drop-shadow(0 8px 14px rgb(146 97 15/.35));animation:auth-referral-coin 3s ease-in-out infinite}@keyframes auth-referral-coin{50%{transform:translateY(-5px) rotate(-6deg)}}.auth-referral-bonus{margin:0;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,#fffbeb,#fde68a);color:#713f12;font-size:12.5px;font-weight:800}.auth-referral h2{margin:6px 0 0;font-size:22px}.auth-referral-sub{margin:0;color:var(--muted);font-size:13.5px}.auth-referral-input{width:min(300px,100%);min-height:46px;margin-top:6px;padding:0 14px;border:1px dashed rgb(15 118 110/.5);border-radius:12px;background:var(--canvas);color:var(--ink);font:inherit;font-size:17px;font-weight:900;letter-spacing:.1em;text-align:center;outline:none}.auth-referral-input:focus{border-style:solid;border-color:#0f766e;box-shadow:0 0 0 3px rgb(15 118 110/.15)}.auth-referral-error{min-height:16px;margin:0;color:#b91c1c;font-size:12.5px;font-weight:700}.auth-referral-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}.auth-referral-actions .button{min-width:120px}html[data-theme=dark] .auth-referral-bonus{background:rgb(250 204 21/.16);color:#fde68a}@media (prefers-reduced-motion:reduce){.auth-referral,.auth-referral-coin{animation:none}}.auth-referral-skip{border-color:var(--border)}