/* RandGoRus: one restrained gold edge and glow across the site. */
html, body, button, input, textarea, select {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}
img { image-rendering: auto !important; }

:root {
  --rg-glow-edge: rgba(212, 175, 55, .42);
  --rg-glow-shadow: 0 0 0 1px rgba(212, 175, 55, .08),
                    0 0 14px rgba(212, 175, 55, .13);
  --rg-glow-divider: 0 0 0 1px rgba(212, 175, 55, .08),
                     0 0 14px rgba(212, 175, 55, .13);
}

/* Cards, including the compact horizontal giveaway strips. */
.app .stat,
.app .card,
.app .form-card,
.app .profile-card,
.app .contest-page,
.app .profile-menu button,
.app .profile-contest-item,
.app .participation-card,
.app .notification-item,
.app .admin-item,
.app .admin-stat,
.app .create-channel-option,
.app .create-channel-empty,
.app .bot-info-row,
.app .organizer-reputation,
.app .fairness-proof,
.app .giveaway-results,
.app .rg-ad-banner,
.modalbox,
.rg-profile-window-box,
.rg-admin-window-box,
.rg-legal-window-box,
.rg-mode-window-box,
.photo-editor-box,
.rg-legal-consent-box,
.panel,
.card,
.note,
.docs a,
.wrap nav button {
  border-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-shadow) !important;
}

#homeView #catalog article.card,
#homeView .stat,
#homeView .rg-ad-banner,
#contestView .contest-meta > div,
#contestView .contest-description,
#contestView .organizer-reputation,
#modalContent .modalmeta > div,
#modalContent .conditions,
#modalContent .organizer-reputation,
#profileView .profile-stats > div,
#profileWindowContent[data-section="pro"] .rg-pro-card,
#rgModeWindow .rg-mode-choice,
#profileWindow .rg-profile-window-box,
#adminWindow .rg-admin-window-box,
#legalWindow .rg-legal-window-box,
#rgModeWindow .rg-mode-window-box,
#photoEditor .photo-editor-box,
#rgLegalConsent .rg-legal-consent-box {
  border-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-shadow) !important;
}

/* Same effect for every bordered control, including the admin and modal views. */
.app .icon-btn,
.app .filter-btn,
.app .tab,
.app button,
.app .photo-upload,
.modal button:not(.close),
.rg-mode-window button,
.photo-editor button,
.rg-legal-consent button,
.btn,
.docs a,
.wrap nav button {
  box-shadow: var(--rg-glow-shadow) !important;
}

#homeView .tab,
#homeView .tab.active,
#homeView #catalog article.card .join-btn,
#createView .create-btn,
#createView .secondary,
#adminView .admin-actions button,
#adminView .admin-actions .admin-tab-active,
#adminView .admin-buttons button,
#adminView .admin-manage button,
#adminView .admin-contact,
#adminView .admin-edit,
#adminView .admin-delete,
#adminWindow .rg-ad-admin-actions > button,
#contestView .mainjoin,
#contestView .contest-back,
.rg-view-back,
.rg-window-back {
  box-shadow: var(--rg-glow-shadow) !important;
}

/* The visual effect remains stable when a control receives focus or is pressed. */
#homeView .tab:is(:hover, :focus, :focus-visible, :active),
#homeView #catalog article.card .join-btn:is(:hover, :focus, :focus-visible, :active),
#adminView .admin-actions button:is(:hover, :focus, :focus-visible, :active),
#adminView .admin-buttons button:is(:hover, :focus, :focus-visible, :active),
#adminView .admin-manage button:is(:hover, :focus, :focus-visible, :active),
.app button:is(:hover, :focus, :focus-visible, :active),
.modal button:not(.close):is(:hover, :focus, :focus-visible, :active),
.btn:is(:hover, :focus, :focus-visible, :active),
.docs a:is(:hover, :focus, :focus-visible, :active),
.wrap nav button:is(:hover, :focus, :focus-visible, :active) {
  box-shadow: var(--rg-glow-shadow) !important;
}

