:root {
  --bg-dark: #0a1218;
  --text: #eef4fb;
  --muted: #b8c4d1;
  --gold: #d8b56f;
  --gold-2: #f1dca3;
  --green: #60cb77;
  --line: rgba(245, 221, 163, 0.28);
  --panel: rgba(9, 18, 28, 0.6);
  --panel-soft: rgba(9, 18, 28, 0.5);
  --shadow: 0 14px 30px rgba(0, 0, 0, 0.34);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: "Rajdhani", "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg-dark);
  padding: 12px;
  font-size: 13px;
}

.bg-layer,
.bg-shade {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.bg-layer {
  z-index: -2;
  background: url("/templates/tibiacom/images/header/background.png") center/cover no-repeat;
}

.bg-shade {
  z-index: -1;
  display: none;
}

.site-stage {
  width: min(1220px, 100%);
  margin-inline: auto;
}

.site-header {
  display: flex;
  justify-content: center;
}

.mobile-nav-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  border-radius: 8px;
  border: 1px solid rgba(54, 37, 15, 0.55);
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
  color: #f1f6ff;
  font: 700 13px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.2px;
  padding: 0 12px;
  cursor: pointer;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.28);
}

.mobile-nav-toggle-icon {
  width: 16px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  position: relative;
  display: inline-block;
}

.mobile-nav-toggle-icon::before,
.mobile-nav-toggle-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 16px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}

.mobile-nav-toggle-icon::before {
  top: -5px;
}

.mobile-nav-toggle-icon::after {
  top: 5px;
}

body.mobile-menu-open .mobile-nav-toggle-icon {
  background: transparent;
}

body.mobile-menu-open .mobile-nav-toggle-icon::before {
  top: 0;
  transform: rotate(45deg);
}

body.mobile-menu-open .mobile-nav-toggle-icon::after {
  top: 0;
  transform: rotate(-45deg);
}

.mobile-nav-backdrop {
  display: none;
}

.site-logo {
  display: inline-flex;
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 0;
  border: 0;
  background: transparent;
}

.site-logo img {
  width: clamp(190px, 24vw, 340px);
  height: auto;
}

.columns {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 200px;
  gap: 10px;
  align-items: start;
}

.columns>* {
  min-width: 0;
}

.side-left,
.side-right {
  position: sticky;
  top: 10px;
  display: grid;
  gap: 10px;
}

.card {
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  padding: 10px;
}

.glass {
  background: var(--panel);
  backdrop-filter: blur(8px);
}

.card h2,
.content-box h2 {
  margin: 0 0 8px;
  font: 700 18px/1 "Cinzel", serif;
  color: var(--gold-2);
}

.boosted-creatures-title {
  font: 700 15px/1 "Cinzel", serif;
  color: var(--gold-2);

}

.login-card {
  display: grid;
  gap: 8px;
}

.btn,
.menu-link {
  display: block;
  width: 100%;
  min-height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  padding: 8px 10px;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.14s ease;
}

.btn:hover,
.menu-link:hover {
  border-color: rgba(216, 181, 111, 0.86);
  background: rgba(216, 181, 111, 0.15);
}

.btn-primary {
  text-align: center;
  color: #241807;
  background: linear-gradient(90deg, rgba(216, 181, 111, 0.95), rgba(241, 220, 163, 0.95));
  border-color: rgba(0, 0, 0, 0.12);
}

.btn-download {
  text-align: center;
  color: #eaf9ee;
  background: linear-gradient(90deg, rgba(26, 108, 41, 0.92), rgba(41, 140, 61, 0.92));
  border-color: rgba(111, 207, 137, 0.5);
}

