/* Speed Launch authentication — isolated professional layer. */
:root{
  --auth-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --auth-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

.speed-auth.auth-page{
  --auth-ink:#111b2e;
  --auth-copy:#56647a;
  --auth-muted:#7a879b;
  --auth-line:#dce3ed;
  --auth-brand:#3157e6;
  --auth-brand-deep:#2445bd;
  --auth-soft:#eef2ff;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(440px,.94fr);
  margin:0;
  height:auto;
  overflow-x:clip;
  overflow-y:auto;
  background:#f6f8fc;
  color:var(--auth-ink);
  font-family:var(--auth-font);
  font-size:15px;
  font-weight:400;
  line-height:1.55;
  font-synthesis:none;
  font-kerning:normal;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.speed-auth *{box-sizing:border-box}
.speed-auth button,.speed-auth input,.speed-auth select{font:inherit}
.speed-auth :focus-visible{outline:3px solid rgba(49,87,230,.22);outline-offset:3px}
.auth-skip-link{
  position:fixed;z-index:200;top:12px;left:16px;padding:10px 14px;border-radius:10px;
  background:var(--auth-ink);color:#fff;text-decoration:none;font-weight:700;
  transform:translateY(-150%);transition:transform .18s ease;
}
.auth-skip-link:focus{transform:translateY(0)}

.speed-auth .auth-story{
  position:relative;isolation:isolate;min-width:0;padding:clamp(30px,4vw,58px);
  display:flex;flex-direction:column;gap:26px;overflow:visible;
  border-right:1px solid #dfe5ef;
  background:
    radial-gradient(circle at 12% 4%,rgba(255,255,255,.94),transparent 25rem),
    radial-gradient(circle at 90% 85%,rgba(80,107,230,.14),transparent 28rem),
    linear-gradient(145deg,#f6f8ff 0%,#edf2fb 56%,#e9f5f1 120%);
  color:var(--auth-ink);
}
.speed-auth .auth-story:before{
  content:"";position:absolute;z-index:-1;left:-9rem;top:42%;width:27rem;height:27rem;border-radius:50%;
  border:1px solid rgba(49,87,230,.10);box-shadow:0 0 0 4rem rgba(49,87,230,.022),0 0 0 8rem rgba(49,87,230,.015);
}
.speed-auth .auth-story:after{
  content:"";position:absolute;z-index:-1;right:-7rem;bottom:-9rem;width:22rem;height:22rem;border-radius:50%;
  background:radial-gradient(circle,rgba(25,170,127,.12),rgba(25,170,127,0) 68%);filter:none;
}
.speed-auth .speed-brand{position:relative;z-index:3;top:auto;gap:11px;color:var(--auth-ink);font-size:13px;font-weight:700;letter-spacing:.045em;text-decoration:none}
.speed-auth .speed-mark{width:42px;height:42px;padding:0;border-radius:13px;overflow:hidden;background:var(--auth-brand);box-shadow:0 10px 24px rgba(49,87,230,.19)}
.speed-auth .speed-mark img{display:block;width:100%;height:100%;object-fit:cover}
.speed-auth .speed-brand small{display:block;margin-top:1px;color:#79869a;font-size:8px;font-weight:700;letter-spacing:.16em}
.speed-auth .auth-story-copy{position:relative;z-index:2;margin:clamp(26px,5vh,70px) 0 0;max-width:720px}
.speed-auth .auth-story .eyebrow,.speed-auth .auth-box .eyebrow{margin:0 0 14px;color:var(--auth-brand);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.speed-auth .auth-story h1{
  max-width:700px;margin:0;color:var(--auth-ink);
  font-family:var(--auth-display);font-size:clamp(43px,4.6vw,68px);font-weight:700;line-height:1.04;letter-spacing:-.038em;
  text-wrap:balance;
}
.speed-auth .auth-story-copy>p:last-child{max-width:590px;margin:20px 0 0;color:var(--auth-copy);font-size:16px;line-height:1.7}
.speed-auth .auth-story-preview{
  position:relative;z-index:2;width:min(720px,92%);margin:auto 0 0;padding:8px;
  border:1px solid rgba(205,215,230,.94);border-radius:24px;background:rgba(255,255,255,.68);
  box-shadow:0 24px 58px rgba(31,45,72,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;
}
.speed-auth .auth-story-preview img{display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:17px;object-fit:cover}
.speed-auth .auth-story>.form-note{position:relative;z-index:2;margin:0;color:#647187;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.speed-auth .auth-panel{
  min-width:0;min-height:100dvh;display:flex;align-items:center;justify-content:center;
  padding:clamp(28px,4vw,64px);overflow:visible;background:#fff;
}
.speed-auth .auth-box{width:min(100%,460px);margin:auto}
.speed-auth .auth-mobile-top{display:flex;align-items:center;justify-content:flex-end;margin:0 0 38px}
.speed-auth .auth-mobile-top>.speed-brand{display:none}
.speed-auth .lang-toggle{display:flex;padding:3px;border:1px solid var(--auth-line);border-radius:10px;background:#f5f7fb}
.speed-auth .lang-toggle button{min-width:36px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#748095;font-size:10px;font-weight:700;cursor:pointer}
.speed-auth .lang-toggle button.active{background:#fff;color:var(--auth-brand);box-shadow:0 3px 10px rgba(31,45,72,.08)}
.speed-auth .auth-box h2{
  margin:0 0 12px;color:var(--auth-ink);
  font-family:var(--auth-display);font-size:clamp(36px,4vw,46px);font-weight:700;line-height:1.06;letter-spacing:-.035em;
}
.speed-auth .auth-box .muted{margin:0;color:var(--auth-copy);font-size:14px;line-height:1.6}
.speed-auth .auth-tabs{display:flex;gap:5px;margin:28px 0 24px;padding:4px;border:1px solid #e7ebf2;border-radius:13px;background:#f3f5f9}
.speed-auth .auth-tabs button{flex:1;min-height:42px;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:#657186;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.speed-auth .auth-tabs button.active{background:#fff;color:var(--auth-brand-deep);box-shadow:0 5px 16px rgba(31,45,72,.08)}
.speed-auth .form-stack{display:grid;gap:15px}
.speed-auth .field{display:grid;gap:7px;color:#435066;font-size:12px;font-weight:600}
.speed-auth .field>span:first-child{padding-left:2px}
.speed-auth .field input,.speed-auth .field select{
  width:100%;height:50px;padding:12px 14px;border:1px solid var(--auth-line);border-radius:12px;
  background:#fbfcfe;color:var(--auth-ink);font-size:14px;outline:0;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.speed-auth .field input::placeholder{color:#9ba6b6}
.speed-auth .field input:hover,.speed-auth .field select:hover{border-color:#c7d1df;background:#fff}
.speed-auth .field input:focus,.speed-auth .field select:focus{border-color:#8197ef;background:#fff;box-shadow:0 0 0 4px rgba(49,87,230,.09)}
.speed-auth .password-control{position:relative;display:block}
.speed-auth .password-control input{padding-right:54px}
.speed-auth .password-toggle{right:5px;width:40px;height:40px;border-radius:9px;color:#6b778c}
.speed-auth .password-toggle:hover,.speed-auth .password-toggle:focus-visible{background:var(--auth-soft);color:var(--auth-brand);outline:0}
.speed-auth .auth-forgot{justify-self:end;margin:-4px 0 0;padding:4px 1px;border:0;background:transparent;color:var(--auth-brand);font-size:12px;font-weight:600;cursor:pointer}
.speed-auth .auth-forgot:hover{text-decoration:underline;text-underline-offset:3px}
.speed-auth .btn{
  min-height:50px;padding:12px 18px;border:1px solid transparent;border-radius:12px;
  font-size:14px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.speed-auth .btn-primary{background:linear-gradient(135deg,#3b63ed,#294fd7);color:#fff;box-shadow:0 13px 28px rgba(49,87,230,.20)}
.speed-auth .btn-primary:hover{background:linear-gradient(135deg,#3157e6,#2445bd);transform:translateY(-1px);box-shadow:0 16px 34px rgba(49,87,230,.24)}
.speed-auth .form-note{margin:0;color:var(--auth-muted);font-size:11px;line-height:1.55}
.speed-auth .form-error{padding:12px 13px;border:1px solid #ffcdd3;border-radius:11px;background:#fff1f3;color:#a32b3b;font-size:12px}

.speed-auth .auth-reset{animation:auth-professional-in .28s cubic-bezier(.22,1,.36,1) both}
.speed-auth .auth-back{margin:0 0 28px;color:#5f6d82;font-size:12px;font-weight:600}
.speed-auth .auth-back:hover{color:var(--auth-brand)}
.speed-auth .reset-progress{margin-bottom:28px}
.speed-auth .reset-progress i{background:#eef1f6;color:#7b899e}
.speed-auth .reset-progress i.active{background:var(--auth-brand);box-shadow:0 7px 16px rgba(49,87,230,.20)}
.speed-auth .reset-progress>span{background:#e4e9f1}
.speed-auth .reset-progress>span.active{background:var(--auth-brand)}
.speed-auth .reset-step{gap:15px;animation:auth-professional-in .24s cubic-bezier(.22,1,.36,1) both}
.speed-auth .reset-code-input{font-variant-numeric:tabular-nums lining-nums}

@keyframes auth-professional-in{from{opacity:0;transform:translate3d(0,9px,0)}to{opacity:1;transform:none}}

@media(max-width:1080px){
  .speed-auth.auth-page{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}
  .speed-auth .auth-story{padding:34px}
  .speed-auth .auth-story h1{font-size:clamp(40px,4.8vw,56px)}
  .speed-auth .auth-story-preview{width:100%}
}

@media(max-width:860px){
  .speed-auth.auth-page{display:block;min-height:100svh;overflow:auto;background:#f6f8fc}
  .speed-auth .auth-story{display:none}
  .speed-auth .auth-panel{min-height:100svh;padding:24px;background:
    radial-gradient(circle at 10% 0,rgba(87,111,232,.09),transparent 18rem),#f6f8fc}
  .speed-auth .auth-box{padding:26px;border:1px solid var(--auth-line);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(31,45,72,.09)}
  .speed-auth .auth-mobile-top{justify-content:space-between;margin-bottom:34px}
  .speed-auth .auth-mobile-top>.speed-brand{display:flex}
  .speed-auth .speed-brand small{display:none}
}

@media(max-width:520px){
  .speed-auth .auth-panel{align-items:flex-start;padding:max(14px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}
  .speed-auth .auth-box{padding:20px 17px;border-radius:18px;box-shadow:0 12px 34px rgba(31,45,72,.07)}
  .speed-auth .auth-mobile-top{margin-bottom:28px}
  .speed-auth .speed-mark{width:38px;height:38px;border-radius:12px}
  .speed-auth .speed-brand{font-size:12px}
  .speed-auth .auth-box h2{font-size:35px;line-height:1.08}
  .speed-auth .auth-tabs{margin:24px 0 20px}
  .speed-auth .field input,.speed-auth .field select{height:49px;font-size:16px}
  .speed-auth .reset-code-input{font-size:21px!important;letter-spacing:.22em}
}

@media(max-height:760px) and (min-width:861px){
  .speed-auth .auth-story{padding-top:28px;padding-bottom:28px}
  .speed-auth .auth-story-copy{margin-top:20px}
  .speed-auth .auth-story h1{font-size:clamp(38px,4.2vw,56px)}
  .speed-auth .auth-story-preview{max-width:590px}
  .speed-auth .auth-panel{align-items:flex-start;padding-top:30px;padding-bottom:30px}
}

@media(prefers-reduced-motion:reduce){
  .auth-skip-link,.speed-auth .auth-tabs button,.speed-auth .field input,.speed-auth .field select,.speed-auth .btn{transition:none!important}
  .speed-auth .auth-reset,.speed-auth .reset-step{animation:none!important}
}

/* Shared persisted appearance control. */
.speed-auth .auth-mobile-top{gap:8px}
.speed-auth .theme-switch{
  display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;
  border:1px solid var(--auth-line);border-radius:11px;background:#f5f7fb;color:#6f7c91;
  cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.speed-auth .theme-switch:hover{border-color:#c7d1df;background:#fff;color:var(--auth-brand);transform:translateY(-1px)}
.speed-auth .theme-switch:focus-visible{outline:3px solid rgba(49,87,230,.22);outline-offset:2px}
.speed-auth .theme-switch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.speed-auth .theme-icon-moon{display:none}
html[data-theme="dark"] .speed-auth .theme-icon-sun{display:none}
html[data-theme="dark"] .speed-auth .theme-icon-moon{display:block}

html[data-theme="dark"] .speed-auth.auth-page{
  --auth-ink:#f3f6ff;--auth-copy:#b5c0d3;--auth-muted:#8d9ab0;--auth-line:#2b3548;
  --auth-brand:#8398ff;--auth-brand-deep:#a7b5ff;--auth-soft:#202a49;
  background:#0b0f17;color:var(--auth-ink);
}
html[data-theme="dark"] .speed-auth .auth-story{
  border-color:#293346;background:radial-gradient(circle at 12% 4%,rgba(79,101,211,.14),transparent 25rem),radial-gradient(circle at 90% 85%,rgba(37,177,137,.1),transparent 28rem),linear-gradient(145deg,#101722,#111a28 56%,#10201f 120%);
}
html[data-theme="dark"] .speed-auth .speed-brand{color:var(--auth-ink)}
html[data-theme="dark"] .speed-auth .speed-brand small,
html[data-theme="dark"] .speed-auth .auth-story>.form-note{color:#8d9aaf}
html[data-theme="dark"] .speed-auth .auth-story-preview{border-color:#303c51;background:rgba(18,26,39,.7);box-shadow:0 24px 58px rgba(0,0,0,.3)}
html[data-theme="dark"] .speed-auth .auth-panel{background:#0d131d}
html[data-theme="dark"] .speed-auth .theme-switch,
html[data-theme="dark"] .speed-auth .lang-toggle{border-color:var(--auth-line);background:#151d2a;color:#b6c1d3}
html[data-theme="dark"] .speed-auth .theme-switch:hover{border-color:#45536b;background:#1a2433;color:#aab8ff}
html[data-theme="dark"] .speed-auth .lang-toggle button{color:#909cb0}
html[data-theme="dark"] .speed-auth .lang-toggle button.active{background:#25304a;color:#b3c0ff;box-shadow:none}
html[data-theme="dark"] .speed-auth .auth-tabs{border-color:#293346;background:#121925}
html[data-theme="dark"] .speed-auth .auth-tabs button{color:#9da9bc}
html[data-theme="dark"] .speed-auth .auth-tabs button.active{background:#202a3c;color:#d9e1ff;box-shadow:none}
html[data-theme="dark"] .speed-auth .field{color:#c0cada}
html[data-theme="dark"] .speed-auth .field input,
html[data-theme="dark"] .speed-auth .field select{border-color:var(--auth-line);background:#111925;color:var(--auth-ink);color-scheme:dark}
html[data-theme="dark"] .speed-auth .field input::placeholder{color:#6f7c91}
html[data-theme="dark"] .speed-auth .field input:hover,
html[data-theme="dark"] .speed-auth .field select:hover,
html[data-theme="dark"] .speed-auth .field input:focus,
html[data-theme="dark"] .speed-auth .field select:focus{border-color:#536486;background:#151f2e}
html[data-theme="dark"] .speed-auth .password-toggle{color:#95a2b6}
html[data-theme="dark"] .speed-auth .auth-back{color:#a8b4c7}
html[data-theme="dark"] .speed-auth .reset-progress i{background:#1a2332;color:#8f9caf}
html[data-theme="dark"] .speed-auth .reset-progress>span{background:#2a3547}
html[data-theme="dark"] .speed-auth .form-error{border-color:#653841;background:#321c23;color:#ffb7c1}
@media(max-width:860px){
  html[data-theme="dark"] .speed-auth.auth-page{background:#0b0f17}
  html[data-theme="dark"] .speed-auth .auth-panel{background:radial-gradient(circle at 10% 0,rgba(87,111,232,.12),transparent 18rem),#0b0f17}
  html[data-theme="dark"] .speed-auth .auth-box{border-color:var(--auth-line);background:#111925;box-shadow:0 18px 48px rgba(0,0,0,.3)}
}
@media(max-width:520px){.speed-auth .theme-switch{width:38px;height:38px;flex-basis:38px;border-radius:10px}}
@media(prefers-reduced-motion:reduce){.speed-auth .theme-switch{transition:none!important}}