/* Existing green/red action colors still identify their respective actions. */
.app :is(.icon-btn, .filter-btn, .tab, .create-btn, .join-btn, .mainjoin,
         .secondary, .contest-back, .rg-view-back, .rg-window-back),
.btn,
.wrap nav button {
  border-color: var(--rg-glow-edge) !important;
}

/* One thin illuminated line for headers and the mobile navigation bar. */
body .top,
#rgDesktopHeader {
  border-bottom-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-divider) !important;
}
body .bottom {
  border-top-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-divider) !important;
}
body .footer {
  border-top-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-divider) !important;
}

/* The desktop menu keeps its borderless resting state. */
#rgDesktopHeader .rg-desktop-nav button:is(.active, :hover, :focus-visible),
#rgDesktopHeader .rg-desktop-nav .rg-desktop-public-link:is(:hover, :focus-visible) {
  border-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-shadow) !important;
}

/* Legal documents use the same gold, including the RGR emblem. */
.wrap .rg-rgr-logo {
  border-color: var(--rg-glow-edge) !important;
  box-shadow: var(--rg-glow-shadow) !important;
}

/* =========================================================
   RandGoRus Premium UI v4
   Smooth black / champagne-gold visual system.
   Functional colors (green/red/status badges) are preserved.
   ========================================================= */
:root {
  --rg-bg: #080809;
  --rg-bg-soft: #0c0c0e;
  --rg-surface: #101012;
  --rg-surface-2: #151518;
  --rg-surface-3: #1b1b1f;
  --rg-gold: #d7b45f;
  --rg-gold-strong: #edcf83;
  --rg-champagne: #f4dfb2;
  --rg-text: #f7f7f5;
  --rg-muted: #aaa9a5;
  --rg-border: rgba(215, 180, 95, .24);
  --rg-border-strong: rgba(215, 180, 95, .42);
  --rg-soft-shadow: 0 14px 34px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255,255,255,.015);
  --rg-soft-shadow-hover: 0 18px 42px rgba(0, 0, 0, .42), 0 0 24px rgba(215,180,95,.08);
  --rg-gold-shadow: 0 8px 22px rgba(215, 180, 95, .14), inset 0 1px 0 rgba(255,255,255,.16);
}

html, body {
  background:
    radial-gradient(circle at 50% -20%, rgba(215,180,95,.07), transparent 32%),
    linear-gradient(180deg, #0a0a0b 0%, #070708 100%) !important;
  color: var(--rg-text) !important;
}

body {
  letter-spacing: .005em;
}

.app {
  background:
    linear-gradient(180deg, rgba(15,15,17,.96), rgba(8,8,9,.98)) !important;
  border-color: rgba(215,180,95,.12) !important;
}

#rgDesktopHeader,
body .top,
body .bottom {
  background: rgba(10,10,11,.90) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
  border-color: rgba(215,180,95,.20) !important;
}

#rgDesktopHeader {
  box-shadow: 0 10px 30px rgba(0,0,0,.28), 0 1px 0 rgba(215,180,95,.08) !important;
}

body .bottom {
  box-shadow: 0 -10px 30px rgba(0,0,0,.34), 0 -1px 0 rgba(215,180,95,.08) !important;
}

.rg-desktop-brand,
.brand b,
.brand b span,
.modalcity {
  color: var(--rg-champagne) !important;
  text-shadow: 0 0 18px rgba(215,180,95,.10) !important;
}

/* Premium surfaces */
.app .stat,
.app .card,
.app .form-card,
.app .profile-card,
.app .contest-page,
.app .profile-menu button,
.app .profile-contest-item,
.app .participation-card,
.app .notification-item,
.app .admin-item,
.app .admin-stat,
.app .create-channel-option,
.app .create-channel-empty,
.app .bot-info-row,
.app .organizer-reputation,
.app .fairness-proof,
.app .giveaway-results,
.app .rg-ad-banner,
.modalbox,
.rg-profile-window-box,
.rg-admin-window-box,
.rg-legal-window-box,
.rg-mode-window-box,
.photo-editor-box,
.rg-legal-consent-box,
.panel,
.card,
.note,
.docs a {
  background: linear-gradient(145deg, rgba(23,23,26,.96), rgba(13,13,15,.98)) !important;
  border: 1px solid var(--rg-border) !important;
  box-shadow: var(--rg-soft-shadow) !important;
}

