:root {
  --l2-green: #35c66b;
  --l2-green-bright: #72cf91;
  --l2-green-deep: #153d27;
  --l2-gold: #c9a24a;
  --l2-bg: #070b09;
  --l2-panel: var(--panel);
  --l2-panel-soft: var(--panel-2);
  --l2-line: var(--line-2);
  --l2-line-soft: var(--line);
  --l2-ink: #e7e3d5;
  --l2-muted: #b2beb5;
  --l2-text-secondary: #bcc7be;
  --l2-surface-main: rgba(7, 18, 11, .94);
  --l2-surface-sub: rgba(16, 36, 23, .91);
  --l2-surface-control: rgba(3, 10, 6, .96);
  --l2-border-main: rgba(133, 178, 148, .25);
  --l2-border-sub: rgba(126, 190, 148, .31);
  --l2-focus: #62bd7f;
  --l2-head: "Cinzel", "Times New Roman", serif;
  --l2-body: "EB Garamond", Georgia, serif;
  --l2-ui: "Oswald", "Arial Narrow", sans-serif;
  --green-glow: rgba(53, 198, 107, .55);
  --panel: rgba(10, 18, 13, .72);
  --panel-2: rgba(16, 26, 20, .85);
  --line: rgba(120, 180, 140, .22);
  --line-2: rgba(120, 180, 140, .40);
  --ink-dim: #a9b8ad;
  --ink-mut: #849087;
  --green: #35c66b;
  --green-bright: #72cf91;
  --brandLeft: 63px;
  --logoL: 30.4vw;
}

/* Grand Olympiad: integra o filtro server-side à linguagem visual existente. */
.internal-site .olympiad-class-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 auto 12px;
  color: var(--ink-dim);
}
.internal-site .olympiad-class-filter label {
  font: 500 12px/1.4 var(--l2-ui);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.internal-site .olympiad-class-filter select { min-width: 210px; }
.internal-site .olympiad-class-filter .default {
  width: auto;
  min-width: 92px;
  margin: 0;
  padding-inline: 14px;
}
.internal-site .olympiad-filter-context {
  margin: 0 0 20px;
  color: var(--l2-ink);
  text-align: center;
}
.internal-site .olympiad-filter-context small {
  display: block;
  margin-top: 3px;
  color: var(--ink-dim);
}
@media (max-width: 540px) {
  .internal-site .olympiad-class-filter { flex-wrap: wrap; }
  .internal-site .olympiad-class-filter label { width: 100%; text-align: center; }
}

html {
  min-width: 0 !important;
  min-height: 100%;
  background: var(--l2-bg);
  scrollbar-gutter: stable;
}

body.internal-site {
  min-width: 0 !important;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--l2-ink);
  background: linear-gradient(180deg, rgba(3, 8, 5, .34), rgba(3, 8, 5, .10) 72%, transparent);
  font-family: var(--l2-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  cursor: url('../home_assets/cursor-arrow-silver-gold.png?v1') 3 2, auto;
}

.internal-site *,
.internal-site *::before,
.internal-site *::after { box-sizing: border-box; }

.internal-site a { color: var(--l2-green-bright); transition: color .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease; }
.internal-site a:hover { color: #fff; }

.internal-site .bg-fixed {
  position: fixed;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(1000px 600px at 50% 30%, rgba(53,198,107,.10), transparent 60%),
    linear-gradient(180deg, rgba(6,10,8,.35), rgba(6,10,8,.6) 60%, #070b09 100%),
    url('../home_assets/keyart.png') center 20% / cover no-repeat;
}

.internal-site .bg-fixed::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: .5;
  mix-blend-mode: overlay;
}

.internal-site #embers {
  position: fixed;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .42;
}

.internal-site .top {
  position: fixed;
  inset: 0 0 auto;
  z-index: 70;
  min-height: 104px;
  color: var(--l2-ink);
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
  transition: background .25s ease, box-shadow .25s ease;
}

.internal-site .top.scrolled {
  background: linear-gradient(180deg, rgba(4, 10, 7, .68), rgba(4, 10, 7, .28) 68%, transparent);
  box-shadow: 0 9px 26px rgba(0, 0, 0, .18);
}

.internal-site .brand-left {
  position: absolute;
  left: clamp(18px, 4vw, 70px);
  top: 15px;
  z-index: 2;
  display: block;
  width: clamp(145px, 14vw, 205px);
  line-height: 0;
}

.internal-site .brand-left img { display: block; width: 100%; height: auto; }

.internal-site .top-row {
  min-height: 63px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 clamp(170px, 19vw, 285px) 0 clamp(200px, 19vw, 300px);
}

.internal-site nav.main {
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.25vw, 42px);
  margin: 0;
  padding: 0;
  line-height: 1;
  background: transparent;
}
.internal-site nav.main a {
  position: relative;
  float: none;
  display: inline-flex;
  padding: 0;
  color: #d9e3dc !important;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font: 500 13px/1 var(--l2-ui) !important;
  letter-spacing: .13em;
}
.internal-site nav.main a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -11px;
  height: 1px;
  background: var(--l2-green-bright);
  transition: left .2s ease, right .2s ease;
}
.internal-site nav.main a:hover { color: #fff !important; background: transparent; text-shadow: none; }
.internal-site nav.main a:hover::after { left: 0; right: 0; }

.internal-site .top-actions {
  position: absolute;
  right: clamp(18px, 3vw, 55px);
  top: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.internal-site .lang,
.internal-site .acct { position: relative; }

.internal-site .lang-btn,
.internal-site .btn-account {
  width: 42px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  color: #dce7df;
  background: rgba(11, 25, 16, .84);
  border: 1px solid var(--l2-line);
  border-radius: 4px;
  cursor: pointer;
}
.internal-site .btn-account svg { width: 21px; height: 21px; }
.internal-site .flag { width: 20px; height: 14px; object-fit: cover; border-radius: 1px; }
.internal-site .caret { font-size: 10px; color: var(--l2-muted); }

.internal-site .lang-menu,
.internal-site .acct-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 75;
  min-width: 190px;
  padding: 8px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-7px);
  background: rgba(6, 14, 9, .985);
  border: 1px solid var(--l2-line);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .58);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.internal-site .acct-menu { width: min(320px, calc(100vw - 24px)); box-sizing: border-box; padding: 22px 22px 20px; border-radius: 8px; }
.internal-site .lang.open .lang-menu,
.internal-site .acct.open .acct-menu { visibility: visible; opacity: 1; transform: none; }
.internal-site .lang-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  color: var(--l2-muted);
  text-decoration: none;
  font: 400 13px/1.2 var(--l2-ui);
  letter-spacing: .04em;
}
.internal-site .lang-menu a:hover,
.internal-site .lang-menu a.active { color: #fff; background: rgba(53, 198, 107, .12); }

.internal-site .btn,
.internal-site .btn-online,
.internal-site .btn-entrar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 17px;
  color: #effff4;
  text-decoration: none;
  text-transform: uppercase;
  font: 500 12px/1 var(--l2-ui);
  letter-spacing: .12em;
  background: rgba(18, 68, 37, .76);
  border: 1px solid rgba(87, 243, 154, .42);
  border-radius: 4px;
  cursor: pointer;
}
.internal-site .btn:hover,
.internal-site .btn-entrar:hover { color: #fff; background: rgba(34, 139, 72, .75); }
.internal-site .btn-online::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: #768079;
  box-shadow: 0 0 0 3px rgba(118, 128, 121, .12);
}
.internal-site .btn-online.status-on::before { background: var(--l2-green-bright); box-shadow: 0 0 10px rgba(87, 243, 154, .8); }
.internal-site .btn-online small { margin-left: 7px; font-size: 10px; color: #cce8d5; }

.internal-site .login-form { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; font-family: var(--l2-ui); }
.internal-site .login-form label { display: block; margin: 0 0 7px; color: #b8c8bd; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.internal-site .login-form input[type="text"],
.internal-site .login-form input[type="password"] {
  width: 100%;
  height: 44px;
  box-sizing: border-box;
  margin: 0 0 16px;
  padding: 0 12px;
  color: #f1f5f2;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(126, 179, 144, .25);
  border-radius: 5px;
  transition: border-color .42s cubic-bezier(.16,1,.3,1), box-shadow .42s cubic-bezier(.16,1,.3,1);
}
.internal-site .login-form input:focus { outline: none; border-color: var(--l2-green); box-shadow: 0 0 0 2px rgba(53,198,107,.18); }
.internal-site .login-form .captcha-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 8px; min-width: 0; margin: 0 0 12px; }
.internal-site .login-form .captcha-row img { display: block; width: 100%; height: 42px; object-fit: cover; border-radius: 5px; }
.internal-site .login-form .captcha-row input { min-width: 0; height: 42px; margin: 0; }
.internal-site .login-form .forgot { display: block; justify-self: end; margin: 0 0 18px; color: var(--l2-green-bright); font-size: 12px; text-align: right; }
.internal-site .login-form .create { display: block; justify-self: center; margin: 15px 0 0; color: var(--l2-muted); font-size: 12px; text-align: center; }
.internal-site .login-form .btn-entrar,
.internal-site .login-form > .l2-btn { width: 100%; min-height: 50px; box-sizing: border-box; border-radius: 5px; }
.internal-site .account-name { margin: 0 0 14px; color: #fff; font: 600 18px/1.2 var(--l2-head); }

.internal-site .subnav {
  min-height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3.4vw, 58px);
  padding: 0 20px;
  background: transparent;
  border-top: 0;
}
.internal-site .subnav a,
.internal-site .subnav span {
  color: #aebfb4;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font: 400 11px/1 var(--l2-ui);
  letter-spacing: .14em;
}
.internal-site .subnav a:hover { color: var(--l2-green-bright); }
.internal-site .is-disabled { opacity: .42; cursor: not-allowed; }

.internal-site .burger {
  position: absolute;
  right: clamp(14px, 3vw, 24px);
  top: 16px;
  width: 42px;
  height: 38px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  background: var(--panel);
  border: 1px solid var(--line-2);
  border-radius: 6px;
  cursor: pointer;
}
.internal-site .burger span { width: 22px; height: 2px; border-radius: 2px; background: var(--green-bright); box-shadow: 0 0 6px var(--green-glow); transition: transform .25s, opacity .2s; }
.internal-site .burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.internal-site .burger.open span:nth-child(2) { opacity: 0; }
.internal-site .burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.internal-site .mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 64;
  visibility: hidden;
  opacity: 0;
  background: rgba(4, 8, 6, .6);
  backdrop-filter: blur(2px);
  transition: opacity .25s ease, visibility .25s;
}
.internal-site .mobile-backdrop.open { visibility: visible; opacity: 1; }
.internal-site .mobile-menu {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 65;
  width: min(320px, 86vw);
  display: flex;
  flex-direction: column;
  padding: 78px 24px 30px;
  overflow-y: auto;
  transform: translateX(100%);
  background: linear-gradient(180deg, rgba(10,18,13,.99), rgba(6,11,8,.99));
  border-left: 1px solid var(--line-2);
  box-shadow: -12px 0 40px rgba(0,0,0,.6);
  transition: transform .28s cubic-bezier(.4,0,.2,1);
  line-height: 1.6;
}
.internal-site .mobile-menu.open { transform: none; }
.internal-site .mobile-menu .mm-link {
  float: none;
  padding: 12px 0;
  color: #eef2ec !important;
  text-decoration: none;
  text-transform: uppercase;
  font: 600 19px/1.6 var(--l2-head) !important;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--l2-line-soft);
}
.internal-site .mobile-menu .mm-sub { float: none; display: flex; gap: 8px; padding: 8px 0; color: #b7cbbd !important; text-decoration: none; text-transform: uppercase; font: 400 13px/1.6 var(--l2-ui) !important; letter-spacing: .1em; }
.internal-site .mobile-menu a:hover { color: var(--l2-green-bright) !important; }
.internal-site .mobile-menu .mm-sub.active { color: var(--l2-green-bright) !important; }
.internal-site .mm-div { height: 1px; margin: 14px 0; background: var(--l2-line); }
.internal-site .mm-actions { display: flex; flex-direction: column; gap: 11px; margin-top: auto; }
.internal-site .mm-actions .btn-entrar { width: 100%; }
.internal-site .mm-langs { display: flex; gap: 8px; }
.internal-site .mm-langs a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px; color: var(--l2-muted); text-decoration: none; border: 1px solid var(--l2-line-soft); border-radius: 3px; }
.internal-site.menu-open { overflow: hidden; }

