/* A single welcome experience for members and guests. */
.auth .auth-card{--fg:#eef3ff;--muted:#acb9d0;--panel:#101d35;width:min(1120px,100%);grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);gap:28px 40px;padding:clamp(22px,3vw,40px);color:var(--fg);border-radius:26px;background:radial-gradient(ellipse at 0 0,#142d52,transparent 65%),#091427!important;border:1px solid #344765!important;box-shadow:0 30px 90px #0009!important}
.auth-card::before{display:none}
.auth .auth-card__intro{grid-column:1;grid-row:1 / span 2}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.auth-brand img{flex-shrink:0}
.auth-brand>span{font-size:23px;font-weight:600;letter-spacing:-.6px}
.auth-brand b{color:#f0ce8d}
.auth-brand small{display:block;margin-top:3px;color:#acb9d0;font-size:10px;font-weight:400;letter-spacing:1px}
.auth .auth-card__intro h2{margin:12px 0 18px;font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-1.8px;text-shadow:none}
.auth .auth-lead{max-width:510px;font-size:14px;line-height:1.8;margin-bottom:26px}
.auth-overview{display:grid;gap:18px}
.auth-overview article{display:flex;gap:14px;align-items:start}
.auth-overview img{width:38px;height:38px;padding:8px;border-radius:12px;background:#1a3050;border:1px solid #314a69}
.auth-overview h3{margin:0 0 5px;font-size:14px;font-weight:600}
.auth .auth-overview p{margin:0;font-size:12px;line-height:1.7}
.auth .auth-card__account{padding:24px;border:1px solid #344765;border-radius:20px;background:#101d35;gap:15px}
.auth-account-heading h3{font-size:23px;letter-spacing:-.6px;margin:8px 0}
.auth .auth-account-heading p{font-size:12px;line-height:1.7;margin:0}
.auth .fields{gap:8px}
.auth .fields>label{font-size:12px;font-weight:600}
.auth .fields>input{background:#091427;border-color:#3c506f;min-height:46px;font-size:14px}
.auth .fields>input::placeholder{color:#8697b2}
.auth .fields>input+label{margin-top:5px}
.auth .face-preference{width:100%;padding:11px 0;border:0!important;background:transparent}
.auth .face-preference__copy b{font-size:12px}
.auth-optional{margin-left:auto;color:#acb9d0;font-size:10px}
.auth .auth-help{font-size:11px;line-height:1.6;margin:0}
.auth summary{cursor:pointer;color:#d2dded;font-size:12px;padding:10px 0}
.auth summary::marker{color:#f0ce8d}
.auth summary>span{float:right;color:#acb9d0;font-size:10px}
.auth details p{font-size:12px;line-height:1.7}
.auth details label{display:block;font-size:12px;margin-bottom:8px}
.auth .auth-profile input{font-size:12px;padding:10px}
.auth-world{margin-top:20px;border-top:1px solid #344765}
.auth-privacy{border-top:1px solid #344765}
.auth .privacy-choice__actions{margin:10px 0}
.auth .actions{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.auth .btn{min-height:44px;font-size:13px;border-radius:11px}
.auth .btn.ghost{background:#172945;border:1px solid #425675;color:#eef3ff}
.auth .btn:hover{filter:brightness(1.12)}
.auth .btn:focus-visible,.auth summary:focus-visible{outline:2px solid #f0ce8d;outline-offset:4px}
.auth #login{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#e5b35c,#f5d48b)!important}
.auth-guest{display:grid;gap:12px;margin-top:2px}
.auth-divider{display:flex;align-items:center;gap:10px;color:#acb9d0;font-size:10px;text-align:center}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:#344765}
.auth #guest-login{display:flex;justify-content:space-between;align-items:center;background:transparent}
.auth .auth-guest p{text-align:center;font-size:10px;line-height:1.7;margin:0}
.auth .auth-card__extras{grid-column:2;padding:0;border:0;background:transparent!important;gap:16px}
.auth-tools{padding:0 16px;border:1px solid #344765;border-radius:12px}
.auth-tools[open]{padding-bottom:16px}
.auth-tools .btn{width:100%;margin:12px 0}
.auth .auth-card__token-fields{margin-top:8px;display:grid;grid-template-columns:1fr}
.auth .auth-card__token-fields select{width:100%;padding:10px;background:#101d35;color:#eef3ff;border:1px solid #425675;border-radius:8px}
.auth .auth-card__socket-link{margin-top:12px;font-size:11px}
.auth .app-download-card{background:transparent;border-color:#344765;box-shadow:none}
@media(max-width:850px){.auth .auth-card{grid-template-columns:minmax(0,1fr) minmax(290px,1fr);gap:24px;padding:22px}.auth .auth-card__account{padding:18px}}
@media(max-width:680px){.auth .auth-card{display:flex;flex-direction:column;height:auto;gap:22px;padding:22px 18px;border-radius:18px}.auth .auth-card__intro,.auth .auth-card__account,.auth .auth-card__extras{width:100%}.auth-brand{margin-bottom:22px}.auth .auth-card__intro h2{font-size:36px}.auth .auth-lead{font-size:13px;margin-bottom:20px}.auth .auth-card__account{order:1}.auth .auth-card__intro{order:2}.auth .auth-card__extras{order:3;display:grid}.auth .auth-card__extras .app-download-card{display:flex!important}.auth .auth-card__extras .auth-card__socket-link,.auth .auth-card__extras #token-contract-gallery{display:block!important}.auth .auth-card__extras #ws-config{display:none}.auth .auth-card__extras #ws-config[style*="display: grid"]{display:grid!important}}
/* Let the welcome page own the viewport, including on small screens. */
.auth{top:0!important;bottom:0!important;z-index:1000;padding:clamp(12px,3vw,32px);background:radial-gradient(ellipse at 10% 0,#16395a,transparent 65%),#060e1c}
.auth .auth-card{row-gap:22px}
.auth .auth-card__intro{grid-row:1}
.auth .auth-discover{grid-column:1;grid-row:2 / span 2;min-width:0}
.auth .auth-card__account{grid-column:2;grid-row:1 / span 2}
.auth .auth-card__extras{grid-row:3}
.auth .auth-lead{margin-bottom:0}
@media(max-width:680px){
 .auth{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));align-items:stretch}
 .auth .auth-card{padding:20px 16px;gap:24px;max-height:100%;margin:0 auto}
 .auth .auth-card__intro{order:0}
 .auth .auth-card__intro h2{font-size:30px;margin:10px 0}
 .auth .auth-card__intro h2 br{display:none}
 .auth .auth-card__intro h2 br::after{content:' '}
 .auth-brand{margin-bottom:18px}
 .auth .auth-discover{order:2;width:100%}
 .auth .auth-card__account{order:1;padding:16px;gap:12px}
 .auth .auth-card__extras{order:3}
}
.auth{z-index:2000}
body.auth-lock header,body.auth-lock footer{visibility:hidden}
/* Keep entry controls on one page; expanded information remains scrollable. */
.auth { padding: max(12px, env(safe-area-inset-top)) 20px max(12px, env(safe-area-inset-bottom)); }
.auth .auth-card { gap: 18px 32px; padding: 28px; max-height: 100%; }
.auth .auth-card__intro { grid-column: 1; grid-row: 1; }
.auth .auth-discover { grid-column: 1; grid-row: 2; align-self: start; }
.auth .auth-card__extras { grid-column: 1; grid-row: 3; display: block; align-self: start; }
.auth .auth-card__account { grid-column: 2; grid-row: 1 / span 3; gap: 12px; padding: 22px; }
.auth .auth-card__intro h2 { font-size: clamp(30px, 3.5vw, 44px); }
.auth .auth-card__intro .auth-lead { font-size: 13px; line-height: 1.65; }
.auth-brand { margin-bottom: 22px; }
.auth .auth-discover > summary, .auth .auth-card__extras > summary { padding: 12px 14px; border: 1px solid #344765; border-radius: 10px; }
.auth .auth-discover[open] > summary, .auth .auth-card__extras[open] > summary { margin-bottom: 14px; }
.auth .auth-options > summary { border-top: 1px solid #344765; margin-top: 4px; }
.auth .auth-options .face-preference { display: flex; }
.auth .auth-options .auth-help { margin-bottom: 8px; }
.auth .auth-options .auth-profile { margin-top: 6px; }
.auth .auth-card__extras .app-download-card { margin-top: 12px; }
.auth .auth-guest { gap: 8px; }
.auth .actions { grid-template-columns: 1fr 1fr; gap: 8px; }
.auth #login { justify-content: center; gap: 12px; }
@media (max-width: 680px), (max-height: 700px) {
  .auth { padding: max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom)); }
  .auth .auth-card { padding: 16px; gap: 12px; }
  .auth .auth-card__account { padding: 14px; gap: 8px; }
  .auth-brand { margin-bottom: 10px; }
  .auth-brand img { width: 44px; height: 44px; }
  .auth .auth-card__intro h2 { font-size: 28px; margin: 10px 0; }
  .auth .fields { gap: 6px; }
  .auth .fields > input { min-height: 44px; padding: 10px 12px; font-size: 16px; }
  .auth .fields > input + label { margin-top: 0; }
  .auth-account-heading h3 { font-size: 20px; margin: 4px 0; }
  .auth .auth-account-heading .auth-card__eyebrow { display: none; }
  .auth .auth-account-heading p { font-size: 11px; }
  .auth .auth-guest p { font-size: 10px; line-height: 1.5; }
  .auth .auth-discover > summary, .auth .auth-card__extras > summary { padding: 9px 12px; }
}
@media (max-width: 680px) {
  .auth .auth-card { display: flex; flex-direction: column; height: auto; }
  .auth .auth-card__intro { order: 0; flex: 0 0 auto; }
  .auth .auth-card__intro .auth-card__eyebrow, .auth .auth-lead { display: none; }
  .auth .auth-card__intro h2 { font-size: 22px; margin: 0; letter-spacing: -.6px; }
  .auth .auth-card__account { order: 1; flex: 0 0 auto; }
  .auth .auth-account-heading p { display: none; }
  .auth .auth-discover { order: 2; flex: 0 0 auto; width: 100%; }
  .auth .auth-card__extras { order: 3; flex: 0 0 auto; width: 100%; }
  .auth .auth-card__intro h2 br { display: none; }
}
@media (max-width: 680px) and (max-height: 650px) {
  .auth .auth-card { padding: 12px; gap: 8px; }
  .auth-brand { margin-bottom: 0; }
  .auth .auth-card__intro h2 { display: none; }
  .auth .auth-card__account { padding: 10px; }
}
@media (max-width: 680px) and (max-height: 650px) {
  .auth .auth-card__account { gap: 6px; }
  .auth .fields { gap: 4px; }
  .auth-account-heading h3 { font-size: 18px; margin: 2px 0; }
  .auth .auth-discover > summary, .auth .auth-card__extras > summary { padding: 8px; font-size: 11px; }
  .auth .auth-options > summary { padding: 8px 0; }
  .auth .auth-guest { gap: 6px; }
}
@media (min-width: 681px) and (max-height: 500px) {
  .auth .auth-card { gap: 10px 24px; padding: 14px; }
  .auth .auth-card__account { padding: 10px; gap: 6px; }
  .auth .auth-account-heading p, .auth .auth-card__intro .auth-card__eyebrow { display: none; }
  .auth .auth-card__intro h2 { font-size: 26px; margin: 8px 0; }
  .auth-brand { margin-bottom: 8px; }
  .auth .auth-card__account > .fields { grid-template-columns: 1fr 1fr; }
  .auth .fields > label[for="username"] { grid-column: 1; grid-row: 1; }
  .auth .fields > label[for="password"] { grid-column: 2; grid-row: 1; }
  .auth #username { grid-column: 1; grid-row: 2; min-width: 0; }
  .auth #password { grid-column: 2; grid-row: 2; min-width: 0; }
  .auth .auth-options { grid-column: 1 / -1; }
}
@media (max-width: 680px) and (max-height: 650px) {
  .auth .auth-card { padding: 10px; gap: 6px; }
  .auth-brand { gap: 10px; }
  .auth-brand img { width: 36px; height: 36px; }
  .auth-brand > span { font-size: 21px; }
}
.auth-face-controls { display: flex; align-items: center; gap: 8px; border-top: 1px solid #344765; padding-top: 4px; }
.auth .auth-face-controls .face-preference { flex: 1; width: auto; margin: 0; padding: 7px 0; gap: 7px; }
.auth .auth-face-controls .face-preference input { width: 18px; height: 18px; flex-basis: 18px; accent-color: #e5b35c; }
.auth .auth-face-controls .face-preference__copy b { font-size: 11px; }
.auth .auth-face-controls .auth-optional { font-size: 10px; }
.auth-settings-button { min-height: 36px; padding: 4px 7px; background: #172945; color: #f5d48b; border: 1px solid #425675; border-radius: 8px; cursor: pointer; font: inherit; font-size: 11px; }
.auth-settings-button:focus-visible { outline: 2px solid #f5d48b; outline-offset: 3px; }
@media (max-width: 350px) { .auth .auth-face-controls .face-preference__copy b { font-size: 10px; } }
@media (max-width: 680px) and (max-height: 650px) {
  .auth .auth-face-controls { padding-top: 0; }
}
.auth-install-short { flex: 0 0 32px; width: 32px; min-height: 36px; padding: 0; border: 1px solid #56708f; border-radius: 10px; background: #172945; color: #f5d48b; font-size: 0; cursor: pointer; margin-left: auto; }
.auth-install-short::after { content: '↓'; font-size: 20px; }
.auth-install-short:focus-visible { outline: 2px solid #f5d48b; outline-offset: 3px; }
@media (max-width: 350px) { .auth-brand > span { font-size: 18px; } .auth-brand small { font-size: 8px; letter-spacing: .4px; } .auth-brand { gap: 8px; } }
.auth .auth-face-controls .face-preference input { appearance: none; -webkit-appearance: none; flex: 0 0 28px; width: 28px; height: 18px; border: 1px solid #56708f; border-radius: 20px; background: #091427; position: relative; cursor: pointer; }
.auth .auth-face-controls .face-preference input::before { content: ''; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #acb9d0; }
.auth .auth-face-controls .face-preference input:checked { background: #e5b35c; border-color: #f5d48b; }
.auth .auth-face-controls .face-preference input:checked::before { left: 12px; background: #091427; }
.auth .auth-face-controls .face-preference input:focus-visible { outline: 2px solid #f5d48b; outline-offset: 3px; }
.auth .auth-install-short { display: inline-flex; align-items: center; justify-content: center; }
.auth .auth-install-short::after { content: none; }
.auth .auth-install-short img { width: 24px; height: 24px; }
.auth .auth-install-short span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.auth .auth-install-short[hidden] { display: none; }
/* The new login uses the existing native installer and glossy blue actions. */
.auth #login { background: linear-gradient(120deg, #0072ff, #00bfff) !important; color: #fff !important; border-color: #7edfff !important; }
.auth .auth-install-short { background: #123966; border-color: #58bfff; }
.auth .auth-install-short[hidden] { display: none !important; }
