/* Player account screens and the smaller in-page access dialogs. */
.auth-page { background:radial-gradient(circle at 15% 20%,#90713a17,transparent 28%),#141513; padding:38px 24px 88px; }
.auth-page__shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,535px); max-width:1280px; min-height:710px; margin:auto; border:1px solid #494336; background:#20211e; box-shadow:0 28px 80px #0005; }
.auth-page__story { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:710px; padding:54px clamp(36px,5vw,84px); overflow:hidden; border-right:1px solid #5c4c2d; background:radial-gradient(circle at 90% 68%,#d3a24730,transparent 38%),linear-gradient(145deg,#292b24,#191b18 72%); }
.auth-page__story-main { position:relative; z-index:1; display:flex; flex:1; flex-direction:column; align-items:flex-start; justify-content:center; width:100%; padding:25px 0; text-align:left; }
@media(min-width:901px) { .auth-page--signup .auth-page__story-main { justify-content:flex-start; padding-top:90px; } }
.auth-page__story::after { content:""; position:absolute; width:380px; height:380px; right:-190px; bottom:58px; transform:rotate(45deg); border:1px solid #c8a66636; box-shadow:0 0 0 45px #b8943910,0 0 0 105px #b8943909; pointer-events:none; }
.public-site .auth-page__back { color:#d0c8b6; font-size:12px; font-weight:600; }
.auth-kicker { display:block; color:#e5ba70; font-size:10px; font-weight:800; letter-spacing:.18em; line-height:1.5; }
.public-site .auth-page__story h1 { position:relative; z-index:1; max-width:650px; margin:19px 0 17px; color:#fff; font-size:clamp(44px,5.2vw,80px); font-weight:800; line-height:1.06; letter-spacing:-.055em; text-align:left; }
.auth-page__story h1 span { color:#e9b85e; }
.public-site .auth-page__story p { max-width:420px; color:#c0c3b8; font-size:15px; line-height:1.7; text-align:left; }
.auth-page__steps { position:relative; z-index:1; display:grid; gap:12px; width:min(100%,390px); margin:43px 0 0; }
.auth-page__steps div { display:flex; align-items:center; gap:18px; padding:12px 0; border-top:1px solid #cbb37132; color:#e1e0d8; font-size:13px; }
.auth-page__steps strong { color:#e6b562; font-size:12px; letter-spacing:.12em; }
.auth-page__signature { color:#8d9083; font-size:9px; font-weight:800; letter-spacing:.19em; }
.auth-page__signature span { color:#e6b562; padding:0 7px; }
.auth-page__panel { min-width:0; background:linear-gradient(165deg,#252720,#1c1e1a); }
.auth-page__tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #414339; }
.public-site .auth-page__tabs a { padding:22px 10px 18px; border-bottom:3px solid transparent; color:#aeb0a6; font-size:12px; font-weight:800; text-align:center; letter-spacing:.07em; text-decoration:none; }
.public-site .auth-page__tabs a[aria-current=page] { border-color:#edbd67; color:#fff; background:#ffffff08; }
.auth-page__content { padding:43px clamp(25px,4vw,56px) 52px; }
.public-site .auth-page__content h2 { margin:10px 0; color:#fff; font-size:clamp(25px,2.6vw,37px); font-weight:800; line-height:1.17; }
.public-site .auth-page__intro { margin-bottom:27px; color:#b8bbb0; font-size:13px; line-height:1.6; }
.auth-form { display:grid; gap:17px; }
.auth-form--signup { gap:14px; }
.auth-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.auth-field { min-width:0; }
.auth-field label, .auth-field__line { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 7px; color:#f3f0e7; font-size:11px; font-weight:700; }
.auth-field label small { color:#a3a99b; font-size:10px; font-weight:500; }
.auth-field__line label { margin:0; }
.auth-field__line a { font-size:10px; }
.public-site .auth-form input:not([type=checkbox]), .public-site .auth-form select { display:block; width:100%; min-width:0; min-height:45px; padding:11px 12px; border:1px solid #505348; border-radius:3px; outline:none; background:#171a16; color:#fff; font-size:12px; }
.public-site .auth-form input::placeholder { color:#8e9588; opacity:1; }
.public-site .auth-form input:focus, .public-site .auth-form select:focus { border-color:#e8bc72; box-shadow:0 0 0 3px #e9ba6225; }
.auth-form__section { margin:5px 0 2px; padding-top:13px; border-top:1px solid #45483e; }
.auth-form__section:first-of-type { border:0; padding-top:0; }
.auth-form__section span { color:#e8bb69; font-size:10px; font-weight:800; letter-spacing:.16em; }
.public-site .auth-form__section p { margin:5px 0 0; color:#b7b9ad; font-size:11px; }
.public-site .auth-form__help, .auth-field__help { display:block; margin:-4px 0 0; color:#aeb2a5; font-size:10px; line-height:1.5; }
.public-site .auth-form__help--location { margin:0 0 4px; padding:10px 12px; border-left:2px solid #d9ac5c; background:#c5a05b0e; color:#d8d4c7; }
.auth-field__help { margin:6px 0 0; }
.auth-consent { display:flex; align-items:flex-start; gap:11px; margin:3px 0; }
.public-site .auth-consent input[type=checkbox] { flex:none; width:16px; height:16px; margin:2px 0 0; accent-color:#e8bb69; }
.auth-consent label { margin:0; color:#c6c8be; font-size:11px; line-height:1.55; }
.public-site .auth-submit { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; margin:5px 0 0; padding:11px 17px; border:1px solid #e7b764; border-radius:3px; background:#e8bb69; color:#1c1a15; font-size:12px; font-weight:800; }
.public-site .auth-submit:hover { background:#f5cf87; }
.public-site .auth-submit:disabled { cursor:not-allowed; opacity:.55; background:#c6b693; }
.auth-submit span { font-size:18px; line-height:1; }
.public-site .auth-form__footnote { margin:0; color:#aeb1a5; font-size:10px; line-height:1.5; }
.auth-switch { margin-top:23px; padding-top:19px; border-top:1px solid #45483e; color:#bec1b5; font-size:12px; }
.auth-switch a { margin-left:4px; font-weight:800; }
.auth-notice { padding:18px; border:1px solid #bd9e5e; background:#5947262c; color:#f5e6c7; font-size:13px; }
.auth-notice p { margin:5px 0 0; }
.auth-error { margin:0 0 22px; padding:12px 15px; border:1px solid #bb7762; background:#703b3038; color:#ffdfd3; font-size:12px; line-height:1.5; }
.auth-modal .modal-dialog { max-height:calc(100vh - 28px); overflow-y:auto; }
.auth-modal .modal-content { background:#21231e!important; border-color:#706044; }
.auth-modal__head { display:flex; align-items:flex-start; padding:24px 28px 18px; }
.auth-modal .auth-modal__head h2 { margin:7px 0 0; color:#fff; font-size:26px; font-weight:800; }
.auth-modal .close { margin-left:auto; color:#fff; opacity:.8; font-size:27px; }
.auth-modal__body { padding:25px 28px 28px; }
.auth-modal__body>p { margin:-3px 0 22px; font-size:12px; }
.auth-modal .auth-switch { margin-top:17px; }
.auth-modal .auth-form--signup { max-height:70vh; overflow-y:auto; padding-right:5px; }
@media(max-width:900px) { .auth-page__shell { grid-template-columns:1fr; }.auth-page__story { min-height:auto; padding:35px; border-right:0; border-bottom:1px solid #5c4c2d; }.auth-page__story-main { padding:30px 0 4px; }.public-site .auth-page__story h1 { font-size:clamp(35px,7vw,55px); }.auth-page__steps,.auth-page__signature { display:none; } }
@media(max-width:560px) { .auth-page { padding:0 0 40px; }.auth-page__shell { border-left:0; border-right:0; }.auth-page__story { padding:27px 22px; }.auth-page__story-main { padding:23px 0 0; }.public-site .auth-page__story h1 { font-size:36px; }.auth-page__content { padding:30px 21px 40px; }.auth-form__grid { grid-template-columns:1fr; }.auth-modal__head,.auth-modal__body { padding-left:20px; padding-right:20px; }.auth-modal .auth-form--signup { max-height:68vh; } }

/* Keep the three full account screens in one visual system. */
.auth-page__shell { max-width:1180px; min-height:690px; grid-template-columns:minmax(0,1fr) minmax(400px,500px); }
.auth-page__story { min-height:690px; }
.auth-page .auth-page__story { top:auto; right:auto; bottom:auto; left:auto; }
.public-site .auth-page__story h1 { max-width:580px; font-size:clamp(42px,4.3vw,64px); line-height:1.1; letter-spacing:-.04em; }
.auth-page__content { padding:52px clamp(26px,4vw,52px) 56px; text-align:left; }
.auth-page--login .auth-page__content,.auth-page--reset .auth-page__content { display:flex; min-height:690px; flex-direction:column; justify-content:center; }
.auth-page__tabs { display:grid; grid-template-columns:repeat(2,1fr); align-self:flex-start; width:min(100%,270px); margin:0 0 45px; padding:4px; border:1px solid #47483d; border-radius:6px; background:#191b17; }
.public-site .auth-page__tabs a { padding:10px 15px; border:0; border-radius:3px; color:#c1c5ba; font-size:12px; letter-spacing:0; }
.public-site .auth-page__tabs a:hover { color:#fff; background:#ffffff0d; }
.public-site .auth-page__tabs a[aria-current=page] { border:0; color:#21190d; background:#ecc377; }
.public-site .auth-page__return { display:inline-block; align-self:flex-start; margin-bottom:49px; color:#e9ba69; font-size:12px; font-weight:700; text-decoration:none; }
.public-site .auth-page__content h2 { margin:12px 0 11px; font-size:clamp(28px,2.7vw,36px); }
.public-site .auth-page__intro { margin:0 0 30px; text-align:left; }
.public-site .auth-form__section p,.public-site .auth-form__help,.public-site .auth-form__footnote,.public-site .auth-notice p { text-align:left; }
.auth-form--reset { max-width:100%; }
.public-site button.auth-submit[type=submit],.public-site a.auth-submit--link { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:49px; margin:7px 0 0; padding:12px 17px; border:1px solid #e7b764; border-radius:4px; background:#e8bb69; color:#1c1a15; font-size:12px; font-weight:800; text-align:left; text-decoration:none; box-shadow:none; }
.public-site button.auth-submit[type=submit]:hover,.public-site a.auth-submit--link:hover { background:#f5cf87; color:#1c1a15; }
.public-site button.auth-submit[type=submit]:disabled { cursor:not-allowed; opacity:.55; background:#c6b693; }
.public-site .auth-form input:-webkit-autofill,.public-site .auth-form input:-webkit-autofill:hover,.public-site .auth-form input:-webkit-autofill:focus { -webkit-text-fill-color:#fff; box-shadow:0 0 0 1000px #171a16 inset; caret-color:#fff; transition:background-color 9999s; }
.public-site .auth-form input:autofill { box-shadow:0 0 0 1000px #171a16 inset; color:#fff; caret-color:#fff; }
@media(max-width:900px) { .auth-page__shell { grid-template-columns:1fr; }.auth-page__story { min-height:auto; }.public-site .auth-page__story h1 { font-size:clamp(35px,6vw,50px); }.auth-page--login .auth-page__content,.auth-page--reset .auth-page__content { min-height:0; }.auth-page__tabs { margin-bottom:34px; } }
@media(max-width:560px) { .auth-page__content { padding:30px 21px 42px; }.public-site .auth-page__story h1 { font-size:36px; }.auth-page__tabs { width:100%; }.auth-page__steps { display:none; } }

/* Email confirmation and recovery share the same account layout. */
.auth-page--verify .auth-page__content { display:flex; min-height:690px; flex-direction:column; justify-content:center; }
.auth-page--verify .auth-form--verify { margin:7px 0 0; }
.auth-page--verify .auth-notice { margin:0 0 18px; }
.auth-details { margin:30px 0 0; padding-top:20px; border-top:1px solid #45483e; }
.auth-details summary { color:#ecc377; font-size:12px; font-weight:700; cursor:pointer; }
.auth-details summary:focus-visible,.auth-page a:focus-visible,.auth-page button:focus-visible { outline:2px solid #ecc377; outline-offset:3px; }
.public-site .auth-details p,.public-site .auth-help-link { margin:10px 0 17px; color:#b8bbb0; font-size:12px; line-height:1.6; }
.auth-page--verify .auth-help-link { margin-top:22px; }
.auth-field__error { display:block; margin:6px 0 0; color:#ffd0c2; font-size:11px; line-height:1.45; }
.auth-field__error[hidden],.auth-error[hidden] { display:none; }
.public-site .auth-form input[aria-invalid=true],.public-site .auth-form select[aria-invalid=true] { border-color:#de947e; box-shadow:0 0 0 2px #de947e24; }
.auth-error a { color:inherit; text-decoration:underline; font-weight:700; }
.site-flash--error { background:#542e28; border-color:#c47a66; color:#ffe4dc; }
@media(max-width:900px) { .auth-page--verify .auth-page__content { min-height:0; } }
@media(max-width:560px){.public-site .auth-form input:not([type=checkbox]),.public-site .auth-form select{font-size:16px;min-height:48px}.auth-page__content,.auth-field{min-width:0}.auth-submit{min-height:48px}}
