/* Nexus 0.6.4 dedicated /join and /login entry routes. */
.auth-join-panel{
  position:relative;
  isolation:isolate;
  width:100dvw;
  min-height:calc(100dvh - 112px);
  margin-inline:calc(50% - 50dvw);
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.025),transparent 22%),
    linear-gradient(115deg,#050508 0%,#080711 45%,#091128 100%);
  box-shadow:0 34px 110px rgba(0,0,0,.5)
}
.auth-join-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.8;
  pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(188,210,255,.75) 0 1px,transparent 1.5px),
    radial-gradient(circle,rgba(255,170,226,.55) 0 1px,transparent 1.3px);
  background-position:0 0,38px 54px,91px 21px;
  background-size:126px 126px,183px 183px,241px 241px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.5) 78%,transparent)
}
.auth-join-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,2,5,.84) 0%,rgba(2,2,5,.42) 43%,rgba(4,5,16,.2) 70%,rgba(2,2,8,.5) 100%)
}
.auth-join-cosmos,.auth-join-cosmos span{position:absolute;pointer-events:none}
.auth-join-cosmos{inset:0;z-index:-2;overflow:hidden}
.auth-join-bloom{border-radius:50%;filter:blur(22px);mix-blend-mode:screen}
.auth-join-bloom-pink{width:48vw;height:48vw;left:-14vw;top:-22vw;background:radial-gradient(circle,rgba(255,47,157,.42),rgba(255,47,157,.05) 48%,transparent 70%);animation:joinBloomPink 10s ease-in-out infinite alternate}
.auth-join-bloom-purple{width:58vw;height:58vw;right:-18vw;top:0;background:radial-gradient(circle,rgba(137,92,255,.42),rgba(137,92,255,.07) 48%,transparent 72%);animation:joinBloomPurple 12s ease-in-out infinite alternate}
.auth-join-bloom-blue{width:45vw;height:45vw;right:2vw;bottom:-25vw;background:radial-gradient(circle,rgba(37,136,255,.36),rgba(37,136,255,.05) 50%,transparent 72%);animation:joinBloomBlue 11s ease-in-out infinite alternate}
.auth-join-mist{height:18vw;min-height:130px;border-radius:50%;filter:blur(18px);opacity:.5;transform:rotate(-12deg)}
.auth-join-mist-one{left:28%;right:-10%;top:18%;background:linear-gradient(90deg,transparent,rgba(255,57,166,.22),rgba(112,73,255,.22),transparent);animation:joinMistOne 9s ease-in-out infinite alternate}
.auth-join-mist-two{left:-12%;right:34%;bottom:12%;background:linear-gradient(90deg,transparent,rgba(59,119,255,.18),rgba(255,75,162,.16),transparent);animation:joinMistTwo 11s ease-in-out infinite alternate}
.auth-join-content{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:0 0 clamp(68px,9vh,112px)}
.auth-join-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.auth-join-brand{display:inline-flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.auth-join-brand img,.login-route-brand img{width:39px;height:39px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(137,92,255,.55)) drop-shadow(0 0 25px rgba(37,136,255,.22))}
.auth-join-login{padding:10px 16px;border:1px solid rgba(255,255,255,.16);border-radius:12px;color:#e7e1ef;background:rgba(255,255,255,.035);font-size:.88rem;font-weight:800;text-decoration:none;backdrop-filter:blur(12px);transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.auth-join-login:hover,.auth-join-login:focus-visible{border-color:rgba(187,119,255,.62);background:rgba(151,72,236,.11);box-shadow:0 0 22px rgba(151,72,236,.18);transform:translateY(-1px)}
.auth-join-hero-copy{max-width:1080px;padding-top:clamp(56px,9vh,105px)}
.auth-join-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;color:#e7dcff;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.auth-join-eyebrow::before{content:"✦";color:#56dcff;text-shadow:0 0 14px rgba(86,220,255,.52)}
.auth-join-hero-copy h1{max-width:940px;margin:0;color:#fff;font-size:clamp(3rem,7.5vw,6.5rem);line-height:.97;letter-spacing:-.058em;text-wrap:balance}
.auth-join-hero-copy h1 span{display:block;margin-top:.12em;background:linear-gradient(100deg,#ff7587 0%,#ff3fa8 30%,#a873ff 63%,#55a7ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.auth-join-lead{margin:34px 0 0;color:#d2cbd9;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700}
.auth-join-clarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}
.auth-join-clarity-grid article{position:relative;min-height:190px;padding:25px 24px 23px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 24px 60px rgba(0,0,0,.24);backdrop-filter:blur(17px)}
.auth-join-clarity-grid article::after{content:"";position:absolute;right:-50px;bottom:-65px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(180,83,255,.21),transparent 70%);pointer-events:none}
.auth-join-step{display:inline-flex;align-items:center;justify-content:center;width:38px;height:27px;border:1px solid rgba(111,213,255,.28);border-radius:999px;color:#77dfff;background:rgba(50,143,255,.075);font-size:.68rem;font-weight:900;letter-spacing:.08em}
.auth-join-clarity-grid h2{margin:23px 0 9px;color:#fff;font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.08;letter-spacing:-.035em}
.auth-join-clarity-grid p{margin:0;color:#bbb4c4;font-size:.94rem;line-height:1.55}
.auth-join-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:31px}
.auth-join-primary{min-width:min(100%,285px);padding:18px 30px;font-size:1.02rem}
.auth-join-actions>span{color:#aca5b5;font-size:.84rem;font-weight:700}

/* Direct /login route. */
body.auth-entry-login .auth-welcome-wrap{position:relative;align-items:center;min-height:100dvh;padding-block:56px;overflow:hidden}
body.auth-entry-login .auth-welcome-wrap::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 16% 15%,rgba(255,47,157,.17),transparent 31%),radial-gradient(circle at 84% 78%,rgba(37,136,255,.2),transparent 36%),radial-gradient(circle at 54% 42%,rgba(137,92,255,.12),transparent 39%),#07070c}
body.auth-entry-login .auth-form-panel{border-color:rgba(184,107,255,.24);background:linear-gradient(145deg,rgba(21,18,30,.95),rgba(12,12,18,.96));box-shadow:0 35px 110px rgba(0,0,0,.52),0 0 52px rgba(132,60,225,.09)}
.login-route-brand{display:none;align-items:center;justify-content:center;gap:10px;margin:-18px 0 28px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.auth-entry-login #loginForm .login-route-brand{display:flex}
.login-create-link{margin:18px 0 0;color:#9d98a7;text-align:center;font-size:.86rem}
.login-create-link a{color:#e8b7ff;font-weight:800;text-decoration:none}
.login-create-link a:hover,.login-create-link a:focus-visible{color:#fff;text-decoration:underline}
body.auth-entry-join .auth-welcome-wrap{padding-top:0}
body.auth-entry-join .auth-entry-shell{width:min(1180px,100%)}
body.auth-entry-join .auth-public-links{padding:30px 0 0}

@keyframes joinBloomPink{to{transform:translate(5vw,3vw) scale(1.08);opacity:.83}}
@keyframes joinBloomPurple{to{transform:translate(-4vw,4vw) scale(1.06);opacity:.88}}
@keyframes joinBloomBlue{to{transform:translate(-3vw,-4vw) scale(1.1);opacity:.82}}
@keyframes joinMistOne{to{transform:translate(-5vw,3vw) rotate(-8deg);opacity:.7}}
@keyframes joinMistTwo{to{transform:translate(6vw,-2vw) rotate(-16deg);opacity:.65}}

@media(max-width:820px){
  .auth-join-content{width:min(100% - 28px,680px)}
  .auth-join-hero-copy{padding-top:42px}
  .auth-join-clarity-grid{grid-template-columns:1fr}
  .auth-join-clarity-grid article{min-height:0}
  .auth-join-hero-copy h1{font-size:clamp(2.8rem,12vw,5.4rem)}
}
@media(max-width:520px){
  .auth-join-header{min-height:72px}
  .auth-join-brand{gap:8px;font-size:.84rem;letter-spacing:.1em}
  .auth-join-brand img{width:33px;height:33px}
  .auth-join-brand .app-version{display:none}
  .auth-join-login{padding:9px 13px}
  .auth-join-hero-copy{padding-top:36px}
  .auth-join-hero-copy h1{font-size:clamp(2.55rem,13vw,4.1rem)}
  .auth-join-lead{margin-top:26px}
  .auth-join-clarity-grid article{padding:22px 20px}
  .auth-join-actions{display:grid;gap:13px;text-align:center}
  .auth-join-primary{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .auth-join-cosmos span{animation:none!important}
  .auth-join-login{transition:none}
}

/* Nexus 0.6.8: branded password recovery inside the dedicated login experience. */
.auth-password-recovery-row{
  display:flex;
  justify-content:flex-end;
  margin:-2px 0 4px;
}
.auth-forgot-password-button{
  padding:5px 2px;
  border:0;
  color:#d8a9ff;
  background:transparent;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:color .18s ease,text-shadow .18s ease;
}
.auth-forgot-password-button:hover,
.auth-forgot-password-button:focus-visible{
  color:#fff;
  text-shadow:0 0 16px rgba(218,103,255,.64);
}
.auth-password-reset-form{
  border-color:rgba(203,91,255,.32)!important;
  background:
    radial-gradient(circle at 88% 2%,rgba(69,137,255,.12),transparent 34%),
    radial-gradient(circle at 5% 90%,rgba(255,51,151,.1),transparent 36%),
    linear-gradient(145deg,rgba(21,18,30,.97),rgba(11,11,18,.98))!important;
}
.auth-password-reset-form .password-field-group{
  margin-top:18px;
  padding:17px;
  border:1px solid rgba(202,91,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.018);
}
.auth-password-reset-form .password-confirm-field{margin-top:14px}
.auth-password-reset-form #resetPasswordCodeButton{margin-top:18px}
@media(prefers-reduced-motion:reduce){
  .auth-forgot-password-button{transition:none}
}

/* Nexus 0.6.9: secure emailed-link password recovery. */
.auth-password-reset-link-form .auth-reset-account{
  margin:2px 0 16px;
  padding:11px 13px;
  border:1px solid rgba(184,95,239,.2);
  border-radius:12px;
  color:#aaa4b1;
  background:rgba(255,255,255,.025);
  font-size:.82rem;
  line-height:1.5;
  text-align:center;
}
.auth-password-reset-link-form .auth-reset-account strong{color:#f2dfff}
.auth-password-reset-form #resetPasswordLinkButton,
.auth-password-reset-form #completePasswordResetButton{margin-top:18px}

/* Nexus 0.7.0 secure paid-onboarding activation and Journey claim. */
.onboarding-activation-dialog{z-index:1400}
.onboarding-activation-card{width:min(720px,calc(100vw - 32px));max-height:min(88vh,760px);overflow:auto;padding:clamp(26px,5vw,44px);border:1px solid rgba(244,79,169,.34);background:
  radial-gradient(circle at 20% 0%,rgba(240,53,151,.18),transparent 38%),
  radial-gradient(circle at 90% 15%,rgba(108,78,255,.17),transparent 42%),
  linear-gradient(145deg,rgba(24,16,38,.98),rgba(10,10,18,.99));
  box-shadow:0 28px 90px rgba(0,0,0,.58),0 0 55px rgba(178,56,214,.14)}
.onboarding-activation-state{text-align:center}
.onboarding-activation-state h2{margin:8px auto 12px;max-width:620px;font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.05}
.onboarding-activation-state>p{max-width:610px;margin:0 auto 22px;color:var(--muted,#bdb7c8);line-height:1.65}
.onboarding-activation-loading .spinner{margin:0 auto 20px}
.onboarding-activation-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 8px}
.onboarding-activation-choice{display:flex;min-height:180px;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:22px;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.onboarding-activation-choice strong{font-size:1.06rem;line-height:1.25}
.onboarding-activation-choice span{color:var(--muted,#bdb7c8);line-height:1.5}
.onboarding-activation-choice:hover,.onboarding-activation-choice:focus-visible{transform:translateY(-2px);border-color:rgba(244,79,169,.55);background:rgba(244,79,169,.08);box-shadow:0 15px 36px rgba(0,0,0,.25)}
.onboarding-activation-choice:disabled{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none}
.onboarding-activation-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.onboarding-activation-status{min-height:24px;margin-top:14px;color:#ffb5d7}
.onboarding-activation-note{padding:12px 14px;border:1px solid rgba(81,188,255,.25);border-radius:12px;background:rgba(81,188,255,.08);color:#d8efff!important}
.onboarding-activation-success h2{background:linear-gradient(90deg,#ff4da5,#ad6bff,#59c7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.onboarding-activation-error h2{color:#ffd3e7}
@media(max-width:680px){
  .onboarding-activation-card{width:min(100vw - 18px,720px);padding:24px 18px}
  .onboarding-activation-choice-grid{grid-template-columns:1fr}
  .onboarding-activation-choice{min-height:0}
}
@media(prefers-reduced-motion:reduce){.onboarding-activation-choice{transition:none}.onboarding-activation-choice:hover,.onboarding-activation-choice:focus-visible{transform:none}}