/* Remove harsh neon from nested information tiles */
#contestView .contest-meta > div,
#contestView .contest-description,
#modalContent .modalmeta > div,
#modalContent .conditions,
#profileView .profile-stats > div,
#profileWindowContent[data-section="pro"] .rg-pro-card,
#rgModeWindow .rg-mode-choice {
  background: linear-gradient(145deg, rgba(25,25,28,.88), rgba(15,15,17,.94)) !important;
  border-color: rgba(215,180,95,.20) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

/* Main CTA buttons */
#homeView #catalog article.card .join-btn,
#createView .create-btn,
#contestView .mainjoin,
.modal .mainjoin,
.app .create-btn {
  background: linear-gradient(135deg, #edcf83 0%, #d1a84d 55%, #b9872d 100%) !important;
  color: #16120b !important;
  border: 1px solid rgba(255,226,158,.50) !important;
  box-shadow: var(--rg-gold-shadow) !important;
  text-shadow: none !important;
  font-weight: 900 !important;
}

#homeView #catalog article.card .join-btn:is(:hover,:focus-visible),
#createView .create-btn:is(:hover,:focus-visible),
#contestView .mainjoin:is(:hover,:focus-visible),
.modal .mainjoin:is(:hover,:focus-visible) {
  filter: brightness(1.06);
  box-shadow: 0 10px 28px rgba(215,180,95,.20), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Neutral controls */
.app .icon-btn,
.app .filter-btn,
.app .secondary,
.app .contest-back,
.app .rg-view-back,
.app .rg-window-back,
.rg-mode-window button,
.photo-editor button,
.rg-legal-consent button,
.btn,
.wrap nav button,
#rgDesktopHeader .rg-desktop-nav button,
#rgDesktopHeader .rg-desktop-nav .rg-desktop-public-link {
  background: linear-gradient(180deg, rgba(28,28,31,.96), rgba(17,17,19,.96)) !important;
  color: #e7e4dc !important;
  border: 1px solid rgba(215,180,95,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 6px 18px rgba(0,0,0,.18) !important;
}

.app .icon-btn:is(:hover,:focus-visible),
.app .filter-btn:is(:hover,:focus-visible),
.app .secondary:is(:hover,:focus-visible),
.app .contest-back:is(:hover,:focus-visible),
.app .rg-view-back:is(:hover,:focus-visible),
.app .rg-window-back:is(:hover,:focus-visible),
.btn:is(:hover,:focus-visible),
.wrap nav button:is(:hover,:focus-visible),
#rgDesktopHeader .rg-desktop-nav button:is(:hover,:focus-visible,.active),
#rgDesktopHeader .rg-desktop-nav .rg-desktop-public-link:is(:hover,:focus-visible) {
  border-color: rgba(237,207,131,.48) !important;
  background: linear-gradient(180deg, rgba(40,38,32,.98), rgba(22,21,19,.98)) !important;
  color: var(--rg-champagne) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.25), 0 0 18px rgba(215,180,95,.07) !important;
}

/* Inputs */
input,
textarea,
select,
.search,
.my-giveaway-edit input,
.my-giveaway-edit textarea,
.my-giveaway-edit select {
  background: rgba(14,14,16,.96) !important;
  border: 1px solid rgba(215,180,95,.20) !important;
  color: #f5f4f0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018) !important;
}

input::placeholder,
textarea::placeholder,
.search::placeholder {
  color: #777774 !important;
  opacity: 1 !important;
}

