.auth-body{overflow-x:hidden}
.auth-layout{min-height:100dvh;padding:18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:18px}
.auth-story,.auth-access{border-radius:32px}
.auth-story{min-height:calc(100dvh - 36px);padding:clamp(28px,5vw,58px);display:flex;flex-direction:column;background:radial-gradient(700px 500px at 10% 100%,rgba(255,152,0,.18),transparent 60%),linear-gradient(150deg,rgba(31,31,34,.9),rgba(17,17,19,.88));border:1px solid var(--line)}
.auth-copy{margin:auto 0}
.auth-copy h1{margin:12px 0 18px;font-size:clamp(3.4rem,8vw,7.4rem);line-height:.88;letter-spacing:-.08em}
.auth-copy h1 em{color:var(--orange);font-style:normal}
.auth-copy p{max-width:680px;color:#bbbaba;font-size:clamp(1rem,2vw,1.24rem)}
.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.auth-points div{padding:15px;border-radius:17px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.auth-points strong,.auth-points span{display:block}
.auth-points strong{font-size:1.4rem}
.auth-points span{color:var(--muted);font-size:.68rem}
.auth-access{min-width:0;padding:clamp(20px,3.5vw,48px);display:grid;place-items:center;background:rgba(21,21,23,.78);border:1px solid var(--line)}
.auth-card{width:min(520px,100%);display:grid;gap:16px}
.auth-card-head h2{margin:9px 0 5px;font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.05em}
.auth-card-head p{min-height:45px;margin:0;color:var(--muted)}
.env-badge{min-height:27px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;color:var(--orange);background:rgba(255,152,0,.08);border:1px solid rgba(255,152,0,.22);font-size:.66rem;font-weight:900}
.portal-switch,.other-options{padding:5px;display:grid;gap:4px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.portal-switch{grid-template-columns:repeat(3,minmax(0,1fr));border-radius:17px}
.other-options{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:14px}
.portal-switch button,.other-options button{min-height:44px;padding:0 8px;border-radius:12px;color:#aaa9ad;background:transparent;cursor:pointer;font-size:.72rem;font-weight:850}
.other-options button{min-height:38px;font-size:.68rem}
.portal-switch button:hover,.other-options button:hover{color:var(--text);background:rgba(255,255,255,.05)}
.portal-switch button.active,.other-options button.active{color:#17100a;background:#f6f5f1}
.auth-panel,#login-form,#register-form{display:grid;gap:15px}
.password-field{position:relative;display:block}
.password-field input{padding-right:72px}
.password-field button{position:absolute;right:7px;top:7px;bottom:7px;min-width:53px;padding:0 9px;border-radius:9px;color:var(--orange);background:rgba(255,152,0,.08);cursor:pointer;font-size:.7rem;font-weight:800}
.auth-forgot{justify-self:end;margin-top:-7px;color:var(--orange);font-size:.72rem;text-decoration:none}
.auth-forgot:hover{color:var(--orange-2)}
.form-error{min-height:20px;margin:0;color:var(--muted);font-size:.75rem}
.form-error[data-error=true]{color:var(--red)}
.account-action{padding:13px 14px;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:.7rem}
.account-action button,.register-heading button{padding:0;color:var(--orange);background:transparent;cursor:pointer;font-weight:850}
.operations-notice{padding:14px;border-radius:15px;background:rgba(103,174,247,.07);border:1px solid rgba(103,174,247,.23)}
.operations-notice strong,.operations-notice p{display:block;margin:0}
.operations-notice strong{font-size:.75rem}
.operations-notice p{margin-top:4px;color:var(--muted);font-size:.68rem}
.register-heading{display:grid;gap:4px}
.register-heading button{justify-self:start;min-height:32px;margin-bottom:4px}
.register-heading strong{font-size:1.15rem}
.register-heading span{color:var(--muted);font-size:.7rem}
.register-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);gap:12px}
.legal-accept{padding:13px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--line)}
.legal-accept a{color:var(--orange)}
.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.68rem}
.legal-links a:hover{color:var(--orange)}

@media(max-width:1080px){
  .auth-layout{grid-template-columns:minmax(0,.85fr) minmax(420px,1fr)}
  .auth-copy h1{font-size:clamp(3.2rem,7vw,5.3rem)}
  .auth-points{grid-template-columns:1fr}
  .auth-points div:nth-child(n+2){display:none}
}
@media(max-width:820px){
  .auth-layout{grid-template-columns:1fr;padding:10px;gap:10px}
  .auth-story{min-height:300px;padding:28px}
  .auth-copy{margin:38px 0 24px}
  .auth-copy h1{font-size:clamp(3rem,11vw,5rem)}
  .auth-points{display:none}
  .auth-access{min-height:auto;padding:34px 24px}
}
@media(max-width:560px){
  .auth-layout{padding:0;gap:0}
  .auth-story,.auth-access{border-radius:0;border-left:0;border-right:0}
  .auth-story{min-height:230px;padding:calc(20px + env(safe-area-inset-top,0px)) 18px 24px}
  .auth-story .wordmark img{width:36px;height:36px}
  .auth-copy{margin:26px 0 0}
  .auth-copy .eyebrow,.auth-copy p{display:none}
  .auth-copy h1{margin:0;font-size:clamp(2.65rem,14vw,4rem)}
  .auth-access{padding:26px 16px calc(30px + env(safe-area-inset-bottom,0px))}
  .auth-card-head p{min-height:auto}
  .portal-switch button{min-height:48px}
  .register-grid{grid-template-columns:1fr}
  .account-action{align-items:flex-start;flex-direction:column}
  .legal-links{padding-top:2px}
}
@media(max-height:620px) and (orientation:landscape){
  .auth-layout{grid-template-columns:minmax(270px,.75fr) minmax(430px,1.25fr);padding:8px}
  .auth-story{min-height:calc(100dvh - 16px);padding:24px}
  .auth-copy{margin:auto 0}
  .auth-copy h1{font-size:3.1rem}
  .auth-copy p,.auth-points{display:none}
  .auth-access{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  .portal-switch button,.other-options button{transition:none}
}
