/*!
 * Reelhouse — XVideoSharing Pro frontend theme
 * Loaded after bootstrap.css on every non-admin page.
 * Dark-first; light theme via html[data-theme="light"] (set before paint by main.html).
 * All new classes are prefixed "rh-". Legacy XVS classes still used by templates
 * (block, form-switcher, check-radio, codes-textarea, paging …) are restyled below.
 */
@property --rh-p { syntax: '<number>'; inherits: true; initial-value: 0; }

/* =========================================================
   1. Tokens + Bootstrap bridge
   ========================================================= */
:root {
  --rh-bg:#0A0D16; --rh-bg-rgb:10,13,22;
  --rh-surface:#121726; --rh-surface-2:#1A2033; --rh-surface-2-rgb:26,32,51; --rh-sunken:#070A11;
  --rh-line:#222A3E; --rh-line-2:#303A54;
  --rh-ink:#EEF1F8; --rh-ink-rgb:238,241,248; --rh-ink-2:#B8BFD1; --rh-muted:#8A92A9; --rh-muted-rgb:138,146,169;
  --rh-accent:#FFB23F; --rh-accent-rgb:255,178,63; --rh-accent-hover:#FFC266; --rh-accent-ink:#1A1100;
  --rh-accent-soft:#2A2114; --rh-accent-text:#FFC266; --rh-accent-text-rgb:255,194,102;
  --rh-signal:#4CC9F0; --rh-signal-rgb:76,201,240; --rh-signal-soft:#0F2833;
  --rh-ok:#3DD68C; --rh-ok-rgb:61,214,140; --rh-ok-soft:#0F2A1E;
  --rh-warn:#FF8A3D; --rh-warn-rgb:255,138,61; --rh-warn-soft:#33200F;
  --rh-err:#FF5C6C; --rh-err-rgb:255,92,108; --rh-err-soft:#35141B;
  --rh-stage:#05070D; --rh-stage-2:#0E1220; --rh-stage-ink:#EEF1F8; --rh-stage-muted:#9098AF; --rh-stage-line:#1C2336;
  --rh-shadow:0 18px 40px -20px rgba(0,0,0,.8); --rh-shadow-lg:0 30px 80px -30px rgba(0,0,0,.9);
  --rh-glow:0 0 0 4px rgba(255,178,63,.2);
  --rh-f-display:"Antonio","Arial Narrow","Roboto Condensed",ui-sans-serif,sans-serif;
  --rh-f-body:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --rh-f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --rh-r-sm:10px; --rh-r:14px; --rh-r-lg:18px; --rh-r-xl:22px;
  --rh-ease:cubic-bezier(.2,.8,.2,1); --rh-spring:cubic-bezier(.3,.7,.3,1.35);
  --rh-header-h:66px;
  color-scheme:dark;

  --bs-body-bg:var(--rh-bg); --bs-body-bg-rgb:var(--rh-bg-rgb);
  --bs-body-color:var(--rh-ink); --bs-body-color-rgb:var(--rh-ink-rgb);
  --bs-emphasis-color:var(--rh-ink); --bs-emphasis-color-rgb:var(--rh-ink-rgb);
  --bs-secondary-color:var(--rh-muted); --bs-secondary-color-rgb:var(--rh-muted-rgb);
  --bs-tertiary-color:var(--rh-muted);
  --bs-secondary-bg:var(--rh-surface-2); --bs-tertiary-bg:var(--rh-surface);
  --bs-border-color:var(--rh-line); --bs-border-color-translucent:var(--rh-line);
  --bs-heading-color:var(--rh-ink);
  --bs-link-color:var(--rh-accent-text); --bs-link-color-rgb:var(--rh-accent-text-rgb);
  --bs-link-hover-color:var(--rh-accent-hover); --bs-link-hover-color-rgb:var(--rh-accent-rgb);
  --bs-code-color:var(--rh-accent-text); --bs-highlight-bg:var(--rh-accent-soft);
  --bs-primary:var(--rh-accent); --bs-primary-rgb:var(--rh-accent-rgb);
  --bs-success-rgb:var(--rh-ok-rgb); --bs-danger-rgb:var(--rh-err-rgb); --bs-warning-rgb:var(--rh-warn-rgb); --bs-info-rgb:var(--rh-signal-rgb);
  --bs-secondary-rgb:var(--rh-muted-rgb); --bs-dark-rgb:var(--rh-ink-rgb); --bs-light-rgb:var(--rh-surface-2-rgb);
  --bs-primary-text-emphasis:var(--rh-accent-text); --bs-primary-bg-subtle:var(--rh-accent-soft); --bs-primary-border-subtle:rgba(var(--rh-accent-rgb),.35);
  --bs-success-text-emphasis:var(--rh-ok); --bs-success-bg-subtle:var(--rh-ok-soft); --bs-success-border-subtle:rgba(var(--rh-ok-rgb),.35);
  --bs-danger-text-emphasis:var(--rh-err); --bs-danger-bg-subtle:var(--rh-err-soft); --bs-danger-border-subtle:rgba(var(--rh-err-rgb),.35);
  --bs-warning-text-emphasis:var(--rh-warn); --bs-warning-bg-subtle:var(--rh-warn-soft); --bs-warning-border-subtle:rgba(var(--rh-warn-rgb),.35);
  --bs-info-text-emphasis:var(--rh-signal); --bs-info-bg-subtle:var(--rh-signal-soft); --bs-info-border-subtle:rgba(var(--rh-signal-rgb),.35);
  --bs-secondary-text-emphasis:var(--rh-ink-2); --bs-secondary-bg-subtle:var(--rh-surface-2); --bs-secondary-border-subtle:var(--rh-line-2);
  --bs-light-text-emphasis:var(--rh-ink-2); --bs-light-bg-subtle:var(--rh-surface-2); --bs-light-border-subtle:var(--rh-line);
  --bs-dark-text-emphasis:var(--rh-ink); --bs-dark-bg-subtle:var(--rh-surface-2); --bs-dark-border-subtle:var(--rh-line-2);
  --bs-body-font-family:var(--rh-f-body); --bs-body-font-size:.9375rem; --bs-body-line-height:1.55;
  --bs-border-radius:12px; --bs-border-radius-sm:8px; --bs-border-radius-lg:16px; --bs-border-radius-xl:20px; --bs-border-radius-pill:999px;
  --bs-focus-ring-color:rgba(255,178,63,.3);
  --bs-box-shadow:var(--rh-shadow); --bs-box-shadow-sm:0 1px 2px rgba(0,0,0,.35); --bs-box-shadow-lg:var(--rh-shadow-lg);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --rh-bg:#EEF0F5; --rh-bg-rgb:238,240,245; --rh-surface:#FFFFFF; --rh-surface-2:#E6E9F0; --rh-surface-2-rgb:230,233,240; --rh-sunken:#DCE0E9;
    --rh-line:#D5DAE5; --rh-line-2:#C0C7D6; --rh-ink:#0A0D16; --rh-ink-rgb:10,13,22; --rh-ink-2:#394056; --rh-muted:#5F6780; --rh-muted-rgb:95,103,128;
    --rh-accent:#F4A62A; --rh-accent-rgb:244,166,42; --rh-accent-hover:#FFB84D; --rh-accent-soft:#FCEBCB; --rh-accent-text:#8F5300; --rh-accent-text-rgb:143,83,0;
    --rh-signal:#0B7FA8; --rh-signal-rgb:11,127,168; --rh-signal-soft:#DDF1F8; --rh-ok:#0F8456; --rh-ok-rgb:15,132,86; --rh-ok-soft:#DCF3E8;
    --rh-warn:#C2570C; --rh-warn-rgb:194,87,12; --rh-warn-soft:#FDE9D9; --rh-err:#CF2D47; --rh-err-rgb:207,45,71; --rh-err-soft:#FBE1E5;
    --rh-shadow:0 18px 40px -22px rgba(10,13,22,.35); --rh-shadow-lg:0 30px 70px -30px rgba(10,13,22,.45); --rh-glow:0 0 0 4px rgba(244,166,42,.28);
    --bs-primary-rgb:var(--rh-accent-text-rgb); color-scheme:light;
  }
}
:root[data-theme="light"] {
  --rh-bg:#EEF0F5; --rh-bg-rgb:238,240,245; --rh-surface:#FFFFFF; --rh-surface-2:#E6E9F0; --rh-surface-2-rgb:230,233,240; --rh-sunken:#DCE0E9;
  --rh-line:#D5DAE5; --rh-line-2:#C0C7D6; --rh-ink:#0A0D16; --rh-ink-rgb:10,13,22; --rh-ink-2:#394056; --rh-muted:#5F6780; --rh-muted-rgb:95,103,128;
  --rh-accent:#F4A62A; --rh-accent-rgb:244,166,42; --rh-accent-hover:#FFB84D; --rh-accent-soft:#FCEBCB; --rh-accent-text:#8F5300; --rh-accent-text-rgb:143,83,0;
  --rh-signal:#0B7FA8; --rh-signal-rgb:11,127,168; --rh-signal-soft:#DDF1F8; --rh-ok:#0F8456; --rh-ok-rgb:15,132,86; --rh-ok-soft:#DCF3E8;
  --rh-warn:#C2570C; --rh-warn-rgb:194,87,12; --rh-warn-soft:#FDE9D9; --rh-err:#CF2D47; --rh-err-rgb:207,45,71; --rh-err-soft:#FBE1E5;
  --rh-shadow:0 18px 40px -22px rgba(10,13,22,.35); --rh-shadow-lg:0 30px 70px -30px rgba(10,13,22,.45); --rh-glow:0 0 0 4px rgba(244,166,42,.28);
  --bs-primary-rgb:var(--rh-accent-text-rgb); color-scheme:light;
}
.rh-theme-anim, .rh-theme-anim *, .rh-theme-anim *::before, .rh-theme-anim *::after {
  transition:background-color .35s ease, border-color .35s ease, color .35s ease, fill .35s ease !important;
}

/* =========================================================
   2. Base
   ========================================================= */