input:focus,
textarea:focus,
select:focus,
.search:focus {
  border-color: rgba(237,207,131,.58) !important;
  box-shadow: 0 0 0 3px rgba(215,180,95,.08), inset 0 1px 0 rgba(255,255,255,.025) !important;
  outline: none !important;
}

/* Cards become calmer and more spacious */
#homeView #catalog article.card {
  overflow: hidden !important;
  border-color: rgba(215,180,95,.20) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.30) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

@media (hover:hover) {
  #homeView #catalog article.card:hover {
    transform: translateY(-2px);
    border-color: rgba(237,207,131,.36) !important;
    box-shadow: var(--rg-soft-shadow-hover) !important;
  }
}

#homeView #catalog article.card .photo,
.photo {
  background: linear-gradient(145deg, #191713, #0b0b0c) !important;
  border: 1px solid rgba(215,180,95,.13) !important;
  box-shadow: inset 0 0 24px rgba(215,180,95,.035) !important;
}

#homeView #catalog article.card .photo img,
.photo img,
.modal-photo {
  image-rendering: auto !important;
  filter: none !important;
}

/* Typography */
.card h3,
.modaltitle,
.form-card h2,
.profile-name,
.contest-title,
h1,h2,h3 {
  color: #faf9f5 !important;
  letter-spacing: -.01em !important;
}

.meta-line,
.form-card p,
.profile-location,
.profile-menu small,
.wizard-count,
.empty,
.notification-item p,
.notification-item small {
  color: var(--rg-muted) !important;
}

.stat strong,
.rg-referral-title,
.panel b,
.wrap h3 {
  color: var(--rg-champagne) !important;
}

/* Tabs keep status meaning but inactive state is cleaner */
#homeView .tab:not(.active) {
  background: rgba(17,17,19,.88) !important;
  border-color: rgba(215,180,95,.16) !important;
  color: #c9c7c0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018) !important;
}

#homeView .tab:not(.active):hover {
  border-color: rgba(215,180,95,.30) !important;
  color: #ece8dd !important;
}

/* Navigation */
.nav button {
  transition: color .16s ease, background .16s ease !important;
}

.nav button.active {
  color: var(--rg-champagne) !important;
  text-shadow: 0 0 14px rgba(215,180,95,.14) !important;
}

/* Modals */
.modal {
  background: rgba(0,0,0,.74) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.modalbox,
.rg-profile-window-box,
.rg-admin-window-box,
.rg-legal-window-box,
.rg-mode-window-box,
.photo-editor-box,
.rg-legal-consent-box {
  border-color: rgba(237,207,131,.28) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.015) !important;
}

.close {
  background: rgba(24,24,27,.92) !important;
  border: 1px solid rgba(215,180,95,.18) !important;
  color: #e8e4da !important;
  box-shadow: none !important;
}

/* Public about page */
.wrap .top,
.top {
  border-color: rgba(215,180,95,.18) !important;
}

.wrap .brand {
  color: var(--rg-champagne) !important;
}

.wrap .hero h1 {
  color: #faf8f2 !important;
  letter-spacing: -.025em !important;
}

.wrap .hero p,
.wrap .lead,
.wrap .footer {
  color: #aaa8a1 !important;
}

.wrap .btn {
  border-radius: 12px !important;
  padding: 12px 18px !important;
}

.wrap .panel,
.wrap .card,
.wrap .note,
.wrap .docs a {
  border-radius: 16px !important;
}

/* Legal pages */
.wrap .rg-rgr-logo {
  background: linear-gradient(145deg, #1d1910, #0d0c0a) !important;
  border-color: rgba(237,207,131,.34) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Mobile polish */
@media (max-width: 899px) {
  body {
    font-size: 14px !important;
  }

  .app {
    border-left-color: rgba(215,180,95,.08) !important;
    border-right-color: rgba(215,180,95,.08) !important;
  }

  #homeView.view.active {
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  #homeView .stat,
  #homeView .tab,
  #homeView .search,
  #homeView .rg-ad-banner,
  #homeView #catalog article.card {
    border-color: rgba(215,180,95,.18) !important;
  }

  #homeView .stat {
    box-shadow: 0 7px 18px rgba(0,0,0,.22) !important;
  }

  #homeView #catalog article.card {
    box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  }

  .bottom {
    background: rgba(9,9,10,.94) !important;
  }
}

