/* Approved mobile login, 8 October 2026. Reuses canonical glass and catalog gradient. */
.login-splash{display:none}.brand-plus{display:inline-block;width:20px;height:20px;margin-left:3px;background:url('affinity-logo.png') -144.24px -5.76px / 176.97px 28.18px no-repeat;vertical-align:baseline}
@media(max-width:880px){
 html.affinity-universe body{background:radial-gradient(ellipse at 0% 0%,#36383C 0%,transparent 43%),radial-gradient(ellipse at 100% 65%,#292B2F 0%,transparent 53%),linear-gradient(165deg,#191A1D,#0D0E10 58%,#202226);font-family:Manrope,sans-serif;line-height:normal}
 .shell{max-width:440px;min-height:100svh;padding:40px 20px 28px;margin:auto}
 .logo{width:205px;height:auto;max-width:100%;margin:4px auto 34px}
 html.affinity-universe .card[data-affinity-card]{position:relative;isolation:isolate;width:100%;padding:26px 23px 22px;border:1px solid transparent;border-radius:44px!important;text-align:center}
 html.affinity-universe .card[data-affinity-card]>.affinity-glass-rim{display:none}
 .eyebrow{font:800 10px Manrope,sans-serif;letter-spacing:.23em;color:#b32536;margin-bottom:10px}
 .card h2{font:800 27px/1.18 Manrope,sans-serif;letter-spacing:-1px;margin:0 0 8px}
 .card .lede{font-size:13px;color:#535561;margin:0 0 25px}
 form{gap:0}.field{margin-bottom:18px;text-align:left}.field label{font-size:12px;font-weight:700;margin-bottom:8px}
 .row-label a{font-size:11px;font-weight:400;color:#535561;margin-bottom:8px}
 html.affinity-universe .card .inp input{height:52px;padding:0 14px;border:1px solid #ffffffca;background:#ffffffa8;border-radius:13px;font:400 16px Manrope,sans-serif;text-align:left}
 html.affinity-universe .card .inp input.haspw{padding-right:64px}.inp input::placeholder{font-size:14px;color:#9b9691}
 .inp .toggle{right:4px;top:4px;transform:none;height:44px;padding:0 12px;background:none;font:700 10px Manrope,sans-serif;letter-spacing:.07em}
 .remember{justify-content:center;gap:8px;font-size:11px;font-weight:500;margin:4px 0 22px;min-height:24px}.remember input{width:18px;height:18px;margin:0;accent-color:#cc2335}
 .btn{height:52px;width:180px;max-width:100%;margin:0 auto;border-radius:14px;background:#19191b;font:700 15px Manrope,sans-serif;gap:18px;padding:0 20px}.btn .arw{color:#ff6370;font-size:23px}
 .invite,.foot{display:none}
 .stats{width:100%;flex-direction:row;justify-content:space-around;align-items:start;gap:10px;margin:25px 0 0;font-family:Outfit,sans-serif}
 .stat .v{font:500 28px/normal Outfit,sans-serif;letter-spacing:-.4px;background:linear-gradient(135deg,#ff6975,#ff253c 48%,#d90b25);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}
 .stat .l{font:400 12px/normal Outfit,sans-serif;letter-spacing:.08em;color:#c3bcb9;margin-top:4px}.stat .l .ac{display:block;margin-top:4px;font-size:8px;letter-spacing:0}
 .login-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;background:radial-gradient(ellipse at 0% 0%,#36383C 0%,transparent 43%),radial-gradient(ellipse at 100% 65%,#292B2F 0%,transparent 53%),linear-gradient(165deg,#191A1D,#0D0E10 58%,#202226);animation:login-exit .4s 1s ease both}
 .login-splash:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#b423343a,transparent 68%);animation:login-halo 1.25s ease both}
 .opening-mark{position:relative;width:98px;height:98px;animation:login-reveal .65s cubic-bezier(.2,.8,.2,1) both}.opening-brand{position:relative;width:170px;height:auto;margin-top:22px;animation:login-reveal .6s .15s both}
}
@media(max-width:440px){.shell{padding:32px 17px 24px}.logo{margin-bottom:26px}}
@keyframes login-reveal{from{opacity:0;transform:translateY(12px) scale(.87)}to{opacity:1;transform:none}}
@keyframes login-exit{to{opacity:0;visibility:hidden;transform:scale(1.025)}}
@keyframes login-halo{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.login-splash{display:none}}

/* Compact card and requested understated maker credit. */
.mobile-kda{display:none}
@media(max-width:880px){
 html.affinity-universe .card[data-affinity-card]{max-width:360px;padding:26px 20px 20px}
 .card h2{font-size:25px}.card .lede{margin-bottom:23px}
 .field{margin-bottom:16px}
 html.affinity-universe .card .inp input{height:50px}
 .inp .toggle{height:40px}
 .remember{margin:2px 0 18px}
 .btn{height:50px}
 .mobile-kda{order:3;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding-top:32px;color:#65666a;font:500 9px Manrope,sans-serif;letter-spacing:.04em}
 .mobile-kda .kda{margin-top:0}
}
/* Requested richer version of the approved blue/apricot login gradient. */
@media(max-width:880px){
 html.affinity-universe .card[data-affinity-card]{--affinity-card-gradient:radial-gradient(ellipse at 48% 52%,#FFAC59 10%,transparent 65%),radial-gradient(ellipse at 0% 100%,#D9ECCC 6%,transparent 56%),linear-gradient(110deg,#A9D7F7,#B6CFE4 55%,#8DC4ED)!important}
}

/* Reuse the dashboard footer signature, including its original mask and typography. */
.mobile-kda .affinity-footer-credit{display:flex;align-items:center;justify-content:center;gap:14px}
.mobile-kda .affinity-footer-credit span{font-size:9px;font-weight:400;text-transform:uppercase;letter-spacing:.14em;line-height:1.5;text-align:right;color:#59616D}
.mobile-kda .affinity-footer-kda{display:inline-block;position:relative;line-height:0}
.mobile-kda .affinity-footer-kda::before{content:"";position:absolute;inset:0;background:currentColor;mask:url("kda-labs-logo.png") center/contain no-repeat;-webkit-mask:url("kda-labs-logo.png") center/contain no-repeat}
html.affinity-universe .mobile-kda .affinity-footer-kda img{display:block;height:28px;width:auto;filter:none;opacity:0}
@media(max-width:880px){.shell:not(.recovery-shell){padding-top:64px}}
@media(max-width:440px){.shell:not(.recovery-shell){padding-top:56px}}

/* Member account-inspired login treatment, mobile only. */
.mobile-ident-label{display:none}
@media(max-width:880px){
 html.affinity-universe body{background:radial-gradient(ellipse at -8% 15%,#e53829 0%,#821b25 22%,transparent 47%),radial-gradient(ellipse 150px 180px at -5% 62%,rgba(233,35,38,.85),transparent 90%),radial-gradient(ellipse at 110% 39%,#c92729 0%,transparent 39%),radial-gradient(ellipse at 97% 91%,#eb431e 0%,transparent 33%),linear-gradient(155deg,#181719 15%,#0d0e12 64%,#1b1719 100%)}
 html.affinity-universe .card[data-affinity-card]{background:transparent!important;color:#fff!important;border:0!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none}
 html.affinity-universe .card[data-affinity-card]::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("mobile-login-glass-card.png") center / 105% 106% no-repeat;filter:brightness(.93) saturate(.75)}
 html.affinity-universe .shell:not(.recovery-shell) .card[data-affinity-card]::before{background-image:url("mobile-login-glass-card-v2.png");filter:none}
 html.affinity-universe .card[data-affinity-card]>:not(.affinity-glass-rim){position:relative;z-index:1}
 html.affinity-universe .card[data-affinity-card] h2{color:#fff!important}
 html.affinity-universe .card .lede{color:#e5dce0}
 html.affinity-universe .card .field label,html.affinity-universe .card .remember{color:#fff}
 html.affinity-universe .card .row-label a{color:#f0e0e3}
 html.affinity-universe .card .inp input{background:rgba(239,226,233,.39)!important;color:#fff!important;border:1px solid rgba(255,255,255,.64)!important}
 html.affinity-universe .card .inp input::placeholder{color:#e8dfe3}
 html.affinity-universe .card .inp .toggle{color:#fff;background:transparent}
 html.affinity-universe .card .btn{background:linear-gradient(115deg,#e7223b,#a91a3c);color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:0 8px 22px rgba(91,5,24,.28)}
 html.affinity-universe .card .btn:hover{background:linear-gradient(115deg,#f02a45,#b61e43)}
 html.affinity-universe .card .btn .arw{color:#fff}
 .desktop-ident-label{display:none}.mobile-ident-label{display:inline}
}
@media(max-width:880px){html.affinity-universe .card[data-affinity-card]{padding-bottom:32px}}
