/* Shared identity for public pages; form and application layouts remain page-owned. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
.al-page{--rose:#ff1a5c;--violet:#9b30ff;--gold:#cf9eff;--gold-dim:#a970df;--fog:#ad96b6;font-family:Manrope,system-ui,sans-serif;background-color:#050008}
.al-page h1,.al-page h2,.al-page h3,.al-page button,.al-page input,.al-page select,.al-page textarea,.al-page label,.al-page .brand,.al-page .auth-brand,.al-page .nav-logo,.al-page .logo,.al-page #topbar-brand,.al-page #sidebar-brand,.al-page a{font-family:Manrope,system-ui,sans-serif}
.al-page h1,.al-page h2{letter-spacing:-.045em}
.al-page .auth-brand,.al-page .nav-logo,.al-page .logo,.al-page #topbar-brand,.al-page #sidebar-brand{font-weight:800;letter-spacing:-1px}
.al-page .auth-brand::before,.al-page .nav-logo::before,.al-page .logo::before{content:'';display:inline-block;width:30px;height:35px;background:url('/images/alterlife/mark.svg') center/contain no-repeat;vertical-align:middle;margin-right:9px}
.al-page .auth-card{border-color:#b780d63d;box-shadow:0 24px 90px #0009;border-radius:22px;background:#100b18f5;backdrop-filter:blur(24px)}
.al-page .auth-brand{font-size:32px}.al-page .auth-sub{letter-spacing:.13em}
.al-page .nav-cta{clip-path:none;border-radius:8px;letter-spacing:.08em;color:white}
.al-page a:focus-visible,.al-page button:focus-visible{outline:3px solid #cf9eff;outline-offset:4px}
.al-login{background:linear-gradient(90deg,#05000835,#05000866 45%,#050008 80%),url('/images/alterlife/waitress.webp') left 25%/auto 100vh no-repeat fixed;justify-content:flex-end;padding-right:max(7vw,24px)}
.al-login::before{display:none}.al-login .auth-card{position:relative;z-index:1}
.al-account #auth-overlay,.al-friends #auth-overlay{background:linear-gradient(90deg,#05000888,#050008ed),url('/images/alterlife/ink.webp') left center/auto 100vh no-repeat #050008}
.al-cast{display:grid;grid-template-columns:repeat(3,1fr);height:280px;overflow:hidden;border-radius:20px;border:1px solid #ffffff20;margin:0 0 44px;position:relative;background:#120018}
.al-cast img{width:100%;height:280px;object-fit:cover;object-position:center 25%}
.al-cast::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#050008c9)}
.al-cast span{position:absolute;z-index:1;bottom:20px;left:24px;font-size:10px;letter-spacing:.2em;color:#fff}
.al-features .brand,.al-feedback .brand{letter-spacing:-.5px;font-size:21px}
.al-features .top,.al-feedback .top{border-bottom:1px solid #9b30ff44;padding-bottom:24px}
.al-game-loader .boot-logo{width:150px;height:180px;object-fit:contain}.al-game-loader .boot-logo-wrap::after{content:'AlterLife';display:block;text-align:center;font-size:48px;font-weight:800;letter-spacing:-2px;color:#fff}
@media(min-width:1100px){.al-login{padding-right:14vw}.al-login .auth-card{width:440px}}
@media(max-width:700px){.al-login{padding:24px;background:linear-gradient(#050008a8,#050008e8),url('/images/alterlife/waitress.webp') center top/cover no-repeat fixed;justify-content:center}.al-cast,.al-cast img{height:200px}.al-cast{margin-bottom:30px}.al-page nav{padding-left:20px;padding-right:20px}.al-page .nav-logo{font-size:19px}.al-page .nav-logo::before{width:23px;margin-right:5px}.al-page .nav-cta{padding:10px 14px}}
.al-login{background-color:#050008}.al-page .auth-submit{color:white}.al-page .auth-tabs button{letter-spacing:.1em}
.al-cast img{object-position:center top}.al-page .eyebrow,.al-page .req,.al-page .version,.al-page .step-num{font-family:Manrope,system-ui,sans-serif}.al-page .btn-primary{clip-path:none;border-radius:9px}
