:root{--pri:#c81020;--bg:#0a0a0a;--gold:#006840;--ink:#0c0c0c;
--surf:#1c1c1c;--surf2:color-mix(in srgb,#0a0a0a 82%,#fff 18%);
--txt:#F2F1F6;--txt2:#B9B7C6;--line:color-mix(in srgb,#c81020 28%,transparent);
--rad:16px;--rad-btn:16px;
--pad:34px;
--pad-card:26px;--gap:18px}
*,*::before,*::after{box-sizing:border-box}
/* A long unbreakable token — a URL, a promo code, a licence number like
   MGA/B2C/394/2017 — is the commonest way a page ends up wider than a phone
   screen. Nothing here wrapped them, so at 440px the whole document scrolled
   sideways. Text wraps now; the exceptions are the places where breaking a word
   mid-character would be worse than a scrollbar. */
html{overflow-x:hidden}
/* There was no global rule for images at all — only per-component ones. Anything
   outside those components (an image in the operator's own text, a screenshot
   added by hand) rendered at its natural width and pushed the page off a phone
   screen. */
img,svg,video,iframe{max-width:100%}
img{height:auto}
body{overflow-wrap:break-word}
td,th,li,p,h1,h2,h3,h4,summary,a{overflow-wrap:anywhere}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:400 16px/1.7 'Nunito Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Sora','Nunito Sans',sans-serif;line-height:1.18;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4.6vw,3rem);letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,2.8vw,2rem);position:relative}
h2{padding-bottom:.35em;border-bottom:2px solid var(--line)}




