:root { --navy:#102b40; --gold:#c49b49; --paper:#f7ecd3; --ink:#192733; }
* { box-sizing:border-box; }html { scroll-behavior:smooth; }body { margin:0; color:var(--ink); background:#102739; font-family:Georgia,'Times New Roman',serif; }button,input { font:inherit; }button,a { -webkit-tap-highlight-color:transparent; }a { color:inherit; }button { cursor:pointer; }button:disabled { cursor:wait; opacity:.65; }button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #3986ac; outline-offset:3px; }
.auth-nav { min-height:82px; padding:12px max(28px,4vw); display:flex; justify-content:space-between; align-items:center; gap:25px; background:linear-gradient(110deg,#0b2031,#17364a,#0b2132); border-bottom:3px double var(--gold); color:#f7e1af; }
.auth-brand { font:42px/.95 Bangers,Georgia,serif; color:#e5b667; letter-spacing:1px; text-decoration:none; white-space:nowrap; }.auth-brand span { display:block; font:9px/1.7 Georgia,serif; letter-spacing:3px; margin-top:6px; }
.auth-nav nav { display:flex; align-items:center; flex-wrap:wrap; gap:26px; }.auth-nav nav a { text-decoration:none; font-size:15px; padding:8px 0; }.auth-nav nav a:hover,.auth-nav nav a[aria-current] { color:#f6c767; }.auth-online { font:11px Nunito,sans-serif; color:#dac69d; white-space:nowrap; }
.auth-landing main { background:#d0b080 url('../img/landpage/scene-login-2026.png') center top/cover no-repeat; }
.auth-hero { max-width:1640px; margin:auto; min-height:650px; padding:28px 5% 35px 4%; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr); gap:25px; align-items:start; }
.auth-intro { align-self:start; }.auth-intro h1 { font:clamp(43px,4.2vw,78px)/1.05 Bangers,Georgia,serif; letter-spacing:2px; text-transform:uppercase; margin:0 0 10px; color:#141820; text-shadow:0 1px #fbe8b7; }.auth-intro h1 em { font-style:normal; color:#792822; }.auth-intro p { font-size:clamp(14px,1.2vw,19px); margin:0; max-width:680px; text-shadow:0 1px #ffedcd; }
.auth-scroll { position:relative; background:#f5e8ca url('../img/landpage/scroll-auth-2026.png') center/100% 100% no-repeat; color:#252b32; padding:62px 40px 55px; filter:drop-shadow(0 6px 7px #18202d55); }
.login-scroll { width:100%; margin-top:4px; }.scroll-heading { font:clamp(17px,1.5vw,24px) Georgia,serif; text-transform:uppercase; font-weight:normal; text-align:center; color:#ffe1a0; margin:0 -12px 28px; padding:17px 9px; background:linear-gradient(120deg,#132e41,#091e2e,#17374c); border:4px double #ba944a; border-radius:7px 7px 22px 22px; }
.auth-scroll label { display:block; font-size:15px; margin:0 0 8px; }.auth-scroll input:not([type=checkbox]) { display:block; width:100%; min-width:0; border:1px solid #827860; border-radius:4px; background:linear-gradient(100deg,#fff9eb,#f0e8d9); min-height:46px; padding:11px 14px; font:14px Georgia,serif; color:#232d36; }.login-scroll form>input { margin-bottom:23px; }
.auth-password { position:relative; }.auth-password input { padding-right:42px !important; }.password-eye { position:absolute; right:4px; top:3px; bottom:3px; border:0; padding:0 9px; color:#5b5b52; background:transparent; font:22px Georgia,serif; }
.login-options { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:20px 0 26px; }.login-options .auth-check { display:flex; align-items:center; gap:7px; margin:0; font-size:12px; }.auth-check input { accent-color:#a57823; width:16px; height:16px; }.auth-text-button { border:0; background:none; padding:0; font-size:12px; color:#30291f; text-decoration:underline; }
.auth-button { display:block; width:100%; text-decoration:none; border:4px double #d9b15d; border-radius:7px 18px; padding:12px 8px; text-align:center; text-transform:uppercase; font:20px Georgia,serif; color:#ffe5a8; box-shadow:0 2px 4px #442c1b44; }.auth-button.primary { background:linear-gradient(#193d56,#092334); }.auth-button.gold { background:linear-gradient(#d8b15e,#b88b35); color:#252a2d; font-size:18px; }.auth-button:hover { filter:brightness(1.12); }.auth-divider { display:flex; align-items:center; gap:10px; text-align:center; font-size:13px; margin:24px 0 16px; }.auth-divider::before,.auth-divider::after { content:''; height:1px; background:#a99569; flex:1; }
.lp-login-msg,.reg-msg { display:none; margin-top:14px; padding:10px; font:13px/1.5 Nunito,sans-serif; border:1px solid #b78a55; background:#fff5df; }.lp-login-msg.show,.reg-msg.show { display:block; }.lp-login-msg.error,.reg-msg.error { color:#922d25; }.lp-login-msg.success,.reg-msg.success { color:#235d3c; }
.auth-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:0 25px 22px; max-width:1640px; margin:auto; }
.auth-feature { position:relative; height:265px; display:flex; flex-direction:column; justify-content:space-between; padding:19px; border:3px double #c69e53; background-position:center; background-size:cover; color:#ffe7b4; box-shadow:inset 0 0 0 1px #101f2d; }.auth-feature.expedition { background-image:linear-gradient(#092236a8,transparent 75%),url('../img/landpage/card-expedicao-2026.png'); }.auth-feature.pvp { background-image:linear-gradient(#092236a8,transparent 75%),url('../img/landpage/card-pvp-2026.png'); }.auth-feature.evolution { background-image:linear-gradient(#092236a8,transparent 75%),url('../img/landpage/card-evolucao-2026.png'); }.auth-feature>div { text-align:right; text-shadow:0 2px 3px #05131d; }.auth-feature h2 { font:25px Georgia,serif; margin:0 0 10px; }.auth-feature p { color:#fff2d4; font:14px/1.5 Georgia,serif; margin:0; }.auth-feature>span { font-size:9px; letter-spacing:1.7px; text-align:center; padding:11px 4px; margin:0 -19px -19px; background:#0b2238ed; }
.auth-footer { min-height:65px; padding:20px 4%; display:flex; justify-content:center; flex-wrap:wrap; gap:35px; color:#d6bc87; font-size:11px; letter-spacing:1px; border-top:3px double #b38b40; background:#102b40; }.lp-footer-legal { padding:14px 6% 22px; background:#0c2233; text-align:center; color:#aab3b6; font:10px/1.6 Nunito,sans-serif; }.lp-footer-legal p { margin:5px 0; }
.auth-register { background:#cbb789 url('../img/cadastro/scene-cadastro-2026.png') center 70px/cover fixed no-repeat; }.auth-register-main { max-width:1600px; margin:auto; padding:30px 5% 28px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:24px; align-items:start; min-height:880px; }.register-intro { align-self:center; color:#f9e6b9; padding:22px 10px; background:linear-gradient(105deg,#102c40ed,#112839c9,transparent); text-align:center; text-shadow:0 2px #132635; }.register-intro h1 { font:clamp(38px,4vw,65px)/1.1 Bangers,Georgia,serif; text-transform:uppercase; letter-spacing:3px; margin:0; }.register-intro p { font-size:16px; }
.register-scroll { background-image:url('../img/cadastro/scroll-cadastro-2026.png'); padding:54px 38px 44px; }.register-scroll .scroll-heading { font-size:30px; letter-spacing:4px; margin-bottom:25px; }.auth-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.auth-field-row>div { min-width:0; }fieldset { border:0; padding:0; margin:23px 0; min-width:0; }legend { font-size:16px; margin-bottom:12px; padding:0; }.auth-villages { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }.reg-vila-btn { min-width:0; padding:0; background:transparent; border:0; color:#1c2834; font-size:13px; }.reg-vila-btn img { width:100%; aspect-ratio:1; object-fit:cover; display:block; border:2px solid #8d846e; border-radius:5px; margin-bottom:6px; }.reg-vila-btn.active img { border:3px solid #ae7d15; box-shadow:0 0 0 2px #e9cd72; }.reg-vila-btn.active span::after { content:' ✓'; color:#806015; }
.auth-avatars { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px 8px; max-height:235px; overflow-y:auto; scrollbar-color:#a48037 #ece0c4; padding:3px 7px 3px 3px; }.auth-avatar { background:transparent; border:0; padding:0; min-width:0; color:#203041; font-size:11px; line-height:1.25; }.auth-avatar img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border:2px solid #918374; border-radius:5px; margin-bottom:6px; }.auth-avatar[aria-pressed=true] img { border:3px solid #a97613; box-shadow:0 0 0 2px #ecd37d; }.auth-avatar[aria-pressed=true] span { color:#6f4d0b; font-weight:bold; }.auth-avatar-note { font-size:11px; color:#726249; margin:9px 0 0; }.register-scroll .auth-button { margin-top:25px; }.auth-signin { text-align:center; font-size:13px; margin:15px 0 0; }.auth-signin a { color:#842a22; font-weight:bold; }
@media(min-width:1650px) { .auth-landing main { background-size:100% auto; }.auth-hero { min-height:700px; } }
@media(max-width:1100px) { .auth-nav { padding:14px 20px; gap:15px; }.auth-brand { font-size:32px; }.auth-nav nav { gap:16px; }.auth-hero { padding:25px 3%; grid-template-columns:minmax(0,1fr) 365px; min-height:640px; }.auth-scroll { padding-left:28px; padding-right:28px; }.auth-register-main { grid-template-columns:.6fr 1fr; padding:25px 3%; gap:12px; }.auth-avatars { grid-template-columns:repeat(5,minmax(0,1fr)); }.auth-feature h2 { font-size:20px; } }
@media(max-width:760px) { .auth-nav { flex-direction:column; text-align:center; gap:10px; }.auth-nav nav { justify-content:center; gap:20px; }.auth-brand { font-size:35px; }.auth-brand span { font-size:8px; }.auth-hero { display:flex; flex-direction:column; align-items:center; min-height:0; gap:215px; padding:25px 16px; }.auth-intro { align-self:center; text-align:center; }.auth-intro h1 { font-size:45px; }.auth-intro p { font-size:14px; }.auth-landing main { background-size:auto 680px; background-position:38% top; background-color:#d3b778; }.login-scroll { max-width:460px; }.auth-features { grid-template-columns:1fr; padding:0 16px 20px; max-width:500px; gap:12px; }.auth-feature { height:230px; }.auth-register-main { display:flex; flex-direction:column; padding:25px 12px; gap:24px; }.register-intro { margin-top:190px; width:100%; }.register-intro h1 { font-size:40px; }.register-intro p { margin:8px 0; }.register-scroll { width:100%; max-width:650px; margin:auto; padding:50px 25px 40px; }.auth-register { background-size:auto 900px; background-attachment:scroll; background-position:25% 70px; }.auth-field-row { gap:10px; }.auth-scroll label { font-size:13px; }.auth-scroll input:not([type=checkbox]) { font-size:12px; padding-left:9px; }.auth-villages { gap:6px; }.reg-vila-btn { font-size:11px; }.auth-avatars { grid-template-columns:repeat(5,minmax(0,1fr)); max-height:230px; }.scroll-heading { font-size:18px; }.register-scroll .scroll-heading { font-size:25px; }.auth-footer { gap:10px; text-align:center; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.auth-avatar.photo-pending::before { content:"Foto em breve"; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1; margin-bottom:6px; border:2px solid #918374; border-radius:5px; background:linear-gradient(145deg,#203d50,#0e2435); color:#e3c88e; font:10px Georgia,serif; }.auth-avatar.photo-pending img { display:none; }.auth-avatar.photo-pending[aria-pressed=true]::before { border:3px solid #a97613; box-shadow:0 0 0 2px #ecd37d; }

.register-scroll { padding-bottom:72px; }

/* Recorte do fundo externo, acompanhando o contorno dos rolos. */
.auth-scroll { background-color:transparent; clip-path:polygon(0 2%,1.5% 1.7%,1.5% .6%,3% 0,5% 0,5.8% 1%,94.2% 1%,95% 0,97% 0,98.5% .6%,98.5% 1.7%,100% 2%,100% 3.8%,98.5% 4.1%,98.5% 5%,97.5% 5.5%,97.5% 93.5%,98.5% 94%,98.5% 95.5%,100% 96%,100% 98%,98.5% 98.4%,98.5% 99.4%,97% 100%,95% 100%,94.2% 99%,5.8% 99%,5% 100%,3% 100%,1.5% 99.4%,1.5% 98.4%,0 98%,0 96%,1.5% 95.5%,1.5% 94%,2.5% 93.5%,2.5% 5.5%,1.5% 5%,1.5% 4.1%,0 3.8%); }
.auth-online { display:inline-flex; align-items:center; gap:6px; padding:9px 13px; border:1px solid #538d65; border-radius:20px; background:#173e35; color:#e5ffeb; font:800 14px Nunito,sans-serif; }
.auth-online::before { content:''; flex:none; width:9px; height:9px; border-radius:50%; background:#53ee88; box-shadow:0 0 8px #53ee8899; }
.auth-register-main { min-height:0; padding-top:12px; padding-bottom:12px; }
.register-scroll { padding:36px 36px 42px; }
.register-scroll .scroll-heading { font-size:24px; padding:10px 8px; margin-bottom:13px; }
.register-scroll label { margin-bottom:5px; font-size:13px; }
.register-scroll input:not([type=checkbox]) { min-height:38px; padding:8px 11px; }
.register-scroll fieldset { margin:12px 0; }
.register-scroll legend { font-size:14px; margin-bottom:7px; }
.register-scroll .reg-vila-btn img { max-height:76px; width:100%; object-fit:cover; }
.register-scroll .auth-avatars { max-height:118px; grid-template-columns:repeat(8,minmax(0,1fr)); }
.register-scroll .auth-avatar-note { margin-top:5px; }
.register-scroll .auth-button { margin-top:12px; padding:9px 8px; font-size:18px; }
.register-scroll .auth-signin { margin-top:9px; font-size:12px; }
@media(min-width:761px) and (max-height:800px) {
 .auth-register .auth-nav { min-height:64px; padding-top:8px; padding-bottom:8px; }
 .auth-register .auth-brand { font-size:32px; }
 .register-scroll .auth-avatars { max-height:90px; }
 .register-scroll .reg-vila-btn img { max-height:60px; }
 .register-scroll { padding-top:30px; padding-bottom:36px; }
}
@media(max-width:760px) {
 .auth-register-main { padding:10px 12px; gap:8px; }
 .register-intro { margin-top:0; padding:8px; }
 .register-intro h1 { font-size:23px; }
 .register-intro h1 br { display:none; }
 .register-intro p { display:none; }
 .register-scroll { padding:30px 24px 35px; }
 .register-scroll .auth-avatars { grid-template-columns:repeat(5,minmax(0,1fr)); max-height:88px; }
 .register-scroll .scroll-heading { font-size:21px; }
}
