/* GK TANK · um portal, uma navegação, as mesmas regras nativas. */
:root{--portal-paper:#f4f7fb;--portal-surface:#fff;--portal-ink:#183454;--portal-muted:#536781;--portal-line:#dce6f1;--portal-gold:#e5af56;--portal-focus:#327bc2;--portal-radius:18px}
html{scroll-padding-top:145px}
body{background:var(--portal-paper);color:var(--portal-ink);font-family:'Bricolage Grotesque',Arial,sans-serif}
::selection{background:#e8bf72;color:#102747}
input,textarea{caret-color:#2868a5}
[hidden]{display:none!important}
a,button,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--portal-focus);outline-offset:4px}
#conteudo{min-height:65vh}
#conteudo:focus{outline:none}
#topbar{background:#fff;border-bottom:1px solid var(--portal-line)}
#topbar .topbar-inner{max-width:1320px;gap:16px;padding-inline:24px}
#topbar .portal-navigation{gap:22px}
#topbar .portal-navigation a{padding:14px 0;font-size:13px;font-weight:750;border-radius:0;background:none;color:#344e6d}
#topbar .portal-navigation a:hover{color:#885d24}
#topbar .portal-navigation a[aria-current=page]{color:#123d6b}
#topbar .account-chip{min-height:44px;background:#183d68;color:#fff;box-shadow:0 6px 16px #163a5a1c}
#topbar .account-actions{background:#fff;border:1px solid var(--portal-line);box-shadow:0 15px 40px #162d4c26;color:var(--portal-ink);border-radius:14px;padding:8px;min-width:224px}
#topbar .account-actions a,#topbar .account-actions button{min-height:44px;color:var(--portal-ink);border-radius:8px;display:flex;align-items:center;font:650 14px 'Bricolage Grotesque',Arial,sans-serif}
#topbar .account-actions :is(a,button):hover{background:#edf4fb;color:#194f84}
#topbar .portal-message-link{min-height:44px;background:#eff4fa;color:#214669;border:1px solid #dbe5f0}
#topbar .topbar-space{display:none}
#topbar .menu-toggle{min-width:44px;min-height:44px}
.nova-footer{padding:24px 0;background:#102340;border-top:1px solid #8e7848}
.nova-footer .footer-shell{max-width:1280px;margin:auto;padding-inline:24px;gap:18px}
.nova-footer .footer-shell>small{font:500 12px 'Bricolage Grotesque',Arial,sans-serif;color:#c8d7e9}
.nova-footer nav a{font-size:13px}
/* Lembretes visuais comuns, pintados na própria superfície. */
.nova-home .hero-card{border-radius:22px;box-shadow:0 18px 42px #162f4d1c}
.nova-home .hero-copy h1{letter-spacing:-.04em;max-width:12ch}
.nova-home .hero-copy>p{font-size:16px;line-height:1.8;max-width:43ch}
.nova-home .hero-bottom-label{min-height:44px}
.nova-home .hero-motion-control{font-size:11px;min-height:30px}
.nova-home .hero-footnote{font-size:12px}
.nova-home .feature-link{border-radius:12px}
.nova-home .feature-link span{font-size:12px}
.nova-home .player-path-heading p,.nova-home .future-heading p{font-size:15px;line-height:1.7}
.nova-home .path-step small{font-size:13px;line-height:1.55}
.nova-home .hero-ctas .button,.nova-home .auth-submit,.nova-home .native-auth .btn-primary{background-size:210% 100%;background-image:linear-gradient(110deg,#f6d58c 15%,#ffe9b4 38%,#ebba61 66%,#f6d58c 90%);background-position:100% 50%;transition:background-position .65s,border-color .2s,box-shadow .2s}
.nova-home .hero-ctas .button-gold:hover,.nova-home .auth-submit:hover,.nova-home .native-auth .btn-primary:hover{background-position:0 50%;box-shadow:inset 0 1px 0 #fff9,0 5px 15px #172e461c}
.nova-home .hero-ctas .button-outline{background-image:none;background-color:#10254480}
.nova-home .hero-features,.nova-home .player-path-layout,.nova-home .future-side{box-shadow:0 12px 28px #173b5810}
.nova-home .native-auth .field,.nova-home .native-auth .field>label,.nova-home .native-auth .field>span{font-size:14px}
.nova-home .auth-identity,.nova-home .auth-form-note,.nova-home .password-rule,.nova-home .registration-card .native-auth .field small{font-size:12px;line-height:1.5}
.nova-home .auth-help-link{font-size:13px}
.nova-home .password-toggle{font-size:12px;min-height:34px;top:7px;bottom:7px;transform:none;padding-block:4px}
.nova-home .registration-intro{font-size:14px}
.nova-home .registration-story{border-radius:20px}
.nova-home .registration-card{border-radius:20px}
.nova-home .registration-benefits small{font-size:12px}
.nova-home .registration-card .native-auth .input{font-size:15px}
.nova-home .registration-login{font-size:14px;min-height:44px;display:flex;align-items:center}
.nova-home .home-own-character .portal-avatar{height:240px;min-height:0}
.nova-home .home-own-character h3{font-size:24px;margin:0 0 5px}
.nova-home .home-own-character p{font-size:14px;color:#52647a}
.nova-home .home-account-link{display:block;padding:9px 0;color:#24598a;font-size:14px}
.nova-home .player-heading h1{letter-spacing:-.04em}
.nova-home .player-quicknav small,.nova-home .player-status{font-size:12px}
/* Toutes as rotas de serviço usam o mesmo cabeçalho e a mesma superfície. */
body #conteudo .portal-service-hero{position:relative;isolation:isolate;overflow:hidden;margin:28px auto 0;width:min(1280px,calc(100% - 48px));padding:32px 40px 38px;border:1px solid #234c78;border-radius:20px;background:radial-gradient(ellipse at 90% 0%,#28598b55,transparent 55%),#102b4c;box-shadow:0 16px 38px #1c36531c;color:#fff}
body #conteudo .portal-service-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#eac179,transparent);background-size:200% 100%;animation:portal-edge-light 9s ease-in-out infinite alternate}
@keyframes portal-edge-light{from{background-position:0% 50%}to{background-position:100% 50%}}
body #conteudo .portal-service-hero .wrap{width:100%;max-width:100%;margin:0}
body #conteudo .portal-service-hero h1{margin:20px 0 12px;font:780 clamp(32px,4vw,52px)/1.08 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-.04em;color:#fff;max-width:21ch}
body #conteudo .portal-service-hero .px{font:inherit;color:#f2ce8a;text-shadow:none}
body #conteudo .portal-service-hero p{margin:0;max-width:64ch;color:#cedef0;font-size:16px;line-height:1.75}
.portal-back{display:inline-flex;align-items:center;min-height:36px;color:#d4e4f5;font-size:13px;font-weight:650;text-decoration:none}
.portal-back:hover{color:#ffe0a1;text-decoration:underline;text-underline-offset:5px}
body:not(.portal-home):not(.portal-registration) #conteudo>.page-body{width:min(1180px,calc(100% - 48px));max-width:1180px;padding:28px 0 56px}
body #conteudo .btn{min-height:44px;border-radius:10px;font:700 14px/1.4 'Bricolage Grotesque',Arial,sans-serif;text-shadow:none;box-shadow:none;transition:background-color .2s,border-color .2s,color .2s}
body #conteudo .btn-primary{background:linear-gradient(110deg,#f7d894,#e8b65f);border:1px solid #cd9d4d;color:#38270f}
body #conteudo .btn-primary:hover{background:#ffe2a4;border-color:#bc8b37}
body #conteudo .btn:not(.btn-primary){border:1px solid #c8d7e7;background:#edf4fb;color:#244d77}
body #conteudo .btn:disabled{cursor:not-allowed;filter:none;opacity:.55;transition:opacity 0s linear .35s}
body #conteudo .btn:not(:disabled){opacity:1}
body[data-route=jogar] #conteudo{background:var(--portal-paper)}
body[data-route=jogar] .play-guide{border-radius:14px;box-shadow:none;padding:24px;background:#fff}
body[data-route=jogar] .play-guide-kicker{display:none}
body[data-route=jogar] .play-guide>div{margin:0 0 10px}
body[data-route=jogar] .play-guide p,.character-freshness{font-size:14px;color:var(--portal-muted);line-height:1.6}
body[data-route=jogar] .realm{border-radius:18px;padding:28px;background:#fff}
body[data-route=jogar] .realm .char{background:#f5f8fc;border:1px solid var(--portal-line);border-radius:14px;gap:22px}
body[data-route=jogar] .realm .char .tags{gap:9px}
body[data-route=jogar] .realm .char .tags li{font-size:13px}
body[data-route=jogar] .realm .char-name{font-size:28px}
body[data-route=jogar] .state .sq{animation:none}
/* Recarga, pedido e atendimento: formulários pertencem ao mesmo produto. */
.recharge-page .step-title{flex-wrap:wrap}
.recharge-page .step-title h2{font-size:24px}
.recharge-page .step-title p,.recharge-page .pack-unit,.recharge-page .provider-methods,.recharge-page .custom-amount .field small{font-size:13px}
.recharge-page .recharge-flow>span{font-size:13px}
.recharge-page .summary-ready{font-size:11px}
.recharge-page .summary-intro,.recharge-page .summary dt,.recharge-page .summary dd,.recharge-page .check{font-size:14px}
.recharge-page .step,.recharge-page .summary{border-radius:16px}
.recharge-page .summary{top:142px}
body #conteudo .order-card{background:#fff;color:var(--portal-ink);border:1px solid var(--portal-line);border-radius:18px;padding:32px;max-width:900px;margin:auto;line-height:1.8;box-shadow:0 12px 30px #16344e0d}
body #conteudo .order-code{font:700 15px 'Bricolage Grotesque',Arial,sans-serif;color:#264c73;overflow-wrap:anywhere}
body #conteudo .order-card .steps{margin:25px 0}
body #conteudo .order-card .steps strong{color:#173959}
body #conteudo .order-card .steps span{color:#52647d}
body #conteudo .order-card .step-n{background:#ebf2fa;color:#244e79}
body #conteudo .order-card .done .step-n{background:#e2f5ea;color:#267048}
.help-center{display:grid;gap:48px}
.help-access{padding:30px;border:1px solid var(--portal-line);border-radius:18px;background:#fff;box-shadow:0 12px 30px #1436530a;scroll-margin-top:146px}
.help-access>div:first-child{max-width:660px;margin-bottom:24px}
.help-access>div:first-child>img{float:left;margin:0 16px 12px 0;object-fit:contain}
.help-center h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;color:var(--portal-ink);margin:0 0 10px}
.help-center p{color:var(--portal-muted);font-size:15px;line-height:1.75}
.help-login{padding:25px;background:#f0f5fb;border:1px solid #dce6f1;border-radius:14px}
.help-login h3{font-size:21px;color:#1a3f65;margin:0 0 8px}
.help-login p{margin:0 0 20px;max-width:60ch}
.help-signup{display:inline-flex;align-items:center;min-height:44px;margin-left:20px;font-size:14px;font-weight:650;color:#2c5b8e}
.help-section-heading{margin-bottom:22px}
body[data-route=suporte] .faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
body[data-route=suporte] .faq details{margin:0;background:#fff;border:1px solid var(--portal-line);border-radius:12px;padding:0 20px;align-self:start}
body[data-route=suporte] .faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:20px 0;font-size:16px;font-weight:700;color:#244568;list-style:none}
body[data-route=suporte] .faq summary::-webkit-details-marker{display:none}
body[data-route=suporte] .faq summary span{font-size:23px;color:#987033;flex:none}
body[data-route=suporte] .faq details[open] summary{color:#7c541d}
body[data-route=suporte] .faq details[open] summary span{visibility:hidden}
body[data-route=suporte] .faq details p{padding:0 0 22px;margin:0;font-size:14px}
.help-channels .contact{gap:12px}
body #player-support .support-workspace{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:24px}
body #player-support .support-folders,body #player-support .support-conversation{background:#f6f9fd;border:1px solid #dae6f2;border-radius:14px;color:var(--portal-ink);padding:22px;box-shadow:none;min-width:0}
body #player-support .support-folders h2{font-size:21px}
body #player-support .support-folders>p{font-size:13px}
body #player-support .support-folder{min-height:38px;border-radius:8px;background:#fff;color:#365474;border:1px solid #d2dfed;font-size:13px}
body #player-support .support-folder[aria-pressed=true]{background:#193e68;color:#fff;border-color:#193e68}
body #player-support .support-thread{background:#fff;border:1px solid #d5e2f0;border-radius:10px;color:#173c61;padding:14px}
body #player-support .support-thread.selected{border-color:#7b9fc7;background:#edf4fc}
body #player-support .support-thread-meta,body #player-support .support-thread small{color:#7b5c2c;font-size:12px}
body #player-support .support-preview{color:#536781;font-size:13px}
body #player-support .support-conversation label{font-size:14px;color:#28496b}
body #player-support .support-conversation :is(input,select,textarea){font:15px/1.6 'Bricolage Grotesque',Arial,sans-serif;background:#fff;color:#183c60;border:1px solid #bdcfe2;border-radius:9px;padding:12px;max-width:100%}
body #player-support .support-conversation :is(input,textarea)::placeholder{color:#61768f}
body #player-support .support-message{background:#fff;color:#1e405f;border:1px solid #dbe6f1;border-radius:12px}
body #player-support .support-message.from-user{background:#e7f1fc;border-color:#c5d8ee}
body #player-support .support-message strong{color:#2b597f}
body #player-support .support-message time{color:#576f87}
body #player-support .support-message p{color:#23435f}
body #player-support .support-feedback{color:#246945}
body #player-support .support-feedback.error{color:#a23740}
@media(prefers-reduced-motion:reduce){body #conteudo .portal-service-hero::before{animation:none}.nova-home .hero-ctas .button,.nova-home .auth-submit,.nova-home .native-auth .btn-primary{transition:none}}
@media(max-width:1180px){#topbar .portal-navigation{gap:15px}#topbar .portal-navigation a{font-size:12px}#topbar .brand-logo{width:170px}#topbar .portal-message-link span{display:none}}
@media(max-width:960px){#topbar .topbar-inner{gap:12px;padding-inline:16px}#topbar .portal-navigation{display:none}#topbar .portal-navigation.open{display:flex;position:absolute;top:100%;left:12px;right:12px;gap:0;padding:10px;background:#fff;border:1px solid var(--portal-line);border-radius:0 0 14px 14px;box-shadow:0 16px 25px #1839561f}#topbar .portal-navigation a{font-size:15px;padding:14px 16px}#topbar .menu-toggle{display:inline-flex}#topbar .brand{margin-right:auto}#topbar .account-slot{margin-left:auto}body #player-support .support-workspace{grid-template-columns:1fr}.recharge-page .summary{position:static}.help-access{padding:24px}}
@media(max-width:680px){html{scroll-padding-top:130px}#topbar .topbar-inner{gap:8px;padding-inline:12px}#topbar .brand-logo{width:137px}#topbar .account-chip{font-size:12px;padding-inline:13px;max-width:154px}#topbar .portal-message-link{padding:8px}#topbar .portal-message-link svg{width:19px}#topbar .account-slot{min-width:0}#topbar .account-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nova-home .hero-copy>p{font-size:15px;line-height:1.8}.nova-home .hero-copy h1{font-size:clamp(35px,9.6vw,48px)}.nova-home .hero-footnote{font-size:11px}.nova-home .hero-bottom-label{padding:9px}.nova-home .hero-motion-control{font-size:10px}.nova-home .feature-link span{font-size:11px}.nova-home .path-step small{font-size:12px}.nova-home .registration-layout{width:calc(100% - 24px)}.nova-home .registration-story{padding:24px}.nova-home .registration-benefits{display:none}.nova-home .registration-story-inner{padding-top:14px}.nova-home .registration-story h1{font-size:32px}.nova-home .registration-card{padding:24px 18px}.nova-home .registration-card .native-auth .input{font-size:16px}.nova-home .registration-card .native-auth .form{gap:16px}.nova-home .native-auth .field{font-size:14px}.nova-home .password-rule{flex-wrap:wrap}.nova-home .auth-card{padding:26px 22px}.nova-home .player-path-heading h2,.nova-home .future-heading h2{font-size:32px}.nova-home .player-path-heading p,.nova-home .future-heading p{font-size:14px}.nova-home .hero-copy h1{margin-top:6px}body #conteudo .portal-service-hero{width:calc(100% - 24px);margin-top:14px;padding:20px 22px 28px;border-radius:16px}body #conteudo .portal-service-hero h1{font-size:34px}body #conteudo .portal-service-hero p{font-size:15px}body:not(.portal-home):not(.portal-registration) #conteudo>.page-body{width:calc(100% - 24px);padding:20px 0 36px}body[data-route=jogar] .realm{padding:20px 16px}body[data-route=jogar] .realm-head>.btn{width:100%;flex-basis:100%}.help-center{gap:32px}.help-access{padding:20px 16px}.help-center h2{font-size:24px}.help-access>div:first-child>img{width:50px;height:50px}.help-login{padding:20px 16px}.help-login h3{font-size:20px}.help-login .btn{width:100%}.help-signup{display:flex;margin:12px 0 0;justify-content:center}body[data-route=suporte] .faq{grid-template-columns:1fr}body #player-support .support-folders,body #player-support .support-conversation{padding:18px 14px}.recharge-page .recharge-flow{gap:6px;padding:12px 10px}.recharge-page .recharge-flow>span{font-size:11px;gap:5px}.recharge-page .recharge-flow>span b{width:24px;height:24px;font-size:10px}.recharge-page .summary-intro,.recharge-page .check{font-size:13px}body #conteudo .order-card{padding:22px 18px}.nova-footer .footer-shell{padding-inline:18px}.nova-footer nav{gap:18px;justify-content:center}}


/* O acesso ao jogo pertence ao perfil moderno; não há outra tela de salas. */
.nova-home .player-servers{margin:0 0 18px;padding:24px;background:#fff;border:1px solid #d8e5f2;border-radius:17px;scroll-margin-top:146px}
.nova-home .player-servers-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;color:#183959;margin:0 0 8px}
.nova-home .player-servers-heading p{color:#526a83;font-size:14px;margin:0 0 20px}
.nova-home .server-choices{display:grid;gap:12px}
.nova-home .server-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;background:#f2f7fc;border:1px solid #d8e5f1;border-radius:12px}
.nova-home .server-choice-identity{display:flex;gap:14px;align-items:center;min-width:0}
.nova-home .server-choice-identity img{flex:none;object-fit:contain}
.nova-home .server-choice h3{color:#173b60;margin:0 0 5px;font-size:21px}
.nova-home .server-choice .state{color:#2c6e51;font-size:12px;letter-spacing:0;text-transform:none}
.nova-home .server-choice .state .sq{animation:none}
.nova-home .server-choice p{color:#526a83;font-size:13px;margin:7px 0 0;line-height:1.5}
.nova-home .server-choice .btn{flex:none}
@media(max-width:680px){.nova-home .player-servers{padding:20px 16px}.nova-home .player-servers-heading h2{font-size:23px}.nova-home .server-choice{flex-direction:column;align-items:stretch;gap:16px;padding:16px}.nova-home .server-choice .btn{width:100%;justify-content:center}}

/* Avisos são informativos e não bloqueiam cliques nos formulários. */
#toast{pointer-events:none}

/* Retratos próprios: centro óptico nativo, sem compensações fixas à direita.
   O canvas continua 250×342; escala estática e registro dos pés são de layout. */
.nova-home .home-own-character .portal-avatar{width:100%;min-width:0;max-width:none;height:240px;margin:0 auto}
.nova-home .home-own-character .portal-figure{--portal-figure-scale:.72;transform:scale(var(--portal-figure-scale));transform-origin:50% 100%;margin-left:calc(var(--figure-center-shift,0px) * var(--portal-figure-scale));bottom:0}
.nova-home .player-profile .home-own-character .portal-figure{bottom:-24px}
.recharge-page .char-face .portal-figure{margin-left:calc(var(--figure-center-shift,0px) * .24)}

/* No início o retrato ocupa o espaço do acesso, sem aumentar o cartão. */
.nova-home .hero-section .home-own-character .portal-avatar{height:180px}
.nova-home .hero-section .home-own-character .portal-figure{--portal-figure-scale:.54}
.nova-home .player-profile.auth-card{display:block;max-width:374px}
