/* Valerion classic portal layout — intentionally loaded after the legacy themes. */
:root {
  --portal-ink: #171b22;
  --portal-ink-soft: #222a32;
  --portal-blue: #263d4d;
  --portal-blue-light: #36576b;
  --portal-gold: #d8b66f;
  --portal-gold-bright: #f2d899;
  --portal-brown: #6d3c16;
  --portal-paper: #dbc294;
  --portal-paper-light: #ead8b6;
  --portal-red: #9f2d20;
  --portal-line: rgba(224, 189, 116, .48);
  --portal-shadow: 0 12px 30px rgba(16, 12, 8, .34);
  --portal-serif: "Cinzel", Georgia, "Times New Roman", serif;
  --portal-sans: "Inter", "Segoe UI", Arial, sans-serif;
}

html { background: #201c17; }

body.valerion-site {
  min-width: 320px;
  color: #e7e1d5;
  background:
    linear-gradient(180deg, transparent 0, rgba(18, 21, 24, .05) 440px, rgba(20, 17, 13, .88) 1050px),
    url("/templates/new/assets/valerion-fantasy-background-fhd.jpg") top 58px center / 1920px auto no-repeat fixed,
    #201c17 !important;
  font-family: var(--portal-sans) !important;
}

body.valerion-site::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(16, 15, 13, .33), transparent 19%, transparent 81%, rgba(16, 15, 13, .33)),
    linear-gradient(180deg, transparent 0 520px, rgba(20, 17, 13, .62) 780px, #201c17 1180px) !important;
}

body.valerion-site::after { display: none !important; }
.site-header, .realm-hero, .site-footer { display: none !important; }

.portal-shell {
  width: min(1240px, calc(100% - 32px));
  margin-inline: auto;
}

/* Top navigation */
.portal-topbar {
  position: relative;
  z-index: 20;
  min-height: 60px;
  color: #cbd1d8;
  border-top: 2px solid #e1e5e9;
  border-bottom: 1px solid #343b45;
  background: rgba(24, 28, 35, .97);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .38);
}

.portal-topbar-row {
  min-height: 58px;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
}

.portal-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--portal-gold-bright) !important;
  text-decoration: none !important;
}

.portal-brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px #000);
}

.portal-brand > span {
  font: 700 24px/1 var(--portal-serif);
  letter-spacing: .02em;
  text-shadow: 0 2px 2px #000;
}

.portal-brand small {
  margin-left: 2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #abb2bc;
  font: 600 9px/1 var(--portal-sans);
  letter-spacing: .08em;
  white-space: nowrap;
}