/* Desktop polish */
@media (min-width: 900px) {
  .app {
    border-left-color: rgba(215,180,95,.10) !important;
    border-right-color: rgba(215,180,95,.10) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.35) !important;
  }

  #homeView.view.active {
    padding: 24px 26px 28px !important;
  }

  #homeView .stat {
    border-radius: 16px !important;
  }

  #homeView .tab,
  #homeView .search {
    border-radius: 12px !important;
  }

  #homeView .rg-ad-banner {
    border-radius: 16px !important;
  }

  #homeView #catalog article.card {
    border-radius: 17px !important;
  }

  #homeView #catalog article.card .photo {
    border-radius: 13px !important;
  }

  #homeView #catalog article.card .join-btn {
    border-radius: 10px !important;
  }

  .modalbox {
    border-radius: 22px !important;
  }
}


/* Desktop edge cleanup v5: remove empty side gutters, keep content centered,
   and continue the two gold guide lines through the header to the top. */
@media (min-width:900px){
  html,body{
    background:#080809!important;
  }

  .app{
    width:100%!important;
    max-width:none!important;
    margin:var(--rg-desktop-head-h) 0 0!important;
    border-left:0!important;
    border-right:0!important;
    box-shadow:none!important;
    background:#080809!important;
  }

  .rg-desktop-header{
    background:#080809!important;
  }

  .rg-desktop-header-inner{
    width:min(1440px,100%)!important;
    max-width:1440px!important;
    margin:0 auto!important;
  }

  #homeView.view.active,
  #createView.view.active,
  #participationsView.view.active,
  #notificationsView.view.active,
  #profileView.view.active,
  #adminView.view.active,
  #contestView.view.active{
    width:min(1440px,100%)!important;
    max-width:1440px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body::before,
  body::after{
    content:"";
    position:fixed;
    top:0;
    bottom:0;
    width:1px;
    background:rgba(215,180,95,.18);
    pointer-events:none;
    z-index:100001;
  }

  body::before{left:max(0px,calc(50% - 720px));}
  body::after{right:max(0px,calc(50% - 720px));}
}


/* Desktop header line v6: keep the gold divider only inside the 1440px content frame. */
@media (min-width:900px){
  #rgDesktopHeader,
  .rg-desktop-header{
    border-bottom:0!important;
    box-shadow:none!important;
  }

  .rg-desktop-header-inner{
    position:relative!important;
  }

  .rg-desktop-header-inner::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:rgba(215,180,95,.18);
    box-shadow:0 0 12px rgba(215,180,95,.08);
    pointer-events:none;
  }
}


/* v7 — fully remove the desktop divider under the header */
@media (min-width:900px){
  #rgDesktopHeader,
  .rg-desktop-header{
    border-bottom:0!important;
    box-shadow:none!important;
  }

  .rg-desktop-header-inner::after{
    content:none!important;
    display:none!important;
  }
}


/* =========================================================
   v8 — STRICT UNIFORM GOLD EDGES
   One border + one glow for all ordinary framed UI.
   Semantic status colors and filled CTA buttons stay separate.
   ========================================================= */
:root{
  --rg-uniform-edge:rgba(215,180,95,.30);
  --rg-uniform-glow:0 0 0 1px rgba(215,180,95,.035),
                    0 0 12px rgba(215,180,95,.085);
}

