.loading-spinner{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;vertical-align:middle}.loading-spinner>svg{animation:loading-spinner-turn 1s linear infinite}@keyframes loading-spinner-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner>svg{animation-duration:3s}}.auth-page{color-scheme:dark;--background: #080808;--panel: #111111;--input: #282827;--text: #e5e5e4;--muted: #8b8b88;--line: #262626;--focus: #d4d4d2;--button-text: #171717;background:var(--background);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased;height:100vh;overflow:auto}.auth-page button,.auth-page input{font:inherit;color:inherit;touch-action:manipulation}.auth-page button{cursor:pointer;background:none;border:0}.auth-page button:disabled{cursor:default;opacity:.6}.auth-page button:hover:not(:disabled){background-color:#303030}.auth-page button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.auth-page input{background:var(--input);border:1px solid var(--line);border-radius:7px;padding:8px 10px;outline:none}.auth-page input:focus{border-color:var(--muted);box-shadow:none}.auth-page .brand{display:flex;align-items:center;gap:7px;font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.5px}.auth-page .brand-logo{width:44px;height:28px;object-fit:contain}.auth-page .primary{border-radius:7px;background:var(--text);color:var(--button-text);padding:8px 13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px}.auth-page .primary:hover:not(:disabled){background:var(--text);filter:brightness(.88)}.auth-page .outline{padding:8px 12px;border:1px solid var(--line);border-radius:7px;display:inline-flex;gap:7px;align-items:center;justify-content:center;background:#ffffff05}.auth-page .field{font-size:12px;font-weight:600;color:var(--text);display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.auth-page .field input{width:100%;font-size:14px;font-weight:400}.auth-page .link{color:#85b8ff;display:inline-flex;align-items:center;gap:5px}.auth-page .error{color:#f6a69d;font-size:13px;line-height:1.5}.auth-page .muted{color:var(--muted);line-height:1.6}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:25px}.auth-box{width:min(400px,100%);padding:30px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px #0003}.auth-box .brand{justify-content:center;margin:0 0 25px}.auth-box h1{margin:.67em 0;font-size:22px;font-weight:700;text-align:center}.auth-box>p{margin:1em 0;font-size:14px;overflow-wrap:anywhere;line-height:1.7;text-align:center}.auth-box .primary{width:100%}.auth-box .field{margin-top:20px}.auth-box .link{margin-top:18px}.auth-code{width:100%;margin:24px 0 20px}.auth-code-slots{display:flex;align-items:center;width:100%;min-width:0}.auth-code-slot{position:relative;display:grid;place-items:center;flex:1;min-width:0;height:48px;border:1px solid color-mix(in srgb,var(--muted) 55%,var(--line));border-left:0;background:var(--input);color:var(--text);font-size:20px;font-variant-numeric:tabular-nums}.auth-code-slot[data-index="0"],.auth-code-slot[data-index="3"]{border-left:1px solid color-mix(in srgb,var(--muted) 55%,var(--line));border-radius:7px 0 0 7px}.auth-code-slot[data-index="2"],.auth-code-slot[data-index="5"]{border-radius:0 7px 7px 0}.auth-code-slot[data-active=true]{z-index:1;outline:2px solid var(--text);outline-offset:1px}.auth-code-separator{flex:0 0 24px;text-align:center;color:var(--muted)}.auth-code-caret{position:absolute;width:1px;height:20px;background:var(--text);animation:auth-caret 1s step-end infinite}@keyframes auth-caret{50%{opacity:0}}.auth-actions{display:grid;gap:12px}.auth-actions>button{width:100%;min-height:40px;text-align:center}.auth-box .auth-actions .link{justify-content:center;margin:0}@media(max-width:399px){.auth-code-separator{display:none}.auth-code-slot[data-index="2"],.auth-code-slot[data-index="3"]{border-radius:0}.auth-code-slot[data-index="3"]{border-left:0}}@media(prefers-reduced-motion:reduce){.auth-code-caret{animation:none}}.auth-drag-region{position:fixed;inset:0 0 auto;height:44px;-webkit-app-region:drag}@media(max-width:600px){.auth-box{padding:23px}.auth-box h1+p{transform:translateY(-4px)}.auth-box>form:has(input[type=email]){margin-top:-12px}}.auth-page .auth-actions>button{min-height:40px}@keyframes mobile-step-forward{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes mobile-step-back{0%{transform:translate(-100vw)}to{transform:translate(0)}}@media(max-width:760px)and (prefers-reduced-motion:no-preference){.auth-box[data-transition=forward]{animation:mobile-step-forward .28s ease-out}.auth-box[data-transition=back]{animation:mobile-step-back .28s ease-out}}.mobile-auth-back{display:none}@media(max-width:760px){:root .auth-page.mobile-native-auth{--background: #121212;--panel: #222;--input: #222;--text: #eee;--muted: #999;--line: #343434;--button-text: #121212;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:var(--auth-height, 100dvh);min-height:0;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 144px) 28px calc(env(safe-area-inset-bottom) + 24px)}:root[data-theme=light] .auth-page.mobile-native-auth{--background: #f7f7f7;--panel: #eee;--input: #eee;--text: #242424;--muted: #777672;--line: #deddd9;--button-text: #f7f7f7}.mobile-native-auth .auth-box{flex-shrink:0;width:100%;max-width:400px;padding:0;border:0;border-radius:0;box-shadow:none;background:none}.mobile-native-auth .brand{margin:0 0 20px}.mobile-native-auth .brand-logo{width:56px;height:56px}.mobile-native-auth h1{margin:0 0 20px;font-size:26px;line-height:32px;font-weight:600}.mobile-native-auth .auth-box>p{min-height:46px;margin:0 0 20px;font-size:16px;line-height:23px;transform:translateY(-4px)}.mobile-native-auth .auth-box>form{margin:0}.mobile-native-auth[data-step=email] .auth-box>form{margin-top:-12px}.mobile-native-auth .auth-email-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mobile-native-auth .field{min-height:64px;justify-content:center;margin:0 0 16px}.mobile-native-auth .field input{min-height:48px;padding:12px 16px;border:0;border-radius:20px;font-size:16px;line-height:24px}.mobile-native-auth .auth-actions{gap:16px}.mobile-native-auth .auth-actions>button{min-height:48px;border-radius:24px;font-size:16px;line-height:23px;font-weight:600;padding:12px 20px}.mobile-native-auth .auth-actions .link{color:var(--text);font-weight:400}.mobile-native-auth .auth-actions .outline{order:3;background:none;border:0;color:var(--muted);font-weight:400}.mobile-native-auth .auth-code{margin:8px 0 24px}.mobile-native-auth .auth-code-slot{border-color:var(--muted)}.mobile-native-auth button:disabled{opacity:.4}.mobile-native-auth .mobile-auth-back{display:grid;place-items:center;position:absolute;top:calc(env(safe-area-inset-top) + 4px);left:calc(env(safe-area-inset-left) + 16px);width:44px;height:44px;padding:0;border-radius:50%;background:color-mix(in srgb,var(--panel) 80%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.mobile-native-auth[data-keyboard=true]{padding-top:calc(env(safe-area-inset-top) + 96px)}.mobile-native-auth[data-keyboard=true] .auth-box{margin-block:auto}.mobile-native-auth[data-keyboard=true] .auth-box>p{min-height:0}.mobile-native-auth[data-keyboard=true] .field{min-height:48px}}.auth-page .auth-legal{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:19px;text-align:center}.auth-page .auth-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.auth-page .auth-legal a:hover{color:var(--text)}.auth-page .auth-legal a:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}@media(max-width:760px){.auth-page .auth-legal{width:100%;max-width:280px;margin-inline:auto}}*{box-sizing:border-box}body{margin:0}.auth-box>.auth-completion-note{margin:20px 0 0}:root[data-theme=light] .auth-page{color-scheme:light;--background: #f8f8f8;--panel: #fff;--input: #eeeeed;--text: #202020;--muted: #696967;--line: #d7d7d5;--focus: #454545;--button-text: #fff}:root[data-theme=light] .auth-page button:hover:not(:disabled){background-color:#e3e3e3}:root[data-theme=light] .auth-page .primary:hover:not(:disabled){background-color:#383838}
