:root {
  --rf-pink: #f5228b;
  --rf-pink-deep: #bf0d67;
  --rf-purple: #6f2fbd;
  --rf-ink: #211724;
  --rf-muted: #766777;
  --rf-line: rgba(236, 34, 132, .5);
  --rf-panel: rgba(255, 255, 255, .96);
}

html { scroll-behavior: smooth; }

body#body-overlay {
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--rf-ink);
  background: #fff8fc;
  font-family: "Chakra Petch", "Rajdhani", Arial, sans-serif;
}

body#body-overlay::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.95), rgba(255,246,251,.96)),
    url('../images/rf-assets/heroes/home-character.png') right -120px center / 760px auto no-repeat;
}

body#body-overlay::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .55;
  pointer-events: none;
  background:
    linear-gradient(125deg, transparent 0 18%, rgba(245,34,139,.055) 18.1% 18.45%, transparent 18.55% 69%, rgba(245,34,139,.045) 69.1% 69.35%, transparent 69.45%),
    radial-gradient(circle at 1px 1px, rgba(245,34,139,.17) 1px, transparent 1.5px);
  background-size: auto, 18px 18px;
}

.rfv-dust { display: none !important; }
.rfv-shell { width: min(1440px, calc(100% - 48px)); }

/* Navigation uses the supplied RF EVILX logo and button artwork. */
.rfv-nav {
  position: sticky;
  top: -110px;
  z-index: 100;
  height: 76px;
  gap: 24px;
  padding: 0 max(24px, calc((100vw - 1440px) / 2));
  background: rgba(255,255,255,.97);
  border: 0;
  border-bottom: 2px solid #f52a91;
  box-shadow: 0 9px 25px rgba(81,24,61,.1);
}

.rfv-nav::before,
.rfv-nav::after {
  content: "";
  position: absolute;
  top: 0;
  width: 125px;
  height: 9px;
  background: repeating-linear-gradient(125deg, var(--rf-pink) 0 18px, transparent 18px 25px);
}
.rfv-nav::before { left: 0; }
.rfv-nav::after { right: 0; transform: scaleX(-1); }