.btn-danger {
  color: #ffecec;
  background: linear-gradient(180deg, #c34545 0%, #8f2b2b 100%);
  border-color: rgba(91, 24, 24, 0.6);
}

.menu-head {
  display: grid;
  gap: 8px;
}

.menu-head input {
  width: 100%;
  height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(5, 12, 18, 0.84);
  color: var(--text);
  padding: 0 10px;
  font: 600 12px/1 "Rajdhani", sans-serif;
  outline: none;
}

.menu-head input:focus {
  border-color: rgba(126, 206, 255, 0.95);
  box-shadow: 0 0 0 3px rgba(126, 206, 255, 0.2);
}

.menu-groups {
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

.menu-group {
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 9px;
  background: var(--panel-soft);
  overflow: hidden;
}

.menu-group summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 9px 28px 9px 9px;
  font: 700 13px/1 "Cinzel", serif;
  color: #e7edf3;
}

.menu-group summary::-webkit-details-marker {
  display: none;
}

.menu-group summary::marker {
  content: "";
}

.menu-group summary::after {
  content: "\25BE";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(231, 237, 243, 0.92);
  font-size: 11px;
  line-height: 1;
}

.menu-group[open] summary::after {
  content: "\25B4";
}

.menu-group nav {
  padding: 0 8px 8px;
}

.menu-link+.menu-link {
  margin-top: 6px;
}

.side-left .card {
  border-radius: 10px;
  border: 1px solid rgba(118, 88, 43, 0.92);
  background: linear-gradient(180deg, rgba(237, 216, 176, 0.88), rgba(209, 181, 134, 0.88));
  box-shadow:
    inset 0 0 0 1px rgba(255, 241, 210, 0.4),
    0 10px 22px rgba(0, 0, 0, 0.32);
  backdrop-filter: none;
}

.side-left .card h2 {
  margin: -10px -10px 10px;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(178, 135, 68, 0.95);
  border-radius: 10px 10px 8px 8px;
  background: linear-gradient(180deg, #28588f 0%, #203f67 100%);
  color: #f1e8c6;
  font: 700 17px/1 "Cinzel", serif;
  letter-spacing: 0.3px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
}

.side-left .login-card {
  padding: 10px;
  gap: 7px;
}

.side-left .login-card h2 {
  justify-content: flex-start;
  text-align: left;
  padding-left: 12px;
}

.side-left .login-card .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 0;
  border: 1px solid rgba(54, 37, 15, 0.55);
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #f2ecdf;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.side-left .login-card .btn-primary {
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
}

.side-left .login-card .btn:not(.btn-primary):not(.btn-download) {
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
}

.side-left .login-card .btn-download {
  margin-top: 2px;
  border-radius: 0;
  background: linear-gradient(180deg, #25752b 0%, #1d5c21 100%);
}

.side-left .login-card .btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.side-left .menu-card {
  padding: 8px;
}

.side-left .menu-head h2 {
  margin-bottom: 6px;
}

.side-left .menu-card h2 {
  justify-content: flex-start;
  text-align: left;
  padding-left: 12px;
}

.side-left .menu-head input {
  height: 29px;
  border-radius: 4px;
  border: 1px solid rgba(120, 84, 34, 0.66);
  background: rgba(255, 241, 211, 0.52);
  color: #2d2413;
  font-size: 12px;
}

.side-left .menu-head input::placeholder {
  color: rgba(58, 41, 17, 0.7);
}

.side-left .menu-group {
  border: 1px solid rgba(185, 140, 72, 0.95);
  border-radius: 9px;
  background: transparent;
  overflow: visible;
}

.side-left .menu-group summary {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: 8px;
  border: 1px solid rgba(171, 127, 62, 0.95);
  background: linear-gradient(180deg, #315f8f 0%, #23476f 100%);
  color: #efe2bc;
  font-size: 15px;
  padding-left: 12px;
  letter-spacing: 0.2px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 227, 166, 0.22);
}

.side-left .menu-group summary::after {
  right: 10px;
  color: #f0ddaa;
  font-size: 12px;
}

.side-left .menu-group summary:hover {
  background: linear-gradient(180deg, #3b6e9f 0%, #29547f 100%);
  border-color: rgba(216, 176, 100, 0.98);
}

.side-left .menu-group nav {
  margin-top: 4px;
  padding: 8px;
  border: 1px solid rgba(173, 133, 74, 0.75);
  border-radius: 0 0 8px 8px;
  background:
    linear-gradient(180deg, rgba(237, 216, 177, 0.95), rgba(226, 202, 160, 0.95));
}

.side-left .menu-link {
  min-height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #382b18;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  padding: 6px 2px 6px 20px;
  position: relative;
}

.side-left .menu-link::before {
  content: "\203A";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  color: #8c6d3d;
  font-size: 18px;
  font-weight: 700;
}

.side-left .menu-link:hover {
  background: rgba(79, 131, 78, 0.14);
  color: #2f6131;
}

.side-left .menu-link.is-active {
  background: rgba(79, 131, 78, 0.24);
  color: #1f4c24;
  font-weight: 700;
}

.side-left .menu-link.is-active::before {
  color: #3f7f43;
}

.center-content {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.icon-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(113, 136, 255, 0.45);
  background: linear-gradient(90deg, rgba(31, 45, 144, 0.74), rgba(35, 28, 92, 0.74));
  backdrop-filter: blur(4px);
}

.icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  text-decoration: none;
  color: #eef4ff;
  font-size: 12px;
  font-weight: 600;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.icon-link:last-child {
  border-right: 0;
}

.icon-link:hover {
  color: #fff8d7;
}

.icon {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.content-box {
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(13, 25, 37, 0.72);
  backdrop-filter: blur(4px);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.content-box.news-box {
  min-height: 500px;
}

.content-box>header {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(90deg, rgba(35, 96, 30, 0.78), rgba(23, 67, 20, 0.78));
}

.content-box>header h2 {
  margin: 0;
  line-height: 1;
  display: flex;
  align-items: center;
}

.updates-accordion {
  background: rgba(248, 239, 220, 0.9);
  color: #2d2617;
  padding: 6px 10px 10px;
}

.update-item {
  border-bottom: 1px solid rgba(56, 46, 26, 0.18);
}

.update-item:last-child {
  border-bottom: 0;
}

.update-item summary {
  list-style: none;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px;
  position: relative;
  padding: 7px 16px 7px 0;
  cursor: pointer;
  font-size: 12px;
  border-radius: 5px;
  transition: background 0.16s ease;
}

.update-item summary::-webkit-details-marker {
  display: none;
}

.update-item summary::marker {
  content: "";
}

.update-item summary::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid rgba(90, 74, 43, 0.9);
  border-bottom: 2px solid rgba(90, 74, 43, 0.9);
  transform: translateY(-50%) rotate(-45deg);
  transition: transform 0.18s ease;
}

.update-item[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.update-item time {
  color: #5a4a2b;
  font-weight: 700;
}

.update-item summary:hover {
  background: rgba(56, 46, 26, 0.08);
}

.updates-box>header {
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.update-content {
  padding: 0 0 8px 94px;
}

.update-content p {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}

.news-box>header {
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.news-body {
  background: #d7c7aa;
  color: #5A2800;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.news-title-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  margin-bottom: 10px;
}

.news-title-row img {
  width: 19px;
  height: 19px;
  image-rendering: auto;
}

.news-title-row h3 {
  margin: 0;
  font: 700 18px/1.1 "Rajdhani", sans-serif;
  color: #1380cc;
  letter-spacing: 0.1px;
}

.news-content p {
  margin: 0 0 9px;
  font-size: 14px;
  line-height: 1.56;
  color: #5A2800;
}

.news-content {
  background: #f2e7d3;
  border: 1px solid rgba(122, 105, 63, 0.35);
  border-radius: 6px;
  padding: 14px 14px 8px;
  margin: 0 0 10px;
}

.news-content p:last-child {
  margin-bottom: 0;
}

.news-content ul,
.news-content ol {
  margin: 0 0 10px 18px;
  padding: 0;
  color: #5A2800;
  font-size: 14px;
}

.news-content li {
  margin-bottom: 4px;
}

.news-content a {
  color: #0e5ba1;
  text-decoration: underline;
}

.news-content img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 10px auto;
  border-radius: 6px;
}

.news-highlight {
  color: #3d2f19;
  font-weight: 700;
}

.news-divider {
  position: relative;
  height: 16px;
  margin: 12px 0 14px;
}

.news-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 2px solid #7a693f;
  opacity: 0.72;
}

.news-divider span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translate(-50%, -50%) rotate(45deg);
  border-radius: 2px;
  border: 2px solid #7a693f;
  background: #f2e7d3;
}

.news-media {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 9px;
  border: 1px solid rgba(59, 45, 24, 0.45);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
  text-decoration: none;
  width: 100%;
  margin: 0;
}

.news-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8, 10, 14, 0.58), rgba(8, 10, 14, 0.08));
}

.news-media img {
  display: block;
  width: 100%;
  max-height: 250px;
  object-fit: cover;
}

.news-media-play {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 1;
  color: #f2f6ff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  border-radius: 6px;
  background: rgba(10, 18, 36, 0.8);
  border: 1px solid rgba(184, 214, 255, 0.42);
  padding: 5px 8px;
}

.news-footnote {
  margin-bottom: 0 !important;
}

.v2-content-box>header {
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.content-box.v2-content-box {
  background: #d7c7aa;
  min-width: 0;
  max-width: 100%;
}

.v2-content-body {
  background: #f2e7d3;
  color: #5A2800;
  border: 1px solid rgba(122, 105, 63, 0.35);
  border-radius: 6px;
  padding: 14px;
  margin: 12px;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.v2-search-panel {
  border: 1px solid rgba(122, 105, 63, 0.42);
  border-radius: 8px;
  background: #f2e7d3;
  overflow: hidden;
  margin-bottom: 12px;
}

.v2-search-head {
  min-height: 38px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid rgba(122, 105, 63, 0.38);
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.v2-search-head h3 {
  margin: 0;
  color: #f1e8c6;
  font: 700 22px/1 "Cinzel", serif;
  text-transform: uppercase;
}

.v2-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px;
}

.v2-search-form input[type="text"] {
  height: 40px;
}

.v2-character-content {
  display: grid;
  gap: 10px;
  padding: 2px 12px 12px;
}

.v2-character-content>p {
  margin: 0;
  color: #5a2800;
  font-size: 14px;
}

.v2-character-section {
  border: 1px solid rgba(153, 119, 61, 0.7);
  border-radius: 8px;
  background: #f2e7d3;
  overflow: hidden;
}

.v2-character-section-title {
  margin: 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  color: #f1e8c6 !important;
  font: 700 21px/1 "Cinzel", serif;
  letter-spacing: 0.25px;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.v2-character-section-title,
.v2-character-section-title * {
  color: #f1e8c6 !important;
}

.v2-character-section-title::before {
  content: "";
}

.v2-character-content .v2-legacy-table,
.v2-character-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 10px;
  border: 1px solid rgba(122, 105, 63, 0.3);
  border-radius: 8px;
  overflow: hidden;
  background: #f2e7d3;
}

.v2-character-content .v2-character-section-table {
  margin: 0;
  border: 0;
  border-radius: 0;
}

.v2-character-content .v2-legacy-table th,
.v2-character-content .v2-legacy-table td,
.v2-character-content table th,
.v2-character-content table td {
  background: #f2e7d3;
  border: 0;
  border-bottom: 1px solid rgba(122, 105, 63, 0.2);
  padding: 4px 8px;
  line-height: 1.2;
  text-align: left;
  vertical-align: middle;
  color: #5a2800;
}

.v2-character-content .v2-legacy-table tr:last-child>td,
.v2-character-content table tr:last-child>td {
  border-bottom: 0;
}

.v2-character-content .v2-legacy-table tr:first-child>td,
.v2-character-content table tr:first-child>td {
  font-weight: 700;
  color: #4b290e;
  background: #f2e7d3;
}

.v2-character-content .v2-legacy-table td+td,
.v2-character-content .v2-legacy-table th+th,
.v2-character-content table td+td,
.v2-character-content table th+th {
  border-left: 0;
}

.v2-character-content .v2-legacy-table td:first-child {
  color: #6a3f1c;
  font-weight: 600;
}

.v2-character-content .v2-character-section-table th:first-child,
.v2-character-content .v2-character-section-table td:first-child {
  width: 185px;
}

.v2-character-content img[src*="blank.gif"] {
  display: none;
}

.v2-character-content .v2-legacy-form {
  display: inline;
  margin: 0;
}

.v2-character-content .v2-legacy-view-btn {
  min-height: 26px;
  min-width: 74px;
  border-radius: 6px;
  border: 1px solid rgba(54, 37, 15, 0.4);
  padding: 0 13px;
  font-size: 12px;
  font-weight: 700;
  color: #f1f6ff;
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
  cursor: pointer;
}

.v2-character-content .v2-legacy-view-btn:hover {
  filter: brightness(1.05);
}

.v2-character-content .v2-character-section-characters .v2-character-section-table tr td:last-child {
  text-align: right;
}

.v2-character-content .v2-character-section-characters .v2-character-section-table tr td:last-child .v2-legacy-table {
  margin-left: auto;
  margin-right: 0;
}

.v2-character-content .v2-character-section-characters .v2-character-section-table td {
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.2;
}

.v2-character-content .v2-character-inline-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.v2-character-content .v2-character-inline-part {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.v2-character-content .v2-character-inline-part:last-child:not(:first-child) {
  margin-left: auto;
}

.v2-character-content .v2-character-section-characters .v2-legacy-view-btn {
  min-height: 28px;
  min-width: 84px;
  padding: 0 14px;
}

.v2-character-content .v2-character-section-outfits .v2-outfits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
  padding: 12px;
}

.v2-character-content .v2-character-section-outfits .v2-outfit-card {
  border: 1px solid rgba(122, 105, 63, 0.35);
  border-radius: 8px;
  background: #f2e7d3;
  min-height: 120px;
  padding: 8px 6px;
  text-align: center;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 4px;
}

.v2-character-content .v2-character-section-outfits .v2-outfit-card img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.v2-character-content .v2-character-section-outfits .v2-outfit-card h4 {
  margin: 0;
  font: 700 13px/1.2 "Rajdhani", sans-serif;
  color: #5a2800;
}

.v2-character-content .v2-character-section-outfits .v2-outfit-card p {
  margin: 0;
  font-size: 12px;
  color: #6a3f1c;
}

.v2-content-body-legacy {
  color: #5A2800;
  font-size: 13px;
  line-height: 1.4;
  padding: 14px
}

.v2-content-body-legacy h1,
.v2-content-body-legacy h2,
.v2-content-body-legacy h3,
.v2-content-body-legacy h4 {
  color: #4d2910;
  font: 700 18px/1.2 "Rajdhani", sans-serif;
}

.v2-content-body-legacy p {
  margin: 0 0 10px;
}

.v2-content-body-legacy img {
  max-width: 100%;
  height: auto;
}

.v2-content-body-legacy .v2-legacy-form {
  margin: 0 0 12px;
}

.v2-content-body-legacy .v2-legacy-field,
.v2-content-body-legacy input[type="text"],
.v2-content-body-legacy input[type="number"],
.v2-content-body-legacy input[type="email"],
.v2-content-body-legacy input[type="password"],
.v2-content-body-legacy select {
  min-height: 34px;
  border-radius: 6px;
  border: 1px solid rgba(121, 89, 51, 0.45);
  background: rgba(255, 249, 236, 0.95);
  color: #3a240f;
  font-size: 13px;
  padding: 0 10px;
}

.v2-content-body-legacy .v2-legacy-btn,
.v2-content-body-legacy button,
.v2-content-body-legacy input[type="submit"] {
  min-height: 34px;
  border-radius: 7px;
  border: 1px solid rgba(54, 37, 15, 0.4);
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: #f1f6ff;
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
  cursor: pointer;
}

.v2-content-body-legacy .v2-legacy-btn:hover,
.v2-content-body-legacy button:hover,
.v2-content-body-legacy input[type="submit"]:hover {
  filter: brightness(1.04);
}

.v2-content-body-legacy .v2-legacy-table,
.v2-content-body-legacy table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid rgba(122, 105, 63, 0.35);
  border-bottom: 1px solid rgba(122, 105, 63, 0.35);
  border-left: 0;
  border-right: 0;
  background: rgba(255, 249, 236, 0.88);
  table-layout: auto;
}

.v2-content-body-legacy .v2-legacy-table th,
.v2-content-body-legacy .v2-legacy-table td,
.v2-content-body-legacy table th,
.v2-content-body-legacy table td {
  border-top: 1px solid rgba(122, 105, 63, 0.35);
  border-bottom: 1px solid rgba(122, 105, 63, 0.35);
  border-left: 0;
  border-right: 0;
  padding: 7px 8px;
  text-align: left;
  vertical-align: middle;
}

.v2-online-legacy .v2-legacy-form {
  display: block;
  width: 100%;
}

.v2-online-legacy .v2-legacy-form>.v2-legacy-table {
  width: 100%;
}

.v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table {
  width: 100%;
  table-layout: fixed;
}

.v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table td:nth-child(1) {
  width: 90px;
  white-space: nowrap;
}

.v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table td:nth-child(2) {
  width: auto;
}

.v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table td:nth-child(3) {
  width: 180px;
}

.v2-online-legacy .v2-legacy-form .v2-legacy-field,
.v2-online-legacy .v2-legacy-form input[type="text"] {
  width: 100%;
  min-width: 0;
}

.v2-online-legacy .v2-legacy-form .v2-legacy-btn,
.v2-online-legacy .v2-legacy-form input[type="submit"] {
  width: 100%;
}

@media (max-width: 720px) {

  .v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table,
  .v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table tbody,
  .v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table tr,
  .v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table td {
    display: block;
    width: 100% !important;
  }

  .v2-online-legacy .v2-legacy-form>.v2-legacy-table>tbody>tr:last-child>td>.v2-legacy-table td {
    border-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.v2-content-body-legacy a {
  color: #0e5ba1;
  text-decoration: none;
  font-weight: 700;
}

.v2-content-body-legacy a:hover {
  text-decoration: underline;
}

.v2-panel {
  border-radius: 8px;
  border: 1px solid rgba(118, 86, 41, 0.35);
  background: rgba(248, 239, 220, 0.58);
  padding: 12px;
  min-height: 500px;
  margin-bottom: 10px;
}

.v2-muted {
  margin: 0 0 10px;
  font-size: 13px;
  color: #5a2800;
}

.v2-alert {
  border-radius: 7px;
  border: 1px solid transparent;
  padding: 8px 10px;
  margin-bottom: 10px;
  font-size: 13px;
}

.v2-alert ul {
  margin: 0;
  padding-left: 16px;
}

.v2-alert p {
  margin: 6px 0 0;
}

.v2-alert-error {
  color: #721a1a;
  border-color: rgba(152, 32, 32, 0.45);
  background: rgba(255, 219, 219, 0.75);
}

.v2-alert-success {
  color: #1f4b1f;
  border-color: rgba(39, 116, 39, 0.45);
  background: rgba(214, 248, 214, 0.75);
}

.v2-form {
  display: grid;
  gap: 10px;
}

.v2-form label {
  display: grid;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: #4f2a0f;
}

.v2-form input[type="text"],
.v2-form input[type="email"],
.v2-form input[type="password"],
.v2-form textarea,
.v2-form select {
  height: 36px;
  border-radius: 6px;
  border: 1px solid rgba(121, 89, 51, 0.45);
  background: rgba(255, 249, 236, 0.92);
  color: #3a240f;
  font-size: 13px;
  padding: 0 10px;
  outline: none;
}

.v2-form input[type="text"]:focus,
.v2-form input[type="email"]:focus,
.v2-form input[type="password"]:focus,
.v2-form textarea:focus,
.v2-form select:focus {
  border-color: rgba(33, 96, 175, 0.72);
  box-shadow: 0 0 0 3px rgba(33, 96, 175, 0.16);
}

.v2-password-field {
  position: relative;
}

.v2-password-field input[type="password"],
.v2-password-field input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  padding-right: 42px;
}

.v2-password-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #6e5a3f;
  cursor: pointer;
  padding: 0;
}

.v2-password-toggle:hover {
  color: #2f78c9;
  background: rgba(47, 120, 201, 0.1);
}

.v2-password-toggle.is-active {
  color: #1f5a96;
}

.v2-password-toggle svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.v2-form textarea {
  min-height: 180px;
  height: auto;
  padding: 10px;
  resize: vertical;
  font-family: inherit;
}

.v2-grid {
  display: grid;
  gap: 10px;
}

.v2-grid.two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-subtitle {
  margin: 2px 0 2px;
  font: 700 15px/1.2 "Cinzel", serif;
  color: #5a2800;
}

.v2-inline-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.v2-inline-group>span {
  font-weight: 700;
  color: #4f2a0f;
}

.v2-check-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #4f2a0f;
}

.v2-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #4f2a0f;
}