/* Main framed surfaces */
.app .stat,
.app .card,
.app .form-card,
.app .profile-card,
.app .contest-page,
.app .profile-menu button,
.app .profile-contest-item,
.app .participation-card,
.app .notification-item,
.app .admin-item,
.app .admin-stat,
.app .create-channel-option,
.app .create-channel-empty,
.app .bot-info-row,
.app .organizer-reputation,
.app .fairness-proof,
.app .giveaway-results,
.app .rg-ad-banner,
.app .photo,
.app .modalmeta > div,
.app .profile-stats > div,
.modalbox,
.rg-profile-window-box,
.rg-admin-window-box,
.rg-legal-window-box,
.rg-mode-window-box,
.photo-editor-box,
.rg-legal-consent-box,
#contestView .contest-meta > div,
#contestView .contest-description,
#modalContent .conditions,
#profileWindowContent[data-section="pro"] .rg-pro-card,
#rgModeWindow .rg-mode-choice,
.panel,
.card,
.note,
.docs a,
.wrap .rg-rgr-logo{
  border-color:var(--rg-uniform-edge)!important;
  box-shadow:var(--rg-uniform-glow)!important;
}

/* Ordinary outlined controls */
.app .icon-btn,
.app .filter-btn,
.app .secondary,
.app .contest-back,
.app .rg-view-back,
.app .rg-window-back,
.app .photo-upload,
.app .participation-open,
.app .admin-actions button,
.app .admin-buttons button,
.app .admin-manage button,
.app .admin-contact,
.app .admin-edit,
.rg-mode-window button,
.photo-editor button,
.rg-legal-consent button,
.btn,
.docs a,
.wrap nav button,
#rgDesktopHeader .rg-desktop-nav button,
#rgDesktopHeader .rg-desktop-nav .rg-desktop-public-link{
  border-color:var(--rg-uniform-edge)!important;
  box-shadow:var(--rg-uniform-glow)!important;
}

/* Keep the same exact glow during interaction, instead of brightening. */
.app .icon-btn:is(:hover,:focus,:focus-visible,:active),
.app .filter-btn:is(:hover,:focus,:focus-visible,:active),
.app .secondary:is(:hover,:focus,:focus-visible,:active),
.app .contest-back:is(:hover,:focus,:focus-visible,:active),
.app .rg-view-back:is(:hover,:focus,:focus-visible,:active),
.app .rg-window-back:is(:hover,:focus,:focus-visible,:active),
.app .photo-upload:is(:hover,:focus,:focus-visible,:active),
.app .participation-open:is(:hover,:focus,:focus-visible,:active),
.app .admin-actions button:is(:hover,:focus,:focus-visible,:active),
.app .admin-buttons button:is(:hover,:focus,:focus-visible,:active),
.app .admin-manage button:is(:hover,:focus,:focus-visible,:active),
.btn:is(:hover,:focus,:focus-visible,:active),
.docs a:is(:hover,:focus,:focus-visible,:active),
.wrap nav button:is(:hover,:focus,:focus-visible,:active),
#rgDesktopHeader .rg-desktop-nav button:is(:hover,:focus,:focus-visible,.active),
#rgDesktopHeader .rg-desktop-nav .rg-desktop-public-link:is(:hover,:focus-visible){
  border-color:var(--rg-uniform-edge)!important;
  box-shadow:var(--rg-uniform-glow)!important;
}

/* Inputs use the same edge and glow as every other framed element. */
input,
textarea,
select,
.search,
.my-giveaway-edit input,
.my-giveaway-edit textarea,
.my-giveaway-edit select{
  border-color:var(--rg-uniform-edge)!important;
  box-shadow:var(--rg-uniform-glow)!important;
}
input:focus,
textarea:focus,
select:focus,
.search:focus{
  border-color:var(--rg-uniform-edge)!important;
  box-shadow:var(--rg-uniform-glow)!important;
  outline:none!important;
}

/* Preserve semantic colors for giveaway states. */
#homeView .tab[data-sort="new"].active,
#homeView .tab[data-sort="popular"].active,
#homeView .tab[data-sort="soon"].active,
#homeView .tab[data-sort="completed"].active,
.badge.new-blue,
.badge.active-green,
.badge.soon,
.badge.finished,
.admin-status.active,
.admin-status.pending,
.admin-status.rejected,
.admin-status.completed,
.admin-status.finished{
  /* Intentionally left to their status-specific styles. */
}