h3{font-size:1.05rem;color:var(--pri)}
p{margin:0 0 1em;color:var(--txt2)}
a{color:var(--pri)}
/* layout: ONE padding source */
.vr-in{width:min(1120px,100% - 2rem);margin-inline:auto}
.vr-sec{padding:var(--pad) 0}
.vr-alt{background:var(--surf)}
/* header */
.vr-hdr{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:clamp(16px,3vw,32px);
padding:12px max(1rem,calc((100% - 1120px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);
backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.vr-logo{font-weight:800;font-size:1.15rem;color:var(--pri);letter-spacing:.5px;white-space:nowrap;text-decoration:none}
.vr-logo-img{display:inline-flex;align-items:center;flex:none}
.vr-logo-img img{height:34px;width:auto;display:block;object-fit:contain}
.vr-btn-ghost{background:transparent;color:var(--pri);border:2px solid var(--pri)}
.vr-nav{display:flex;gap:22px;margin-left:auto}
.vr-nav a{color:var(--txt2);text-decoration:none;font-size:.9rem}
/* Two buttons in a header do not fit a phone. Left in the row they share what is
   left after the logo and the burger — roughly 90px each — and the label breaks
   mid-word ("REGI STER"). The row wraps instead and the pair takes a line of its
   own, half each, which is what every one of these themes does with its own
   button container. */
.vr-hdr{flex-wrap:wrap}
.vr-hdr-btns{display:flex;align-items:center;gap:10px;margin-left:auto}
@media(max-width:560px){
  .vr-hdr-btns{order:10;width:100%;margin-left:0}
  .vr-hdr-btns>*{flex:1 1 0;min-width:0;text-align:center}
}

/* Dropdown for a page nested under another. Opens on hover AND on focus-within,
   because a hover-only menu cannot be reached from a keyboard. */
.vr-navp{position:relative;display:inline-flex;align-items:center;gap:4px}
.vr-navp::after{content:'';width:5px;height:5px;border-right:1.5px solid var(--txt2);
  border-bottom:1.5px solid var(--txt2);transform:rotate(45deg);margin-top:-3px}
.vr-sub{position:absolute;top:100%;left:0;z-index:60;display:none;flex-direction:column;
  gap:10px;padding:12px 14px;background:var(--surf);border:1px solid var(--line);
  border-radius:var(--rad);min-width:170px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.vr-navp:hover>.vr-sub,.vr-navp:focus-within>.vr-sub{display:flex}
.vr-nav a:hover{color:var(--pri)}
.vr-hdr .vr-btn{padding:9px 18px;font-size:.8rem}
.vr-burger{display:none;background:none;border:0;color:var(--txt);font-size:1.4rem;cursor:pointer}
/* hero */
.vr-hero{padding:clamp(40px,6vw,84px) 0;background:
radial-gradient(120% 100% at 12% 0%,color-mix(in srgb,var(--pri) 22%,transparent),transparent 60%),var(--bg)}
.vr-hero-in{width:min(1120px,100% - 2rem);margin-inline:auto;display:grid;gap:32px}
.vr-hero-split{grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);align-items:start}
@media(max-width:860px){.vr-hero-split{grid-template-columns:1fr}}
.vr-lead{font-size:1.06rem;max-width:none;width:100%;color:var(--txt2)}
.vr-hero-main{min-width:0;width:100%}
.vr-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.vr-btn{display:inline-block;background:linear-gradient(135deg,var(--pri),color-mix(in srgb,var(--pri) 70%,#000));
color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
padding:13px 26px;border-radius:var(--rad-btn);text-decoration:none;border:0}
.vr-btn-ghost{background:none;color:var(--pri);border:2px solid var(--pri);padding:11px 24px}
.vr-btn-sm{padding:9px 16px;font-size:.75rem}
.vr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.vr-chip{font-size:.72rem;color:var(--txt2);border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.vr-hero-card{position:relative;background:var(--surf2);border:1px solid var(--line);border-radius:var(--rad);padding:26px 22px;text-align:center}
.vr-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;
font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;border-radius:999px;white-space:nowrap}
.vr-hero-card-t{display:block;font-size:1.15rem;margin:8px 0 6px}
.vr-hero-card p{font-size:.88rem;margin-bottom:16px}
.vr-stats{width:min(1120px,100% - 2rem);margin:34px auto 0;display:grid;
grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.vr-stat{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);padding:16px;text-align:center}
.vr-stat b{display:block;font-size:1.5rem;color:var(--gold);font-family:'Sora',sans-serif}
.vr-stat span{font-size:.74rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.06em}
/* hero layout variants */
.vr-hero-centered .vr-hero-in{text-align:center;max-width:820px}
.vr-hero-centered .vr-ctas{justify-content:center}
.vr-chips-top{justify-content:center;margin:0 0 18px}
.vr-hero-compact .vr-hero-in,.vr-hero-minimal{max-width:760px}
.vr-hero-minimal .vr-hero-rule{display:block;width:64px;height:4px;background:var(--pri);border-radius:2px;margin-bottom:22px}
.vr-hero-minimal h1{font-size:clamp(2.1rem,5.2vw,3.4rem)}
.vr-hero-stack{display:grid;gap:12px;align-content:start}
.vr-hero-stack .vr-stat{text-align:left}
.vr-stats-lg .vr-stat b{font-size:2rem}
.vr-stats-lg{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.vr-hero-toplist-hero .vr-podium{margin-top:24px}
/* podium */
.vr-podium{width:min(1120px,100% - 2rem);margin:30px auto 0;padding:0;list-style:none;
display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}
/* Two 9:16 tiles side by side stop being readable well before they stop fitting. */
@media(max-width:520px){.vr-shots{grid-template-columns:1fr}}
@media(max-width:720px){.vr-podium{grid-template-columns:1fr}}
.vr-pod{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);padding:18px;text-align:center}
.vr-pod-1{border-color:var(--gold);padding-block:28px}
.vr-pod-r{font-size:.7rem;color:var(--txt2);display:block}
.vr-pod b{display:block;font-size:1.05rem;margin:4px 0}
.vr-pod-s{color:var(--gold);font-weight:800}
.vr-pod-n{display:block;font-size:.78rem;color:var(--txt2);margin-top:6px}
/* toc */
.vr-toc{width:min(1120px,100% - 2rem);margin:0 auto;padding:18px 20px;background:var(--surf);
border:1px solid var(--line);border-radius:var(--rad);transform:translateY(calc(var(--pad) * -0.35))}
.vr-toc b{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--txt2)}
.vr-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0}
.vr-toc a{font-size:.82rem;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;display:block}
/* content blocks */
.vr-intro{font-size:1.02rem}
.vr-subhead{font-size:1.15rem;color:var(--txt);margin:1.6em 0 .6em;padding-left:12px;border-left:3px solid var(--pri)}
.vr-list{margin:0 0 1em;padding-left:1.15em}
.vr-list li{margin:.45em 0;color:var(--txt2)}
.vr-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em;border:1px solid var(--line);border-radius:var(--rad)}
table{width:100%;border-collapse:collapse;min-width:520px;background:#fff;color:#111}
caption{text-align:left;padding:14px 16px;font-size:.78rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em}
th,td{padding:13px 16px;text-align:left;font-size:.92rem;border-top:1px solid #dedede}
thead th{background:#dedede;color:#000;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
tbody th{font-weight:700;color:#111}
td{color:#333}

.vr-tw a{color:#333399}
.vr-steps{list-style:none;counter-reset:s;margin:0 0 1.4em;padding:0;display:grid;gap:14px}
.vr-step{display:flex;gap:16px;background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);padding:18px}
.vr-step-n{flex:0 0 34px;height:34px;border-radius:50%;background:var(--pri);color:#fff;
display:grid;place-items:center;font-weight:800}
/* The step label used to be a heading and inherited its font, size and block
   layout. It is a bold span now — a list label, not a heading — so it has to
   carry that appearance itself or the steps collapse into one inline run. */
.vr-step-t{display:block;margin:0 0 .3em;font-family:'Sora','Nunito Sans',sans-serif;
  font-size:1.05rem;font-weight:700;line-height:1.25;color:var(--txt)}
.vr-step p{margin:0}
.vr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 1.4em}
.vr-card{position:relative;border-radius:var(--rad);padding:var(--pad-card);
background:var(--surf);border:0;box-shadow:0 10px 28px rgba(0,0,0,.45)}
.vr-badge{position:absolute;top:14px;right:14px;background:var(--gold);color:#fff;font-size:.62rem;
font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.vr-card-t{margin:0 0 .2em;color:var(--txt)}
.vr-card-s{color:var(--pri);font-weight:700;font-size:.88rem;margin:0 0 .6em}
.vr-callout{background:color-mix(in srgb,var(--pri) 10%,transparent);border-left:3px solid var(--pri);
border-radius:0 var(--rad) var(--rad) 0;padding:18px 22px;margin:0 0 1.4em}
.vr-callout h3{margin:0 0 .3em}
.vr-callout p{margin:0}
/* faq — CSS only, no JS, cannot break */
.vr-faq{display:grid;gap:10px}
.vr-faq-i{background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.vr-faq-i summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.vr-faq-i summary::-webkit-details-marker{display:none}
.vr-faq-i summary::after{content:'+';color:var(--pri);font-weight:800;flex:0 0 auto}
.vr-faq-i[open] summary::after{content:'−'}
.vr-faq-a{padding:0 20px 16px}
.vr-faq-a p{margin:0}
.vr-cta-row{margin:26px 0 8px}
.vr-aff{font-size:.78rem;color:var(--txt2);max-width:52ch;margin-top:12px}
/* author */
.vr-author{display:flex;gap:18px;background:var(--surf);border:1px solid var(--line);border-radius:var(--rad);padding:22px;max-width:760px}
.vr-avatar{flex:0 0 56px;height:56px;border-radius:50%;background:var(--pri);color:#fff;display:grid;place-items:center;font-weight:800}
.vr-author-n{display:block;font-size:1.05rem}
.vr-author-t{display:block;color:var(--pri);font-size:.85rem;margin-bottom:.6em}
.vr-author-d{font-size:.75rem;color:var(--txt2)}
/* footer + sticky */
.vr-ftr{background:color-mix(in srgb,var(--bg) 70%,#000);border-top:1px solid var(--line);padding:var(--pad) 0 24px;margin-top:0}
.vr-ftr-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
@media(max-width:720px){.vr-ftr-grid{grid-template-columns:1fr}}
.vr-ftr h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--txt2);margin:0 0 12px}
.vr-ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vr-ftr a{color:var(--txt2);text-decoration:none;font-size:.88rem}
.vr-ftr-bot{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;
flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.78rem;color:var(--txt2)}
.vr-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:16px;
justify-content:space-between;padding:12px max(1rem,calc((100% - 1120px)/2));
background:color-mix(in srgb,var(--bg) 92%,#000);border-top:1px solid var(--line);
transform:translateY(110%);transition:transform .3s}
.vr-sticky.on{transform:none}
.vr-sticky p{margin:0;font-size:.85rem;color:var(--txt)}
@media(max-width:860px){
  .vr-nav{display:none}.vr-burger{display:block;margin-left:auto}
  .vr-nav.open{display:grid;position:absolute;top:100%;left:0;right:0;background:var(--bg);
  padding:16px;border-bottom:1px solid var(--line);margin:0}
  .vr-sticky p{font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--pri);outline-offset:3px;border-radius:4px}
/* ── App pages (brand_app / game_app) ─────────────────── */
.vr-stores{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.vr-store{display:inline-flex;align-items:center;gap:10px;background:#000;border:1px solid color-mix(in srgb,var(--pri) 55%,transparent);color:#fff;padding:11px 20px;border-radius:12px;text-decoration:none;font-weight:700;transition:transform .15s,border-color .2s}
.vr-store:hover{transform:translateY(-2px);border-color:var(--pri)}
.vr-store-ios{background:linear-gradient(135deg,#141414,#242424)}
.vr-store-ic{font-size:1.5rem;line-height:1}
.vr-appfacts{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.vr-appfact{display:flex;flex-direction:column;min-width:70px}
.vr-appfact b{font-size:1.1rem;color:var(--pri);font-family:'Sora',sans-serif}
.vr-appfact span{font-size:.72rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.vr-hero-img{display:flex;align-items:center;justify-content:center;min-width:0}
.vr-hero-img img{max-width:100%;width:100%;height:auto;border-radius:16px;object-fit:cover;display:block}
.vr-banner{margin:0 auto 1.5em;width:min(1120px,100% - 2rem);border-radius:var(--rad);overflow:hidden;border:1px solid var(--line);background:#000}
.vr-hero-main .vr-banner{width:100%;margin:14px 0 18px}
.vr-banner img{display:block;width:100%;height:auto}
.vr-sec .vr-banner{width:100%;margin:0 0 1.25em}
.vr-hero-phone{display:flex;justify-content:center;align-items:center}.vr-phone{width:180px;height:370px;border-radius:32px;background:linear-gradient(160deg,#1b1b26,#0d0d16);border:2px solid color-mix(in srgb,var(--pri) 45%,transparent);box-shadow:0 20px 55px color-mix(in srgb,var(--pri) 25%,transparent);position:relative;display:flex;align-items:center;justify-content:center;padding:14px}
.vr-phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:74px;height:18px;background:#000;border-radius:0 0 13px 13px}
.vr-phone-scr{width:100%;height:100%;border-radius:20px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--pri) 22%,transparent),transparent 60%),var(--surf);display:flex;align-items:center;justify-content:center;color:var(--pri);font-weight:800;text-align:center;padding:12px}
.vr-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.vr-shot{margin:0;display:flex;flex-direction:column;gap:8px}
.vr-shot-ph{aspect-ratio:9/16;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 70%,var(--pri) 30%),var(--surf));border:1px dashed color-mix(in srgb,var(--pri) 45%,transparent);display:flex;align-items:center;justify-content:center;font-size:2.2rem;opacity:.92}
.vr-shot figcaption{font-size:.8rem;color:var(--txt2);text-align:center}
.vr-shot-real{padding:0;border-style:solid;overflow:hidden;opacity:1}
.vr-shot-real img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){.vr-shots{grid-template-columns:repeat(2,1fr)}.vr-hero-phone{display:none}}

/* internal linking */
.vr-related{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.vr-related a{display:block;padding:12px 16px;background:var(--surf);border:1px solid var(--line);border-radius:12px;color:var(--txt);text-decoration:none;font-weight:600}
.vr-related a:hover{border-color:var(--pri);color:var(--pri)}
.vr-related span{display:block;font-size:.8rem;font-weight:400;color:var(--txt2);margin-top:4px}

/* listing */
.listing-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}


/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ ÐºÐ°Ñ€Ñ‚Ð¾Ñ‡ÐºÐ¸ */
.listing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--surf);
  border: 1px solid var(--pri);
  border-radius: 14px;
  padding: 20px 24px;
}

.info-section {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 240px;
}

.logo-box {
  width: 70px;
  height: 70px;
  background-color: var(--surf);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.logo-box img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}

.details {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.badge {
  background-color: var(--pri);
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.name {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}


.rating-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.stars {
  color: #ffc107;
  font-size: 14px;
  letter-spacing: 1px;
}

.rating-value {
  font-size: 13px;
  font-weight: 600;
  color: #22d3ee;
}


.bonus-section {
  flex: 1;
  background-color: #f2f4fa;
  border-radius: 8px;
  padding: 14px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  align-self: stretch;
}

.bonus-title {
  font-size: 14px;
  font-weight: bold;
  color: #1d1841;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bonus-text {
  font-size: 16px;
  font-weight: bold;
  color: #df2c3d;
}

/* Ð¡ÐµÐºÑ†Ð¸Ñ ÐšÐ½Ð¾Ð¿Ð¾Ðº */
.buttons-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 170px;
}

@media (max-width: 768px) {
  .listing {
    flex-direction: column;
    align-items: stretch;
  }

  .buttons-section {
    width: 100%;
  }
}

button.vgy0-btn {
  text-align: center;
  border: none;
  color: #000;
}
/* listing */