html { -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--rh-header-h) + 12px); }
body.rh { background:var(--rh-bg); color:var(--rh-ink); font:400 15px/1.55 var(--rh-f-body); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; min-height:100vh; display:flex; flex-direction:column; overflow-x:hidden; }
body.rh > main { flex:1 0 auto; min-width:0; }
.rh ::selection { background:var(--rh-accent); color:var(--rh-accent-ink); }
.rh h1,.rh h2,.rh h3,.rh h4,.rh h5,.rh h6,.rh .h1,.rh .h2,.rh .h3,.rh .h4,.rh .h5,.rh .h6 { font-family:var(--rh-f-body); font-weight:650; letter-spacing:-.015em; line-height:1.2; color:var(--rh-ink); text-wrap:balance; }
/* :where() keeps this at (0,1,1) so .btn / nav / dropdown colours still win; a.btn must use its own --bs-btn-color */
.rh a:where(:not(.btn)) { color:var(--rh-accent-text); text-decoration:none; transition:color .15s; }
.rh a:where(:not(.btn)):hover { color:var(--rh-accent-hover); }
.rh a.btn { text-decoration:none; }
.rh :focus-visible { outline:2px solid var(--rh-accent); outline-offset:2px; }
.rh img { max-width:100%; }
.rh hr { border-color:var(--rh-line); opacity:1; }
.rh code, .rh pre { font-family:var(--rh-f-mono); }
.rh pre { background:var(--rh-sunken); color:var(--rh-ink-2); border:1px solid var(--rh-line); border-radius:12px; padding:14px; font-size:12.5px; }
.rh-i { width:1.2em; height:1.2em; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.2em; }
.rh-i--fill { fill:currentColor; }
.rh-display { font-family:var(--rh-f-display)!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.005em!important; line-height:.92!important; }
.rh-outline { color:transparent!important; -webkit-text-stroke:1.5px var(--rh-accent); }
.rh-mono { font-family:var(--rh-f-mono); font-size:.88em; }
.rh-eyebrow { display:inline-flex; align-items:center; gap:8px; font:500 12px/1 var(--rh-f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--rh-muted); }
.rh-muted, .rh .text-muted, .rh .text-secondary, .rh .text-body-secondary { color:var(--rh-muted)!important; }
.rh .text-dark, .rh .text-body-emphasis, .rh .link-dark, .rh .link-body-emphasis, .rh .text-black { color:var(--rh-ink)!important; }
.rh .link-body-emphasis:hover, .rh .link-dark:hover { color:var(--rh-accent-text)!important; }
.rh .text-primary { color:var(--rh-accent-text)!important; }
.rh .text-reset { color:inherit!important; }
.rh .bg-light, .rh .bg-body-tertiary { background-color:var(--rh-surface-2)!important; }
.rh .bg-white, .rh .bg-body { background-color:var(--rh-surface)!important; }
.rh .shadow { box-shadow:var(--rh-shadow)!important; }
.rh .rounded { border-radius:12px!important; }
.rh .xsmall { font-size:.78em!important; } .rh .large { font-size:1.08em!important; } .rh .xlarge { font-size:1.3em!important; }
.rh .fw-500 { font-weight:500; } .rh .fw-600 { font-weight:600; } .rh .mw-0 { min-width:0; } .rh .break-all { word-break:break-all; }
.rh-sr, .rh .visually-hidden-focusable:not(:focus) { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.rh-skip { position:absolute; left:12px; top:-60px; z-index:2000; background:var(--rh-accent); color:var(--rh-accent-ink)!important; padding:10px 16px; border-radius:99px; font-weight:700; transition:top .2s; }
.rh-skip:focus { top:12px; }
.rh * { scrollbar-width:thin; scrollbar-color:var(--rh-line-2) transparent; }
.rh ::-webkit-scrollbar { width:10px; height:10px; } .rh ::-webkit-scrollbar-thumb { background:var(--rh-line-2); border-radius:99px; border:3px solid transparent; background-clip:content-box; }

/* Layout */
.rh-wrap { width:100%; max-width:1320px; margin-inline:auto; padding-inline:28px; }
/* "backwards", not "both": a filled transform/opacity animation keeps <main> as a stacking context +
   fixed-position container, which traps every modal inside it under Bootstrap's .modal-backdrop */
.rh-main { padding-block:8px 64px; animation:rh-enter .45s var(--rh-ease) backwards; }
body.modal-open .rh-main { animation:none; }
.rh-main--flush { padding-block:0; }
.rh-stack { display:grid; gap:16px; } .rh-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rh-between { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.rh-ml-auto { margin-left:auto; }
@keyframes rh-enter { from { opacity:.001; transform:translateY(6px); } }
@keyframes rh-pop { from { opacity:0; transform:translateY(-4px) scale(.98); } }
@keyframes rh-spin { to { rotate:360deg; } }
@keyframes rh-sk { from { background-position:100% 0; } to { background-position:0 0; } }
@keyframes rh-blink { 50% { opacity:.2; } }
.rh-spin { animation:rh-spin .9s linear infinite; }

/* =========================================================
   3. Header, search, menus
   ========================================================= */
.rh-header { position:sticky; top:0; z-index:1030; background:rgba(var(--rh-bg-rgb),.86); -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); border-bottom:1px solid var(--rh-line); transition:box-shadow .25s var(--rh-ease); }
.rh-header.is-scrolled { box-shadow:0 12px 30px -22px rgba(0,0,0,.7); }
.rh-header__in { position:relative; display:flex; align-items:center; gap:16px; height:var(--rh-header-h); }
/* Wordmark: an accent mark plus site_name set in the display face. Colours come from the
   theme tokens, so dark, light and "system" all resolve without per-theme overrides.
   Same 30px height as the old image logo; long names shrink and end in an ellipsis. */
.rh-logo { display:inline-flex; align-items:center; gap:10px; flex:0 1 auto; min-width:0; max-width:100%; color:var(--rh-ink)!important; text-decoration:none!important; border-radius:10px; }
.rh-logo:focus-visible { outline:2px solid var(--rh-accent); outline-offset:4px; }
.rh-logo__mark { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:9px; background:linear-gradient(150deg, var(--rh-accent-hover), var(--rh-accent)); color:var(--rh-accent-ink); box-shadow:inset 0 -2px 0 rgba(0,0,0,.16), 0 6px 16px -8px rgba(var(--rh-accent-rgb),.85); transition:transform .25s var(--rh-ease); }
.rh-logo__mark .rh-i { width:14px; height:14px; margin-left:2px; }
.rh-logo__word { display:block; min-width:0; max-width:min(24ch, 44vw); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding-block:2px; font:700 25px/1 var(--rh-f-display); letter-spacing:.02em; text-transform:uppercase; color:inherit; }
.rh-logo:hover .rh-logo__mark { transform:rotate(-8deg) scale(1.05); }
@media (prefers-reduced-motion: reduce) { .rh-logo__mark { transition:none; } .rh-logo:hover .rh-logo__mark { transform:none; } }
@media (max-width: 575.98px) {
  .rh-logo { gap:8px; }
  .rh-logo__mark { width:26px; height:26px; border-radius:8px; }
  .rh-logo__mark .rh-i { width:12px; height:12px; }
  .rh-logo__word { font-size:21px; max-width:42vw; }
}
.rh-nav { display:flex; align-items:center; gap:2px; }
.rh-nav a:where(:not(.btn)) { padding:8px 13px; border-radius:99px; color:var(--rh-ink-2); font-weight:600; font-size:14px; white-space:nowrap; text-decoration:none!important; transition:background .15s, color .15s; }
.rh-nav a:where(:not(.btn)):hover, .rh-nav a:where(:not(.btn)).is-active { background:var(--rh-surface-2); color:var(--rh-ink); }
.rh-search { position:relative; flex:1 1 auto; max-width:560px; margin:0 auto; }
.rh-search input { width:100%; height:44px; border-radius:99px; border:1px solid var(--rh-line-2); background:var(--rh-surface); color:var(--rh-ink); padding:0 52px 0 44px; font:inherit; font-size:15px; transition:border-color .15s, box-shadow .15s; }
.rh-search input::placeholder { color:var(--rh-muted); }
.rh-search input:focus { outline:none; border-color:var(--rh-accent); box-shadow:var(--rh-glow); }
.rh-search > .rh-i { position:absolute; left:16px; top:50%; translate:0 -50%; width:18px; height:18px; color:var(--rh-muted); pointer-events:none; }
.rh-search kbd { position:absolute; right:12px; top:50%; translate:0 -50%; font:500 11px var(--rh-f-mono); color:var(--rh-muted); border:1px solid var(--rh-line-2); background:transparent; border-radius:6px; padding:3px 7px; }
.rh-hdr-end { display:flex; align-items:center; gap:6px; flex:none; margin-left:auto; }
.rh-search + .rh-hdr-end { margin-left:0; }
.rh-ibtn { position:relative; width:40px; height:40px; display:inline-grid; place-items:center; flex:none; border:0; border-radius:50%; background:transparent; color:var(--rh-ink-2); cursor:pointer; transition:background .15s, color .15s, transform .15s; padding:0; }
.rh-ibtn:hover { background:var(--rh-surface-2); color:var(--rh-ink); }
.rh-ibtn:active { transform:scale(.92); }
.rh-ibtn .rh-i { width:20px; height:20px; }
.rh-ibtn img { width:22px; height:22px; border-radius:50%; object-fit:cover; }
.rh-pip { position:absolute; top:6px; right:5px; min-width:9px; height:9px; border-radius:99px; background:var(--rh-accent); box-shadow:0 0 0 2px var(--rh-bg); font:700 9px/9px var(--rh-f-body); color:var(--rh-accent-ink); }
.rh-theme-btn .rh-i-sun { display:none; }
:root[data-theme="light"] .rh-theme-btn .rh-i-sun { display:block; } :root[data-theme="light"] .rh-theme-btn .rh-i-moon { display:none; }
.rh-av { width:34px; height:34px; border-radius:50%; flex:none; display:grid; place-items:center; overflow:hidden; background:conic-gradient(from 200deg, #FFB23F, #FF6B4A, #4CC9F0, #FFB23F); color:#0A0D16; font:700 13px/1 var(--rh-f-body); }
.rh-av img { width:100%; height:100%; object-fit:cover; }
.rh-av .rh-i { width:18px; height:18px; stroke-width:2.2; }
.rh-av-btn { display:inline-flex; align-items:center; gap:8px; padding:3px 10px 3px 3px; border:1px solid var(--rh-line-2); border-radius:99px; background:transparent; color:var(--rh-ink); font:600 14px var(--rh-f-body); cursor:pointer; max-width:220px; }
.rh-av-btn span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rh-av-btn::after { display:none!important; }
.rh-hide-t { } .rh-show-t { display:none!important; } .rh-show-m { display:none!important; }

/* Dropdowns (Bootstrap) */
.rh .dropdown-menu { --bs-dropdown-bg:var(--rh-surface); --bs-dropdown-color:var(--rh-ink); --bs-dropdown-border-color:var(--rh-line); --bs-dropdown-border-radius:16px; --bs-dropdown-inner-border-radius:15px;
  --bs-dropdown-link-color:var(--rh-ink); --bs-dropdown-link-hover-bg:var(--rh-surface-2); --bs-dropdown-link-hover-color:var(--rh-ink); --bs-dropdown-link-active-bg:var(--rh-accent-soft); --bs-dropdown-link-active-color:var(--rh-accent-text);
  --bs-dropdown-padding-x:.4rem; --bs-dropdown-padding-y:.4rem; --bs-dropdown-item-padding-x:.75rem; --bs-dropdown-item-padding-y:.55rem; --bs-dropdown-divider-bg:var(--rh-line); --bs-dropdown-header-color:var(--rh-muted);
  --bs-dropdown-font-size:.9rem; min-width:230px; box-shadow:var(--rh-shadow-lg); }
.rh .dropdown-menu.show { animation:rh-pop .18s var(--rh-ease); }
.rh .dropdown-item { display:flex; align-items:center; gap:10px; border-radius:10px; }
.rh .dropdown-item .rh-i { width:18px; height:18px; color:var(--rh-muted); }
.rh .dropdown-item img { width:20px; height:14px; object-fit:cover; border-radius:3px; }
.rh-menu-who { padding:10px 12px 12px; margin-bottom:4px; border-bottom:1px solid var(--rh-line); }
.rh-menu-who b { display:block; font-size:14.5px; }
.rh-menu-who span { font:500 12px var(--rh-f-mono); color:var(--rh-muted); }

/* Studio (logged-in section nav) */
.rh-studio { position:relative; border-bottom:1px solid var(--rh-line); background:var(--rh-bg); }
.rh-studio__in { display:flex; align-items:center; gap:2px; overflow-x:auto; scrollbar-width:none; }
.rh-studio__in::-webkit-scrollbar { display:none; }
.rh-studio a:where(:not(.btn)), .rh-studio__more > .rh-studio__link { display:inline-flex; align-items:center; gap:8px; height:50px; padding:0 14px; border:0; background:none; color:var(--rh-ink-2); font:600 14px var(--rh-f-body); white-space:nowrap; text-decoration:none!important; box-shadow:inset 0 -2px 0 transparent; transition:color .15s, box-shadow .2s; cursor:pointer; }
.rh-studio a:where(:not(.btn)) .rh-i, .rh-studio__link .rh-i { width:17px; height:17px; }
.rh-studio a:where(:not(.btn)):hover, .rh-studio__link:hover { color:var(--rh-ink); }
.rh-studio a:where(:not(.btn)).is-active, .rh-studio__link.is-active { color:var(--rh-ink); box-shadow:inset 0 -2px 0 var(--rh-accent); }
.rh-count { font:500 11.5px var(--rh-f-mono); color:var(--rh-muted); }
.rh-badge-dot { min-width:18px; height:18px; padding:0 5px; border-radius:99px; background:var(--rh-accent); color:var(--rh-accent-ink); font:700 10.5px/18px var(--rh-f-body); text-align:center; }
.rh-pagebar { padding-block:26px 8px; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px; }
.rh-pagebar:has(.js-header:empty) { display:none; }
.rh-pagebar .rh-eyebrow { width:100%; }
.rh-pagebar .js-header > *, .rh-pagebar .js-header h4 { margin:0; font-family:var(--rh-f-display)!important; font-weight:700; text-transform:uppercase; font-size:clamp(34px,5vw,56px); line-height:.92; letter-spacing:.005em; color:var(--rh-ink)!important; }

/* Quick navigation (logged-in, mobile) */
.rh-qnav { display:none; position:fixed; left:0; right:0; bottom:0; z-index:1025; padding:0 8px env(safe-area-inset-bottom); background:rgba(var(--rh-bg-rgb),.9); -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3); border-top:1px solid var(--rh-line); }
.rh-qnav__in { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:center; height:64px; max-width:560px; margin-inline:auto; }
.rh-qnav a { position:relative; display:grid; justify-items:center; gap:4px; padding-top:4px; color:var(--rh-muted); font:600 10.5px/1 var(--rh-f-body); text-decoration:none!important; transition:color .2s; }
.rh-qnav a .rh-i { width:22px; height:22px; transition:transform .25s var(--rh-spring); }
.rh-qnav a:active .rh-i { transform:scale(.88); }
.rh-qnav a.is-active { color:var(--rh-ink); }
.rh-qnav a.is-active .rh-i { color:var(--rh-accent-text); }
.rh-qnav a.is-active::before { content:""; position:absolute; top:-8px; width:24px; height:3px; border-radius:0 0 3px 3px; background:var(--rh-accent); }
.rh-qnav__fab { width:50px; height:50px; margin-top:-24px; border-radius:50%; display:grid; place-items:center; background:var(--rh-accent); color:var(--rh-accent-ink); box-shadow:0 10px 24px -8px rgba(255,178,63,.6), 0 0 0 5px var(--rh-bg); transition:transform .25s var(--rh-spring); }
.rh-qnav__fab .rh-i { color:var(--rh-accent-ink)!important; width:24px!important; height:24px!important; }
.rh-qnav a.rh-qnav__up.is-active::before { display:none; }

/* Offcanvas / drawers (Bootstrap) */
.rh .offcanvas { --bs-offcanvas-bg:var(--rh-surface); --bs-offcanvas-color:var(--rh-ink); --bs-offcanvas-border-color:var(--rh-line); --bs-offcanvas-width:320px; }
.rh .offcanvas-backdrop { --bs-backdrop-bg:#03050A; --bs-backdrop-opacity:.6; }
.rh .offcanvas-bottom { height:auto; max-height:88vh; border-radius:24px 24px 0 0; padding-bottom:env(safe-area-inset-bottom); }
.rh .offcanvas-bottom::before { content:""; display:block; width:40px; height:4px; margin:10px auto 0; border-radius:99px; background:var(--rh-line-2); }
.rh-drawer-nav { display:grid; gap:2px; }
.rh-drawer-nav a:where(:not(.btn)) { display:flex; align-items:center; gap:14px; min-height:48px; padding:10px 12px; border-radius:12px; color:var(--rh-ink); font-weight:500; font-size:15.5px; text-decoration:none!important; }
.rh-drawer-nav a:where(:not(.btn)):hover, .rh-drawer-nav a:where(:not(.btn)).is-active { background:var(--rh-surface-2); }
.rh-drawer-nav a:where(:not(.btn)) .rh-i { width:20px; height:20px; color:var(--rh-muted); }
.rh-drawer-nav hr { margin:8px 0; }
/* drawer groups: small section labels, indented sub-items (upload methods, account settings) */
.rh-drawer-h { display:block; padding:14px 12px 6px; font:500 11px/1 var(--rh-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--rh-muted); }
.rh-drawer-nav > .rh-drawer-h:first-child { padding-top:4px; }
.rh-drawer-nav a.rh-drawer-sub { min-height:40px; padding-block:8px; padding-left:46px; font-size:14.5px; color:var(--rh-ink-2); }
.rh-drawer-nav a.rh-drawer-sub.is-active, .rh-drawer-nav a.rh-drawer-sub:hover { color:var(--rh-ink); }
.rh-drawer-nav a .rh-badge-dot { margin-left:auto; }

/* account form: inline guidance under a field (tidied value, warning or error) */
.rh-fb { margin-top:6px; font-size:13px; line-height:1.45; color:var(--rh-ink-2); overflow-wrap:anywhere; }
.rh-fb:empty { display:none; }
.rh-fb--ok { color:var(--rh-ok); }
.rh-fb--warn { color:var(--rh-warn); }
.rh-fb--err { color:var(--rh-err, #FF5C6C); }
.rh-fb code { font:500 12.5px var(--rh-f-mono); color:inherit; background:var(--rh-sunken); padding:1px 6px; border-radius:6px; }
.rh-fb__img { display:block; width:56px; height:56px; margin-bottom:6px; border-radius:50%; object-fit:cover; border:1px solid var(--rh-line); }
.rh .form-control.is-invalid, .rh .form-select.is-invalid { border-color:var(--rh-err, #FF5C6C); box-shadow:0 0 0 3px rgba(var(--rh-err-rgb, 255,92,108), .18); background-image:none; padding-right:.75rem; }
.rh-drawer-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }

/* Footer */
.rh-footer { background:var(--rh-stage); color:var(--rh-stage-muted); border-top:1px solid var(--rh-line); margin-top:auto; }
.rh-footer__grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:32px; padding-block:56px 40px; }
.rh-footer h2 { font:500 11.5px/1 var(--rh-f-mono)!important; letter-spacing:.14em!important; text-transform:uppercase; color:var(--rh-stage-muted)!important; margin:0 0 16px; }
.rh-footer nav { display:grid; gap:10px; }
.rh-footer nav a:where(:not(.btn)) { color:var(--rh-stage-ink); opacity:.82; font-size:14.5px; text-decoration:none!important; }
.rh-footer nav a:where(:not(.btn)):hover { opacity:1; color:var(--rh-stage-ink); }
.rh-footer p { font-size:14px; max-width:36ch; margin:14px 0 0; }
.rh-footer .rh-logo { color:var(--rh-stage-ink)!important; }
/* grid columns may shrink below their content, so a long wordmark ellipsises instead of overflowing */
.rh-footer__grid > * { min-width:0; }
.rh-footer .rh-logo__word { max-width:100%; }
.rh-footer__bot { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding-block:18px; border-top:1px solid var(--rh-stage-line); font:500 12px var(--rh-f-mono); letter-spacing:.04em; }
.rh-seg { display:inline-flex; gap:2px; padding:3px; border-radius:99px; background:var(--rh-surface-2); }
.rh-footer .rh-seg { background:var(--rh-stage-2); }
.rh-seg button { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border:0; border-radius:99px; background:transparent; color:inherit; font:600 12px var(--rh-f-body); cursor:pointer; }
.rh-seg button .rh-i { width:15px; height:15px; }
.rh-seg button[aria-pressed="true"] { background:var(--rh-accent); color:var(--rh-accent-ink); }
.rh-lang { display:inline-flex; align-items:center; gap:8px; color:inherit; }
.rh-lang img { width:20px; height:14px; border-radius:3px; object-fit:cover; }

/* Toasts */
.rh-toasts { position:fixed; left:50%; top:16px; translate:-50% 0; z-index:1090; display:grid; gap:8px; width:max-content; max-width:calc(100% - 32px); pointer-events:none; }
.rh-toast { display:flex; align-items:center; gap:10px; padding:11px 18px 11px 14px; border-radius:99px; background:#F4F1E8; color:#12151E; font:600 14px/1.3 var(--rh-f-body); box-shadow:0 16px 40px -14px rgba(0,0,0,.7); opacity:0; transform:translateY(-10px) scale(.97); transition:opacity .25s, transform .35s var(--rh-spring); }
.rh-toast.is-in { opacity:1; transform:none; }
.rh-toast .rh-i { width:18px; height:18px; color:#0F8456; }
.rh-toast--err .rh-i { color:#CF2D47; } .rh-toast--info .rh-i { color:#0B7FA8; }

/* =========================================================
   4. Bootstrap component skin
   ========================================================= */
.rh .container { --bs-gutter-x:2rem; }
.rh .btn { --bs-btn-padding-x:1.15rem; --bs-btn-padding-y:.55rem; --bs-btn-font-family:var(--rh-f-body); --bs-btn-font-weight:600; --bs-btn-font-size:.9375rem; --bs-btn-border-radius:999px; --bs-btn-focus-box-shadow:var(--rh-glow);
  display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:transform .15s var(--rh-ease), background-color .15s, border-color .15s, color .15s, box-shadow .2s; }
.rh .btn:active:not(:disabled) { transform:scale(.97); }
.rh .btn .rh-i { width:18px; height:18px; }
.rh .btn.flex-column { flex-direction:column; }
.rh .btn-primary { --bs-btn-color:var(--rh-accent-ink); --bs-btn-bg:var(--rh-accent); --bs-btn-border-color:var(--rh-accent); --bs-btn-hover-color:var(--rh-accent-ink); --bs-btn-hover-bg:var(--rh-accent-hover); --bs-btn-hover-border-color:var(--rh-accent-hover);
  --bs-btn-active-color:var(--rh-accent-ink); --bs-btn-active-bg:var(--rh-accent); --bs-btn-active-border-color:var(--rh-accent); --bs-btn-disabled-color:var(--rh-accent-ink); --bs-btn-disabled-bg:var(--rh-accent); --bs-btn-disabled-border-color:var(--rh-accent); }
.rh .btn-primary:hover { box-shadow:var(--rh-glow); }
.rh .btn-success { --bs-btn-color:#06140D; --bs-btn-bg:var(--rh-ok); --bs-btn-border-color:var(--rh-ok); --bs-btn-hover-color:#06140D; --bs-btn-hover-bg:var(--rh-ok); --bs-btn-hover-border-color:var(--rh-ok); --bs-btn-active-bg:var(--rh-ok); --bs-btn-active-border-color:var(--rh-ok); --bs-btn-active-color:#06140D; }
:root[data-theme="light"] .rh .btn-success { --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff; }
.rh .btn-success:hover { filter:brightness(1.08); }
.rh .btn-danger { --bs-btn-color:#fff; --bs-btn-bg:var(--rh-err); --bs-btn-border-color:var(--rh-err); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--rh-err); --bs-btn-hover-border-color:var(--rh-err); --bs-btn-active-bg:var(--rh-err); --bs-btn-active-border-color:var(--rh-err); }
.rh .btn-danger:hover { filter:brightness(1.08); }
.rh .btn-secondary, .rh .btn-light, .rh .btn-dark { --bs-btn-color:var(--rh-ink); --bs-btn-bg:var(--rh-surface-2); --bs-btn-border-color:var(--rh-surface-2); --bs-btn-hover-color:var(--rh-ink); --bs-btn-hover-bg:var(--rh-line-2); --bs-btn-hover-border-color:var(--rh-line-2); --bs-btn-active-color:var(--rh-ink); --bs-btn-active-bg:var(--rh-line-2); --bs-btn-active-border-color:var(--rh-line-2); }
.rh .btn-outline-light, .rh .btn-outline-secondary, .rh .btn-outline-dark { --bs-btn-color:var(--rh-ink); --bs-btn-bg:transparent; --bs-btn-border-color:var(--rh-line-2); --bs-btn-hover-color:var(--rh-ink); --bs-btn-hover-bg:var(--rh-surface-2); --bs-btn-hover-border-color:var(--rh-line-2); --bs-btn-active-color:var(--rh-ink); --bs-btn-active-bg:var(--rh-surface-2); --bs-btn-active-border-color:var(--rh-line-2); --bs-btn-disabled-color:var(--rh-muted); --bs-btn-disabled-border-color:var(--rh-line); }
.rh .btn-outline-primary { --bs-btn-color:var(--rh-accent-text); --bs-btn-border-color:rgba(var(--rh-accent-rgb),.55); --bs-btn-hover-color:var(--rh-accent-text); --bs-btn-hover-bg:var(--rh-accent-soft); --bs-btn-hover-border-color:var(--rh-accent); --bs-btn-active-color:var(--rh-accent-ink); --bs-btn-active-bg:var(--rh-accent); --bs-btn-active-border-color:var(--rh-accent); }
.rh .btn-outline-success { --bs-btn-color:var(--rh-ok); --bs-btn-border-color:rgba(var(--rh-ok-rgb),.55); --bs-btn-hover-color:var(--rh-ok); --bs-btn-hover-bg:var(--rh-ok-soft); --bs-btn-hover-border-color:var(--rh-ok); --bs-btn-active-color:var(--rh-ok); --bs-btn-active-bg:var(--rh-ok-soft); --bs-btn-active-border-color:var(--rh-ok); }
.rh .btn-outline-danger { --bs-btn-color:var(--rh-err); --bs-btn-border-color:rgba(var(--rh-err-rgb),.55); --bs-btn-hover-color:var(--rh-err); --bs-btn-hover-bg:var(--rh-err-soft); --bs-btn-hover-border-color:var(--rh-err); --bs-btn-active-color:var(--rh-err); --bs-btn-active-bg:var(--rh-err-soft); --bs-btn-active-border-color:var(--rh-err); }
.rh .btn-link { --bs-btn-color:var(--rh-accent-text); --bs-btn-hover-color:var(--rh-accent-hover); --bs-btn-active-color:var(--rh-accent-text); text-decoration:none; }
.rh .btn-sm { --bs-btn-padding-y:.34rem; --bs-btn-padding-x:.8rem; --bs-btn-font-size:.8125rem; }
.rh .btn-lg { --bs-btn-padding-y:.8rem; --bs-btn-padding-x:1.6rem; --bs-btn-font-size:1rem; }
.rh .btn:disabled, .rh .btn.disabled { opacity:.5; box-shadow:none; }
.rh .btn.is-copied { --bs-btn-bg:var(--rh-ok-soft); --bs-btn-color:var(--rh-ok); --bs-btn-border-color:transparent; }
.rh .submit-btn { min-height:50px; padding-inline:2rem; font-size:1rem; }
.rh .big-btn { min-height:46px; padding-inline:1.5rem; }
.rh .icon-btn { width:36px; height:36px; padding:0!important; display:inline-grid; place-items:center; border:0; border-radius:50%!important; background:transparent; color:var(--rh-ink-2); }
.rh .icon-btn:hover { background:var(--rh-surface-2); color:var(--rh-ink); }
.rh .icon-btn.is-copied { color:var(--rh-ok); background:var(--rh-ok-soft); }
.rh .btn-close { opacity:.7; }
.rh .btn-close:hover { opacity:1; }
.rh .btn-close:focus { box-shadow:var(--rh-glow); }

/* Forms */
.rh .form-control, .rh .form-select { min-height:44px; border-radius:12px; border:1px solid var(--rh-line-2); background-color:var(--rh-sunken); color:var(--rh-ink); font-size:15px; transition:border-color .15s, box-shadow .15s, background-color .15s; }
:root[data-theme="light"] .rh .form-control, :root[data-theme="light"] .rh .form-select { background-color:var(--rh-surface); }
@media (prefers-color-scheme: light) { :root:not([data-theme]) .rh .form-control, :root:not([data-theme]) .rh .form-select { background-color:var(--rh-surface); } }
.rh .form-control:focus, .rh .form-select:focus { border-color:var(--rh-accent); box-shadow:var(--rh-glow); background-color:var(--rh-surface); color:var(--rh-ink); }
.rh .form-control::placeholder { color:var(--rh-muted); opacity:1; }
.rh .form-control[readonly] { background-color:var(--rh-surface-2); }
.rh .form-control:disabled, .rh .form-select:disabled { opacity:.6; }
.rh .form-control-sm, .rh .form-select-sm { min-height:36px; border-radius:10px; font-size:14px; }
.rh .form-control-plaintext { color:var(--rh-ink); }
.rh textarea.form-control { min-height:0; line-height:1.55; }
.rh .form-control[type="file"] { padding:.5rem .75rem; line-height:1.9; }
.rh .form-control::file-selector-button { border-radius:99px; background:var(--rh-surface-2); color:var(--rh-ink); border:0; margin-right:.75rem; padding:.3rem .9rem; }
.rh .form-label, .rh .col-form-label { font-weight:600; font-size:13.5px; color:var(--rh-ink-2); }
.rh .form-text { color:var(--rh-muted); font-size:12.5px; }
.rh .form-floating > .form-control, .rh .form-floating > .form-select { min-height:58px; height:58px; }
.rh .form-floating > textarea.form-control { height:auto; }
.rh .form-floating > label { color:var(--rh-muted); }
.rh .form-floating > .form-control:focus ~ label, .rh .form-floating > .form-control:not(:placeholder-shown) ~ label, .rh .form-floating > .form-select ~ label { color:var(--rh-ink-2); }
.rh .form-floating > .form-control:focus ~ label::after, .rh .form-floating > .form-control:not(:placeholder-shown) ~ label::after { background-color:transparent; }
.rh .input-group > .form-control { border-radius:12px 0 0 12px; }
.rh .input-group > .btn { border-radius:0 12px 12px 0; }
.rh .form-check-input { background-color:var(--rh-sunken); border-color:var(--rh-line-2); }
.rh .form-check-input:checked { background-color:var(--rh-accent); border-color:var(--rh-accent); --bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231A1100' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.rh .form-check-input:focus { box-shadow:var(--rh-glow); border-color:var(--rh-accent); }
.rh .form-switch .form-check-input:checked { --bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%231A1100'/%3e%3c/svg%3e"); }

/* Legacy XVS switch: <label class="form-switcher"><input type="checkbox"> Text</label> */
.rh .form-switcher { display:inline-flex; align-items:center; gap:.65rem; margin:0; cursor:pointer; vertical-align:middle; font-size:14.5px; color:var(--rh-ink); }
.rh .form-switcher input[type="checkbox"], .rh .form-switcher input[type="radio"] { -webkit-appearance:none; appearance:none; flex:none; width:42px; min-width:42px; height:24px; margin:0; border:0; border-radius:99px; cursor:pointer;
  background:var(--rh-line-2) radial-gradient(circle, var(--rh-ink) 0 7.5px, transparent 8px) no-repeat; background-size:18px 18px; background-position:3px 50%; transition:background-color .2s, background-position .25s var(--rh-spring); }
.rh .form-switcher input:checked { background-color:var(--rh-accent); background-image:radial-gradient(circle, var(--rh-accent-ink) 0 7.5px, transparent 8px); background-position:calc(100% - 3px) 50%; }
.rh .form-switcher input:focus-visible { box-shadow:var(--rh-glow); outline:none; }
.rh .form-switcher input:disabled, .rh .form-switcher input:disabled ~ label { opacity:.5; cursor:not-allowed; }
.rh .form-switcher label { flex:1 1 auto; font-size:13px; color:var(--rh-muted); }
.rh .form-switcher .switcher-status::after { content:"Disabled"; display:block; min-width:56px; font-size:12.5px; color:var(--rh-muted); }
.rh .form-switcher input:checked ~ .switcher-status::after { content:"Enabled"; color:var(--rh-ok); }

/* Legacy XVS custom checkbox / radio */
.rh .check-radio { display:flex; align-items:center; gap:.55rem; }
.rh .check-radio label { flex:1 1 auto; }
.rh .check-radio input[type="checkbox"], .rh .check-radio input[type="radio"], .rh .rh-check { -webkit-appearance:none; appearance:none; flex:none; width:20px; min-width:20px; height:20px; margin:0; cursor:pointer; border:1.5px solid var(--rh-line-2); background:var(--rh-sunken) no-repeat center/12px; transition:background-color .15s, border-color .15s; }
.rh .check-radio input[type="checkbox"], .rh .rh-check { border-radius:6px; }
.rh .check-radio input[type="radio"] { border-radius:50%; }
.rh .check-radio input:checked, .rh .rh-check:checked { background-color:var(--rh-accent); border-color:var(--rh-accent); background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231A1100' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m5 10 3.5 3.5L15 7'/%3e%3c/svg%3e"); }
.rh .check-radio input[type="radio"]:checked { background-image:radial-gradient(circle, var(--rh-accent-ink) 0 4px, transparent 4.5px); background-size:auto; }
.rh .check-radio input:focus-visible, .rh .rh-check:focus-visible { box-shadow:var(--rh-glow); outline:none; }
.rh .check-radio input:disabled { opacity:.4; cursor:not-allowed; }

/* Cards, blocks, tabs */
.rh-card, .rh .block, .rh .card { background:var(--rh-surface); border:1px solid var(--rh-line); border-radius:var(--rh-r-lg); color:var(--rh-ink); }
.rh .block { padding:22px; margin-bottom:18px; text-align:left; }
.rh .card { --bs-card-bg:var(--rh-surface); --bs-card-border-color:var(--rh-line); --bs-card-cap-bg:var(--rh-surface-2); --bs-card-color:var(--rh-ink); }
.rh-card__h { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:16px 22px; border-bottom:1px solid var(--rh-line); }
.rh-card__h h2, .rh-card__h h3 { font-size:16.5px; margin:0; }
.rh-card__b { padding:22px; }
.rh-card__f { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; padding:16px 22px; border-top:1px solid var(--rh-line); }
.rh .block-tabs, .rh .rh-tabs { display:flex; flex-wrap:nowrap; gap:4px; padding:0 10px; overflow-x:auto; scrollbar-width:none; box-shadow:inset 0 -1px 0 var(--rh-line); }
.rh .block-tabs::-webkit-scrollbar, .rh .rh-tabs::-webkit-scrollbar { display:none; }
.rh .block-tabs .nav-link, .rh .rh-tabs .nav-link { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; height:50px; padding:0 14px; border:0; border-radius:0; background:none; color:var(--rh-ink-2); font-weight:600; font-size:14px; white-space:nowrap; box-shadow:inset 0 -2px 0 transparent; transition:color .15s, box-shadow .2s; }
.rh .block-tabs .nav-link:hover, .rh .rh-tabs .nav-link:hover { color:var(--rh-ink); }
.rh .block-tabs .nav-link.active, .rh .rh-tabs .nav-link.active { color:var(--rh-ink); background:none; box-shadow:inset 0 -2px 0 var(--rh-accent); }
.rh .nav { --bs-nav-link-color:var(--rh-ink-2); --bs-nav-link-hover-color:var(--rh-ink); --bs-nav-link-font-weight:600; }
.rh .nav-tabs { --bs-nav-tabs-border-color:var(--rh-line); --bs-nav-tabs-link-active-bg:var(--rh-surface); --bs-nav-tabs-link-active-color:var(--rh-ink); --bs-nav-tabs-link-active-border-color:var(--rh-line) var(--rh-line) var(--rh-surface); }
.rh .nav-pills, .rh .tab-buttons { --bs-nav-pills-link-active-bg:var(--rh-accent); --bs-nav-pills-link-active-color:var(--rh-accent-ink); --bs-nav-pills-border-radius:99px; }
.rh .tab-buttons { display:inline-flex; gap:2px; padding:4px; border-radius:99px; background:var(--rh-surface-2); max-width:100%; overflow-x:auto; }
.rh .tab-buttons .nav-link { border-radius:99px; padding:8px 18px; white-space:nowrap; }
.rh .tab-buttons .nav-link.active { background:var(--rh-accent); color:var(--rh-accent-ink); }

/* Tables */
.rh .table { --bs-table-bg:transparent; --bs-table-color:var(--rh-ink); --bs-table-border-color:var(--rh-line); --bs-table-striped-bg:rgba(var(--rh-ink-rgb),.03); --bs-table-striped-color:var(--rh-ink); --bs-table-hover-bg:var(--rh-surface-2); --bs-table-hover-color:var(--rh-ink); --bs-table-active-bg:var(--rh-accent-soft); font-size:14.5px; margin-bottom:0; }
.rh .table > :not(caption) > * > * { padding:.75rem .9rem; border-bottom-color:var(--rh-line); }
.rh .table thead th, .rh .table > thead > tr > th { font:500 11px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); white-space:nowrap; vertical-align:middle; }
.rh .table thead th a { color:var(--rh-muted); }
.rh .table thead th a:hover { color:var(--rh-ink); }
.rh .table tfoot td { font-weight:600; }
.rh .table-rounded { border:1px solid var(--rh-line); border-radius:16px; border-collapse:separate; border-spacing:0; overflow:hidden; background:var(--rh-surface); }
.rh .table-rounded > :last-child > tr:last-child > * { border-bottom:0; }
.rh .table-rounded thead th { background:var(--rh-surface); }
.rh .table-responsive { border-radius:16px; }
.rh .table-justify { text-align:center; }
.rh .table-justify td:first-child, .rh .table-justify th:first-child { text-align:left; }
.rh .table-justify td:last-child, .rh .table-justify th:last-child { text-align:right; }
.rh .table-fixed { table-layout:fixed; }
.rh .table tr.hi2 > td, .rh .table td.hi2 { background:var(--rh-accent-soft)!important; }
.rh .admin-settings input.form-control, .rh .admin-settings .form-select { max-width:520px; }
.rh .settings-table { width:100%; }
.rh .settings-table td { padding:14px 22px; border-bottom:1px solid var(--rh-line); background:transparent; vertical-align:middle; }
.rh .settings-table td.text-lg-end { width:280px; text-align:right; color:var(--rh-ink-2); }
.rh .settings-table td.border-start { border-left:0!important; }
.rh .settings-table tr:last-child td { border-bottom:0; }

/* Alerts, badges, progress, pagination */
.rh .alert { --bs-alert-border-radius:14px; border:0; border-left:3px solid var(--rh-line-2); background:var(--rh-surface-2); color:var(--rh-ink); padding:14px 16px; font-size:14.5px; }
.rh .alert a:where(:not(.btn)) { color:var(--rh-accent-text); font-weight:600; }
.rh .alert-success { border-left-color:var(--rh-ok); background:var(--rh-ok-soft); }
.rh .alert-danger { border-left-color:var(--rh-err); background:var(--rh-err-soft); }
.rh .alert-warning { border-left-color:var(--rh-warn); background:var(--rh-warn-soft); }
.rh .alert-info { border-left-color:var(--rh-signal); background:var(--rh-signal-soft); }
.rh .alert-primary { border-left-color:var(--rh-accent); background:var(--rh-accent-soft); }
.rh .alert-primary.bg-transparent { background:var(--rh-accent-soft)!important; }
.rh .alert-dismissible .btn-close { padding:1.1rem; }
.rh .badge { --bs-badge-font-weight:600; --bs-badge-border-radius:6px; font-family:var(--rh-f-mono); letter-spacing:.04em; }
.rh .progress { --bs-progress-bg:var(--rh-sunken); --bs-progress-bar-bg:var(--rh-accent); --bs-progress-bar-color:var(--rh-accent-ink); --bs-progress-border-radius:99px; --bs-progress-height:8px; }
.rh .progress-bar { font:600 11px var(--rh-f-mono); transition:width .4s linear; }
.rh .paging, .rh .pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:26px 0 8px; }
.rh .paging > a, .rh .paging > span, .rh .paging > b, .rh .paging > strong { min-width:40px; height:40px; padding:0 13px; display:inline-grid; place-items:center; border-radius:99px; border:1px solid var(--rh-line); background:var(--rh-surface); color:var(--rh-ink-2); font:500 13.5px var(--rh-f-mono); text-decoration:none!important; transition:background .15s, color .15s; }
.rh .paging > a:hover { background:var(--rh-surface-2); color:var(--rh-ink); }
.rh .paging > :not(a) { background:var(--rh-ink); border-color:var(--rh-ink); color:var(--rh-bg); }
.rh .paging-centered .paging { justify-content:center; }
.rh .page-link { --bs-pagination-bg:var(--rh-surface); --bs-pagination-color:var(--rh-ink-2); --bs-pagination-border-color:var(--rh-line); }

/* Modals — dialogs on desktop, bottom sheets on phones */
.rh .modal { --bs-modal-bg:var(--rh-surface); --bs-modal-color:var(--rh-ink); --bs-modal-border-color:var(--rh-line); --bs-modal-border-radius:22px; --bs-modal-inner-border-radius:21px; --bs-modal-header-border-color:var(--rh-line); --bs-modal-footer-border-color:var(--rh-line); --bs-modal-padding:1.4rem; --bs-modal-header-padding:1.1rem 1.4rem; }
.rh .modal-backdrop { --bs-backdrop-bg:#03050A; --bs-backdrop-opacity:.66; }
.rh .modal-content { box-shadow:var(--rh-shadow-lg); }
.rh .modal-title { font-weight:650; font-size:1.15rem; }
.rh .modal-footer { gap:8px; }
.rh .modal.fade .modal-dialog { transform:translateY(16px) scale(.98); transition:transform .3s var(--rh-ease); }
.rh .modal.show .modal-dialog { transform:none; }
@media (max-width: 575.98px) {
  .rh .modal-dialog, .rh .modal-dialog-centered { margin:0; min-height:100%; display:flex; align-items:flex-end; max-width:none!important; }
  .rh .modal-content { border-radius:24px 24px 0 0; border-bottom:0; padding-bottom:env(safe-area-inset-bottom); max-height:90vh; overflow:auto; }
  .rh .modal-content::before { content:""; display:block; width:40px; height:4px; margin:10px auto 0; border-radius:99px; background:var(--rh-line-2); }
  .rh .modal.fade .modal-dialog { transform:translateY(100%); }
  .rh .modal.show .modal-dialog { transform:none; }
}

/* =========================================================
   5. Legacy XVS classes still present in templates
   ========================================================= */
.rh .top-bar { padding:4px 0 16px; margin-bottom:18px; border-bottom:1px solid var(--rh-line); }
.rh .top-bar > .row { min-height:44px; }
.rh .top-bar .search-field { max-width:280px; border-radius:99px; }
.rh .codes-textarea { position:relative; }
.rh .codes-textarea .form-control { border:0!important; border-radius:0 0 16px 16px; background:var(--rh-sunken); font:13px/1.6 var(--rh-f-mono); color:var(--rh-ink-2); padding-right:56px; resize:vertical; }
.rh .codes-textarea .btn, .rh .codes-textarea .icon-btn { position:absolute; right:10px; bottom:10px; background:var(--rh-surface-2); }
.rh .copy-source { font-family:var(--rh-f-mono); }
.rh .download-item { display:flex; width:100%; align-items:center; text-align:left; padding:12px 14px; margin-bottom:8px; border-radius:14px!important; background:var(--rh-surface-2); border:1px solid transparent; color:var(--rh-ink); transition:background .15s, transform .15s, border-color .15s; }
.rh .download-item:hover { background:var(--rh-accent-soft); border-color:rgba(var(--rh-accent-rgb),.35); color:var(--rh-ink); transform:translateX(3px); }
.rh .download-item svg path[fill="#3586FF"] { fill:var(--rh-accent); }
/* premium download: locked qualities and the plan list they lead to */
.rh button.download-item { font:inherit; }
.rh .download-item.is-locked .rh-i { color:var(--rh-accent); }
.rh .rh-dl-plans { max-height:min(50vh,320px); overflow:auto; margin-bottom:4px; }
.rh .rh-dl-plans .download-item .rh-i { color:#FFB23F; }
.rh .dropbox { position:relative; border-radius:22px; border:0; padding:48px 20px; margin-bottom:16px; text-align:center; background:var(--rh-stage); color:var(--rh-stage-muted); outline:2px dashed #2A3350; outline-offset:-12px; transition:outline-color .2s, box-shadow .25s, transform .2s; }
.rh .dropbox:hover, .rh .dropbox.active, .rh .dropbox.is-over { outline-color:var(--rh-accent); box-shadow:inset 0 0 120px -20px rgba(255,178,63,.25); }
.rh .dropbox input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
.rh .dropbox .link-primary { color:var(--rh-accent)!important; font-weight:600; }
.rh .login { width:480px; max-width:100%; margin:40px auto 56px; padding:32px; border-radius:24px; background:var(--rh-surface); border:1px solid var(--rh-line); box-shadow:var(--rh-shadow); }
.rh .divider-text { position:relative; border-top:1px solid var(--rh-line); padding-top:1.5rem; margin-top:.5rem; }
.rh .divider-text span { position:absolute; left:50%; top:-10px; translate:-50% 0; padding:0 .6rem; background:var(--rh-surface); font-size:13px; line-height:20px; }
.rh .login-social { text-align:center; }
.rh .login-social img { width:40px!important; height:40px; padding:8px; border-radius:50%; background:var(--rh-surface-2); transition:transform .2s var(--rh-spring); }
.rh .login-social a:hover img { transform:translateY(-2px); }
.rh .videos { --bs-gutter-y:0; }
.rh .videoItem { margin-bottom:24px; }
.rh .videoItem-cover { position:relative; border-radius:12px; overflow:hidden; background:var(--rh-surface-2); }
.rh .videoItem-cover .thumb { position:relative; aspect-ratio:16/9; background-size:cover!important; background-position:center!important; transition:transform .4s var(--rh-ease); }
.rh .videoItem:hover .videoItem-cover .thumb { transform:scale(1.04); }
.rh .videoItem-time { position:absolute; right:8px; bottom:8px; padding:1px 6px; border-radius:5px; background:rgba(0,0,0,.78); color:#fff; font:600 11px/1.5 var(--rh-f-mono); }
.rh .videoItem-title { font-weight:600; font-size:14.5px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rh .videoItem-title a { color:var(--rh-ink)!important; }
.rh .videoItem-title a:hover { color:var(--rh-accent-text)!important; }
.rh .videoItem-details { display:flex; flex-wrap:wrap; gap:2px 10px; font:500 12px var(--rh-f-mono); color:var(--rh-muted); }
.rh .relatedVideo { margin-bottom:10px; }
.rh .relatedVideo-image { width:150px; border-radius:10px; overflow:hidden; aspect-ratio:16/9; background:var(--rh-surface-2); }
.rh .relatedVideo-image img { width:100%; height:100%; object-fit:cover; }
.rh .channel-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.rh .server-stats { text-align:center; font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); }
.rh .text-content { max-width:72ch; color:var(--rh-ink-2); font-size:15.5px; line-height:1.7; }
.rh .text-content h1, .rh .text-content h2, .rh .text-content h3, .rh .text-content h4 { color:var(--rh-ink); margin:1.8em 0 .6em; }
.rh .text-content p, .rh .text-content ul, .rh .text-content ol, .rh .text-content blockquote, .rh .text-content table { margin-bottom:1.2em; }
.rh .text-list { padding-left:1.2rem; }
.rh .text-list li { margin-bottom:.4rem; }
.rh .tags a:where(:not(.btn)) { display:inline-flex; font:500 12.5px var(--rh-f-mono); color:var(--rh-accent-text); }
.rh .enc_td > div { position:relative; min-width:180px; height:28px; border-radius:99px; background:var(--rh-sunken); overflow:hidden; }
.rh .enc_status { position:absolute; left:0; top:0; bottom:0; background:rgba(var(--rh-signal-rgb),.35); border-radius:99px; }
.rh .enc_value { position:relative; z-index:1; padding:0 12px; font:500 12px/28px var(--rh-f-mono); white-space:nowrap; }
.rh .ticket-status { font-family:var(--rh-f-mono); }
.rh #over_player_msg { position:absolute; left:0; right:0; top:0; z-index:5; padding:10px 14px; background:rgba(5,7,13,.82); color:#EEF1F8; font-size:14px; }
.rh #play_limit_box { position:absolute; inset:0; z-index:6; place-items:center; padding:24px; text-align:center; background:rgba(5,7,13,.86); color:#EEF1F8; font-size:15px; }
.rh #play_limit_box a { color:#FFB23F; font-weight:700; }
.rh img[src$="images2/edit.svg"], .rh img[src$="images2/delete.svg"] { width:18px; height:18px; opacity:.85; }
:root[data-theme="dark"] .rh img[src$="images2/edit.svg"], :root[data-theme="dark"] .rh img[src$="images2/delete.svg"] { filter:brightness(1.9) saturate(.7); }
.rh .fb-like { margin:12px 0; }
.rh-adminbar { background:var(--rh-stage); border-bottom:1px solid var(--rh-stage-line); overflow-x:auto; scrollbar-width:none; }
.rh-adminbar .admin-menu { flex-wrap:nowrap; max-width:1320px; margin:0 auto; padding:0 20px; }
.rh-adminbar .nav-link { color:#AEB5C9!important; font:500 12px var(--rh-f-mono); letter-spacing:.04em; padding:8px 12px; white-space:nowrap; }
.rh-adminbar .nav-link:hover { color:#FFB23F!important; }

/* =========================================================
   6. Reelhouse page components
   ========================================================= */
/* Page heads */
.rh-phead { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; padding-block:34px 24px; }
.rh-phead h1 { font-size:clamp(40px,5.6vw,68px); margin:10px 0 0; }
.rh-phead p { color:var(--rh-ink-2); max-width:62ch; margin:12px 0 0; }
.rh-panel .rh-phead { padding-top:18px; }
.rh-chip { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 12px; border-radius:99px; border:1px solid var(--rh-line-2); font:500 12.5px/1 var(--rh-f-mono); color:var(--rh-ink-2); white-space:nowrap; background:transparent; }
.rh-chip .rh-i { width:14px; height:14px; }
.rh-tag { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:6px; font:600 11px/1.2 var(--rh-f-mono); letter-spacing:.06em; text-transform:uppercase; background:var(--rh-surface-2); color:var(--rh-ink-2); white-space:nowrap; }
.rh-tag--ok { background:var(--rh-ok-soft); color:var(--rh-ok); } .rh-tag--warn { background:var(--rh-warn-soft); color:var(--rh-warn); }
.rh-tag--err { background:var(--rh-err-soft); color:var(--rh-err); } .rh-tag--sig { background:var(--rh-signal-soft); color:var(--rh-signal); }
.rh-tag--amb { background:var(--rh-accent-soft); color:var(--rh-accent-text); }

/* Landing */
.rh-hero { position:relative; overflow:hidden; isolation:isolate; background:var(--rh-stage); color:var(--rh-stage-ink); margin-top:-8px; }
.rh-strips { position:absolute; inset:-40px 0; z-index:-2; display:grid; align-content:center; gap:14px; transform:rotate(-4deg) scale(1.08); opacity:.5; pointer-events:none; }
.rh-strip { display:flex; gap:14px; width:max-content; padding-block:10px; background:repeating-linear-gradient(90deg,#1b2130 0 10px,transparent 10px 20px) top/100% 5px no-repeat, repeating-linear-gradient(90deg,#1b2130 0 10px,transparent 10px 20px) bottom/100% 5px no-repeat; animation:rh-roll 90s linear infinite; }
.rh-strip:nth-child(2) { animation-duration:120s; animation-direction:reverse; } .rh-strip:nth-child(3) { animation-duration:105s; }
@keyframes rh-roll { to { transform:translateX(-50%); } }
.rh-frame { flex:none; width:230px; aspect-ratio:16/9; border-radius:6px; background:var(--f,#1A2033); filter:saturate(.8); }
.rh-frame[data-f="1"] { --f:radial-gradient(circle at 72% 34%,#ffe8a8 0 6%,transparent 7%),linear-gradient(90deg,transparent 14%,#f2c230 14% 44%,transparent 44%) 0 88%/100% 20% no-repeat,linear-gradient(#2a1830,#2a1830) bottom/100% 12% no-repeat,linear-gradient(180deg,#f7c46c,#ee8a52 40%,#b8505a 66%,#3b2140); }
.rh-frame[data-f="2"] { --f:linear-gradient(#eef1f6,#eef1f6) 50% 62%/58% 40% no-repeat,linear-gradient(#5b8def,#5b8def) 50% 34%/58% 10% no-repeat,linear-gradient(160deg,#1e2433,#3a465e); }
.rh-frame[data-f="3"] { --f:linear-gradient(168deg,transparent 56%,#2f5a3c 56.4%),linear-gradient(196deg,transparent 47%,#4e8057 47.4%),linear-gradient(180deg,#8fbfdf,#dcebf1 52%); }
.rh-frame[data-f="4"] { --f:radial-gradient(circle at 30% 36%,#fff4ec 0 11%,transparent 38%),linear-gradient(135deg,#f1d4cc,#c98d9b 55%,#6c4a66); }
.rh-frame[data-f="5"] { --f:radial-gradient(circle at 50% 22%,#ffb86b66 0 18%,transparent 44%),radial-gradient(circle at 34% 74%,#171a28 0 15%,transparent 16%),radial-gradient(circle at 66% 74%,#171a28 0 15%,transparent 16%),linear-gradient(180deg,#434a6b,#1d2031); }
.rh-frame[data-f="6"] { --f:linear-gradient(90deg,transparent 61%,#fff6 61% 63%,transparent 63%),linear-gradient(160deg,#f5e6c8,#d9a066 55%,#8a4b1f); }
.rh-frame[data-f="7"] { --f:repeating-linear-gradient(0deg,#ffffff12 0 1px,transparent 1px 14px),repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 14px),linear-gradient(135deg,#0f172a,#26334a); }
.rh-frame[data-f="8"] { --f:radial-gradient(circle at 70% 62%,#f59e0b 0 12%,transparent 42%),linear-gradient(135deg,#0d5c63,#12808a 45%,#e07a3f); }
.rh-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse 70% 90% at 22% 55%, rgba(5,7,13,.96) 30%, rgba(5,7,13,.72) 60%, rgba(5,7,13,.35)), linear-gradient(180deg, transparent 70%, var(--rh-stage)); }
.rh-hero__in { padding-block:104px 96px; }
.rh-rec { display:inline-flex; align-items:center; gap:10px; font:500 12.5px var(--rh-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--rh-stage-muted); }
.rh-rec__dot { width:8px; height:8px; border-radius:50%; background:#FF5C6C; animation:rh-blink 1.2s steps(2,jump-none) infinite; }
.rh-hero h1 { color:var(--rh-stage-ink)!important; font-size:clamp(56px,10.5vw,148px); margin:24px 0 0; max-width:11ch; }
.rh-hero h1 .rh-outline { display:block; }
.rh-hero__lead { font-size:19px; line-height:1.55; color:#C3C9DA; max-width:50ch; margin:26px 0 0; }
.rh-hero__ctas { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.rh-hero__chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.rh-hero .rh-chip, .rh-stagebox .rh-chip { border-color:#2B3350; color:#AEB5C9; }
.rh-hero .btn-outline-light, .rh-stagebox .btn-outline-light { --bs-btn-color:#EEF1F8; --bs-btn-border-color:#3A4460; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#161B2B; --bs-btn-hover-border-color:#4A5575; --bs-btn-active-bg:#161B2B; --bs-btn-active-color:#fff; }
.rh-specs { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--rh-line); }
.rh-spec { padding:30px 26px; border-right:1px solid var(--rh-line); }
.rh-spec:last-child { border-right:0; }
.rh-spec .rh-i { width:28px; height:28px; color:var(--rh-accent-text); }
.rh-spec b { display:block; margin-top:14px; font:700 34px/.95 var(--rh-f-display); text-transform:uppercase; color:var(--rh-ink); }
.rh-spec span { display:block; margin-top:10px; color:var(--rh-ink-2); font-size:14.5px; }
.rh-sec { padding-block:96px; }
.rh-sec + .rh-sec { padding-top:0; }
.rh-sec-h { display:grid; gap:14px; max-width:720px; margin-bottom:44px; }
.rh-sec-h h2 { font-size:clamp(38px,5.6vw,72px); margin:0; }
.rh-sec-h p { color:var(--rh-ink-2); font-size:17px; max-width:56ch; margin:0; }
.rh-guide { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; border-top:1px solid var(--rh-line); }
.rh-guide__row { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:26px 0; border-bottom:1px solid var(--rh-line); }
.rh-guide__ic { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:var(--rh-accent-soft); color:var(--rh-accent-text); transition:transform .25s var(--rh-ease), background .25s, color .25s; }
.rh-guide__ic .rh-i { width:22px; height:22px; }
.rh-guide__row:hover .rh-guide__ic { transform:translateY(-3px); background:var(--rh-accent); color:var(--rh-accent-ink); }
.rh-guide h3 { font-size:18px; margin:0; }
.rh-guide p { color:var(--rh-ink-2); margin:6px 0 0; font-size:15px; }
.rh-showcase { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; align-items:center; }
.rh-callouts { display:grid; gap:18px; }
.rh-callout { display:grid; grid-template-columns:auto 1fr; gap:14px; }
.rh-callout > .rh-i { width:38px; height:38px; padding:8px; border-radius:10px; border:1px solid var(--rh-line-2); color:var(--rh-accent-text); box-sizing:border-box; }
.rh-callout b { display:block; font-weight:650; }
.rh-callout span { color:var(--rh-ink-2); font-size:14.5px; }
.rh-demo { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000; box-shadow:0 30px 80px -30px rgba(0,0,0,.9); }
.rh-demo .rh-frame { position:absolute; inset:0; width:auto; border-radius:0; filter:none; }
.rh-demo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.35), transparent 22%, transparent 55%, rgba(0,0,0,.8)); }
.rh-demo__play { position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:2; width:84px; height:84px; border-radius:50%; display:grid; place-items:center; background:#FFB23F; color:#1A1100; box-shadow:0 0 0 10px rgba(255,178,63,.18), 0 20px 40px rgba(0,0,0,.5); }
.rh-demo__play .rh-i { width:32px; height:32px; margin-left:5px; }
.rh-demo__bar { position:absolute; left:14px; right:14px; bottom:14px; z-index:2; display:grid; gap:8px; color:#fff; font:500 12.5px var(--rh-f-mono); }
.rh-demo__scrub { position:relative; height:4px; border-radius:99px; background:rgba(255,255,255,.22); }
.rh-demo__scrub span { position:absolute; inset:0 auto 0 0; width:34%; border-radius:inherit; background:#FFB23F; }
.rh-bars { display:grid; grid-template-columns:repeat(14,1fr); gap:5px; align-items:end; height:120px; margin-top:22px; border-bottom:1px solid var(--rh-line-2); background:linear-gradient(var(--rh-line) 1px, transparent 1px) 0 0/100% 40px; }
.rh-bars span { border-radius:4px 4px 0 0; background:rgba(var(--rh-accent-rgb),.45); }
.rh-bars span:last-child { background:var(--rh-accent); }
.rh-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.rh-cta { display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end; padding-block:72px; border-top:1px solid var(--rh-line); }
.rh-cta h2 { font-size:clamp(40px,6vw,80px); margin:0; }
.rh-now:not(:has(.videos, .rh-vgrid)) { display:none; }
.rh-now .videos { margin-bottom:8px; }
.rh-now h1, .rh-now h2 { text-align:left!important; font-family:var(--rh-f-display)!important; font-weight:700; text-transform:uppercase; font-size:clamp(30px,3.6vw,44px)!important; line-height:.95; }
.rh-explore { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; }
.rh-explore .nav-link, .rh-explore a:where(:not(.btn)) { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-radius:14px; background:var(--rh-surface); border:1px solid var(--rh-line); color:var(--rh-ink)!important; font-weight:600; font-size:14.5px; transition:border-color .15s, transform .15s; }
.rh-explore .nav-link:hover, .rh-explore a:where(:not(.btn)):hover { border-color:rgba(var(--rh-accent-rgb),.55); transform:translateY(-2px); }
.rh-explore-sec:not(:has(.nav-item, .tag)) { display:none; }
.rh-listblock__title { font-size:clamp(30px,3.6vw,44px); margin:0; }
.rh-browse__title { font-size:clamp(36px,4.5vw,56px); margin:0; }
.rh-drop:focus-within { outline-color:#FFB23F; }
.rh-tagcloud { display:flex; flex-wrap:wrap; gap:8px; }
.rh .tags .tag, .rh .rh-tagcloud .tag { --bs-btn-padding-y:.3rem; --bs-btn-padding-x:.8rem; --bs-btn-font-size:.8rem; border-radius:99px; background:var(--rh-surface-2); color:var(--rh-ink-2); font-family:var(--rh-f-mono); }
.rh .tags .tag:hover, .rh .rh-tagcloud .tag:hover { background:var(--rh-accent-soft); color:var(--rh-accent-text); }
.rh-tagcloud a { padding:6px 12px; border-radius:99px; background:var(--rh-surface-2); color:var(--rh-ink-2)!important; font:500 12.5px var(--rh-f-mono); }
.rh-tagcloud a:hover { background:var(--rh-accent-soft); color:var(--rh-accent-text)!important; }

/* Video cards (listings) */
.rh-vgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:26px 18px; }
.rh-vcard { position:relative; display:grid; gap:10px; min-width:0; align-content:start; }
.rh-vcard__thumb { position:relative; display:block; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:var(--rh-surface-2); }
.rh-vcard__thumb .thumb { position:absolute; inset:0; background-size:cover!important; background-position:center!important; transition:transform .4s var(--rh-ease); }
.rh-vcard:hover .rh-vcard__thumb .thumb { transform:scale(1.05); }
.rh-vcard__thumb::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.55)); opacity:0; transition:opacity .2s; pointer-events:none; }
.rh-vcard:hover .rh-vcard__thumb::after { opacity:1; }
.rh-dur, .rh .rh-vcard .videoItem-time { position:absolute; right:8px; bottom:8px; z-index:4; padding:1px 6px; border-radius:5px; background:rgba(0,0,0,.78); color:#fff; font:600 11px/1.5 var(--rh-f-mono); }
.rh-vcard__play { position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:3; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:rgba(255,178,63,.95); color:#1A1100; opacity:0; scale:.85; transition:opacity .2s, scale .25s var(--rh-spring); pointer-events:none; }
.rh-vcard__play .rh-i { width:20px; height:20px; margin-left:3px; }
.rh-vcard:hover .rh-vcard__play { opacity:1; scale:1; }
.rh-vcard h3 { margin:0; font-size:15px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rh-vcard h3 a { color:var(--rh-ink)!important; }
.rh-vcard h3 a:hover { color:var(--rh-accent-text)!important; }
.rh-vcard__meta { display:flex; flex-wrap:wrap; gap:2px 10px; font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); }
.rh-vcard__meta a { color:var(--rh-muted); } .rh-vcard__meta a:hover { color:var(--rh-accent-text); }
.rh-vcard__ch { font-size:13px; font-weight:600; color:var(--rh-ink-2); }

/* Browse (search, categories) */
.rh-browse { display:grid; grid-template-columns:240px minmax(0,1fr); gap:36px; align-items:start; }
.rh-browse__side { position:sticky; top:calc(var(--rh-header-h) + 20px); display:grid; gap:26px; }
.rh-browse__side h2 { font:500 11.5px var(--rh-f-mono)!important; letter-spacing:.14em!important; text-transform:uppercase; color:var(--rh-muted)!important; margin:0 0 12px; }
.rh-sidenav { display:grid; gap:2px; }
.rh-sidenav .nav-link, .rh-sidenav a:where(:not(.btn)) { padding:8px 12px; border-radius:10px; color:var(--rh-ink-2)!important; font-weight:500; font-size:14.5px; }
.rh-sidenav .nav-link:hover, .rh-sidenav a:where(:not(.btn)):hover, .rh-sidenav .active { background:var(--rh-surface-2); color:var(--rh-ink)!important; }
.rh-filterbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:22px; }
.rh-filterbar .rh-search { margin:0; max-width:520px; }

/* Upload */
.rh-upmenu { display:flex; gap:2px; padding:4px; border-radius:99px; background:var(--rh-surface-2); width:max-content; max-width:100%; overflow-x:auto; scrollbar-width:none; }
.rh-upmenu::-webkit-scrollbar { display:none; }
.rh-upmenu .nav-link { display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 16px; border-radius:99px; color:var(--rh-ink-2); font:600 13.5px var(--rh-f-body); white-space:nowrap; text-decoration:none!important; transition:background .15s, color .15s; }
.rh-upmenu .nav-link .rh-i { width:16px; height:16px; }
.rh-upmenu .nav-link:hover { color:var(--rh-ink); }
.rh-upmenu .nav-link.active { background:var(--rh-bg); color:var(--rh-ink); box-shadow:0 1px 2px rgba(0,0,0,.2); }
:root[data-theme="light"] .rh-upmenu .nav-link.active { background:var(--rh-surface); }
.rh-upl { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; }
.rh-upl__main { display:grid; gap:16px; min-width:0; }
.rh-drop { position:relative; display:grid; justify-items:center; gap:14px; overflow:hidden; padding:60px 28px; border-radius:22px; text-align:center; background:var(--rh-stage); color:var(--rh-stage-ink); outline:2px dashed #2A3350; outline-offset:-12px; transition:outline-color .2s, box-shadow .25s, transform .2s var(--rh-ease); }
.rh-drop::before, .rh-drop::after { content:""; position:absolute; top:0; bottom:0; width:26px; background:radial-gradient(circle, #1A2033 3px, transparent 3.5px) center 6px/26px 18px repeat-y; pointer-events:none; }
.rh-drop::before { left:0; } .rh-drop::after { right:0; }
.rh-drop:hover, .rh-drop.is-over, .rh-drop.active { outline-color:#FFB23F; box-shadow:inset 0 0 120px -20px rgba(255,178,63,.25); }
.rh-drop.is-over { transform:scale(1.01); }
.rh-drop input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
.rh-drop__ic { width:72px; height:72px; border-radius:50%; display:grid; place-items:center; background:rgba(255,178,63,.12); color:#FFB23F; }
.rh-drop__ic .rh-i { width:34px; height:34px; }
.rh-drop:hover .rh-drop__ic .rh-i { animation:rh-bob 1s ease-in-out infinite; }
@keyframes rh-bob { 50% { transform:translateY(-4px); } }
.rh-drop__big { font:700 clamp(40px,6.5vw,84px)/.9 var(--rh-f-display); text-transform:uppercase; color:var(--rh-stage-ink); }
.rh-drop__big em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px #FFB23F; }
.rh-drop p { color:#AEB5C9; max-width:52ch; margin:0; }
.rh-drop .btn { pointer-events:none; position:relative; z-index:1; }
.rh-drop .rh-chip { border-color:#2B3350; color:#AEB5C9; }
.rh-drop__limits { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.rh-drop + br, #upload_div > br { display:none; }
#div_file { color:var(--rh-ink-2); }
.rh-opts { border:1px solid var(--rh-line); border-radius:18px; background:var(--rh-surface); }
.rh-opts > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px; padding:16px 20px; font-weight:650; }
.rh-opts > summary::-webkit-details-marker { display:none; }
.rh-opts > summary .rh-i { width:18px; height:18px; color:var(--rh-muted); }
.rh-opts > summary .rh-chev { margin-left:auto; transition:transform .2s var(--rh-ease); }
.rh-opts[open] > summary .rh-chev { transform:rotate(180deg); }
.rh-opts__body { display:grid; gap:16px; padding:4px 20px 20px; }
.rh-opts__body .mb-3 { margin-bottom:0!important; }
.rh-upl-note { display:flex; gap:10px; align-items:flex-start; padding:14px 16px; border-radius:14px; background:var(--rh-surface-2); color:var(--rh-ink-2); font-size:13.5px; }
.rh-upl-note .rh-i { width:18px; height:18px; color:var(--rh-accent-text); margin-top:1px; }
.rh-batch { padding:22px; display:grid; gap:18px; }
.rh-batch__top { display:flex; align-items:center; gap:14px; flex-wrap:wrap; min-width:0; }
.rh-batch__ic { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--rh-accent-soft); color:var(--rh-accent-text); }
.rh-batch__ic .rh-i { width:22px; height:22px; }
.rh-batch__name { min-width:0; flex:1; }
.rh-batch__name b { display:block; font-size:16.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rh-batch__pct { margin-left:auto; font:700 56px/.85 var(--rh-f-display); font-variant-numeric:tabular-nums; color:var(--rh-ink); }
.rh-batch .progress { --bs-progress-height:10px; }
.rh-batch .progress-bar { background:linear-gradient(90deg, var(--rh-accent), var(--rh-accent-hover)); color:transparent; }
.rh-batch__stats { display:flex; gap:10px 28px; flex-wrap:wrap; align-items:center; font:500 13px var(--rh-f-mono); color:var(--rh-muted); }
.rh-batch__stats b { color:var(--rh-ink); font-weight:500; }
.rh-res { overflow:hidden; margin-bottom:16px; }
.rh-res__top { display:flex; align-items:center; gap:14px; padding:16px 18px; min-width:0; }
.rh-res__thumb { width:112px; aspect-ratio:16/9; border-radius:10px; overflow:hidden; flex:none; background:var(--rh-surface-2); display:grid; place-items:center; color:var(--rh-muted); }
.rh-res__thumb img { width:100%; height:100%; object-fit:cover; }
.rh-res__title { min-width:0; flex:1; }
.rh-res__title a { display:block; font-weight:650; color:var(--rh-ink)!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rh-res .tab-content { padding:0; }

/* Tickets (download pages) */
.rh-tk-wrap { width:100%; max-width:960px; margin-inline:auto; padding:40px 28px 72px; display:grid; gap:20px; }
.rh-ticket { position:relative; display:grid; grid-template-columns:300px minmax(0,1fr); background:var(--rh-surface); border:1px solid var(--rh-line); border-radius:22px; box-shadow:var(--rh-shadow); }
.rh-stub { position:relative; display:grid; gap:14px; align-content:start; padding:22px; border-radius:21px 0 0 21px; background:var(--rh-stage); color:var(--rh-stage-ink); }
.rh-stub__thumb { position:relative; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:var(--rh-stage-2); display:grid; place-items:center; color:#3A4460; }
.rh-stub__thumb img { width:100%; height:100%; object-fit:cover; }
.rh-stub__thumb .rh-i { width:40px; height:40px; }
.rh-stub__admit { font:700 30px/.9 var(--rh-f-display); text-transform:uppercase; letter-spacing:.02em; }
.rh-stub__admit span { display:block; color:#FFB23F; }
.rh-stub dl { display:grid; gap:8px; margin:0; font:500 12px var(--rh-f-mono); color:var(--rh-stage-muted); }
.rh-stub dl > div { display:flex; justify-content:space-between; gap:12px; }
.rh-stub dd { margin:0; color:var(--rh-stage-ink); text-align:right; overflow-wrap:anywhere; }
.rh-tk-body { position:relative; display:grid; gap:20px; align-content:start; padding:28px 30px; min-width:0; }
.rh-tk-body::before { content:""; position:absolute; left:0; top:22px; bottom:22px; border-left:2px dashed var(--rh-line-2); }
.rh-notch { position:absolute; left:300px; z-index:1; width:28px; height:28px; border-radius:50%; background:var(--rh-bg); border:1px solid var(--rh-line); translate:-50% 0; }
.rh-notch--t { top:-15px; clip-path:inset(50% 0 0 0); } .rh-notch--b { bottom:-15px; clip-path:inset(0 0 50% 0); }
.rh-tk-title { margin:8px 0 0; font-size:26px; line-height:1.2; word-break:break-word; }
.rh-tk-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.rh .rh-btn-hero { width:100%; height:auto; min-height:0; padding:18px 24px; border-radius:18px; justify-content:flex-start; gap:16px; text-align:left; white-space:normal; }
.rh .rh-btn-hero > .rh-i { width:28px; height:28px; }
.rh-btn-hero .rh-t { display:grid; gap:4px; min-width:0; }
.rh-btn-hero .rh-t b { font:700 26px/.95 var(--rh-f-display); text-transform:uppercase; letter-spacing:.02em; }
.rh-btn-hero .rh-t small { font:500 12.5px var(--rh-f-mono); opacity:.8; text-transform:none; overflow-wrap:anywhere; }
.rh .rh-btn-hero .rh-go { margin-left:auto; width:22px; height:22px; transition:transform .2s var(--rh-ease); }
.rh-btn-hero:hover .rh-go { transform:translateX(3px); }
.rh-leader { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; padding:20px; border-radius:18px; background:var(--rh-stage); color:var(--rh-stage-ink); }
.rh-dial { position:relative; flex:none; width:140px; height:140px; border-radius:50%; overflow:hidden; background:conic-gradient(rgba(255,178,63,.3) calc(var(--rh-p) * 360deg), transparent 0), #0E1220; transition:--rh-p .9s linear; }
.rh-dial::before { content:""; position:absolute; inset:10px; border-radius:50%; border:2px solid #3A4460; box-shadow:inset 0 0 0 12px #0E1220, inset 0 0 0 14px #2B3350; }
.rh-dial::after { content:""; position:absolute; inset:0; background:linear-gradient(#3A4460,#3A4460) center/1.5px 100% no-repeat, linear-gradient(#3A4460,#3A4460) center/100% 1.5px no-repeat; }
.rh-dial b, .rh-dial #cxc { position:absolute; inset:0; z-index:1; display:grid; place-items:center; font:700 64px/1 var(--rh-f-display); font-variant-numeric:tabular-nums; color:#EEF1F8; }
.rh-leader.is-ready .rh-dial b, .rh-leader.is-ready #cxc { color:#FFB23F; }
.rh-leader h2, .rh-leader h3 { color:#EEF1F8!important; font:700 30px/.95 var(--rh-f-display)!important; text-transform:uppercase; margin:0; }
.rh-leader p { color:#AEB5C9; margin:6px 0 0; font-size:14.5px; }
.rh-stamp { position:absolute; right:26px; top:22px; padding:6px 12px; border:2px solid var(--rh-ok); border-radius:8px; color:var(--rh-ok); font:700 22px/1 var(--rh-f-display); letter-spacing:.08em; text-transform:uppercase; rotate:8deg; opacity:.9; pointer-events:none; }
.rh-valid { display:grid; gap:10px; padding:16px 18px; border-radius:14px; background:var(--rh-surface-2); }
.rh-spec3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0; padding-top:18px; border-top:1px dashed var(--rh-line-2); }
.rh-spec3 dt { font:500 11px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-spec3 dd { margin:5px 0 0; font:500 14px var(--rh-f-mono); overflow-wrap:anywhere; }
.rh-linkline { display:flex; align-items:center; gap:6px; min-width:0; padding:5px 5px 5px 14px; border-radius:99px; background:var(--rh-sunken); border:1px solid var(--rh-line); }
:root[data-theme="light"] .rh-linkline { background:var(--rh-surface-2); }
.rh-linkline code, .rh-linkline input { flex:1; min-width:0; padding:0; border:0; outline:0; background:none; font:12.5px var(--rh-f-mono); color:var(--rh-ink-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Player + watch */
.rh-stage-band { background:var(--rh-stage); padding-block:24px; }
.rh-player { position:relative; width:100%; aspect-ratio:16/9; max-height:calc(100vh - var(--rh-header-h) - 60px); margin-inline:auto; border-radius:14px; overflow:hidden; background:#000; color:#fff; box-shadow:0 30px 80px -30px rgba(0,0,0,.9); }
.rh-player > img { width:100%; height:100%; object-fit:cover; }
.rh-player iframe, .rh-player video { max-width:100%; }
.rh-watch { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:36px; padding-block:26px 40px; }
.rh-w-title { margin:0; font-size:clamp(22px,2.6vw,32px); line-height:1.15; letter-spacing:-.02em; word-break:break-word; }
.rh-w-title a { vertical-align:middle; }
.rh-w-sub { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:10px; color:var(--rh-muted); font:500 13px var(--rh-f-mono); }
.rh-w-sub a:where(:not(.btn)) { color:var(--rh-ink-2); }
.rh-w-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; }
.rh-chan { display:flex; align-items:center; gap:12px; min-width:0; color:var(--rh-ink)!important; text-decoration:none!important; }
.rh-chan img, .rh-chan .rh-av { width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; }
.rh-chan b { display:block; }
.rh-chan small { color:var(--rh-muted); font-size:13px; }
.rh-pills { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.rh-pills .btn { min-height:42px; }
.rh-vote { display:inline-flex; border-radius:99px; background:var(--rh-surface-2); }
.rh .rh-vote .btn { --bs-btn-bg:transparent; --bs-btn-border-color:transparent; --bs-btn-color:var(--rh-ink); --bs-btn-hover-bg:rgba(var(--rh-ink-rgb),.06); --bs-btn-hover-border-color:transparent; --bs-btn-hover-color:var(--rh-ink); --bs-btn-active-bg:transparent; --bs-btn-active-border-color:transparent; margin:0!important; min-height:42px; }
.rh-vote .btn + .btn { position:relative; }
.rh-vote .btn + .btn::before { content:""; position:absolute; left:0; top:11px; bottom:11px; width:1px; background:var(--rh-line-2); }
.rh-vote .rh-i { width:18px; height:18px; transition:transform .25s var(--rh-spring); }
.rh-vote .btn:active .rh-i { transform:scale(1.25) rotate(-10deg); }
.rh-about { margin-top:20px; padding:18px 20px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); display:grid; gap:12px; color:var(--rh-ink-2); }
.rh-about:not(:has(*)) { display:none; }
.rh-about p { margin:0; }
.rh-upnext-h { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.rh-upnext-h h2 { font:700 28px/.9 var(--rh-f-display)!important; text-transform:uppercase; letter-spacing:.01em!important; margin:0; }
.rh-nx { display:grid; grid-template-columns:168px minmax(0,1fr); gap:12px; padding:6px; margin-inline:-6px; border-radius:14px; color:var(--rh-ink)!important; text-decoration:none!important; transition:background .15s; }
.rh-nx:hover { background:var(--rh-surface); }
.rh-nx__thumb { position:relative; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:var(--rh-surface-2); }
.rh-nx__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s var(--rh-ease); }
.rh-nx:hover .rh-nx__thumb img { transform:scale(1.05); }
.rh-nx b { font-size:14px; line-height:1.35; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rh-nx small { display:block; margin-top:5px; font:500 12px var(--rh-f-mono); color:var(--rh-muted); }
.rh-sharebox .tab-content { padding:0; }
.rh-embed-size { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px 16px; border-bottom:1px solid var(--rh-line); font-size:13px; color:var(--rh-muted); }
.rh-embed-size .form-control { width:72px; min-height:32px; text-align:center; }

/* Account */
.rh-cover { position:relative; height:150px; border-radius:22px; overflow:hidden; background:var(--rh-stage); }
.rh-cover .rh-frame { position:absolute; inset:0; width:auto; border-radius:0; opacity:.85; }
.rh-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, rgba(5,7,13,.75)); }
.rh-cover__perf { position:absolute; left:0; right:0; z-index:1; height:10px; background:radial-gradient(circle, rgba(5,7,13,.8) 3px, transparent 3.5px) 0 center/18px 10px repeat-x; }
.rh-cover__perf--t { top:8px; } .rh-cover__perf--b { bottom:8px; }
.rh-who { position:relative; z-index:2; display:flex; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-top:-52px; padding-inline:24px; }
.rh-who__av { width:104px; height:104px; border-radius:50%; flex:none; overflow:hidden; display:grid; place-items:center; background:conic-gradient(from 200deg, #FFB23F, #FF6B4A, #4CC9F0, #FFB23F); color:#0A0D16; box-shadow:0 0 0 6px var(--rh-bg); }
.rh-who__av img { width:100%; height:100%; object-fit:cover; }
.rh-who__av .rh-i { width:42px; height:42px; stroke-width:1.8; }
.rh-who h1 { margin:0; font-size:clamp(36px,4.6vw,54px); }
.rh-who__meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-top:6px; color:var(--rh-muted); font-size:14px; }
.rh-who__right { margin-left:auto; display:flex; flex-wrap:wrap; gap:8px; padding-bottom:6px; }
.rh-kpis { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--rh-line); border-radius:18px; background:var(--rh-surface); overflow:hidden; }
.rh-kpi { display:grid; gap:8px; align-content:start; min-width:0; padding:22px; border-right:1px solid var(--rh-line); }
.rh-kpi:last-child { border-right:0; }
.rh-kpi__lbl { font:500 11.5px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-kpi__val { font:700 44px/.9 var(--rh-f-display); font-variant-numeric:tabular-nums; color:var(--rh-ink); overflow-wrap:anywhere; }
.rh-kpi__val small { margin-left:4px; font:500 15px var(--rh-f-body); color:var(--rh-muted); }
.rh-kpi a, .rh-kpi__sub { display:inline-flex; align-items:center; gap:4px; font-size:13.5px; }
.rh-kpi a .rh-i { width:14px; height:14px; }
.rh-meter { height:6px; border-radius:99px; background:var(--rh-sunken); overflow:hidden; }
.rh-meter > span, .rh-meter > .progress-bar { display:block; height:100%; border-radius:inherit; background:var(--rh-accent); }
.rh-links2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rh-form-rows { display:grid; }
.rh-frow { display:grid; grid-template-columns:240px minmax(0,1fr); gap:8px 28px; padding:18px 0; border-bottom:1px solid var(--rh-line); }
.rh-frow:last-child { border-bottom:0; }
.rh-frow__label { padding-top:10px; font-weight:600; font-size:14px; color:var(--rh-ink-2); }
.rh-frow__ctl { display:grid; gap:8px; max-width:600px; min-width:0; }
.rh-frow__ctl.rh-row { display:flex; }
.rh-toggle-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border-radius:14px; background:var(--rh-surface-2); }
.rh-toggle-row b { display:block; font-weight:600; }
.rh-toggle-row small { color:var(--rh-muted); font-size:13px; }

/* Auth + generic */
.rh-auth { width:100%; max-width:480px; margin:48px auto 64px; padding-inline:16px; }
.rh-auth__card { padding:32px; border-radius:24px; background:var(--rh-surface); border:1px solid var(--rh-line); box-shadow:var(--rh-shadow); }
.rh-auth__head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:24px; }
.rh-auth h1 { margin:0; font-size:44px; }
.rh-auth .form-floating { margin-bottom:16px; }
.rh-auth .btn-primary.w-100 { min-height:52px; }
.rh-pw { position:relative; }
.rh-pw .rh-ibtn { position:absolute; right:8px; top:50%; translate:0 -50%; z-index:5; width:36px; height:36px; }
.rh-empty { display:grid; justify-items:center; gap:14px; padding:72px 24px; border-radius:22px; text-align:center; background:var(--rh-stage); color:var(--rh-stage-ink); }
.rh-empty__leader { position:relative; width:112px; height:112px; border-radius:50%; border:2px solid #2B3350; display:grid; place-items:center; color:#3A4460; font:700 60px/1 var(--rh-f-display); }
.rh-empty__leader .rh-i { width:40px; height:40px; }
.rh-empty__leader::before, .rh-empty__leader::after { content:""; position:absolute; background:#2B3350; }
.rh-empty__leader::before { left:50%; top:-14px; bottom:-14px; width:1px; }
.rh-empty__leader::after { top:50%; left:-14px; right:-14px; height:1px; }
.rh-empty h2, .rh-empty h3 { color:var(--rh-stage-ink)!important; font:700 36px/.95 var(--rh-f-display)!important; text-transform:uppercase; margin:0; }
.rh-empty p { color:#AEB5C9; max-width:44ch; margin:0; }
.rh-stagebox { background:var(--rh-stage); color:var(--rh-stage-ink); border-radius:22px; padding:28px; }
.rh-msg { max-width:760px; margin:48px auto; padding-inline:16px; }
.rh-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:18px; }
.rh-toolbar .rh-toolbar__meta { margin-left:auto; font:500 13px var(--rh-f-mono); color:var(--rh-muted); }
.rh-toolbar .rh-toolbar__meta b { color:var(--rh-ink); font-weight:500; }
.rh-tablecard { background:var(--rh-surface); border:1px solid var(--rh-line); border-radius:18px; overflow:hidden; margin-bottom:18px; }
.rh-tablecard .table-responsive { border-radius:0; margin:0!important; }
.rh-tablecard .table > thead > tr > th { background:var(--rh-surface); }
.rh-tablecard .table > tbody > tr:last-child > * { border-bottom:0; }
.rh-tablecard tfoot th, .rh-tablecard tfoot td { background:var(--rh-surface-2); border-bottom:0; }
.rh-thumb-sm { width:128px; aspect-ratio:16/9; border-radius:8px; object-fit:cover; background:var(--rh-surface-2); display:block; }
.rh-empty--sm { padding:48px 20px; }
.rh-notfound { max-width:720px; margin:56px auto 72px; padding-inline:16px; }
.rh-notfound .rh-empty { text-align:center; }
.rh-notfound .rh-reason { margin-top:16px; padding:16px 18px; border-radius:14px; background:var(--rh-surface); border:1px solid var(--rh-line); color:var(--rh-ink-2); font-size:14.5px; text-align:left; }
.rh-notfound .rh-reason h2 { font-size:14px; margin:0 0 8px; color:var(--rh-ink); }
.rh-notfound .rh-reason ul { margin:0; padding-left:1.1rem; }
.rh-article { max-width:820px; margin:0 auto; padding-block:40px 56px; }
.rh-article h1 { font-size:clamp(28px,4vw,44px); margin:0 0 10px; }
.rh-article__body { color:var(--rh-ink-2); font-size:16px; line-height:1.7; margin-top:18px; }
.rh-article__meta { font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); }
.rh-news { display:grid; gap:14px; }
.rh-news article { padding:22px 24px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line); transition:border-color .2s, transform .2s var(--rh-ease); }
.rh-news article:hover { border-color:var(--rh-line-2); transform:translateY(-2px); }
.rh-news h2 { font-size:20px; margin:0 0 8px; }
.rh-news h2 a { color:var(--rh-ink); }
.rh-compare { border:1px solid var(--rh-line); border-radius:18px; overflow:hidden; background:var(--rh-surface); }
.rh-compare .table { margin:0; }
.rh-compare .table > :not(caption) > * > * { padding:14px 18px; vertical-align:middle; }
.rh-compare thead th { text-transform:none!important; letter-spacing:0!important; font:700 26px/1 var(--rh-f-display)!important; color:var(--rh-ink)!important; text-align:center; }
.rh-compare thead th:first-child { text-align:left; font:500 11.5px var(--rh-f-mono)!important; letter-spacing:.12em!important; text-transform:uppercase!important; color:var(--rh-muted)!important; }
.rh-compare td { text-align:center; font-weight:600; }
.rh-compare td:first-child { text-align:left; font-weight:500; color:var(--rh-ink-2); }
.rh-compare .rh-col-prem { background:rgba(var(--rh-accent-rgb),.07); }
.rh-compare thead .rh-col-prem { box-shadow:inset 0 3px 0 var(--rh-accent); color:var(--rh-accent-text)!important; }
.rh-yes { color:var(--rh-ok); } .rh-no { color:var(--rh-err); opacity:.8; }
.rh-compare .rh-i { width:22px; height:22px; }
.rh-plans { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:16px; }
.rh-plan { position:relative; display:grid; gap:10px; align-content:start; padding:24px; border-radius:20px; background:var(--rh-surface); border:1px solid var(--rh-line); transition:transform .2s var(--rh-ease), border-color .2s, box-shadow .25s; }
.rh-plan:hover { transform:translateY(-3px); border-color:rgba(var(--rh-accent-rgb),.5); box-shadow:var(--rh-shadow); }
.rh-plan__term { font:500 12px var(--rh-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--rh-accent-text); }
.rh-plan__price { font:700 48px/.9 var(--rh-f-display); color:var(--rh-ink); }
.rh-plan__price small { font:600 15px var(--rh-f-body); color:var(--rh-muted); margin-left:4px; }
.rh-plan .btn { margin-top:6px; }
/* premium page: a short list of what premium changes, then the plans */
.rh-prem-head { padding-block:36px 4px; max-width:62ch; }
.rh-prem-head h1 { font-size:clamp(34px,4.6vw,56px); line-height:1; margin:10px 0 0; }
.rh-prem-head p { color:var(--rh-ink-2); margin:12px 0 0; }
.rh-perks { list-style:none; margin:26px 0 44px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; }
.rh-perk { display:grid; gap:4px; align-content:start; padding:20px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-perk__ic { display:grid; place-items:center; width:42px; height:42px; margin-bottom:8px; border-radius:12px; background:rgba(var(--rh-accent-rgb),.12); color:var(--rh-accent-text); }
.rh-perk__ic .rh-i { width:22px; height:22px; }
.rh-perk__t { font:600 16px var(--rh-f-body); color:var(--rh-ink); }
.rh-perk__v { font-size:14px; color:var(--rh-ink-2); }
.rh-prem-sub { font:700 clamp(24px,3vw,32px)/1.1 var(--rh-f-display); color:var(--rh-ink); margin:0 0 18px; }
#pay-code .row { --bs-gutter-x:.75rem; --bs-gutter-y:.75rem; }
#pay-code a { display:block; padding:10px; border-radius:12px; background:#fff; border:1px solid var(--rh-line); transition:transform .15s, box-shadow .2s; }
#pay-code a:hover { transform:translateY(-2px); box-shadow:var(--rh-shadow); }
.rh-rates .table td, .rh-rates .table th { text-align:center; }
.rh-rates .table td:first-child, .rh-rates .table th:first-child { text-align:left; }
.rh-tier { font:700 30px/.9 var(--rh-f-display); text-transform:uppercase; }
.rh-rules { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.rh-rule { display:flex; gap:12px; align-items:flex-start; padding:16px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); font-size:14.5px; color:var(--rh-ink-2); }
.rh-rule .rh-i { width:20px; height:20px; color:var(--rh-accent-text); margin-top:2px; }
.rh-rule b { color:var(--rh-ink); }
/* make money: stats, tier cards (no wide table, so nothing scrolls sideways on phones) */
.rh-mm-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.rh-mm-stat { display:grid; gap:3px; min-width:0; padding:12px 16px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-mm-stat span { font:500 11px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-mm-stat b { font:700 30px/1 var(--rh-f-display); color:var(--rh-ink); font-variant-numeric:tabular-nums; }
.rh-mm-stat b.rh-mm-stat__coins { font-size:20px; line-height:1.25; }
.rh-mm-stat small { font-size:12.5px; color:var(--rh-ink-2); }
.rh-mm-h { font:700 clamp(22px,2.6vw,30px)/1.1 var(--rh-f-display); color:var(--rh-ink); margin:8px 0 16px; }
.rh-tiers { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); align-items:start; gap:14px; }
.rh-tiercard { display:grid; gap:12px; align-content:start; min-width:0; padding:20px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-tiercard__head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.rh-tiercard__name { font:700 24px/.9 var(--rh-f-display); text-transform:uppercase; color:var(--tier,var(--rh-ink)); }
.rh-tiercard__per { font:500 11px var(--rh-f-mono); letter-spacing:.06em; color:var(--rh-muted); }
.rh-tiercard__rate { font:700 46px/.9 var(--rh-f-display); color:var(--rh-ink); font-variant-numeric:tabular-nums; }
.rh-tiercard__rate small { display:block; margin-bottom:4px; font:500 12px var(--rh-f-body); color:var(--rh-muted); }
.rh-tiercard__rows { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.rh-tiercard__rows li { display:flex; justify-content:space-between; gap:10px; padding-top:6px; border-top:1px solid var(--rh-line); font-size:14px; color:var(--rh-ink-2); }
.rh-tiercard__rows b { font-family:var(--rh-f-mono); color:var(--rh-ink); }
.rh-flags { display:flex; flex-wrap:wrap; gap:6px; }
.rh-flags span { padding:3px 9px; border-radius:99px; background:var(--rh-sunken); color:var(--rh-ink-2); font-size:12px; line-height:1.5; }
@media (max-width: 575.98px) {
  .rh-mm-stat { flex:1 1 calc(50% - 5px); padding:10px 12px; }
  .rh-mm-stat b { font-size:24px; }
  .rh-tiers { grid-template-columns:1fr; gap:10px; }
  .rh-tiercard { padding:16px; gap:10px; }
  .rh-tiercard__rate { font-size:38px; }
  .rh-rules { grid-template-columns:1fr; }
}
.rh-verlist { display:grid; gap:10px; }
.rh-ver { display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:14px; background:var(--rh-surface-2); color:var(--rh-ink)!important; text-decoration:none!important; transition:background .15s, transform .15s; border:0; width:100%; text-align:left; }
.rh-ver:hover { background:var(--rh-accent-soft); transform:translateX(3px); }
.rh-ver b { font:700 24px/.9 var(--rh-f-display); min-width:78px; text-transform:uppercase; }
.rh-ver span { font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); }
.rh-ver .rh-i { margin-left:auto; width:20px; height:20px; color:var(--rh-accent-text); }
.rh-prose { max-width:820px; margin-inline:auto; }

/* =========================================================
   7. Responsive
   ========================================================= */
@media (max-width: 1199.98px) {
  .rh-watch { grid-template-columns:1fr; }
  .rh-showcase, .rh-split { grid-template-columns:1fr; }
  .rh-upl { grid-template-columns:1fr; }
}
@media (max-width: 991.98px) {
  :root { --rh-header-h:60px; }
  .rh-hide-t { display:none!important; }
  .rh-show-t { display:inline-grid!important; }
  .rh-header__in { gap:8px; }
  .rh-search { display:none; }
  .rh-header.is-searching .rh-search { display:block; position:absolute; left:0; right:0; top:calc(100% + 8px); max-width:none; margin:0 16px; animation:rh-pop .18s var(--rh-ease); }
  .rh-header.is-searching .rh-search input { box-shadow:var(--rh-shadow-lg); }
  .rh-hdr-end { margin-left:auto; }
  .rh-specs { grid-template-columns:1fr 1fr; }
  .rh-spec:nth-child(2) { border-right:0; }
  .rh-spec:nth-child(-n+2) { border-bottom:1px solid var(--rh-line); }
  .rh-guide { grid-template-columns:1fr; }
  .rh-kpis { grid-template-columns:1fr 1fr; }
  .rh-kpi:nth-child(2) { border-right:0; }
  .rh-kpi:nth-child(-n+2) { border-bottom:1px solid var(--rh-line); }
  .rh-footer__grid { grid-template-columns:1fr 1fr; }
  .rh-footer__grid > :first-child { grid-column:1 / -1; }
  .rh-ticket { grid-template-columns:1fr; }
  .rh-stub { border-radius:21px 21px 0 0; grid-template-columns:180px 1fr; align-items:center; }
  .rh-notch { display:none; }
  .rh-tk-body::before { left:22px; right:22px; top:0; bottom:auto; border-left:0; border-top:2px dashed var(--rh-line-2); }
  .rh-cta { grid-template-columns:1fr; align-items:start; }
  .rh-browse { grid-template-columns:1fr; }
  .rh-browse__side { position:static; }
  .rh-upl__opts { order:-1; }
  .rh .settings-table, .rh .settings-table tbody, .rh .settings-table tr, .rh .settings-table td { display:block; width:auto!important; }
  .rh .settings-table tr { border-bottom:1px solid var(--rh-line); padding:10px 0; }
  .rh .settings-table td { border:0!important; padding:4px 18px!important; text-align:left!important; }
  .rh .settings-table td.text-lg-end { padding-top:8px!important; }
}
@media (max-width: 767.98px) {
  .rh-wrap { padding-inline:16px; }
  .rh-hide-m { display:none!important; }
  .rh-show-m { display:inline-grid!important; }
  .rh-qnav { display:block; }
  body.rh-has-qnav { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  body.rh-has-qnav .rh-toasts { top:auto; bottom:calc(80px + env(safe-area-inset-bottom)); }
  .rh-studio a:where(:not(.btn)), .rh-studio__more > .rh-studio__link { height:46px; padding:0 12px; font-size:13.5px; }
  .rh-pagebar { padding-block:18px 4px; }
  .rh-hero__in { padding-block:64px 60px; }
  .rh-hero__lead { font-size:17px; }
  .rh-hero__ctas .btn { flex:1 1 auto; }
  .rh-sec { padding-block:64px; }
  .rh-spec { padding:22px 16px; }
  .rh-spec b { font-size:26px; }
  .rh-phead { padding-block:22px 16px; }
  .rh-drop { padding:48px 26px; }
  .rh-batch__pct { font-size:44px; }
  .rh-links2 { grid-template-columns:1fr; }
  .rh-frow { grid-template-columns:1fr; padding:14px 0; }
  .rh-frow__label { padding-top:0; }
  .rh-cover { height:120px; border-radius:18px; }
  .rh-who { padding-inline:6px; margin-top:-46px; }
  .rh-who__av { width:84px; height:84px; }
  .rh-who__right { margin-left:0; width:100%; }
  .rh-tk-wrap { padding:22px 16px 48px; }
  .rh-stub { grid-template-columns:1fr; }
  .rh-tk-body { padding:22px 18px; }
  .rh-leader { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .rh-spec3 { grid-template-columns:1fr 1fr; }
  .rh-stage-band { padding-block:0; }
  .rh-stage-band > .rh-wrap { padding-inline:0; }
  .rh-stage-band .rh-player { border-radius:0; max-height:none; }
  .rh-watch { padding-block:18px 32px; gap:28px; }
  .rh-nx { grid-template-columns:140px minmax(0,1fr); }
  .rh-vgrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
  .rh-vcard h3 { font-size:14px; }
  .rh-auth { margin:24px auto 40px; }
  .rh-auth__card { padding:24px 20px; border-radius:20px; }
  .rh .login { padding:24px 20px; margin:24px auto 40px; }
  .rh-res__thumb { width:88px; }
  .rh-footer__grid { padding-block:40px 28px; gap:24px; }
  .rh .table-responsive { margin-inline:-16px; border-radius:0; }
  .rh .table-responsive .table-rounded { border-radius:0; border-left:0; border-right:0; }
}
@media (max-width: 479.98px) {
  .rh-vgrid { grid-template-columns:1fr; }
  .rh-footer__grid { grid-template-columns:1fr; }
  .rh-kpi__val { font-size:34px; }
  .rh-specs { grid-template-columns:1fr; }
  .rh-spec { border-right:0!important; border-bottom:1px solid var(--rh-line); }
  .rh-dial { width:120px; height:120px; }
  .rh-btn-hero .rh-t b { font-size:22px; }
}
@media (prefers-reduced-motion: reduce) {
  .rh *, .rh *::before, .rh *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .rh-strip, .rh-rec__dot { animation:none!important; }
}
@media print {
  .rh-header, .rh-studio, .rh-qnav, .rh-footer, .rh-toasts { display:none!important; }
  body.rh { background:#fff; color:#000; }
}

/* ---------- Library: My Files ---------- */
.rh-search.rh-search--inline { display:block; flex:1 1 220px; max-width:420px; margin:0; }
.rh-search--inline input { height:40px; padding-right:16px; font-size:14.5px; }
.rh-files-bar .rh-toolbar__meta { display:inline-flex; align-items:center; gap:6px; }
.rh-files-bar .rh-toolbar__meta .rh-i { width:16px; height:16px; }
.rh-files-bar .rh-tag { text-decoration:none; }
.files-name a { display:flex; align-items:center; gap:12px; min-width:0; color:var(--rh-ink)!important; text-decoration:none; }
.files-name a:hover { color:var(--rh-accent-text)!important; }
.files-name .text-truncate { min-width:0; }
.files-thumb { width:96px; aspect-ratio:16/9; flex:none; object-fit:cover; border-radius:8px; background:var(--rh-surface-2); border:1px solid var(--rh-line); }
.files-thumb--ic { display:grid; place-items:center; color:var(--rh-accent-text); }
.files-thumb--ic .rh-i { width:22px; height:22px; }
.rh-fld-ic { width:20px; height:20px; color:var(--rh-accent); flex:none; }
.rh-folders:not(:has(td)) { display:none; }
.rh-fld-crumb > td { background:var(--rh-surface-2)!important; }
.rh-files .rh-fc-status:not(:has(.rh-tag)) { padding-inline:0; }
.rh-files th a { color:inherit; }
.rh .table tr:has(> td > .check-radio input:checked) > td { background:var(--rh-accent-soft); }
.rh-selbar { position:sticky; bottom:16px; z-index:30; margin-top:14px; }
.rh-selbar__in { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line-2); box-shadow:var(--rh-shadow-lg); animation:rh-pop .18s var(--rh-ease); }
.rh-colset { display:grid; padding-block:6px; }
.rh-colset__row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; margin:0; border-bottom:1px solid var(--rh-line); cursor:pointer; }
.rh-colset__row:last-child { border-bottom:0; }
.rh-snap { outline:2px solid transparent; outline-offset:2px; transition:outline-color .15s; }
.rh-snap:hover, .rh-snap:focus-visible { outline-color:var(--rh-accent); }
.rh-vh { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width: 767.98px) {
  body.rh-has-qnav .rh-selbar { bottom:calc(76px + env(safe-area-inset-bottom)); }
  .rh-selbar__in .btn > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .rh-files-bar .rh-search--inline { order:-1; flex-basis:100%; max-width:none; }
  .rh-files-bar .rh-toolbar__meta { margin-left:0; flex-basis:100%; }
}
/* My Files list (#xfiles) becomes stacked cards on tablets and phones */
.rh-fc-ic { display:none; }
@media (max-width: 991.98px) {
  .rh-files thead { display:none; }
  .rh-files, .rh-files > tbody, .rh-files > tfoot, .rh-files > tfoot > tr, .rh-files > tfoot > tr > td { display:block; width:100%; }
  .rh-files > tbody > tr { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px 16px; border-bottom:1px solid var(--rh-line); }
  .rh-files > tbody > tr::before { content:""; order:2; flex:0 0 100%; height:0; } /* line break: stats start a new row */
  .rh-files > tbody > tr > td { display:block; padding:0!important; border:0!important; background:none!important; }
  .rh-files .rh-fc-chk { order:0; }
  .rh-files .rh-fc-name { order:1; flex:1 1 0; min-width:0; }
  .rh-files .rh-fc-status { order:2; flex:1 0 100%; }
  .rh-files .rh-fc-status:not(:has(.rh-tag)) { display:none!important; }
  /* Column names are replaced by their icon: one pill per value, all the same height */
  .rh-files .rh-fc-meta { order:3; display:inline-flex!important; align-items:center; gap:6px; min-height:30px; padding:3px 10px!important; border-radius:99px; background:var(--rh-surface-2); font-size:12.5px; line-height:1.25; color:var(--rh-ink-2); }
  .rh-files .rh-fc-meta:empty { display:none!important; }
  .rh-files .rh-fc-meta::before { content:none; }
  .rh-files .rh-fc-ic { display:inline-flex; width:14px; height:14px; flex:none; color:var(--rh-muted); }
  .rh-files .rh-fc-meta .form-switcher { margin:0; }
  .rh-files .rh-fc-meta small.d-inline-grid { display:inline-flex!important; flex-wrap:wrap; gap:2px 8px; }
  .rh-files .rh-fc-act { order:4; flex:1 0 100%; display:flex!important; justify-content:flex-start; gap:6px; margin-top:4px; padding-top:10px!important; border-top:1px dashed var(--rh-line)!important; }
  /* One line only: long titles end with an ellipsis */
  .rh-files .rh-fc-name .files-name a { align-items:center; min-width:0; }
  .rh-files .rh-fc-name .text-truncate { flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; line-height:1.35; }
  .rh-files .files-thumb { width:96px; }
  .rh-files > tbody > tr:has(input[name=file_id]:checked) { background:var(--rh-accent-soft); }
  .rh-files > tfoot > tr > td { padding:12px 16px!important; }
}
@media (max-width: 575.98px) {
  .rh-files > tbody > tr { padding:12px; gap:8px 12px; }
  .rh-files .files-thumb { width:84px; }
  .rh-files .rh-fc-act { justify-content:flex-start; }
  .rh-files .rh-fc-act .rh-ibtn { width:44px; height:40px; }
}

/* ---------- Account ---------- */
.rh-acct-head .rh-who h1 { line-height:.95; }
.rh-acct-prem { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:14px; align-items:stretch; }
.rh-acct-prem > :only-child { grid-column:1 / -1; }
.rh-acct-prem .alert { margin:0; }
.rh-linkcard { display:grid; gap:10px; padding:18px 20px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line); min-width:0; }
.rh-linkcard__lbl { display:flex; align-items:center; gap:8px; font:500 11.5px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-linkcard__lbl .rh-i { width:15px; height:15px; }
.rh-linkcard__row { display:flex; align-items:center; gap:6px; min-width:0; }
.rh-linkcard__row .form-control { flex:1 1 auto; min-width:0; background:var(--rh-sunken); font-size:13.5px; text-overflow:ellipsis; }
.rh-links2:has(> :only-child) { grid-template-columns:1fr; }
.rh-pane-f { display:flex; justify-content:flex-end; padding-top:20px; margin-top:4px; border-top:1px solid var(--rh-line); }
.min-w-0 { min-width:0; }
@media (max-width: 767.98px) {
  .rh-acct-prem { grid-template-columns:1fr; }
  .rh-pane-f .btn { width:100%; }
}

/* ---------- Download steps + watch additions ---------- */
.rh-dial__ok { position:absolute; inset:0; margin:auto; z-index:2; width:46px!important; height:46px!important; color:#FFB23F; opacity:0; scale:.6; transition:opacity .3s, scale .35s var(--rh-spring); }
.rh-dial #countdown_str[style*="hidden"] ~ .rh-dial__ok { opacity:1; scale:1; }
.rh .rh-btn-hero:disabled { opacity:.55; }
.rh-watch:not(:has(.rh-watch__side > *)) { grid-template-columns:minmax(0,1fr); }
.rh-watch:not(:has(.rh-watch__side > *)) .rh-watch__main { max-width:1040px; }
.rh-share .codes-textarea .form-control { border-radius:0 0 var(--rh-r-lg) var(--rh-r-lg); }
.rh-pl-list a { font-weight:600; }
.rh-comments:not(:has(*)) { display:none; }
@media (max-width: 575.98px) { .rh-hide-m { display:none; } }

/* ---------- Tickets ---------- */
.rh-tklist { display:grid; gap:10px; }
.rh-tkrow { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:14px 18px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); color:var(--rh-ink)!important; text-decoration:none!important; transition:border-color .15s, transform .15s var(--rh-ease); }
.rh-tkrow:hover { border-color:rgba(var(--rh-accent-rgb),.45); transform:translateX(2px); }
.rh-tkrow__ic { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--rh-surface-2); color:var(--rh-accent-text); }
.rh-tkrow b { display:block; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rh-tkrow small { font:500 12px var(--rh-f-mono); color:var(--rh-muted); }
.rh-tkrow__tags { display:flex; gap:6px; }
.rh-thread { display:grid; gap:12px; margin-bottom:18px; }
.rh-bubble { max-width:min(760px,92%); padding:14px 18px; border-radius:18px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-bubble--mine { justify-self:end; background:var(--rh-accent-soft); border-color:rgba(var(--rh-accent-rgb),.3); border-bottom-right-radius:6px; }
.rh-bubble--staff { justify-self:start; border-bottom-left-radius:6px; }
.rh-bubble__who { display:flex; align-items:center; gap:6px; font-weight:600; margin-bottom:6px; }
.rh-bubble--staff .rh-bubble__who { color:var(--rh-accent-text); }
.rh-bubble__txt { color:var(--rh-ink-2); overflow-wrap:anywhere; }
.rh-bubble__time { margin-top:8px; font:500 11.5px var(--rh-f-mono); color:var(--rh-muted); }

/* ---------- Watermark position picker ---------- */
.watermark-position { display:grid; grid-template-columns:repeat(3,44px); gap:6px; padding:8px; border-radius:12px; background:var(--rh-stage); width:max-content; }
.watermark-position .check-radio { display:grid; place-items:center; width:44px; height:28px; margin:0; border-radius:6px; background:rgba(255,255,255,.06); cursor:pointer; transition:background .15s; }
.watermark-position .check-radio:hover { background:rgba(255,255,255,.12); }
.watermark-position .check-radio:has(input:checked) { background:rgba(255,178,63,.25); outline:1px solid #FFB23F; }
.rh-inline-num { display:inline-block!important; width:72px!important; margin:0 6px; vertical-align:middle; }

/* ---------- File edit ---------- */
.rh-vinfo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.rh-vinfo { padding:14px 16px; border-radius:14px; background:var(--rh-surface-2); }
.rh-vinfo__h { font:700 20px/1 var(--rh-f-display); text-transform:uppercase; margin-bottom:10px; }
.rh-vinfo dl { display:grid; gap:6px; margin:0; font-size:13px; }
.rh-vinfo dl > div { display:flex; justify-content:space-between; gap:10px; }
.rh-vinfo dt { font-weight:500; color:var(--rh-muted); }
.rh-vinfo dd { margin:0; text-align:right; font-family:var(--rh-f-mono); font-size:12.5px; overflow-wrap:anywhere; }
.rh-vinfo dd .rh-i { width:14px; height:14px; vertical-align:-2px; }
.rh-tagchip { display:inline-flex; align-items:center; gap:6px; padding:4px 6px 4px 10px; margin:8px 6px 0 0; border-radius:99px; background:var(--rh-surface-2); font-size:13px; }
.rh-tagchip > a { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:var(--rh-muted); }
.rh-tagchip > a:hover { color:var(--rh-err); }
.rh-tagchip .rh-i { width:12px; height:12px; }
#iraw { margin-top:10px; padding:10px; border-radius:10px; background:var(--rh-sunken); border:1px solid var(--rh-line); font-size:11px; max-height:360px; overflow:auto; }

/* ---------- Comments ---------- */
.rh-cmt-title { display:flex; align-items:center; gap:10px; margin:0 0 14px; font:700 28px/1 var(--rh-f-display)!important; text-transform:uppercase; }
.rh-cmt-form { padding:16px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-cmt-form kbd { font:500 11px var(--rh-f-mono); padding:2px 6px; border-radius:6px; background:var(--rh-surface-2); color:var(--rh-ink-2); }
.rh-cmt-list { display:grid; gap:10px; }
.rh-cmt { padding:14px 18px; border-radius:16px; background:var(--rh-surface); border:1px solid var(--rh-line); }
.rh-cmt__head { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin-bottom:6px; font-size:13px; }
.rh-cmt__head b { font-weight:600; }
.rh-cmt__av { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--rh-surface-2); color:var(--rh-muted); }
.rh-cmt__av .rh-i { width:15px; height:15px; }
.rh-cmt__txt { color:var(--rh-ink-2); overflow-wrap:anywhere; }

/* ---------- Charts (flot) ---------- */
.rh .flot-tick-label, .rh .legendLabel { color:var(--rh-muted)!important; font:500 11px var(--rh-f-mono); }
.rh .legend > div { background:transparent!important; }
.rh .legend table { width:auto!important; color:var(--rh-ink-2); }
.rh .legendColorBox > div { border:0!important; }
@media (max-width: 575.98px) {
  .rh-tkrow { grid-template-columns:auto minmax(0,1fr) auto; }
  .rh-tkrow > .rh-i:last-child { display:none; }
}

/* ---------- Upload variants ---------- */
.rh-urlbox textarea { min-height:220px; background:var(--rh-sunken); }
.rh-filepick { position:relative; display:flex; align-items:center; gap:8px; }
.rh-filepick input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
.rh-filepick .form-control { flex:1 1 auto; min-width:0; }
.rh-slot + .rh-slot, #x2 .rh-slot { margin-top:14px; padding-top:14px; border-top:1px dashed var(--rh-line-2); }
.rh-msg-raw:empty { display:none; }
.rh-msg-raw { margin-bottom:16px; }
.rh-encbar { min-width:180px; }

/* ---------- Dashboard ---------- */
.rh-dash-main { display:grid; grid-template-columns:320px minmax(0,1fr); gap:16px; }
.rh-dash-balance { display:grid; gap:14px; align-content:center; text-align:center; justify-items:center; background:radial-gradient(120% 90% at 50% 0%, rgba(var(--rh-accent-rgb),.14), transparent 60%), var(--rh-surface); }
.rh-dash-balance__amt { font:700 60px/.9 var(--rh-f-display); font-variant-numeric:tabular-nums; color:var(--rh-ink); }
.rh-dash-h { display:flex; align-items:center; gap:10px; margin:0 0 14px; font:700 24px/1 var(--rh-f-display)!important; text-transform:uppercase; }
.rh-dash-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.rh-dash-table { margin-bottom:10px; }
.rh-dash-table tbody tr.hidden { display:none; }
.rh .show-more-btn { display:none; }
.rh .stat-badge { display:inline-flex; align-items:center; vertical-align:middle; margin-left:6px; padding:3px 8px; border-radius:99px; font:500 11.5px var(--rh-f-mono); background:var(--rh-surface-2); color:var(--rh-muted); }
.rh .stat-badge.positive { background:rgba(46,204,113,.14); color:var(--rh-ok); }
.rh .stat-badge.negative { background:rgba(255,77,79,.14); color:var(--rh-err); }
.rh .country-flag { width:22px; height:15px; border-radius:2px; margin-right:6px; vertical-align:-2px; object-fit:cover; }
.rh-dash-kpis .rh-kpi__lbl { display:flex; align-items:center; gap:6px; }
.rh-dash-kpis .rh-kpi__lbl .rh-i { width:14px; height:14px; }

/* ---------- API reference / static pages ---------- */
.rh-api-sec { margin:26px 0 12px; font:700 28px/1 var(--rh-f-display)!important; text-transform:uppercase; }
.rh-api .accordion, .rh-faq { --bs-accordion-bg:var(--rh-surface); --bs-accordion-border-color:var(--rh-line); --bs-accordion-btn-color:var(--rh-ink); --bs-accordion-active-bg:var(--rh-surface-2); --bs-accordion-active-color:var(--rh-ink); --bs-accordion-btn-focus-box-shadow:var(--rh-glow); --bs-accordion-border-radius:16px; --bs-accordion-inner-border-radius:15px; }
.rh-api-item .accordion-button { font-weight:600; }
.rh-api-item .accordion-button small { font-size:15px; }
.rh-api-item .accordion-body { overflow-x:auto; }
.rh-api-h { margin:14px 0 8px; font:500 11.5px var(--rh-f-mono)!important; letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-api-table { min-width:560px; }
.rh-api-table td:first-child { font-family:var(--rh-f-mono); font-size:12.5px; color:var(--rh-accent-text); }
.rh-api .code .rh-tag { margin-right:6px; vertical-align:1px; }
.rh-faq .accordion-body { color:var(--rh-ink-2); }
.rh-page .text-content { color:var(--rh-ink-2); line-height:1.7; max-width:78ch; }

/* ---------- Crypto checkout ---------- */
.rh-btc__grid { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; }
.rh-btc__qr { display:grid; gap:12px; align-content:start; }
.rh-btc__qrbox { padding:12px; border-radius:16px; background:#fff; display:grid; place-items:center; }
.rh-btc__qrbox img { width:100%; height:auto; image-rendering:pixelated; }
.rh-btc .rh-linkline input { font-size:13px; }
.rh-btc__timer { padding:14px 16px; border-radius:14px; background:var(--rh-surface-2); }
.rh-btc .progressbar { height:8px; border-radius:99px; background:var(--rh-sunken); overflow:hidden; }
.rh-btc .progressbar .progress-bar { height:100%; width:0; background:var(--rh-accent); border-radius:inherit; transition:width .9s linear; }

/* ---------- Standalone pages (pair, captions popup) ---------- */
body.rh-solo { display:block; }
.rh-solo__main { min-height:100vh; display:grid; place-items:center; padding:32px 16px; }
.rh-solo .rh-auth__card { width:100%; max-width:560px; }
.rh-srt-drop { position:relative; display:grid; place-items:center; min-height:96px; padding:18px; border-radius:16px; background:var(--rh-stage); color:#EEF1F8; outline:2px dashed #2B3350; outline-offset:-8px; text-align:center; transition:outline-color .15s; }
.rh-srt-drop:hover, .rh-srt-drop:focus-within { outline-color:#FFB23F; }
.rh-srt-drop input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }

@media (max-width: 991.98px) {
  .rh-dash-main { grid-template-columns:1fr; }
}
@media (max-width: 767.98px) {
  .rh-btc__grid { grid-template-columns:1fr; }
  .rh-btc__qr { max-width:260px; margin-inline:auto; width:100%; }
}
.rh-legacy-page { max-width:920px; padding-block:34px 64px; color:var(--rh-ink-2); line-height:1.7; }
.rh-legacy-page > h3:first-child { margin:0 0 24px; font:700 clamp(40px,5.6vw,68px)/.95 var(--rh-f-display); text-transform:uppercase; color:var(--rh-ink); }
.rh-legacy-page b, .rh-legacy-page strong { color:var(--rh-ink); }

/* Upload progress: shown while the file server's progress feed has no numbers yet */
#progress.is-waiting .progress-bar { width:100%!important; opacity:.55; background:repeating-linear-gradient(115deg, var(--rh-accent) 0 14px, var(--rh-accent-hover) 14px 28px)!important; background-size:40px 100%!important; animation:rh-stripes .9s linear infinite; }
#progress.is-waiting #percent { opacity:.35; }
@keyframes rh-stripes { to { background-position:40px 0; } }
@media (prefers-reduced-motion: reduce) { #progress.is-waiting .progress-bar { animation:none; } }

/* copy icons in My Files: brief green tick-state after copying */
.rh .rh-ibtn.is-copied { color:var(--rh-ok); background:var(--rh-ok-soft); }

/* Safety net: a link styled as a button keeps the button's own colours, wherever it sits */
.rh a.btn:where(:not(.download-item)) { color:var(--bs-btn-color); }
.rh a.btn:hover:where(:not(.download-item)) { color:var(--bs-btn-hover-color); }
.rh a.btn:active:where(:not(.download-item)), .rh a.btn.active:where(:not(.download-item)) { color:var(--bs-btn-active-color); }

/* Outline buttons sitting on the always-dark surfaces (footer, film stage, ticket stub, leader,
   cover) need light text in BOTH themes - var(--rh-ink) flips to near-black in light mode */
.rh-footer .btn-outline-light, .rh-footer .btn-outline-secondary,
.rh-stage-band .btn-outline-light, .rh-leader .btn-outline-light,
.rh-stub .btn-outline-light, .rh-cover .btn-outline-light, .rh-adminbar .btn-outline-light {
  --bs-btn-color:#EEF1F8; --bs-btn-border-color:#3A4460; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#161B2B;
  --bs-btn-hover-border-color:#4A5575; --bs-btn-active-bg:#161B2B; --bs-btn-active-color:#fff;
}

/* Two-factor setup */
.rh-totp-setup { display:flex; flex-wrap:wrap; gap:22px; align-items:flex-start; }
.rh-totp-qr { flex:none; width:200px; height:200px; display:grid; place-items:center; padding:8px; border-radius:16px; background:#fff; }
.rh-totp-qr img, .rh-totp-qr canvas { display:block; }
.rh-totp-setup .rh-linkline code { font-size:13.5px; letter-spacing:.06em; }
@media (max-width: 575.98px) { .rh-totp-qr { margin-inline:auto; } }

/* Admin ad slots on the video and download pages */
.rh-ad { margin-block:16px; text-align:center; }
.rh-ad:empty { display:none; }
.rh-ad img, .rh-ad iframe { max-width:100%; }

/* Images are not draggable and cannot be long pressed into a save/open menu */
.rh img { -webkit-user-drag:none; user-select:none; -webkit-touch-callout:none; }
.rh .rh-res__thumb, .rh .files-thumb, .rh .rh-nx__thumb, .rh .rh-vcard__thumb { -webkit-touch-callout:none; }

/* ---------- My files: deleted ---------- */
.rh-del__head, .rh-del__item { display:grid; grid-template-columns:28px minmax(0,1fr) auto 118px; gap:10px 18px; padding:12px 18px; }
.rh-del__head { align-items:center; border-bottom:1px solid var(--rh-line); font:500 11px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-del__list { list-style:none; margin:0; padding:0; }
.rh-del__item { align-items:start; border-bottom:1px solid var(--rh-line); transition:background-color .15s; }
.rh-del__item:last-child { border-bottom:0; }
.rh-del__item:hover { background:var(--rh-surface-2); }
.rh-del__check { padding-top:3px; }
.rh-del__lock { display:inline-grid; place-items:center; width:20px; height:20px; color:var(--rh-muted); }
.rh-del__lock .rh-i { width:15px; height:15px; }
.rh-del__main { display:grid; gap:5px; min-width:0; }
.rh-del__title { font-weight:600; line-height:1.35; color:var(--rh-ink); overflow-wrap:break-word; word-break:break-word; }
.rh-del__item.is-locked .rh-del__title { color:var(--rh-ink-2); }
.rh-del__sub { display:flex; flex-wrap:wrap; gap:2px 14px; min-width:0; font-size:12.5px; color:var(--rh-muted); }
.rh-del__name { min-width:0; overflow-wrap:anywhere; }
.rh-del__status { display:flex; align-items:flex-start; gap:6px; font-size:12.5px; line-height:1.45; }
.rh-del__status .rh-i { flex:none; width:14px; height:14px; margin-top:2px; }
.rh-del__status--ok { color:var(--rh-ok); }
.rh-del__status--no { color:var(--rh-err); }
.rh-del__side { display:contents; }
.rh-delby { display:inline-flex; align-items:center; gap:6px; justify-self:start; max-width:220px; min-height:26px; padding:3px 10px; border-radius:99px; border:1px solid var(--rh-line-2); background:var(--rh-surface-2); color:var(--rh-ink-2); font-size:12.5px; font-weight:600; line-height:1.3; overflow-wrap:anywhere; }
.rh-delby .rh-i { flex:none; width:13px; height:13px; }
.rh-delby--you { color:var(--rh-ok); background:var(--rh-ok-soft); border-color:rgba(var(--rh-ok-rgb),.35); }
.rh-delby--admin { color:var(--rh-warn); background:var(--rh-warn-soft); border-color:rgba(var(--rh-warn-rgb),.35); }
.rh-delby--system { color:var(--rh-signal); background:var(--rh-signal-soft); border-color:rgba(var(--rh-signal-rgb),.35); }
.rh-del__ago { display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; padding-top:4px; font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); white-space:nowrap; }
.rh-del__ago .rh-i { width:13px; height:13px; }
@media (max-width: 767.98px) {
  .rh-del__head { grid-template-columns:28px minmax(0,1fr); padding:12px 14px; }
  .rh-del__head .rh-del__h-side { display:none; }
  .rh-del__item { grid-template-columns:28px minmax(0,1fr); padding:14px; }
  .rh-del__side { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
  .rh-del__ago { padding-top:0; }
}

/* ---------- Playlist page ---------- */
.rh-plhead { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:18px 32px; padding-block:34px 22px; }
.rh-plhead__main { display:grid; justify-items:start; gap:12px; min-width:0; }
.rh-plhead__title { max-width:100%; margin:0; font-size:clamp(34px,5vw,60px); line-height:1.02; overflow-wrap:break-word; word-break:break-word; text-wrap:balance; }
.rh-plhead__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; min-width:0; }
.rh-plhead__stat { font:500 13px var(--rh-f-mono); color:var(--rh-muted); }
.rh-plhead__by { min-width:0; font-size:14px; color:var(--rh-ink-2); overflow-wrap:anywhere; }
.rh-plhead__by b { color:var(--rh-ink); font-weight:600; }
.rh-plhead__note { max-width:62ch; margin:0; font-size:14px; color:var(--rh-muted); }
.rh-plhead__side { display:flex; flex-wrap:wrap; gap:8px; }
.rh-vis { display:inline-flex; align-items:center; gap:7px; height:30px; padding:0 12px 0 10px; border-radius:99px; border:1px solid var(--rh-line-2); font:600 12px/1 var(--rh-f-mono); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.rh-vis .rh-i { width:14px; height:14px; }
.rh-vis--public { color:var(--rh-ok); background:var(--rh-ok-soft); border-color:rgba(var(--rh-ok-rgb),.4); }
.rh-vis--private { color:var(--rh-warn); background:var(--rh-warn-soft); border-color:rgba(var(--rh-warn-rgb),.4); }
.rh-vis--sm { height:24px; padding:0 9px 0 8px; font-size:11px; }
.rh-vis--sm .rh-i { width:12px; height:12px; }
.rh-plshare { display:grid; gap:10px; max-width:640px; margin-bottom:28px; padding:14px 16px; border-radius:18px; border:1px solid var(--rh-line); background:var(--rh-surface); }
.rh-plshare__h { display:flex; align-items:center; gap:8px; margin:0; font:500 11px/1 var(--rh-f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--rh-muted); }
.rh-plshare__h .rh-i { width:14px; height:14px; }
.rh-plshare__row { display:flex; align-items:center; gap:8px; min-width:0; }
.rh-plshare__row .rh-linkline { flex:1; }
.rh-plshare__row .btn { flex:none; }
.rh-pl .rh-vcard h3 { overflow-wrap:break-word; word-break:break-word; text-wrap:wrap; } /* balance + line clamp left one word on the first line */
.rh-vcard__pos { position:absolute; left:8px; top:8px; z-index:4; display:grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:99px; background:rgba(0,0,0,.72); color:#fff; font:600 11px/1 var(--rh-f-mono); font-variant-numeric:tabular-nums; }
.rh-plvis { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:14px 18px; }
.rh-plvis__label { font:500 11px var(--rh-f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--rh-muted); }
.rh-plvis__help { color:var(--rh-muted); }
.rh-pllist__name a { overflow-wrap:anywhere; }
@media (max-width: 767.98px) {
  .rh-plhead { grid-template-columns:minmax(0,1fr); align-items:start; padding-block:22px 18px; }
}
@media (max-width: 479.98px) {
  .rh-plshare__row { flex-wrap:wrap; }
  .rh-plshare__row .btn { width:100%; }
}

/* ---------- My files: select all ---------- */
.rh-fselall { display:flex; flex-wrap:wrap; align-items:center; gap:2px 16px; min-height:52px; padding:6px 16px; border-bottom:1px solid var(--rh-line); background:var(--rh-surface); }
.rh .check-radio.rh-fselall__label { gap:10px; min-height:40px; margin:0; font-size:14px; font-weight:600; color:var(--rh-ink); cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent; }
.rh .check-radio.rh-fselall__label:has(input:disabled) { color:var(--rh-muted); cursor:not-allowed; }
.rh-fselall__count { margin-left:auto; font:500 12.5px var(--rh-f-mono); color:var(--rh-muted); font-variant-numeric:tabular-nums; }
.rh-fselall__count b { color:var(--rh-ink); font-weight:600; }
.rh .check-radio input[type="checkbox"]:indeterminate, .rh .rh-check:indeterminate { background-color:var(--rh-accent); border-color:var(--rh-accent); background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231A1100' stroke-linecap='round' stroke-width='3' d='M5.5 10h9'/%3e%3c/svg%3e"); }
@media (max-width: 575.98px) { .rh-fselall { padding-inline:12px; } }

/* ---------- Support tickets (user side) ---------- */
.rh .rh-bubble__txt a { color:var(--rh-accent-text); text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.rh-tkclosed { display:flex; align-items:center; gap:8px; margin-bottom:12px; padding:10px 14px; border-radius:12px; background:var(--rh-surface-2); color:var(--rh-ink-2); font-size:13.5px; }
.rh-tkclosed .rh-i { flex:none; width:16px; height:16px; }