/* Filled primary actions remain visually distinct, but their outer glow is fixed. */
#homeView #catalog article.card .join-btn,
#createView .create-btn,
#contestView .mainjoin,
.modal .mainjoin,
.app .create-btn{
  box-shadow:0 0 0 1px rgba(215,180,95,.035),
             0 0 12px rgba(215,180,95,.085)!important;
}


/* =========================================================
   v9 — ONE GLOW SIZE EVERYWHERE
   Geometry is identical: 1px edge + 12px halo.
   Colors may differ only for semantic status elements.
   ========================================================= */
:root{
  --rg-glow-line-size:1px;
  --rg-glow-halo-size:12px;
  --rg-uniform-edge:rgba(215,180,95,.30);
  --rg-uniform-ring:rgba(215,180,95,.035);
  --rg-uniform-halo:rgba(215,180,95,.085);
  --rg-uniform-glow:0 0 0 var(--rg-glow-line-size) var(--rg-uniform-ring),
                    0 0 var(--rg-glow-halo-size) var(--rg-uniform-halo);
}

/* Side guide lines use exactly the same glow geometry as cards and controls. */
@media (min-width:900px){
  body::before,
  body::after{
    width:1px!important;
    background:var(--rg-uniform-edge)!important;
    box-shadow:var(--rg-uniform-glow)!important;
  }
}

/* Gold-accented elements that previously had their own stronger/weaker halo. */
#rgStartupLoader .rg-loader-box,
#notice,
.rg-referral-box,
.create-channel-option.selected,
.rg-consent-rgr-logo,
#rgModeWindow .rg-mode-logo,
.rg-admin-user-avatar,
.rg-pro-stats-lock,
.step b,
.badge:not(.new-blue):not(.active-green):not(.soon):not(.finished):not(.hot){
  box-shadow:var(--rg-uniform-glow)!important;
}

/* Keep exactly the same size on hover/focus/active. */
#rgStartupLoader .rg-loader-box:is(:hover,:focus-within),
#notice:is(:hover,:focus-within),
.rg-referral-box:is(:hover,:focus-within),
.create-channel-option.selected:is(:hover,:focus,:focus-visible,:active),
.rg-consent-rgr-logo:is(:hover,:focus-within),
#rgModeWindow .rg-mode-logo:is(:hover,:focus-within),
.rg-admin-user-avatar:is(:hover,:focus,:focus-visible,:active),
.rg-pro-stats-lock:is(:hover,:focus-within),
.step b:is(:hover,:focus,:focus-visible,:active){
  box-shadow:var(--rg-uniform-glow)!important;
}

/* Semantic status glows keep their colors but use the same 1px + 12px geometry. */
.badge.new-blue,
#homeView .tab[data-sort="new"].active{
  box-shadow:0 0 0 1px rgba(104,211,245,.10),
             0 0 12px rgba(104,211,245,.18)!important;
}
.badge.active-green,
#homeView .tab[data-sort="popular"].active{
  box-shadow:0 0 0 1px rgba(60,220,125,.10),
             0 0 12px rgba(60,220,125,.18)!important;
}
.badge.soon,
#homeView .tab[data-sort="soon"].active{
  box-shadow:0 0 0 1px rgba(255,120,30,.10),
             0 0 12px rgba(255,120,30,.18)!important;
}
.badge.finished,
#homeView .tab[data-sort="completed"].active{
  box-shadow:0 0 0 1px rgba(235,72,72,.10),
             0 0 12px rgba(235,72,72,.18)!important;
}

/* Primary gold buttons use the exact same geometry too. */
#homeView #catalog article.card .join-btn,
#createView .create-btn,
#contestView .mainjoin,
.modal .mainjoin,
.app .create-btn{
  box-shadow:var(--rg-uniform-glow)!important;
}