.internal-site .internal-main {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 190px);
  padding: clamp(164px, 13vw, 190px) 24px 78px;
}
.internal-site .internal-page-content {
  width: min(1180px, 100%);
  min-height: 360px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 52px);
  overflow: hidden;
  background: linear-gradient(145deg, var(--l2-surface-main), rgba(9, 24, 15, .91));
  border: 1px solid var(--l2-border-main);
  box-shadow: 0 28px 75px rgba(0, 0, 0, .48), inset 0 1px rgba(238, 232, 211, .035);
}

.internal-site .internal-page-content h1,
.internal-site .internal-page-content h2,
.internal-site .internal-page-content h3,
.internal-site .internal-page-content h4,
.internal-site .internal-page-content .titlen {
  color: #f2f6f0;
  font-family: var(--l2-head);
  letter-spacing: .02em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .45);
}
.internal-site .internal-page-content p,
.internal-site .internal-page-content .textn,
.internal-site .internal-page-content .desc { color: var(--l2-text-secondary); }
.internal-site .internal-page-content img { max-width: 100%; height: auto; }

/* Central de rankings */
.internal-site .rankings-toolbar {
  position: relative;
  z-index: 4;
  display: flex;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(5, 15, 9, .96), rgba(3, 11, 7, .98));
  border: 1px solid rgba(87, 243, 154, .14);
  box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 16px 36px rgba(0, 0, 0, .22);
}
.internal-site .rankings-toolbar__primary {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 2.2vw, 30px);
  white-space: nowrap;
}
.internal-site .rankings-toolbar__primary a {
  display: inline-flex;
  align-items: center;
  color: #e9cf70 !important;
  text-decoration: none;
  text-transform: uppercase;
  font: 600 12px/1.2 var(--l2-ui);
  letter-spacing: .025em;
  transition: color .5s cubic-bezier(.22, .75, .18, 1), transform .5s cubic-bezier(.22, .75, .18, 1), text-shadow .5s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-toolbar__primary a span { margin-left: 2px; color: #f0ba32; font-size: 13px; }
.internal-site .rankings-toolbar__primary a:hover,
.internal-site .rankings-toolbar__primary a:focus-visible,
.internal-site .rankings-toolbar__primary a.active {
  color: #fff1ad !important;
  outline: 0;
  text-shadow: 0 0 15px rgba(226, 188, 74, .34);
  transform: translateY(-1px);
}
.internal-site .rankings-toolbar .rankings_options {
  position: relative;
  inset: auto;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  color: #cbd8ce;
  background: transparent;
  border: 0;
  border-radius: 0;
  cursor: default;
  font-size: 12px;
  line-height: normal;
}
.internal-site .rankings-toolbar .rankings_options summary {
  position: relative;
  display: flex;
  min-width: 92px;
  min-height: 30px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 7px 27px 7px 12px;
  color: #c7d4ca;
  background: linear-gradient(180deg, rgba(24, 38, 29, .98), rgba(12, 23, 16, .98));
  border: 1px solid rgba(112, 178, 133, .28);
  border-radius: 3px;
  cursor: pointer;
  list-style: none;
  text-transform: uppercase;
  font: 500 10px/1 var(--l2-ui);
  letter-spacing: .08em;
  transition: color .5s cubic-bezier(.22, .75, .18, 1), border-color .5s cubic-bezier(.22, .75, .18, 1), background-color .5s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-toolbar .rankings_options summary::-webkit-details-marker { display: none; }
.internal-site .rankings-toolbar .rankings_options summary:hover,
.internal-site .rankings-toolbar .rankings_options summary:focus-visible,
.internal-site .rankings-toolbar .rankings_options[open] summary {
  color: #f4fff7;
  border-color: rgba(87, 243, 154, .52);
  outline: 0;
  background: linear-gradient(180deg, rgba(35, 82, 49, .98), rgba(17, 48, 28, .98));
}
.internal-site .rankings-toolbar .rankings_options .rankings_arrow {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 0;
  height: 0;
  margin-top: -2px;
  background: none;
  border-top: 5px solid #7ca98a;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  opacity: 1;
  transition: transform .5s cubic-bezier(.22, .75, .18, 1), border-color .5s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-toolbar .rankings_options[open] .rankings_arrow { transform: rotate(180deg); border-top-color: var(--l2-green-bright); }
.internal-site .rankings-toolbar .rankings_options > .rankings_options__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: grid;
  width: 205px;
  height: auto;
  box-sizing: border-box;
  gap: 4px;
  padding: 8px;
  overflow: visible;
  visibility: hidden;
  opacity: 0;
  background: linear-gradient(160deg, rgba(5, 17, 10, .99), rgba(10, 28, 16, .99));
  border: 1px solid rgba(87, 243, 154, .28);
  border-radius: 4px;
  box-shadow: 0 22px 46px rgba(0, 0, 0, .58), inset 0 1px rgba(255, 255, 255, .035);
  transform: translateY(-8px);
  transition: opacity .42s cubic-bezier(.22, .75, .18, 1), transform .42s cubic-bezier(.22, .75, .18, 1), visibility .42s;
}
.internal-site .rankings-toolbar .rankings_options[open] > .rankings_options__menu,
.internal-site .rankings-toolbar .rankings_options:hover > .rankings_options__menu {
  width: 205px;
  height: auto;
  padding: 8px;
  visibility: visible;
  opacity: 1;
  background: linear-gradient(160deg, rgba(5, 17, 10, .99), rgba(10, 28, 16, .99));
  border: 1px solid rgba(87, 243, 154, .28);
  transform: translateY(0);
}
.internal-site .rankings-toolbar .rankings_options > .rankings_options__menu a {
  display: flex;
  width: 100% !important;
  min-height: 30px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 7px 10px !important;
  color: #c7d2ca !important;
  background: linear-gradient(180deg, rgba(28, 42, 33, .98), rgba(14, 25, 18, .98));
  border: 1px solid rgba(111, 162, 127, .2);
  border-radius: 2px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
  text-decoration: none;
  text-transform: uppercase;
  font: 600 10px/1.2 var(--l2-ui) !important;
  letter-spacing: .045em;
  transition: color .42s cubic-bezier(.22, .75, .18, 1), border-color .42s cubic-bezier(.22, .75, .18, 1), background-color .42s cubic-bezier(.22, .75, .18, 1), transform .42s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-toolbar .rankings_options > .rankings_options__menu a:hover,
.internal-site .rankings-toolbar .rankings_options > .rankings_options__menu a:focus-visible,
.internal-site .rankings-toolbar .rankings_options > .rankings_options__menu a.ativa {
  color: #f5fff8 !important;
  background: linear-gradient(180deg, rgba(43, 126, 70, .92), rgba(22, 75, 40, .96));
  border-color: rgba(87, 243, 154, .52);
  outline: 0;
  transform: translateX(-2px);
}
.internal-site .rankings-hub {
  display: block;
  width: 100%;
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  padding: clamp(26px, 4vw, 48px);
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(53, 198, 107, .10), transparent 38%),
    linear-gradient(145deg, var(--l2-surface-sub), rgba(12, 29, 18, .94));
  border: 1px solid var(--l2-border-sub);
  border-radius: 0;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 22px 55px rgba(0, 0, 0, .3);
}
.internal-site .rankings-hub::before {
  content: "";
  position: absolute;
  inset: 7px;
  z-index: -1;
  pointer-events: none;
  border: 1px solid rgba(137, 211, 162, .07);
}
.internal-site .rankings-hub__header { max-width: 690px; margin-bottom: clamp(28px, 4vw, 44px); }
.internal-site .rankings-hub__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin-bottom: 14px;
  padding: 0 11px;
  color: var(--l2-green-bright);
  background: rgba(53, 198, 107, .08);
  border: 1px solid rgba(87, 243, 154, .18);
  border-radius: 999px;
  font: 500 10px/1 var(--l2-ui);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.internal-site .rankings-hub__header h1 { margin: 0 0 10px; font-size: clamp(34px, 5vw, 58px); line-height: .98; }
.internal-site .rankings-hub__header p { max-width: 570px; margin: 0; font-size: 16px; line-height: 1.65; }
.internal-site .rankings-hub__tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}
.internal-site .rankings-hub__tab {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 11px 10px 17px;
  color: #becbc1 !important;
  background: linear-gradient(180deg, rgba(22, 31, 25, .94), rgba(11, 19, 14, .96));
  border: 1px solid rgba(124, 171, 140, .14);
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
  text-decoration: none;
  text-transform: uppercase;
  font: 600 12px/1.2 var(--l2-ui);
  letter-spacing: .045em;
  transition: transform .55s cubic-bezier(.22, .75, .18, 1), color .55s cubic-bezier(.22, .75, .18, 1), border-color .55s cubic-bezier(.22, .75, .18, 1), background-color .55s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-hub__tab i {
  display: grid;
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  place-items: center;
  color: var(--l2-green-bright);
  background: rgba(87, 243, 154, .07);
  border: 1px solid rgba(87, 243, 154, .14);
  border-radius: 50%;
  font-style: normal;
  transition: transform .55s cubic-bezier(.22, .75, .18, 1), background-color .55s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-hub__tab:hover,
.internal-site .rankings-hub__tab:focus-visible {
  color: #f3fff7 !important;
  background: linear-gradient(180deg, rgba(31, 73, 45, .94), rgba(15, 43, 26, .98));
  border-color: rgba(87, 243, 154, .42);
  outline: none;
  transform: translateY(-3px);
}
.internal-site .rankings-hub__tab:hover i,
.internal-site .rankings-hub__tab:focus-visible i { transform: translate(2px, -2px) scale(1.04); background: rgba(87, 243, 154, .14); }
.internal-site .rankings-hub__tab:active { transform: translateY(-1px) scale(.985); }
.internal-site .rankings-hub__tab--primary {
  color: #f4fff7 !important;
  background: linear-gradient(180deg, #2c9453, #1a6939);
  border-color: rgba(128, 255, 177, .5);
  box-shadow: inset 0 1px rgba(255, 255, 255, .15), 0 12px 30px rgba(25, 126, 66, .16);
}
.internal-site .rankings-hub__tab--primary i { color: #fff; background: rgba(0, 0, 0, .14); border-color: rgba(255, 255, 255, .16); }

@media (max-width: 1120px) {
  .internal-site .rankings-toolbar { align-items: stretch; flex-direction: column; }
  .internal-site .rankings-toolbar__primary { justify-content: flex-start; overflow-x: auto; padding: 2px 0 7px; }
  .internal-site .rankings-toolbar .rankings_options { align-self: flex-end; }
  .internal-site .rankings-hub__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .internal-site .rankings-toolbar { padding: 10px; }
  .internal-site .rankings-toolbar__primary { gap: 18px; }
  .internal-site .rankings-toolbar .rankings_options { width: 100%; align-self: stretch; }
  .internal-site .rankings-toolbar .rankings_options summary { width: 100%; }
  .internal-site .rankings-toolbar .rankings_options > .rankings_options__menu,
  .internal-site .rankings-toolbar .rankings_options[open] > .rankings_options__menu,
  .internal-site .rankings-toolbar .rankings_options:hover > .rankings_options__menu { right: 0; width: min(100%, 320px); }
  .internal-site .rankings-hub { padding: 28px 16px; }
  .internal-site .rankings-hub__tabs { grid-template-columns: 1fr; }
  .internal-site .rankings-hub__tab { min-height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  .internal-site .rankings-hub__tab,
  .internal-site .rankings-hub__tab i,
  .internal-site .rankings-toolbar a,
  .internal-site .rankings-toolbar summary,
  .internal-site .rankings-toolbar .rankings_options__menu { transition-duration: .01ms; }
}

/* ================================================================
   SISTEMA VISUAL L2NEXT — PERGAMINHO EDITORIAL E ÁREAS OPERACIONAIS
   A arte é usada sem deformação: os rolos são recortes independentes
   e o miolo permanece uma superfície CSS fluida para conteúdo real.
   ================================================================ */
.internal-site .internal-page-content.surface-parchment {
  --paper-ink: #2c1b0e;
  --paper-muted: #6d4f30;
  --paper-line: rgba(102, 64, 23, .34);
  color: var(--paper-ink);
}

/* ----------------------------------------------------------------
   CASTLE & SIEGES — o pergaminho substitui o cartão escuro como
   superfície percebida (só esta página; ver DECISIONS.md). O antigo
   "quadro verde" (.internal-page-content) vira só um contentor
   estrutural, sem fundo/borda/sombra/padding próprios.
   ---------------------------------------------------------------- */
.internal-site .internal-page-content.surface-castle {
  width: min(1180px, 100%);
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

/* Textura envelhecida aprovada pelo usuário, sem texto incorporado.
   A tinta preta é aplicada só aos conteúdos sobre esta superfície. */
.internal-site .castle-parchment {
  --paper-ink: #111111;
  --paper-muted: #2b2b2b;
  display: block;
  border-radius: 0;
  position: relative;
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: clamp(72px, 7vw, 96px) clamp(70px, 7.6vw, 106px);
  color: var(--paper-ink);
  background: none;
  border: 0 solid transparent;
  /* Recortes de borda conservam a espessura do papel em páginas longas. */
  border-image: url('../home_assets/parchment-aged-approved.png?v=1') 120 110 fill / clamp(22px, 5.8vw, 70px) / 0 stretch;
  filter: drop-shadow(0 34px 42px rgba(0, 0, 0, .42));
  box-sizing: border-box;
}
.internal-site .castle-parchment .cp-content {
  position: relative;
  z-index: 1;
  padding: 0;
}
.internal-site .castle-parchment.parchment-debug .cp-content { outline: 2px solid #ffe000; outline-offset: -1px; }

/* Cabeçalho, abas e tabela de Castle & Sieges no padrão visual v2. */
.internal-site .castle-parchment .l2-pagehead--parchment {
  padding: 0 0 clamp(16px, 2vw, 24px);
  text-align: center;
}
.internal-site .castle-parchment .l2-eyebrow {
  margin: 0 0 7px;
  color: var(--paper-muted);
  font-size: 10px;
  letter-spacing: .26em;
  text-shadow: none;
}
.internal-site .castle-parchment .l2-eyebrow::before { color: #9a691f; }
.internal-site .castle-parchment .l2-heading__orn { margin-bottom: 4px; }
.internal-site .castle-parchment .l2-flourish { color: #9a691f; }
.internal-site .castle-parchment .l2-title {
  max-width: 100%;
  overflow-wrap: break-word;
  text-wrap: balance;
  margin-bottom: 6px;
  color: var(--paper-ink);
  font-size: clamp(27px, 3.5vw, 43px);
  line-height: 1.04;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  filter: none;
  text-shadow: none;
}
.internal-site .castle-parchment .l2-lede {
  max-width: 660px;
  color: var(--paper-muted);
  font-size: clamp(13px, 1.5vw, 16px);
  line-height: 1.45;
}
.internal-site .castle-parchment .l2-panel__head {
  justify-content: center;
  margin: 0 0 14px;
}
.internal-site .castle-parchment .l2-tabs {
  width: 100%;
  justify-content: center;
  gap: 3px;
  padding: 4px;
  background: rgba(104, 65, 21, .12);
  border: 1px solid rgba(104, 65, 21, .28);
  box-shadow: inset 0 1px rgba(255,255,255,.48);
}
.internal-site .castle-parchment .l2-tab {
  flex: 1 1 150px;
  color: #f0ddad;
  background: linear-gradient(180deg, #725020, #3b260f);
  border: 1px solid rgba(67, 39, 12, .68);
  border-radius: 2px;
  box-shadow: inset 0 1px rgba(255,255,255,.12);
  transition: transform .42s cubic-bezier(.16,1,.3,1), filter .42s cubic-bezier(.16,1,.3,1), background .42s cubic-bezier(.16,1,.3,1);
}
.internal-site .castle-parchment .l2-tab:hover,
.internal-site .castle-parchment .l2-tab.is-active {
  color: #fff2c9;
  background: linear-gradient(180deg, #176e49, #073a27);
  border-color: rgba(12, 91, 57, .82);
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 5px 13px rgba(54, 32, 9, .13);
  filter: brightness(1.04);
  transform: translateY(-1px);
}
.internal-site .castle-parchment .l2-tablewrap {
  background: rgba(255, 244, 210, .22);
  border: 1px solid rgba(104, 65, 21, .3);
  border-radius: 2px;
  box-shadow: inset 0 1px rgba(255,255,255,.45);
}
.internal-site .castle-parchment .l2-table { color: var(--paper-ink); font-size: 15px; }
.internal-site .castle-parchment .l2-table th {
  padding: 10px 13px;
  color: var(--paper-muted);
  background: rgba(102, 64, 23, .1);
  border-color: rgba(102, 64, 23, .28);
  font-size: 10px;
}
.internal-site .castle-parchment .l2-table td {
  padding: 9px 13px;
  color: var(--paper-ink);
  border-color: rgba(102, 64, 23, .2);
}
.internal-site .castle-parchment .l2-table tbody tr:hover { background: rgba(18, 105, 66, .08); }
.internal-site .castle-parchment .sc-castle span[style] { color: var(--paper-ink) !important; }
/* Boss: o nome inline usa a cor do tema escuro; sobre o papel herda a tinta da tabela. */
.internal-site .parchment-page--boss .l2-table td:first-child > span[style] { color: inherit !important; }
.internal-site .castle-parchment .sc-shield { color: #855d25; }
.internal-site .castle-parchment .siege-note { color: var(--paper-muted); }
.internal-site .castle-parchment .siege-soon {
  color: var(--paper-muted);
  border-color: rgba(104, 65, 21, .34);
  background: rgba(255, 244, 210, .18);
}

/* O mesmo pergaminho também recebe Boss, Olympiad, Base e Shop.
   Os componentes escuros do Design System tornam-se quadros leves
   sobre o papel, sem criar uma segunda superfície concorrente. */
.internal-site .parchment-page .l2-panel {
  color: var(--paper-ink);
  background: rgba(255, 244, 210, .2);
  border-color: rgba(104, 65, 21, .3);
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 8px 18px rgba(83, 48, 12, .08);
}
.internal-site .parchment-page .l2-panel__head {
  background: rgba(102, 64, 23, .08);
  border-color: rgba(102, 64, 23, .24);
}
.internal-site .parchment-page .l2-panel__title,
.internal-site .parchment-page .kb-tile__title,
.internal-site .parchment-page .shop-tile__title {
  color: var(--paper-ink);
  text-shadow: none;
}
.internal-site .parchment-page .kb-soon,
.internal-site .parchment-page .shop-gate__text p,
.internal-site .parchment-page .shop-tile__desc,
.internal-site .parchment-page .oly-context,
.internal-site .parchment-page .oly-context small {
  color: var(--paper-muted);
}
.internal-site .parchment-page .l2-field__label { color: var(--paper-ink); }
.internal-site .parchment-page .l2-input,
.internal-site .parchment-page .l2-select {
  color: #f7ead0;
  background-color: rgba(55, 34, 14, .92);
  border-color: rgba(104, 65, 21, .68);
}
.internal-site .parchment-page .l2-table__empty { color: var(--paper-muted); }
.internal-site .parchment-page .l2-tag--outline {
  color: var(--paper-muted);
  background: rgba(255, 244, 210, .34);
  border-color: rgba(104, 65, 21, .36);
}
.internal-site .parchment-page .l2-tag--gold { color: var(--paper-muted); }
.internal-site .parchment-page .l2-btn--quiet {
  color: #f0ddad;
  background: linear-gradient(180deg, #725020, #3b260f);
  border-color: rgba(67, 39, 12, .68);
}

@media (max-width: 760px) {
  .internal-site .castle-parchment {
    padding: 54px clamp(28px, 8vw, 46px) 62px;
  }
  .internal-site .castle-parchment .cp-content {
    padding: 0;
  }
  .internal-site .castle-parchment .l2-eyebrow { display: none; }
  .internal-site .castle-parchment .l2-title { font-size: clamp(19px, 5.4vw, 27px); line-height: 1.15; }
  .internal-site .castle-parchment .l2-lede { font-size: 13px; }
  .internal-site .castle-parchment .l2-tabs { display: grid; grid-template-columns: 1fr; }
  .internal-site .castle-parchment .l2-tab { width: 100%; min-height: 40px; }
  .internal-site .castle-parchment .l2-table { min-width: 660px; }
}

/* ----------------------------------------------------------------
   Pergaminho = asset oficial (home_assets/parchment-scroll-official.png),
   usado inteiro, sem recorte/deformação. A área seguro de conteúdo é
   calculada em % sobre as dimensões reais do PNG (1278×1230px) via
   amostragem de pixel (script em scratchpad/pergaminho/measure2.ps1),
   não por tentativa visual. Se o asset for trocado, remedir.
   Conteúdo mais alto que a área segura rola por dentro (overflow-y).
   ---------------------------------------------------------------- */
.internal-site .parchment-wrapper {
  position: relative;
  width: min(900px, 100%);
  margin: 0 auto;
  aspect-ratio: 1278 / 1230;
}
.internal-site .parchment-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}
.internal-site .parchment-content {
  position: absolute;
  top: 24.5%;
  right: 20%;
  bottom: 20%;
  left: 20%;
  overflow-y: auto;
  overflow-x: hidden;
  padding: clamp(6px, 1.5vw, 18px) clamp(10px, 2.4vw, 26px);
  outline: none;
}
.internal-site .parchment-debug .parchment-content { outline: 2px solid #ffe000; outline-offset: -1px; }

.internal-site .surface-parchment,
.internal-site .surface-parchment p,
.internal-site .surface-parchment .textn,
.internal-site .surface-parchment .desc { color: var(--paper-ink); }
.internal-site .surface-parchment h1,
.internal-site .surface-parchment h2,
.internal-site .surface-parchment h3,
.internal-site .surface-parchment h4,
.internal-site .surface-parchment .titlen {
  color: #2b180b;
  text-shadow: 0 1px rgba(255, 244, 202, .74);
}
.internal-site .surface-parchment a { color: #075b39; }
.internal-site .surface-parchment hr { border: 0; border-top: 1px solid var(--paper-line); }

.internal-site .surface-parchment .portal-heading {
  margin: 0 auto clamp(28px, 4vw, 46px);
  padding: 0 clamp(12px, 3vw, 34px) 24px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--paper-line);
  box-shadow: none;
}
.internal-site .surface-parchment .portal-heading::before,
.internal-site .surface-parchment .portal-heading::after { display: none; }
.internal-site .surface-parchment .portal-heading__ornament {
  width: 136px;
  border-color: rgba(73, 45, 15, .5);
  background: linear-gradient(90deg, transparent, #8d5e20 22%, #08744a 50%, #8d5e20 78%, transparent);
}
.internal-site .surface-parchment .portal-heading__eyebrow { color: #08744a !important; text-shadow: none; }
.internal-site .surface-parchment .portal-heading h1 { color: #2b180b; text-shadow: 0 1px #f7e8bb; }
.internal-site .surface-parchment .portal-heading__lead { color: var(--paper-muted) !important; text-shadow: none; }

/* A área segura do pergaminho tem largura fixa (proporção da imagem),
   não a largura da página — o título precisa caber nela em qualquer
   viewport, não só em mobile. */
.internal-site .parchment-content .portal-heading {
  margin: 0 0 16px;
  padding: 0 0 14px;
}
.internal-site .parchment-content .portal-heading__eyebrow { font-size: 10px; }
.internal-site .parchment-content .portal-heading h1 { font-size: clamp(19px, 5.6vw, 27px); line-height: 1.08; }
.internal-site .parchment-content .portal-heading__lead { font-size: 13px; }

.internal-site .surface-parchment .horMenu,
.internal-site .surface-parchment .paginacao {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px;
  margin: 0 0 25px;
  padding: 5px;
  background: rgba(74, 43, 14, .13);
  border: 1px solid var(--paper-line);
  box-shadow: inset 0 1px rgba(255,255,255,.48);
}
.internal-site .surface-parchment .horMenu a,
.internal-site .surface-parchment .paginacao a {
  min-width: 150px;
  padding: 11px 18px;
  color: #f1dfae !important;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(180deg, #755020, #3a240f);
  border: 1px solid rgba(70, 38, 10, .72);
  transition: transform .45s cubic-bezier(.16,1,.3,1), filter .45s cubic-bezier(.16,1,.3,1);
}
.internal-site .surface-parchment .horMenu a.act,
.internal-site .surface-parchment .paginacao a.act,
.internal-site .surface-parchment .horMenu a:hover,
.internal-site .surface-parchment .paginacao a:hover {
  color: #fff4cf !important;
  background: linear-gradient(180deg, #126641, #073c28);
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.internal-site .surface-parchment .formpadrao,
.internal-site .surface-parchment .rulesbox,
.internal-site .surface-parchment .support-notice,
.internal-site .surface-parchment .olympiad-filter-context {
  color: var(--paper-ink);
  background: rgba(255, 244, 207, .34);
  border-color: var(--paper-line);
  box-shadow: inset 0 1px rgba(255,255,255,.42);
}
.internal-site .surface-parchment input,
.internal-site .surface-parchment select,
.internal-site .surface-parchment textarea {
  color: #2b1b0e;
  background: rgba(255, 247, 220, .66);
  border-color: rgba(91, 55, 20, .48);
  box-shadow: inset 0 2px 8px rgba(78, 44, 13, .09);
}
.internal-site .surface-parchment input:focus,
.internal-site .surface-parchment select:focus,
.internal-site .surface-parchment textarea:focus { outline: 2px solid rgba(8, 116, 74, .42); border-color: #08744a; }
.internal-site .surface-parchment .rmsg.warn { color: #473019; background: rgba(255, 238, 171, .5); border-color: rgba(132, 90, 28, .36); }

.internal-site .surface-parchment table { width: 100%; color: #2d1c0e; background: rgba(255, 246, 215, .34); border-color: var(--paper-line); }
.internal-site .surface-parchment th,
.internal-site .surface-parchment td { color: #2d1c0e; border-color: var(--paper-line); }
.internal-site .surface-parchment th { background: rgba(102, 64, 23, .13); }
.internal-site .surface-parchment tr:nth-child(even) td { background: rgba(117, 72, 25, .045); }
.internal-site .surface-parchment .foco { color: #075b39 !important; }

.internal-site .surface-parchment .siege-grid .castled {
  background: rgba(255, 244, 207, .42);
  border-color: var(--paper-line);
  box-shadow: 0 13px 30px rgba(74, 43, 14, .12), inset 0 1px rgba(255,255,255,.5);
}
.internal-site .surface-parchment .siege-grid .castled .ct { color: #3b230f; }
.internal-site .surface-parchment .siege-grid .castled .nwar { border-color: var(--paper-line); }

.internal-site .internal-page-content.surface-commerce {
  background:
    radial-gradient(circle at 50% 0, rgba(21, 101, 63, .16), transparent 42%),
    linear-gradient(145deg, rgba(8, 24, 15, .97), rgba(4, 13, 8, .96));
  border-color: rgba(185, 139, 60, .28);
  box-shadow: 0 30px 76px rgba(0,0,0,.5), inset 0 1px rgba(238, 204, 125, .06);
}
.internal-site .surface-commerce .portal-heading { background: linear-gradient(180deg, rgba(84,54,20,.74), rgba(30,20,9,.78)); border-color: rgba(217,174,78,.38); }
.internal-site .surface-commerce .shop-card { border-color: rgba(203,157,62,.28); background: linear-gradient(155deg, rgba(16,44,27,.94), rgba(6,19,12,.98)); }

.internal-site .internal-page-content.surface-rankings {
  background:
    radial-gradient(circle at 15% 0, rgba(53,198,107,.11), transparent 38%),
    linear-gradient(145deg, rgba(8,25,15,.97), rgba(4,13,8,.98));
}

@media (max-width: 760px) {
  .internal-site .internal-page-content.surface-parchment {
    padding: 76px 16px 82px;
    border-left: 1px solid rgba(104,61,21,.54);
    border-right: 1px solid rgba(104,61,21,.54);
  }
  .internal-site .internal-page-content.surface-parchment::before,
  .internal-site .internal-page-content.surface-parchment::after {
    left: -2.5%;
    width: 105%;
    height: 68px;
  }
  .internal-site .surface-parchment .portal-heading { width: 100%; padding: 0 4px 18px; }
  .internal-site .surface-parchment .portal-heading h1 { font-size: clamp(27px, 10vw, 40px); }
  .internal-site .surface-parchment .portal-heading__lead { font-size: 15px; }
  .internal-site .surface-parchment .horMenu,
  .internal-site .surface-parchment .paginacao { display: grid; grid-template-columns: 1fr; }
  .internal-site .surface-parchment .horMenu a,
  .internal-site .surface-parchment .paginacao a { width: 100%; min-width: 0; }
  .internal-site .surface-parchment .rulesbox { max-height: 260px; overflow: auto; }
  .internal-site .surface-parchment table { min-width: 620px; }
  .internal-site .surface-parchment .pddInner,
  .internal-site .surface-parchment .tabella { overflow-x: auto; }
}

/* Navegação editorial de rankings: somente textos, sem dropdown */
.internal-site .rankings-toolbar {
  position: static;
  inset: auto;
  top: auto;
  left: auto;
  z-index: 3;
  display: block;
  width: auto;
  height: auto;
  line-height: normal;
  margin: 0 0 clamp(38px, 5vw, 58px);
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(87, 243, 154, .14);
  box-shadow: none;
}
.internal-site .rankings-toolbar__primary {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(18px, 2.7vw, 42px);
  padding: 0 clamp(4px, 1.2vw, 14px);
  overflow: visible;
}
.internal-site .rankings-toolbar__primary a {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0 0 2px;
  color: #aebdb2 !important;
  font: 600 11px/1 var(--l2-ui);
  letter-spacing: .09em;
  text-shadow: none;
  transform: none;
}
.internal-site .rankings-toolbar__primary a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: -1px;
  left: 50%;
  height: 2px;
  background: var(--l2-green-bright);
  box-shadow: 0 0 13px rgba(87, 243, 154, .62);
  opacity: 0;
  transform: scaleX(.4);
  transition: left .52s cubic-bezier(.22, .75, .18, 1), right .52s cubic-bezier(.22, .75, .18, 1), opacity .52s cubic-bezier(.22, .75, .18, 1), transform .52s cubic-bezier(.22, .75, .18, 1);
}
.internal-site .rankings-toolbar__primary a:hover,
.internal-site .rankings-toolbar__primary a:focus-visible {
  color: #e6f2e9 !important;
  text-shadow: 0 0 15px rgba(87, 243, 154, .18);
  transform: none;
}
.internal-site .rankings-toolbar__primary a.active {
  color: var(--l2-green-bright) !important;
  text-shadow: 0 0 15px rgba(87, 243, 154, .26);
  transform: none;
}
.internal-site .rankings-toolbar__primary a:hover::after,
.internal-site .rankings-toolbar__primary a:focus-visible::after,
.internal-site .rankings-toolbar__primary a.active::after {
  right: 0;
  left: 0;
  opacity: 1;
  transform: scaleX(1);
}
@media (max-width: 900px) {
  .internal-site .rankings-toolbar { margin-bottom: 36px; overflow: hidden; }
  .internal-site .rankings-toolbar__primary {
    justify-content: flex-start;
    gap: 28px;
    padding: 0 4px 8px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(87, 243, 154, .32) transparent;
  }
  .internal-site .rankings-toolbar__primary a { flex: 0 0 auto; }
}


.internal-site .formpadrao,
.internal-site .rulesbox,
.internal-site .news,
.internal-site .rankings-card,
.internal-site .download-card,
.internal-site .feature-card,
.internal-site .world-status-card,
.internal-site .support-notice,
.internal-site .fullGallery > div,
.internal-site table.default {
  color: var(--l2-ink);
  background: var(--l2-surface-sub);
  border-color: var(--l2-border-sub) !important;
  box-shadow: inset 0 1px rgba(238, 232, 211, .025), 0 12px 30px rgba(0, 0, 0, .18);
}
.internal-site .rulesbox,
.internal-site .rankings-card,
.internal-site .download-card,
.internal-site .feature-card,
.internal-site .world-status-card,
.internal-site .support-notice {
  background: var(--l2-surface-sub);
  border: 1px solid var(--l2-border-sub);
}

.internal-site input[type="text"],
.internal-site input[type="email"],
.internal-site input[type="password"],
.internal-site input[type="number"],
.internal-site select,
.internal-site textarea {
  max-width: 100%;
  color: #f2eee1;
  background: var(--l2-surface-control);
  border: 1px solid rgba(143, 190, 158, .38);
  border-radius: 3px;
  outline: 0;
}
.internal-site input:focus,
.internal-site select:focus,
.internal-site textarea:focus { border-color: var(--l2-focus); box-shadow: 0 0 0 2px rgba(98, 189, 127, .13); }
.internal-site input[type="submit"],
.internal-site button:not(.lang-btn):not(.btn-account):not(.burger),
.internal-site .l2-button,
.internal-site a.default,
.internal-site span.default,
.internal-site .btn-entrar {
  color: #fff4d2;
  background: linear-gradient(180deg, #9b7834 0%, #70501f 58%, #4b3212 100%);
  border: 1px solid rgba(224, 183, 84, .78);
  border-radius: 2px;
  font-family: var(--l2-ui);
  text-transform: uppercase;
  letter-spacing: .11em;
  text-shadow: 0 1px 2px #2f1c08, 0 0 9px rgba(255, 224, 130, .15);
  box-shadow: inset 0 1px 0 rgba(255, 236, 167, .22), inset 0 0 18px rgba(0, 0, 0, .42), 0 7px 18px rgba(0, 0, 0, .34);
  transition: transform .55s cubic-bezier(.16,1,.3,1), filter .55s cubic-bezier(.16,1,.3,1), box-shadow .55s cubic-bezier(.16,1,.3,1);
}
.internal-site input[type="submit"]:hover,
.internal-site button:not(.lang-btn):not(.btn-account):not(.burger):hover,
.internal-site .l2-button:hover,
.internal-site a.default:hover,
.internal-site span.default:hover,
.internal-site .btn-entrar:hover {
  transform: translateY(-2px);
  filter: brightness(1.13);
  box-shadow: inset 0 0 18px rgba(255, 224, 130, .18), 0 0 17px rgba(201, 162, 74, .24), 0 11px 23px rgba(0, 0, 0, .42);
}
.internal-site input[type="submit"]:active,
.internal-site button:not(.lang-btn):not(.btn-account):not(.burger):active,
.internal-site .l2-button:active,
.internal-site a.default:active,
.internal-site span.default:active,
.internal-site .btn-entrar:active { transform: translateY(0) scale(.985); }

.internal-site .formpadrao .camp input[type="text"],
.internal-site .formpadrao .camp input[type="password"],
.internal-site .formpadrao .camp input[type="file"],
.internal-site .formpadrao .camp select,
.internal-site .formpadrao textarea {
  color: #f2eee1 !important;
  background: var(--l2-surface-control) !important;
  border: 1px solid rgba(143, 190, 158, .38) !important;
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, .42) !important;
}
.internal-site .formpadrao .camp input:focus,
.internal-site .formpadrao .camp select:focus,
.internal-site .formpadrao textarea:focus {
  color: #fff !important;
  background: rgba(6, 22, 13, .98) !important;
  border-color: var(--l2-focus) !important;
}
.internal-site .formpadrao { background: var(--l2-surface-sub); border-color: var(--l2-border-sub) !important; }
.internal-site .formpadrao > div { background: rgba(20, 43, 28, .82); }
.internal-site .formpadrao .desc { color: #ddd9cc; }

.internal-site table.default { width: 100%; border-collapse: collapse; }
.internal-site table.default th,
.internal-site table.default td { padding: 11px 12px; border-bottom: 1px solid var(--l2-line-soft); }
.internal-site table.default th { color: #f0e6c9; background: rgba(32, 69, 44, .88); font-family: var(--l2-ui); text-transform: uppercase; letter-spacing: .06em; }
.internal-site table.default td { color: #e0e5df !important; background: rgba(13, 29, 19, .92) !important; }
.internal-site table.default tr:nth-child(odd) td { background: rgba(20, 42, 28, .9) !important; }
.internal-site table.default td.foco { color: #f0e8d2 !important; background: rgba(35, 92, 53, .5) !important; }
.internal-site table.default tr:hover td { background: rgba(39, 79, 51, .92) !important; }

.internal-site .download-grid,
.internal-site .feature-grid,
.internal-site .world-grid,
.internal-site .news-grid { gap: 18px; }
.internal-site .download-card,
.internal-site .feature-card,
.internal-site .world-status-card,
.internal-site .news-card { width: auto !important; min-width: 0; }
.internal-site .rmsg { border-color: rgba(53, 198, 107, .32); background: rgba(28, 104, 54, .17); color: #d9f6e2; }
.internal-site .rmsg.error { border-color: rgba(226, 88, 88, .4); background: rgba(100, 25, 25, .25); color: #ffd4d4; }
.internal-site .rmsg.warn { border-color: rgba(214, 181, 103, .4); background: rgba(105, 80, 22, .22); color: #f3dfab; }
.internal-site .horMenu { border-color: var(--l2-border-main); }
.internal-site .horMenu a { color: #c0cbc2 !important; border-color: var(--l2-border-main) !important; }
.internal-site .horMenu a:hover,
.internal-site .horMenu a.act,
.internal-site .horMenu a.ativa { color: var(--l2-green-bright) !important; border-color: var(--l2-focus) !important; }

.internal-site .internal-footer {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: clamp(34px, 5vw, 58px) 24px 30px;
  line-height: 1.4;
  text-align: left;
  font-weight: 400;
  color: #829087;
  background:
    radial-gradient(ellipse at 22% 35%, rgba(37,89,64,.34), transparent 42%),
    radial-gradient(ellipse at 76% 65%, rgba(17,57,40,.3), transparent 46%),
    linear-gradient(112deg, rgba(213,188,120,.045) 0 1px, transparent 1px 31%, rgba(213,188,120,.035) 31.2% 31.35%, transparent 31.5%),
    linear-gradient(180deg, rgba(7,23,16,.84), rgba(4,15,10,.94));
  border-top: 0;
}
.internal-site .internal-footer__inner { width: min(1180px, 100%); margin: 0 auto; display: grid; grid-template-columns: 1fr; align-items: center; gap: 22px; }
.internal-site .internal-footer__brand { display: block; width: min(720px, 92%); margin: 0 auto; line-height: 0; text-decoration: none; }
.internal-site .internal-footer__brand .internal-footer__logo { width: 100%; mix-blend-mode: screen; }
.internal-site .internal-footer__links { position: static; inset: auto; width: auto; height: auto; display: flex; justify-content: center; flex-wrap: wrap; gap: 18px 30px; margin: 0; padding: 0; line-height: 1; background: transparent; }
.internal-site .internal-footer__links a { float: none; display: inline-flex; padding: 0; color: #aab8ae !important; text-decoration: none; text-transform: uppercase; font: 400 11px/1 var(--l2-ui) !important; letter-spacing: .11em; }
.internal-site .internal-footer__links a:hover { color: var(--l2-green-bright) !important; background: transparent; text-shadow: none; }
.internal-site .internal-footer p { grid-column: 1 / -1; margin: 0; font-size: 13px; text-align: center; }

/* Cabeçalho e barra social: paridade visual com a Home. */
.internal-site header.top {
  min-height: 0;
  padding: 14px 0 0;
  color: var(--l2-ink);
  background: linear-gradient(180deg, rgba(3, 8, 5, .34), rgba(3, 8, 5, .10) 72%, transparent);
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  transition: background .3s, box-shadow .3s, padding .3s;
}
.internal-site header.top.scrolled {
  padding-top: 10px;
  background: linear-gradient(180deg, rgba(4, 10, 7, .68), rgba(4, 10, 7, .28) 68%, transparent);
  box-shadow: 0 9px 26px rgba(0, 0, 0, .18);
}
.internal-site .brand-left {
  left: var(--brandLeft, 63px);
  top: 11px;
  width: auto;
  height: 52px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.internal-site .brand-left img {
  width: auto;
  height: 100%;
  filter: drop-shadow(0 3px 7px rgba(0, 0, 0, .7));
}
.internal-site .brand-left .brand-mark-img {
  height: 54px;
  width: auto;
  flex: 0 0 auto;
  filter: none;
}
.internal-site .brand-left .brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.internal-site .brand-left .brand-name {
  font-family: var(--l2-head);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: .08em;
  color: var(--l2-ink);
  text-transform: uppercase;
}
.internal-site .brand-left .brand-sub {
  font-family: var(--l2-ui);
  font-weight: 600;
  font-size: 9px;
  letter-spacing: .38em;
  color: var(--l2-green-bright);
  text-transform: uppercase;
  margin-top: 3px;
}
.internal-site .top-row {
  min-height: 0;
  margin: 0;
  padding: 0 clamp(16px, 4vw, 48px) 0 var(--logoL, 48px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.internal-site nav.main {
  flex: 0 0 auto;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 26px;
  white-space: nowrap;
}
.internal-site nav.main a {
  padding: 6px 2px;
  color: var(--ink-dim) !important;
  font: 500 14px/1.6 var(--l2-ui) !important;
  letter-spacing: .14em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .95), 0 0 12px rgba(0, 0, 0, .36);
}
.internal-site nav.main a::after { display: none; }
.internal-site nav.main a:hover,
.internal-site nav.main a.active { color: #fff !important; }
.internal-site nav.main a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  display: block;
  background: linear-gradient(90deg, transparent, var(--green), transparent);
  box-shadow: 0 0 8px var(--green-glow);
}
.internal-site .top-actions {
  position: static;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
}
.internal-site .top-actions .btn-online { order: 1; }
.internal-site .top-actions .acct { order: 2; }
.internal-site .top-actions .lang { order: 3; }
.internal-site .lang-btn {
  width: auto;
  height: auto;
  gap: 8px;
  padding: 7px 12px;
  color: var(--ink-dim);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  font: 400 13px/1 var(--l2-ui);
  letter-spacing: .1em;
}
.internal-site .lang-btn:hover,
.internal-site .lang.open .lang-btn { color: #fff; border-color: var(--line-2); box-shadow: 0 0 12px var(--green-glow); }
.internal-site .flag { width: 24px; height: auto; box-shadow: 0 0 0 1px rgba(0, 0, 0, .35); }
.internal-site .lang-menu {
  top: calc(100% + 8px);
  min-width: 160px;
  padding: 6px;
  background: var(--panel-2);
  border-color: var(--line-2);
  border-radius: 6px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .55), 0 0 18px rgba(53, 198, 107, .12);
}
.internal-site .lang-menu a { padding: 9px 12px; border-radius: 4px; color: var(--ink-dim) !important; font: 400 13px/1.2 var(--l2-ui) !important; letter-spacing: .1em; }
.internal-site .lang-menu a:hover { color: #fff !important; background: rgba(53, 198, 107, .14); }
.internal-site .lang-menu a.active { color: var(--green-bright) !important; }
.internal-site .btn-account {
  width: auto;
  height: auto;
  padding: 6px 11px;
  color: var(--ink-dim);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
}
.internal-site .btn-account:hover,
.internal-site .acct.open .btn-account { color: #fff; border-color: var(--line-2); box-shadow: 0 0 12px var(--green-glow); }
.internal-site .btn-account svg { width: 17px; height: 17px; }
/* Jogador logado: nome abaixo do ícone da conta, com atalho para sair. */
.internal-site .acct-user {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 7px;
  max-width: 200px;
  white-space: nowrap;
  color: #e9efe9;
  font: 600 11px/1 var(--l2-ui);
  letter-spacing: .14em;
  text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .9);
}
.internal-site .acct-user__dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #35c66b; box-shadow: 0 0 8px rgba(53, 198, 107, .75); }
.internal-site .acct-user__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.internal-site .acct-user__out { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: #c9d6cc; border-radius: 4px; transition: color .2s, background .2s; }
.internal-site .acct-user__out svg { width: 16px; height: 16px; }
.internal-site .acct-user__out:hover,
.internal-site .acct-user__out:focus-visible { color: #fff; background: rgba(53, 198, 107, .2); outline: none; }
.internal-site .acct.open .acct-user { visibility: hidden; }
.internal-site .btn-online {
  min-height: 0;
  height: 31px;
  padding: 0 28px;
  color: #eafff2;
  border: 1px solid rgba(140, 235, 180, .7);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(70, 205, 120, .5), rgba(40, 150, 85, .5));
  box-shadow: 0 0 12px rgba(53, 198, 107, .35), inset 0 1px 0 rgba(210, 255, 225, .28);
  text-shadow: 0 1px 2px rgba(0, 30, 12, .45);
  font: 600 13px/1 var(--l2-ui);
  letter-spacing: .18em;
}
.internal-site .btn-online::before { display: none; }
.internal-site .btn-online:hover { color: #fff; background: linear-gradient(180deg, rgba(85, 225, 140, .68), rgba(48, 170, 98, .68)); border-color: rgba(160, 250, 195, .9); box-shadow: 0 0 16px rgba(53, 198, 107, .5); }
.internal-site .btn-online.status-off {
  color: #fff0f0;
  background: linear-gradient(180deg, rgba(205, 65, 65, .65), rgba(139, 30, 30, .72));
  border-color: rgba(255, 125, 125, .85);
  box-shadow: 0 0 13px rgba(225, 48, 48, .4), inset 0 1px 0 rgba(255, 220, 220, .18);
}
.internal-site .btn-online.status-off:hover {
  background: linear-gradient(180deg, rgba(229, 78, 78, .8), rgba(164, 39, 39, .85));
  border-color: rgba(255, 160, 160, .95);
  box-shadow: 0 0 17px rgba(235, 55, 55, .52);
}
.internal-site .subnav {
  min-height: 0;
  margin: 9px clamp(16px, 4vw, 48px) 0 var(--logoL, 48px);
  padding: 9px 0 2px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 26px;
  background: transparent;
  border-top: 0;
}
.internal-site .subnav a,
.internal-site .subnav span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #b7cbbd;
  font: 400 12px/1.6 var(--l2-ui);
  letter-spacing: .14em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .94);
}
.internal-site .subnav a::before,
.internal-site .subnav span::before {
  content: "◇";
  color: var(--green-bright);
  font-size: 11px;
  text-shadow: 0 0 8px var(--green-glow);
  transition: transform .2s;
}
.internal-site .subnav a:hover { color: #fff; text-shadow: 0 0 10px rgba(120, 200, 150, .35); }
.internal-site .subnav a:hover::before { transform: scale(1.25); }
.internal-site .subnav a.active {
  color: var(--l2-green-bright);
  text-shadow: 0 0 10px rgba(98, 189, 127, .26), 0 1px 4px rgba(0, 0, 0, .94);
}
.internal-site .subnav a.active::before { color: var(--l2-green-bright); transform: scale(1.18); }

/* Cabeçalho compartilhado das cinco áreas do portal. */
.internal-site .portal-heading {
  position: relative;
  width: min(820px, calc(100% - 58px));
  margin: 0 auto clamp(32px, 4vw, 48px);
  padding: clamp(24px, 3vw, 34px) clamp(36px, 7vw, 84px);
  text-align: center;
  background:
    radial-gradient(ellipse at 18% 50%, rgba(85, 49, 19, .34), transparent 20%),
    radial-gradient(ellipse at 82% 50%, rgba(85, 49, 19, .34), transparent 20%),
    repeating-linear-gradient(0deg, transparent 0 4px, rgba(92, 58, 25, .055) 5px 6px),
    linear-gradient(180deg, #82704a 0%, #635133 42%, #49391f 100%);
  border: 1px solid rgba(231, 196, 111, .72);
  border-radius: 8px;
  box-shadow: inset 0 1px rgba(255, 242, 191, .3), inset 0 -13px 22px rgba(34, 20, 7, .28), 0 15px 30px rgba(0,0,0,.34);
}
.internal-site .portal-heading::before,
.internal-site .portal-heading::after { content: ""; position: absolute; top: 8px; bottom: 8px; width: 22px; background: linear-gradient(90deg, rgba(47,30,11,.64), rgba(210,174,88,.7) 48%, rgba(55,33,12,.58)); border: 1px solid rgba(239, 204, 116, .62); box-shadow: inset 0 0 7px rgba(28,16,4,.56), 0 4px 9px rgba(0,0,0,.26); }
.internal-site .portal-heading::before { left: -13px; border-radius: 12px 3px 3px 12px; }
.internal-site .portal-heading::after { right: -13px; border-radius: 3px 12px 12px 3px; }
.internal-site .portal-heading__ornament { display: block; width: 118px; height: 8px; margin: 0 auto 12px; border-top: 1px solid rgba(255,231,154,.7); border-bottom: 1px solid rgba(70,41,13,.7); background: linear-gradient(90deg, transparent, rgba(224,183,87,.8) 24%, rgba(255,237,175,.95) 50%, rgba(224,183,87,.8) 76%, transparent); }
.internal-site .portal-heading__eyebrow { margin: 0 0 8px !important; color: #e4cc8c !important; font: 600 10px/1 var(--l2-ui); letter-spacing: .22em; text-shadow: 0 1px 1px #2f1b09; text-transform: uppercase; }
.internal-site .portal-heading h1 { margin: 0; color: #fff0c1; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: .08em; text-shadow: 0 2px 1px #34200d, 0 0 13px rgba(255,224,141,.16); text-transform: uppercase; }
.internal-site .portal-heading__lead { max-width: 620px; margin: 12px auto 0 !important; color: #eadcb6 !important; font-size: 17px; line-height: 1.5; text-shadow: 0 1px 1px rgba(35,20,7,.72); }

/* Páginas de evolução: estrutura comum, sem antecipar conteúdo final. */
.internal-site .portal-page {
  display: block;
  width: auto;
  max-width: 920px;
  margin: 0 auto;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.internal-site .portal-page h1 { margin: 6px 0 14px; font-size: clamp(34px, 5vw, 56px); line-height: 1; }
.internal-site .portal-page__lead { max-width: 700px; margin: 0 0 30px; font-size: 18px; line-height: 1.65; }
.internal-site .portal-page .support-notice { padding: clamp(20px, 3vw, 30px); }
.internal-site .knowledge-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 0;
}
.internal-site .knowledge-directory span {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 15px;
  color: #d9dfd9;
  background: var(--l2-surface-sub);
  border: 1px solid var(--l2-border-sub);
  font: 500 12px/1.35 var(--l2-ui);
  letter-spacing: .075em;
  text-transform: uppercase;
}
.internal-site .portal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.internal-site .portal-actions .l2-button { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; color: #fff4d2 !important; text-decoration: none; }
.internal-site .portal-actions__secondary { color: #cbb77e !important; font: 600 11px/1 var(--l2-ui); letter-spacing: .08em; text-transform: uppercase; }
.internal-site .auth-gate { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: 20px 22px; background: var(--l2-surface-sub); border: 1px solid var(--l2-border-sub); }
.internal-site .auth-gate strong { color: #e4d198; font: 600 16px/1.2 var(--l2-head); text-transform: uppercase; }
.internal-site .auth-gate p { margin: 7px 0 0; }
.internal-site .auth-gate .portal-actions { flex: 0 0 auto; margin: 0; }
.internal-site .shop-grid,
.internal-site .streamer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.internal-site .shop-card,
.internal-site .streamer-card { min-width: 0; padding: 24px; background: var(--l2-surface-sub); border: 1px solid var(--l2-border-sub); box-shadow: inset 0 1px rgba(255,255,255,.025), 0 12px 28px rgba(0,0,0,.18); }
.internal-site .shop-card h2,
.internal-site .streamer-card h2 { margin: 12px 0 10px; font-size: 20px; }
.internal-site .shop-card p,
.internal-site .streamer-card p { min-height: 68px; margin: 0 0 18px; }
.internal-site .shop-card__seal { color: #d5b05c; font-size: 20px; }
.internal-site .shop-card__status { color: #aeb8b0; font: 600 10px/1.3 var(--l2-ui); letter-spacing: .09em; text-transform: uppercase; }
.internal-site .shop-card.is-locked { opacity: .74; }
.internal-site .streamer-form { margin: 0 0 26px; padding: 24px; background: var(--l2-surface-sub); border: 1px solid var(--l2-border-sub); }
.internal-site .streamer-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.internal-site .streamer-form label { display: grid; gap: 7px; color: #d8d3c4; font: 600 11px/1.3 var(--l2-ui); letter-spacing: .05em; text-transform: uppercase; }
.internal-site .streamer-form input,
.internal-site .streamer-form textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; }
.internal-site .streamer-form__wide { grid-column: 1 / -1; }
.internal-site .streamer-form__note { margin: 16px 0; font-size: 13px; }
.internal-site .streamer-form button[disabled] { opacity: .55; cursor: not-allowed !important; }

/* Grade responsiva de castelos: mantém a fonte de dados e o cache existentes. */
.internal-site .siege-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; width: 100%; }
.internal-site .siege-grid .castled { display: flex; width: auto; min-width: 0; margin: 0; padding: 18px; flex-direction: column; background: var(--l2-surface-sub); border: 1px solid var(--l2-border-sub); box-shadow: 0 12px 28px rgba(0,0,0,.2); }
.internal-site .siege-grid .castled > div { display: block; width: 100%; }
.internal-site .siege-grid .castled .ct { padding: 0 0 13px; color: #eadcb8; font: 600 18px/1.2 var(--l2-head); text-align: center; }
.internal-site .siege-grid .castled .imgc { float: none; width: 100%; height: auto; aspect-ratio: 200 / 113; box-sizing: border-box; overflow: hidden; }
.internal-site .siege-grid .castled .imgc span { width: 100%; height: 100%; background-size: 900% 100%; }
.internal-site .siege-grid .castled .imgc.goddard span { background-position: 12.5% top; }
.internal-site .siege-grid .castled .imgc.giran span { background-position: 25% top; }
.internal-site .siege-grid .castled .imgc.oren span { background-position: 37.5% top; }
.internal-site .siege-grid .castled .imgc.dion span { background-position: 50% top; }
.internal-site .siege-grid .castled .imgc.gludio span { background-position: 62.5% top; }
.internal-site .siege-grid .castled .imgc.innadril span { background-position: 75% top; }
.internal-site .siege-grid .castled .imgc.rune span { background-position: 87.5% top; }
.internal-site .siege-grid .castled .imgc.schuttgart span { background-position: 100% top; }
.internal-site .siege-grid .castled .ci { float: none; width: auto; padding: 15px 0 0; }
.internal-site .siege-grid .castled .ci .cc { overflow-wrap: anywhere; }
.internal-site .siege-grid .castled .nwar { margin-top: auto; padding: 12px 0 0; border-top: 1px solid var(--l2-line-soft); overflow-wrap: anywhere; }

/* ================================================================
   CASTLE & SIEGES — abas + tabela sobre o pergaminho compartilhado
   (usa .surface-parchment normalmente; regras abaixo só existem nesta
   página, pelos nomes de classe próprios: siege-, sc-, status-).
   ================================================================ */
.internal-site .surface-parchment .siege-tabs {
  position: static;
  top: auto;
  left: auto;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: auto;
  padding: 0;
  gap: 8px;
  margin: 0 0 12px;
  background: none;
  line-height: normal;
}
.internal-site .surface-parchment .siege-portal .siege-tabs .siege-tab {
  flex: 1 1 160px;
  min-width: 0;
  padding: 7px 10px;
  color: #f3ecd4;
  font: 600 11px/1.2 var(--l2-ui);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  background: linear-gradient(180deg, #7c6a44 0%, #5c4c2c 100%);
  border: 1px solid rgba(58, 38, 12, .55);
  border-radius: 3px;
  box-shadow: inset 0 1px rgba(255, 244, 202, .18), 0 4px 10px rgba(0, 0, 0, .22);
}
.internal-site .surface-parchment .siege-portal .siege-tabs .siege-tab.active {
  color: #f2fff6;
  background: linear-gradient(180deg, var(--l2-green) 0%, var(--l2-green-deep) 100%);
  border-color: rgba(20, 60, 36, .6);
}
.internal-site .surface-parchment .siege-portal .siege-tabs .siege-tab:not(.active):hover { filter: brightness(1.08); }
.internal-site .surface-parchment .siege-panel[hidden] { display: none; }
.internal-site .surface-parchment .siege-soon {
  padding: 28px 18px;
  color: var(--paper-muted);
  font-style: italic;
  text-align: center;
  border: 1px dashed var(--paper-line);
  border-radius: 4px;
}

.internal-site .surface-parchment .siege-table-wrap { overflow-x: auto; }
.internal-site .surface-parchment .siege-table { width: 100%; border-collapse: collapse; }
.internal-site .surface-parchment .siege-table th {
  padding: 6px 9px;
  color: #f5eccb;
  font: 600 10px/1.2 var(--l2-ui);
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  background: linear-gradient(180deg, #6d5a34 0%, #4d3e22 100%);
}
.internal-site .surface-parchment .siege-table th:first-child { border-radius: 4px 0 0 0; }
.internal-site .surface-parchment .siege-table th:last-child { border-radius: 0 4px 0 0; }
.internal-site .surface-parchment .siege-table td {
  padding: 5px 9px;
  color: var(--paper-ink);
  border-bottom: 1px solid var(--paper-line);
  vertical-align: middle;
  white-space: nowrap;
  font-size: 13px;
}
.internal-site .surface-parchment .siege-table tr:nth-child(even) td { background: rgba(117, 72, 25, .06); }
.internal-site .surface-parchment .siege-table tr:hover td { background: rgba(117, 72, 25, .13); }

.internal-site .surface-parchment .sc-castle { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.internal-site .surface-parchment .sc-thumb {
  flex: none;
  display: block;
  width: 26px;
  height: 26px;
  background: #12100a url('../imgs/nm/castles.jpg') no-repeat;
  background-size: 900% 100%;
  background-position: center;
  border: 1px solid rgba(104, 61, 21, .55);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255, 244, 202, .18);
}
.internal-site .surface-parchment .sc-thumb.aden { background-position: 0% center; }
.internal-site .surface-parchment .sc-thumb.goddard { background-position: 12.5% center; }
.internal-site .surface-parchment .sc-thumb.giran { background-position: 25% center; }
.internal-site .surface-parchment .sc-thumb.oren { background-position: 37.5% center; }
.internal-site .surface-parchment .sc-thumb.dion { background-position: 50% center; }
.internal-site .surface-parchment .sc-thumb.gludio { background-position: 62.5% center; }
.internal-site .surface-parchment .sc-thumb.innadril { background-position: 75% center; }
.internal-site .surface-parchment .sc-thumb.rune { background-position: 87.5% center; }
.internal-site .surface-parchment .sc-thumb.schuttgart { background-position: 100% center; }

.internal-site .surface-parchment .sc-owner { display: flex; align-items: center; gap: 8px; }
.internal-site .surface-parchment .sc-shield { flex: none; width: 17px; height: 17px; color: #6d4f30; }
.internal-site .surface-parchment .sc-owner.is-free .sc-shield { color: #9a8a6a; opacity: .55; }

.internal-site .surface-parchment .status-pill {
  display: inline-block;
  padding: 4px 12px;
  font: 700 11px/1.2 var(--l2-ui);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, .18);
}
.internal-site .surface-parchment .status-dominado { color: #0f3b22; background: #7fcf9e; }
.internal-site .surface-parchment .status-disputa { color: #4a3106; background: #e0b95c; }
.internal-site .surface-parchment .status-livre { color: #40474a; background: #c7cdd0; }

.internal-site .surface-parchment .siege-note { margin: 16px 2px 0; color: var(--paper-muted); font-size: 12px; text-align: center; }

@media (max-width: 760px) {
  .internal-site .surface-parchment .siege-table { min-width: 560px; }
  .internal-site .surface-parchment .siege-tab { flex-basis: 100%; }
}
.internal-site .internal-progress {
  position: fixed;
  left: 58px;
  top: 50%;
  z-index: 55;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  background: transparent;
}
.internal-site .internal-progress a {
  min-width: 142px;
  height: 31px;
  padding: 0;
  display: grid;
  grid-template-columns: 31px 1fr;
  align-items: center;
  gap: 8px;
  color: rgba(189, 199, 191, .46) !important;
  text-align: left;
  text-decoration: none;
  background: transparent;
  transition: color .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}
.internal-site .internal-progress a img {
  width: 29px;
  height: 22px;
  object-fit: contain;
  opacity: .38;
  filter: grayscale(.72) saturate(.5) brightness(.72);
  transform: scale(.82);
  transform-origin: left center;
  transition: opacity .6s cubic-bezier(.16,1,.3,1), filter .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);
}
.internal-site .internal-progress a span {
  visibility: hidden;
  font: 500 10px/1 var(--l2-ui);
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .62;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .92);
  transition: opacity .55s cubic-bezier(.16,1,.3,1), color .55s cubic-bezier(.16,1,.3,1), text-shadow .55s cubic-bezier(.16,1,.3,1);
}
.internal-site .internal-progress a:hover { color: #e8cf8b !important; transform: translateX(3px); }
.internal-site .internal-progress a:hover img { opacity: .82; filter: saturate(.92) brightness(.96); transform: scale(.96); }
.internal-site .internal-progress a.active { color: #fff1bc !important; transform: translateX(5px); }
.internal-site .internal-progress a.active img {
  opacity: 1;
  filter: saturate(1.1) brightness(1.16) drop-shadow(0 0 5px rgba(255,196,64,.88)) drop-shadow(0 0 9px rgba(53,198,107,.34));
  transform: scale(1.08);
}
.internal-site .internal-progress a.active span { opacity: 1; text-shadow: 0 0 8px rgba(226,181,75,.48), 0 1px 3px #000; }
.internal-site .social-rail {
  position: fixed;
  left: 16px;
  top: 50%;
  z-index: 56;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 26px 0;
  transform: translateY(-50%);
}
.internal-site .social-rail::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--line-2) 12%, var(--line-2) 88%, transparent);
}
.internal-site .social-rail a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--ink-dim) !important;
  background: radial-gradient(circle at 50% 35%, rgba(20, 32, 25, .95), rgba(8, 14, 10, .98));
  border: 1px solid var(--line-2);
  border-radius: 50%;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, .5), 0 4px 10px rgba(0, 0, 0, .4);
  transition: color .2s, border-color .2s, box-shadow .2s, transform .2s;
}
.internal-site .social-rail a:hover {
  color: #fff !important;
  border-color: var(--green);
  transform: translateX(4px);
  box-shadow: 0 0 16px var(--green-glow), inset 0 0 12px rgba(53, 198, 107, .2);
}
.internal-site .social-rail a svg { width: 18px; height: 18px; }

@media (max-width: 1000px) {
  .internal-site .top { min-height: 69px; }
  .internal-site .top-row,
  .internal-site .subnav,
  .internal-site .top-actions { display: none; }
  .internal-site .internal-progress { display: none; }
  .internal-site .brand-left { top: 11px; width: auto; }
  .internal-site .burger { display: flex; }
  .internal-site .internal-main { padding-top: 118px; }
}

@media (max-width: 900px) {
  .internal-site .social-rail { display: none; }
}

@media (max-width: 850px) {
  .internal-site .siege-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body.internal-site { font-size: 16px; }
  .internal-site .internal-main { padding: 91px 10px 38px; }
  .internal-site .internal-page-content { padding: 21px 15px; border-left: 0; border-right: 0; }
  .internal-site .internal-footer__inner { display: flex; flex-direction: column; text-align: center; }
  .internal-site .internal-footer__links { justify-content: center; gap: 14px 20px; }
  .internal-site table.default { display: block; overflow-x: auto; white-space: nowrap; }
  .internal-site .fullGallery,
  .internal-site .download-grid,
  .internal-site .feature-grid,
  .internal-site .world-grid,
  .internal-site .news-grid { grid-template-columns: 1fr !important; }
  .internal-site .knowledge-directory { grid-template-columns: 1fr; }
  .internal-site .portal-heading { width: calc(100% - 22px); padding: 20px 18px; }
  .internal-site .portal-heading::before { left: -7px; }
  .internal-site .portal-heading::after { right: -7px; }
  .internal-site .auth-gate { align-items: flex-start; flex-direction: column; }
  .internal-site .shop-grid,
  .internal-site .streamer-grid,
  .internal-site .streamer-form__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .internal-site .siege-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .internal-site *,
  .internal-site *::before,
  .internal-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .internal-site #embers { display: none; }
}

/* Cursor de clique — no final do arquivo de propósito, para vencer os "cursor: pointer"
   já declarados nos componentes (.lang-btn, .btn, .btn-account, summary etc.) */
.internal-site a,
.internal-site button,
.internal-site .btn,
.internal-site .lang-btn,
.internal-site .btn-account,
.internal-site summary,
.internal-site input[type="submit"],
.internal-site input[type="button"],
.internal-site [role="button"],
.internal-site [onclick] {
  cursor: url('../home_assets/cursor-hand-silver-gold.png?v1') 3 2, pointer !important;
}

/* Base de conhecimento: grade responsiva de categorias. */
.internal-site .kb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1000px) { .internal-site .kb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .internal-site .kb-grid { grid-template-columns: 1fr; } }
.internal-site .kb-tile { display: flex; align-items: center; justify-content: center; min-height: 64px; text-align: center; }
.internal-site .kb-tile__title { font: 600 15px/1.3 var(--font-head); letter-spacing: .04em; color: var(--heading); }
.internal-site .kb-soon { margin: 20px 2px 0; color: var(--ink-mut); font-size: 13px; text-align: center; }

/* Boss Status: painéis empilhados. */
.internal-site .boss-stack { display: grid; gap: 24px; }

/* Olympiad: filtros, contexto e tabelas do Design System. */
.internal-site .oly-toolbar { display: flex; align-items: flex-end; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 18px 20px 0; }
.internal-site .oly-toolbar__field { min-width: 220px; }
.internal-site .oly-context { margin: 0; padding: 16px 20px; color: var(--ink); text-align: center; }
.internal-site .oly-context small { display: block; margin-top: 3px; color: var(--ink-dim); }
.internal-site .oly-panel > .l2-tablewrap { border-top: 1px solid var(--line); }

/* Shop: aviso de acesso e cartões de categoria. */
.internal-site .shop-ds { display: grid; gap: 24px; }
.internal-site .shop-gate { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.internal-site .shop-gate__text p { margin: 8px 0 0; color: var(--ink-dim); }
.internal-site .shop-gate__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.internal-site .shop-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-height: 160px; }
.internal-site .shop-tile__title { margin: 0; font: 600 18px/1.3 var(--font-head); letter-spacing: .04em; color: var(--heading); }
.internal-site .shop-tile__desc { margin: 0; color: var(--ink-dim); font-size: 15px; }
.internal-site .shop-tile .l2-tag { margin-top: auto; }
.internal-site .shop-tile.is-locked { opacity: .85; }

/* NX Starter Packs — correção localizada da vitrine comercial. */
.internal-site .parchment-page--donations {
  padding: clamp(52px, 5vw, 68px) clamp(58px, 6.2vw, 86px);
}
.internal-site .parchment-page--donations .l2-pagehead--parchment { padding-bottom: 12px; }
.internal-site .nx-shop { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; width: 100%; min-width: 0; }

/* Vitrine da futura loja física: segue o MESMO padrão e tamanho da faixa do
   NX Newbie (moldura, arte de 96 px, espaçamento e altura). É um <section>:
   neutraliza o `section{}` legado do global.css (width:1010px, padding, fundo). */
.internal-site .nx-merch {
  display: grid;
  grid-template-columns: 96px minmax(0,1fr) auto;
  grid-template-areas: "art copy soon";
  align-items: center;
  column-gap: 18px;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 10px 18px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  background: rgba(255,247,221,.2);
  border: 1px solid rgba(166,124,34,.5);
  border-radius: 0;
  box-shadow: 0 8px 18px rgba(74,42,10,.08), inset 0 1px rgba(255,255,255,.45);
}
.internal-site .nx-merch__art { grid-area: art; width: 96px; height: 96px; display: flex; align-items: center; justify-content: center; }
.internal-site .nx-merch__art img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100% !important; /* vence o `article img{max-width:500px!important}` do global.css */
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 9px rgba(59,34,9,.18));
}
.internal-site .nx-merch__copy { grid-area: copy; min-width: 0; text-align: left; }
.internal-site .nx-merch__brand { margin: 0 0 3px; color: #2f6b42; font: 600 10px/1.2 var(--font-ui); letter-spacing: .22em; text-transform: uppercase; }
.internal-site .nx-merch__title { margin: 0; padding: 0; color: #2f1c0b; font: 600 clamp(17px,1.6vw,20px)/1.2 var(--font-head); letter-spacing: .08em; }
.internal-site .nx-merch__tagline { margin: 3px 0 0; color: #5a3613; font: 600 14px/1.3 var(--font-head); letter-spacing: .02em; }
.internal-site .nx-merch__text { margin: 3px 0 0; color: #65451f; font-size: 13px; line-height: 1.4; }
.internal-site .nx-merch__soon { grid-area: soon; margin: 0; min-width: 190px; text-align: center; }
.internal-site .nx-merch__soon span {
  display: inline-block;
  padding: 7px 16px;
  color: #6a431a;
  border: 1px solid rgba(104,65,21,.5);
  border-radius: 999px;
  font: 600 10.5px/1 var(--font-ui);
  letter-spacing: .24em;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .internal-site .nx-merch { grid-template-columns: 96px minmax(0,1fr); grid-template-areas: "art copy" "art soon"; row-gap: 8px; }
  .internal-site .nx-merch__soon { min-width: 0; text-align: left; }
}
@media (max-width: 520px) {
  .internal-site .nx-merch { grid-template-columns: minmax(0,1fr); grid-template-areas: "art" "copy" "soon"; justify-items: center; padding: 14px; text-align: center; }
  .internal-site .nx-merch__art { width: 100%; height: 110px; }
  .internal-site .nx-merch__copy { text-align: center; }
  .internal-site .nx-merch__soon { text-align: center; }
}

.internal-site .nx-shop-gate {
  /* É um <section>: sem isto herda width:1010px do `section{}` legado
     do global.css e estoura a largura do pergaminho. */
  width: auto;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 12px 16px;
  color: #392511;
  background: rgba(255,244,210,.26);
  border: 1px solid rgba(104,65,21,.3);
  box-shadow: inset 0 1px rgba(255,255,255,.55), 0 8px 18px rgba(83,48,12,.07);
}
.internal-site .nx-shop-gate__copy { max-width: 620px; }
.internal-site .nx-shop-gate__eyebrow { margin: 0 0 4px; color: #2f6b42; font: 600 10px/1.2 var(--font-ui); letter-spacing: .18em; text-transform: uppercase; }
.internal-site .nx-shop-gate h2 { margin: 0; color: #321f0e; font: 600 21px/1.2 var(--font-head); }
.internal-site .nx-shop-gate__copy > p:last-child { margin: 4px 0 0; color: #65451f; font-size: 14px; }
.internal-site .nx-shop-gate__actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.internal-site .nx-shop-btn,
.internal-site .nx-pack-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  box-sizing: border-box;
  padding: 0 18px;
  color: #f7ead0;
  text-decoration: none;
  text-transform: uppercase;
  font: 600 11px/1 var(--font-ui);
  letter-spacing: .12em;
  background: #4b3014;
  border: 1px solid rgba(76,44,13,.72);
  border-radius: 3px;
  box-shadow: inset 0 1px rgba(255,255,255,.15);
  cursor: pointer;
  transition: transform .42s cubic-bezier(.16,1,.3,1), filter .42s cubic-bezier(.16,1,.3,1), background .42s cubic-bezier(.16,1,.3,1);
}
.internal-site .nx-shop-btn:hover,
.internal-site .nx-pack-card__action:hover { color: #fff4d5; filter: brightness(1.08); transform: translateY(-1px); }
.internal-site .nx-shop-btn:active,
.internal-site .nx-pack-card__action:active { transform: scale(.985); }
.internal-site .nx-shop-btn--primary { background: #15583c; border-color: #287755; }
.internal-site .nx-shop-btn--secondary { color: #513514; background: rgba(255,244,210,.35); border-color: rgba(104,65,21,.42); }

/* Recargas NX Coin: 1 moeda (Newbie, faixa própria) + 6 baús em grade 3x2.
   Cartões são <article>: isolados do `article{float;width:500px}` do global.css. */
.internal-site .nx-pack-featured { display: block; min-width: 0; }
.internal-site .nx-pack-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.internal-site .nx-pack-card {
  --pack-accent: #9a642c;
  --pack-line: rgba(128,82,31,.48);
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: rgba(255,247,221,.2);
  border: 1px solid var(--pack-line);
  box-shadow: 0 8px 18px rgba(74,42,10,.08), inset 0 1px rgba(255,255,255,.45);
  transition: border-color .35s ease, box-shadow .35s ease;
}
.internal-site .nx-pack-card--newbie    { --pack-accent: #a67c22; --pack-line: rgba(166,124,34,.5); }
.internal-site .nx-pack-card--bronze    { --pack-accent: #9a642c; --pack-line: rgba(128,82,31,.5); }
.internal-site .nx-pack-card--silver    { --pack-accent: #7c8588; --pack-line: rgba(94,105,109,.55); }
.internal-site .nx-pack-card--gold      { --pack-accent: #b27a18; --pack-line: rgba(178,122,24,.62); }
.internal-site .nx-pack-card--platinum  { --pack-accent: #5d7480; --pack-line: rgba(74,100,112,.58); }
.internal-site .nx-pack-card--royal     { --pack-accent: #8c3b2e; --pack-line: rgba(140,59,46,.55); }
.internal-site .nx-pack-card--legendary { --pack-accent: #a2741a; --pack-line: rgba(162,116,26,.78); box-shadow: 0 10px 22px rgba(109,69,12,.16), inset 0 1px rgba(255,255,255,.5); }
.internal-site .nx-pack-card:hover { border-color: var(--pack-accent); box-shadow: 0 11px 22px rgba(74,42,10,.13), inset 0 1px rgba(255,255,255,.5); }
.internal-site .nx-pack-card__core { position: relative; height: 100%; display: flex; flex-direction: column; min-width: 0; }

/* Arte: altura fixa + object-fit:contain, para nunca estourar o cartão. */
.internal-site .nx-pack-card__art {
  box-sizing: border-box;
  height: clamp(132px, 15vw, 176px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px 0;
  overflow: hidden;
}
.internal-site .nx-pack-card__art img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100% !important; /* vence o `article img{max-width:500px!important}` do global.css */
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 9px rgba(59,34,9,.18));
  transition: transform .65s cubic-bezier(.16,1,.3,1);
}
.internal-site .nx-pack-card:hover .nx-pack-card__art img { transform: translateY(-2px) scale(1.015); }
.internal-site .nx-pack-card__art--pending {
  margin: 12px 16px 0;
  padding: 0;
  height: clamp(120px, 14vw, 164px);
  border: 1px dashed rgba(104,65,21,.38);
  background: rgba(255,244,210,.14);
}
.internal-site .nx-pack-card__art--pending span { color: #8a6a43; font: 600 10px/1.2 var(--font-ui); letter-spacing: .16em; text-transform: uppercase; }

.internal-site .nx-pack-card__content { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 4px 14px 14px; text-align: center; }
.internal-site .nx-pack-card h2 { min-height: 0; display: block; margin: 4px 0 0; color: #2f1c0b; font: 600 clamp(15px,1.4vw,18px)/1.2 var(--font-head); letter-spacing: .025em; }
.internal-site .nx-pack-card__price { margin: 6px 0 4px; color: #5a3613; font: 700 clamp(22px,2.2vw,29px)/1 var(--font-head); }
.internal-site .nx-pack-card__price span { font: 600 12px/1 var(--font-ui); letter-spacing: .08em; }
.internal-site .nx-pack-card__coins { margin: 0 0 8px; color: #3b2410; font: 600 14px/1.2 var(--font-head); letter-spacing: .03em; }
.internal-site .nx-pack-card__coins b { font-size: 19px; color: #2f1c0b; }
.internal-site .nx-pack-card__bonus {
  display: inline-block;
  margin: 0 0 10px;
  padding: 5px 10px;
  color: #fff0bf;
  background: #805618;
  border: 1px solid rgba(255,221,137,.55);
  border-radius: 999px;
  font: 600 9.5px/1 var(--font-ui);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.internal-site .nx-pack-card__action { width: 100%; margin-top: auto; background: #563716; }
.internal-site .nx-pack-card__action[disabled] { opacity: .72; cursor: not-allowed; transform: none; filter: none; }
.internal-site .nx-shop-note { margin: 0; color: #745535; font-size: 11px; line-height: 1.45; text-align: center; }

/* Newbie: faixa compacta (moeda | nome, preço e NX Coin | botão). */
.internal-site .nx-pack-card--newbie .nx-pack-card__core { flex-direction: row; align-items: center; gap: 18px; padding: 10px 18px; }
.internal-site .nx-pack-card--newbie .nx-pack-card__art { flex: 0 0 auto; width: 96px; height: 96px; padding: 0; }
.internal-site .nx-pack-card--newbie .nx-pack-card__content {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "name action" "price action" "coins action";
  align-items: center;
  column-gap: 20px;
  padding: 0;
  text-align: left;
}
.internal-site .nx-pack-card--newbie h2 { grid-area: name; margin: 0; }
.internal-site .nx-pack-card--newbie .nx-pack-card__price { grid-area: price; margin: 4px 0 2px; font-size: 24px; }
.internal-site .nx-pack-card--newbie .nx-pack-card__coins { grid-area: coins; margin: 0; }
.internal-site .nx-pack-card--newbie .nx-pack-card__action { grid-area: action; width: auto; min-width: 190px; margin: 0; }

@media (max-width: 860px) {
  .internal-site .parchment-page--donations { padding: 54px 46px; }
  .internal-site .nx-pack-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .internal-site .parchment-page--donations { padding: 46px 26px; }
  .internal-site .nx-shop-gate { align-items: flex-start; flex-direction: column; }
  .internal-site .nx-shop-gate__actions,
  .internal-site .nx-shop-btn { width: 100%; }
}
@media (max-width: 520px) {
  .internal-site .nx-pack-grid { grid-template-columns: 1fr; }
  .internal-site .nx-pack-card__art { height: 168px; }
  .internal-site .nx-pack-card--newbie .nx-pack-card__core { flex-direction: column; text-align: center; padding: 14px; }
  .internal-site .nx-pack-card--newbie .nx-pack-card__art { width: 100%; height: 110px; }
  .internal-site .nx-pack-card--newbie .nx-pack-card__content { display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; }
  .internal-site .nx-pack-card--newbie .nx-pack-card__action { width: 100%; margin-top: 12px; }
}


/* Registro na mesma superfície envelhecida de Castle & Sieges. */
.internal-site .register-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap: 18px; align-items: start; }
.internal-site .register-grid__form .l2-field { margin-bottom: 18px; }
.internal-site .register-grid__rules { font-size: 15px; line-height: 1.6; }
.internal-site .parchment-page--register .register-grid__form,
.internal-site .parchment-page--register .register-grid__rules { min-width: 0; overflow: visible; }
.internal-site .parchment-page--register .register-grid__rules { max-height: none; color: var(--paper-ink) !important; }
.internal-site .parchment-page--register .register-grid__rules h2,
.internal-site .parchment-page--register .register-grid__rules font { color: var(--paper-ink) !important; }
.internal-site .parchment-page--register .register-grid__rules .pddInner { height: auto; max-height: none; overflow: visible; padding: 0; color: var(--paper-ink); }
.internal-site .parchment-page--register .l2-notice { color: var(--paper-ink); background: rgba(255,244,210,.28); border-color: rgba(104,65,21,.3); }
.internal-site .parchment-page--register .l2-notice b,
.internal-site .parchment-page--register .l2-lede { color: var(--paper-ink); }
.internal-site .parchment-page--register .registerForm > .l2-btn { margin-top: 8px; }
@media (max-width: 900px) { .internal-site .parchment-page--register .register-grid { grid-template-columns: 1fr; } }

/* Aviso base (.l2-notice) e variante de erro. O bloco do pergaminho acima
   só troca cor/fundo; sem esta regra o aviso não tinha borda nem espaçamento. */
.internal-site .l2-notice {
  display: block;
  box-sizing: border-box;
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid var(--line-2, rgba(120, 180, 140, .4));
  border-radius: var(--radius-6, 6px);
  background: rgba(10, 18, 13, .55);
  color: var(--ink, #d8e2da);
  line-height: 1.5;
}
.internal-site .l2-notice.l2-notice--danger {
  border-color: rgba(220, 80, 65, .5);
  background: rgba(190, 50, 40, .16);
  color: #ff9a8a;
}
.internal-site .parchment-page--register .l2-notice.l2-notice--danger {
  border-color: rgba(150, 40, 28, .55);
  background: rgba(150, 40, 28, .12);
  color: #7a1d14;
  font-weight: 600;
}