.portal-online-only small {
  margin-left: 0;
  color: #c5cbd2;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}

.portal-brand small i {
  width: 7px;
  height: 7px;
  display: inline-block;
  border-radius: 50%;
  background: #62dc8a;
  box-shadow: 0 0 8px rgba(98, 220, 138, .72);
}

.portal-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.portal-nav a,
.portal-account > a {
  padding: 21px 12px 19px;
  color: #c9ced5 !important;
  font: 600 11px/1 var(--portal-sans);
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .16s ease, background .16s ease;
}

.portal-nav a:hover,
.portal-account > a:hover {
  color: var(--portal-gold-bright) !important;
  background: rgba(255, 255, 255, .045);
}

.portal-nav i { margin-right: 4px; }
.portal-account { display: flex; align-items: center; gap: 5px; }

.portal-account .portal-account-button {
  margin-left: 4px;
  padding: 10px 15px;
  border: 1px solid #b87b32;
  border-radius: 3px;
  color: #fff8e8 !important;
  background: linear-gradient(#bd7528, #82420e);
  box-shadow: inset 0 1px rgba(255, 255, 255, .25), 0 3px 9px rgba(0, 0, 0, .3);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Banner */
.portal-banner {
  position: relative;
  min-height: 285px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(220, 177, 93, .65);
}

.portal-banner-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 38%, rgba(255, 226, 162, .04) 0 18%, transparent 55%),
    linear-gradient(180deg, rgba(18, 21, 24, .04), rgba(18, 18, 17, .13) 58%, rgba(25, 20, 14, .82));
}

.portal-banner-content {
  position: relative;
  z-index: 1;
  width: min(600px, 88vw);
  padding: 28px 0 45px;
  display: grid;
  justify-items: center;
  text-align: center;
}

.portal-banner-content > span {
  margin-bottom: -2px;
  color: #f2dba7;
  font: 800 10px/1 var(--portal-sans);
  letter-spacing: .24em;
  text-shadow: 0 2px 7px #000;
}

.portal-banner-content img {
  width: min(440px, 76vw);
  height: 164px;
  object-fit: contain;
  filter: drop-shadow(0 8px 15px rgba(0, 0, 0, .75));
}

.portal-banner-content p {
  margin: -10px 0 0;
  color: #f4e5c7;
  font: italic 16px/1.3 var(--portal-serif);
  text-shadow: 0 2px 6px #000;
}

/* Three-column portal */
.portal-layout {
  position: relative;
  z-index: 5;
  margin-top: -30px;
  padding-bottom: 55px;
  display: grid;
  grid-template-columns: 196px minmax(0, 1fr) 204px;
  align-items: start;
  gap: 12px;
}

.portal-left,
.portal-right { display: grid; gap: 11px; }

.portal-card,
.portal-menu-card,
.portal-center,
.portal-download,
.portal-shop-callout {
  border: 1px solid #171a1c;
  box-shadow: var(--portal-shadow), inset 0 0 0 1px rgba(232, 198, 127, .22);
}

.portal-card,
.portal-menu-card {
  overflow: hidden;
  background: rgba(24, 29, 31, .96);
}

.portal-card > h2,
.portal-menu-card > h2,
.portal-login-card > h2 {
  min-height: 39px;
  margin: 0;
  padding: 10px 12px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-bottom: 1px solid #be8736;
  color: #f0d89d;
  background: linear-gradient(180deg, #314552, #23313b);
  font: 700 16px/1.15 var(--portal-serif) !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #000;
}

.portal-login-card > h2 {
  color: #f4dfad;
  background: linear-gradient(180deg, #6a3c17, #3e220d);
}

.portal-login-card > h2 i { color: #d4a55b; font-size: 8px; }

.portal-login,
.portal-authenticated {
  padding: 12px 13px 11px;
  display: grid;
  gap: 8px;
  background: linear-gradient(rgba(46, 28, 13, .98), rgba(30, 21, 13, .98));
}

.portal-login label {
  margin-bottom: -4px;
  color: #dac5a4;
  font-size: 10px;
}

.portal-login input {
  width: 100%;
  height: 34px;
  box-sizing: border-box;
  padding: 0 9px;
  outline: 0;
  border: 1px solid #17110c;
  border-radius: 3px;
  color: #f4ead9;
  background: #17120e;
  box-shadow: inset 0 1px 5px rgba(0, 0, 0, .72), 0 0 0 1px rgba(218, 171, 89, .18);
  font: 12px var(--portal-sans);
}

.portal-login input:focus { border-color: #c28b37; box-shadow: 0 0 0 2px rgba(194, 139, 55, .2); }

.portal-button {
  min-height: 34px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border: 1px solid rgba(255, 220, 155, .3);
  border-radius: 3px;
  color: #fff9ed !important;
  font: 700 11px/1 var(--portal-sans);
  text-decoration: none !important;
  text-shadow: 0 1px 2px #000;
  cursor: pointer;
}

.portal-button-red { background: linear-gradient(#bd3b2b, #7e2119); }
.portal-button-gold { background: linear-gradient(#bd852e, #7b4d12); }
.portal-button:hover { filter: brightness(1.12); }

.portal-small-link {
  padding: 4px;
  color: #e5c577 !important;
  font-size: 10px;
  text-align: center;
  text-decoration: none !important;
}

.portal-authenticated p { margin: 3px 0 5px; color: #d8c8ae; font-size: 11px; text-align: center; }

.portal-download {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #effff1 !important;
  background: linear-gradient(#287f3b, #155727);
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .65);
}

.portal-download i { font-size: 20px; }
.portal-download span { display: grid; }
.portal-download strong { font: 700 15px var(--portal-sans); }
.portal-download small { color: #b9e6c1; font-size: 9px; }
.portal-download:hover { filter: brightness(1.1); }

.portal-menu-card > h2 {
  min-height: 38px;
  justify-content: flex-start;
  font-size: 15px !important;
}

.portal-menu-card > h2 i { width: 19px; color: #e4c77e; text-align: center; }
.portal-menu-card nav { display: grid; background: var(--portal-paper); }

.portal-menu-card nav a {
  position: relative;
  padding: 9px 10px 9px 26px;
  border-bottom: 1px solid rgba(91, 61, 28, .18);
  color: #493620 !important;
  font: 11px/1.15 var(--portal-sans);
  text-decoration: none !important;
}

.portal-menu-card nav a:last-child { border-bottom: 0; }
.portal-menu-card nav a::before { content: "›"; position: absolute; left: 14px; color: #a66c20; font-weight: 900; }
.portal-menu-card nav a:hover { color: #6b350f !important; background: rgba(255, 247, 217, .42); }

/* Main content */
.portal-center {
  min-width: 0;
  overflow: hidden;
  background: rgba(25, 31, 36, .96);
}

.portal-section-title {
  min-height: 48px;
  padding: 0 17px;
  display: flex;
  align-items: center;
  gap: 13px;
  border-bottom: 2px solid #ad772b;
  color: #f0d89e;
  background: linear-gradient(180deg, #2d4657, #223542);
  box-shadow: inset 0 1px rgba(255, 255, 255, .1);
}

.portal-section-title i { color: #e7cf90; font-size: 17px; }
.portal-section-title h1 { margin: 0; color: inherit !important; font: 700 21px/1 var(--portal-serif) !important; text-transform: uppercase; text-shadow: 0 1px 2px #000; }

.portal-content {
  min-height: 580px;
  padding: 18px;
  color: #d8d9d7;
  background:
    linear-gradient(180deg, rgba(39, 48, 54, .94), rgba(24, 29, 33, .97)),
    radial-gradient(circle at 50% 0, rgba(226, 188, 111, .08), transparent 45%);
}

body.valerion-site .portal-content > :first-child { margin-top: 0; }
body.valerion-site .portal-content :is(h1, h2, h3, h4) { color: #f0d89d; font-family: var(--portal-serif) !important; }
body.valerion-site .portal-content a { color: #e8c774 !important; }
body.valerion-site .portal-content p { line-height: 1.55; }

/* News pages still inject legacy warm-theme rules; restore contrast inside the portal. */
body.valerion-site .portal-content .rpg-news-container,
body.valerion-site .portal-content .rpg-news-header,
body.valerion-site .portal-content .rpg-news-body {
  color: #d8d9d7 !important;
  border-color: rgba(224, 189, 116, .22) !important;
}

body.valerion-site .portal-content .rpg-news-header {
  background: rgba(12, 16, 19, .52) !important;
}

body.valerion-site .portal-content .rpg-news-title {
  color: #f0d89d !important;
}

body.valerion-site .portal-content :is(.rpg-news-author, .rpg-news-date) {
  color: #b8c0c1 !important;
}

body.valerion-site .portal-content .rpg-news-body :is(p, div, li) {
  color: #d8d9d7 !important;
}

body.valerion-site .portal-content .v-news-ticker-title {
  color: #f0d89d !important;
}

body.valerion-site .portal-content .v-news-ticker-head {
  color: #f0d89d !important;
  background: #202c38 !important;
}

body.valerion-site .portal-content .v-news-ticker-row {
  color: #493620 !important;
  background: #ead8b6 !important;
  border-color: rgba(91, 61, 28, .18) !important;
}

body.valerion-site .portal-content .v-news-ticker-row :is(.v-news-ticker-date, .v-news-ticker-text, .v-news-ticker-arrow) {
  color: #493620 !important;
}

/* Right column */
.portal-launch-card { padding: 13px 12px 14px; text-align: center; }
.portal-launch-card > h2 { min-height: 0; padding: 0; border: 0; color: #aef08a; background: none; font-size: 16px !important; }
.portal-launch-card p { margin: 7px 0 11px; color: #e7dfc9; font-size: 11px; line-height: 1.45; }

.portal-discord {
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #8b7dd9;
  border-radius: 3px;
  color: #fff !important;
  background: linear-gradient(#7765ce, #4e3c9e);
  font: 700 12px var(--portal-sans);
  text-decoration: none !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .2);
}

.portal-discord i { margin-right: 5px; }

.portal-mode-card { padding-bottom: 11px; }
.portal-mode-line, .portal-save-line { padding: 11px 12px 9px; display: grid; text-align: center; }
.portal-mode-line { grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid rgba(224, 189, 116, .18); text-align: left; }
.portal-mode-line span, .portal-save-line span { color: #b8c2c6; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.portal-mode-line strong { font: 800 16px var(--portal-serif); }
.portal-mode-card.mode-pvp .portal-mode-line strong { color: #ff8a75; }
.portal-mode-card.mode-no-pvp .portal-mode-line strong { color: #86e09c; }
.portal-save-line strong { margin: 4px 0; color: #f3d991; font: 800 22px/1 var(--portal-sans); letter-spacing: .06em; }
.portal-save-line small { color: #949da1; font-size: 8px; line-height: 1.3; }

.portal-ranking-card > h2,
.portal-deaths-card > h2 { font-size: 15px !important; }
.portal-ranking { display: grid; }

.portal-ranking > a {
  min-height: 48px;
  padding: 4px 8px;
  display: grid;
  grid-template-columns: 18px 35px minmax(0, 1fr);
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  color: #e9e4d9 !important;
  text-decoration: none !important;
}

.portal-ranking > a:hover { background: rgba(255, 255, 255, .035); }
.portal-ranking > a > b { color: var(--portal-gold); font-size: 10px; }
.portal-rank-outfit { width: 34px; height: 38px; display: grid; place-items: center; overflow: hidden; }
.portal-rank-outfit img {
  width: 42px;
  max-height: 46px;
  object-fit: contain;
  margin-right: 40px;
  margin-bottom: 42px;
  margin-top: -13px;
}
.portal-ranking > a > span:last-child { min-width: 0; display: grid; }
.portal-ranking strong { overflow: hidden; color: #f0e7d6; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.portal-ranking small { overflow: hidden; color: #9fa6a7; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }

.portal-card-link {
  padding: 9px 10px;
  display: block;
  color: #d9ba71 !important;
  font-size: 9px;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.portal-empty { padding: 14px 10px; color: #aeb3b1; font-size: 10px; text-align: center; }

.portal-shop-callout {
  min-height: 102px;
  padding: 0 12px 12px;
  display: grid;
  align-content: start;
  justify-items: center;
  color: #fff1c7 !important;
  background: radial-gradient(circle at 50% 100%, #865112, transparent 62%), linear-gradient(#5b330d, #281b10);
  text-align: center;
  text-decoration: none !important;
}

.portal-shop-callout > span {
  width: calc(100% + 24px);
  margin-bottom: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #f0b340;
  background: linear-gradient(#d88b18, #9a5407);
  font: 700 20px var(--portal-serif);
  text-transform: uppercase;
  text-shadow: 0 1px 2px #4e2600;
}

.portal-shop-callout i { font-size: 8px; vertical-align: middle; }
.portal-shop-callout strong { font: 700 12px var(--portal-serif); }
.portal-shop-callout small { margin-top: 4px; color: #d6bc89; font-size: 9px; }

.portal-deaths-card > a {
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 17px 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  color: #e8e1d6 !important;
  text-decoration: none !important;
}

.portal-deaths-card > a > span { color: #d7624e; font: 700 17px var(--portal-serif); }
.portal-deaths-card p { margin: 0; display: grid; }
.portal-deaths-card strong { font-size: 9px; }
.portal-deaths-card small { color: #9ca4a6; font-size: 8px; }

/* Keep existing application pages usable inside the darker center panel. */
body.valerion-site .portal-content :is(
  .account-create-shell,.account-info-shell,.account-manage-shell,.login-shell,.delete-char-container,
  .download-wrapper,.downloads-wrapper,.val-downloads-hero,.deaths-wrapper,.valerion-online-container,
  .valerion-ban-wrapper,.valerion-char-wrapper,.valerion-elite-wrapper,.guild-list-container,.guild-wrapper,
  .SwampContainer,.rules-container,.policy-container,.training-wrapper,.rarity-container,.wiki-container,
  .codex-wrapper,.rpg-container,.rpg-guide-container,.rpg-info-container,.rpg-error-box,
  .valerion-search-container,.valerion-msg-container,.hs-shell,.vd-store-card,.vd-paypal-card,
  .vd-info-card,.streams-container,.table-container,.TableContainer
) { margin-inline: 0 !important; max-width: none !important; }

/*
 * Global application skin
 * Internal MyAAC pages ship late, page-specific CSS.  Keep every account,
 * community, ranking and store screen inside the same navy/gold portal skin.
 */
body.valerion-site .portal-content {
  --page-ink: #171b20;
  --page-panel: #20262c;
  --page-panel-soft: #293138;
  --page-panel-deep: #11161a;
  --page-line: rgba(216, 182, 111, .34);
  --page-line-soft: rgba(216, 182, 111, .16);
  --page-gold: #d8b66f;
  --page-gold-light: #f2d899;
  --page-text: #dedbd2;
  --page-muted: #aeb3b2;
  color: var(--page-text);
}

body.valerion-site .portal-content :is(
  .account-create-shell,.account-info-shell,.account-manage-shell,.login-shell,.delete-char-container,
  .download-wrapper,.downloads-wrapper,.val-downloads,.val-downloads-hero,.deaths-wrapper,
  .valerion-online-container,.valerion-ban-wrapper,.valerion-char-wrapper,.valerion-elite-wrapper,
  .guild-list-container,.guild-wrapper,.rules-container,.policy-container,.training-wrapper,
  .rarity-container,.wiki-container,.codex-wrapper,.streams-container,.hs-shell,
  .rpg-container,.rpg-guide-container,.rpg-info-container,.rpg-error-box,.rpg-ticker,
  .valerion-search-container,.valerion-msg-container,.SwampContainer,.table-container,.TableContainer,
  .vd-store-card,.vd-paypal-card,.vd-info-card,.box,.card,.panel
) {
  color: var(--page-text) !important;
  border-color: var(--page-line) !important;
  background: linear-gradient(180deg, rgba(38, 46, 53, .98), rgba(22, 27, 32, .98)) !important;
  background-image: linear-gradient(180deg, rgba(38, 46, 53, .98), rgba(22, 27, 32, .98)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 10px 24px rgba(0, 0, 0, .24) !important;
}

body.valerion-site .portal-content :is(
  .account-create-head,.account-info-head,.account-manage-head,.login-head,
  .valerion-header,.valerion-header-css,.valerion-search-header,.valerion-table-header,
  .guild-header,.GuildHeader,.elite-header,.rpg-header,.rpg-info-header,.rpg-error-header,
  .rpg-ticker-header,.hs-header,.TableTopHeader,.CaptionContainer,.box-header,.card-header,
  .panel-heading,.v-news-ticker-head,.v-news-card-header
) {
  color: var(--page-gold-light) !important;
  border-color: var(--page-line) !important;
  background: linear-gradient(180deg, #30485a, #1d303e) !important;
  background-image: linear-gradient(180deg, #30485a, #1d303e) !important;
  text-shadow: 0 1px 1px #000 !important;
}

body.valerion-site .portal-content :is(
  h1,h2,h3,h4,h5,.account-create-title,.account-info-title,.account-manage-title,.login-head-title,
  .val-downloads-title,.memorial-title,.codex-title,.system-title,.rpg-title,.rpg-subtitle,
  .rpg-guide-title,.rpg-section-title,.category-title,.rule-section-title,.PanelTitle,.box-title,
  .card-title,.section-title
) {
  color: var(--page-gold-light) !important;
  border-color: var(--page-line) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .75) !important;
}

body.valerion-site .portal-content :is(
  .account-create-panel,.account-info-panel,.account-manage-card,.login-panel,.SwampPanel,
  .rpg-panel,.rpg-content,.rpg-guide-steps,.dungeon-panel,.elite-card,.fragment-card,.benefit-card,
  .skill-card,.slot-card,.pool-card,.weapon-card,.voc-card,.guide-step,.step-item,.rule-category,
  .rule-item,.info-box,.highlight-box,.calc-box,.warning-box,.streamer-card,.v-news-card,
  .v-news-card-body,.rpg-news-body,.val-download-card,.val-download-box,.val-step-num,
  .OptionContainer,.status-dashboard,.voc-stats-grid,.valerion-table-wrapper,.rpg-ticker-container,
  .status-item,.player-row,.rpg-ticker-row,.account-manage-character,.form-section
) {
  color: var(--page-text) !important;
  border-color: var(--page-line-soft) !important;
  background: rgba(31, 38, 44, .96) !important;
  background-image: none !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025) !important;
}

body.valerion-site .portal-content .step-item {
  background: rgba(216, 182, 111, .09) !important;
}

body.valerion-site .portal-content :is(
  p,li,dd,.help-block,.description,.account-create-copy,.account-info-copy,.login-copy,
  .val-downloads-text,.val-download-meta,.val-download-note,.val-download-box p,.rpg-description
) { color: var(--page-text) !important; }

body.valerion-site .portal-content :is(
  small,.muted,.text-muted,.subtext,.hint,.account-create-hint,.account-info-hint,.login-hint
) { color: var(--page-muted) !important; }

body.valerion-site .portal-content :is(
  .rpg-highlight,.rpg-guide-title,.rpg-section-title,.step-number,.status-value,.voc-count,
  .online-indicator,.rpg-ticker-date,.val-downloads-eyebrow,.val-downloads-text strong,
  .val-download-box h4,.v-news-card-body a,.v-news-card-link,.vd-price,.vd-title
) { color: var(--page-gold) !important; }

body.valerion-site .portal-content .step-number {
  color: #15191d !important;
  border: 1px solid #f0d18b !important;
  background: linear-gradient(#edcf89, #b88a3d) !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .35) !important;
}

body.valerion-site .portal-content :is(
  label,.rpg-label,.account-create-label,.account-info-label,.login-label,.control-label,
  .hs-filter-label,.valerion-label,.valerion-search-label,.FormFieldLabel
) { color: #e6cd95 !important; }

body.valerion-site .portal-content :is(
  input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
  select,textarea,.rpg-input,.account-create-input,.account-info-input,.account-info-select,
  .login-input,.form-control,.valerion-input-field,.hs-filter-control
) {
  color: #f2eee5 !important;
  border: 1px solid rgba(216, 182, 111, .48) !important;
  background: #0f1418 !important;
  background-image: none !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, .58), 0 1px rgba(255, 255, 255, .025) !important;
}

body.valerion-site .portal-content :is(input,select,textarea)::placeholder { color: #7f888b !important; }
body.valerion-site .portal-content :is(input,select,textarea):focus {
  border-color: #e2bd70 !important;
  outline: 0 !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.58), 0 0 0 2px rgba(216,182,111,.16) !important;
}
body.valerion-site .portal-content :is(input[type="radio"],input[type="checkbox"]) { accent-color: #c49a4a !important; }

body.valerion-site .portal-content :is(
  button:not(.close):not(.login-eye),input[type="submit"],input[type="button"],.btn,.btn-primary,
  .btn-success,.rpg-btn,.download-button,.rarity-button,.linkButton,.BigButton,.bazar-nav-button,
  .account-create-submit,.account-info-submit,.login-submit,.valerion-btn-search,.hs-view-button,
  .vd-access-button,.vd-submit,.btn-rpg-back,.BtnSwampBack
) {
  color: #fff3d1 !important;
  border-color: #c99742 !important;
  background: linear-gradient(180deg, #b87824, #74410d) !important;
  background-image: linear-gradient(180deg, #b87824, #74410d) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.2), 0 2px 6px rgba(0,0,0,.28) !important;
  text-shadow: 0 1px 1px #3b2108 !important;
}

body.valerion-site .portal-content :is(
  button:not(.close):not(.login-eye),input[type="submit"],input[type="button"],.btn,.rpg-btn,
  .download-button,.linkButton,.BigButton,.account-create-submit,.account-info-submit,.login-submit
):hover {
  color: #fff9e8 !important;
  border-color: #e2bd70 !important;
  background: linear-gradient(180deg, #d09135, #8f5518) !important;
  background-image: linear-gradient(180deg, #d09135, #8f5518) !important;
}

body.valerion-site .portal-content :is(.btn-danger,.btn-confirm-delete,.remove-button,.delete) {
  color: #ffe7df !important;
  border-color: #bb5f4d !important;
  background: linear-gradient(180deg, #a94d3c, #67251d) !important;
  background-image: linear-gradient(180deg, #a94d3c, #67251d) !important;
}

body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table,
  .TableContentContainer,.TableContainer,.TableContent,.Table1,.Table2,.Table3,.Table4,.Table5) {
  color: var(--page-text) !important;
  border-color: var(--page-line) !important;
  background: #171d22 !important;
  background-image: none !important;
}

body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table) thead th,
body.valerion-site .portal-content :is(.tableHead,.LabelH,.LabelV) {
  color: var(--page-gold-light) !important;
  border-color: var(--page-line) !important;
  background: #263d4d !important;
  background-image: none !important;
}

body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table) tbody tr,
body.valerion-site .portal-content :is(.tableRow,.tableRow0,.tableRow1,.Odd,.Even) {
  color: var(--page-text) !important;
  border-color: rgba(216,182,111,.1) !important;
  background: #1c2227 !important;
  background-image: none !important;
}
body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table) tbody tr:nth-child(even),
body.valerion-site .portal-content :is(.tableRow1,.Even) { background: #232b31 !important; }
body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table) tbody tr:hover,
body.valerion-site .portal-content :is(.tableRow,.tableRow0,.tableRow1):hover { background: #303a42 !important; }
body.valerion-site .portal-content :is(td,th) { border-color: rgba(216,182,111,.12) !important; }

/* Neutralize the old forest palette, including inline declarations used by plugins. */
body.valerion-site .portal-content [style*="#0d1a0d" i],
body.valerion-site .portal-content [style*="#050a05" i],
body.valerion-site .portal-content [style*="#050a06" i],
body.valerion-site .portal-content [style*="#051208" i],
body.valerion-site .portal-content [style*="#071407" i],
body.valerion-site .portal-content [style*="#0b1d0b" i],
body.valerion-site .portal-content [style*="#1a2e1a" i],
body.valerion-site .portal-content [style*="#253a1a" i] {
  color: var(--page-text) !important;
  border-color: var(--page-line) !important;
  background: var(--page-panel) !important;
  background-image: none !important;
}

body.valerion-site .portal-content [style*="#4a6336" i],
body.valerion-site .portal-content [style*="#3d5a2d" i],
body.valerion-site .portal-content [style*="#8dbd69" i],
body.valerion-site .portal-content [style*="#4efd54" i] { color: var(--page-gold) !important; border-color: var(--page-line) !important; }

body.valerion-site .portal-content :is(.rpg-guide-container,.rpg-container) {
  border-color: var(--page-line) !important;
  background: linear-gradient(180deg, #26313a, #171d22) !important;
  background-image: linear-gradient(180deg, #26313a, #171d22) !important;
}

body.valerion-site .portal-content :is(.rpg-guide-container,.rpg-container,.rpg-content,.rpg-guide-steps) * {
  border-color: var(--page-line-soft);
}

body.valerion-site .portal-content :is(.spam-alert,.alert-info,.alert-warning,.alert-success,.alert-danger) {
  color: #e7dcc5 !important;
  border-color: var(--page-line) !important;
  background: rgba(216,182,111,.09) !important;
  background-image: none !important;
}

body.valerion-site .portal-content :is(table,img,video,iframe) { max-width: 100%; }
body.valerion-site .portal-content :is(.container,.wrapper,[class*="-wrapper"],[class*="-container"]) { max-width: 100%; }

/* Contemporary typography: ceremonial display face + highly legible UI face. */
body.valerion-site {
  font-family: var(--portal-sans) !important;
  font-size: 14px;
  font-weight: 500;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.valerion-site :is(
  .portal-topbar,.portal-banner,.portal-layout,.portal-left,.portal-right,.portal-content,
  input,button,select,textarea,table
) { font-family: var(--portal-sans) !important; }

body.valerion-site :is(
  .portal-brand > span,.portal-card > h2,.portal-menu-card > h2,.portal-section-title h1,
  .portal-content h1,.portal-content h2,.portal-content h3,.portal-content h4,
  .portal-mode-line strong,.portal-shop-callout > span,.portal-shop-callout strong
) { font-family: var(--portal-serif) !important; }

.portal-brand > span {
  font-size: 25px;
  font-weight: 800;
  letter-spacing: .015em;
}

.portal-nav a,
.portal-account > a {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .015em;
}

.portal-banner-content > span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .24em;
}

.portal-banner-content p {
  font-family: var(--portal-serif) !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.portal-card > h2,
.portal-menu-card > h2 {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
}

.portal-login label {
  font-size: 11px;
  font-weight: 600;
}

.portal-login input {
  font-size: 13px;
  font-weight: 500;
}

.portal-button {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}

.portal-menu-card nav a {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

.portal-download strong { font-size: 16px; font-weight: 700; }
.portal-download small { font-size: 9px; font-weight: 500; }

.portal-section-title h1 {
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
}

body.valerion-site .portal-content {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

body.valerion-site .portal-content :is(h1,h2,h3,h4) {
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: .018em;
}

body.valerion-site .portal-content h1 { font-size: 23px !important; }
body.valerion-site .portal-content h2 { font-size: 19px !important; }
body.valerion-site .portal-content h3 { font-size: 16px !important; }
body.valerion-site .portal-content h4 { font-size: 14px !important; }

body.valerion-site .portal-content :is(p,li,dd) {
  font-size: 14px;
  line-height: 1.65 !important;
}

body.valerion-site .portal-content :is(
  label,.rpg-label,.account-create-label,.account-info-label,.login-label,.control-label,
  .hs-filter-label,.valerion-label,.valerion-search-label,.FormFieldLabel
) {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .005em;
}

body.valerion-site .portal-content :is(input,button,select,textarea,.btn,.rpg-btn) {
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.valerion-site .portal-content :is(table,.tb_datatable,.SwampTable,.hs-table,.account-manage-table) {
  font-size: 13px !important;
  line-height: 1.45;
}

body.valerion-site .portal-content :is(th,.tableHead,.LabelH,.LabelV) {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
}

.portal-right :is(p,a,span,small,strong) { font-family: var(--portal-sans); }
.portal-ranking strong { font-size: 11px; font-weight: 700; }
.portal-ranking small { font-size: 9px; font-weight: 500; }
.portal-mode-line span,.portal-save-line span { font-size: 9px; font-weight: 700; }
.portal-card-link { font-size: 10px; font-weight: 700; }

@media (max-width: 1120px) {
  .portal-topbar-row { grid-template-columns: 130px minmax(0, 1fr) auto; gap: 8px; }
  .portal-nav a { padding-inline: 8px; font-size: 10px; }
  .portal-layout { grid-template-columns: 190px minmax(0, 1fr); }
  .portal-right { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
  .portal-deaths-card { display: none; }
}

@media (max-width: 820px) {
  body.valerion-site { background-position: top 58px center; }
  .portal-topbar-row { grid-template-columns: auto 1fr; }
  .portal-brand > span { font-size: 20px; }
  .portal-nav { order: 3; grid-column: 1 / -1; overflow-x: auto; justify-content: flex-start; border-top: 1px solid rgba(255,255,255,.06); }
  .portal-nav a { padding-block: 11px; }
  .portal-account { justify-self: end; }
  .portal-banner { min-height: 245px; }
  .portal-layout { margin-top: -20px; grid-template-columns: 170px minmax(0, 1fr); }
  .portal-left { gap: 9px; }
  .portal-menu-card nav a { padding-left: 20px; }
  .portal-menu-card nav a::before { left: 9px; }
  .portal-content { padding: 12px; }
  .portal-right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .portal-shell { width: min(100% - 18px, 1240px); }
  .portal-topbar-row { min-height: 54px; }
  .portal-brand img { width: 34px; height: 34px; }
  .portal-account > a:not(.portal-account-button) { display: none; }
  .portal-account .portal-account-button { padding: 9px 11px; font-size: 9px; }
  .portal-banner { min-height: 210px; }
  .portal-banner-content { padding-bottom: 30px; }
  .portal-banner-content > span { font-size: 8px; }
  .portal-banner-content img { height: 125px; }
  .portal-banner-content p { max-width: 310px; font-size: 13px; }
  .portal-layout { margin-top: -12px; grid-template-columns: 1fr; }
  .portal-left { grid-template-columns: 1fr 1fr; align-items: start; }
  .portal-login-card { grid-row: span 2; }
  .portal-download { min-height: 48px; }
  .portal-center { grid-row: auto; }
  .portal-right { grid-template-columns: 1fr 1fr; }
  .portal-shop-callout { display: none; }
}

@media (max-width: 430px) {
  .portal-brand > span { font-size: 18px; }
  .portal-banner-content p { display: none; }
  .portal-left, .portal-right { grid-template-columns: 1fr; }
  .portal-login-card { grid-row: auto; }
  .portal-section-title h1 { font-size: 17px !important; }
  .portal-content { padding: 9px; }
}
