/* ============================================================
   BettorRank review page (v2). Scoped to body.review-v2, rv- prefix.
   Reuses the global rethemed tokens (--accent is electric blue now) and
   global .btn/.prose/.badge/.faq/.casino-grid so it stays consistent with
   the rest of the site. Follows frontendskills2: restrained type, real
   logo, tabular figures, single accent, honest "not yet assessed" scores.
   ============================================================ */
body.review-v2 .rv-page{max-width:960px;margin:0 auto;padding:28px 24px 0}
.rv-bc{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--fg-mute);margin-bottom:16px}
.rv-bc a{color:var(--fg-2)}
.rv-bc a:hover{color:var(--accent)}

/* ===== hero (double-bezel) ===== */
.rv-hero{background:var(--bg-glass);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:6px;box-shadow:var(--shadow-2);margin-bottom:22px}
.rv-hero__core{background:var(--bg-elev-1);border-radius:calc(var(--r-xl) - 6px);box-shadow:var(--shadow-inner);padding:28px;display:grid;gap:28px;grid-template-columns:1fr;align-items:center}
@media(min-width:760px){.rv-hero__core{grid-template-columns:1fr auto}}
.rv-id{display:flex;align-items:center;gap:18px;min-width:0}
.rv-logo{width:64px;height:64px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:11px;flex-shrink:0;display:grid;place-items:center}
.rv-logo img{width:100%;height:100%;object-fit:contain}
.rv-logo--initial{font-family:var(--font-display);font-weight:800;font-size:1.7rem;color:var(--accent)}
.rv-name{font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;color:var(--fg)}
.rv-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.rv-badge{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--fg-2);background:rgba(255,255,255,.02)}
.rv-badge--accent{color:var(--accent);border-color:rgba(62,111,230,.4);background:rgba(62,111,230,.08)}
.rv-meta{display:flex;flex-wrap:wrap;gap:18px}
.rv-meta div{display:flex;flex-direction:column}
.rv-meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-mute)}
.rv-meta dd{margin:2px 0 0;font-family:var(--font-mono);font-weight:600;font-size:.95rem;color:var(--fg);font-variant-numeric:tabular-nums}
.rv-meta dd.acc{color:var(--accent)}

/* rating dial */
.rv-rate{display:flex;flex-direction:column;align-items:center;gap:14px;flex-shrink:0}
.rv-dial{position:relative;width:128px;height:128px}
.rv-dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.rv-dial__track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:12}
.rv-dial__fill{fill:none;stroke:url(#rvDialGrad);stroke-width:12;stroke-linecap:round;stroke-dasharray:528;stroke-dashoffset:528;transition:stroke-dashoffset 1.3s cubic-bezier(.16,1,.3,1)}
.rv-dial.in .rv-dial__fill{stroke-dashoffset:var(--off,132)}
.rv-dial__val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.rv-dial__num{font-family:var(--font-mono);font-size:2.1rem;font-weight:600;letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}
.rv-dial__den{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute)}
.rv-rate .btn{width:100%}

/* ===== honest score breakdown ===== */
.rv-scores{background:var(--bg-elev-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin:0 0 28px}
.rv-scores__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.rv-scores__head h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0;letter-spacing:-.02em}
.rv-scores__overall{font-family:var(--font-mono);font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
.rv-crit{display:grid;grid-template-columns:1fr;gap:6px;padding:12px 0;border-top:1px solid var(--line)}
@media(min-width:560px){.rv-crit{grid-template-columns:180px 1fr auto;align-items:center;gap:16px}}
.rv-crit__label{font-size:.92rem;color:var(--fg);font-weight:500}
.rv-crit__label small{display:block;font-family:var(--font-mono);font-size:.64rem;color:var(--fg-mute);text-transform:uppercase;letter-spacing:.04em;margin-top:1px}
.rv-crit__track{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.rv-crit__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#4CC2FF);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.rv-crit__score{font-family:var(--font-mono);font-weight:600;font-size:.95rem;color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
.rv-na{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rv-na__lbl{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:10px}
.rv-na__chips{display:flex;flex-wrap:wrap;gap:8px}
.rv-na__chip{font-size:.8rem;color:var(--fg-2);background:rgba(255,255,255,.02);border:1px dashed var(--line-2);border-radius:8px;padding:6px 11px}
.rv-na__chip b{color:var(--fg);font-weight:600}
.rv-na__chip span{color:var(--fg-mute)}

body.review-v2 .prose{max-width:760px;margin-left:auto;margin-right:auto}
body.review-v2 .rv-rel{max-width:1140px;margin:48px auto 0;padding:0 24px}