.v2-form label.v2-check,
.v2-form label.v2-check-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.v2-form label.v2-check input[type="checkbox"],
.v2-form label.v2-check-inline input[type="checkbox"],
.v2-form label.v2-check-inline input[type="radio"] {
  margin: 0;
  flex: 0 0 auto;
}

.v2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.create-account-actions-right {
  justify-content: flex-end;
}

.v2-btn {
  min-height: 34px;
  border-radius: 7px;
  border: 1px solid rgba(54, 37, 15, 0.4);
  text-decoration: none;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.14s ease, filter 0.14s ease;
  cursor: pointer;
}

.v2-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.v2-btn-primary {
  color: #f1f6ff;
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
}

.v2-btn-soft {
  color: #f2ecdf;
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
}

.v2-btn-success {
  color: #f2fff5;
  background: linear-gradient(180deg, #1ab34b 0%, #10762f 100%);
}

.v2-btn-disabled {
  color: #f1e8d8;
  background: linear-gradient(180deg, #8e8374 0%, #756b5d 100%);
  opacity: 0.75;
  pointer-events: none;
}

.v2-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.v2-toolbar-right {
  margin-left: auto;
}

.v2-filter-form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
}

.v2-filter-form label {
  display: grid;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: #4f2a0f;
}

.v2-filter-form select,
.v2-filter-form input[type="text"] {
  min-width: 220px;
  height: 40px;
  border-radius: 7px;
  border: 1px solid rgba(121, 89, 51, 0.45);
  background: rgba(255, 249, 236, 0.95);
  color: #3a240f;
  font-size: 14px;
  padding: 0 12px;
}

.v2-filter-form select.v2-field-wide {
  min-width: 280px;
}

.v2-filter-form .v2-btn {
  min-height: 40px;
}

.v2-list {
  display: grid;
  gap: 10px;
}

.v2-list-item,
.v2-card-panel {
  border: 1px solid rgba(118, 86, 41, 0.35);
  border-radius: 8px;
  background: rgba(255, 249, 236, 0.88);
  padding: 12px;
}

.v2-list-item-title {
  margin: 0 0 6px;
  color: #4d2910;
  font: 700 15px/1.15 "Cinzel", serif;
}

.v2-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
  color: #6a3f1c;
  font-size: 13px;
  font-weight: 600;
}

.v2-text {
  margin: 8px 0 0;
  color: #5a2800;
  font-size: 14px;
  line-height: 1.5;
}

.v2-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.v2-badge-neutral {
  color: #4f2a0f;
  background: rgba(155, 128, 84, 0.18);
  border: 1px solid rgba(121, 89, 51, 0.25);
}

.v2-badge-success {
  color: #114a1d;
  background: rgba(105, 187, 106, 0.2);
  border: 1px solid rgba(52, 124, 53, 0.3);
}

.v2-badge-danger {
  color: #7a1f1f;
  background: rgba(214, 84, 84, 0.18);
  border: 1px solid rgba(166, 54, 54, 0.28);
}

.v2-badge-warning {
  color: #724308;
  background: rgba(227, 180, 77, 0.22);
  border: 1px solid rgba(173, 117, 12, 0.28);
}

.v2-badge-info {
  color: #173b67;
  background: rgba(56, 115, 187, 0.16);
  border: 1px solid rgba(35, 88, 154, 0.25);
}

.v2-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.v2-stat-card {
  border: 1px solid rgba(118, 86, 41, 0.3);
  border-radius: 8px;
  background: rgba(255, 249, 236, 0.84);
  padding: 12px;
}

.v2-stat-card strong {
  display: block;
  margin-bottom: 4px;
  color: #6a3f1c;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v2-stat-card span {
  color: #4d2910;
  font: 700 23px/1 "Cinzel", serif;
}

.v2-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.v2-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  background: rgba(255, 249, 236, 0.88);
}

.v2-table th,
.v2-table td {
  padding: 10px 12px;
  border-top: 1px solid rgba(122, 105, 63, 0.25);
  border-bottom: 1px solid rgba(122, 105, 63, 0.25);
  text-align: left;
  vertical-align: middle;
  color: #5a2800;
}

.v2-table th {
  color: #4d2910;
  font-size: 13px;
  font-weight: 700;
  background: rgba(228, 212, 181, 0.45);
  white-space: nowrap;
}

.v2-table td.is-right,
.v2-table th.is-right {
  text-align: right;
}

.v2-table td a {
  white-space: nowrap;
}

.v2-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.v2-info-row {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(118, 86, 41, 0.25);
  border-radius: 8px;
  background: rgba(255, 249, 236, 0.82);
}

.v2-info-row strong {
  color: #6a3f1c;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v2-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 7px;
  border: 1px solid rgba(54, 37, 15, 0.4);
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
  color: #f1f6ff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.v2-back-link:hover {
  filter: brightness(1.05);
}

.v2-guilds-back-cell {
  width: 100%;
  text-align: right;
}

.v2-content-body-legacy .v2-guild-hero-table {
  width: 100%;
}

.v2-content-body-legacy .v2-guild-hero-cell-left {
  text-align: left;
  width: 88px;
}

.v2-content-body-legacy .v2-guild-hero-cell-center {
  text-align: center;
}

.v2-content-body-legacy .v2-guild-hero-cell-right {
  text-align: right !important;
  width: 88px;
  padding-right: 0;
}

.v2-content-body-legacy .v2-guild-hero-cell-right>a,
.v2-content-body-legacy .v2-guild-hero-cell-right>span {
  display: inline-flex;
  width: 100%;
  justify-content: flex-end;
}

.v2-content-body-legacy .v2-guild-hero-cell-right img {
  display: block;
  margin: 0 0 0 auto;
  float: right;
}

.v2-content-body-legacy a.v2-back-link {
  color: #ffffff !important;
}

.v2-content-body-legacy a.v2-back-link:hover {
  color: #ffffff !important;
}

.v2-content-body-legacy .v2-guild-actions-wrap {
  margin-top: 14px;
  display: grid;
  gap: 10px;
  justify-items: center;
}

