/* Red-gold parity layer: red-gold luxury style must visually match the red-gold reference. */
body {
  color: #fff3c0;
  background:
    radial-gradient(circle at 15% 5%, rgba(255, 206, 82, 0.22), transparent 28rem),
    radial-gradient(circle at 86% 18%, rgba(255, 122, 27, 0.18), transparent 24rem),
    linear-gradient(135deg, #190000 0%, #520303 45%, #2a0000 100%);
  overflow-x: hidden;
}

body::before {
  animation: rgStars 18s linear infinite;
  background-image:
    radial-gradient(circle, rgba(255, 218, 100, 0.42) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255, 70, 20, 0.22) 0 1px, transparent 1.5px);
  background-position: 0 0, 18px 20px;
  background-size: 44px 44px, 72px 72px;
  content: "";
  inset: 0;
  opacity: 0.42;
  pointer-events: none;
  position: fixed;
  z-index: -2;
}

body::after {
  animation: rgSweep 8s ease-in-out infinite;
  background: linear-gradient(100deg, transparent 0%, rgba(255, 220, 130, 0.07) 45%, transparent 60%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: fixed;
  transform: translateX(-120%);
  z-index: -1;
}

@keyframes rgStars {
  to {
    background-position: 0 88px, 18px 164px;
  }
}

@keyframes rgSweep {
  40%,
  100% {
    transform: translateX(120%);
  }
}

.site-header {
  background: linear-gradient(180deg, rgba(118, 0, 0, 0.94), rgba(60, 0, 0, 0.98));
  border: 1px solid rgba(255, 213, 104, 0.55);
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  box-shadow:
    0 0 0 3px rgba(98, 0, 0, 0.4),
    0 22px 80px rgba(0, 0, 0, 0.5),
    inset 0 0 70px rgba(255, 191, 64, 0.18);
  margin: 18px auto 0;
  max-width: 1180px;
  overflow: hidden;
  position: relative;
  width: min(1180px, calc(100% - 32px));
}

.topline {
  background: linear-gradient(90deg, #2b0000, #690000, #320000);
  max-width: none;
  min-height: 40px;
}

.topline a {
  background: rgba(57, 0, 0, 0.36);
  border-color: rgba(255, 205, 88, 0.48);
  border-radius: 8px;
  min-height: 34px;
}

.site-header-inner {
  background: linear-gradient(180deg, #7b0301 0%, #4d0100 100%);
  border-bottom: 1px solid rgba(255, 211, 106, 0.45);
  max-width: none;
  min-height: 62px;
}

.brand-mark {
  background: linear-gradient(180deg, #fff7be 0%, #ffd65c 38%, #d68115 72%, #fff1a4 100%);
  -webkit-background-clip: text;
  color: transparent;
  font-family: var(--font-display);
  font-size: 24px;
  letter-spacing: 2px;
  text-shadow: 0 3px 0 rgba(108, 14, 0, 0.65), 0 0 22px rgba(255, 220, 105, 0.38);
}

.site-nav {
  background: rgba(255, 214, 109, 0.28);
  border: 1px solid rgba(255, 225, 140, 0.25);
  border-radius: 10px;
  gap: 1px;
  overflow: hidden;
}

.site-nav a {
  background: linear-gradient(180deg, #bb130c, #790100);
  border-radius: 0;
  color: #ffe7a0;
  font-size: 14px;
  font-weight: 1000;
  justify-content: center;
  min-height: 44px;
  min-width: 76px;
  padding: 9px 12px;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  background: linear-gradient(180deg, #fff0a5, #db850f);
  color: #7a0000;
  transform: none;
}

.brand-stage {
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 215, 92, 0.24), transparent 22rem),
    linear-gradient(180deg, #7b0301 0%, #4d0100 100%);
  border: 1px solid rgba(255, 213, 104, 0.55);
  border-top: 0;
  box-shadow:
    0 0 0 3px rgba(98, 0, 0, 0.4),
    0 18px 60px rgba(0, 0, 0, 0.38),
    inset 0 0 70px rgba(255, 191, 64, 0.14);
  margin: 0 auto 14px;
  max-width: 1180px;
  padding: 20px 22px 16px;
  position: relative;
  width: min(1180px, calc(100% - 32px));
}

.brand-stage::before,
.brand-stage::after {
  color: rgba(255, 212, 100, 0.18);
  content: var(--rg-brand-watermark);
  filter: drop-shadow(0 0 18px rgba(255, 180, 55, 0.32));
  font-family: serif;
  font-size: 82px;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 10px;
}

.brand-stage::before {
  left: 22%;
  transform: scaleX(-1) rotate(-6deg);
}

.brand-stage::after {
  right: 22%;
  transform: rotate(-6deg);
}

.brand-stage .kicker {
  color: #ffe79b;
}

.brand-stage h1 {
  background: linear-gradient(180deg, #fff7be 0%, #ffd65c 38%, #d68115 72%, #fff1a4 100%);
  -webkit-background-clip: text;
  color: transparent;
  font-family: var(--font-display);
  font-size: clamp(38px, 5vw, 76px);
  letter-spacing: 4px;
  text-shadow: 0 3px 0 rgba(108, 14, 0, 0.65), 0 0 28px rgba(255, 220, 105, 0.42);
}

.brand-stage p {
  color: #fff3b7;
}

.brand-stage-actions a,
.home-utility-actions a:first-child,
.post-filter-bar button,
.account-actions a:first-child,
.account-actions button:first-child,
.auth-form button,
.access-purchase-form button,
.account-workflow-head button {
  background: linear-gradient(180deg, #ff5b2d, #ba0805);
  border-color: rgba(255, 226, 132, 0.64);
  box-shadow: inset 0 1px 0 rgba(255, 246, 191, 0.38), 0 6px 14px rgba(0, 0, 0, 0.26);
  color: #fff7d6;
  font-weight: 1000;
}

.brand-stage-actions a {
  background: linear-gradient(180deg, #fff4bd, #ffbf35);
  color: #7a0000;
  min-height: 44px;
}

.content-shell,
.post-detail-shell {
  max-width: 1120px;
}

.draw-strip,
.posts-panel,
.draw-detail-panel,
.draw-history-panel,
.content-heading,
.post-filter-bar,
.post-list-panel,
.post-detail,
.gallery-panel,
.panel-notice,
.auth-panel,
.account-access-panel,
.account-summary-panel,
.account-panel,
.account-link-panel,
.home-utility-card {
  background: linear-gradient(180deg, rgba(124, 2, 1, 0.96), rgba(67, 0, 0, 0.97));
  border: 1px solid rgba(255, 210, 103, 0.62);
  border-radius: 12px;
  box-shadow:
    0 0 0 1px rgba(120, 0, 0, 0.35),
    0 12px 24px rgba(0, 0, 0, 0.28),
    inset 0 0 22px rgba(255, 176, 65, 0.08);
  color: #fff0c3;
  overflow: hidden;
}

.section-heading,
.content-heading,
.draw-strip-head,
.post-detail-head,
.account-workflow-head {
  background: linear-gradient(180deg, #ca170d, #8c0300);
  border-bottom: 1px solid rgba(255, 210, 104, 0.45);
  color: var(--rg-ui-gold-text);
  margin: -14px -16px 12px;
  padding: 10px 14px;
}

.content-heading {
  align-items: center;
  border-left: 1px solid rgba(255, 210, 103, 0.62);
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 10px;
}

.draw-strip-head {
  margin: -10px -12px 10px;
}

.post-detail-head {
  margin: -14px -16px 12px;
  padding-bottom: 12px;
}

.account-workflow-head {
  margin: -16px -16px 12px;
}

.section-heading .kicker,
.content-heading .kicker,
.post-detail-head .kicker,
.account-workflow-head .kicker {
  color: var(--rg-ui-gold-text);
  text-shadow: 0 1px 0 rgba(72, 0, 0, 0.55);
}

.section-heading h2,
.content-heading h1,
.post-section-head h2,
.account-access-copy h2,
.account-identity h2,
.account-panel h2,
.account-link-panel h2,
.auth-copy h2,
.panel-notice h2,
.home-utility-card h2,
.draw-title h1,
.post-detail-head h1 {
  color: var(--rg-ui-gold-text);
  font-family: var(--font-body);
  font-weight: 1000;
  line-height: 1.24;
}

.content-heading h1[data-ui-icon],
.card-head > span[data-ui-icon],
.panel-title[data-ui-icon],
.post-filter-bar label span[data-ui-icon] {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.content-heading h1[data-ui-icon]::before,
.card-head > span[data-ui-icon]::before,
.panel-title[data-ui-icon]::before,
.post-filter-bar label span[data-ui-icon]::before {
  color: var(--rg-ui-icon-gold);
  content: attr(data-ui-icon);
  font-size: 13px;
  line-height: 1;
  text-shadow: 0 0 10px var(--rg-ui-icon-glow);
}

.section-heading p,
.content-heading p,
.post-detail-head p,
.auth-copy p,
.auth-switch,
.auth-message,
.account-access-copy p,
.account-identity p,
.account-panel p,
.home-utility-card p,
.panel-notice p,
.post-purchase-balance,
.post-purchase-status {
  color: #fff0c3;
}

.post-list-panel .post-list,
.posts-panel .post-list,
.content-block-list,
.draw-history-list,
.front-list,
.account-status-grid,
.account-link-list,
.gallery-grid {
  background: var(--rg-ui-ivory-panel);
  border: 1px solid var(--rg-ui-line-gold);
  border-radius: 10px;
  color: #3d1405;
  overflow: hidden;
  padding: 0 10px;
}

.post-filter-bar {
  gap: var(--rg-post-filter-gap);
  grid-template-columns: var(--rg-post-filter-columns);
  margin-bottom: 14px;
  padding: var(--rg-post-filter-padding);
}

.post-filter-actions {
  gap: var(--rg-post-filter-action-gap);
}

.post-filter-bar button,
.post-filter-actions .filter-reset {
  background: var(--rg-action-gold-bg);
  border-color: var(--rg-action-gold-border);
  box-shadow: var(--rg-action-gold-shadow);
  color: var(--rg-ui-red-text);
  min-height: 44px;
  min-width: 82px;
  padding: 8px 16px;
}

.post-filter-bar button:hover,
.post-filter-actions .filter-reset:hover,
.post-filter-bar button:focus-visible,
.post-filter-actions .filter-reset:focus-visible {
  color: var(--rg-ui-red-text-hover);
  transform: translateY(-1px);
}
