/* Minimal public login, intentionally scoped away from the native app shell. */
body:has(#auth.auth-clean:not([hidden])){background:#020504}
#auth.auth-clean:not(.app-auth){--auth-gold:#21cf75;--auth-cream:#f6f8f7;min-height:100svh;padding:22px 36px 30px;background:#020504;color:#edf2ef;font:14px/1.5 Arial,sans-serif;overflow-x:hidden}
#auth.auth-clean:not(.app-auth) [hidden]{display:none!important}
#auth.auth-clean:not(.app-auth) .auth-landscape{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 32% 66%,#0b633225,transparent 55%),#020504;animation:none}
#auth.auth-clean:not(.app-auth) .auth-landscape::before{content:'';position:absolute;inset:6% 0 0;background:url('/brand/rayquaza-hd.png') 24% 70%/min(1000px,90vw) auto no-repeat;opacity:.28;filter:drop-shadow(0 0 35px #10a94b18);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 90%,transparent)}
#auth.auth-clean:not(.app-auth) .auth-topbar{padding:0;border:0;gap:24px;min-height:44px}
#auth.auth-clean:not(.app-auth) .auth-brand{display:inline-flex;align-items:center;gap:12px;width:auto;max-width:none;white-space:nowrap}
#auth.auth-clean:not(.app-auth) .auth-brand strong{display:block;font:700 24px/1 Arial,sans-serif;letter-spacing:3px;color:#f7fff9}
#auth.auth-clean:not(.app-auth) .auth-brand strong span{font-weight:300;color:#12ca69}
#auth.auth-clean:not(.app-auth) .auth-emblem-dock{display:block;width:44px;height:44px;padding:0;margin:0;background:none;border:0;box-shadow:none;transform:none}
#auth.auth-clean:not(.app-auth) .auth-emblem-dock img{display:block;width:44px;height:44px;object-fit:contain;border:0;filter:drop-shadow(0 0 12px #1ad45d40)}
#auth.auth-clean:not(.app-auth) .auth-tools{gap:12px;flex-wrap:wrap;justify-content:flex-end}
#auth.auth-clean:not(.app-auth) .auth-tools a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:1px solid #095127;border-radius:8px;background:#030907;color:#24d978;font:600 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.3px;box-shadow:none;transition:background .18s,border-color .18s}
#auth.auth-clean:not(.app-auth) .auth-tools a:hover{background:#0b2015;border-color:#18a254}
#auth.auth-clean:not(.app-auth) .auth-tools svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#auth.auth-clean:not(.app-auth) .auth-tools .discord-top-link{border-color:#5865f2;background:#5865f2;color:white;box-shadow:0 0 18px #5865f230}
#auth.auth-clean:not(.app-auth) .auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px) minmax(0,1fr);gap:clamp(26px,4vw,70px);align-items:center;width:100%;max-width:none;margin:auto;flex:1;padding:clamp(55px,13vh,140px) 0 50px}
#auth.auth-clean:not(.app-auth) .auth-card{grid-column:2;width:100%;max-width:390px;padding:30px 32px;border:1px solid #123620;border-radius:16px;background:#080b09ed;box-shadow:0 0 50px #00ba3d09;backdrop-filter:blur(8px);color:#f3f6f4;animation:none}
#auth.auth-clean:not(.app-auth) #auth-title{margin:0 0 6px;font:700 30px/1.3 Arial,sans-serif;letter-spacing:-.5px;text-align:center;color:#fff;text-shadow:none}
#auth.auth-clean:not(.app-auth) .auth-card-intro{margin:0 0 30px;color:#a4aca8;text-align:center;font:14px/1.6 Arial,sans-serif}
#auth.auth-clean:not(.app-auth) #login-form{display:grid;gap:19px;margin:0}
#auth.auth-clean:not(.app-auth) #login-form>label{display:grid;gap:8px;margin:0;font:12px/1.4 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#b9c0bc}
#auth.auth-clean:not(.app-auth) #login-form input:not([type=checkbox]),#auth.auth-clean:not(.app-auth) #login-form select{box-sizing:border-box;width:100%;min-width:0;height:50px;padding:0 16px;margin:0;border:1px solid #252b34;border-radius:8px;background:#121513;color:#f7fbf8;font:15px/1.4 Arial,sans-serif;letter-spacing:0;outline:none;box-shadow:none}
#auth.auth-clean:not(.app-auth) #login-form input::placeholder{color:#6e7884;opacity:1}
#auth.auth-clean:not(.app-auth) #login-form input:focus{border-color:#1bbe68;box-shadow:0 0 0 3px #18c96516}
#auth.auth-clean:not(.app-auth) .auth-password{display:block;position:relative}
#auth.auth-clean:not(.app-auth) .auth-password-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#auth.auth-clean:not(.app-auth) .auth-password-heading button{border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0;color:#22d473;font:11px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:0;width:auto;min-height:0}
#auth.auth-clean:not(.app-auth) .auth-options{display:none!important}
#auth.auth-clean:not(.app-auth) .auth-submit{width:100%;height:49px;min-height:49px;padding:0 16px;margin:1px 0 0;border:1px solid #14a44f;border-radius:8px;background:#12a44d;color:#fff;font:700 15px/1 Arial,sans-serif;letter-spacing:.2px;text-transform:uppercase;box-shadow:0 3px 20px #19ce4b28;transform:none}
#auth.auth-clean:not(.app-auth) .auth-submit:hover{background:#15b958;border-color:#24d270}
#auth.auth-clean:not(.app-auth) .auth-submit:disabled{opacity:.65;cursor:wait}
#auth.auth-clean:not(.app-auth) #auth-message{min-height:0;margin:12px 0 0;font:13px/1.5 Arial,sans-serif;color:#ffad9d}
#auth.auth-clean:not(.app-auth) #auth-message:empty{display:none}
#auth.auth-clean:not(.app-auth) .auth-tabs{display:flex;align-items:center;justify-content:center;gap:5px;margin:20px 0 0;padding:0;border:0;border-radius:0;background:none;color:#8c9890;font-size:13px}
#auth.auth-clean:not(.app-auth) .auth-tabs button{flex:none;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:none!important;color:#23da76;box-shadow:none;font:600 13px/1.5 Arial,sans-serif}
#auth.auth-clean:not(.app-auth)[data-auth-mode=login] [data-auth=login],#auth.auth-clean:not(.app-auth):not([data-auth-mode=login]) .auth-tabs span,#auth.auth-clean:not(.app-auth):not([data-auth-mode=login]) .auth-tabs [data-auth=register]{display:none}
#auth.auth-clean:not(.app-auth) .auth-hunters{grid-column:3;align-self:center;max-width:320px;width:100%;color:#b8c2bc}
#auth.auth-clean:not(.app-auth) .auth-hunters h2{display:flex;align-items:center;gap:10px;padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid #133523;color:#c9d0cb;font:700 13px/1.5 Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
#auth.auth-clean:not(.app-auth) .auth-hunters h2>span{color:#19d572;font-size:21px;font-weight:400}
#auth.auth-clean:not(.app-auth) .auth-hunters ol{list-style:none;padding:0;margin:0}
#auth.auth-clean:not(.app-auth) .auth-hunters li{display:grid;grid-template-columns:22px minmax(0,100px) minmax(0,1fr);align-items:center;gap:7px;min-height:38px;font-size:13px}
#auth.auth-clean:not(.app-auth) .auth-hunters li strong{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#auth.auth-clean:not(.app-auth) .auth-hunters li:first-child{color:#2ada78}
#auth.auth-clean:not(.app-auth) .hunter-pokemon{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-width:0;color:#a5b6ac;font-size:11px}
#auth.auth-clean:not(.app-auth) .hunter-pokemon>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#auth.auth-clean:not(.app-auth) .hunter-sprite{display:block;width:32px;height:32px;flex:0 0 32px;overflow:hidden}
#auth.auth-clean:not(.app-auth) .hunter-sprite img{display:block;width:32px;max-width:none;height:auto;image-rendering:pixelated}
#auth.auth-clean:not(.app-auth) [data-hunters-status]{color:#8e9c94;font-size:12px;line-height:1.6}
#auth.auth-clean:not(.app-auth) .auth-hunters>a{display:inline-block;margin-top:17px;color:#86948d;font-size:9px;letter-spacing:1.1px;text-transform:uppercase;text-decoration:none}
#auth.auth-clean:not(.app-auth) .auth-hunters>a:hover{color:#24d878}
#auth.auth-clean:not(.app-auth) a:focus-visible,#auth.auth-clean:not(.app-auth) button:focus-visible{outline:2px solid #38dc87;outline-offset:4px}
#auth.app-auth .auth-hunters{display:none}
@media(max-width:1120px){#auth.auth-clean:not(.app-auth) .auth-brand strong{font-size:20px;letter-spacing:2px}#auth.auth-clean:not(.app-auth) .auth-tools{gap:7px}#auth.auth-clean:not(.app-auth) .auth-tools a{padding:0 11px}#auth.auth-clean:not(.app-auth) .auth-layout{grid-template-columns:minmax(320px,390px) minmax(240px,300px);justify-content:center;gap:40px}#auth.auth-clean:not(.app-auth) .auth-card{grid-column:1}#auth.auth-clean:not(.app-auth) .auth-hunters{grid-column:2}}
@media(max-width:760px){#auth.auth-clean:not(.app-auth){padding:20px 20px 36px}#auth.auth-clean:not(.app-auth) .auth-topbar{flex-direction:column;gap:20px}#auth.auth-clean:not(.app-auth) .auth-tools{width:100%;justify-content:center;gap:8px}#auth.auth-clean:not(.app-auth) .auth-tools a{padding:0 12px;font-size:10px;min-height:38px}#auth.auth-clean:not(.app-auth) .auth-layout{grid-template-columns:minmax(0,390px);gap:40px;flex:initial;padding:54px 0 0}#auth.auth-clean:not(.app-auth) .auth-card,#auth.auth-clean:not(.app-auth) .auth-hunters{grid-column:1;justify-self:center}#auth.auth-clean:not(.app-auth) .auth-card{padding:28px 26px}#auth.auth-clean:not(.app-auth) .auth-landscape::before{background-position:30% 140px;background-size:760px;opacity:.17}#auth.auth-clean:not(.app-auth) .auth-hunters{max-width:340px}}
@media(max-width:380px){#auth.auth-clean:not(.app-auth){padding-left:14px;padding-right:14px}#auth.auth-clean:not(.app-auth) .auth-tools{gap:5px}#auth.auth-clean:not(.app-auth) .auth-tools a{padding:0 9px;font-size:9px}}

#auth.auth-clean:not(.app-auth) .auth-tools{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;outline:0!important;margin:0}
#auth.auth-clean:not(.app-auth) .site-language{display:none!important}
#auth.auth-clean:not(.app-auth) .auth-card{height:auto;max-height:none;overflow:visible}
#auth.auth-clean:not(.app-auth) #login-form input:not([type=checkbox]){background:#121513!important;border:1px solid #252b34!important;color:#f7fbf8!important}
#auth.auth-clean:not(.app-auth) #login-form input:focus{border-color:#1bbe68!important}

/* Login stays first in document/tab order; desktop ranks flank its card. */
#auth.auth-clean:not(.app-auth) .auth-layout{grid-template-columns:minmax(220px,1fr) minmax(320px,390px) minmax(220px,1fr);column-gap:clamp(20px,3vw,55px)}
#auth.auth-clean:not(.app-auth) .auth-card{grid-column:2;grid-row:1}
#auth.auth-clean:not(.app-auth) .auth-hunters{grid-column:3;grid-row:1;justify-self:start}
#auth.auth-clean:not(.app-auth) .auth-ranked{grid-column:1;justify-self:end}
#auth.auth-clean:not(.app-auth) .auth-ranked li{grid-template-columns:22px minmax(0,100px) minmax(0,1fr)}
#auth.auth-clean:not(.app-auth) .ranked-score{color:#a5b6ac;font-size:11px;white-space:nowrap}
#auth.auth-clean:not(.app-auth) [data-ranked-status]{color:#8e9c94;font-size:12px;line-height:1.6}
@media(max-width:1000px){
 #auth.auth-clean:not(.app-auth) .auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:720px;gap:35px;margin:0 auto;padding:35px 0 15px;flex:0 0 auto}
 #auth.auth-clean:not(.app-auth) .auth-card{grid-column:1/-1;grid-row:1;justify-self:center}
 #auth.auth-clean:not(.app-auth) .auth-ranked{grid-column:1;grid-row:2;justify-self:center}
 #auth.auth-clean:not(.app-auth) .auth-hunters:not(.auth-ranked){grid-column:2;grid-row:2;justify-self:center}
}
@media(max-width:600px){
 #auth.auth-clean:not(.app-auth) .auth-layout{display:flex;flex-direction:column;align-items:center;gap:32px;padding-top:26px}
 #auth.auth-clean:not(.app-auth) .auth-card{order:0}
 #auth.auth-clean:not(.app-auth) .auth-ranked{order:1}
 #auth.auth-clean:not(.app-auth) .auth-hunters:not(.auth-ranked){order:2}
}

/* Ranking cards echo the login, with a lighter translucent surface. */
#auth.auth-clean:not(.app-auth) .auth-hunters{box-sizing:border-box;max-width:360px;padding:22px;border:1px solid #123620;border-radius:16px;background:rgba(8,11,9,.76);box-shadow:0 0 35px #00ba3d07;backdrop-filter:blur(4px)}

/* Public landing artwork; keep the dark cards legible above the original image. */
#auth.auth-clean:not(.app-auth) .auth-landscape{position:fixed;background:linear-gradient(180deg,rgba(3,12,14,.18),rgba(3,12,14,.38)),url('/brand/hoenn-panorama-20261020.jpg') center center/cover no-repeat}
#auth.auth-clean:not(.app-auth) .auth-landscape::before{content:none}
#auth.auth-clean:not(.app-auth) .auth-brand{position:relative;isolation:isolate}
#auth.auth-clean:not(.app-auth) .auth-brand::before{content:'';position:absolute;inset:-16px -26px;z-index:-1;pointer-events:none;border-radius:28px;background:radial-gradient(ellipse,rgba(2,8,7,.72) 0%,rgba(2,8,7,.38) 48%,transparent 74%);filter:blur(9px)}
#auth.auth-clean:not(.app-auth) .auth-brand strong{text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.65)}

/* Public community and desktop download links. */
#auth.auth-clean:not(.app-auth) .auth-tools .whatsapp-top-link{background:#128c46;border-color:#26d96d;color:#fff;box-shadow:0 0 16px #25d36626}
#auth.auth-clean:not(.app-auth) .auth-tools .whatsapp-top-link:hover{background:#0d7037;border-color:#58ee93}
#auth.auth-clean:not(.app-auth) .auth-tools a{box-sizing:border-box;white-space:nowrap;max-width:100%}

#auth.auth-clean:not(.app-auth) .auth-tools a{width:auto!important;flex:0 0 auto!important;}

#auth.auth-clean:not(.app-auth) .auth-community-links{display:inline-flex;align-items:center;gap:inherit;flex-wrap:nowrap;max-width:100%;}

#auth #login-form .auth-resend-code{margin:4px 0 0!important;min-height:32px!important;padding:5px 8px!important;border:1px solid #30785a!important;background:transparent!important;color:#a5eccb!important;font:12px/1.3 system-ui!important;box-shadow:none!important;}
#auth #login-form .auth-resend-code:disabled{opacity:.6!important;cursor:default;}