.v2-content-body-legacy .v2-guild-actions-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.v2-content-body-legacy .v2-guild-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(54, 37, 15, 0.45);
  color: #f1f6ff;
  text-decoration: none;
  font: 700 13px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.02em;
  transition: transform 0.14s ease, filter 0.14s ease, box-shadow 0.16s ease;
}

.v2-content-body-legacy .v2-guild-action-link:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  text-decoration: none;
}

.v2-content-body-legacy .v2-guild-action-link-create {
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
  box-shadow: 0 6px 14px rgba(28, 71, 122, 0.22);
}

.v2-content-body-legacy .v2-guild-action-link-cleanup_players {
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
  box-shadow: 0 6px 14px rgba(77, 62, 40, 0.24);
}

.v2-content-body-legacy .v2-guild-action-link-cleanup_guilds {
  background: linear-gradient(180deg, #c34545 0%, #8f2b2b 100%);
  box-shadow: 0 6px 14px rgba(104, 33, 33, 0.26);
}

.v2-content-body-legacy .v2-guild-delete-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 1px solid rgba(128, 37, 37, 0.55);
  background: linear-gradient(180deg, #d65c5c 0%, #a33636 100%);
  box-shadow: 0 5px 12px rgba(109, 36, 36, 0.26);
  text-decoration: none;
  line-height: 1;
  transition: transform 0.14s ease, filter 0.14s ease, box-shadow 0.16s ease;
}

.v2-content-body-legacy .v2-guild-delete-link:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  text-decoration: none;
}

.v2-content-body-legacy .v2-guild-delete-link::before {
  content: "";
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");
}

.v2-confirm-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1900;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(11, 16, 24, 0.62);
}

.v2-confirm-modal-overlay.is-open {
  display: flex;
}

