/* RivalBoost upgrade layer for boosting.php. Additive: restyles the existing markup, adds the identity board,
   the climb strip, and motion. One system: near-black ground, one crimson accent (from the Rivals board),
   real emblems, yui motion. */

/* ==== 1. one palette (overrides the page's own tokens) ==== */
:root {
    --bg-deep: #0e0e10;
    --bg-surface: #171719;
    --bg-card: #171719;
    --bg-card-hover: #1c1c1f;
    --bg-glass: rgba(23, 23, 25, .82);
    --bg-glass-strong: rgba(23, 23, 25, .94);
    --bg-glass-hover: rgba(32, 32, 35, .9);
    --accent: #e0384a;
    --accent-bright: #ff5563;
    --accent-dark: #b82a3a;
    --accent-darker: #8f1f2c;
    --accent-glow: rgba(224, 56, 74, .14);
    --accent-border: rgba(224, 56, 74, .26);
    --accent-ink: #fff;
    --star: #f0b83f;
    --gold: #e0384a;
    --gold-bright: #ff5563;
    --purple: #e0384a;
    --text-1: #f5f4f1;
    --text-2: #b1aea7;
    --text-3: #817e77;
    --border: rgba(255, 255, 255, .08);
    --border-accent: rgba(255, 255, 255, .16);
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 10px;
    --radius-xl: 12px;
    --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
}
body { background: var(--bg-deep) !important; --text-3: #aaa69f; }
body::before, body::after { display: none !important; content: none !important; }
.testimonials-bg, .faq-bg { display: none !important; }
.premium-navbar { top: 0 !important; background: rgba(14, 14, 16, .96) !important; border-bottom: 1px solid var(--border) !important; }
.premium-navbar .register-btn, .premium-navbar a[href*="register"] { background: var(--accent-dark) !important; color: var(--accent-ink) !important; border-color: var(--accent) !important; }
.premium-navbar .nav-discord-link, .premium-navbar .nav-threads-link { color: var(--text-2) !important; }
.rank-section, .checkout-section { background: var(--bg-card) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-lg) !important; box-shadow: none !important; }
.rank-icons { background: rgba(14, 14, 16, .6); border-color: var(--border); gap: 8px; padding: 14px 10px; }
.select-container select { background: var(--bg-surface) !important; border-color: var(--border-accent) !important; border-radius: var(--radius-sm) !important; color: var(--text-1) !important; }
.section-accent { color: var(--accent-bright) !important; }
.section-title span { color: var(--accent-bright) !important; -webkit-text-fill-color: var(--accent-bright) !important; background: none !important; }
.mobile-checkout-bar { background: rgba(14, 14, 16, .96) !important; border-top: 1px solid var(--border-accent) !important; }
.mobile-buy-btn { background: var(--accent-dark) !important; color: var(--accent-ink) !important; }
.premium-footer { background: var(--bg-surface) !important; border-top: 1px solid var(--border) !important; }

/* ==== 2. noise off ==== */
#mrDiscountBanner { margin: 0 0 8px; font-family: var(--mono); font-size: 11px; line-height: 1.5; color: var(--text-2); }
#cookie-consent button { border-radius: 4px !important; }
/* the site's own scroll-reveal left sections blank; the observer in rb-upgrade.js reveals instead */
[data-reveal], [data-reveal-stagger], [data-reveal-stagger] > *, .premium-footer, .how-it-works, .testimonials-section, .faq-section,
.how-it-works > *, .testimonials-section > *, .faq-section > *, .section-title, .section-subtitle, .section-accent { opacity: 1 !important; transform: none !important; visibility: visible !important; }

/* ==== 3. identity header: full-bleed, the board dissolves into the backdrop, the band fades into the page ==== */
.rb-ident { position: relative; margin: 0; padding: 0; width: 100%; overflow: hidden; }
body.rb-marvel .rb-ident { padding-top: 80px; }
.rb-ident-in { position: relative; border: 0; border-radius: 0; background: #171719 center 40% / cover no-repeat; overflow: hidden; }
.rb-ident-bg { position: absolute; inset: 0; background-size: cover; background-position: center 40%; filter: saturate(.78) brightness(.72); }
.rb-cine .rb-ident-in { background-image: none !important; }
.rb-hero-art { position: relative; z-index: 2; width: min(1200px, 100%); aspect-ratio: 1920 / 760; margin: 0 auto; }
.rb-cine .rb-hero-art #rbBoard, .rb-cine .rb-hero-art .rb-hero-still { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; aspect-ratio: auto; object-fit: contain; cursor: default; -webkit-mask-image: none; mask-image: none; }
.rb-hero-art::after { content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(180deg, transparent 70%, rgba(14, 14, 16, .7) 100%); }
.rb-cine .rb-hero { margin-top: -12px; }
.rb-ident-in::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background:
    linear-gradient(180deg, rgba(14, 14, 16, .55) 0%, rgba(14, 14, 16, .12) 28%, rgba(14, 14, 16, .12) 62%, rgba(14, 14, 16, .96) 100%),
    radial-gradient(70% 90% at 50% 50%, rgba(14, 14, 16, 0) 0%, rgba(14, 14, 16, .55) 100%); }
