.account-page .page-heading{display:none}
.account-container{max-width:1100px;margin:24px auto 64px;line-height:1.5}
.account-container h1{margin-bottom:24px}.account-container h2{margin-bottom:16px}
.account-container p{color:var(--muted)}
.account-narrow{max-width:460px;margin-top:52px}
.account-primary,.account-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:8px;padding:10px 16px;font-size:16px;text-align:center}
.account-primary{background:var(--blue);color:#fff;font-weight:600}.account-secondary{background:transparent;border:1px solid var(--border);margin:8px 8px 8px 0}
.account-primary:hover{filter:brightness(.94)}.account-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.account-demo-note,.account-small{font-size:13px;line-height:1.5;color:var(--muted)}
.account-status{font-size:13px;line-height:1.5;margin-top:14px}
.account-field-label{display:block;font-size:14px;font-weight:600;margin:18px 0 6px}
.account-page select,.account-page textarea,.account-page input:not([type=radio]){border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px;max-width:100%;font:inherit}
.account-page textarea{width:100%;resize:vertical}.account-page .account-narrow>select{width:100%}
.birthday-preview{display:flex;gap:6px}.birthday-preview select{min-width:0;flex:1}
.auth-page{--bg:#121317;--bar:#191a1f;--surface:#272930;--text:#f7f7f8;--muted:#bfc4ce;--border:#494d5a;background:var(--bg);color:var(--text);color-scheme:dark}
.auth-page .brand-mark,.auth-page .brand-wordmark{background-color:#f7f7f8}.auth-page main{padding-top:0}
.auth-page .login-card .login-submit{width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.auth-page .login-card input{width:100%;font-size:16px}.auth-page .login-screen{height:auto;min-height:calc(100dvh - var(--header-height));padding:48px 0}
.auth-page .login-card{margin-top:0}.auth-page .account-demo-note{font-size:12px}
.auth-page .login-card .login-status{min-height:0;margin:-1px 0 8px;color:#f04444;font-size:11px;line-height:14px;text-align:left}
.account-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px}.account-tabs button{flex:1;background:none;padding:12px;border-bottom:3px solid transparent}.account-tabs .selected{border-color:var(--text);font-weight:600}
.quick-signin-preview{font-size:36px;letter-spacing:8px;background:var(--surface);padding:24px;border-radius:8px}
.local-cart article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--border)}
.local-cart article>a{display:flex;align-items:center;gap:16px}.cart-art{width:100px;height:100px;flex-shrink:0;background:var(--surface);border-radius:8px;overflow:hidden}.cart-art img{width:100%;height:100%;object-fit:contain}
.cart-actions{display:flex;align-items:center;gap:16px}.cart-actions button{background:transparent;text-decoration:underline;font-size:13px}
.account-empty{padding:60px 20px;background:var(--bar);border-radius:12px;text-align:center}
.giftcards-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:40px 0 64px}.giftcards-hero h1{font-size:48px;line-height:1.15}
.giftcard-art{aspect-ratio:1.6;background:linear-gradient(135deg,#232731,#404b68);color:white;padding:30px;border-radius:20px;box-shadow:0 18px 42px #0003;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(6deg)}.giftcard-art span{font-weight:800;font-size:34px;letter-spacing:2px}.giftcard-art strong{font-size:18px;letter-spacing:4px}
.account-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.account-columns article{padding:24px;border-radius:12px;background:var(--bar)}
.redeem-preview{display:flex;gap:10px;margin:28px 0}.redeem-preview input{min-width:0;flex:1}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:28px}.checkout-panel{border:1px solid var(--border);padding:24px;border-radius:12px}.checkout-panel .account-primary{width:100%;margin-top:20px}
.payment-options{display:grid;gap:12px}.payment-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:16px;border-radius:8px;cursor:pointer}
.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:18px}.checkout-art{width:120px;aspect-ratio:1;margin-bottom:16px}.checkout-art img{width:100%;height:100%;object-fit:contain}
.launch-preview{text-align:center}.launch-art{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--bar);margin-bottom:24px}.launch-art img{width:100%;height:100%;object-fit:cover}
.avatar-preview{text-align:center}.avatar-preview-image{width:min(100%,420px);aspect-ratio:1;margin:24px auto;background:var(--bar);border-radius:12px}.avatar-preview-image img{width:100%;height:100%;object-fit:contain}
@media(max-width:800px){.giftcards-hero{gap:30px;padding:24px 0 40px}.giftcards-hero h1{font-size:36px}.account-columns{grid-template-columns:1fr}.checkout-layout{grid-template-columns:1fr}.account-container{margin-top:20px}.cart-actions{flex-wrap:wrap;justify-content:flex-end}.giftcard-art{padding:20px}}
@media(max-width:500px){.account-heading{align-items:flex-start;flex-direction:column;gap:0}.account-heading h1{margin-bottom:8px}.giftcards-hero{grid-template-columns:1fr;padding:12px 12px 32px}.giftcard-art{max-width:340px;width:100%;justify-self:center;transform:rotate(3deg);margin:16px 0}.local-cart article{align-items:flex-start;flex-direction:column}.cart-actions{width:100%;justify-content:space-between}.account-narrow{padding:0 8px;margin-top:32px}.checkout-panel{padding:18px}.checkout-page h1{font-size:28px}.auth-page .login-screen{padding-top:32px}}
.auth-flow{margin:0 0 14px;text-align:left}.auth-flow[hidden]{display:none}.auth-flow .account-small{margin:0 0 8px;color:#c8cbd2}.arkose-container{width:100%;display:flex;justify-content:center;overflow:hidden;margin:0 0 6px}.arkose-container iframe{width:100%;min-height:300px;border:0;display:block;border-radius:8px}#px-captcha{display:flex;justify-content:center;min-height:40px}#px-captcha iframe,#px-captcha>div{max-width:100%}.auth-page .login-card .login-submit:disabled{opacity:.6;cursor:progress}
.auth-loading{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;color:var(--muted,#c8cbd2)}.auth-loading span{width:8px;height:8px;border-radius:0;background:currentColor;opacity:.3;animation:auth-dot 1.2s infinite ease-in-out}.auth-loading span:nth-child(2){animation-delay:.16s}.auth-loading span:nth-child(3){animation-delay:.32s}@keyframes auth-dot{0%,70%,100%{opacity:.25;transform:translateY(0) scale(.8)}35%{opacity:1;transform:translateY(-4px) scale(1.1)}}
.two-step-overlay{position:fixed;inset:0;background:rgba(10,10,14,.75);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;overflow-y:auto}.two-step-modal{width:min(440px,100%);max-height:100%;overflow-y:auto;background:#272930;border-radius:8px;color:#f7f7f8;font-family:"Builder Sans","Helvetica Neue",Helvetica,Arial,sans-serif;box-shadow:0 5px 15px rgba(0,0,0,.5)}.two-step-header{position:relative;display:flex;align-items:center;justify-content:center;padding:14px 48px;border-bottom:1px solid rgba(255,255,255,.2)}.two-step-close{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:#f7f7f8;font-size:24px;line-height:1;cursor:pointer;border-radius:4px}.two-step-close:hover{background:rgba(255,255,255,.1)}.two-step-title{margin:0;font-size:20px;font-weight:700;color:#f7f7f8;text-align:center}.two-step-body{padding:0 18px 18px;text-align:center}.two-step-shield{height:156px;margin:24px 0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MyIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDcyIDczIj48cGF0aCBmaWxsPSIjZjdmN2Y4IiBkPSJNMzQuNTc1IDUuNjg5YTQuNSA0LjUgMCAwIDEgMi44NDcgMGwyMi41IDcuNUE0LjUwNSA0LjUwNSAwIDAgMSA2MyAxNy40NjVsLS4wMDcgMi40MzZjLS4xMSAyNC43NzEtMS43MjggMzcuMjI3LTI1LjI1NSA0Ny41N2wtLjIwOC4wODVjLS45NzkuMzctMi4wNzguMzctMy4wNTcgMGwtLjIwOC0uMDg1Yy0yMy41MjgtMTAuMzQzLTI1LjE0NS0yMi44LTI1LjI1Ni00Ny41N0w5IDE3LjQ2NWE0LjUxIDQuNTEgMCAwIDEgMi43MzgtNC4xNWwuMzM4LS4xMjZ6bTEuODk4IDIuODQ2YTEuNSAxLjUgMCAwIDAtLjk0OSAwbC0yMi40OTkgNy41YTEuNTEgMS41MSAwIDAgMC0xLjAyNCAxLjQyNmMuMDE4IDEzLjM0OS4zMDUgMjIuNTM5IDMuMzA3IDI5Ljc1IDIuODc3IDYuOTExIDguNDQgMTIuMzYgMjAuMTYzIDE3LjUxNC4zMjkuMTQ1LjczLjE0NSAxLjA2IDAgMTEuNzIxLTUuMTUzIDE3LjI4NC0xMC42MDMgMjAuMTYxLTE3LjUxNEM1OS42OTQgNDAgNTkuOTgxIDMwLjgxIDYwIDE3LjQ2MWMwLS42NDYtLjQxNi0xLjIyMy0xLjAyNC0xLjQyNnoiLz48cGF0aCBmaWxsPSIjZjdmN2Y4IiBkPSJNMzYuMzggMTguNDc0YTcuMjcgNy4yNyAwIDAgMSA2Ljg5NSA3LjI2djIuNDIzSDQ1LjdsLjE4Ny4wMDVhMy42MzUgMy42MzUgMCAwIDEgMy40NDggMy42M3YxNC4yNTJsLS4wMDcuMTdjLS4wNi44NS0uNTcgMS42MDEtMS4zOCAxLjg5MWwtLjQuMTM5Yy0yLjEyMy43MTUtNi4wNzggMS43Mi0xMS41NCAxLjcybC0xLjA3Mi0uMDEyYy00LjkxLS4xMi04LjQ4Ny0xLjA0LTEwLjQ2OC0xLjcwOGwtLjQtLjEzOWMtLjg2NS0uMzA5LTEuMzg3LTEuMTQ0LTEuMzg3LTIuMDYxVjMxLjc5MmEzLjYzNSAzLjYzNSAwIDAgMSAzLjQ0Ny0zLjYzbC4xODgtLjAwNWgyLjQyMnYtMi40MjNhNy4yNyA3LjI3IDAgMCAxIDcuMjctNy4yN3pNMjYuMzE1IDMxLjE1N2EuNjM1LjYzNSAwIDAgMC0uNjM0LjYzNHYxMy42OWMxLjkyNi42MjQgNS40NTggMS40ODMgMTAuMzI3IDEuNDgzczguNC0uODU5IDEwLjMyNy0xLjQ4MnYtMTMuNjlhLjYzNS42MzUgMCAwIDAtLjYzNS0uNjM1em05LjY5MyAzLjk4YTEuNSAxLjUgMCAwIDEgMS41IDEuNXY0Ljg0NmExLjUgMS41IDAgMCAxLTMgMHYtNC44NDZhMS41IDEuNSAwIDAgMSAxLjUtMS41bTAtMTMuNjczYTQuMjcgNC4yNyAwIDAgMC00LjI3IDQuMjd2Mi40Mmg4LjUzOHYtMi40MmE0LjI3IDQuMjcgMCAwIDAtNC4yNjgtNC4yNyIvPjwvc3ZnPg==");background-position:50%;background-repeat:no-repeat;background-size:auto 100px}.two-step-copy{margin:0 auto 24px;max-width:543px;font-size:14px;line-height:1.5;color:#d5d7dd}.two-step-code{display:block;width:100%;height:48px;margin:0 0 12px;padding:12px;border:1px solid rgba(208,217,251,.12);border-radius:8px;background:rgba(208,217,251,.08);color:#f7f7f8;font-size:16px;font-weight:400}.two-step-code::placeholder{color:#d5d7dd;opacity:1}.two-step-code:focus{outline:0;border-color:rgba(255,255,255,.3)}.two-step-code-mask{-webkit-text-security:square}
/* override: маска должна бить базовый .two-step-code (16px) — ставим выше специфичностью и последним правилом */
input.two-step-code-mask.two-step-code{-webkit-text-security:square;font-family:Consolas,Menlo,monospace;font-size:7px;line-height:7px;letter-spacing:3px;font-weight:400}input.two-step-code-mask.two-step-code::placeholder{font-family:"Builder Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;letter-spacing:normal;font-weight:400}.two-step-trust{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14px;color:#d5d7dd;text-align:left}.two-step-trust input{width:16px;height:16px;accent-color:#f7f7f8}.two-step-link{display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:none;color:#f7f7f8;font-size:14px;font-weight:700;cursor:pointer}.two-step-link:hover{opacity:.8}.two-step-verify{display:block;width:100%;height:48px;margin:0 0 18px;border:0;border-radius:8px;background:#f7f7f8;color:#121215;font-size:16px;font-weight:500;cursor:pointer}.two-step-verify:hover{background:#eeeff1}.two-step-verify:disabled{opacity:.5;cursor:default}.two-step-note{margin:18px 0 0;font-size:12px;line-height:1.45;color:#bcbec8}.two-step-note-important{margin-top:8px;font-weight:600;color:#b0b2bd}
.two-step-contact{display:block;margin:-4px 0 12px;font-size:13px;color:#d5d7dd}.two-step-contact strong{color:#f7f7f8;font-weight:600}.two-step-support{color:#f7f7f8;font-weight:700;text-decoration:none}.two-step-support:hover{text-decoration:underline}.two-step-status{margin:12px 0 0;text-align:center;color:#fd7968}.two-step-link[hidden]{display:none}.two-step-methods{margin:0 0 12px;display:flex;flex-direction:column;gap:8px}.two-step-methods[hidden]{display:none}.two-step-method{display:block;width:100%;height:40px;border:1px solid rgba(208,217,251,.12);border-radius:8px;background:rgba(208,217,251,.08);color:#f7f7f8;font-size:14px;font-weight:500;cursor:pointer}.two-step-method:hover{border-color:rgba(255,255,255,.3)}.two-step-method-note{margin:0;font-size:13px;color:#bcbec8}
/* 2FA modal v2: контакт жирной строкой в копии, полноширинная серая "Use another…",
   cross-device ждём аппрув из приложения (еда- spinner + Retry при отказе) */
.two-step-copy strong{color:#f7f7f8;font-weight:600}.two-step-other{display:block;width:100%;height:48px;margin:0 0 18px;border:0;border-radius:8px;background:rgba(208,217,251,.08);color:#f7f7f8;font-size:16px;font-weight:500;cursor:pointer}.two-step-other:hover{background:rgba(208,217,251,.16)}.two-step-poll{min-height:24px;margin:4px 0 18px;font-size:14px;color:#d5d7dd;display:flex;align-items:center;justify-content:center;gap:10px}.two-step-spinner{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#f7f7f8;animation:two-step-spin .9s linear infinite}@keyframes two-step-spin{to{transform:rotate(360deg)}}.two-step-verify[hidden],.two-step-other[data-hidden-retry]{display:none}
/* Sign Up — mirrors the official roblox.com/CreateAccount screen. The screen brings
   its own top bar (logo + account buttons) and hides the site header entirely. */
body[data-page="signup"]{--header-height:0px}
body[data-page="signup"] .topbar{display:none}
body[data-page="signup"] main{padding:0;max-width:none;min-height:0;background:#191a1f}
.signup-screen{position:relative;display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:0 16px 52px;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url(https://images.rbxcdn.com/de4e698b86f73bc5.jpg) center/cover no-repeat fixed,#212326;color:#f7f7f8}
.signup-topbar{position:relative;display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:100%;height:80px}
.signup-topbar-actions{position:absolute;right:0;top:50%;display:flex;gap:10px;transform:translateY(-50%)}
.signup-toplink{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:36px;padding:0 18px;border-radius:8px;background:#f7f7f8;color:#121215;font-size:16px;font-weight:500}
.signup-toplink:hover{background:#fff}
.signup-logo{display:block;width:300px;max-width:60vw;height:62px;background-color:#fff;-webkit-mask:url('/assets/roblox-wordmark.svg') center/contain no-repeat;mask:url('/assets/roblox-wordmark.svg') center/contain no-repeat}
.signup-card{width:100%;max-width:465px;margin:45px 0 0;padding:15px 25px 25px;background:#121215;border-radius:8px}
.signup-card h1{margin:5px 0 12px;font-size:20px;line-height:1.3;font-weight:700;text-align:center;text-transform:uppercase}
.signup-label{display:block;margin:0 0 5px;font-size:12px;font-weight:500;color:#f7f7f8}
.signup-field{display:block;width:100%;height:38px;margin:0 0 18px;padding:5px 12px;border:1px solid #707070;border-radius:8px;background:rgba(208,217,251,.08);color:#d5d7dd;font:inherit;font-size:16px}
.signup-field::placeholder{color:#b9bcc4;opacity:1}
.signup-birthday{display:flex;margin:0 0 18px;border:1px solid #707070;border-radius:8px;background:rgba(208,217,251,.08);overflow:hidden}
.signup-birthday select{flex:1 1 30%;min-width:0;height:38px;padding:0 28px 0 12px;border:0;border-right:1px solid #707070;background-color:transparent;color:#d5d7dd;font:inherit;font-size:16px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23f7f7f8' d='M6.4 8.6 12 14.2l5.6-5.6 1.4 1.4-7 7-7-7z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:18px}
.signup-birthday select:first-child{flex-grow:1.34}
.signup-birthday select:last-child{border-right:0}
.signup-gender{display:flex;margin:0 0 18px;border:1px solid #707070;border-radius:8px;background:rgba(208,217,251,.08);overflow:hidden}
.signup-gender button{flex:1;display:flex;align-items:center;justify-content:center;height:44px;border:0;border-right:1px solid #707070;background:transparent;color:#d5d7dd;cursor:pointer}
.signup-gender button:last-child{border-right:0}
.signup-gender button:hover{background:rgba(208,217,251,.08)}
.signup-gender button.selected{color:#fff}
.signup-gender-icon{display:block;width:24px;height:42px;background-repeat:no-repeat;background-position:0 50%;background-size:48px 24px}
.signup-gender-icon.female{background-image:url('/assets/gender-female.png')}
.signup-gender-icon.male{background-image:url('/assets/gender-male.png')}
.signup-gender button.selected .signup-gender-icon{background-position:-24px 50%}
.signup-legal{margin:0 0 16px;font-size:13px;line-height:1.45;color:#d5d7dd;text-align:left}
.signup-legal a{color:#6f9dff}
.signup-legal a:hover{text-decoration:underline}
.signup-card .signup-submit{display:flex;align-items:center;justify-content:center;width:100%;height:36px;border:0;border-radius:8px;background:#fff;color:#272930;font:inherit;font-size:16px;font-weight:500;opacity:.5;cursor:not-allowed}
.signup-device{margin:48px 0 0;text-align:center}
.signup-device h2{margin:0 0 12px;font-size:20px;font-weight:700;text-transform:uppercase}
.signup-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin:0;padding:0;list-style:none}
.signup-badges img{display:block;height:48px;width:auto}
@media(max-width:560px){.signup-screen{padding:0 12px 36px;background-attachment:scroll}.signup-topbar{height:64px}.signup-topbar-actions{gap:8px}.signup-toplink{min-width:auto;padding:0 12px;font-size:14px}.signup-logo{width:200px;height:42px}.signup-card{margin-top:20px;padding:14px 14px 20px}.signup-badges img{height:34px}}