.v2-confirm-modal {
  width: min(100%, 420px);
  border-radius: 12px;
  border: 1px solid rgba(111, 87, 52, 0.7);
  background: linear-gradient(180deg, rgba(246, 237, 214, 0.98) 0%, rgba(234, 222, 194, 0.97) 100%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.v2-confirm-modal-header {
  padding: 12px 14px;
  background: linear-gradient(180deg, #355b8a 0%, #27496f 100%);
  color: #f1f6ff;
  font: 700 15px/1.2 "Cinzel", serif;
}

.v2-confirm-modal-body {
  padding: 16px 14px 8px;
  color: #5a2800;
  font-size: 15px;
  line-height: 1.45;
}

.v2-confirm-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 14px 14px;
}

.v2-confirm-modal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 7px;
  border: 1px solid rgba(54, 37, 15, 0.42);
  font: 700 13px/1 "Rajdhani", sans-serif;
  cursor: pointer;
}

.v2-confirm-modal-btn-cancel {
  color: #f1f6ff;
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
}

.v2-confirm-modal-btn-confirm {
  color: #ffffff;
  background: linear-gradient(180deg, #c34545 0%, #8f2b2b 100%);
}

.v2-confirm-modal-btn:hover {
  filter: brightness(1.05);
}

.v2-content-body-legacy .v2-guild-action-panel {
  padding: 12px;
  border: 1px solid rgba(146, 119, 77, 0.45);
  border-radius: 10px;
  background: rgba(255, 249, 236, 0.82);
}

.v2-content-body-legacy .v2-guild-action-panel .v2-legacy-table,
.v2-content-body-legacy .v2-guild-action-panel table {
  margin: 0;
}

.v2-content-body-legacy .v2-guild-action-panel hr {
  border: 0;
  border-top: 1px solid rgba(122, 105, 63, 0.38);
  margin: 10px 0;
}

.v2-content-body-legacy .v2-guild-action-panel ul,
.v2-content-body-legacy .v2-guild-action-panel ol {
  margin: 8px 0 10px 18px;
  padding: 0;
}

.v2-content-body-legacy .v2-guild-action-panel li {
  margin: 4px 0;
}

.v2-content-body-legacy .v2-guild-action-panel,
.v2-content-body-legacy .v2-guild-action-panel * {
  max-width: 100%;
  box-sizing: border-box;
}

.v2-content-body-legacy .v2-guild-action-panel p,
.v2-content-body-legacy .v2-guild-action-panel li,
.v2-content-body-legacy .v2-guild-action-panel b,
.v2-content-body-legacy .v2-guild-action-panel span,
.v2-content-body-legacy .v2-guild-action-panel td,
.v2-content-body-legacy .v2-guild-action-panel th {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.v2-content-body-legacy .v2-guild-action-panel h3 {
  margin: 14px 0 8px;
}

.v2-content-body-legacy .v2-guild-action-panel>li,
.v2-content-body-legacy .v2-guild-action-panel li {
  margin-left: 16px;
}

.v2-content-body-legacy .v2-guild-action-panel.v2-guild-action-manager .v2-guild-manager-back-wrap {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: 14px;
}

.v2-content-body-legacy .v2-guild-action-panel.v2-guild-action-manager .v2-guild-manager-back-form {
  margin: 0;
  display: inline-flex;
  justify-content: flex-end;
}

.v2-content-body-legacy .v2-guild-action-panel.v2-guild-action-manager .v2-guild-manager-back-row {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-top: 14px;
}

@media (max-width: 720px) {
  .v2-content-body-legacy .v2-guild-actions-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .v2-content-body-legacy .v2-guild-action-link {
    width: 100%;
  }
}

.v2-page-stack {
  display: grid;
  gap: 14px;
}

.v2-section-title {
  margin: 0 0 8px;
  color: #4d2910;
  font: 700 24px/1 "Rajdhani", sans-serif;
}

.v2-toolbar-actions {
  gap: 8px;
}

.v2-section-spacing {
  margin-top: 12px;
}

.v2-server-hero .v2-text {
  max-width: 720px;
}

.v2-rules-hero .v2-text {
  max-width: 760px;
}

.v2-rules-intro {
  display: grid;
  gap: 10px;
}

.v2-rules-intro p,
.v2-rules-note p {
  margin: 0;
  color: #5a2800;
  font-size: 14px;
  line-height: 1.6;
}

.v2-rules-section {
  display: grid;
  gap: 12px;
}

.v2-rules-section .v2-section-title {
  margin-bottom: 0;
  font-size: 22px;
}

.v2-rules-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  counter-reset: v2-rule-alpha;
}

.v2-rules-items li {
  position: relative;
  padding: 11px 12px 11px 42px;
  border: 1px solid rgba(118, 86, 41, 0.22);
  border-radius: 8px;
  background: rgba(255, 249, 236, 0.82);
  color: #5a2800;
  font-size: 14px;
  line-height: 1.55;
}

.v2-rules-items li::before {
  counter-increment: v2-rule-alpha;
  content: counter(v2-rule-alpha, lower-alpha) ")";
  position: absolute;
  left: 14px;
  top: 12px;
  color: #6a3f1c;
  font: 700 13px/1 "Rajdhani", sans-serif;
}

.v2-rules-note {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(118, 86, 41, 0.24);
  border-radius: 8px;
  background: rgba(228, 212, 181, 0.28);
}

.v2-rules-empty {
  margin: 0;
}

.v2-server-table {
  min-width: 640px;
}

.v2-account-page {
  display: grid;
  gap: 14px;
}

.v2-account-classic-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.v2-account-side {
  border: 1px solid rgba(118, 86, 41, 0.35);
  border-radius: 8px;
  background: rgba(245, 235, 213, 0.8);
  overflow: hidden;
}

.v2-account-side-title {
  margin: 0;
  padding: 10px 12px;
  color: #4d2910;
  font: 700 20px/1.1 "Rajdhani", sans-serif;
  border-bottom: 1px solid rgba(121, 89, 51, 0.26);
  background: rgba(222, 206, 174, 0.55);
}

.v2-account-side-menu {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 10px 10px;
}

.v2-account-side-link {
  min-height: 32px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: #4d2910;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid rgba(121, 89, 51, 0.28);
  border-radius: 7px;
  background: rgba(245, 235, 213, 0.7);
}

.v2-account-side-link:first-child {
  border-top: 1px solid rgba(121, 89, 51, 0.28);
}

.v2-account-side-link:hover {
  background: rgba(174, 150, 107, 0.2);
}

.v2-account-side-link.is-active {
  background: rgba(143, 125, 97, 0.22);
}

.v2-account-main {
  display: grid;
  gap: 18px;
}

.v2-account-main-title {
  margin-bottom: 0;
}

.v2-account-subsection {
  display: grid;
  gap: 12px;
  width: 100%;
}

.v2-account-subtitle {
  margin: 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: #f1e8c6;
  font: 700 20px/1 "Cinzel", serif;
  letter-spacing: 0.25px;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(33, 56, 89, 0.55);
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.v2-account-subsection-header {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(33, 56, 89, 0.55);
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, rgba(44, 82, 132, 0.92), rgba(25, 51, 88, 0.92));
}

.v2-account-subsection-header .v2-account-subtitle {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.v2-account-subsection-header .v2-badge {
  flex: 0 0 auto;
}

.v2-account-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 14px;
  align-items: start;
}

.v2-account-hero-copy,
.v2-account-section {
  display: grid;
  gap: 12px;
}

.v2-account-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v2-account-title {
  margin: 0;
  color: #4d2910;
  font: 700 30px/1.05 "Cinzel", serif;
}

.v2-account-lead {
  margin-top: 0;
}

.v2-account-note {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(62, 115, 187, 0.2);
  border-radius: 8px;
  background: rgba(230, 240, 255, 0.45);
  color: #4e2d13;
}

.v2-account-note strong {
  color: #173b67;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.v2-account-note span {
  font-size: 14px;
  line-height: 1.55;
}

.v2-account-note-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.v2-account-note-actions-center {
  justify-content: center;
}

.v2-account-note-warning {
  border-color: rgba(164, 122, 56, 0.28);
  background: rgba(241, 223, 183, 0.42);
}

.v2-account-note-warning strong {
  color: #7d4d18;
}

.v2-account-note-danger {
  border-color: rgba(154, 38, 38, 0.34);
  background: rgba(255, 228, 228, 0.62);
}

.v2-account-note-danger strong {
  color: #8e1f1f;
}

.v2-account-stats {
  margin-bottom: 0;
}

.v2-account-stats .v2-stat-card {
  min-height: 98px;
}

.v2-account-stat-text {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

.v2-account-actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.v2-account-actions-grid .v2-btn {
  min-height: 40px;
  width: 100%;
}

.v2-account-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.v2-store-page {
  gap: 12px;
  min-width: 0;
  overflow-x: hidden;
}

.v2-store-chips {
  margin-top: 8px;
}

.v2-store-filter {
  margin-bottom: 0;
}

.v2-store-tabs {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.v2-store-tabs-track {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  padding: 0;
  width: 100%;
  min-width: 0;
}

.v2-store-tab-btn {
  flex: 0 0 auto;
  border: 1px solid rgba(121, 89, 51, 0.34);
  border-radius: 8px;
  background: #efe6d2;
  color: #4d2910;
  min-height: 36px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  cursor: pointer;
  font: 700 12px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: transform 0.14s ease, filter 0.14s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
  white-space: nowrap;
  text-decoration: none;
}

.v2-store-tab-btn span {
  display: inline-block;
  line-height: 1;
}

.v2-store-tab-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.v2-store-tab-btn.is-active {
  border-color: rgba(33, 96, 175, 0.68);
  background: #2b6eb6;
  color: #f1f6ff;
}

.v2-store-category {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.v2-store-tab-panel.is-active {
  animation: v2StorePanelIn 180ms ease;
}

@keyframes v2StorePanelIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.v2-store-category-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.v2-store-category-head .v2-subtitle {
  margin: 0;
}

.v2-store-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.v2-store-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(118, 86, 41, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: transform 0.16s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.v2-store-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 132, 0, 0.55);
  background: rgba(255, 252, 244, 0.96);
  box-shadow:
    0 10px 22px rgba(37, 18, 0, 0.22),
    0 0 0 1px rgba(255, 132, 0, 0.2);
}

.v2-store-card-header {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(121, 89, 51, 0.24);
}

.v2-store-card-summary {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.v2-store-media {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  border: 1px solid rgba(121, 89, 51, 0.28);
  background: rgba(255, 249, 236, 0.9);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.v2-store-media img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  image-rendering: auto;
}

.v2-store-media.is-fallback {
  background: linear-gradient(180deg, rgba(51, 94, 148, 0.14), rgba(31, 90, 150, 0.06));
}

.v2-store-media.is-fallback span {
  color: #285c95;
  font: 700 20px/1 "Rajdhani", sans-serif;
}

.v2-store-card .v2-list-item-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.v2-store-price-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.v2-store-details {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: #6a3f1c;
  font-size: 12px;
  font-weight: 700;
  padding-top: 6px;
  border-top: 1px solid rgba(121, 89, 51, 0.2);
}

.v2-store-details span,
.v2-store-card .v2-text {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.v2-store-desc {
  margin: 0;
  min-height: 42px;
}

.v2-store-filter label {
  min-width: 0;
}

.v2-store-filter input[type="text"],
.v2-store-filter select {
  min-width: 180px;
  max-width: 100%;
}

.v2-store-delivery {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 10px 12px;
  margin-bottom: 14px;
}

.v2-store-delivery label {
  min-width: min(360px, 100%);
}

.v2-store-delivery select {
  min-width: min(360px, 100%);
}

.v2-store-buy-row {
  margin-top: auto;
  display: block;
  padding-top: 6px;
  border-top: 1px solid rgba(121, 89, 51, 0.26);
}

.v2-store-price {
  color: #ff8400;
  font: 700 18px/1 "Rajdhani", sans-serif;
  white-space: nowrap;
}

.v2-store-buy-form {
  margin: 0;
}

.v2-store-buy-form .v2-btn,
.v2-store-buy-row>.v2-btn {
  width: 100%;
}

.v2-store-buy-form .v2-btn {
  transition: transform 0.14s ease, box-shadow 0.18s ease, filter 0.14s ease, border-color 0.16s ease;
}

.v2-store-buy-form .v2-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 6px 14px rgba(23, 66, 117, 0.28);
  border-color: rgba(20, 70, 130, 0.65);
}

.v2-store-qty {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #4d2910;
  background: rgba(121, 89, 51, 0.15);
  border: 1px solid rgba(121, 89, 51, 0.25);
}

.v2-store-state {
  width: 100%;
  min-height: 34px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

.v2-store-state-danger {
  color: #7a1f1f;
  background: rgba(214, 84, 84, 0.15);
  border: 1px solid rgba(166, 54, 54, 0.28);
}

.v2-points-page {
  gap: 16px;
}

.v2-page-section {
  display: grid;
  gap: 10px;
}

.v2-section-head {
  display: grid;
  gap: 4px;
}

.v2-section-title {
  margin: 0;
  color: #4f2605;
  font: 700 24px/1.08 "Cinzel", serif;
}

.v2-points-hero {
  display: grid;
  gap: 12px;
  padding: 18px;
  background:
    radial-gradient(circle at top right, rgba(226, 190, 114, 0.18), transparent 32%),
    linear-gradient(180deg, rgba(255, 252, 245, 0.96) 0%, rgba(249, 239, 220, 0.95) 100%);
}

.v2-points-hero-copy {
  display: grid;
  gap: 6px;
}

.v2-points-stepper-card {
  padding: 14px 16px;
}

.v2-points-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.v2-points-stepper-actions {
  margin-top: 12px;
  justify-content: flex-end;
}

.v2-points-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148, 113, 58, 0.18);
  background: rgba(248, 240, 225, 0.64);
}

.v2-points-step.is-active {
  border-color: rgba(35, 107, 184, 0.32);
  background: linear-gradient(180deg, rgba(235, 244, 255, 0.94) 0%, rgba(223, 236, 252, 0.9) 100%);
}

.v2-points-step.is-complete {
  border-color: rgba(36, 121, 64, 0.24);
  background: linear-gradient(180deg, rgba(237, 250, 241, 0.94) 0%, rgba(225, 245, 231, 0.9) 100%);
}

.v2-points-step-index {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(79, 38, 5, 0.1);
  color: #5f3411;
  font: 800 16px/1 "Rajdhani", sans-serif;
}

.v2-points-step.is-active .v2-points-step-index {
  background: rgba(28, 102, 180, 0.16);
  color: #1f5a96;
}

.v2-points-step.is-complete .v2-points-step-index {
  background: rgba(25, 124, 63, 0.16);
  color: #156737;
}

.v2-points-step-label {
  color: #5c3510;
  font: 800 15px/1.15 "Rajdhani", sans-serif;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.v2-donation-terms-grid {
  display: grid;
  gap: 12px;
}

.v2-donation-term-card {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.v2-donation-term-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.v2-donation-term-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(29, 103, 183, 0.1);
  font-size: 18px;
}

.v2-donation-terms-footer {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.v2-donation-terms-highlight {
  margin: 0;
  color: #5d3611;
  font: 700 18px/1.55 "Rajdhani", sans-serif;
  text-align: center;
}

.v2-donation-terms-actions {
  justify-content: center;
}

.v2-selected-package-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
}

.v2-points-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.v2-points-method-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(138, 105, 54, 0.2);
  background: linear-gradient(180deg, rgba(255, 251, 243, 0.92) 0%, rgba(244, 232, 209, 0.86) 100%);
}

.v2-points-method-card-primary {
  border-color: rgba(40, 113, 192, 0.28);
  box-shadow: 0 10px 22px rgba(16, 74, 133, 0.12);
}

.v2-points-method-card h4 {
  margin: 0;
  color: #4c2810;
  font: 700 22px/1.05 "Cinzel", serif;
}

.v2-points-method-card p {
  margin: 0;
  color: #6c441d;
  font: 600 14px/1.5 "Rajdhani", sans-serif;
}

.v2-points-method-kicker {
  color: #1d67b7;
  font: 800 12px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-points-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.v2-points-card {
  display: grid;
  gap: 14px;
  min-height: 220px;
  padding: 16px;
  border-color: rgba(150, 113, 58, 0.28);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.v2-points-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(90, 51, 10, 0.14);
  border-color: rgba(180, 132, 48, 0.38);
}

.v2-points-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.v2-points-card-title {
  margin: 0 0 6px;
  color: #4c2810;
  font: 700 22px/1.05 "Cinzel", serif;
}

.v2-points-card-price {
  margin: 0;
  color: #1b4e86;
  font: 700 24px/1 "Rajdhani", sans-serif;
}

.v2-points-card-price-alt {
  margin: 6px 0 0;
  color: #8c4f10;
  font: 700 18px/1 "Rajdhani", sans-serif;
}

.v2-points-bonus-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, #1f78d2 0%, #11569a 100%);
  color: #f6fbff;
  font: 700 13px/1 "Rajdhani", sans-serif;
  box-shadow: 0 6px 14px rgba(18, 83, 150, 0.2);
}

.v2-points-card-meta {
  display: grid;
  gap: 6px;
  color: #6b4016;
  font: 600 14px/1.45 "Rajdhani", sans-serif;
}

.v2-points-form {
  margin-top: auto;
}

.v2-points-form .v2-btn {
  width: 100%;
}

.v2-points-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.v2-points-provider-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.v2-points-provider-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.v2-points-provider-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(26, 94, 167, 0.12);
  color: #1d67b7;
  font: 800 12px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-points-provider-form {
  display: grid;
  gap: 14px;
}

.v2-points-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.v2-points-form-grid-half {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2-points-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.v2-points-field-wide {
  grid-column: 1 / -1;
}

.v2-points-field span {
  color: #6d441a;
  font: 700 13px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.v2-points-input {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(145, 111, 56, 0.28);
  background: rgba(255, 252, 246, 0.96);
  color: #4c2810;
  padding: 0 14px;
  font: 600 16px/1 "Rajdhani", sans-serif;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.v2-points-input:focus {
  outline: none;
  border-color: rgba(32, 106, 183, 0.55);
  box-shadow: 0 0 0 3px rgba(39, 110, 184, 0.12);
  background: #fffdfa;
}

.v2-points-provider-actions {
  justify-content: flex-start;
}

.v2-paypal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.v2-paypal-card {
  align-content: start;
}

.v2-paypal-donate-button {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 54px;
  margin-top: auto;
}

.v2-paypal-donate-button form,
.v2-paypal-donate-button img {
  max-width: 100%;
}

.v2-paypal-hint {
  margin: -4px 0 0;
  color: #7a4e1f;
  font: 600 13px/1.45 "Rajdhani", sans-serif;
  text-align: center;
}

.v2-points-payments {
  display: grid;
  gap: 12px;
}

.v2-payment-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.v2-payment-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.v2-payment-title {
  margin: 0 0 4px;
  color: #4c2810;
  font: 700 19px/1.1 "Cinzel", serif;
}

.v2-payment-provider-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.v2-payment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: #6f4821;
  font: 600 13px/1.4 "Rajdhani", sans-serif;
}

.v2-payment-qr-box {
  display: grid;
  justify-content: flex-start;
  gap: 8px;
  color: #6d441a;
  font: 700 13px/1 "Rajdhani", sans-serif;
}

.v2-payment-qr-image {
  width: 180px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid rgba(141, 109, 57, 0.26);
  background: #fff;
  padding: 10px;
}

.v2-pix-code-box {
  display: grid;
  gap: 6px;
  color: #6b3f15;
  font: 700 13px/1 "Rajdhani", sans-serif;
}

.v2-pix-code-box textarea {
  width: 100%;
  min-height: 110px;
  resize: vertical;
  border-radius: 10px;
  border: 1px solid rgba(144, 110, 55, 0.26);
  background: rgba(255, 252, 247, 0.95);
  color: #4f2a0f;
  padding: 12px;
  font: 600 13px/1.5 "Rajdhani", sans-serif;
}

.v2-payment-error {
  color: #8a2f24;
}

.v2-payment-actions {
  justify-content: flex-start;
}

.v2-payment-actions form {
  margin: 0;
}

.v2-account-table td:last-child,
.v2-account-table th:last-child {
  white-space: nowrap;
}

.v2-account-kv-table {
  min-width: 0;
}

.v2-account-kv-table th {
  width: 220px;
}

@media (max-width: 860px) {
  .v2-points-stepper {
    grid-template-columns: 1fr;
  }

  .v2-points-form-grid-half {
    grid-template-columns: 1fr;
  }

  .v2-payment-card-head,
  .v2-points-provider-head,
  .v2-selected-package-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

.v2-account-kv-table th,
.v2-account-kv-table td {
  background: rgba(255, 249, 236, 0.82);
}

.v2-account-kv-table tbody tr:nth-child(even) th,
.v2-account-kv-table tbody tr:nth-child(even) td {
  background: rgba(236, 221, 190, 0.45);
}

.v2-account-sensitive {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.v2-account-sensitive-value {
  word-break: break-word;
}

.v2-account-sensitive-toggle {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(121, 89, 51, 0.35);
  border-radius: 7px;
  background: rgba(255, 249, 236, 0.94);
  color: #1f5a96;
  cursor: pointer;
  transition: filter 0.14s ease, transform 0.14s ease;
}

.v2-account-sensitive-toggle:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.v2-account-sensitive-toggle svg {
  width: 16px;
  height: 16px;
}

.v2-account-section-actions {
  margin-top: 6px;
}

.v2-manage-changeinfo-actions {
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.v2-manage-changeinfo-back {
  margin-left: auto;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr>td {
  width: 50%;
  vertical-align: middle;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr>td:first-child {
  text-align: left;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr>td:last-child {
  text-align: right;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr>td table {
  width: auto;
  border: 0;
  background: transparent;
}

.v2-manage-account-legacy-action>.v2-legacy-form:last-of-type>.v2-legacy-table>tbody>tr>td table td {
  border: 0;
  padding: 0;
  background: transparent;
}

.v2-account-characters td:nth-child(1) a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}

.v2-account-characters td:nth-child(1) a:hover {
  text-decoration: underline;
}

.v2-account-character-meta {
  margin-top: 3px;
  color: #7a5a34;
  font-size: 13px;
  line-height: 1.35;
}

.v2-account-characters th:nth-child(1),
.v2-account-characters td:nth-child(1) {
  width: 34%;
}

.v2-account-characters th:nth-child(2),
.v2-account-characters td:nth-child(2) {
  width: 23%;
}

.v2-account-characters th:nth-child(3),
.v2-account-characters td:nth-child(3) {
  width: 13%;
}

.v2-account-characters th:nth-child(4),
.v2-account-characters td:nth-child(4) {
  width: calc(13% - 40px);
}

.v2-account-characters th:nth-child(5),
.v2-account-characters td:nth-child(5) {
  width: calc(17% - 40px);
}

.v2-account-empty {
  margin: 0;
}

.v2-manage-form-hint {
  margin-top: -2px;
  font-size: 12px;
  color: #7a5a34;
}

@media (max-width: 920px) {

  .v2-account-classic-layout,
  .v2-account-hero,
  .v2-account-duo {
    grid-template-columns: 1fr;
  }
}

.v2-server-info-grid-tight {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.v2-server-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.v2-server-feature-card {
  border: 1px solid rgba(118, 86, 41, 0.28);
  border-radius: 10px;
  background: rgba(255, 249, 236, 0.84);
  padding: 14px;
}

.v2-server-feature-card h4 {
  margin: 0 0 8px;
  color: #4d2910;
  font: 700 18px/1.2 "Cinzel", serif;
}

.v2-server-feature-card p {
  margin: 0;
  color: #5a2800;
  font-size: 14px;
  line-height: 1.6;
}

.v2-server-feature-card p+p {
  margin-top: 9px;
}

.v2-spells-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}

.v2-spells-table td strong {
  color: #4d2910;
}

.v2-spells-table th,
.v2-spells-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.v2-spells-table th:nth-child(1),
.v2-spells-table td:nth-child(1) {
  width: 23%;
}

.v2-spells-table th:nth-child(2),
.v2-spells-table td:nth-child(2) {
  width: 13%;
}

.v2-spells-table th:nth-child(3),
.v2-spells-table td:nth-child(3) {
  width: 16%;
}

.v2-spells-table th:nth-child(4),
.v2-spells-table td:nth-child(4),
.v2-spells-table th:nth-child(5),
.v2-spells-table td:nth-child(5),
.v2-spells-table th:nth-child(6),
.v2-spells-table td:nth-child(6) {
  width: 6%;
  white-space: nowrap;
}

.v2-spells-table th:nth-child(7),
.v2-spells-table td:nth-child(7) {
  width: 10%;
}

.v2-spells-table th:nth-child(8),
.v2-spells-table td:nth-child(8) {
  width: 20%;
}

.v2-spells-table td:nth-child(3),
.v2-spells-table td:nth-child(8) {
  font-size: 12px;
}

.v2-spell-item-cell {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.v2-spell-item-icon {
  width: 32px;
  height: 32px;
  image-rendering: pixelated;
  flex: 0 0 auto;
  object-fit: contain;
}

.v2-spell-item-meta {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(155, 128, 84, 0.18);
  border: 1px solid rgba(121, 89, 51, 0.25);
  color: #4f2a0f;
  font-size: 11px;
  font-weight: 700;
}

.v2-spell-muted {
  color: #7e6954;
  font-size: 12px;
}

.highscores-v2-title {
  margin: 2px 0 16px;
  text-align: center;
  color: #4d2910;
  font: 700 30px/1.05 "Cinzel", serif;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

.highscores-v2-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(122, 105, 63, 0.3);
  border-radius: 8px;
  background: rgba(255, 249, 236, 0.72);
}

.highscores-v2-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #4f2a0f;
  font-size: 13px;
  font-weight: 700;
}

.highscores-v2-field select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(121, 89, 51, 0.45);
  border-radius: 7px;
  background: rgba(255, 249, 236, 0.95);
  color: #3a240f;
  font-size: 14px;
}

.highscores-v2-field:first-of-type select {
  min-width: 0;
}

.highscores-v2-field:nth-of-type(2) select {
  min-width: 0;
}

.highscores-v2-apply {
  min-height: 40px;
  padding: 0 18px;
  white-space: nowrap;
  justify-self: end;
}

.highscores-v2-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  font-size: 15px;
}

.highscores-v2-table td img {
  width: 64px;
  height: 64px;
  max-width: none;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

.highscores-v2-table td a>span {
  font-size: 15px;
  line-height: 1.15;
  font-weight: 700;
}

.highscores-v2-table td,
.highscores-v2-table th {
  padding: 7px 6px;
  white-space: normal;
  font-size: 15px;
}

.highscores-v2-table td:nth-child(1),
.highscores-v2-table th:nth-child(1) {
  width: 50px;
  text-align: center;
  white-space: nowrap;
}

.highscores-v2-table td:nth-child(2),
.highscores-v2-table th:nth-child(2) {
  width: 76px;
  min-width: 76px;
  text-align: center;
  white-space: nowrap;
}

.highscores-v2-table td:nth-child(3),
.highscores-v2-table th:nth-child(3) {
  width: auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.highscores-v2-table td:nth-child(4),
.highscores-v2-table th:nth-child(4) {
  width: 74px;
  text-align: center;
  white-space: nowrap;
}

.highscores-v2-table td:nth-child(5),
.highscores-v2-table th:nth-child(5),
.highscores-v2-table td:nth-child(6),
.highscores-v2-table th:nth-child(6) {
  width: 84px;
  text-align: center;
  white-space: nowrap;
}

.highscores-v2-table td small {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.2;
}

@media (max-width: 860px) {
  .highscores-v2-form {
    grid-template-columns: 1fr;
  }

  .highscores-v2-apply {
    width: 100%;
    justify-self: stretch;
  }
}

.highscores-v2-pagination {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
}

.highscores-v2-pagination a {
  color: #24507a;
  font-weight: 700;
  text-decoration: none;
}

.highscores-v2-pagination a:hover {
  text-decoration: underline;
}

.v2-char-bazar {
  display: grid;
  gap: 14px;
  color: #5a2800;
}

.v2-char-bazar .cb-wrap {
  display: grid;
  gap: 14px;
}

.v2-char-bazar .cb-card {
  border: 1px solid rgba(118, 86, 41, 0.35);
  border-radius: 10px;
  background: rgba(255, 249, 236, 0.9);
  padding: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.v2-char-bazar .cb-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.v2-char-bazar .cb-heading h2 {
  margin: 0;
  color: #4d2910;
  font: 700 28px/1 "Rajdhani", sans-serif;
}

.v2-char-bazar .cb-sub {
  margin: 4px 0 0;
  color: #6a3f1c;
  font-size: 14px;
}

.v2-char-bazar .cb-rules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.v2-char-bazar .cb-rule,
.v2-char-bazar .cb-note {
  border: 1px solid rgba(121, 89, 51, 0.25);
  border-radius: 8px;
  background: rgba(228, 212, 181, 0.38);
  padding: 11px 12px;
  color: #5a2800;
  font-size: 13px;
  line-height: 1.5;
}

.v2-char-bazar .cb-feedback {
  border-radius: 8px;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 600;
}

.v2-char-bazar .cb-feedback.error {
  color: #7a1f1f;
  background: rgba(214, 84, 84, 0.18);
  border: 1px solid rgba(166, 54, 54, 0.28);
}

.v2-char-bazar .cb-feedback.success {
  color: #114a1d;
  background: rgba(105, 187, 106, 0.2);
  border: 1px solid rgba(52, 124, 53, 0.3);
}

.v2-char-bazar .cb-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px 12px;
  align-items: end;
}

.v2-char-bazar .cb-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.v2-char-bazar .cb-field label {
  color: #4f2a0f;
  font-size: 13px;
  font-weight: 700;
}

.v2-char-bazar .cb-field input,
.v2-char-bazar .cb-field select,
.v2-char-bazar .cb-field textarea {
  width: 100%;
  min-height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(121, 89, 51, 0.45);
  background: rgba(255, 249, 236, 0.98);
  color: #3a240f;
  font-size: 14px;
  padding: 0 12px;
  box-sizing: border-box;
}

.v2-char-bazar .cb-field textarea {
  min-height: 110px;
  padding: 10px 12px;
  resize: vertical;
}

.v2-char-bazar .cb-btn,
.v2-char-bazar button.cb-btn,
.v2-char-bazar a.cb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 8px;
  border: 1px solid rgba(54, 37, 15, 0.4);
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
  color: #f1f6ff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-sizing: border-box;
}

.v2-char-bazar .cb-btn:hover,
.v2-char-bazar button.cb-btn:hover,
.v2-char-bazar a.cb-btn:hover {
  filter: brightness(1.05);
}

.v2-char-bazar .cb-btn.success {
  background: linear-gradient(180deg, #73a854 0%, #4e7b34 100%);
  border-color: rgba(42, 84, 26, 0.5);
}

.v2-char-bazar .cb-btn.danger {
  background: linear-gradient(180deg, #bb6a62 0%, #914942 100%);
  border-color: rgba(112, 41, 35, 0.45);
}

.v2-char-bazar .cb-form-grid .cb-field:last-child .cb-btn,
.v2-char-bazar .cb-form-grid .cb-field[style] .cb-btn {
  width: 100%;
}

.v2-char-bazar .cb-list {
  display: grid;
  gap: 12px;
}

.v2-char-bazar .cb-entry {
  display: grid;
  grid-template-columns: 92px minmax(0, 1.45fr) minmax(0, 1.55fr) minmax(150px, 0.9fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(121, 89, 51, 0.28);
  border-radius: 10px;
  background: rgba(255, 248, 232, 0.82);
}

.v2-char-bazar .cb-entry img {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  background: rgba(210, 190, 154, 0.8);
}

.v2-char-bazar .cb-entry h3 {
  margin: 0 0 4px;
  color: #4d2910;
  font: 700 27px/1 "Rajdhani", sans-serif;
}

.v2-char-bazar .cb-entry h3 a,
.v2-char-bazar .cb-table a {
  color: inherit;
  text-decoration: none;
}

.v2-char-bazar .cb-entry h3 a:hover,
.v2-char-bazar .cb-table a:hover {
  text-decoration: underline;
}

.v2-char-bazar .cb-meta {
  color: #6a3f1c;
  font-size: 14px;
  line-height: 1.45;
}

.v2-char-bazar .cb-skills {
  min-width: 0;
}

.v2-char-bazar .cb-price {
  text-align: right;
  color: #6a3f1c;
  font-size: 14px;
}

.v2-char-bazar .cb-price .v {
  display: block;
  margin-bottom: 8px;
  color: #7f5316;
  font: 700 30px/1 "Rajdhani", sans-serif;
}

.v2-char-bazar .cb-actions,
.v2-char-bazar .cb-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v2-char-bazar .cb-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid rgba(121, 89, 51, 0.32);
  background: rgba(228, 212, 181, 0.45);
  color: #5a2800;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.v2-char-bazar .cb-tab.active {
  border-color: rgba(54, 37, 15, 0.4);
  background: linear-gradient(180deg, #8f7d61 0%, #66563f 100%);
  color: #f1f6ff;
}

.v2-char-bazar .cb-grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.v2-char-bazar .cb-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255, 249, 236, 0.82);
}

.v2-char-bazar .cb-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.v2-char-bazar .cb-table th,
.v2-char-bazar .cb-table td {
  padding: 9px 10px;
  border-top: 1px solid rgba(122, 105, 63, 0.25);
  border-bottom: 1px solid rgba(122, 105, 63, 0.25);
  text-align: left;
  vertical-align: middle;
}

.v2-char-bazar .cb-table th {
  color: #4d2910;
  font-size: 13px;
  font-weight: 700;
  background: rgba(228, 212, 181, 0.45);
}

.v2-char-bazar .cb-history-table td {
  color: #5f3917;
}

.v2-char-bazar .cb-history-table td:last-child {
  white-space: nowrap;
}

.v2-char-bazar .cb-history-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(107, 79, 40, 0.28);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.v2-char-bazar .cb-history-status.sold {
  background: rgba(103, 161, 93, 0.2);
  color: #2f6125;
  border-color: rgba(71, 124, 61, 0.32);
}

.v2-char-bazar .cb-history-status.expired {
  background: rgba(173, 120, 88, 0.15);
  color: #855134;
  border-color: rgba(142, 87, 57, 0.26);
}

.v2-char-bazar .cb-item-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v2-char-bazar .cb-item {
  width: 80px;
  min-height: 60px;
  padding: 8px;
  border: 1px solid rgba(121, 89, 51, 0.25);
  border-radius: 8px;
  background: rgba(255, 248, 232, 0.82);
  text-align: center;
  font-size: 11px;
}

.v2-char-bazar .cb-item img {
  width: 32px;
  height: 32px;
}

.v2-char-bazar .cb-item-detailed {
  width: 132px;
  min-height: 110px;
}

.v2-char-bazar .cb-item-qty,
.v2-char-bazar .cb-item-name,
.v2-char-bazar .cb-skill-name,
.v2-char-bazar .cb-skill-level {
  color: #5a2800;
}

.v2-char-bazar .cb-item-name {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 700;
  word-break: break-word;
}

.v2-char-bazar .cb-item-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2-char-bazar .cb-item-visual img {
  width: 64px;
  height: 64px;
  margin-left: -16px;
  margin-top: -16px;
}

.v2-char-bazar .cb-sections {
  display: grid;
  gap: 12px;
}

.v2-char-bazar .cb-section h4 {
  margin: 0 0 8px;
  color: #4d2910;
  font: 700 18px/1.1 "Rajdhani", sans-serif;
}

.v2-char-bazar .cb-skill-bars {
  display: grid;
  gap: 7px;
}

.v2-char-bazar .cb-skill-bar-row {
  display: grid;
  grid-template-columns: 102px 1fr 42px;
  gap: 8px;
  align-items: center;
}

.v2-char-bazar .cb-skill-name,
.v2-char-bazar .cb-skill-level {
  font-size: 12px;
  font-weight: 700;
}

.v2-char-bazar .cb-skill-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v2-char-bazar .cb-skill-level {
  text-align: right;
}

.v2-char-bazar .cb-skill-track {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(184, 155, 104, 0.35);
  border: 1px solid rgba(154, 121, 69, 0.3);
}

.v2-char-bazar .cb-skill-track>span {
  display: block;
  height: 100%;
  background: linear-gradient(180deg, #d8b36d 0%, #b88533 100%);
}

.v2-char-bazar .cb-skill-bars.compact {
  gap: 5px;
}

.v2-char-bazar .cb-skill-bars.compact .cb-skill-bar-row {
  grid-template-columns: 78px 1fr 34px;
  gap: 6px;
}

.v2-char-bazar .cb-skill-bars.compact .cb-skill-name,
.v2-char-bazar .cb-skill-bars.compact .cb-skill-level {
  font-size: 11px;
}

@media (max-width: 980px) {

  .v2-char-bazar .cb-entry,
  .v2-char-bazar .cb-entry[style] {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .v2-char-bazar .cb-price {
    text-align: left;
  }

  .v2-char-bazar .cb-grid2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .v2-char-bazar .cb-card {
    padding: 14px;
  }

  .v2-char-bazar .cb-form-grid {
    grid-template-columns: 1fr;
  }

  .v2-char-bazar .cb-heading {
    align-items: stretch;
  }

  .v2-char-bazar .cb-heading .cb-btn,
  .v2-char-bazar .cb-actions .cb-btn,
  .v2-char-bazar .cb-tabs .cb-tab {
    width: 100%;
  }
}

.downloads-layout {
  display: grid;
  gap: 12px;
}

.downloads-section {
  border: 1px solid rgba(148, 109, 52, 0.9);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(220, 205, 173, 0.94);
  box-shadow:
    inset 0 0 0 1px rgba(245, 228, 195, 0.6),
    0 8px 20px rgba(0, 0, 0, 0.2);
}

.downloads-head {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0 8px;
  border-bottom: 1px solid rgba(62, 38, 10, 0.38);
  background: linear-gradient(180deg, #3d6b99 0%, #284c74 100%);
  color: #efe6c9;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
}

.downloads-head h4 {
  margin: 0;
  font: 700 18px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.5px;
}

.downloads-body {
  padding: 14px 14px 14px;
}

.downloads-intro {
  margin: 0 0 10px;
  color: #513214;
  font-size: 13px;
  line-height: 1.3;
}

.downloads-os-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.downloads-os-card {
  border: 1px solid rgba(137, 106, 57, 0.55);
  border-radius: 4px;
  min-height: 150px;
  padding: 12px 10px 10px;
  background: rgba(202, 184, 153, 0.72);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.downloads-os-icon {
  width: 50px;
  height: 50px;
  margin: 0 auto 6px;
  color: #4f3117;
}

.downloads-os-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.downloads-os-card h5 {
  margin: 0 0 3px;
  font: 700 28px/1 "Rajdhani", sans-serif;
  color: #44250c;
}

.downloads-os-card p {
  margin: 0 0 9px;
  font-size: 13px;
  color: #5f4121;
  min-height: 18px;
}

.downloads-cta {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 185px);
  border-radius: 0;
  border: 1px solid rgba(64, 44, 20, 0.45);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.2px;
  margin-top: auto;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
}

.downloads-cta-primary {
  color: #ffffff;
  background: linear-gradient(180deg, #2f84d6 0%, #1f5ea5 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

.downloads-cta-primary:hover {
  filter: brightness(1.08);
}

.downloads-cta-primary:focus-visible {
  outline: 2px solid #1f5ea5;
  outline-offset: 2px;
}

.downloads-cta-disabled {
  color: #f1e8d7;
  background: linear-gradient(180deg, #b0a088 0%, #9a8a72 100%);
  border-color: rgba(95, 74, 46, 0.55);
  pointer-events: none;
}

.downloads-requirements-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.downloads-requirements-col h6 {
  margin: 0 0 8px;
  font: 700 30px/1 "Rajdhani", sans-serif;
  color: #45270f;
}

.downloads-requirements-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.downloads-requirements-col li {
  margin-bottom: 7px;
  color: #5b3615;
  font-size: 13px;
  line-height: 1.35;
}

.downloads-requirements-col li strong {
  color: #48280f;
}

.auth-form {
  max-width: 500px;
}

.auth-form.auth-form-senior {
  max-width: 100%;
  gap: 12px;
}

.login-top-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.login-field {
  width: 100%;
}

.login-field span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
  font-size: 13px;
  font-weight: 700;
  color: #4f2a0f;
}

.login-action-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
}

.login-enter-btn {
  min-width: 96px;
  border-radius: 0;
  margin-left: auto;
}

.login-forgot-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1d5fa6;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.login-forgot-link::before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M9.5 2.5a3.5 3.5 0 1 0 2.47 5.97l1.03 1.03h1.5v1.5h-1.5V12h-1.5v1.5H10l-1.03-1.03A3.5 3.5 0 1 0 9.5 2.5Z' stroke='%231d5fa6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.login-forgot-link:hover {
  color: #144f8e;
  text-decoration: underline;
}

.login-divider {
  position: relative;
  text-align: center;
  margin: 2px 0;
}

.login-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 1px solid rgba(114, 88, 48, 0.38);
  transform: translateY(-50%);
}

.login-divider span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 10px;
  color: #7a6239;
  font-size: 12px;
  font-weight: 700;
  background: #f2e7d3;
}

.login-alt-actions {
  display: flex;
  justify-content: center;
}

.login-create-btn {
  width: min(100%, 260px);
  min-height: 38px;
  border-radius: 6px;
  border: 1px solid rgba(136, 148, 168, 0.45);
  background: #f5f7fb;
  color: #3b4a60;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
  transition: background-color 0.16s ease, box-shadow 0.16s ease, transform 0.14s ease;
}

.login-create-btn:hover {
  background: #ffffff;
  box-shadow: 0 3px 10px rgba(22, 33, 54, 0.14);
  transform: translateY(-1px);
}

.v2-recaptcha {
  margin-top: 4px;
}

.side-widget {
  display: grid;
  gap: 8px;
}

.side-cta-card h2 {
  margin-bottom: 4px;
}

.side-cta-card .btn {
  text-align: left;
  min-height: 38px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.side-cta-card {
  position: relative;
  overflow: hidden;
  gap: 7px;
  border-width: 1px;
}

.side-cta-card::before {
  content: "";
  position: absolute;
  right: -32px;
  top: -38px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  opacity: 0.16;
  pointer-events: none;
}

.side-cta-whatsapp {
  border-color: rgba(43, 176, 84, 0.66);
  box-shadow:
    inset 0 0 0 1px rgba(108, 219, 145, 0.12),
    0 10px 22px rgba(16, 76, 37, 0.3);
}

.side-cta-whatsapp::before {
  background: radial-gradient(circle, rgba(47, 203, 98, 0.95) 0%, rgba(47, 203, 98, 0) 72%);
}

.side-cta-discord {
  border-color: rgba(88, 126, 255, 0.66);
  box-shadow:
    inset 0 0 0 1px rgba(131, 164, 255, 0.13),
    0 10px 22px rgba(27, 44, 110, 0.31);
}

.side-cta-discord::before {
  background: radial-gradient(circle, rgba(122, 149, 255, 0.95) 0%, rgba(122, 149, 255, 0) 72%);
}

.side-cta-wiki {
  border-color: rgba(72, 164, 196, 0.7);
  box-shadow:
    inset 0 0 0 1px rgba(136, 221, 246, 0.15),
    0 10px 22px rgba(23, 73, 102, 0.32);
}

.side-cta-wiki::before {
  background: radial-gradient(circle, rgba(94, 205, 243, 0.95) 0%, rgba(94, 205, 243, 0) 72%);
}

.side-boosted-card {
  border-color: rgba(218, 180, 95, 0.72);
  box-shadow:
    inset 0 0 0 1px rgba(241, 216, 150, 0.13),
    0 10px 22px rgba(96, 70, 24, 0.3);
}

.side-boosted-card::before {
  background: radial-gradient(circle, rgba(234, 188, 88, 0.95) 0%, rgba(234, 188, 88, 0) 72%);
}

.side-boosted-item {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  /* gap: 8px; */
  align-items: center;
  /* border: 1px solid rgba(255, 226, 168, 0.2); */
  border-radius: 10px;
  /* padding: 7px 8px; */
  background: rgba(20, 28, 38, 0.32);
  overflow: visible;
}

.side-boosted-image {
  width: 58px;
  height: 58px;
  object-fit: fill;
  display: block;
  image-rendering: pixelated;
  border: 1px solid rgba(255, 219, 153, 0.3);
  border-radius: 8px;
  background: rgba(9, 16, 24, 0.55);
  padding: 0;
  overflow: visible;
}

.side-boosted-content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.side-boosted-name {
  color: #f4e7c5;
  font: 700 14px/1.1 "Rajdhani", sans-serif;
  letter-spacing: 0.15px;
}

.side-boosted-bonuses {
  color: #d7e3f2;
  font: 700 11px/1.2 "Rajdhani", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.side-cta-note {
  margin: 0;
  color: #dae4f0;
  font-size: 12px;
  line-height: 1.3;
}

.side-cta-badge {
  align-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font: 700 10px/1 "Rajdhani", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f4f8ff;
  background: rgba(9, 20, 34, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.24);
}

.side-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 7px 10px;
}

.side-cta-btn-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
}

.side-cta-btn-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.btn-whatsapp {
  color: #eaf9ee;
  background: linear-gradient(180deg, #25a64a 0%, #1d7f39 100%);
  border-color: rgba(56, 123, 71, 0.8);
  box-shadow: 0 6px 16px rgba(27, 114, 57, 0.32);
}

.btn-store {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: #fff4dc;
  background: linear-gradient(180deg, #cb8b2f 0%, #9a6520 100%);
  border-color: rgba(104, 68, 24, 0.84);
}

.btn-discord {
  color: #eaf4ff;
  background: linear-gradient(180deg, #2f78c9 0%, #1f5a96 100%);
  border-color: rgba(31, 90, 150, 0.88);
  box-shadow: 0 6px 16px rgba(34, 80, 166, 0.33);
}

.btn-wiki {
  color: #ecf9ff;
  background: linear-gradient(180deg, #2f90b2 0%, #236c86 100%);
  border-color: rgba(33, 101, 126, 0.9);
  box-shadow: 0 6px 16px rgba(24, 92, 122, 0.32);
}

.btn-whatsapp:hover,
.btn-store:hover,
.btn-discord:hover,
.btn-wiki:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.site-footer {
  margin-top: 12px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(8, 18, 28, 0.65);
  backdrop-filter: blur(3px);
  padding: 8px 10px;
}

.site-footer p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.is-hidden {
  display: none !important;
}

@media (max-width: 1120px) {
  .columns {
    grid-template-columns: 200px minmax(0, 1fr);
  }

  .side-right {
    grid-column: 1 / -1;
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body {
    padding: 8px;
  }

  .mobile-nav-toggle {
    display: inline-flex;
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1400;
  }

  .site-header {
    padding-top: 34px;
  }

  .columns {
    grid-template-columns: 1fr;
  }

  .side-left {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1300;
    width: min(88vw, 320px);
    max-width: 320px;
    padding: 10px;
    overflow-y: auto;
    transform: translateX(-106%);
    transition: transform 0.2s ease;
    background: rgba(6, 12, 17, 0.66);
    box-shadow: 12px 0 26px rgba(0, 0, 0, 0.35);
  }

  body.mobile-menu-open .side-left {
    transform: translateX(0);
  }

  .mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1250;
    background: rgba(2, 7, 12, 0.55);
  }

  body.mobile-menu-open .mobile-nav-backdrop {
    display: block;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  .icon-bar {
    grid-template-columns: 1fr 1fr;
  }

  .icon-link {
    border-right: 0;
    justify-content: flex-start;
    padding-left: 6px;
  }

  .side-right {
    display: none;
  }

  .v2-grid.two-col,
  .downloads-os-grid,
  .downloads-requirements-grid {
    grid-template-columns: 1fr;
  }

  .login-top-grid {
    grid-template-columns: 1fr;
  }

  .v2-search-form {
    grid-template-columns: 1fr;
  }

  .v2-store-grid {
    grid-template-columns: 1fr;
  }

  .v2-store-filter {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .v2-store-filter label,
  .v2-store-filter .v2-btn {
    width: 100%;
  }

  .v2-store-filter input[type="text"],
  .v2-store-filter select {
    width: 100%;
    min-width: 0;
  }

  .v2-store-delivery {
    padding: 10px;
  }

  .v2-store-buy-row {
    flex-direction: column;
    align-items: stretch;
  }

  .v2-store-buy-form .v2-btn,
  .v2-store-buy-row>.v2-btn {
    width: 100%;
  }

  .v2-payment-card-head {
    flex-direction: column;
    align-items: stretch;
  }

  .v2-section-title {
    font-size: 21px;
  }

}
