*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Syne", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--bg-deep:#edeef4;--bg:#f4f5fa;--surface:#fff;--input:#eef0f6;--heading:#0a0f1e;--body:#2d3748;--secondary:#3f4e63;--muted:#64748b;--faint:#b0bac8;--border:#0f172a17;--border-strong:#0f172a24;--border-focus:#6366f18c;--accent:#4f46e5;--accent-strong:#4338ca;--indigo:#6366f1;--violet:#a855f7;--cyan:#06b6d4;--btn-ink:#0a0f1e;--btn-ink-text:#f4f5fa;--error:#b91c1c;--error-bg:#dc262612;--error-border:#dc262638;--glass-shadow:0 1px 3px #0f172a0d, 0 8px 32px -8px #0f172a1a}html[data-theme=dark],html.dark{--bg-deep:#050508;--bg:#0a0a12;--surface:#ffffff08;--input:#ffffff08;--heading:#f0f0ff;--body:#c8c8da;--secondary:#9090a8;--muted:#6b6b80;--faint:#4a4a5a;--border:#ffffff14;--border-strong:#ffffff24;--border-focus:#818cf899;--accent:#818cf8;--accent-strong:#a5b0ff;--btn-ink:#f0f0ff;--btn-ink-text:#060610;--error:#fca5a5;--error-bg:#ef44441a;--error-border:#ef444433;--glass-shadow:0 0 0 1px #ffffff08, 0 2px 24px -6px #0000008c}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex;overflow:hidden}::selection{background:#6366f138}.auth-page{flex:1;grid-template-columns:1fr;width:100%;height:100%;min-height:0;display:grid}@media (width>=1024px){.auth-page{grid-template-columns:1.05fr 1fr}}.auth-brand-panel{background:radial-gradient(120% 90% at 15% 15%,#14142a 0%,#0a0a16 45%,#050509 100%);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:52px;display:none;position:relative;overflow:hidden}@media (width>=1024px){.auth-brand-panel{display:flex}}.auth-brand-panel:before{content:"";pointer-events:none;background:radial-gradient(70% 55% at 18% 88%,#6366f138 0%,#0000 68%),radial-gradient(55% 45% at 82% 12%,#a855f729 0%,#0000 62%),radial-gradient(40% 40% at 95% 95%,#06b6d41a 0%,#0000 60%);position:absolute;inset:0}.grid-pattern{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 65% at 40%,#000,#0000);mask-image:radial-gradient(75% 65% at 40%,#000,#0000)}.auth-brand-panel .brand-logo{z-index:1;font-family:"Helvetica Neue", var(--font-display);letter-spacing:-.04em;color:#f5f2ec;font-size:22px;font-weight:600;text-decoration:none;transition:opacity .2s;position:relative}.auth-brand-panel .brand-logo:hover{opacity:.75}.auth-brand-panel .brand-logo .dot{color:#7eb6ff}.brand-copy{z-index:1;max-width:400px;position:relative}.auth-brand-panel .brand-headline{font-family:var(--font-display);letter-spacing:-.02em;color:#f4f4ff;font-size:42px;font-weight:700;line-height:1.08}.auth-brand-panel .brand-headline .grad{background:linear-gradient(115deg,#818cf8 0%,#a855f7 48%,#06b6d4 100%) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:7s ease-in-out infinite grad-shift}@keyframes grad-shift{0%,to{background-position:0%}50%{background-position:100%}}.auth-brand-panel .brand-sub{color:#b6b6cc;margin-top:18px;font-size:16px;line-height:1.6}.auth-form-panel{flex-direction:column;height:100%;min-height:0;padding:20px 24px 32px;display:flex;position:relative;overflow-y:auto}.auth-topbar{flex:none;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:520px;margin:0 auto;padding:4px 0 8px;display:flex}.auth-form-container{width:100%;max-width:400px;margin:0 auto;padding-top:44px}@media (width>=1024px){.auth-form-panel{padding:24px 40px}.auth-form-container{margin:auto;padding-top:0;padding-bottom:40px}}.back-link{color:var(--muted);border:1px solid #0000;border-radius:9999px;align-items:center;gap:7px;padding:7px 12px 7px 9px;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.back-link:hover{color:var(--heading);border-color:var(--border);background:var(--surface)}.back-link svg{transition:transform .18s}.back-link:hover svg{transform:translate(-2px)}.lang-switch{position:relative}.lang-trigger{border:1px solid var(--border);background:var(--surface);color:var(--secondary);font-family:var(--font-body);cursor:pointer;border-radius:9999px;align-items:center;gap:7px;padding:5px 9px 5px 6px;font-size:12px;font-weight:600;transition:color .18s,border-color .18s;display:inline-flex}.lang-trigger:hover{color:var(--heading);border-color:var(--border-strong)}.lang-code{text-transform:uppercase;letter-spacing:.04em}.lang-caret{transition:transform .2s}.lang-caret.open{transform:rotate(180deg)}.flag-circle{box-shadow:0 0 0 1px var(--border);border-radius:9999px;flex:none}.lang-menu{border:1px solid var(--border);background:var(--surface);min-width:160px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);z-index:50;border-radius:14px;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.lang-option{width:100%;font-family:var(--font-body);color:var(--secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:background .15s,color .15s;display:flex}.lang-option:hover{background:var(--input);color:var(--heading)}.lang-option.active{color:var(--heading);font-weight:600}.lang-option span{text-align:left;flex:1}.lang-check{color:var(--accent)}.auth-form-header{margin-bottom:30px}.auth-form-header .logo-mobile{font-family:"Helvetica Neue", var(--font-display);letter-spacing:-.04em;color:var(--heading);margin-bottom:26px;font-size:20px;font-weight:600}.auth-form-header .logo-mobile .dot{color:#7eb6ff}@media (width>=1024px){.auth-form-header .logo-mobile{display:none}}.auth-form-header h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--heading);font-size:28px;font-weight:700;line-height:1.15}.auth-form-header p{color:var(--muted);margin-top:8px;font-size:14.5px;line-height:1.5}.auth-form-panel a:not(.btn-primary):not(.btn-ghost-pill){color:var(--accent);text-decoration:none}.auth-form-panel a:not(.btn-primary):not(.btn-ghost-pill):visited{color:var(--accent)}.auth-form-panel a:not(.btn-primary):not(.btn-ghost-pill):hover{color:var(--accent-strong)}.btn-google,.btn-primary,.btn-ghost-pill{width:100%;height:46px;font-family:var(--font-body);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;gap:10px;font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .25s,background .2s,border-color .2s,color .2s;display:flex}.btn-google:active,.btn-primary:active,.btn-ghost-pill:active{transform:scale(.985)}.btn-google{border:1px solid var(--border-strong);background:var(--surface);color:var(--heading);font-weight:500}.btn-google:hover{border-color:var(--accent);background:var(--surface)}.btn-primary{background:var(--btn-ink);color:var(--btn-ink-text);border:none;position:relative}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px -8px #6366f18c,0 2px 8px #0000001f}.btn-primary:before{content:"";border-radius:inherit;background:conic-gradient(from var(--beam-angle,0deg), transparent 0%, transparent 58%, var(--indigo) 74%, var(--violet) 84%, var(--cyan) 92%, transparent 98%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:2px;transition:opacity .35s;animation:2.6s linear infinite beam-rotate;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.btn-primary:hover:before,.btn-primary:focus-visible:before{opacity:1}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:disabled:before{opacity:0}@property --beam-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes beam-rotate{to{--beam-angle:360deg}}.btn-ghost-pill{border:1px solid var(--border-strong);color:var(--heading);background:0 0}.btn-ghost-pill:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--surface)}.divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:16px;margin:22px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.field{margin-bottom:18px}.field label{color:var(--secondary);margin-bottom:7px;font-size:13px;font-weight:500;display:block}.field input{border:1px solid var(--border);background:var(--input);width:100%;height:46px;color:var(--heading);font-family:var(--font-body);border-radius:12px;outline:none;padding:0 14px;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f124}.field input::placeholder{color:var(--muted)}.field-with-link{flex-wrap:wrap;align-items:baseline;display:flex}.field-with-link label{order:0;margin-right:auto}.field-with-link .field-link{order:0;margin-bottom:7px}.field-with-link input{order:1;width:100%}.field-link{color:var(--accent);font-size:12.5px;font-weight:500;text-decoration:none}.field-link:hover{text-underline-offset:2px;text-decoration:underline}.field-hint-error{color:var(--error);margin-top:6px;font-size:12.5px}.consent-field{color:var(--secondary);align-items:flex-start;gap:10px;margin:6px 0 20px;font-size:13px;line-height:1.5;display:flex}.consent-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--indigo);cursor:pointer;flex-shrink:0;margin-top:2px}.consent-field a{text-underline-offset:2px;text-decoration:underline}.auth-alt{border-top:1px solid var(--border);text-align:center;margin-top:24px;padding-top:22px}.auth-alt-label{color:var(--muted);margin-bottom:12px;font-size:13px;display:block}.pending-banner{text-align:center;padding:12px 0}.pending-banner .pending-icon{width:52px;height:52px;color:var(--accent);background:linear-gradient(135deg,#6366f12e,#a855f724);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.pending-banner h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--heading);margin-bottom:12px;font-size:21px;font-weight:700}.pending-banner p{color:var(--secondary);font-size:14px;line-height:1.6}.pending-banner p+p{margin-top:8px}.pending-banner .auth-alt{margin-top:26px}.error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);border-radius:12px;align-items:center;gap:8px;margin-top:16px;padding:11px 14px;font-size:13px;display:flex}.error-banner svg{flex-shrink:0}.auth-checking{justify-content:center;align-items:center;min-height:200px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);vertical-align:middle;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}.btn-primary .spinner{color:var(--btn-ink-text)}.auth-footer{text-align:center;color:var(--muted);margin-top:28px;font-size:12px}@media (prefers-reduced-motion:reduce){.btn-primary:before,.auth-brand-panel .brand-headline .grad{animation:none}.btn-google,.btn-primary,.btn-ghost-pill,.back-link,.lang-trigger{transition:none}}