.rb-ident canvas { position: relative; z-index: 2; display: block; width: min(1200px, 100%); margin: 0 auto; height: auto; aspect-ratio: 1200 / 560; cursor: pointer;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%), linear-gradient(180deg, #000 0, #000 78%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%), linear-gradient(180deg, #000 0, #000 78%, transparent 100%);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
/* the hero row under the board: headline + CTA on the left, the boost module on the right */
.rb-hero { position: relative; z-index: 3; max-width: var(--max-width, 1200px); margin: -22px auto 0; padding: 0 20px 32px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: end; }
.rb-hero-copy h1 { margin: 0; font-size: clamp(32px, 3.2vw, 44px); font-weight: 850; letter-spacing: -.035em; line-height: 1.08; color: var(--text-1); max-width: 18ch; text-wrap: balance; text-shadow: 0 2px 24px rgba(14, 14, 16, .8); }
.rb-hero-copy p { margin: 12px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--text-2); max-width: 44ch; text-shadow: 0 1px 12px rgba(14, 14, 16, .8); }
.rb-hero-actions { display: flex; align-items: center; gap: 14px; margin-top: 18px; flex-wrap: wrap; }
.rb-ident-cta { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; padding: 13px 18px; border-radius: 6px; background: var(--accent-dark); color: var(--accent-ink); font-weight: 800; font-size: 14px; text-decoration: none; transition: transform .15s var(--ease), background .15s; }
.rb-ident-cta:hover { background: var(--accent-darker); transform: translateY(-1px); }
.rb-ident-cta:active { transform: scale(.985, .96); }
.rb-hero-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 6px; border: 1px solid var(--border-accent); color: var(--text-1); font-weight: 650; font-size: 13.5px; text-decoration: none; background: rgba(14, 14, 16, .5); transition: border-color .15s, background .15s; }
.rb-hero-ghost:hover { border-color: var(--text-2); background: rgba(14, 14, 16, .7); }
/* the boost module: the climb, hero-sized, mirrors the configurator */
.rb-boost { position: relative; background: rgba(20, 20, 22, .92) !important; border: 1px solid var(--border-accent); border-radius: var(--radius-lg); padding: 16px 18px 14px; overflow: visible; }
.rb-boost-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.rb-boost-head b { font-family: var(--mono); color: var(--text-1); font-weight: 500; font-size: 13px; letter-spacing: 0; text-transform: none; }
.rb-boost-head small { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #66b587; display: inline-flex; align-items: center; gap: 7px; }
.rb-boost-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.rb-boost-node { display: grid; justify-items: center; gap: 4px; width: 96px; position: relative; }
.rb-boost-node img { width: 66px; height: 66px; object-fit: contain; }
.rb-boost-node.to img { width: 84px; height: 84px; }
.rb-boost-node.to canvas { position: absolute; left: 50%; top: 42px; width: 150px; height: 150px; transform: translate(-50%, -50%); pointer-events: none; }
.rb-boost-node.to.rb-live img { opacity: 0; }
.rb-boost-node b { font-size: 12.5px; font-weight: 750; color: var(--text-1); white-space: nowrap; }
.rb-boost-node small { font-family: var(--mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.rb-boost-node img.rb-pop { animation: rb-popup .4s ease-in-out both; }
.rb-boost .rb-track { height: 44px; }
.rb-boost .rb-lbl { top: -2px; }
.rb-boost .rb-eta { bottom: -4px; }
.rb-boost-facts { display: grid; gap: 1px; background: var(--border); border-top: 1px solid var(--border); margin-top: 12px; grid-template-columns: 1fr .8fr 1.2fr; }
.rb-boost-facts div { background: rgba(23, 23, 25, .9); padding: 10px 10px 8px; display: grid; gap: 2px; }
.rb-boost-facts small { font-family: var(--mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-3); }
.rb-boost-facts b { font-family: var(--mono); font-size: 16px; font-weight: 500; color: var(--text-1); font-variant-numeric: tabular-nums; }
.rb-boost-facts b.rb-price { color: var(--accent-bright); }
/* four proof tiles replace the safety strip */
.mr-safety-block { display: none !important; }
.rb-proof { max-width: var(--max-width, 1200px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(4, 1fr); }
.rb-proof div { padding: 16px 16px 16px 0; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); }
.rb-proof div:last-child { border-right: 0; }
.rb-proof div + div { padding-left: 16px; }
.rb-proof i { color: var(--accent-bright); font-size: 14px; padding-top: 3px; }
.rb-proof b { display: block; font-size: 13.5px; font-weight: 700; color: var(--text-1); }
.rb-proof small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.55; color: var(--text-2); }
@media (max-width: 960px) { .rb-hero { grid-template-columns: 1fr; gap: 24px; } .rb-cine .rb-hero { margin-top: 0; } .rb-hero-copy h1 { max-width: 22ch; } .rb-proof { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { body.rb-marvel .rb-ident { padding-top: 71px; } .rb-hero { padding-bottom: 24px; } .rb-hero-copy p { display: block; } .rb-hero-actions { gap: 10px; } .rb-proof { grid-template-columns: 1fr; } .rb-proof div { padding-left: 0 !important; border-right: 0; border-top: 0; } .rb-ident canvas { -webkit-mask-image: linear-gradient(180deg, #000 0, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 0, #000 70%, transparent 100%); } }
@media (max-width: 620px) {
    .rb-cine .rb-ident-bg { background-size: auto 380px; background-position: center top; background-repeat: no-repeat; }
    .rb-cine .rb-ident-in::before { background: linear-gradient(180deg, rgba(14, 14, 16, .15), rgba(14, 14, 16, .7) 210px, #0e0e10 390px); }
    .rb-cine .rb-hero-art { width: 120%; margin-left: -20%; }
    .rb-cine .rb-hero-actions { display: grid; grid-template-columns: 1fr; }
    .rb-cine .rb-hero-actions a { justify-content: center; min-height: 46px; }
}

/* ==== 4. rank rows: real emblems and finite selection feedback ==== */

.rank-icon { width: 58px; height: 58px; opacity: 1; filter: grayscale(.65) brightness(.7); padding: 5px; transition: filter .18s var(--ease), transform .2s var(--ease); border: 2px solid transparent !important; background: none !important; box-shadow: none !important; }
.rank-icon:hover { opacity: 1; filter: grayscale(.2) brightness(.95); transform: translateY(-2px); }
.rank-icon.selected { filter: none; transform: scale(1.04); animation: rb-popup .4s ease-in-out both; }
.rank-icon.disabled { opacity: .22; filter: grayscale(1); }
.rank-icon-wrapper { position: relative; }

/* Keep the selected rank unmistakable without moving or enlarging its artwork. */
body.rb-marvel .rank-icons { grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)); gap: 6px; padding: 8px; }
body.rb-marvel .rank-icon-wrapper { --rank-aura: 207, 216, 224; position: relative; isolation: isolate; display: grid; justify-items: center; align-content: start; gap: 3px; min-width: 0; padding: 6px 2px; border: 2px solid transparent; border-radius: 7px; cursor: pointer; transition: background .15s, border-color .15s; }
body.rb-marvel .rank-icon-wrapper:has(.bronze) { --rank-aura: 217, 138, 74; }
body.rb-marvel .rank-icon-wrapper:has(.silver) { --rank-aura: 185, 222, 243; }
body.rb-marvel .rank-icon-wrapper:has(.gold) { --rank-aura: 255, 204, 65; }
body.rb-marvel .rank-icon-wrapper:has(.platinum) { --rank-aura: 79, 214, 217; }
body.rb-marvel .rank-icon-wrapper:has(.diamond) { --rank-aura: 79, 143, 245; }
body.rb-marvel .rank-icon-wrapper:has(.grandmaster) { --rank-aura: 164, 92, 240; }
body.rb-marvel .rank-icon-wrapper:has(.celestial) { --rank-aura: 255, 122, 46; }
body.rb-marvel .rank-icon-wrapper:has(.eternity) { --rank-aura: 240, 82, 214; }
body.rb-marvel .rank-icon-wrapper:has(.oneaboveall) { --rank-aura: 255, 91, 103; }
body.rb-marvel .rank-icon-wrapper::before { content: ''; position: absolute; z-index: -1; top: 3px; left: 50%; width: 60px; height: 60px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(var(--rank-aura), .4) 0%, rgba(var(--rank-aura), .2) 32%, rgba(var(--rank-aura), 0) 72%); opacity: .8; pointer-events: none; transition: opacity .15s; }
body.rb-marvel .rank-icon-wrapper:has(.rank-icon.selected)::before, body.rb-marvel .rank-icon-wrapper:hover::before { opacity: 1; }
body.rb-marvel .rank-icon-wrapper:has(.rank-icon.disabled) { cursor: not-allowed; }
body.rb-marvel .rank-icon-wrapper:has(.rank-icon.disabled)::before { opacity: .12; }
body.rb-marvel .rank-icon { width: 54px; height: 54px; padding: 3px; opacity: .9; filter: drop-shadow(0 0 4px rgba(var(--rank-aura), .65)); transform: none; animation: none; }
body.rb-marvel .rank-icon-wrapper:hover .rank-icon:not(.disabled), body.rb-marvel .rank-icon.selected { opacity: 1; filter: drop-shadow(0 0 5px rgba(var(--rank-aura), .9)) drop-shadow(0 0 9px rgba(var(--rank-aura), .5)); transform: none; animation: none; }
body.rb-marvel .rank-icon-wrapper:hover { background: #222225; }
body.rb-marvel .rank-icon-wrapper:has(.rank-icon.selected) { background: #342027; border-color: #ff7b89; }
body.rb-marvel .rank-icon-wrapper:has(.rank-icon.selected)::after { content: '\2713'; position: absolute; top: 3px; right: 3px; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--accent-dark); color: #fff; font: 700 11px/1 Archivo, sans-serif; }
body.rb-marvel .rank-icon-wrapper:focus-within { outline: 2px solid var(--text-1); outline-offset: 2px; }
body.rb-marvel .rank-icon:focus-visible { outline: none; }
body.rb-marvel .rank-tooltip { position: static; display: block; visibility: visible; opacity: 1; transform: none; min-height: 28px; max-width: 100%; padding: 0; border: 0; background: none; color: var(--text-2); font-size: 11px; font-weight: 500; line-height: 14px; white-space: normal; pointer-events: none; }
body.rb-marvel .rank-tooltip::after { display: none; }
body.rb-marvel .rank-icon.selected + .rank-tooltip { color: #fff; font-weight: 700; }
body.rb-marvel .rank-icon.disabled { opacity: .25; filter: grayscale(1); }
body.rb-marvel .rank-icon.disabled + .rank-tooltip { opacity: .45; }
@media (max-width: 480px) { body.rb-marvel .rank-icons { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ==== 5. division pips ==== */
.division-btn { width: 46px; height: 34px; border-radius: 4px; clip-path: polygon(0 0, 100% 0, 100% 72%, 72% 100%, 0 100%); font-family: var(--mono); font-size: 12px; letter-spacing: .04em; background: var(--bg-surface); border-color: var(--border-accent); color: var(--text-2); }
.division-btn:hover { border-color: var(--text-2); background: var(--bg-card-hover); color: var(--text-1); }
.division-btn.selected { background: var(--accent-dark); border-color: var(--accent); color: var(--accent-ink); box-shadow: none; animation: rb-pip .3s ease-in-out both; }
.division-btn.disabled { opacity: .3; pointer-events: none; }

/* ==== 6. service tabs ==== */
.nav-tabs { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--border) !important; border-radius: 0 !important; box-shadow: none !important; }
.nav-tab { position: relative; background: transparent !important; border: 0 !important; color: var(--text-2) !important; box-shadow: none !important; border-radius: 0 !important; }
.nav-tab.active { color: var(--text-1) !important; }
.nav-tab.active i { color: var(--accent-bright) !important; }
.nav-tab::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .28s var(--ease); }
.nav-tab.active::after { transform: scaleX(1); }
.service-panel.active { animation: rb-panel .42s ease-in-out both; }

/* ==== 7. checkout ==== */
.checkout-section { padding: 20px !important; }
.checkout-header h3 { font-weight: 800 !important; letter-spacing: -.01em; }
.checkout-subtitle { color: var(--text-3) !important; }
.rank-display { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 12px; background: var(--bg-surface) !important; border: 1px solid var(--border) !important; border-radius: var(--radius-md) !important; overflow: visible !important; }
.rank-display .rank-arrow { display: none; }
.rank-display .rank-icon-small { width: 54px; height: 54px; object-fit: contain; }
.rank-display #checkout-desired-rank { width: 64px; height: 64px; position: relative; z-index: 1; }
.rank-display .rb-badge { position: absolute; right: -6px; top: 50%; width: 104px; height: 104px; transform: translateY(-50%); pointer-events: none; }
.rank-display.rb-has-badge #checkout-desired-rank { visibility: hidden; animation: none; }
.rb-boost-node.to.rb-live img { visibility: hidden; animation: none; }
.rb-track { position: relative; height: 40px; display: grid; align-items: center; }
.rb-track .rb-base { height: 3px; background: rgba(255, 255, 255, .14); border-radius: 2px; }
.rb-track .rb-fill.rb-grow { animation: rb-overshoot .5s ease-in-out both; }
.rb-track .rb-lbl { position: absolute; left: 50%; top: -4px; transform: translateX(-50%); font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }
.rb-track .rb-eta { position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }
.rank-icon-small.rb-pop { animation: rb-popup .4s ease-in-out both; }
.boost-options { border-top: 1px solid var(--border-accent); margin-top: 14px; }
.boost-option { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--border) !important; border-radius: 0 !important; padding: 12px 2px !important; }
.option-label { color: var(--text-1) !important; font-weight: 600 !important; }
.option-badge { background: var(--accent-glow) !important; color: var(--accent-bright) !important; border-radius: 4px !important; font-family: var(--mono); font-size: 10px !important; letter-spacing: .06em; }
.tooltip-icon { color: var(--text-3) !important; }
.boost-toggle .toggle-track { background: var(--bg-surface) !important; border: 1px solid var(--border-accent) !important; border-radius: 4px !important; }
.boost-toggle .toggle-track::before { border-radius: 2px !important; background: var(--text-3) !important; transition: transform .28s ease-in-out, background .15s !important; }
.boost-toggle input[type="checkbox"]:checked + .toggle-track { background: var(--accent-glow) !important; border-color: var(--accent) !important; }
.boost-toggle input[type="checkbox"]:checked + .toggle-track::before { background: var(--accent) !important; animation: rb-knob .34s ease-in-out both; }
.coupon-toggle { color: var(--text-2) !important; font-size: 12px !important; }
.coupon-input-wrapper input { background: var(--bg-surface) !important; border-color: var(--border-accent) !important; color: var(--text-1) !important; }
.coupon-input-wrapper button { background: var(--bg-surface) !important; color: var(--text-2) !important; border: 1px solid var(--border-accent) !important; }
.total-section { background: transparent !important; border: 0 !important; border-top: 1px solid var(--border-accent) !important; border-radius: 0 !important; padding: 14px 2px 4px !important; }
.total-label { color: var(--text-2) !important; font-weight: 600 !important; }
.final-price { color: var(--text-1) !important; font-family: var(--mono) !important; font-variant-numeric: tabular-nums; letter-spacing: -.02em; font-size: 26px !important; }
.original-price { color: var(--text-3) !important; font-family: var(--mono) !important; }
.payment-separator span { color: var(--text-3) !important; font-family: var(--mono); font-size: 10px !important; letter-spacing: .12em; text-transform: uppercase; }
.gateway-select { background: var(--bg-surface) !important; border-color: var(--border-accent) !important; color: var(--text-1) !important; border-radius: var(--radius-sm) !important; }
.stripe-button { background: var(--accent-dark) !important; color: var(--accent-ink) !important; border: 0 !important; border-radius: var(--radius-md) !important; box-shadow: none !important; font-weight: 800 !important; transition: background .15s, transform .12s var(--ease) !important; display: flex; align-items: center; justify-content: space-between !important; padding: 0 16px !important; min-height: 50px; }
.stripe-button::before, .stripe-button::after { display: none !important; }
.stripe-button:hover { background: var(--accent-darker) !important; transform: translateY(-1px); }
.stripe-button:active { transform: scale(.985, .96); }
.stripe-button > span:first-of-type { font-size: 15px; }
.stripe-button .payment-icons { display: flex !important; align-items: center; gap: 9px; margin: 0 !important; }
.stripe-button .payment-icons svg { height: 16px; width: auto; fill: #fff; opacity: .95; }
.stripe-button .payment-icons svg * { fill: #fff; }
.stripe-button .payment-icons svg.rb-stripe { height: 22px; opacity: 1; }
.stripe-button .payment-icons img { display: none !important; }
.rb-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 10px 0 2px; color: var(--text-2); font-size: 12px; line-height: 1.5; }
.rb-secure svg { height: 14px; width: auto; }
.rb-secure svg * { fill: var(--text-2); }
.rb-secure b { color: var(--text-2); font-weight: 600; }
.trust-badges { border-top: 1px solid var(--border); margin-top: 12px !important; padding-top: 12px !important; }
.trust-badge { background: transparent !important; border: 0 !important; color: var(--text-3) !important; }
.trust-badge i { color: var(--accent-bright) !important; }

/* ==== 8. how it works: native choices and one illustration ==== */
.rb-hiw { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; margin-top: 8px; }
.rb-hiw-list { list-style: none; margin: 0; padding: 0; background: var(--bg-card); display: grid; align-content: start; }
.rb-hiw-list li { margin: 0; padding: 0; border-bottom: 1px solid var(--border); }
.rb-hiw-list li:last-child { border-bottom: 0; }
.rb-hiw-choice { display: block; width: 100%; min-height: 60px; padding: 22px 24px; border: 0; border-radius: 0; background: var(--bg-card); color: var(--text-2); text-align: left; cursor: pointer; }
.rb-hiw-choice:hover { background: var(--bg-card-hover); }
.rb-hiw-choice[aria-pressed=true] { background: #252528; color: var(--text-1); }
.rb-hiw-choice:focus-visible { outline: 2px solid var(--text-1); outline-offset: -4px; }
.rb-hiw-title { display: block; font-size: 17px; font-weight: 750; line-height: 1.35; }
.rb-hiw-description { display: block; margin: 5px 0 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.rb-hiw [hidden] { display: none !important; }
.rb-hiw-stage { background: var(--bg-surface); display: grid; place-items: center; padding: 26px 22px; min-height: 380px; position: relative; overflow: hidden; }
.rb-hiw-panel { width: 100%; max-width: 360px; margin: 0; }
.rb-hiw-panel img { width: 100%; height: auto; max-height: 300px; object-fit: contain; filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .5)); }
@media (max-width: 860px) { .rb-hiw { grid-template-columns: 1fr; } .rb-hiw-stage { min-height: 300px; } }

/* ==== 9. testimonials, rebuilt ==== */
.testimonials-grid { display: none !important; }
.rb-revbar b { color: var(--text-1); font-weight: 500; }
.rb-revbar .rb-stars { color: var(--star); letter-spacing: 2px; font-size: 12px; }
.rb-rev article:hover { background: var(--bg-card-hover); }
.rb-rev .rb-who img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid var(--border-accent); }
.rb-rev .rb-who b { display: block; font-size: 14px; font-weight: 750; color: var(--text-1); }
.rb-rev .rb-climb { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); padding: 8px 10px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 6px; width: fit-content; }
.rb-rev .rb-climb img { width: 22px; height: 22px; object-fit: contain; }
.rb-rev .rb-climb i { color: var(--accent-bright); font-style: normal; }
.rb-rev p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.rb-rev .rb-stars { color: var(--star); letter-spacing: 2px; font-size: 12px; }

/* ==== 10. faq, rebuilt as one accordion ==== */
.faq-grid { display: none !important; }
.rb-faq { border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: var(--bg-card); }
.rb-faq details { border-bottom: 1px solid var(--border); }
.rb-faq details:last-child { border-bottom: 0; }
.rb-faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 120px 1fr 24px; gap: 16px; align-items: center; padding: 18px 20px; font-size: 15px; font-weight: 700; color: var(--text-1); transition: background .15s; }
.rb-faq summary::-webkit-details-marker { display: none; }
.rb-faq summary:hover { background: var(--bg-card-hover); }
.rb-faq summary .rb-plus { width: 24px; height: 24px; position: relative; }
.rb-faq summary .rb-plus::before, .rb-faq summary .rb-plus::after { content: ''; position: absolute; background: var(--text-2); left: 50%; top: 50%; transform: translate(-50%, -50%); transition: transform .3s ease-in-out, background .15s; }
.rb-faq summary .rb-plus::before { width: 12px; height: 2px; }
.rb-faq summary .rb-plus::after { width: 2px; height: 12px; }
.rb-faq details[open] summary { background: var(--bg-surface); }
.rb-faq details[open] summary .rb-tag { color: var(--accent-bright); }
.rb-faq details[open] summary .rb-plus::after { transform: translate(-50%, -50%) rotate(90deg) scaleY(0); }
.rb-faq details[open] summary .rb-plus::before { background: var(--accent-bright); }
.rb-faq .rb-ans { padding: 0 20px 20px 156px; font-size: 16px; line-height: 1.6; color: var(--text-2); max-width: 78ch; animation: rb-rise .4s ease-in-out both; }
@media (max-width: 720px) { .rb-faq summary { grid-template-columns: 1fr 24px; } .rb-faq summary .rb-tag { display: none; } .rb-faq .rb-ans { padding-left: 20px; } }

/* ==== 11. page choreography ==== */
.rb-ident, .nav-tabs, .rank-sections .rank-section, .checkout-section { opacity: 0; }
body.rb-in .rb-ident { animation: rb-enter .6s ease-in-out both; }
body.rb-in .nav-tabs { animation: rb-rise .5s ease-in-out .3s both; }
body.rb-in .rank-sections .rank-section:nth-child(1) { animation: rb-enter .55s ease-in-out .4s both !important; }
body.rb-in .rank-sections .rank-section:nth-child(2) { animation: rb-enter .55s ease-in-out .52s both !important; }
body.rb-in .checkout-section { animation: rb-slide .6s ease-in-out .5s both; }
.rb-stagger > * { opacity: 0; }
.rb-stagger.rb-seen > * { animation: rb-enter .5s ease-in-out both; }
.rb-stagger.rb-seen > *:nth-child(1) { animation-delay: .05s; } .rb-stagger.rb-seen > *:nth-child(2) { animation-delay: .13s; } .rb-stagger.rb-seen > *:nth-child(3) { animation-delay: .21s; }
.rb-stagger.rb-seen > *:nth-child(4) { animation-delay: .29s; } .rb-stagger.rb-seen > *:nth-child(5) { animation-delay: .37s; } .rb-stagger.rb-seen > *:nth-child(6) { animation-delay: .45s; }

/* ==== 12. keyframes (yui: overshoot in the stops, ease-in-out only) ==== */
@keyframes rb-popup { from { opacity: 0; transform: scale(0, 0); } 20%, to { opacity: 1; } 50% { transform: scale(1.12, 1.16); } 75% { transform: scale(.98, .99); } to { transform: scale(1.04, 1.04); } }
@keyframes rb-pip { from { transform: scale(.7, .6); } 50% { transform: scale(1.12, 1.18); } 75% { transform: scale(.96, .97); } to { transform: scale(1, 1); } }
@keyframes rb-knob { from { transform: translateX(0) scale(1, 1); } 50% { transform: translateX(24px) scale(1.15, .8); } 75% { transform: translateX(19px) scale(.95, 1.08); } to { transform: translateX(20px) scale(1, 1); } }
@keyframes rb-enter { from { opacity: 0; transform: scale(.96, .94) translateY(10px); } 50% { opacity: 1; transform: scale(1.015, 1.02) translateY(-2px); } 75% { transform: scale(.995, .995) translateY(1px); } to { opacity: 1; transform: scale(1, 1) translateY(0); } }
@keyframes rb-rise { from { opacity: 0; transform: translateY(14px); } 50% { opacity: 1; transform: translateY(-3px); } 75% { transform: translateY(1px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rb-slide { from { opacity: 0; transform: translateX(22px); } 50% { opacity: 1; transform: translateX(-4px); } 75% { transform: translateX(1px); } to { opacity: 1; transform: translateX(0); } }
@keyframes rb-panel { from { opacity: 0; transform: scale(.985, .98); } 50% { opacity: 1; transform: scale(1.006, 1.008); } 75% { transform: scale(.998, .998); } to { opacity: 1; transform: scale(1, 1); } }
@keyframes rb-overshoot { from { transform: translateY(-50%) scaleX(.2); } 50% { transform: translateY(-50%) scaleX(1.06); } 75% { transform: translateY(-50%) scaleX(.985); } to { transform: translateY(-50%) scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
    .rb-ident, .nav-tabs, .rank-sections .rank-section, body.rb-in .rank-sections .rank-section:nth-child(1), body.rb-in .rank-sections .rank-section:nth-child(2), .checkout-section, .rb-stagger > * { opacity: 1 !important; animation: none !important; }
    .rank-icon.selected, .rb-track .rb-fill, .rank-icon-small.rb-pop, .division-btn.selected, .service-panel.active, .rb-faq .rb-ans { animation: none !important; }
}

/* ==== type: Archivo for UI, JetBrains Mono for numbers ==== */
body, button, input, select, textarea, .rb-hero-copy h1, .section-title, .checkout-header h3 { font-family: 'Archivo', system-ui, sans-serif !important; }
.section-title { font-weight: 800 !important; letter-spacing: -.03em !important; }

/* multi-tier gradient on the hero + checkout strips: the fill clips a full-width gradient */
.rb-track .rb-fill { position: absolute; left: 0; top: 50%; height: 3px; transform: translateY(-50%); width: 0; border-radius: 2px; transform-origin: left center; transition: width .45s ease-in-out; background: var(--rb-grad, linear-gradient(90deg, var(--rb-from,#f2c14e), var(--rb-to,#4f8ff5))) !important; background-size: 100% 100%; }
.rb-boost .rb-track .rb-fill, .rank-display .rb-track .rb-fill { background-attachment: local; }

/* ==== performance: pause authored motion when hidden ==== */
.rb-paused *, .rb-paused *::before, .rb-paused *::after { animation-play-state: paused !important; }

/* Relaunch: retain the cinematic art while making the shop readable and operable. */
body, h1, h2, h3, h4, h5, p, label, button, input, select, textarea, summary,
.premium-navbar a, .mobile-navbar a, .rb-boost small, .rb-boost-head b,
.rb-revbar, .rb-faq summary .rb-tag, .payment-separator span { font-family: 'Archivo', system-ui, sans-serif !important; }

.rb-data, .final-price, .original-price, .rb-boost-node b, .rb-boost-facts b { font-family: var(--mono) !important; font-variant-numeric: tabular-nums; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible,
[role='button']:focus-visible, .boost-toggle:has(input:focus-visible) { outline: 2px solid var(--text-1); outline-offset: 4px; }
[hidden] { display: none !important; }
.rb-hero-still { display: none; width: 100%; aspect-ratio: 1920 / 760; object-fit: cover; object-position: center; }
.rb-static #rbBoard { display: none; }
.rb-static .rb-hero-still { display: block; }
.rb-cine .rb-hero-copy p { font-size: 15px; max-width: 49ch; line-height: 1.6; }
.rb-boost small { font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important; }



.rb-service-summary { font-size: 24px; line-height: 1.3; color: var(--text-1); padding: 26px 0; margin: 0; }

.premium-navbar, .premium-navbar.scrolled, .mobile-navbar { background: var(--bg-deep) !important; backdrop-filter: none !important; }
.premium-navbar .logo { animation: none !important; filter: none !important; }
.rb-receipts { width: min(1080px, calc(100% - 48px)); margin: 72px auto 36px; padding: 36px 0 44px; border-top: 2px solid var(--text-2); display: grid; grid-template-columns: .9fr 1.2fr; gap: 64px; }
.rb-kicker { display: block; color: var(--text-2); font-size: 14px; margin-bottom: 16px; }
.rb-receipts h2 { font-size: clamp(30px, 3.2vw, 42px); line-height: 1.08; letter-spacing: -.04em; max-width: 12ch; margin: 0; color: var(--text-1); }
.rb-receipts-list { display: grid; gap: 12px; }
.rb-receipt { background: var(--bg-surface); padding: 16px 20px; border: 1px solid var(--border); border-radius: 4px; }
.rb-receipt-head, .rb-receipt-foot { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--text-2); }
.rb-receipt-climb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 18px; line-height: 1.4; margin: 12px 0; color: var(--text-1); }
.rb-receipt-climb > span:nth-child(2) { color: var(--text-3); }
.rb-receipts-empty { color: var(--text-2); line-height: 1.6; padding: 20px; border: 1px solid var(--border); }
.rb-revbar { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 4px 0 14px; font-family: var(--mono); color: var(--text-3); font-size: 14px; letter-spacing: 0; text-transform: none; margin-bottom: 24px; }
.rb-revbar a { color: var(--text-2); text-decoration: underline; text-underline-offset: 4px; }
.rb-rev { display: grid; border-radius: var(--radius-lg); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border: 0; background: none; overflow: visible; }
.rb-rev article { background: var(--bg-card); display: grid; gap: 12px; align-content: start; transition: background .15s; padding: 24px; border: 1px solid var(--border); border-radius: 6px; }
.rb-rev article:first-child { grid-column: 1 / -1; padding: 32px; }
.rb-rev article:first-child p { font-size: 21px; line-height: 1.6; max-width: 60ch; }
.rb-rev .rb-who { display: grid; gap: 12px; align-items: center; grid-template-columns: 32px 1fr; }
.rb-avatar-letter { font-size: 26px; font-weight: 800; color: var(--text-2); }
.rb-rev .rb-who small { display: flex; align-items: center; gap: 6px; margin-top: 2px; color: var(--text-2); font-size: 12px; }
.rb-faq summary .rb-tag { font-family: var(--mono); color: var(--text-3); font-size: 12px; letter-spacing: 0; text-transform: none; }

.rb-draft-notice { color: var(--text-2); font-size: 14px; line-height: 1.5; padding: 12px 0; }
.boost-toggle input { width: 100% !important; height: 100% !important; position: absolute; inset: 0; margin: 0; opacity: 0; z-index: 2; cursor: pointer; }
@media (max-width: 720px) {
    .rb-receipts { grid-template-columns: 1fr; gap: 28px; width: calc(100% - 36px); margin-top: 48px; }
    .rb-receipts h2 { max-width: 18ch; }
    .rb-receipt { padding: 16px; }
    .rb-receipt-climb { font-size: 16px; }
    .rb-rev { grid-template-columns: 1fr; }
    .rb-rev article:first-child { padding: 24px; }
    .rb-rev article:first-child p { font-size: 18px; }
    .rb-boost-facts b { font-size: 14px; }
    .rb-boost small { font-size: 11px !important; }
    .mobile-checkout-bar { padding-bottom: max(12px, env(safe-area-inset-bottom)) !important; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    #rbBoard, .rank-display .rb-badge, #rbBoostBadge { display: none !important; }
    .rank-display.rb-has-badge #checkout-desired-rank, .rb-boost-node.to.rb-live img { opacity: 1 !important; visibility: visible; }
    .rb-hero-still { display: block; }
    .rb-ident, .nav-tabs, .rank-section, .checkout-section, .rb-stagger > * { opacity: 1 !important; transform: none !important; }
}

/* ==== Game and account storefront compatibility. Scoped to the existing pages. ==== */
body.rb-game-page, body.rb-catalog-page {
    --font-display: 'Archivo', system-ui, sans-serif;
    --font-body: 'Archivo', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, monospace;
    --bg-base: #0e0e10; --bg-surface: #171719; --bg-elevated: #202023;
    --bg-card: #171719; --bg-inset: #111113; --bg-dark: #0e0e10;
    --surface-1: #171719; --surface-2: #202023; --surface-3: #28282c;
    --text-primary: #f5f4f1; --text-secondary: #b1aea7; --text-muted: #aaa7a0;
    --text-1: #f5f4f1; --text-2: #b1aea7; --text-3: #aaa7a0;
    --t1: #f5f4f1; --t2: #b1aea7; --t3: #aaa7a0;
    --glass-light: #171719; --glass-medium: #202023; --glass-subtle: #202023;
    --glass-bg-1: #171719; --glass-bg-2: #171719; --glass-bg-3: #202023;
    --border-light: rgba(255,255,255,.12); --border-medium: rgba(255,255,255,.2);
    --border-subtle: rgba(255,255,255,.08); --glass-border-light: rgba(255,255,255,.12);
    --glass-border-1: rgba(255,255,255,.12); --glass-border-2: rgba(255,255,255,.16);
    --hair: rgba(255,255,255,.1); --hair-2: rgba(255,255,255,.16);
    --lol-teal: #e0384a; --lol-teal-deep: #b82a3a; --lol-teal-bright: #ff5563; --lol-pink: #e0384a;
    --lol-teal-border: rgba(224,56,74,.35); --lol-teal-glow: transparent;
    --val-red: #e0384a; --val-red-bright: #ff5563; --val-red-deep: #b82a3a; --val-red-glow: transparent;
    --cs-amber: #e0384a; --cs-amber-bright: #ff5563; --cs-amber-deep: #b82a3a;
    --cs-amber-subtle: #242024; --cs-amber-border: rgba(224,56,74,.35);
    --ow-orange: #e0384a; --ow-orange-bright: #ff5563; --ow-orange-deep: #b82a3a;
    --amber: #e0384a; --amber-ink: #fff;
    color: var(--text-1); background: #0e0e10 !important; font-family: var(--font-body);
}
body.rb-game-page { padding-top: 76px; padding-bottom: 0; }
body.rb-game-page *,body.rb-game-page *::before,body.rb-game-page *::after { animation-iteration-count: 1 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.rb-game-page :is(h1,h2,h3,h4) { font-family: var(--font-display) !important; color: var(--text-1); text-shadow: none !important; }
body.rb-game-page :is(h1,h2,h3,.gradient-text,.gradient-text-v3,.text-gradient,.gradient-heading,.checkout-header,.val-checkout-header,.cs-checkout-header,.fn-checkout-header) {
    background-clip: border-box !important; -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}
body.rb-game-page :is(h1,h2,h3,.gradient-text,.gradient-text-v3,.text-gradient,.gradient-heading) { background-image: none !important; }
body.rb-game-page :is(.cursor-glow,#cursorGlow,.lol-page-bg,.lol-page-overlay,.ow-page-bg,.ow-page-overlay,.ow-hero-particles,.fn-hero-glow,.floating-particles,.page-orb,.orb) { display: none !important; }
body.rb-game-page :is(.reveal,[data-reveal],.rank-section,.checkout-section,.nav-tabs,.val-nav-tabs,.cs-nav-tabs,.fn-nav-tabs,.fn-rank-section) {
    opacity: 1 !important; visibility: visible !important; animation: none !important; transform: none !important;
}
body.rb-game-page :is(.rank-section,.checkout-section,.val-rank-section,.val-checkout,.cs-rank-section,.cs-checkout,.fn-rank-section,.fn-checkout,.faq-item,.val-faq-item,.cs-faq-item,.fn-faq-item,.auth-modal,.val-auth-modal,.cs-auth-modal,.fn-auth-modal) {
    background: var(--bg-card) !important; border: 1px solid var(--border-light) !important;
    border-radius: 8px !important; box-shadow: none !important;
}
body.rb-game-page :is(.rank-section,.checkout-section,.val-rank-section,.val-checkout,.cs-rank-section,.cs-checkout,.fn-rank-section,.fn-checkout,.faq-item,.val-faq-item,.cs-faq-item,.fn-faq-item)::before,
body.rb-game-page :is(.rank-section,.checkout-section,.val-rank-section,.val-checkout,.cs-rank-section,.cs-checkout,.fn-rank-section,.fn-checkout)::after { display: none !important; }
body.rb-game-page :is(.lol-hero,.val-hero,.cs-hero,.ow-hero-section,.fn-hero) {
    position: relative; width: min(1200px,calc(100% - 48px)); max-width: 1200px; min-height: 216px;
    margin: 0 auto 20px; padding: 34px 36px; text-align: left; overflow: hidden;
    background: linear-gradient(90deg,rgba(14,14,16,.98) 0%,rgba(14,14,16,.9) 40%,rgba(14,14,16,.25) 100%),var(--rb-game-art) center right / cover no-repeat;
    border-bottom: 1px solid var(--border-light); border-radius: 0;
}
body.rb-game-lol { --rb-game-art: url('/lol-bg.webp'); }
body.rb-game-valorant { --rb-game-art: url('/valorantbackground.jpg'); }
body.rb-game-cs2 { --rb-game-art: url('/cs2-keyart.jpg'); }
body.rb-game-ow2 { --rb-game-art: url('/ow-bg-kr.jpg'); }
body.rb-game-fortnite { --rb-game-art: url('/img/rb2/heroes/mapbg-fortnite.webp'); }
body.rb-game-page :is(.lol-hero,.val-hero,.cs-hero,.ow-hero-section,.fn-hero)::before,
body.rb-game-page :is(.lol-hero,.val-hero,.cs-hero,.ow-hero-section,.fn-hero)::after { display: none !important; }
body.rb-game-page :is(.ow-hero-content,.fn-hero-content) { text-align: left; max-width: none; padding: 0; }
body.rb-game-page :is(.lol-hero h1,.val-hero h1,.cs-hero h1,.ow-hero-title,.fn-hero h1) {
    font-size: clamp(28px,3.1vw,44px) !important; font-weight: 800; line-height: 1.08; letter-spacing: -.035em;
    width: min(23ch,70%); margin: 12px 0 0 !important; color: var(--text-1) !important;
}
body.rb-game-page :is(.lol-hero-badge,.val-hero-badge,.cs-hero-badge,.ow-hero-badge,.fn-hero-badge) {
    padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--text-2);
    font: 600 12px var(--font-body); letter-spacing: .08em; animation: none; margin: 0;
}
body.rb-game-page :is(.ow-hero-sub,.fn-hero-subtitle) { max-width: 50ch; margin: 14px 0 0; color: var(--text-2); font-size: 14px; line-height: 1.6; }
body.rb-game-page :is(.lol-breadcrumb,.val-breadcrumb,.cs-breadcrumb,.fn-breadcrumb,.lol-safety-block,.val-safety-block,.cs-safety-block,.ow-safety-block,.fn-safety-block,.lol-discord-banner,.val-discord-banner,.ow-discord-banner) { display: none !important; }
body.rb-game-page :is(.nav-tabs,.val-nav-tabs,.cs-nav-tabs,.fn-nav-tabs) {
    max-width: 1200px; width: 100%; display: flex; justify-content: flex-start; flex-wrap: nowrap;
    gap: 8px; padding: 0 24px 14px; margin: 0 auto; overflow-x: auto; scrollbar-width: thin;
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
}
body.rb-game-page :is(.nav-tab,.val-nav-tab,.cs-nav-tab,.fn-nav-tab) {
    flex: 0 0 auto; min-height: 44px; padding: 10px 16px !important; border: 1px solid var(--border-light) !important;
    background: #171719 !important; color: var(--text-2) !important; border-radius: 6px !important;
    box-shadow: none !important; transform: none !important; font: 600 14px var(--font-body) !important;
}
body.rb-game-page :is(.nav-tab,.val-nav-tab,.cs-nav-tab,.fn-nav-tab).active { color: #fff !important; background: #292024 !important; border-color: var(--accent) !important; }
body.rb-game-page :is(.nav-tab,.val-nav-tab,.cs-nav-tab,.fn-nav-tab)::after { display: none !important; }
body.rb-game-page :is(.main-container,.val-main-container,.cs-main-container,.fn-main-container) {
    display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start;
    max-width: 1200px; width: 100%; gap: 20px; margin: 0 auto; padding: 0 24px 40px;
}
body.rb-game-page :is(.rank-section,.val-rank-section,.cs-rank-section,.fn-rank-section) { padding: 22px !important; min-width: 0; }
body.rb-game-page :is(.rank-sections,.val-rank-sections,.cs-rank-sections,.fn-rank-sections) { min-width: 0; gap: 16px; }
body.rb-game-page :is(.checkout-section,.val-checkout,.cs-checkout,.fn-checkout) { position: sticky; top: 92px; padding: 20px !important; min-width: 0; }
body.rb-game-page :is(.section-title,.cs-section-title,.val-section-title) { font-size: 20px !important; font-weight: 700; letter-spacing: -.025em; }
body.rb-game-page :is(.section-header,.cs-section-header) { margin-bottom: 8px; padding-bottom: 0; border: 0; }
body.rb-game-page :is(.section-subtitle,.cs-section-subtitle,.val-section-subtitle,.fn-rank-section .section-subtitle) { font: 400 13px/1.55 var(--font-body); color: var(--text-2); letter-spacing: 0; margin: 0 0 14px; }
body.rb-game-page :is(.rank-icons,.val-rank-icons,.cs-rank-grid,.fn-rank-icons) { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0; min-width: 0; }
body.rb-game-page :is(.rank-icon-wrapper,.rank-icon-wrap,.val-rank-icon-wrap,.cs-rank-wrap,.fn-rank-icon-wrap) { min-width: 0; border-radius: 5px; animation: none !important; }
body.rb-game-page :is(.rank-label,.val-rank-label,.cs-rank-label,.fn-rank-label) { font: 500 11px/1.35 var(--font-body); color: var(--text-2); letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
body.rb-game-page :is(.rank-icon,.val-rank-icon,.cs-rank-img) { filter: none !important; animation: none !important; }
body.rb-game-page :is(.division-btn,.val-division-btn,.fn-division-btn,.cs-div-btn,.role-btn,.platform-btn,.cs-mode-btn,.fn-mode-btn) {
    min-height: 40px; color: var(--text-2); background: #202023 !important; border: 1px solid var(--border-light) !important;
    border-radius: 5px; clip-path: none; box-shadow: none !important; text-shadow: none !important; transform: none !important;
}
body.rb-game-page :is(.division-btn,.val-division-btn,.fn-division-btn,.cs-div-btn).selected,
body.rb-game-page :is(.role-btn,.platform-btn).selected,body.rb-game-page :is(.cs-mode-btn,.fn-mode-btn).active {
    color: #fff !important; border-color: var(--accent) !important; background: #352026 !important;
}
body.rb-game-page :is(select,input[type='number'],input[type='text']) { min-height: 42px; max-width: 100%; background-color: #202023 !important; color: var(--text-1); border: 1px solid var(--border-light) !important; border-radius: 5px; }
body.rb-game-page :is(.select-label,.val-select-label) { color: var(--text-2); font: 500 12px var(--font-body); text-transform: none; letter-spacing: 0; }
body.rb-game-page :is(.boost-options,.val-boost-options,.cs-boost-options,.fn-boost-options) { margin: 14px 0; padding: 0; border-top: 1px solid var(--border-light); gap: 0; }
body.rb-game-page :is(.boost-option,.val-boost-option,.cs-boost-option,.fn-boost-option) {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 9px 0 !important;
    background: none !important; border: 0 !important; border-bottom: 1px solid var(--border-light) !important; border-radius: 0; box-shadow: none;
}
body.rb-game-page :is(.option-label,.val-option-label,.cs-option-label,.fn-option-label) { color: var(--text-1); font: 500 13px var(--font-body); }
body.rb-game-page :is(.option-badge,.val-option-badge,.cs-option-badge,.fn-option-badge) { border: 0 !important; background: none !important; padding: 0 3px; color: var(--text-2) !important; font: 500 11px var(--font-mono) !important; }
body.rb-game-page :is(.checkout-header,.val-checkout-header,.cs-checkout-header,.fn-checkout-header) { font: 700 22px var(--font-display); text-align: left; color: var(--text-1); }
body.rb-game-page :is(.checkout-subtitle,.val-checkout-subtitle,.cs-checkout-subtitle,.fn-checkout-subtitle) { text-align: left; color: var(--text-2); font-size: 13px; }
body.rb-game-page :is(.rank-display,.val-rank-display,.cs-rank-display,.fn-rank-display) { background: #202023; border: 0; border-radius: 5px; padding: 12px; }
body.rb-game-page :is(.final-price,.val-final-price,.cs-final-price,.fn-final-price) { font: 700 27px var(--font-mono) !important; color: var(--text-1) !important; }
body.rb-game-page :is(.original-price,.val-original-price,.cs-original-price,.fn-original-price) { font-family: var(--font-mono) !important; color: var(--text-2) !important; }
body.rb-game-page :is(.payment-button-stripe,.val-payment-btn,.cs-stripe-btn,.fn-payment-btn,#val-stripe-btn,#cs-stripe-btn,#fn-stripe-btn,.mobile-checkout-btn,.val-mobile-checkout,.cs-mobile-btn,.fn-mobile-checkout-btn) {
    min-height: 48px; background: var(--accent) !important; border: 1px solid var(--accent) !important; border-radius: 6px !important;
    color: #fff !important; box-shadow: none !important; text-shadow: none !important; font-weight: 700;
}
body.rb-game-page :is(.payment-button-stripe,#val-stripe-btn,#cs-stripe-btn,#fn-stripe-btn):disabled { opacity: .5; cursor: not-allowed; }
body.rb-game-page :is(.payment-methods-icons,.val-payment-methods,.cs-payment-methods,.fn-payment-methods) { color: #fff !important; opacity: .85; }
body.rb-game-page :is(.payment-icon-container,.val-payment-icon,.cs-payment-icon) { background: none !important; border: 0 !important; box-shadow: none !important; }
body.rb-game-page :is(.payment-button-stripe,#val-stripe-btn,#cs-stripe-btn,#fn-stripe-btn)::before { display: none !important; }
body.rb-game-page :is(.lol-hiw,.val-hiw,.ow-hiw-section,.fn-how-it-works) { max-width: 1200px; margin: 0 auto; padding: 48px 24px 24px; }
body.rb-game-page :is(.why-section,.val-why,.fn-features,.cs-features) { max-width: 1200px; margin: 0 auto; padding: 64px 24px 32px; }
body.rb-game-page :is(.faq-section,.val-faq,.cs-faq,.fn-faq) { max-width: 1000px; margin: 0 auto; padding: 72px 24px 40px; }
body.rb-game-page :is(.why-header,.faq-header,.val-section-header,.cs-section-header,.section-header) { text-align: left; }
body.rb-game-page :is(.why-title,.faq-title,.val-section-title,.fn-section-title,.cs-section h2) { font-size: clamp(26px,3vw,36px) !important; font-weight: 750; line-height: 1.12; }
body.rb-game-page :is(.why-item,.val-why-item,.val-why-card,.cs-feature,.fn-feature-card,.lol-hiw-step,.val-hiw-step,.ow-hiw-step,.fn-step) { background: transparent; box-shadow: none; border-color: var(--border-light); border-radius: 6px; }
body.rb-game-page :is(.why-icon,.val-why-icon,.cs-feature-icon,.fn-feature-icon,.cs-header-icon) { background: none !important; border: 0 !important; box-shadow: none !important; color: var(--text-2); border-radius: 0; }
body.rb-game-page :is(.why-desc,.val-why-desc,.cs-feature-desc,.fn-feature-desc,.faq-answer-inner,.val-faq-answer p,.cs-faq-answer,.fn-faq-answer-inner) { color: var(--text-2); font-size: 15px; line-height: 1.65; }
body.rb-game-page :is(.faq-question h3,.val-faq-question,.cs-faq-question,.fn-faq-question) { font: 600 16px/1.5 var(--font-body); color: var(--text-1); }
body.rb-game-page :is(.rb-explore-games) { padding: 38px 24px 48px; }
body.rb-game-page :is(.lol-hiw-grid,.val-hiw-grid,.ow-hiw-grid,.cs-steps,.fn-steps-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; background: #171719; border: 1px solid var(--border-light); border-radius: 8px; overflow: hidden; }
body.rb-game-page :is(.lol-hiw-step,.val-hiw-step,.ow-hiw-step,.cs-step,.fn-step-card) { text-align: left; padding: 24px; border-bottom: 1px solid var(--border-light); border-right: 1px solid var(--border-light); background: none; border-radius: 0; }
body.rb-game-page :is(.lol-hiw-number,.val-hiw-number,.ow-hiw-number,.cs-step-num,.fn-step-number,.lol-hiw-num,.val-hiw-num,.ow-hiw-num) { display: none; }
body.rb-game-page :is(.lol-hiw-step,.val-hiw-step,.ow-hiw-step,.cs-step,.fn-step-card)::before { display: none; }
body.rb-game-page :is(.cs-feature-card,.fn-feature-card):hover { transform: none; box-shadow: none; }
body.rb-game-page .rb-games-grid { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0 24px; }
body.rb-game-page .rb-game-link-card { display: inline-flex; flex-direction: row; padding: 12px 0; border: 0; border-radius: 0; background: none; box-shadow: none !important; transform: none !important; }
body.rb-game-page .rb-game-link-card::before,body.rb-game-page .rb-game-link-type,body.rb-game-page .rb-game-link-icon { display: none; }
body.rb-game-page .rb-game-link-name { color: var(--text-2); font-size: 14px; }
body.rb-game-page :is(.rb-game-review-link) { max-width: 1152px; margin: 24px auto; padding: 24px 0; border-top: 1px solid var(--border-light); display: flex; justify-content: space-between; gap: 20px; color: var(--text-2); }
body.rb-game-page :is(.rb-game-review-link a,.rb-game-quote a) { color: var(--text-1); text-decoration: underline; text-underline-offset: 4px; }
body.rb-game-page .rb-game-quote { padding: 12px; margin: 12px 0; background: #242024; border: 1px solid var(--border-light); font-size: 14px; line-height: 1.6; }
body.rb-game-page [hidden],body.rb-catalog-page [hidden] { display: none !important; }
body.rb-game-page :is(.mobile-price-bar,.val-mobile-bar,.cs-mobile-bar,.fn-mobile-price-bar) { background: #171719 !important; border-top: 1px solid var(--border-light); box-shadow: none; }
body.rb-game-page :is(.error-popup,.val-error-popup,.cs-error-popup,.fn-error-popup) { top: 88px; max-width: calc(100vw - 32px); background: #202023 !important; box-shadow: none !important; border: 1px solid var(--accent); }
body.rb-game-page :is(.error-popup,.val-error-popup,.cs-error-popup,.fn-error-popup).show { opacity: 1 !important; transform: translateX(0) !important; visibility: visible !important; }
body.rb-game-page :is(button,a,select,input,[role='button']):focus-visible,body.rb-catalog-page :is(button,a,select,input):focus-visible { outline: 2px solid #f5f4f1 !important; outline-offset: 4px; }
/* Give native option inputs a real target; draw focus on their visible slider. */
body.rb-game-page :is(.switch,.val-switch,.cs-switch,.fn-switch) input[type='checkbox'] {
    position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: 0; padding: 0; border: 0;
    transform: translate(-50%,-50%); opacity: 0; z-index: 1; cursor: pointer; scroll-margin-block: 12px;
}
body.rb-game-page :is(.switch,.val-switch,.cs-switch,.fn-switch) input:focus-visible + :is(.slider,.val-slider,.cs-slider,.fn-slider) {
    outline: 2px solid var(--text-1); outline-offset: 4px;
}
body.rb-game-page :is(.auth-modal,.val-auth-modal,.cs-auth-modal,.fn-auth-modal) { max-height: calc(100dvh - 40px); overflow-y: auto; }
body.rb-game-page :is(.val-mobile-price-bar,.fn-mobile-bar) { background: #171719 !important; border-top: 1px solid var(--border-light); box-shadow: none !important; padding-bottom: max(12px,env(safe-area-inset-bottom)); }
body.rb-game-page :is(.val-mobile-checkout-btn,.fn-mobile-buy) { min-height: 46px; color: #fff !important; background: var(--accent) !important; border: 0; border-radius: 6px; box-shadow: none !important; }
body.rb-game-page .fn-mobile-buy::before { display: none; }
@media (max-width: 1024px) {
    /* Native keyboard scrolling must leave room for the fixed checkout bar. */
    html:has(body.rb-game-page) { scroll-padding-top: 96px; scroll-padding-bottom: calc(148px + env(safe-area-inset-bottom,0px)); }
    body.rb-game-page :is(.main-container,.val-main-container,.cs-main-container,.fn-main-container) { grid-template-columns: minmax(0,1fr); }
    body.rb-game-page :is(.checkout-section,.val-checkout,.cs-checkout,.fn-checkout) { position: static; }
    body.rb-game-page { padding-bottom: 86px; }
    body.rb-game-page :is(.rb-game-review-link) { margin-right: 24px; margin-left: 24px; }
}
@media (max-width: 620px) {
    body.rb-game-page { padding-top: 70px; }
    body.rb-game-page :is(.lol-hero,.val-hero,.cs-hero,.ow-hero-section,.fn-hero) { width: 100%; min-height: 188px; padding: 28px 20px; background-position: center; }
    body.rb-game-page :is(.lol-hero h1,.val-hero h1,.cs-hero h1,.ow-hero-title,.fn-hero h1) { width: 90%; max-width: 22ch; font-size: 30px !important; }
    body.rb-game-page :is(.nav-tabs,.val-nav-tabs,.cs-nav-tabs,.fn-nav-tabs) { padding-right: 16px; padding-left: 16px; }
    body.rb-game-page :is(.main-container,.val-main-container,.cs-main-container,.fn-main-container) { padding: 0 16px 28px; gap: 16px; }
    body.rb-game-page :is(.rank-section,.val-rank-section,.cs-rank-section,.fn-rank-section,.checkout-section,.val-checkout,.cs-checkout,.fn-checkout) { padding: 18px !important; }
    body.rb-game-page :is(.val-rank-sections) { grid-template-columns: minmax(0,1fr); }
    body.rb-game-page :is(.lol-hiw-grid,.val-hiw-grid,.ow-hiw-grid,.cs-steps,.fn-steps-grid) { grid-template-columns: minmax(0,1fr); }
    body.rb-game-fortnite { padding-bottom: 130px; }
    body.rb-game-page :is(.rank-label,.val-rank-label,.cs-rank-label,.fn-rank-label) { font-size: 11px; }
    body.rb-game-page :is(.rb-game-review-link) { flex-direction: column; gap: 8px; margin: 20px 16px; }
    body.rb-game-page :is(.faq-section,.val-faq,.cs-faq,.fn-faq,.why-section,.val-why,.fn-features,.cs-features) { padding-right: 20px; padding-left: 20px; }
    body.rb-game-page :is(.mobile-price-bar,.val-mobile-bar,.cs-mobile-bar,.fn-mobile-price-bar) { padding-bottom: max(12px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    body.rb-game-page *,body.rb-game-page *::before,body.rb-game-page *::after,
    body.rb-catalog-page *,body.rb-catalog-page *::before,body.rb-catalog-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Marvel: native scale, compact checkout, and a focused return to sign-in. */
body.rb-game-page .rb-trust-bar { display:none!important; }
body.rb-game-page .v3-dot-grid { display:none!important; }
body.rb-game-fortnite :is(.fn-rank-circle,.fn-checkout-rank-circle,.fn-mobile-rank-circle,.fn-section-icon) { background:none!important; border:0!important; box-shadow:none!important; }
body.rb-game-fortnite :is(.fn-rank-circle,.fn-checkout-rank-circle,.fn-mobile-rank-circle,.fn-section-icon) img { width:100%; height:100%; object-fit:contain; }
body.rb-game-fortnite .fn-rank-circle { width:56px; height:56px; border-radius:0; }
body.rb-game-fortnite .fn-rank-icon-wrap { background:transparent!important; border:1px solid transparent!important; border-radius:6px; box-shadow:none!important; }
body.rb-game-fortnite .fn-rank-icon-wrap.selected { background:#27272b!important; border-color:#aaa69f!important; box-shadow:none!important; }
body.rb-game-fortnite .fn-rank-icon-wrap::before, body.rb-game-fortnite .fn-rank-icon-wrap::after { display:none!important; }
body.rb-game-page :is(.trust-badge,.val-trust-badge,.cs-trust-badge,.fn-trust-badge) a { color:var(--text-2); text-underline-offset:3px; }
body.rb-game-page :is(.error-popup,.val-error-popup,.cs-error-popup,.fn-error-popup):not(.show) { visibility:hidden; pointer-events:none; }

.rb-marvel .main-container { max-width:1320px; grid-template-columns:minmax(0,1fr) 340px; align-items:start; }
.rb-marvel .service-panel, .rb-marvel #howitworks { scroll-margin-top:96px; }
.rb-marvel .checkout-section { padding:18px!important; }
.rb-marvel .checkout-header { margin-bottom:8px; padding-bottom:10px; }
.rb-marvel .checkout-subtitle { margin-bottom:10px; }
.rb-marvel .boost-options { margin:12px 0; gap:0; }
.rb-marvel .boost-option { min-height:40px; padding:8px 0!important; }
.rb-marvel .boost-option .option-label { flex:1; display:flex; gap:8px; }
.rb-marvel .boost-option .option-badge { margin-left:auto; background:transparent!important; border:0!important; color:var(--text-2)!important; }
.rb-marvel .boost-option .boost-toggle { margin-left:12px; }
.rb-marvel .boost-option .tooltip-icon { display:none; }
.rb-marvel .total-section { margin:14px 0; padding:12px 0; }
.rb-marvel .payment-separator { margin:10px 0; }
.rb-marvel .gateway-selector { margin-bottom:12px; }
.rb-marvel .payment-separator, .rb-marvel .gateway-selector { display:none; }
.rb-marvel .rank-display { padding:6px 12px; }
.rb-marvel .rb-boost-head small { color:var(--text-2); }
.rb-marvel .auth-modal-overlay { background:rgba(0,0,0,.84); padding:20px; }
.rb-marvel .auth-modal { background:var(--bg-card); border:1px solid var(--border-light); border-radius:12px; box-shadow:none; width:min(100%,460px); max-height:calc(100dvh - 40px); overflow-y:auto; }
.rb-marvel .auth-modal-header { text-align:left; padding:40px 28px 22px; background:transparent; border-bottom:1px solid var(--border); }
.rb-marvel .auth-modal-header h2 { font:800 28px/1.12 Archivo,Arial,sans-serif; max-width:16ch; color:var(--text-1); margin:0 0 12px; }
.rb-marvel .auth-modal-header p, .rb-marvel .auth-order-note { font:400 15px/1.6 Archivo,Arial,sans-serif; color:var(--text-2); }
.rb-marvel .auth-modal-content { padding:22px 28px 28px; }
.rb-marvel .auth-buttons { margin-top:20px; }
.rb-marvel .auth-btn { min-height:48px; box-shadow:none; border-radius:6px; font-size:15px; }
.rb-marvel .auth-btn-primary { background:var(--accent); border:1px solid var(--accent); color:#fff; }
.rb-marvel .auth-btn-secondary { background:var(--bg-surface); border:1px solid var(--border-light); color:var(--text-1); }
.rb-marvel .auth-modal-close { background:transparent; border:0; color:var(--text-2); }
@media(min-width:1025px) {
    .rb-marvel #serviceTabs { padding-top:8px; padding-bottom:8px; scroll-margin-top:84px; }
    .rb-marvel .nav-tab { min-height:44px; }
    .rb-marvel .main-container { padding-top:12px; }
    .rb-marvel .rank-sections { gap:16px; }
    .rb-marvel .rank-section { padding:20px; }
    .rb-marvel .section-header { margin-bottom:8px; padding-bottom:8px; }
    .rb-marvel .rank-icons, .rb-marvel .division-selector { margin-bottom:12px; }
    .rb-marvel .checkout-section { padding:10px 14px!important; }
    .rb-marvel .checkout-header { margin-bottom:4px; padding-bottom:0; }
    .rb-marvel .checkout-subtitle { margin-bottom:6px; }
    .rb-marvel .rank-display { margin-bottom:8px; }
    .rb-marvel .boost-options { margin:4px 0; }
    .rb-marvel .total-section { margin:8px 0; padding-top:8px!important; }
    .rb-marvel .stripe-button { margin-bottom:6px; }
    .rb-marvel .rb-secure { margin-top:2px; }
}
@media(max-width:1024px) {
    .rb-marvel .main-container { grid-template-columns:minmax(0,1fr); }
    .rb-marvel .coupon-toggle { min-height:44px; }
}
@media(max-width:620px) {
    .rb-marvel .main-container { padding:16px; }
    .rb-marvel .rb-hero-copy h1 { font-size:32px; }
    .rb-marvel .rb-proof { grid-template-columns:1fr 1fr; }
    .rb-marvel .auth-modal-header { padding:36px 22px 18px; }
    .rb-marvel .auth-modal-content { padding:18px 22px 22px; }
}

/* ==== Shared public information pages: scoped compatibility with existing markup. ==== */
body.rb-public {
    --bg-deep: #101012; --bg-base: #101012; --bg-card: #202023; --bg-surface: #19191c;
    --text-1: #f5f4f1; --text-2: #b4b3b8; --text-3: #929197;
    --text-primary: var(--text-1); --text-secondary: var(--text-2); --text-muted: var(--text-3);
    --accent: #e0384a; --accent-bright: #e0384a; --blue: #e0384a; --blue-bright: #e0384a; --purple: #e0384a; --cyan: #b4b3b8;
    --border: rgba(255,255,255,.12); --border-light: var(--border); --border-color: var(--border);
    --font-body: 'Archivo',sans-serif; --font-display: 'Archivo',sans-serif; --font-mono: 'JetBrains Mono',monospace; --mono: var(--font-mono);
    background: var(--bg-deep) !important; color: var(--text-1); font-family: var(--font-body) !important; padding-top: 80px; line-height: 1.6;
}
body.rb-public [hidden] { display: none !important; }
body.rb-public :is(h1,h2,h3,h4,button,input,select) { font-family: var(--font-body) !important; }
body.rb-public :is(h1,h2,h3,h4) { color: var(--text-1); background: none!important; background-clip: border-box!important; -webkit-text-fill-color: currentColor!important; }
body.rb-public :is(.bg-grid,.bg-orbs,.bg-glow,.page-background,.cursor-glow,.ab-grid-pattern,.ab-scroll-progress,.ab-scroll-indicator,.ab-glow,.ab-noise-overlay,.ab-hero-badge-dot,.ab-divider) { display: none !important; }
body.rb-public *,body.rb-public *::before,body.rb-public *::after { animation: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.rb-public :is(.reveal,.revealed) { opacity: 1 !important; visibility: visible !important; transform: none !important; transition-delay: 0s !important; }
body.rb-public :is(.gradient-text,.ab-gradient-animate) { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--text-1); }
body.rb-public :is(a,button,input,select,summary):focus-visible { outline: 2px solid var(--text-1); outline-offset: 4px; }
body.rb-public :is(.ab-btn-primary,.pr-btn-primary,.rv-btn-primary,.cta-button) { min-height: 48px; padding: 13px 22px; display: inline-flex; justify-content: center; align-items: center; gap: 10px; background: var(--accent) !important; color: #fff !important; border: 1px solid var(--accent) !important; border-radius: 6px; box-shadow: none !important; font-weight: 650; font-size: 14px; text-decoration: none; text-transform: none; letter-spacing: 0; }
body.rb-public :is(.ab-btn-secondary,.pr-btn-ghost,.rv-btn-ghost) { min-height: 48px; padding: 13px 22px; background: #202023 !important; color: var(--text-1) !important; border: 1px solid var(--border) !important; border-radius: 6px; font-size: 14px; letter-spacing: 0; text-transform: none; box-shadow: none !important; }
body.rb-public :is(.ab-btn-primary,.pr-btn-primary,.rv-btn-primary,.cta-button)::before { display: none; }
body.rb-public :is(.ab-hero,.pr-hero,.rv-hero,.blog-hero) { max-width: 1200px; padding: 64px 24px 44px; margin: 0 auto; text-align: left; min-height: 0; }
body.rb-public :is(.ab-hero,.pr-hero,.rv-hero,.blog-hero)::before,body.rb-public :is(.ab-hero,.pr-hero,.rv-hero,.blog-hero)::after { display: none; }
body.rb-public .ab-hero-content { max-width: 820px; margin: 0; }
body.rb-public :is(.ab-hero h1,.pr-hero h1,.rv-hero h1,.blog-hero h1) { font-size: clamp(42px,6vw,76px); font-weight: 850; letter-spacing: -.035em; line-height: 1; margin: 0 0 26px; text-align: left; }
body.rb-public :is(.ab-hero-desc,.pr-hero > p,.rv-hero > p,.blog-hero > p) { max-width: 58ch; margin: 0 0 26px; color: var(--text-2); font-size: 17px; line-height: 1.65; text-align: left; }
body.rb-public :is(.ab-hero-badge,.pr-hero-tag) { display: block; background: none; border: 0; border-radius: 0; padding: 0; margin: 0 0 22px; color: var(--text-2); text-transform: none; font-size: 13px; letter-spacing: 0; }
body.rb-public :is(.ab-hero-actions,.ab-cta-actions,.rv-cta-btns) { justify-content: flex-start; gap: 12px; }
body.rb-public :is(.ab-story,.ab-values,.ab-testimonials,.ab-games,.ab-cta,.pr-addons,.pr-faq,.pr-cta,.rv-cta) { max-width: 1200px; margin: 0 auto; padding: 48px 24px; }
body.rb-public :is(.ab-story-inner,.ab-values-inner,.ab-testimonials-inner,.ab-games-inner,.pr-addons-inner) { max-width: none; }
body.rb-public .ab-story-inner { display: grid; grid-template-columns: .9fr 1.2fr; gap: 64px; }
body.rb-public :is(.ab-story h2,.ab-values h2,.ab-testimonials h2,.ab-games h2,.ab-cta h2,.pr-addons h2,.pr-faq h2,.pr-cta h2,.rv-cta h2) { font: 750 clamp(28px,3.4vw,42px)/1.1 var(--font-display); letter-spacing: -.04em; margin: 0 0 24px; text-align: left; }
body.rb-public :is(.ab-story-eyebrow,.ab-values-eyebrow,.ab-testimonials-eyebrow,.ab-games-eyebrow) { color: var(--text-2); font-size: 13px; letter-spacing: 0; text-transform: none; margin-bottom: 16px; }
body.rb-public :is(.ab-story-body p,.ab-bento-card p,.ab-games-header p) { color: var(--text-2); font-size: 16px; line-height: 1.7; }
body.rb-public :is(.ab-values-header,.ab-testimonials-header,.ab-games-header) { text-align: left; max-width: none; margin: 0 0 30px; }
body.rb-public .ab-bento { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 36px; }
body.rb-public .ab-bento-card,body.rb-public .ab-bento-card.featured { grid-column: auto; padding: 26px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; box-shadow: none; transform: none; }
body.rb-public .ab-bento-card::before,body.rb-public .ab-bento-card::after,body.rb-public .ab-bento-icon { display: none; }
body.rb-public .ab-bento-card h3 { font-size: 22px; margin: 0 0 12px; letter-spacing: -.025em; }
body.rb-public .ab-testimonials { background: none; border: 0; }
body.rb-public .ab-testimonials-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
body.rb-public .ab-testimonial-card { min-width: 0; background: #19191c; border: 1px solid var(--border); border-radius: 8px; box-shadow: none; padding: 24px; transform: none; }
body.rb-public .ab-testimonial-quote { color: var(--text-2); font-size: 15px; line-height: 1.7; }
body.rb-public .ab-testimonial-avatar { background: #29292d; color: var(--text-1); border: 0; }
body.rb-public .ab-testimonial-name { font-size: 14px; }
body.rb-public .ab-testimonial-rank { font-size: 12px; color: var(--text-2); }
body.rb-public .ab-games-grid { display: flex; flex-wrap: wrap; gap: 14px 28px; }
body.rb-public .ab-game-tile { display: flex; flex-direction: row; align-items: center; padding: 12px 0; gap: 10px; border: 0; background: none; box-shadow: none; transform: none !important; }
body.rb-public .ab-game-tile::before,body.rb-public .ab-game-tile::after { display: none; }
body.rb-public .ab-game-icon { width: 30px; height: 30px; margin: 0; object-fit: contain; filter: none; transform: none !important; }
body.rb-public .ab-game-name { color: var(--text-2); font-size: 14px; }
body.rb-public :is(.ab-cta-box,.pr-cta-inner,.rv-cta-inner) { padding: 36px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; box-shadow: none; text-align: left; }
body.rb-public :is(.ab-cta-box,.pr-cta-inner,.rv-cta-inner)::before { display: none; }
body.rb-public :is(.ab-cta-box p,.pr-cta-inner p,.rv-cta-inner p) { margin: 0 0 24px; max-width: 64ch; color: var(--text-2); font-size: 16px; }
body.rb-public .rv-filter { width: min(1152px,calc(100% - 48px)); max-width: none; margin: 0 auto 24px; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }
body.rb-public .rv-filter-btn { min-height: 44px; padding: 9px 15px; background: #202023; border: 1px solid var(--border); border-radius: 5px; color: var(--text-2); font-size: 13px; }
body.rb-public .rv-filter-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); box-shadow: none; }
body.rb-public .rv-gallery { max-width: 1200px; padding: 0 24px 24px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
body.rb-public .rv-card { min-width: 0; padding: 22px; background: #19191c; border: 1px solid var(--border); border-radius: 8px; box-shadow: none; transform: none; }
body.rb-public .rv-card::before,body.rb-public .rv-card::after { display: none; }
body.rb-public .rv-card-head { gap: 10px; flex-wrap: wrap; }
body.rb-public .rv-avatar { width: 36px; height: 36px; background: #29292d; color: var(--text-1); border: 0; box-shadow: none; }
body.rb-public .rv-card-name { font-size: 14px; }
body.rb-public .rv-card-verified { color: var(--text-3); font-size: 11px; }
body.rb-public .rv-card-quote { color: var(--text-2); font-size: 15px; line-height: 1.7; }
body.rb-public .rv-stars { color: #d3bd79; font-size: 13px; letter-spacing: 1px; }
body.rb-public .rv-card-foot { flex-wrap: wrap; gap: 10px; border-color: var(--border); }
body.rb-public :is(.rv-game-tag,.rv-rank-climb) { color: var(--text-2); font-size: 11px; background: none; border: 0; padding: 0; }
body.rb-public .rv-trust { max-width: 1152px; padding: 24px 0; margin: 0 auto; color: var(--text-2); border: 0; border-top: 1px solid var(--border); background: none; font-size: 13px; }
body.rb-public .pr-jump { max-width: 1152px; padding: 16px 0; margin: 0 auto 24px; justify-content: flex-start; gap: 10px 22px; flex-wrap: wrap; background: none; border: 0; border-bottom: 1px solid var(--border); }
body.rb-public .pr-jump a { color: var(--text-2); font-size: 14px; padding: 8px 0; border: 0; background: none; }
body.rb-public .pr-example-groups { max-width: 1200px; padding: 0 24px; margin: 0 auto; }
body.rb-public .pr-game { margin: 0; max-width: none; padding: 32px 0; border: 0; border-bottom: 1px solid var(--border); background: none; border-radius: 0; box-shadow: none; scroll-margin-top: 100px; }
body.rb-public .pr-game-head { gap: 20px; align-items: baseline; }
body.rb-public .pr-game-title { color: var(--text-1); font-size: 28px; letter-spacing: -.03em; }
body.rb-public .pr-game-cta-link { color: var(--text-1); font-size: 13px; white-space: normal; }
body.rb-public .pr-game-blurb { max-width: none; margin: 14px 0 20px; color: var(--text-2); font-size: 14px; }
body.rb-public .pr-table-wrap { border: 1px solid var(--border); border-radius: 6px; overflow-x: auto; background: #19191c; }
body.rb-public .pr-table { width: 100%; min-width: 0; table-layout: fixed; margin: 0; border-collapse: collapse; }
body.rb-public .pr-table th,body.rb-public .pr-table td { padding: 15px 20px; border-color: var(--border); white-space: normal; }
body.rb-public .pr-table th { font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--text-2); background: #202023; }
body.rb-public .pr-table th:last-child { width: 150px; }
body.rb-public .pr-climb { color: var(--text-1); font-size: 15px; }
body.rb-public .pr-price-num { color: var(--text-1); font: 600 16px var(--font-mono); }
body.rb-public .pr-addons p { color: var(--text-2); font-size: 16px; line-height: 1.65; max-width: 76ch; }
body.rb-public .pr-catalog-links { width: min(1152px,calc(100% - 48px)); margin: 0 auto; padding: 24px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
body.rb-public .pr-catalog-links h2 { font-size: 24px; margin-bottom: 12px; }
body.rb-public .pr-catalog-links p { color: var(--text-2); font-size: 15px; margin-bottom: 14px; }
body.rb-public .pr-catalog-links a { color: var(--text-1); display: inline-block; padding: 8px 24px 8px 0; font-size: 14px; }
body.rb-public .pr-faq-item { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--border); background: none; border-radius: 0; }
body.rb-public .pr-faq-item summary { cursor: pointer; min-height: 52px; padding: 18px 0; font-size: 16px; font-weight: 600; color: var(--text-1); }
body.rb-public .pr-faq-item p { color: var(--text-2); font-size: 15px; line-height: 1.7; padding: 0 0 20px; max-width: 80ch; }
body.rb-public .pr-faq-item a { color: var(--text-1); text-decoration: underline; }
body.rb-public .breadcrumb { padding: 30px 24px 0; max-width: 1200px; color: var(--text-3); font-size: 13px; }
body.rb-public .breadcrumb a { color: var(--text-2); }
body.rb-public .blog-grid-container { max-width: 1200px; padding: 0 24px 72px; margin: 0 auto; }
body.rb-public .blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
body.rb-public .blog-card { min-width: 0; background: #19191c; border: 1px solid var(--border); border-radius: 8px; transform: none !important; box-shadow: none !important; }
body.rb-public .blog-card h2 { font-size: 22px; line-height: 1.2; letter-spacing: -.035em; }
body.rb-public .blog-card p { color: var(--text-2); font-size: 15px; line-height: 1.65; }
body.rb-public .blog-card .read-more { color: var(--accent); }
body.rb-public :is(.blog-card .card-tag,.article-tag,.related-card-tag) { color: var(--text-2); background: #242427; border: 0; border-radius: 4px; font-size: 12px; letter-spacing: 0; text-transform: none; }
body.rb-public :is(.card-meta,.article-meta) { font-size: 13px; color: var(--text-3); }
body.rb-public .article-header { max-width: 940px; padding: 44px 24px 30px; margin: 0 auto; text-align: left; }
body.rb-public .article-header h1 { font-size: clamp(34px,4.6vw,58px); font-weight: 800; line-height: 1.06; letter-spacing: -.045em; margin: 18px 0 24px; }
body.rb-public .article-meta { justify-content: flex-start; border-color: var(--border)!important; }
body.rb-public .article-hero-image { max-width: 892px; width: calc(100% - 48px); margin: 0 auto 36px; border-radius: 8px; overflow: hidden; padding: 0; }
body.rb-public .article-content { max-width: 892px; padding: 0 24px 48px; margin: 0 auto; color: var(--text-2); font-size: 17px; line-height: 1.8; }
body.rb-public .article-content h2 { font-size: 29px; line-height: 1.2; letter-spacing: -.025em; margin: 42px 0 18px; padding-left: 0; border-left: 0; scroll-margin-top: 100px; }
body.rb-public .article-content h3 { font-size: 22px; line-height: 1.3; margin: 30px 0 16px; }
body.rb-public .article-content p,body.rb-public .article-content li { color: var(--text-2); font-size: 16px; line-height: 1.8; }
body.rb-public .article-content a { color: var(--text-1); text-underline-offset: 4px; }
body.rb-public .article-content :is(table,.table-wrap,.table-container) { max-width: 100%; }
body.rb-public .article-content table { display: block; overflow-x: auto; white-space: normal; border-color: var(--border); background: #19191c; }
body.rb-public .article-content th { background: #242427; color: var(--text-1); }
body.rb-public .article-content td { border-color: var(--border); color: var(--text-2); }
body.rb-public :is(.tip-box,.warning-box,.highlight-box,.tier-box,.hero-card,.cta-box,.related-card) { background: #19191c !important; border: 1px solid var(--border) !important; border-radius: 6px; box-shadow: none; }
body.rb-public .article-content :is(.info-box,.rank-box,.rating-box) { background: var(--bg-card); border: 1px solid var(--border); border-radius: 6px; box-shadow: none; }
body.rb-public .article-content .tier-label { background: var(--bg-card-hover); border-color: var(--border); color: var(--text-2); }
body.rb-public .article-content .tip-number { background: var(--bg-card-hover); color: var(--text-1); }
body.rb-public :is(.related-articles) { max-width: 940px; padding: 0 24px 64px; }
body.rb-public .related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.rb-public .related-card { min-width: 0; transform: none; }
body.rb-public :is(.content) { max-width: 900px; margin: 0 auto; padding: 50px 28px 64px; }
body.rb-public:is(.rb-public-terms,.rb-public-privacy) .content { background: var(--bg-surface); border-color: var(--border); }
body.rb-public .page-title { margin-bottom: 42px; text-align: left; }
body.rb-public .page-title h1 { font-size: clamp(38px,5vw,64px); line-height: 1.05; letter-spacing: -.045em; }
body.rb-public .title-badge { padding: 0; border: 0; background: none; font-size: 13px; color: var(--text-2); margin-bottom: 20px; }
body.rb-public .content .section { margin: 0; padding: 28px 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: none; box-shadow: none; }
body.rb-public .content .section h2 { font-size: 24px; margin: 0 0 16px; }
body.rb-public .content .section p { color: var(--text-2); font-size: 16px; line-height: 1.8; }
body.rb-public .content .section ul { padding-left: 22px; color: var(--text-2); }
body.rb-public .content .section a { color: var(--text-1); }
.rb-marvel .mobile-buy-btn { background: var(--accent-dark) !important; color: #fff !important; box-shadow: none !important; }
.rb-marvel .mobile-buy-btn::before,.rb-marvel .mobile-buy-btn::after { display: none !important; }
@media (max-width: 1000px) {
    body.rb-public :is(.rv-gallery,.blog-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.rb-public :is(.ab-story-inner) { gap: 32px; }
    body.rb-public .ab-testimonials-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 680px) {
    body.rb-public { padding-top: 70px; }
    body.rb-public :is(.ab-hero,.pr-hero,.rv-hero,.blog-hero) { padding: 40px 20px 28px; }
    body.rb-public :is(.ab-story,.ab-values,.ab-testimonials,.ab-games,.ab-cta,.pr-addons,.pr-faq,.pr-cta,.rv-cta) { padding: 32px 20px; }
    body.rb-public :is(.ab-story-inner,.ab-bento,.rv-gallery,.blog-grid,.related-grid) { grid-template-columns: minmax(0,1fr); }
    body.rb-public :is(.ab-hero-actions,.ab-cta-actions,.rv-cta-btns) { flex-wrap: wrap; }
    body.rb-public :is(.rv-filter,.rv-trust,.pr-jump,.pr-catalog-links) { width: calc(100% - 40px); }
    body.rb-public .rv-gallery,body.rb-public .pr-example-groups,body.rb-public .blog-grid-container { padding-right: 20px; padding-left: 20px; }
    body.rb-public .pr-game-head { flex-direction: column; gap: 10px; }
    body.rb-public .pr-table th,body.rb-public .pr-table td { padding: 13px 12px; }
    body.rb-public .pr-table th:last-child { width: 100px; }
    body.rb-public .pr-climb { font-size: 13px; }
    body.rb-public .pr-price-num { font-size: 14px; }
    body.rb-public .pr-jump { position: static; }
    body.rb-public .article-header { padding: 30px 20px 22px; }
    body.rb-public .article-content { padding-right: 20px; padding-left: 20px; }
    body.rb-public .article-hero-image { width: calc(100% - 40px); }
    body.rb-public .content { padding: 40px 20px 52px; }
}
@media (prefers-reduced-motion: reduce) {
    body.rb-public *,body.rb-public *::before,body.rb-public *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Affiliate access and recruitment forms share the public site's quiet surfaces. */
body.rb-affiliate-page,body.rb-application-page { display: block; padding: 80px 0 0; background: #141416; color: var(--text-1); }
body.rb-affiliate-page::before,body.rb-application-page::before { display: none; }
body.rb-affiliate-page .login-container { width: min(100% - 40px,480px); max-width: 480px; margin: 48px auto 72px; }
body.rb-affiliate-page .logo-section { margin-bottom: 26px; text-align: left; }
body.rb-affiliate-page .logo { height: 36px; max-width: 160px; filter: none; }
body.rb-affiliate-page .brand-text { margin-top: 16px; color: var(--text-3); background: none; -webkit-text-fill-color: currentColor; font: 500 12px var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
body.rb-affiliate-page .login-card { padding: 30px; background: #1c1c1f; border: 1px solid var(--border); border-radius: 8px; box-shadow: none; }
body.rb-affiliate-page .login-header { text-align: left; margin-bottom: 28px; }
body.rb-affiliate-page .login-title { font-size: 30px; line-height: 1.1; letter-spacing: -.04em; }
body.rb-affiliate-page .login-subtitle { color: var(--text-2); font-size: 15px; line-height: 1.6; }
body.rb-affiliate-page .form-label { text-transform: none; letter-spacing: 0; font-size: 14px; }
body.rb-affiliate-page .form-input { min-height: 48px; padding: 13px 46px; background: #141416; border: 1px solid #444449; border-radius: 5px; font-family: var(--font-body); color: var(--text-1); box-shadow: none; }
body.rb-affiliate-page .form-input:focus { border-color: #a9a9ae; background: #141416; box-shadow: none; }
body.rb-affiliate-page .form-input::placeholder { color: var(--text-3); }
body.rb-affiliate-page .input-icon,body.rb-affiliate-page .form-input:focus + .input-icon { color: var(--text-3); }
body.rb-affiliate-page .password-toggle { width: 42px; min-height: 42px; right: 2px; border: 0; background: none; color: var(--text-2); padding: 0; }
body.rb-affiliate-page .remember-section { gap: 16px; align-items: center; flex-wrap: wrap; }
body.rb-affiliate-page .remember-checkbox { appearance: auto; width: 17px; height: 17px; accent-color: var(--accent); }
body.rb-affiliate-page .remember-checkbox::after { display: none; }
body.rb-affiliate-page .remember-label { font-size: 13px; color: var(--text-2); }
body.rb-affiliate-page :is(.forgot-link,.footer-link) { color: var(--text-1); font-size: 13px; text-underline-offset: 4px; }
body.rb-affiliate-page .login-button,body.rb-application-page .btn-primary { min-height: 48px; background: var(--accent); color: #fff; border: 1px solid transparent; border-radius: 5px; font: 600 15px var(--font-body); padding: 14px 20px; box-shadow: none; transform: none; }
body.rb-affiliate-page .login-button:hover,body.rb-application-page .btn-primary:hover { background: var(--accent-hover); box-shadow: none; transform: none; }
body.rb-affiliate-page .login-button:disabled,body.rb-application-page .btn-primary:disabled { opacity: .65; cursor: wait; }
body.rb-affiliate-page .error-message { background: #2a1c20; border: 1px solid #70434b; border-radius: 5px; box-shadow: none; }
body.rb-affiliate-page .error-text { color: #ffc4cb; }
body.rb-affiliate-page .footer-links { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 20px; text-align: left; }
body.rb-affiliate-page .footer-text { font-size: 13px; color: var(--text-2); margin-bottom: 10px; }
body.rb-application-page .hero-section { width: min(100% - 48px,800px); max-width: 800px; margin: 0 auto; padding: 50px 0 32px; text-align: left; }
body.rb-application-page .hero-badge { padding: 0; margin-bottom: 20px; border: 0; background: none; color: var(--text-3); font: 500 13px Archivo,Arial,sans-serif; letter-spacing: 0; text-transform: none; }
body.rb-application-page .hero-title { max-width: 720px; font: 800 clamp(36px,4.5vw,56px)/1.04 var(--font-body); letter-spacing: -.045em; }
body.rb-application-page .hero-title span { display: block; background: none; color: var(--text-2); -webkit-text-fill-color: currentColor; }
body.rb-application-page .hero-subtitle { margin: 22px 0 0; max-width: 640px; font-size: 16px; line-height: 1.7; color: var(--text-2); }
body.rb-application-page .application-container { width: min(100% - 48px,800px); margin: 0 auto 64px; }
body.rb-application-page .back-link { margin-bottom: 22px; color: var(--text-2); transform: none; }
body.rb-application-page .application-card { border-radius: 8px; padding: 32px; background: #1c1c1f; border: 1px solid var(--border); box-shadow: none; overflow: visible; }
body.rb-application-page .application-card::before { display: none; }
body.rb-application-page .application-header { text-align: left; margin-bottom: 28px; }
body.rb-application-page .application-header .logo { display: none; }
body.rb-application-page .application-title { font: 700 28px/1.2 var(--font-body); letter-spacing: -.035em; background: none; -webkit-text-fill-color: currentColor; }
body.rb-application-page .application-subtitle { color: var(--text-2); font-size: 15px; line-height: 1.6; }
body.rb-application-page .requirements-list { margin-bottom: 30px; padding: 20px; border: 1px solid var(--border); border-radius: 5px; background: #242427; }
body.rb-application-page .requirements-list h3 { color: var(--text-1); font-size: 15px; margin-bottom: 12px; }
body.rb-application-page .requirements-list li { color: var(--text-2); font-size: 14px; line-height: 1.6; padding-left: 18px; margin: 6px 0; }
body.rb-application-page .requirements-list li::before { content: '·'; font-family: inherit; color: var(--text-3); font-size: 18px; }
body.rb-application-page .form-section { padding: 0 0 28px; margin: 0 0 28px; border-bottom: 1px solid var(--border); }
body.rb-application-page .section-title { font: 600 19px/1.3 var(--font-body); margin-bottom: 22px; color: var(--text-1); }
body.rb-application-page .section-title i { color: var(--text-3); font-size: 15px; }
body.rb-application-page .form-input { min-width: 0; width: 100%; min-height: 48px; padding: 13px 14px; border: 1px solid #444449; border-radius: 5px; background: #141416; color: var(--text-1); font: 400 16px var(--font-body); box-shadow: none; }
body.rb-application-page .form-input:focus { border-color: #a9a9ae; box-shadow: none; }
body.rb-application-page .form-input::placeholder { color: var(--text-3); }
body.rb-application-page .form-label { color: var(--text-2); font-size: 14px; }
body.rb-application-page .game-entry { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: 12px; }
body.rb-application-page :is(.add-game,.remove-game) { min-height: 44px; background: #242427; color: var(--text-1); border: 1px solid #444449; border-radius: 5px; box-shadow: none; transform: none; }
body.rb-application-page .remove-game { min-width: 44px; }
body.rb-application-page .checkbox-group { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
body.rb-application-page .checkbox-label { min-height: 46px; padding: 12px 14px; background: #242427; border: 1px solid var(--border); border-radius: 5px; color: var(--text-2); transform: none; }
body.rb-application-page .checkbox-label:has(input:checked) { border-color: #85858c; background: #2a2a2e; color: var(--text-1); }
body.rb-application-page :is(input[type='checkbox'],input[type='radio']) { accent-color: var(--accent); }
body.rb-application-page .radio-group { gap: 24px; }
body.rb-application-page .radio-label { min-height: 40px; color: var(--text-2); }
body.rb-application-page .file-upload-label { padding: 24px; border: 1px dashed #686870; border-radius: 5px; background: #242427; color: var(--text-1); }
body.rb-application-page .file-upload input[type='file']:focus-visible + .file-upload-label { outline: 2px solid #c3c3ca; outline-offset: 4px; }
body.rb-application-page .file-upload:hover .file-upload-label { background: #2a2a2e; border-color: #a9a9ae; }
body.rb-application-page .file-upload-icon { color: var(--text-3); font-size: 28px; }
body.rb-application-page .file-upload-hint { display: block; max-width: 460px; color: var(--text-2); font-size: 13px; line-height: 1.6; margin-top: 10px; }
body.rb-application-page .file-selected { color: var(--text-1); overflow-wrap: anywhere; }
body.rb-application-page :is(.application-validation,.alert-error) { background: #2a1c20; color: #ffc4cb; border: 1px solid #70434b; border-radius: 5px; padding: 16px; margin-bottom: 24px; font-size: 14px; line-height: 1.6; }
body.rb-application-page .application-validation[hidden] { display: none; }
body.rb-application-page .alert-success { background: #202a24; color: #bedac6; border: 1px solid #466651; border-radius: 5px; }

@media (max-width: 680px) {
    body.rb-affiliate-page,body.rb-application-page { padding-top: 70px; }
    body.rb-affiliate-page .login-container { margin-top: 30px; }
    body.rb-affiliate-page .login-card { padding: 24px 20px; }
    body.rb-affiliate-page .remember-section { align-items: flex-start; }
    body.rb-application-page .hero-section { width: calc(100% - 40px); padding-top: 36px; }
    body.rb-application-page .application-container { width: calc(100% - 40px); }
    body.rb-application-page .application-card { padding: 24px 18px; }
    body.rb-application-page :is(.game-entry,.checkbox-group) { grid-template-columns: minmax(0,1fr); }
    body.rb-application-page .radio-group { flex-direction: row; flex-wrap: wrap; }
    body.rb-application-page .requirements-list { padding: 16px; }
}
body.rb-affiliate-portal {
    --bg-primary: #141416; --bg-secondary: #242427; --bg-tertiary: #29292d;
    --text-primary: #f3f3f5; --text-secondary: #b3b3ba; --accent-primary: #e0384a; --accent-secondary: #e0384a; --accent-tertiary: #be293a;
    --border-color: #36363c; --card-bg: #1c1c1f; --card-border: 1px solid #36363c; --card-radius: 8px; --card-shadow: none;
    --gradient-blue: #e0384a; --font-body: 'Archivo',sans-serif; --font-mono: 'JetBrains Mono',monospace;
    margin: 0; font-family: var(--font-body); color: var(--text-primary); background: #141416; overflow-x: hidden;
}
body.rb-affiliate-portal *,body.rb-affiliate-portal *::before,body.rb-affiliate-portal *::after { animation: none !important; transition: none !important; box-sizing: border-box; }
body.rb-affiliate-portal :is(button,input) { font-family: var(--font-body); }
body.rb-affiliate-portal :is(a,button,input,.table-responsive):focus-visible { outline: 2px solid #c3c3ca; outline-offset: 4px; }
body.rb-affiliate-portal .navbar { position: relative; background: #141416; border-bottom: 1px solid var(--border-color); backdrop-filter: none; padding: 20px 24px; }
body.rb-affiliate-portal .navbar-container { max-width: 1280px; gap: 20px; }
body.rb-affiliate-portal .navbar-logo { width: 40px; height: 36px; object-fit: contain; filter: none; transform: none; }
body.rb-affiliate-portal .navbar-actions { gap: 12px; }
body.rb-affiliate-portal :is(.welcome-badge,.welcome-avatar) { background: none; border: 0; padding: 0; box-shadow: none; }
body.rb-affiliate-portal .welcome-avatar,body.rb-affiliate-portal .status-dot { display: none; }
body.rb-affiliate-portal .welcome-text { color: var(--text-secondary); font-size: 13px; }
body.rb-affiliate-portal .welcome-name { color: var(--text-primary); background: none; -webkit-text-fill-color: currentColor; }
body.rb-affiliate-portal .nav-button { display: inline-flex; align-items: center; gap: 8px; border-radius: 5px; min-height: 42px; padding: 10px 16px; background: #242427; color: var(--text-primary); border: 1px solid var(--border-color); box-shadow: none; transform: none; }
body.rb-affiliate-portal .main-container { max-width: 1328px; margin: 0 auto; padding: 40px 24px 50px; }
body.rb-affiliate-portal .portal-title { font-size: clamp(30px,4vw,44px); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 32px; }
body.rb-affiliate-portal .dashboard-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 18px; }
body.rb-affiliate-portal :is(.stat-card,.chart-card,.performance-card,.affiliate-link-card,.orders-card) { min-width: 0; background: var(--card-bg); border: var(--card-border); border-radius: 8px; padding: 22px; box-shadow: none; transform: none; }
body.rb-affiliate-portal .stat-card::before,body.rb-affiliate-portal .stat-card::after { display: none; }
body.rb-affiliate-portal .stat-icon { font-size: 18px; color: var(--text-secondary); background: none; -webkit-text-fill-color: currentColor; filter: none; }
body.rb-affiliate-portal .stat-value,body.rb-affiliate-portal .metric-value { font-family: var(--font-mono); font-size: 25px; color: var(--text-primary); }
body.rb-affiliate-portal .metric-value small { margin-left: 6px; font: 400 12px var(--font-body); color: var(--text-secondary); }
body.rb-affiliate-portal .stat-label { font-size: 12px; text-transform: none; letter-spacing: 0; }
body.rb-affiliate-portal .stat-trend { background: none; padding: 0; color: var(--text-secondary); font-size: 12px; }
body.rb-affiliate-portal .stat-trend i { display: none; }
body.rb-affiliate-portal .chart-card { height: auto; min-height: 280px; }
body.rb-affiliate-portal .chart-title { font-size: 20px; margin: 0; letter-spacing: -.02em; }
body.rb-affiliate-portal .performance-metric { padding: 18px 0; transform: none; background: none; border-color: var(--border-color); }
body.rb-affiliate-portal .metric-label { font-size: 13px; }
body.rb-affiliate-portal .metric-trend { background: none; color: var(--text-secondary); }
body.rb-affiliate-portal .affiliate-link-container { min-width: 0; display: flex; gap: 12px; margin-top: 18px; }
body.rb-affiliate-portal .affiliate-link { min-width: 0; flex: 1; width: 100%; background: #141416; color: var(--text-primary); border: 1px solid #55555d; border-radius: 5px; font: 400 14px var(--font-mono); padding: 13px 14px; }
body.rb-affiliate-portal .copy-button { background: var(--accent-primary); color: #fff; border: 0; border-radius: 5px; min-height: 46px; box-shadow: none; transform: none; }
body.rb-affiliate-portal .table-responsive { max-width: 100%; overflow-x: auto; }
body.rb-affiliate-portal .orders-table { width: 100%; border-collapse: collapse; font-size: 13px; }
body.rb-affiliate-portal .orders-table :is(th,td) { text-align: left; padding: 14px 10px; border-bottom: 1px solid var(--border-color); color: var(--text-secondary); background: none; text-transform: none; letter-spacing: 0; }
body.rb-affiliate-portal .orders-table th { color: var(--text-primary); }
body.rb-affiliate-portal :is(.order-type,.order-status) { white-space: nowrap; padding: 4px 6px; font-size: 12px; background: #29292d; color: var(--text-primary); border: 0; border-radius: 3px; }
body.rb-affiliate-portal #settingsModal { background: rgba(0,0,0,.78); overflow-y: auto; padding: 32px 20px; }
body.rb-affiliate-portal #settingsModal .modal-content { position: relative; top: auto; left: auto; transform: none; margin: 24px auto; padding: 26px; width: 100%; max-width: 500px; background: #1c1c1f; border: 1px solid #444449; border-radius: 8px; box-shadow: none; }
body.rb-affiliate-portal .modal-content::before,body.rb-affiliate-portal .input-focus-effect { display: none; }
body.rb-affiliate-portal .modal-header h2 { color: var(--text-primary); background: none; -webkit-text-fill-color: currentColor; font-size: 24px; letter-spacing: -.03em; }
body.rb-affiliate-portal .close-modal { width: 44px; height: 44px; min-width: 44px; background: #29292d; border: 0; border-radius: 4px; color: var(--text-primary); transform: none; }
body.rb-affiliate-portal .form-group input { width: 100%; min-height: 46px; font-size: 16px; padding: 12px 14px; background: #141416; border: 1px solid #55555d; border-radius: 5px; color: var(--text-primary); box-shadow: none; }
body.rb-affiliate-portal .form-group label { color: var(--text-primary); font-size: 14px; }
body.rb-affiliate-portal .helper-text { color: var(--text-secondary); }
body.rb-affiliate-portal .btn { border-radius: 5px; padding: 12px 16px; min-height: 44px; border: 1px solid #55555d; box-shadow: none; transform: none; }
body.rb-affiliate-portal .btn-primary { background: var(--accent-primary); color: #fff; border-color: transparent; }
body.rb-affiliate-portal .btn-danger { background: #29292d; color: var(--text-primary); }
body.rb-affiliate-portal .btn:disabled { opacity: .6; cursor: wait; }
body.rb-affiliate-portal .btn::before,body.rb-affiliate-portal .btn::after { display: none; }
body.rb-affiliate-portal .settings-message { line-height: 1.6; }
body.rb-affiliate-portal .settings-message.error { background: #2a1c20; color: #ffc4cb; border: 1px solid #70434b; }
body.rb-affiliate-portal .settings-message.success { background: #202a24; color: #bedac6; border: 1px solid #466651; }
body.rb-affiliate-portal .portal-feedback { margin: 12px 0 0; padding: 0; color: var(--text-primary); }
@media(max-width: 900px) {
    body.rb-affiliate-portal .stat-card { grid-column: span 6; }
    body.rb-affiliate-portal :is(.chart-card,.performance-card,.affiliate-link-card,.orders-card) { grid-column: span 12; }
    body.rb-affiliate-portal .welcome-badge { display: none; }
}
@media(max-width: 600px) {
    body.rb-affiliate-portal .navbar { padding: 16px 20px; }
    body.rb-affiliate-portal .navbar-container { flex-wrap: nowrap; gap: 18px; }
    body.rb-affiliate-portal .navbar-logo { width: 40px; height: 40px; }
    body.rb-affiliate-portal .navbar-actions { width: auto; }
    body.rb-affiliate-portal .nav-button { min-width: 44px; min-height: 44px; justify-content: center; }
    body.rb-affiliate-portal .main-container { padding: 32px 20px; }
    body.rb-affiliate-portal .dashboard-grid { gap: 12px; }
    body.rb-affiliate-portal .stat-card { padding: 16px; }
    body.rb-affiliate-portal .stat-value { font-size: 22px; }
    body.rb-affiliate-portal .affiliate-link-container { flex-direction: column; }
    body.rb-affiliate-portal #settingsModal .modal-content { margin: 0 auto; padding: 20px; }
}

/* Public-page visual review: genuine game art and a single action colour. */

body.rb-public .ab-story-eyebrow::before,body.rb-public .ab-story-body::before { display:none!important; }
body.rb-public .ab-story-body { padding-left:0; }
body.rb-public .ab-hero-actions { align-items:flex-start; }
body.rb-public .author-avatar { background:#29292d!important; box-shadow:none!important; }


body.rb-public .rb-article-art { display:block; width:100%; height:320px; object-fit:cover; object-position:center 25%; }
body.rb-public .blog-card .card-header { position:relative; height:210px; background:#19191c!important; }
body.rb-public .blog-card .card-header::before,body.rb-public .blog-card .card-header::after { display:none!important; }
body.rb-public .rb-blog-art { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
body.rb-public .blog-card .card-tag { position:absolute; left:16px; bottom:16px; top:auto; z-index:1; padding:6px 10px; background:#171719; color:var(--text-1); }
@media(max-width:680px) { body.rb-public .rb-article-art { height:210px; } }