.rfv-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: 225px;
  line-height: 1;
  text-decoration: none;
}
.rfv-brand img { display: block; width: 216px; height: 54px; object-fit: contain; object-position: left center; }
.rfv-brand small { margin: -7px 0 0 50px; color: #7c6877; font: 600 7px Orbitron, sans-serif; letter-spacing: 2px; }

.rfv-links { gap: clamp(14px, 1.8vw, 28px); }
.rfv-links a { position: relative; color: #201822; font-size: 11px; text-shadow: none; }
.rfv-links a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -25px;
  height: 3px;
  background: var(--rf-pink);
  transition: .18s ease;
}
.rfv-links a:hover::after,
.rfv-page-home .rfv-links a:nth-child(1)::after,
.rfv-page-register .rfv-links a:nth-child(2)::after,
.rfv-page-download .rfv-links a:nth-child(3)::after,
.rfv-page-event1 .rfv-links a:nth-child(4)::after,
.rfv-page-refill .rfv-links a:nth-child(5)::after,
.rfv-page-ranking .rfv-links a:nth-child(6)::after,
.rfv-page-boss_stat .rfv-links a:nth-child(7)::after,
.rfv-page-help .rfv-links a:nth-child(8)::after { left: 0; right: 0; }
.rfv-links a:hover { color: var(--rf-pink); text-shadow: none; }

.rfv-play {
  min-width: 170px;
  min-height: 58px;
  padding: 12px 31px 9px 23px;
  border: 0;
  clip-path: none;
  color: #251424;
  background: url('../images/rf-assets/buttons/button_10.png') center / 100% 100% no-repeat;
  box-shadow: none;
}
.rfv-play strong { font-size: 12px; }
.rfv-play small { color: #7e2b5b; }
.rfv-play .rfv-icon { display: none; }
.rfv-menu-toggle { color: var(--rf-pink); }

/* Hero: supplied transparent character art, supplied iconography, live text. */
.rfv-home-hero {
  min-height: 540px;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  border-bottom: 3px solid var(--rf-pink);
  background:
    linear-gradient(103deg, rgba(255,255,255,.99) 0 42%, rgba(255,255,255,.78) 56%, rgba(255,235,247,.12) 76%),
    linear-gradient(138deg, #fff 0 58%, #ff3197 58.2% 69%, #411545 69.2% 100%);
}
.rfv-home-hero::before {
  content: "RF";
  position: absolute;
  left: -25px;
  top: 82px;
  z-index: -1;
  color: rgba(245,34,139,.07);
  font: 800 225px/.8 Orbitron, sans-serif;
  letter-spacing: -28px;
  transform: rotate(-8deg);
}
.rfv-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(128deg, transparent 0 75%, rgba(255,255,255,.4) 75.2% 77%, transparent 77.2%),
    repeating-linear-gradient(132deg, transparent 0 36px, rgba(255,255,255,.3) 36px 40px);
  clip-path: polygon(69% 0,100% 0,100% 100%,83% 100%);
}
.rfv-hero-character {
  position: absolute;
  right: clamp(105px, 9vw, 185px);
  bottom: -78px;
  z-index: 2;
  width: min(750px, 50vw);
  height: 615px;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 17px 25px rgba(67,10,48,.2));
  clip-path: none;
}
.rfv-home-hero__copy { position: relative; z-index: 4; padding-top: 62px; }
.rfv-eyebrow { margin-bottom: 8px; color: #1d1720; font: 700 13px Orbitron, sans-serif; letter-spacing: 5px; }
.rfv-home-hero h1 {
  margin: 0;
  color: #17131a;
  font-size: clamp(52px, 5.4vw, 82px);
  line-height: .84;
  letter-spacing: -5px;
  text-shadow: 3px 3px 0 #fff, 6px 6px 0 rgba(245,34,139,.28);
}
.rfv-home-hero h1 span { font-size: .66em; }
.rfv-home-hero h1 em { color: var(--rf-pink); font-size: 1.26em; font-style: normal; text-shadow: 3px 3px #fff, 6px 6px #74104b; }
.rfv-hero-tagline { display: inline-block; margin: 13px 0 0; padding: 5px 17px; color: #fff; background: #21151f; font: 700 12px Orbitron, sans-serif; transform: skewX(-10deg); }
.rfv-lead { margin: 14px 0 19px; color: #554953; font-size: 16px; line-height: 1.35; }
.rfv-actions { display: flex; gap: 7px; flex-wrap: wrap; }
.rfv-button {
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  min-width: 202px;
  min-height: 67px;
  padding: 11px 22px;
  border: 0;
  clip-path: none;
  color: #2a1725;
  background: url('../images/rf-assets/buttons/button_06.png') center / 100% 100% no-repeat;
  box-shadow: none;
  font-size: 11px;
  text-shadow: 0 1px #fff;
}
.rfv-button--hot { background-image: url('../images/rf-assets/buttons/button_05.png'); }
.rfv-button small { color: #81345f; }
.rfv-button .rfv-icon { width: 32px; height: 32px; }
.rfv-button:hover { transform: translateY(-2px); filter: saturate(1.18) drop-shadow(0 8px 11px rgba(179,26,105,.22)); color: #140e14; }
.rfv-hero-ribbon {
  position: absolute;
  right: 30px;
  top: 75px;
  z-index: 3;
  width: 215px;
  padding: 24px 10px 20px;
  color: white;
  border: 1px solid rgba(255,255,255,.55);
  background: linear-gradient(145deg,rgba(246,34,139,.92),rgba(94,26,114,.88));
  clip-path: polygon(14% 0,100% 0,100% 83%,86% 100%,0 100%,0 16%);
  transform: rotate(-2deg);
}
.rfv-hero-ribbon span,.rfv-hero-ribbon b { font-size: 28px; line-height: .88; }
.rfv-hero-ribbon b { font-size: 24px; }

/* Supplied icon set. */
.rfv-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: var(--cell, 40px);
  height: var(--cell, 40px);
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
.rfv-icon::before { display: none !important; }
.rfv-icon--start,.rfv-icon--play,.rfv-icon--arrow { background-image: url('../images/rf-assets/icons/icon_01.png') !important; }
.rfv-icon--download,.rfv-icon--upload { background-image: url('../images/rf-assets/icons/icon_02.png') !important; }
.rfv-icon--user,.rfv-icon--lock { background-image: url('../images/rf-assets/icons/icon_03.png') !important; }
.rfv-icon--rate { background-image: url('../images/rf-assets/icons/icon_04.png') !important; }
.rfv-icon--players { background-image: url('../images/rf-assets/icons/icon_05.png') !important; }
.rfv-icon--refresh { background-image: url('../images/rf-assets/icons/icon_06.png') !important; }
.rfv-icon--event,.rfv-icon--star { background-image: url('../images/rf-assets/icons/icon_09.png') !important; }
.rfv-icon--trophy,.rfv-icon--crown { background-image: url('../images/rf-assets/icons/icon_10.png') !important; }
.rfv-icon--shield,.rfv-icon--guild,.rfv-icon--target { background-image: url('../images/rf-assets/icons/icon_12.png') !important; }
.rfv-icon--progress { background-image: url('../images/rf-assets/icons/icon_13.png') !important; }
.rfv-icon--pvp { background-image: url('../images/rf-assets/icons/icon_14.png') !important; }
.rfv-icon--boss { background-image: url('../images/rf-assets/icons/icon_16.png') !important; }
.rfv-icon--diamond { background-image: url('../images/rf-assets/icons/icon_18.png') !important; }
.rfv-icon--web,.rfv-icon--gear { background-image: url('../images/rf-assets/icons/icon_19.png') !important; }
.rfv-icon--facebook { background-image: url('../images/rf-assets/icons/icon_20.png') !important; }
.rfv-icon--discord { background-image: url('../images/rf-assets/icons/icon_21.png') !important; }
.rfv-icon--crest { background-image: url('../images/rf-assets/icons/icon_22.png') !important; }

/* Home panels use the supplied transparent panel artwork. */
.rfv-home { padding: 0 0 38px; background: rgba(255,250,253,.88); }
.rfv-statusbar {
  position: relative;
  z-index: 5;
  margin-top: -1px;
  padding: 12px 18px;
  border: 0;
  clip-path: none;
  background: url('../images/rf-assets/panels/panel_01.png') center / 100% 100% no-repeat;
  box-shadow: none;
}
.rfv-statusbar > div { min-height: 70px; padding: 11px 15px; border-right: 1px solid #ebcadb; }
.rfv-statusbar .rfv-icon { float: left; --cell: 45px; margin: 0 11px 0 0; }
.rfv-statusbar span { color: #6c5a68; }
.rfv-statusbar strong { color: #241921; font-size: 13px; }
.rfv-statusbar > div:first-child strong { color: #11a858; }

.rfv-server-slot,.rfv-war-slot { margin-top: 13px; }
.rfv-server-widget,.rfv-war-widget {
  color: var(--rf-ink) !important;
  border: 0 !important;
  /*background: url('../images/rf-assets/panels/panel_01.png') center / 100% 100% no-repeat !important;*/
  filter: drop-shadow(0 9px 15px rgba(97,31,67,.09));
  box-shadow: none !important;
}
.rfv-server-widget {
  display: grid;
  grid-template-columns: minmax(230px,.9fr) minmax(360px,1.45fr) minmax(255px,1fr);
  gap: 13px;
  align-items: stretch;
  min-width: 0;
  padding: 24px 27px;
}
.rfv-server-widget__head,.rfv-service,.rfv-metric,.rfv-chipwar {
  min-width: 0;
  border: 0;
  background: url('../images/rf-assets/panels/panel_03.png') center / 100% 100% no-repeat;
}
.rfv-server-widget__head { display: flex; align-items: center; gap: 11px; min-height: 130px; padding: 20px; }
.rfv-server-widget__head > .rfv-icon { --cell: 47px; flex: 0 0 47px; }
.rfv-server-widget__head div { display: grid; gap: 3px; min-width: 0; }
.rfv-server-widget__head span,.rfv-metric span,.rfv-service span { color: #736473; font: 600 9px Orbitron,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.rfv-server-widget__head strong { color: #19a95d; font: 800 18px Orbitron,sans-serif; }
.rfv-server-widget[data-server-state=offline] .rfv-server-widget__head strong { color: var(--rf-pink); }
.rfv-server-widget__head small { margin-left: auto; align-self: flex-start; color: #8c7180; font: 600 9px Orbitron,sans-serif; white-space: nowrap; }
.rfv-server-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.rfv-service { display: grid; grid-template-columns: 38px minmax(0,1fr); align-content: center; gap: 2px 8px; min-height: 130px; padding: 18px; }
.rfv-service > .rfv-icon { --cell: 34px; grid-row: span 2; }
.rfv-service b { color: #17a65a; font: 800 11px Orbitron,sans-serif; }
.rfv-service.is-offline b { color: var(--rf-pink); }
.rfv-server-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 7px; }
.rfv-metric { display: grid; grid-template-columns: 29px minmax(0,1fr); align-items: center; gap: 0 8px; min-height: 49px; padding: 9px 12px; }
.rfv-metric:first-child { grid-column: 1/-1; }
.rfv-metric > .rfv-icon { --cell: 27px; grid-row: span 2; }
.rfv-metric b { color: #2c202a; font: 700 15px Rajdhani,sans-serif; white-space: nowrap; }
.rfv-race-online { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.rfv-race-online > span { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px; padding: 7px 9px; border-left: 3px solid var(--rf-pink); background: #fff1f8; }
.rfv-race-online .is-cora { border-left-color: #8e4ad4; }
.rfv-race-online .is-bellato { border-left-color: #4d95da; }
.rfv-race-online small { overflow: hidden; color: #765f70; font: 700 8px Orbitron,sans-serif; text-overflow: ellipsis; }
.rfv-race-online b { color: #291d28; font: 800 15px Rajdhani,sans-serif; }
.rfv-chipwar { grid-column: 1/-1; display: flex; align-items: center; gap: 8px; min-height: 47px; padding: 9px 14px; }
.rfv-chipwar > .rfv-icon { --cell: 24px; }
.rfv-chipwar > span { color: #715d6d; font: 700 10px Orbitron,sans-serif; text-transform: uppercase; }
.rfv-chipwar > b { display: flex; gap: 5px; margin-left: auto; }
.rfv-chipwar b i { padding: 4px 9px; color: white; background: var(--rf-pink); font: 700 10px Orbitron,sans-serif; font-style: normal; }
.rfv-server-widget__head,.rfv-war-widget__head { border-bottom-color: #efc3d9 !important; }
.rfv-server-widget__head strong,.rfv-war-widget__head strong,.rfv-war-widget__body h2 { color: #281c26 !important; }

.rfv-features { gap: 9px; padding: 14px 0; }
.rfv-features article {
  min-height: 118px;
  padding: 17px 15px;
  color: var(--rf-ink) !important;
  border: 0 !important;
  background: url('../images/rf-assets/panels/panel_03.png') center / 100% 100% no-repeat !important;
  box-shadow: none !important;
}
.rfv-features .rfv-icon { float: left; --cell: 48px; margin-right: 11px; }
.rfv-features h3 { color: #271b25; }
.rfv-features p { color: #6b5e69; }

.rfv-panel,.rfv-callout {
  color: var(--rf-ink) !important;
  border: 0 !important;
  background-color: transparent !important;
  background-image: url('../images/rf-assets/panels/panel_01.png') !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
}
.rfv-panel { padding: 24px 25px; }
.rfv-panel h2,.rfv-callout h2 { color: #241a23; }
.rfv-news-card {
  color: #281d26;
  border: 0 !important;
  background: url('../images/rf-assets/panels/panel_06.png') center / 100% 100% no-repeat !important;
  padding: 11px 11px 17px;
}
.rfv-news-card img { border-radius: 2px; }
.rfv-news-card p { color: #6b5d68; }
.rfv-news-card:hover { filter: saturate(1.1) drop-shadow(0 8px 10px rgba(167,26,98,.16)); }
.rfv-community p { color: #70616e; }
.rfv-community > div { margin-top: 18px; }
.rfv-community a {
  min-height: 126px;
  padding: 20px 4px;
  color: #28172a;
  border: 0;
  background: url('../images/rf-assets/panels/panel_14.png') center / 100% 100% no-repeat;
}
.rfv-community a:nth-child(2) { background-image: url('../images/rf-assets/panels/panel_15.png'); }
.rfv-community a:nth-child(3) { background-image: url('../images/rf-assets/panels/panel_16.png'); }
.rfv-community a small { color: #382139; }
.rfv-community .rfv-icon { --cell: 48px; }
.rfv-callout { background-image: url('../images/rf-assets/panels/panel_05.png') !important; }

/* Page heroes map the seven supplied portrait/background images to routes. */
.rfv-page-hero {
  min-height: 275px;
  padding: 50px 0;
  overflow: hidden;
  border: 0;
  border-bottom: 2px solid var(--rf-pink);
  background-color: #fff;
  background-position: 82% 30%;
  background-size: 760px auto;
  background-repeat: no-repeat;
}
.rfv-page-hero::before { background: linear-gradient(90deg,#fff 0 43%,rgba(255,255,255,.91) 54%,rgba(255,255,255,.05) 78%); }
.rfv-page-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(133deg, transparent 0 67%, rgba(245,34,139,.12) 67.2% 68%, transparent 68.2%); }
.rfv-page-hero--2 { background-image: url('../images/rf-assets/heroes/register.jpg.png'); }
.rfv-page-hero--3 { background-image: url('../images/rf-assets/heroes/download.jpg.png'); }
.rfv-page-hero--4 { background-image: url('../images/rf-assets/heroes/news.jpg.png'); }
.rfv-page-hero--5 { background-image: url('../images/rf-assets/heroes/topup.jpg.png'); }
.rfv-page-hero--6 { background-image: url('../images/rf-assets/heroes/ranking.jpg.png'); }
.rfv-page-hero--7 { background-image: url('../images/rf-assets/heroes/support.jpg.png'); }
.rfv-page-hero .rfv-shell { position: relative; z-index: 2; }
.rfv-page-register .rfv-page-hero h1,.rfv-page-download .rfv-page-hero h1,
.rfv-page-event1 .rfv-page-hero h1,.rfv-page-refill .rfv-page-hero h1,
.rfv-page-ranking .rfv-page-hero h1,.rfv-page-help .rfv-page-hero h1,
.rfv-page-hero h1 { color: #211720 !important; font-size: 48px; text-shadow: 2px 2px #fff, 4px 4px rgba(245,34,139,.24); }
.rfv-page-register .rfv-page-hero h1 em,.rfv-page-download .rfv-page-hero h1 em,
.rfv-page-event1 .rfv-page-hero h1 em,.rfv-page-refill .rfv-page-hero h1 em,
.rfv-page-ranking .rfv-page-hero h1 em,.rfv-page-help .rfv-page-hero h1 em,
.rfv-page-hero h1 em { color: var(--rf-pink) !important; text-shadow: 2px 2px #fff; }
.rfv-page-hero p:last-child { max-width: 570px; color: #675866; }

/* Public-page UI: every principal card and action uses a supplied panel/button. */
.rfv-content { color: var(--rf-ink); }
.rfv-register-page,.rfv-download-page,.rfv-ranking-page,.rfv-news-page,.rfv-help-page {
  background: transparent !important;
}
.rfv-form-panel,.rfv-why-panel,.rfv-journey,
.rfv-download-panel,.rfv-download-main,.rfv-download-info,.rfv-download-status,.rfv-download-links,
.rfv-side-panel,.rfv-rank-table,.rfv-podium article,.rfv-rank-filter,
.rfv-news-browser aside,.rfv-news-feed,
.rfv-page-register .rfc-register,.rfv-page-download .rfc-download,.rfv-page-ranking .rfc-komunitas,
.rfv-page-refill .rfc-refill,.rfv-page-help .rfc-help,.rfv-page-event1 .rfc-berita {
  color: var(--rf-ink) !important;
  border: 0 !important;
  background-color: transparent !important;
  background-image: url('../images/rf-assets/panels/panel_01.png') !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
}
.rfv-page-register .rfv-content h2,.rfv-page-download .rfv-content h2,
.rfv-page-event1 .rfv-content h2,.rfv-page-refill .rfv-content h2,
.rfv-page-ranking .rfv-content h2,.rfv-page-help .rfv-content h2 { color: #291d27 !important; }
.rfv-form-panel,.rfv-why-panel,.rfv-journey,.rfv-download-panel,.rfv-rank-table,.rfv-news-feed { padding: 27px !important; }
.rfv-form-grid label,.rfv-field,
.rfv-download-cards article,.rfv-requirement-grid article,.rfv-install li,
.rfv-why-item,.rfv-journey article,.rfv-news-list article {
  color: #281c27 !important;
  border: 0 !important;
  background: url('../images/rf-assets/panels/panel_03.png') center / 100% 100% no-repeat !important;
  box-shadow: none !important;
}
.rfv-form-grid label,.rfv-field { padding: 14px 17px !important; }
.rfv-page-register .rfv-field span { color: #4d3d49 !important; }
.rfv-form-grid input,.rfv-field input,.rfv-field select,.rfv-field textarea {
  color: #2a2028 !important;
  background: transparent !important;
  border: 0 !important;
}
.rfv-form-actions button,.rfv-form-actions a,
.rfv-download-cards a,.rfv-side-panel a,
.rfv-download-page a[role="button"],.rfv-help-page button,.rfv-help-page .btn,
.rfv-page-register button,.rfv-page-register input[type=submit],.rfv-page-refill button {
  color: #281824 !important;
  border: 0 !important;
  background: url('../images/rf-assets/buttons/button_08.png') center / 100% 100% no-repeat !important;
  box-shadow: none !important;
  text-shadow: 0 1px #fff;
}
.rfv-form-actions button:hover,.rfv-form-actions a:hover,.rfv-download-cards a:hover { filter: saturate(1.2) drop-shadow(0 6px 8px rgba(151,24,88,.18)); }
.rfv-download-panel__heading,.rfv-register-panel-title {
  color: #2b1c28;
  border-bottom-color: #ecc4d8 !important;
  font-size: 25px !important;
}
/* The visible labels have older direct font declarations, so keep them in sync with the requested heading size. */
html body.rfv-page-download .rfv-download-panel .rfv-download-panel__heading > span,
html body.rfv-page-register .rfv-register-panel-title > h2 {
  color: #2b1c28 !important;
  font-size: 25px !important;
}
.rfv-download-cards p,.rfv-download-cards small,.rfv-why-panel span,.rfv-journey small,
.rfv-podium p,.rfv-news-list p { color: #746574 !important; }
.rfv-rank-table table,.rfv-page-ranking table,.rfv-page-event1 table { color: #30212e !important; background: rgba(255,255,255,.8) !important; }
.rfv-rank-table th,.rfv-page-ranking th,.rfv-page-event1 th { color: #bb0f69 !important; background: #ffe9f4 !important; }
.rfv-rank-table td { border-bottom-color: #eed3e0 !important; }
.rfv-ranking-status,.rfv-ranking-community {
  color: #2b1d29 !important;
  border: 0 !important;
  background: url('../images/rf-assets/panels/panel_06.png') center / 100% 100% no-repeat !important;
  box-shadow: none !important;
}
.rfv-ranking-status { padding: 26px !important; }
.rfv-ranking-status h2,.rfv-ranking-status dt,.rfv-ranking-status dd,.rfv-ranking-community h2 { color: #2b1d29 !important; }
.rfv-ranking-community { padding: 26px !important; }
.rfv-ranking-community a { color: #b70e65 !important; }
.rfv-news-featured { border: 0; background: url('../images/rf-assets/panels/panel_01.png') center / 100% 100% no-repeat; padding: 9px; }
.rfv-news-featured img { opacity: .82; }

.rfv-help-shortcuts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
  margin-bottom: 18px;
}
.rfv-help-shortcuts a {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) 14px;
  align-items: center;
  gap: 10px;
  min-height: 92px;
  padding: 14px 17px;
  color: #2a1d28 !important;
  text-decoration: none !important;
  background: url('../images/rf-assets/panels/panel_03.png') center / 100% 100% no-repeat;
}
.rfv-help-shortcuts .rfv-icon { --cell: 43px; }
.rfv-help-shortcuts span { display: grid; gap: 3px; min-width: 0; }
.rfv-help-shortcuts b { color: #b80e66; font: 700 11px Orbitron,sans-serif; text-transform: uppercase; }
.rfv-help-shortcuts small { color: #71616e; font-size: 13px; }
.rfv-help-shortcuts em { color: var(--rf-pink); font-size: 28px; font-style: normal; }
.rfv-page-help .rfo-feature > .container {
  max-width: 1360px;
  margin: 22px auto 38px !important;
  padding: 80px 80px !important;
  color: #392b36 !important;
  border: 0 !important;
  background-color: #fff !important;
  background-image: url('../images/rf-assets/panels/panel_01.png') !important;
  background-position: center top !important;
  background-size: 100% 260px !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 14px 28px rgba(102,24,66,.09) !important;
}
.rfv-page-help .rfo-feature h2.white { color: #281d27 !important; border-bottom-color: #e9c7d8 !important; }
.rfv-page-help .rfo-feature h3.alert-warning {
  min-height: 64px;
  padding: 19px 28px !important;
  color: #991052 !important;
  border: 0 !important;
  background: url('../images/rf-assets/panels/panel_05.png') center / 100% 100% no-repeat !important;
}
.rfv-page-help .rfo-feature h4.white { color: #bd126b !important; }
.rfv-page-help .rfo-feature li.white { color: #51434e !important; line-height: 1.5; }

.rfv-page-boss_stat {
  color: #2d202b !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,248,252,.72)),
    url('../images/rf-assets/heroes/boss.jpg.png') right top / 720px auto fixed no-repeat,
    #fff8fc !important;
}
.rfv-boss-status { background: transparent; }
.rfv-boss-status__header p { color: #b10f61; }
.rfv-boss-status__header h1 { color: #261b25; }
.rfv-boss-status__header h1 em { color: var(--rf-pink); text-shadow: 2px 2px white; }
.rfv-boss-status__header > span { color: #6d5e6b; }
.rfv-boss-status__panel {
  padding: 95px 38px 38px;
  color: #2c202a;
  background: url('../images/rf-assets/panels/panel_01.png') center / 100% 100% no-repeat;
  box-shadow: none;
  filter: drop-shadow(0 15px 24px rgba(106,24,68,.14));
}
.rfv-boss-status__panel-title { top: 34px; left: 75px; }
.rfv-boss-status__panel-title span { color: #291d27; }
.rfv-boss-status__panel-title small { color: #c50f6a; }
.rfv-boss-status__panel-middle { padding: 0; background: transparent; }
.rfv-boss-status__panel-bottom { display: none; }
.rfv-boss-status__controls { border-bottom-color: #e8bfd4; }
.rfv-boss-status__controls label { color: #2d202b; }
.rfv-boss-status__controls select {
  color: #352731;
  border: 0;
  background: url('../images/rf-assets/panels/panel_10.png') center / 100% 100% no-repeat;
}
.rfv-boss-status__controls small { color: #796b76; }
.rfv-boss-loading,.rfv-boss-empty {
  color: #6c5e69;
  border: 0;
  background: url('../images/rf-assets/panels/panel_03.png') center / 100% 100% no-repeat;
}
.rfv-boss-empty strong { color: #2c1f2a; }
.rfv-boss-card { color: #2d202b; border: 0; background: url('../images/rf-assets/panels/panel_06.png') center / 100% 100% no-repeat; box-shadow: none; }
.rfv-boss-card h2,.rfv-boss-card dd,.rfv-boss-card__time strong,.rfv-boss-card__times strong { color: #2b1e29; }
.rfv-boss-card dt,.rfv-boss-card__time small,.rfv-boss-card__times small,.rfv-boss-card__hp-head { color: #796a76; }
.rfv-boss-card__times > div { border: 0; background: #fff0f7; }

/* Footer retains real RF identity while remaining readable. */
.rfv-footer {
  margin-top: 0;
  color: #eee7ed;
  border-top: 3px solid var(--rf-pink);
  background: linear-gradient(125deg,#171019,#2b1027 67%,#731044);
}
.rfv-footer .rfv-brand { width: 250px; }
.rfv-footer .rfv-brand img { filter: brightness(0) invert(1); }
.rfv-footer .rfv-brand small { color: #d8c3cf; }
.rfv-footer h4 { color: white; }
.rfv-footer p,.rfv-footer a:not(.rfv-brand) { color: #d2c4cd; }
.rfv-footer__status { color: #fff !important; border: 0 !important; background: url('../images/rf-assets/panels/panel_16.png') center / 100% 100% no-repeat !important; }
.rfv-footer__status p { color: #eee1e9; }

@media (max-width: 1180px) {
  .rfv-brand { width: 190px; }
  .rfv-brand img { width: 184px; }
  .rfv-links { gap: 14px; }
  .rfv-links a { font-size: 9px; }
  .rfv-play { min-width: 145px; }
  .rfv-hero-character { right: 40px; width: 58vw; opacity: .88; }
  .rfv-hero-ribbon { display: none; }
}

@media (max-width: 1000px) {
  .rfv-nav { height: 68px; padding: 0 18px; }
  .rfv-nav.is-open { height: auto; }
  .rfv-nav.is-open .rfv-links { padding: 17px; border-top: 1px solid #efbfd7; background: white; }
  .rfv-links a::after { display: none; }
  .rfv-brand { width: 188px; }
  .rfv-brand img { height: 50px; }
  .rfv-play { min-width: 138px; }
  .rfv-home-hero { min-height: 565px; }
  .rfv-hero-character { right: -25px; bottom: -75px; width: 68vw; opacity: .48; }
  .rfv-page-hero { background-position: 100% 26%; background-size: 600px auto; }
  .rfv-page-hero::before { background: linear-gradient(90deg,#fff 0 48%,rgba(255,255,255,.7) 72%,rgba(255,255,255,.1)); }
  .rfv-server-widget { grid-template-columns: 1fr 1fr; }
  .rfv-server-metrics { grid-column: 1/-1; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rfv-server-metrics .rfv-metric:first-child,.rfv-race-online { grid-column: 1/-1; }
}

@media (max-width: 620px) {
  .rfv-shell { width: calc(100% - 24px); }
  .rfv-nav::before,.rfv-nav::after { width: 64px; }
  .rfv-brand { width: 164px; }
  .rfv-brand img { width: 158px; height: 45px; }
  .rfv-brand small { display: none; }
  .rfv-home-hero { min-height: 655px; }
  .rfv-home-hero::before { top: 195px; font-size: 140px; }
  .rfv-home-hero__copy { padding-top: 37px; }
  .rfv-home-hero h1 { font-size: 46px; }
  .rfv-lead { max-width: 88%; }
  .rfv-actions { display: grid; grid-template-columns: 1fr; width: min(100%, 330px); }
  .rfv-button { width: 100%; }
  .rfv-hero-character { right: -175px; bottom: -75px; width: 620px; height: 600px; opacity: .25; }
  .rfv-statusbar { grid-template-columns: 1fr; padding: 18px; background-image: url('../images/rf-assets/panels/panel_06.png'); }
  .rfv-statusbar > div { border-right: 0; border-bottom: 1px solid #ecd1df; }
  .rfv-statusbar > div:last-child { border-bottom: 0; }
  .rfv-server-widget { grid-template-columns: 1fr; padding: 20px 18px; }
  .rfv-server-services { grid-template-columns: 1fr; }
  .rfv-server-metrics { grid-column: auto; grid-template-columns: 1fr; }
  .rfv-server-metrics .rfv-metric:first-child,.rfv-race-online { grid-column: auto; }
  .rfv-race-online { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rfv-race-online > span { grid-template-columns: 1fr; text-align: center; }
  .rfv-chipwar { flex-wrap: wrap; }
  .rfv-chipwar > b { width: 100%; margin-left: 0; }
  .rfv-chipwar b i { flex: 1; text-align: center; }
  .rfv-features { grid-template-columns: 1fr; }
  .rfv-home-grid { grid-template-columns: 1fr; }
  .rfv-panel,.rfv-callout,.rfv-server-widget,.rfv-war-widget { background-image: url('../images/rf-assets/panels/panel_06.png') !important; }
  .rfv-news__list,.rfv-community > div { grid-template-columns: 1fr; }
  .rfv-page-hero { min-height: 225px; padding: 38px 0; background-position: 118% 20%; background-size: 430px auto; }
  .rfv-page-hero::before { background: linear-gradient(90deg,#fff 0 55%,rgba(255,255,255,.8) 77%,rgba(255,255,255,.18)); }
  .rfv-page-hero h1 { font-size: 34px; }
  .rfv-page-hero p:last-child { max-width: 65%; font-size: 13px; }
  .rfv-help-shortcuts { grid-template-columns: 1fr; }
  .rfv-page-help .rfo-feature > .container { margin-inline: 12px !important; padding: 34px 22px !important; }
  .rfv-boss-status__panel { padding: 82px 18px 24px; background-image: url('../images/rf-assets/panels/panel_06.png'); }
  .rfv-boss-status__panel-title { top: 27px; left: 48px; }
  .rfv-form-panel,.rfv-why-panel,.rfv-journey,.rfv-download-panel,.rfv-rank-table,.rfv-news-feed { padding: 18px !important; background-image: url('../images/rf-assets/panels/panel_06.png') !important; }
  .rfv-form-grid,.rfv-form-actions,.rfv-journey > div,.rfv-download-cards,.rfv-news-list { grid-template-columns: 1fr; }
}

/* Reference composition: dimensions and hierarchy follow the supplied 1672 x 941 layouts. */
.rfv-nav {
  height: 66px;
  gap: 20px;
  padding-inline: max(24px, calc((100vw - 1440px) / 2));
  box-shadow: 0 4px 15px rgba(77,21,56,.08);
}
.rfv-nav::before,.rfv-nav::after { width: 110px; height: 7px; }
.rfv-nav > .rfv-brand { width: 235px; }
.rfv-nav > .rfv-brand img { width: 213px; height: 52px; }
.rfv-nav > .rfv-brand small { display: none; }
.rfv-links { gap: clamp(16px,1.75vw,30px); }
.rfv-links > a,.rfv-nav-group > button {
  position: relative;
  padding: 0;
  color: #1e171e;
  border: 0;
  background: transparent;
  font: 700 11px Orbitron,Arial,sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.rfv-links > a::after,.rfv-nav-group > button::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -24px;
  height: 3px;
  background: var(--rf-pink);
  transition: .18s ease;
}
.rfv-links > a:hover::after,.rfv-nav-group:hover > button::after,.rfv-nav-group:focus-within > button::after,
.rfv-page-home .rfv-links > a:nth-child(1)::after,
.rfv-page-register .rfv-links > a:nth-child(2)::after,
.rfv-page-download .rfv-links > a:nth-child(3)::after,
.rfv-page-event1 .rfv-links > a:nth-child(4)::after,
.rfv-page-refill .rfv-links > a:nth-child(5)::after,
.rfv-page-ranking .rfv-links > a:nth-child(6)::after { left: 0; right: 0; }
.rfv-nav-group { position: relative; display: inline-flex; align-items: center; height: 100%; }
.rfv-nav-group > button b { margin-left: 4px; font-size: 15px; }
.rfv-nav-dropdown {
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  z-index: 110;
  display: grid;
  min-width: 172px;
  padding: 8px;
  visibility: hidden;
  opacity: 0;
  border: 1px solid #f2bad6;
  background: rgba(255,255,255,.98);
  box-shadow: 0 14px 28px rgba(89,18,57,.14);
  transform: translate(-50%,-6px);
  transition: .16s ease;
}
.rfv-nav-dropdown a { padding: 10px 12px; color: #30232e; font: 700 10px Orbitron,sans-serif; text-decoration: none; text-transform: uppercase; }
.rfv-nav-dropdown a:hover { color: var(--rf-pink); background: #fff0f7; }
.rfv-nav-group:hover .rfv-nav-dropdown,.rfv-nav-group:focus-within .rfv-nav-dropdown { visibility: visible; opacity: 1; transform: translate(-50%,0); }
.rfv-page-boss_stat .rfv-nav-group:nth-of-type(1) > button,
.rfv-page-help .rfv-nav-group:nth-of-type(2) > button { color: var(--rf-pink); }

.rfv-home-hero {
  height: 405px;
  min-height: 405px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.34) 0 34%,rgba(255,255,255,.06) 57%,rgba(33,13,35,.05) 100%),
    url('../images/rf-assets/hero-background.png') center / cover no-repeat;
}
.rfv-home-hero::before {
  content: "";
  inset: 0;
  top: 0;
  opacity: .32;
  background: repeating-linear-gradient(132deg,transparent 0 42px,rgba(245,34,139,.08) 43px 44px);
  transform: none;
}
.rfv-home-hero::after {
  background: linear-gradient(112deg,transparent 0 63%,rgba(255,255,255,.13) 63.2% 65%,transparent 65.2%);
  clip-path: none;
}
.rfv-home-hero__copy { height: 405px; padding-top: 0; }
.rfv-home-hero .rfv-eyebrow {
  position: absolute;
  top: 28px;
  left: 32px;
  display: inline-block;
  margin: 0;
  padding: 5px 35px 5px 18px;
  color: #201720;
  background: rgba(255,255,255,.78);
  clip-path: polygon(6% 0,100% 0,94% 100%,0 100%);
  font-size: 12px;
  font-style: italic;
  letter-spacing: 2px;
}
.rfv-home-hero h1 { position: absolute; top: 50px; left: 0; width: 625px; height: 250px; margin: 0; line-height: .86; text-shadow: 2px 2px #fff; }
.rfv-home-hero h1 span { display: block; padding-left: 34px; font-size: 48px; letter-spacing: -3px; }
.rfv-home-hero h1 img { display: block; width: 590px; height: auto; margin: -70px 0 -72px; }
.rfv-hero-tagline {
  position: absolute;
  top: 178px;
  left: 30px;
  display: block;
  width: 430px;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  transform: none;
}
.rfv-lead { position: absolute; top: 282px; left: 34px; width: 500px; margin: 0; color: #3f3540; font-size: 13px; line-height: 1.28; }
.rfv-actions { position: absolute; top: 329px; left: 10px; margin: 0; gap: 4px; }
.rfv-button { grid-template-columns: 34px minmax(0,1fr); min-width: 210px; min-height: 61px; padding: 9px 18px; font-size: 11px; }
.rfv-button:nth-child(2) { min-width: 224px; }
.rfv-button:nth-child(3) { min-width: 204px; }
.rfv-button .rfv-icon { width: 31px; height: 31px; }
.rfv-button > span { display: block; min-width: 0; line-height: 1.1; text-transform: uppercase; }
.rfv-button > span small { display: block; margin-top: 3px; font-size: 9px; white-space: nowrap; }
.rfv-hero-character {
  right: clamp(155px,12vw,225px);
  bottom: -145px;
  width: min(650px,43vw);
  height: 585px;
  filter: drop-shadow(0 16px 22px rgba(49,8,38,.18));
}
.rfv-hero-ribbon {
  right: 30px;
  top: 92px;
  width: 195px;
  padding: 22px 8px 18px;
  border: 0;
  background: transparent;
  color: #fff;
  text-shadow: 3px 3px 0 #9c0f5a,5px 5px 0 #37122e;
  clip-path: none;
  transform: rotate(-2deg);
}
.rfv-hero-ribbon span,.rfv-hero-ribbon b { display: block; font: 800 30px/.88 Orbitron,sans-serif; font-style: italic; }
.rfv-hero-ribbon b { font-size: 35px; }
.rfv-hero-ribbon small { display: inline-block; margin-top: 13px; padding: 6px 8px; color: #221721; background: white; font: 800 9px Orbitron,sans-serif; text-shadow: none; }

.rfv-home { padding-bottom: 18px; background: rgba(255,250,253,.94); }
.rfv-statusbar { min-height: 74px; padding: 7px 16px; }
.rfv-statusbar > div { min-height: 60px; padding: 8px 14px; }
.rfv-statusbar .rfv-icon { --cell: 39px; margin-top: 2px; }
.rfv-statusbar span { padding-top: 4px; font: 700 9px Orbitron,sans-serif; text-transform: uppercase; }
.rfv-statusbar strong { font-size: 12px; line-height: 1.1; }
.rfv-statusbar #rfv-player-count { color: #302331; }
.rfv-features { padding: 9px 0 10px; }
.rfv-features article { min-height: 91px; padding: 12px 13px; }
.rfv-features .rfv-icon { --cell: 43px; margin-right: 10px; }
.rfv-features h3 { margin: 2px 0 5px; font-size: 10px; }
.rfv-features p { font-size: 11px; line-height: 1.16; }
.rfv-home-grid { gap: 14px; }
.rfv-panel { min-height: 212px; padding: 15px 17px; }
.rfv-panel__head { margin-bottom: 8px; }
.rfv-panel h2 { font-size: 16px; }
.rfv-panel__head a { font-size: 9px; }
.rfv-news__list { gap: 9px; }
.rfv-news-card { min-height: 165px; padding: 7px 7px 10px; }
.rfv-news-card img { height: 68px; }
.rfv-news-card span { margin: 5px 6px 0; padding: 2px 6px; font-size: 8px; }
.rfv-news-card h3 { margin: 3px 7px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rfv-news-card p { height: 27px; margin: 2px 7px; font-size: 10px; line-height: 1.25; }
.rfv-news-card small { margin: 2px 7px; font-size: 9px; }
.rfv-community > p { margin: 2px 0 8px; font-size: 12px; }
.rfv-community > div { margin-top: 7px; gap: 8px; }
.rfv-community a { min-height: 133px; padding: 17px 4px 11px; }
.rfv-community .rfv-icon { --cell: 42px; }
.rfv-community a small { margin-top: 5px; font-size: 10px; }
.rfv-community a span { display: block; margin-top: 3px; color: #62485d; font-size: 10px; }

.rfv-live-details { margin-top: 7px; }
.rfv-live-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 5px 20px;
  color: #2b2029;
  list-style: none;
  cursor: pointer;
  background: url('../images/rf-assets/panels/panel_05.png') center / 100% 100% no-repeat;
}
.rfv-live-details > summary::-webkit-details-marker { display: none; }
.rfv-live-details > summary > span { display: grid; grid-template-columns: 36px auto; align-items: center; gap: 0 11px; }
.rfv-live-details > summary .rfv-icon { --cell: 32px; grid-row: span 2; }
.rfv-live-details > summary b { font: 700 11px Orbitron,sans-serif; text-transform: uppercase; }
.rfv-live-details > summary small { color: #74636f; font-size: 11px; }
.rfv-live-details > summary em { color: var(--rf-pink-deep); font: 700 9px Orbitron,sans-serif; font-style: normal; }
.rfv-live-details[open] > summary em::after { content: "  ×"; }
.rfv-live-details .rfv-server-slot,.rfv-live-details .rfv-war-slot { width: 100%; margin-top: 9px; }

.rfv-footer {
  color: #342832;
  border-top: 1px solid #f2c1d9;
  background: #fff;
}
.rfv-footer__grid { grid-template-columns: 270px minmax(260px,1fr) 1.8fr; align-items: center; gap: 24px; padding: 14px 0 12px; }
.rfv-footer .rfv-brand { width: 220px; }
.rfv-footer .rfv-brand img { width: 205px; height: 52px; filter: none; }
.rfv-footer .rfv-brand small { display: none; }
.rfv-footer__copy p { max-width: none; margin: 0; color: #665965; font-size: 11px; }
.rfv-footer__copy small { color: #948992; font-size: 9px; }
.rfv-footer__links { justify-self: end; }
.rfv-footer__links h4 { margin: 0 0 6px; color: #2d222b; font-size: 10px; }
.rfv-footer__links nav { display: flex; flex-wrap: wrap; gap: 0; }
.rfv-footer__links a:not(.rfv-brand) { display: inline-block; margin: 0; padding: 0 10px; color: #615560; border-right: 1px solid #d8c8d1; font-size: 9px; }
.rfv-footer__links a:first-child { padding-left: 0; }
.rfv-footer__links a:last-child { padding-right: 0; border-right: 0; }

@media (max-width: 1180px) {
  .rfv-nav > .rfv-brand { width: 190px; }
  .rfv-nav > .rfv-brand img { width: 180px; }
  .rfv-links { gap: 13px; }
  .rfv-links > a,.rfv-nav-group > button { font-size: 9px; }
  .rfv-hero-character { right: 70px; width: 54vw; }
  .rfv-hero-ribbon { display: none; }
}

@media (max-width: 1000px) {
  .rfv-nav { height: 68px; }
  .rfv-nav.is-open { height: auto; }
  .rfv-nav.is-open .rfv-links { align-items: stretch; gap: 0; }
  .rfv-links > a,.rfv-nav-group > button { display: block; width: 100%; padding: 10px 4px; text-align: left; }
  .rfv-links > a::after,.rfv-nav-group > button::after { display: none; }
  .rfv-nav-group { display: block; height: auto; }
  .rfv-nav-dropdown { position: static; display: none; margin: 0 0 4px 12px; visibility: visible; opacity: 1; border: 0; box-shadow: none; transform: none; }
  .rfv-nav-group:focus-within .rfv-nav-dropdown { display: grid; transform: none; }
  .rfv-home-hero { height: 505px; min-height: 505px; }
  .rfv-home-hero__copy { height: 505px; }
  .rfv-home-hero h1 { width: 560px; }
  .rfv-home-hero h1 img { width: 520px; }
  .rfv-hero-character { right: -50px; bottom: -115px; width: 64vw; opacity: .6; }
  .rfv-footer__grid { grid-template-columns: 220px 1fr; }
  .rfv-footer__links { grid-column: 1/-1; justify-self: start; }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 600px; min-height: 600px; }
  .rfv-home-hero__copy { height: 600px; padding-top: 0; }
  .rfv-home-hero .rfv-eyebrow { top: 30px; left: 8px; font-size: 9px; }
  .rfv-home-hero h1 { top: 54px; width: 100%; }
  .rfv-home-hero h1 span { padding-left: 10px; font-size: 35px; }
  .rfv-home-hero h1 img { width: 380px; max-width: 108%; margin: -45px 0 -47px; }
  .rfv-hero-tagline { top: 160px; left: 8px; width: 330px; max-width: 94%; margin: 0; }
  .rfv-lead { top: 257px; left: 10px; width: 88%; margin: 0; font-size: 12px; }
  .rfv-actions { top: 317px; left: 0; margin: 0; }
  .rfv-hero-character { right: -160px; bottom: -95px; width: 590px; height: 540px; opacity: .23; }
  .rfv-statusbar { grid-template-columns: 1fr; }
  .rfv-features article { min-height: 88px; }
  .rfv-panel { min-height: auto; }
  .rfv-news-card img { height: 110px; }
  .rfv-community a { min-height: 116px; }
  .rfv-live-details > summary { padding: 10px 14px; }
  .rfv-live-details > summary em { display: none; }
  .rfv-footer__grid { grid-template-columns: 1fr; gap: 8px; }
  .rfv-footer__copy,.rfv-footer__links { grid-column: auto; }
  .rfv-footer__links nav { row-gap: 7px; }
}

/* Site-wide body backdrop supplied by the project. Keep page surfaces translucent so the artwork remains visible. */
body#body-overlay {
  background: #fff8fc url('../images/rf-assets/bg-body.png') center top / cover fixed no-repeat !important;
}
body#body-overlay::before,
body#body-overlay::after { display: none !important; }
.rfv-home { background: rgba(255,250,253,.78); }

/* Home header artwork supplied for the landing hero. */
.rfv-home-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.02) 0 42%, rgba(70,8,55,.06) 55%, rgba(32,5,30,.32) 78%, rgba(19,3,22,.44) 100%),
    url('../images/rf-assets/bg-head.png') center / cover no-repeat;
}

/* Enlarged Hero treatment for the new Home character and all public page headers. */
.rfv-home-hero {
  height: 620px;
  min-height: 620px;
}
.rfv-home-hero__copy { height: 620px; }
.rfv-hero-character {
  right: clamp(55px, 8vw, 170px);
  bottom: -210px;
  width: min(880px, 58vw);
  height: 820px;
  mix-blend-mode: screen;
  filter: drop-shadow(0 19px 28px rgba(80,8,54,.26));
}
.rfv-page-hero {
  min-height: 520px;
  padding: 100px 0;
  background-size: min(1120px, 72vw) auto;
}
.rfv-page-hero h1 { font-size: clamp(52px, 5vw, 72px); }

@media (max-width: 1000px) {
  .rfv-home-hero { height: 590px; min-height: 590px; }
  .rfv-home-hero__copy { height: 590px; }
  .rfv-hero-character { right: -45px; bottom: -165px; width: 72vw; height: 760px; }
  .rfv-page-hero { min-height: 450px; padding: 76px 0; background-size: 820px auto; }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 650px; min-height: 650px; }
  .rfv-home-hero__copy { height: 650px; }
  .rfv-hero-character { right: -180px; bottom: -120px; width: 720px; height: 700px; }
  .rfv-page-hero { min-height: 380px; padding: 58px 0; background-size: 620px auto; }
  .rfv-page-hero h1 { font-size: 42px; }
}

/* Home Hero enlarged to 2x for the requested full-impact landing view. */
.rfv-home-hero {
  height: 520px;
  min-height: 520px;
  background: url('../images/rf-assets/bg-head.png') center / cover no-repeat;
}
.rfv-home-hero::before,
.rfv-home-hero::after { display: none; }
.rfv-home-hero__copy { height: 520px; }
.rfv-hero-character {
  right: 400px;
  bottom: -1000px;
  width: min(1520px, 116vw);
  height: 1520px;
  opacity: 1;
  mix-blend-mode: normal;
  filter: drop-shadow(0 19px 28px rgba(80,8,54,.26));
}
.rfv-home {
  background: #fff8fc url('../images/rf-assets/bg-body.png') center top / cover fixed no-repeat;
}
body#body-overlay {
  opacity: 1;
  background: #fff8fc url('../images/rf-assets/bg-body.png') center top / cover fixed no-repeat !important;
}

@media (max-width: 1000px) {
  .rfv-home-hero { height: 450px; min-height: 450px; }
  .rfv-home-hero__copy { height: 450px; }
  .rfv-hero-character { right: 280px; bottom: -925px; width: 1400px; height: 1400px; }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 380px; min-height: 380px; }
  .rfv-home-hero__copy { height: 380px; }
  .rfv-hero-character { right: 140px; bottom: -800px; width: 1240px; height: 1180px; }
}

/* Header artwork supplied by the project: build the reference lockup from the original transparent assets. */
.rfv-home-hero__copy { position: relative; z-index: 5; }
.rfv-header-art { display: block; pointer-events: none; }
.rfv-home-hero .rfv-header-art--rising {
  position: absolute;
  top: 0;
  left: 18px;
  z-index: 7;
  width: 600px;
  height: 104px;
  object-fit: cover;
  object-position: center 48%;
}
.rfv-header-lockup {
  position: absolute;
  top: 54px;
  left: -10px;
  width: 650px;
  height: 220px;
  margin: 0;
  line-height: 0;
  z-index: 5;
}
.rfv-header-lockup .rfv-header-art--version {
  position: absolute;
  top: 75px;
  left: 38px;
  width: 515px;
  height: 165px;
  object-fit: contain;
}
.rfv-header-lockup .rfv-header-art--logo {
  position: absolute;
  top: 158px;
  left: -8px;
  width: 620px;
  height: 160px;
  object-fit: contain;
}
.rfv-home-hero .rfv-hero-tagline {
  position: absolute;
  top: 232px;
  left: 22px;
  z-index: 7;
  width: 535px;
  height: 105px;
  margin: 0;
  padding: 0;
  object-fit: contain;
  transform: none;
}
.rfv-home-hero .rfv-lead {
  position: absolute;
  top: 320px;
  left: 35px;
  width: 470px;
  margin: 0;
  color: #332a33;
  font-size: 13px;
  line-height: 1.32;
  text-shadow: 0 1px rgba(255,255,255,.85);
}
.rfv-home-hero .rfv-actions {
  position: absolute;
  top: 384px;
  left: 8px;
  gap: 7px;
  margin: 0;
}
.rfv-home-hero .rfv-button {
  min-height: 67px;
  padding: 9px 17px;
  border: 0;
  border-radius: 0;
  color: #fff;
  text-shadow: 0 2px 3px rgba(31,6,38,.78);
  background-color: #3e176d;
  background-position: center;
  background-size: 100% 100%;
  box-shadow: 0 4px 0 rgba(82,10,70,.24);
}
.rfv-home-hero .rfv-button--hot {
  min-width: 214px;
  background-color: #ef1684;
  background-image: url('../images/rf-assets/buttons/button_05.png');
}
.rfv-home-hero .rfv-button--blue {
  min-width: 222px;
  background-color: #43157c;
  background-image: linear-gradient(135deg, #24143c 0%, #51218a 52%, #21102f 100%);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: inset 0 0 0 2px rgba(235,117,255,.38), 0 4px 0 rgba(82,10,70,.24);
}
.rfv-home-hero .rfv-button:nth-child(3) { min-width: 196px; }
.rfv-home-hero .rfv-button .rfv-icon {
  width: 35px;
  height: 35px;
  filter: brightness(1.2) drop-shadow(0 1px 1px rgba(0,0,0,.35));
}
.rfv-home-hero .rfv-button > span {
  font-size: 12px;
  line-height: 1.05;
}
.rfv-home-hero .rfv-button > span small {
  margin-top: 4px;
  color: #ffe5f4;
  font-size: 9px;
  letter-spacing: .2px;
}
.rfv-home-hero .rfv-hero-ribbon {
  display: block;
  z-index: 6;
  top: 8px;
  right: 18px;
  width: 245px;
  height: 492px;
  padding: 0;
  color: transparent;
  background: none;
  box-shadow: none;
}
.rfv-home-hero .rfv-header-art--power {
  position: absolute;
  top: 12px;
  right: 4px;
  width: 225px;
  height: 365px;
  object-fit: contain;
  mix-blend-mode: screen;
}
.rfv-home-hero .rfv-header-art--join {
  position: absolute;
  top: 325px;
  right: 132px;
  width: 92px;
  height: 165px;
  object-fit: contain;
}

@media (max-width: 1000px) {
  .rfv-home-hero .rfv-header-art--rising { top: -92px; left: 10px; width: 540px; height: 94px; }
  .rfv-header-lockup { left: -24px; transform: scale(.86); transform-origin: left top; }
  .rfv-home-hero .rfv-hero-tagline { left: 8px; width: 480px; }
  .rfv-home-hero .rfv-lead { left: 22px; }
  .rfv-home-hero .rfv-actions { left: 0; transform: scale(.9); transform-origin: left top; }
  .rfv-home-hero .rfv-hero-ribbon { right: 0; transform: scale(.82); transform-origin: right top; }
}

@media (max-width: 620px) {
  .rfv-home-hero .rfv-header-art--rising { top: -16px; left: 0; width: 350px; height: 70px; }
  .rfv-header-lockup { top: 42px; left: -42px; transform: scale(.58); }
  .rfv-home-hero .rfv-hero-tagline { top: 198px; left: -8px; width: 350px; height: 58px; }
  .rfv-home-hero .rfv-lead { top: 260px; left: 10px; width: 330px; font-size: 11px; }
  .rfv-home-hero .rfv-actions { top: 315px; left: 0; width: 340px; transform: scale(.78); }
  .rfv-home-hero .rfv-hero-ribbon { display: none; }
}

/* Match the supplied reference composition: copy stays on the left and the character occupies the center-right. */
.rfv-home-hero .rfv-hero-character {
  right: 290px;
  z-index: 2;
}
.rfv-home-hero__copy,
.rfv-home-hero .rfv-header-lockup,
.rfv-home-hero .rfv-header-art--rising,
.rfv-home-hero .rfv-hero-tagline,
.rfv-home-hero .rfv-lead,
.rfv-home-hero .rfv-actions { z-index: 8; }

@media (max-width: 1000px) {
  .rfv-home-hero .rfv-hero-character { right: -80px; }
}

@media (max-width: 620px) {
  .rfv-home-hero .rfv-hero-character { right: -190px; }
}

/* Reference-locked Home composition. The supplied reference is used as the exact visual frame;
   existing action links remain positioned above it for interaction. */
.rfv-home-hero {
  height: 520px;
  min-height: 520px;
  background: url('../images/rf-assets/heroes/home-reference-hero.png') center / 100% 100% no-repeat;
}
.rfv-home-hero__copy { pointer-events: none; }
.rfv-home-hero__copy > .rfv-header-art,
.rfv-home-hero__copy > .rfv-header-lockup,
.rfv-home-hero__copy > .rfv-hero-tagline,
.rfv-home-hero__copy > .rfv-lead,
.rfv-home-hero > .rfv-hero-character,
.rfv-home-hero > .rfv-hero-ribbon { visibility: hidden; }
.rfv-home-hero .rfv-actions {
  visibility: visible;
  pointer-events: auto;
  opacity: 0;
  top: 418px;
  left: 100px;
  transform: none;
}
.rfv-home > .rfv-statusbar { display: grid; }

@media (max-width: 1000px) {
  .rfv-home-hero { height: 450px; min-height: 450px; }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 380px; min-height: 380px; }
}

/* Final asset-based composition: do not flatten the reference into a stretched background. */
.rfv-home-hero {
  height: 520px;
  min-height: 520px;
  background: url('../images/rf-assets/bg-head.png') center / cover no-repeat;
}
.rfv-home-hero__copy { pointer-events: auto; }
.rfv-home-hero__copy > .rfv-header-art,
.rfv-home-hero__copy > .rfv-header-lockup,
.rfv-home-hero__copy > .rfv-hero-tagline,
.rfv-home-hero__copy > .rfv-lead,
.rfv-home-hero > .rfv-hero-character,
.rfv-home-hero > .rfv-hero-ribbon { visibility: visible; }
.rfv-home > .rfv-statusbar { display: grid; }
.rfv-home-hero .rfv-hero-character {
  right: 290px;
  bottom: -1000px;
  width: min(1520px, 116vw);
  height: 1520px;
  opacity: 1;
  mix-blend-mode: normal;
  z-index: 2;
}
.rfv-home-hero__copy,
.rfv-home-hero .rfv-header-lockup,
.rfv-home-hero .rfv-header-art--rising,
.rfv-home-hero .rfv-hero-tagline,
.rfv-home-hero .rfv-lead,
.rfv-home-hero .rfv-actions { z-index: 8; }
.rfv-home-hero .rfv-actions {
  top: 390px;
  left: 45px;
  opacity: 1;
  transform: scale(.84);
  transform-origin: left top;
}
.rfv-home-hero .rfv-hero-ribbon {
  visibility: visible;
  display: block;
}

@media (max-width: 1000px) {
  .rfv-home-hero { height: 450px; min-height: 450px; }
  .rfv-home-hero .rfv-hero-character { right: 260px; bottom: -925px; width: 1400px; height: 1400px; }
  .rfv-home-hero .rfv-actions { top: 350px; left: 20px; transform: scale(.68); }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 380px; min-height: 380px; }
  .rfv-home-hero .rfv-hero-character { right: -40px; bottom: -800px; width: 1240px; height: 1180px; }
  .rfv-home-hero .rfv-actions { top: 315px; left: 0; transform: scale(.62); }
}

/* New reference layout assets: one composed title keeps the RF Online/AOP/tagline geometry intact. */
.rfv-home-hero .rfv-hero-title-composite {
  position: absolute;
  top: 28px;
  left: 8px;
  z-index: 8;
  display: block;
  width: 590px;
  height: 332px;
  object-fit: contain;
}
.rfv-home-hero .rfv-hero-ribbon { z-index: 7; }
.rfv-home-hero .rfv-header-art--power {
  top: 36px;
  right: 0;
  width: 255px;
  height: 405px;
  object-fit: contain;
  mix-blend-mode: normal;
}
.rfv-home-hero .rfv-header-art--join { display: none; }
.rfv-home-hero .rfv-hero-character {
  right: 80px;
  z-index: 4;
}
.rfv-home-hero .rfv-lead {
  top: 335px;
  left: 38px;
  z-index: 9;
  width: 480px;
}
.rfv-home-hero .rfv-actions {
  top: 385px;
  left: 10px;
  z-index: 10;
  opacity: 1;
  transform: none;
  gap: 8px;
}
.rfv-home-hero .rfv-button {
  min-height: 60px;
  height: 60px;
  padding: 0;
  border: 0;
  background-position: center;
  background-size: 100% 100%;
  box-shadow: none;
}
.rfv-home-hero .rfv-button--hot {
  width: 190px;
  min-width: 190px;
  background-image: url('../images/rf-assets/buttons/button-play-art.png');
}
.rfv-home-hero .rfv-button--blue {
  width: 212px;
  min-width: 212px;
  background-image: url('../images/rf-assets/buttons/button-download-art.png');
}
.rfv-home-hero .rfv-button:nth-child(3) {
  width: 196px;
  min-width: 196px;
  background-image: url('../images/rf-assets/buttons/button-register-art.png');
}
.rfv-home-hero .rfv-button .rfv-icon,
.rfv-home-hero .rfv-button > span { display: none; }

@media (max-width: 1000px) {
  .rfv-home-hero .rfv-hero-title-composite { left: 0; width: 520px; height: 292px; }
  .rfv-home-hero .rfv-hero-character { right: -30px; }
  .rfv-home-hero .rfv-header-art--power { right: -10px; width: 220px; }
  .rfv-home-hero .rfv-lead { top: 300px; left: 25px; }
  .rfv-home-hero .rfv-actions { top: 350px; left: 0; transform: scale(.82); transform-origin: left top; }
}

@media (max-width: 620px) {
  .rfv-home-hero .rfv-hero-title-composite { top: 18px; left: -18px; width: 390px; height: 220px; }
  .rfv-home-hero .rfv-hero-character { right: -120px; }
  .rfv-home-hero .rfv-header-art--power { display: none; }
  .rfv-home-hero .rfv-lead { top: 235px; left: 12px; width: 330px; font-size: 11px; }
  .rfv-home-hero .rfv-actions { top: 285px; left: 0; transform: scale(.65); }
}

/* Home dashboard proportions from the supplied 1270px reference layout. */
.rfv-home {
  width: 100%;
  max-width: 1270px;
  margin: 0 auto;
  padding-bottom: 26px;
  background: rgba(255,250,253,.94);
}
.rfv-statusbar--hero {
  width: min(1270px, calc(100% - 24px));
  margin: 8px auto 0;
  border: 2px solid #f5b4d4;
  border-radius: 12px;
  padding: 7px 14px;
  background-color: #fff8fc;
}
.rfv-live-details {
  width: calc(100% - 24px);
  margin: 8px auto 0;
  padding: 0 8px 8px;
  border: 2px solid #f5b4d4;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  overflow: hidden;
}
.rfv-live-details > summary {
  min-height: 34px;
  padding: 7px 10px;
  color: #ec187d;
  border-bottom: 1px solid #f4bfd9;
  background: transparent;
}
.rfv-live-details > summary > span { grid-template-columns: 24px auto; gap: 0 7px; }
.rfv-live-details > summary .rfv-icon { --cell: 22px; }
.rfv-live-details > summary b { color: #ed187d; font-size: 12px; }
.rfv-live-details > summary small { font-size: 9px; }
.rfv-server-slot,.rfv-war-slot { margin-top: 7px; }
.rfv-server-widget {
  grid-template-columns: minmax(190px,.82fr) minmax(310px,1.35fr) minmax(245px,1fr);
  gap: 8px;
  padding: 12px 15px;
}
.rfv-server-widget__head { min-height: 92px; padding: 12px; }
.rfv-server-widget__head > .rfv-icon { --cell: 38px; flex-basis: 38px; }
.rfv-server-services { gap: 6px; }
.rfv-service { min-height: 92px; padding: 11px; }
.rfv-server-metrics { gap: 5px; }
.rfv-metric { min-height: 37px; padding: 6px 9px; }
.rfv-metric > .rfv-icon { --cell: 22px; }
.rfv-race-online > span { padding: 5px 7px; }
.rfv-chipwar { min-height: 36px; padding: 6px 9px; }
.rfv-war-widget {
  min-height: 178px;
  height: 178px;
  padding: 10px 15px;
  overflow: hidden;
}
.rfv-war-widget__head { padding: 0 0 6px; }
.rfv-war-widget__body { padding-top: 6px; }
.rfv-war-widget__body h2 { margin: 0 0 5px; font-size: 15px; }
.rfv-war-row { min-height: 22px; }
.rfv-war-results { margin-top: 6px; }
.rfv-war-results > div { padding: 5px 8px; }
.rfv-features { width: calc(100% - 24px); margin: 8px auto 0; padding: 0; gap: 7px; }
.rfv-features article { min-height: 104px; padding: 12px 11px; }
.rfv-home-grid { width: calc(100% - 24px); margin: 8px auto 0; gap: 9px; }
.rfv-panel { padding: 16px 17px; }
.rfv-news-card { min-height: 160px; padding: 7px 8px 10px; }
.rfv-news-card img { height: 65px; }
.rfv-community a { min-height: 112px; padding: 13px 4px; }

@media (max-width: 1000px) {
  .rfv-home { max-width: 100%; }
  .rfv-server-widget { grid-template-columns: 1fr 1.2fr; }
  .rfv-server-metrics { grid-column: 1/-1; }
}

/* Stronger, reference-like panel hierarchy for the full Home body. */
.rfv-home {
  background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,245,251,.92)), url('../images/rf-assets/bg-body.png') center top / cover fixed no-repeat;
}
.rfv-live-details,
.rfv-panel,
.rfv-features article,
.rfv-server-widget,
.rfv-war-widget {
  /* border-color: #f02588 !important; */
  box-shadow: 0 4px 14px rgba(198,27,115,.12) !important;
}
.rfv-server-widget,
.rfv-war-widget {
  background-color: rgba(255,255,255,.9) !important;
}
.rfv-server-widget__head,
.rfv-service,
.rfv-metric,
.rfv-chipwar {
  background: linear-gradient(135deg, #fff 0%, #fff8fc 100%) !important;
  border: 1px solid #f4bad7 !important;
  border-radius: 8px;
}
.rfv-server-widget__head { min-height: 84px; }
.rfv-service { min-height: 84px; }
.rfv-metric { min-height: 34px; }
.rfv-war-widget {
  height: 216px;
  min-height: 216px;
  padding: 12px 16px;
}
.rfv-war-widget__head strong { color: #2a2029 !important; font-size: 15px; }
.rfv-war-widget__body h2 { color: #ee167c !important; font-size: 17px; letter-spacing: .04em; }
.rfv-war-bars { display: grid; gap: 5px; }
.rfv-war-row { min-height: 24px; }
.rfv-war-row > span { color: #3d2638; font-weight: 700; }
.rfv-war-row > div { border: 1px solid #efd1df; background: #f1e9ee; }
.rfv-war-results { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 8px; }
.rfv-war-results > div { min-height: 33px; border: 1px solid #f3c1d9; background: #fff7fb; }
.rfv-features article { min-height: 112px; background: linear-gradient(135deg,#fff,#fff7fb) !important; }
.rfv-features h3 { color: #2d202b; font-size: 12px; }
.rfv-features p { color: #6d5666; font-size: 10px; line-height: 1.3; }
.rfv-panel { background-color: rgba(255,255,255,.82) !important; }
.rfv-news-card { border: 1px solid #f1b7d4 !important; background: linear-gradient(180deg,#fff,#fff8fc) !important; }
.rfv-community a { border: 1px solid #f1b7d4; }

@media (max-width: 1000px) {
  .rfv-war-widget { height: auto; min-height: 210px; }
  .rfv-war-results { grid-template-columns: 1fr; }
}

/* Reference scale: the Home dashboard keeps the Hero compact so the full panel layout is visible together. */
body.rfv-page-home .rfv-nav { display: none; }
.rfv-home-hero {
  height: 350px;
  min-height: 350px;
}
.rfv-home-hero__copy { height: 350px; }
.rfv-home-hero .rfv-hero-title-composite {
  top: 10px;
  left: 18px;
  width: 460px;
  height: 258px;
}
.rfv-home-hero .rfv-hero-character {
  right: 40px;
  bottom: -600px;
  width: 1000px;
  height: 1000px;
}
.rfv-home-hero .rfv-header-art--power {
  top: 10px;
  right: 6px;
  width: 205px;
  height: 315px;
}
.rfv-home-hero .rfv-lead {
  top: 246px;
  left: 42px;
  width: 430px;
  font-size: 11px;
}
.rfv-home-hero .rfv-actions {
  top: 294px;
  left: 18px;
  transform: scale(.78);
  transform-origin: left top;
}
.rfv-live-details { margin-top: 7px; }
.rfv-server-widget { padding: 9px 12px; }
.rfv-server-widget__head,.rfv-service { min-height: 70px; }
.rfv-war-widget { height: 155px; min-height: 155px; padding: 8px 13px; }
.rfv-war-widget__body h2 { margin-bottom: 3px; font-size: 14px; }
.rfv-war-row { min-height: 19px; }
.rfv-war-results { margin-top: 4px; }
.rfv-features article { min-height: 98px; }
.rfv-panel { padding: 12px 14px; }
.rfv-news-card { min-height: 142px; }
.rfv-news-card img { height: 56px; }
.rfv-community a { min-height: 98px; padding: 10px 4px; }

@media (max-width: 1000px) {
  .rfv-home-hero { height: 330px; min-height: 330px; }
  .rfv-home-hero__copy { height: 330px; }
  .rfv-home-hero .rfv-hero-title-composite { width: 400px; height: 225px; }
  .rfv-home-hero .rfv-hero-character { right: -40px; bottom: -610px; width: 980px; height: 980px; }
  .rfv-home-hero .rfv-lead { top: 220px; left: 25px; }
  .rfv-home-hero .rfv-actions { top: 265px; left: 0; }
}

@media (max-width: 620px) {
  .rfv-home-hero { height: 330px; min-height: 330px; }
  .rfv-home-hero__copy { height: 330px; }
  .rfv-home-hero .rfv-hero-title-composite { top: 8px; left: -5px; width: 340px; height: 190px; }
  .rfv-home-hero .rfv-hero-character { right: -130px; bottom: -610px; width: 980px; height: 930px; }
  .rfv-home-hero .rfv-header-art--power { display: none; }
  .rfv-home-hero .rfv-lead { top: 195px; left: 10px; width: 300px; }
  .rfv-home-hero .rfv-actions { top: 245px; left: 0; transform: scale(.55); }
}

/* Match the reference dashboard grid: compact Live row, then Chip War left / five features right. */
.rfv-live-details {
  min-height: 0;
  padding-bottom: 7px;
}
.rfv-live-details .rfv-server-slot { margin-top: 7px; }
.rfv-live-details .rfv-server-widget { min-height: 128px; }
.rfv-dashboard-row {
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 8px;
  width: calc(100% - 24px);
  margin: 8px auto 0;
  align-items: stretch;
}
.rfv-dashboard-row .rfv-war-slot {
  min-width: 0;
  margin: 0;
}
.rfv-dashboard-row .rfv-war-widget {
  height: 158px;
  min-height: 158px;
}
.rfv-dashboard-row .rfv-features {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 7px;
  width: auto;
  margin: 0;
  padding: 0;
}
.rfv-dashboard-row .rfv-features article {
  min-height: 158px;
  padding: 14px 10px;
}
.rfv-dashboard-row .rfv-features .rfv-icon {
  float: none;
  display: block;
  margin: 0 0 7px;
  --cell: 38px;
}
.rfv-dashboard-row .rfv-features h3 { margin: 0 0 5px; font-size: 10px; }
.rfv-dashboard-row .rfv-features p { margin: 0; font-size: 10px; line-height: 1.3; }
.rfv-home-grid { margin-top: 8px; }

@media (max-width: 1000px) {
  .rfv-dashboard-row { grid-template-columns: 1fr; }
  .rfv-dashboard-row .rfv-features { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rfv-dashboard-row .rfv-features article { min-height: 110px; }
}

@media (max-width: 620px) {
  .rfv-dashboard-row .rfv-features { grid-template-columns: 1fr; }
  .rfv-dashboard-row .rfv-war-widget { height: auto; min-height: 180px; }
}

/* 1270px reference density: fit the live panel, dashboard and news row in one screen. */
@media (min-width: 1001px) {
  .rfv-live-details { height: 136px; }
  .rfv-live-details > summary { min-height: 29px; padding-block: 5px; }
  .rfv-live-details .rfv-server-slot { height: 91px; margin-top: 5px; overflow: hidden; }
  .rfv-live-details .rfv-server-widget {
    position: relative;
    height: 91px;
    min-height: 91px;
    grid-template-columns: 1.04fr 1.04fr 1.04fr 1.26fr;
    gap: 6px;
    padding: 6px;
    overflow: hidden;
  }
  .rfv-live-details .rfv-server-widget__head,
  .rfv-live-details .rfv-service {
    min-height: 76px;
    padding: 9px;
  }
  .rfv-live-details .rfv-server-widget__head > .rfv-icon { --cell: 30px; flex-basis: 30px; }
  .rfv-live-details .rfv-server-widget__head strong { font-size: 14px; }
  .rfv-live-details .rfv-service { grid-template-columns: 28px minmax(0,1fr); gap: 1px 5px; }
  .rfv-live-details .rfv-service > .rfv-icon { --cell: 25px; }
  .rfv-live-details .rfv-service span,
  .rfv-live-details .rfv-server-widget__head span { font-size: 8px; }
  .rfv-live-details .rfv-service b { font-size: 12px; }
  .rfv-live-details .rfv-server-metrics { grid-column: 4; grid-row: 1; gap: 3px; }
  .rfv-live-details .rfv-metric { min-height: 22px; padding: 3px 6px; }
  .rfv-live-details .rfv-metric > .rfv-icon { --cell: 16px; }
  .rfv-live-details .rfv-metric span { font-size: 7px; }
  .rfv-live-details .rfv-metric b { font-size: 11px; }
  .rfv-live-details .rfv-race-online > span { min-height: 20px; padding: 3px 5px; }
  .rfv-live-details .rfv-chipwar {
    position: absolute;
    right: 8px;
    bottom: 7px;
    width: 29.3%;
    min-height: 21px;
    padding: 2px 6px;
  }
  .rfv-live-details .rfv-chipwar > .rfv-icon,
  .rfv-live-details .rfv-chipwar > span { display: none; }
  .rfv-live-details .rfv-chipwar > b { gap: 3px; }
  .rfv-live-details .rfv-chipwar b i { padding: 3px 8px; font-size: 8px; }
  .rfv-home-grid { grid-template-columns: 58% 42%; }
  .rfv-home-grid .rfv-panel { min-height: 152px; height: 152px; padding: 10px 12px; overflow: hidden; }
  .rfv-home-grid .rfv-news-card { min-height: 112px; padding: 5px 6px; }
  .rfv-home-grid .rfv-news-card img { height: 44px; }
  .rfv-home-grid .rfv-news-card h3 { font-size: 11px; }
  .rfv-home-grid .rfv-news-card p { display: none; }
  .rfv-home-grid .rfv-community > div { margin-top: 5px; }
  .rfv-home-grid .rfv-community a { min-height: 91px; height: 91px; padding: 8px 3px; }
  .rfv-home-grid .rfv-community .rfv-icon { --cell: 31px; }
}

/* Home hierarchy: navigation belongs in the header; status belongs at the start of Body. */
body.rfv-page-home .rfv-nav {
  display: flex !important;
  position: relative;
  top: 0 !important;
  z-index: 30;
}
body.rfv-page-home .rfv-statusbar--body {
  margin: 8px auto 0;
}

/* The supplied title art already contains the server ribbon and the tagline. Keep it intact. */
body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
  top: 8px;
  left: 20px;
  width: 570px;
  height: 330px;
  object-fit: contain;
}
body.rfv-page-home .rfv-home-hero .rfv-lead { display: none; }
body.rfv-page-home .rfv-home-hero .rfv-actions {
  top: 296px;
  left: 20px;
  transform: scale(.76);
  transform-origin: left top;
}

/* Wide desktop must use the viewport: the 1270px artboard is not a fixed page width. */
@media (min-width: 1500px) {
  body.rfv-page-home .rfv-home { max-width: 1270px; width: 50%; }
  body.rfv-page-home .rfv-statusbar--hero,
  body.rfv-page-home .rfv-live-details,
  body.rfv-page-home .rfv-dashboard-row,
  body.rfv-page-home .rfv-home-grid {
    width: calc(100% - 48px);
    max-width: none;
  }
  body.rfv-page-home .rfv-home-hero__copy {
    width: calc(100% - 48px);
    max-width: none;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
    left: clamp(72px, 8vw, 180px);
  }
  body.rfv-page-home .rfv-home-hero .rfv-actions {
    left: clamp(72px, 8vw, 180px);
  }
}

/* A 1270px dashboard must scale as one composition on a 2K/4K desktop.
   Scaling every section together preserves the reference padding and typography. */
@media (min-width: 1500px) {
  body.rfv-page-home .rfv-statusbar--hero,
  body.rfv-page-home .rfv-home-hero,
  body.rfv-page-home .rfv-home,
  body.rfv-page-home .rfv-footer {
    zoom: 2;
    width: 50%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  body.rfv-page-home .rfv-statusbar--hero { margin-top: 4px; }
  body.rfv-page-home .rfv-home-hero__copy {
    width: calc(100% - 24px);
    max-width: none;
  }
  body.rfv-page-home .rfv-live-details,
  body.rfv-page-home .rfv-dashboard-row,
  body.rfv-page-home .rfv-home-grid {
    width: calc(100% - 24px);
    max-width: none;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite,
  body.rfv-page-home .rfv-home-hero .rfv-actions { left: 50px; }
}

/* Reference desktop geometry (1270px artboard). */
@media (min-width: 1001px) {
  body.rfv-page-home .rfv-home-hero { height: 340px; min-height: 340px; }
  body.rfv-page-home .rfv-home-hero__copy { height: 340px; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
    top: -5px;
    left: -14px;
    width: 570px;
    height: 330px;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-character { right: 195px; }
  body.rfv-page-home .rfv-home-hero .rfv-header-art--power { right: 34px; }
  body.rfv-page-home .rfv-home-hero .rfv-actions {
    top: 265px;
    left: 18px;
    transform: none;
  }
  body.rfv-page-home .rfv-live-details { height: 141px; }
  body.rfv-page-home .rfv-live-details .rfv-server-slot { height: 96px; }
  body.rfv-page-home .rfv-live-details .rfv-server-widget {
    height: 96px;
    min-height: 96px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 2.35fr 1.55fr;
    gap: 6px;
    padding: 6px;
  }
  body.rfv-page-home .rfv-live-details .rfv-server-widget__head,
  body.rfv-page-home .rfv-live-details .rfv-service {
    min-height: 82px;
    height: 82px;
    padding: 9px;
  }
  body.rfv-page-home .rfv-live-details .rfv-server-widget__head > .rfv-icon { --cell: 31px; flex-basis: 31px; }
  body.rfv-page-home .rfv-live-details .rfv-service { grid-template-columns: 27px minmax(0,1fr); }
  body.rfv-page-home .rfv-live-details .rfv-service > .rfv-icon { --cell: 25px; }
  body.rfv-page-home .rfv-live-details .rfv-server-metrics {
    grid-column: 4;
    grid-row: 1;
    min-height: 82px;
    gap: 3px;
  }
  body.rfv-page-home .rfv-live-details .rfv-metric { min-height: 22px; padding: 3px 6px; }
  body.rfv-page-home .rfv-live-details .rfv-race-online > span { min-height: 21px; padding: 3px 5px; }
  body.rfv-page-home .rfv-live-details .rfv-chipwar {
    position: static;
    grid-column: 5;
    grid-row: 1;
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    justify-items: stretch;
    min-height: 82px;
    height: 82px;
    padding: 9px;
  }
  body.rfv-page-home .rfv-live-details .rfv-chipwar > .rfv-icon { display: none; }
  body.rfv-page-home .rfv-live-details .rfv-chipwar > span {
    display: block;
    padding: 7px;
    text-align: center;
    border: 1px solid #f2bfd8;
    border-radius: 5px;
  }
  body.rfv-page-home .rfv-live-details .rfv-chipwar > b { margin: 7px 0 0; justify-content: space-between; }
  body.rfv-page-home .rfv-live-details .rfv-chipwar b i { flex: 1; padding: 6px 2px; text-align: center; }
  body.rfv-page-home .rfv-dashboard-row .rfv-war-widget { height: 158px; min-height: 158px; }
  body.rfv-page-home .rfv-war-widget__body {
    display: grid;
    grid-template-columns: 64% 36%;
    grid-template-rows: 20px 1fr;
    column-gap: 8px;
    padding-top: 3px;
  }
  body.rfv-page-home .rfv-war-widget__body h2 { grid-column: 1; grid-row: 1; }
  body.rfv-page-home .rfv-war-bars { grid-column: 1; grid-row: 2; }
  body.rfv-page-home .rfv-war-results {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin: 0;
  }
  body.rfv-page-home .rfv-war-results > div { padding: 4px 7px; }
}

/* Remove the experimental wide-screen zoom: it distorted the live local page. */
@media (min-width: 1500px) {
  body.rfv-page-home .rfv-statusbar--hero,
  body.rfv-page-home .rfv-home-hero,
  body.rfv-page-home .rfv-home,
  body.rfv-page-home .rfv-footer {
    zoom: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.rfv-page-home .rfv-home { max-width: 1270px !important; }
  body.rfv-page-home .rfv-statusbar--hero,
  body.rfv-page-home .rfv-live-details,
  body.rfv-page-home .rfv-dashboard-row,
  body.rfv-page-home .rfv-home-grid { width: calc(100% - 24px) !important; }
  body.rfv-page-home .rfv-home-hero__copy { width: min(1440px, calc(100% - 48px)) !important; }
}

/* Authoritative Home Hero placement: never overlap the supplied title, character, or call-to-action art. */
@media (min-width: 1001px) {
  body.rfv-page-home .rfv-home-hero { height: 340px; min-height: 340px; }
  body.rfv-page-home .rfv-home-hero__copy { height: 340px; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
    top: -5px !important;
    left: 20px !important;
    width: 570px !important;
    height: 330px !important;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-character {
    right: 40px !important;
    bottom: -600px !important;
    width: 1000px !important;
    height: 1000px !important;
    transform: translateX(-150px);
  }
  body.rfv-page-home .rfv-home-hero .rfv-header-art--power {
    top: 10px !important;
    right: 6px !important;
    width: 205px !important;
    height: 315px !important;
  }
  body.rfv-page-home .rfv-home-hero .rfv-actions {
    top: 268px !important;
    left: 20px !important;
    transform: scale(.76) !important;
    transform-origin: left top !important;
  }
}

/* Keep the upper part of every internal-page Hero artwork in view. */
.rfv-page-hero { background-position: 82% top; }
@media (max-width: 1000px) {
  .rfv-page-hero { background-position: 82% top; }
}
@media (max-width: 620px) {
  .rfv-page-hero { background-position: 82% top; }
}
/* --------------------------------------------------------------------------
   RF ONLINE AOP 4.15 — supplied panel artwork design system
   The artwork is deliberately used as a single, uncut frame behind each UI
   component.  This keeps the decorative corners intact at every breakpoint.
   -------------------------------------------------------------------------- */
:root {
  --rf-panel-slim: url('../images/rf-assets/panels/supplied/panel-slim-a.png');
  --rf-panel-wide: url('../images/rf-assets/panels/supplied/panel-wide-c.png');
  --rf-panel-wide-alt: url('../images/rf-assets/panels/supplied/panel-wide-b.png');
  --rf-panel-card: url('../images/rf-assets/panels/supplied/panel-card-a.png');
  --rf-panel-card-alt: url('../images/rf-assets/panels/supplied/panel-card-c.png');
  --rf-panel-tall: url('../images/rf-assets/panels/supplied/panel-tall-a.png');
}

body.rfv-page-home {
  background-color: #fff8fb !important;
}

body.rfv-page-home .rfv-home {
  width: min(1270px, calc(100% - 32px)) !important;
  max-width: 1270px !important;
  margin: 0 auto 32px !important;
  display: grid !important;
  gap: 14px !important;
}

body.rfv-page-home .rfv-home > .rfv-shell {
  width: 100% !important;
  margin: 0 !important;
}

/* The master layout uses a tall, editorial hero; the artwork remains whole. */
@media (min-width: 1001px) {
  body.rfv-page-home .rfv-home-hero,
  body.rfv-page-home .rfv-home-hero__copy {
    height: 485px !important;
    min-height: 485px !important;
  }
  body.rfv-page-home .rfv-hero-title-composite {
    top: 32px !important;
    left: 28px !important;
    width: 500px !important;
    height: 290px !important;
  }
  body.rfv-page-home .rfv-hero-character {
    width: 930px !important;
    height: 930px !important;
    right: 52px !important;
    bottom: -505px !important;
    transform: translateX(-112px) !important;
  }
  body.rfv-page-home .rfv-hero-ribbon {
    right: 24px !important;
    top: 34px !important;
  }
  body.rfv-page-home .rfv-header-art--power {
    width: 210px !important;
    height: 324px !important;
  }
  body.rfv-page-home .rfv-actions {
    top: 332px !important;
    left: 28px !important;
    transform: scale(.84) !important;
    transform-origin: top left !important;
  }
}

/* Status rail: use the provided slim frame as one complete image. */
body.rfv-page-home .rfv-statusbar--body {
  background: var(--rf-panel-slim) center / 100% 100% no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 92px !important;
  padding: 16px 34px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-statusbar--body > div {
  min-height: 50px !important;
  border-color: rgba(246, 27, 126, .23) !important;
}

/* Main featured cards, news, community, live data, and chip war each retain
   their own supplied frame rather than a generic CSS border. */
body.rfv-page-home .rfv-features--primary {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
body.rfv-page-home .rfv-features--primary article {
  background: var(--rf-panel-card) center / 100% 100% no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 174px !important;
  padding: 31px 22px 25px !important;
}
body.rfv-page-home .rfv-features--primary article:nth-child(even) {
  background-image: var(--rf-panel-card-alt) !important;
}
body.rfv-page-home .rfv-features--primary h3 { margin-top: 8px !important; }

body.rfv-page-home .rfv-home-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}
body.rfv-page-home .rfv-home-grid .rfv-panel {
  background: var(--rf-panel-wide) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 254px !important;
  padding: 39px 40px 35px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-home-grid .rfv-panel__head { margin-bottom: 12px !important; }
body.rfv-page-home .rfv-home-grid .rfv-news__list {
  gap: 14px !important;
}
body.rfv-page-home .rfv-home-grid .rfv-news-card {
  background: var(--rf-panel-wide-alt) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 160px !important;
  padding: 21px 20px 18px !important;
}
body.rfv-page-home .rfv-home-grid .rfv-news-card img { height: 68px !important; }
body.rfv-page-home .rfv-home-grid .rfv-news-card p { display: block !important; }
body.rfv-page-home .rfv-community { min-height: 246px !important; }
body.rfv-page-home .rfv-community > div { margin-top: 18px !important; gap: 16px !important; }
body.rfv-page-home .rfv-community a {
  background: var(--rf-panel-wide-alt) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 132px !important;
  padding: 22px 10px !important;
}

body.rfv-page-home .rfv-dashboard-row--bottom {
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-live-details,
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-war-slot {
  background: var(--rf-panel-wide) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 320px !important;
  height: auto !important;
  padding: 34px 34px 30px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-live-details summary {
  margin: 0 0 13px !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-live-details .rfv-server-slot {
  height: auto !important;
  min-height: 230px !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-war-widget {
  min-height: 245px !important;
  height: auto !important;
}

/* A consistent supplied-frame treatment for content panels across all routes. */
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-panel,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-callout,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-form-panel,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-why-panel,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-journey,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-panel,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-main,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-info,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-status,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-links,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-side-panel,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-rank-table,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-rank-filter,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-news-feed,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-boss-status__panel {
  background: var(--rf-panel-wide) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(32px, 4vw, 58px) !important;
}
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-download-cards > *,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-requirement-grid > *,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-why-item,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-journey article,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-news-list article,
body[class*="rfv-page-"]:not(.rfv-page-home) .rfv-podium article {
  background: var(--rf-panel-card) center / 100% 100% no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(25px, 3vw, 40px) !important;
}
.rfv-footer {
  background: var(--rf-panel-wide-alt) center / 100% 100% no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 38px clamp(32px, 4vw, 70px) !important;
}

@media (max-width: 1000px) {
  body.rfv-page-home .rfv-home { width: min(100% - 18px, 760px) !important; gap: 10px !important; }
  body.rfv-page-home .rfv-statusbar--body { padding: 12px 17px !important; }
  body.rfv-page-home .rfv-features--primary { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.rfv-page-home .rfv-features--primary article { min-height: 150px !important; }
  body.rfv-page-home .rfv-dashboard-row--bottom { grid-template-columns: 1fr !important; }
  body.rfv-page-home .rfv-home-grid .rfv-panel { padding: 30px 25px 27px !important; }
}
@media (max-width: 600px) {
  body.rfv-page-home .rfv-features--primary { grid-template-columns: 1fr !important; }
  body.rfv-page-home .rfv-home-grid .rfv-news__list,
  body.rfv-page-home .rfv-community > div { grid-template-columns: 1fr !important; }
  body.rfv-page-home .rfv-home-grid .rfv-panel,
  body.rfv-page-home .rfv-dashboard-row--bottom .rfv-live-details,
  body.rfv-page-home .rfv-dashboard-row--bottom .rfv-war-slot { padding: 26px 20px !important; }
}

/* Kept at the end to supersede earlier experimental home-hero placement. */
@media (min-width: 1001px) {
  body.rfv-page-home .rfv-home-hero .rfv-home-hero__copy {
    height: 485px !important;
    min-height: 485px !important;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
    top: 32px !important;
    left: 28px !important;
    width: 500px !important;
    height: 290px !important;
  }
  body.rfv-page-home .rfv-home-hero .rfv-hero-character {
    width: 930px !important;
    height: 930px !important;
    right: 52px !important;
    bottom: -505px !important;
    transform: translateX(-112px) !important;
  }
  body.rfv-page-home .rfv-home-hero .rfv-actions {
    top: 332px !important;
    left: 28px !important;
    transform: scale(.84) !important;
    transform-origin: top left !important;
  }
}
