/* RuPW v2.7 — clean, visible Perfect World inspired panel frames.
   Strong enough to read as a frame, restrained enough to keep the UI clean. */
:root{
  --pw-gold:#9b7124;
  --pw-gold-hi:#e7c45f;
  --pw-gold-soft:rgba(214,170,70,.55);
  --pw-gold-inner:rgba(229,194,101,.32);
  --pw-gold-glow:rgba(210,166,57,.16);
}

/* Complete frame: one continuous outer contour + one quiet inner contour. */
.live-status,.update-row,.panel,.news-row,.db,.features,.quick-card,.bottom-cta,.single,.archive-update-row,.featured-card,.stats,.ranking-card,.rank-classes,.podium-card,.ranking-main,.rupw-top-hero,.update-empty,.top-db-error{
  position:relative!important;
  border:2px solid var(--pw-gold)!important;
  border-radius:7px!important;
  box-shadow:
    0 0 0 1px rgba(3,10,16,.95),
    0 0 12px var(--pw-gold-glow),
    inset 0 0 0 1px rgba(245,214,124,.16),
    inset 0 0 28px rgba(210,166,57,.055),
    0 12px 30px rgba(0,0,0,.24)!important;
  background-clip:padding-box!important;
  overflow:hidden!important;
}

/* Inner gold hairline. */
.live-status::after,.update-row::after,.panel::after,.news-row::after,.db::after,.features::after,.quick-card::after,.bottom-cta::after,.single::after,.archive-update-row::after,.featured-card::after,.stats::after,.ranking-card::after,.rank-classes::after,.podium-card::after,.ranking-main::after,.rupw-top-hero::after,.update-empty::after,.top-db-error::after{
  content:"";
  position:absolute;
  inset:5px;
  z-index:8;
  pointer-events:none;
  border:1px solid var(--pw-gold-inner);
  border-radius:3px;
}

/* Four compact ornamental corner brackets + tiny center accents.
   They are deliberately geometric so they never distort with panel size. */
.live-status::before,.update-row::before,.panel::before,.news-row::before,.db::before,.features::before,.quick-card::before,.bottom-cta::before,.single::before,.archive-update-row::before,.featured-card::before,.stats::before,.ranking-card::before,.rank-classes::before,.podium-card::before,.ranking-main::before,.rupw-top-hero::before,.update-empty::before,.top-db-error::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  background:
    linear-gradient(90deg,var(--pw-gold-hi) 0 28px,transparent 28px) 8px 7px/28px 2px no-repeat,
    linear-gradient(var(--pw-gold-hi) 0 28px,transparent 28px) 8px 7px/2px 28px no-repeat,
    linear-gradient(270deg,var(--pw-gold-hi) 0 28px,transparent 28px) calc(100% - 8px) 7px/28px 2px no-repeat,
    linear-gradient(var(--pw-gold-hi) 0 28px,transparent 28px) calc(100% - 8px) 7px/2px 28px no-repeat,
    linear-gradient(90deg,var(--pw-gold-hi) 0 28px,transparent 28px) 8px calc(100% - 7px)/28px 2px no-repeat,
    linear-gradient(0deg,var(--pw-gold-hi) 0 28px,transparent 28px) 8px calc(100% - 7px)/2px 28px no-repeat,
    linear-gradient(270deg,var(--pw-gold-hi) 0 28px,transparent 28px) calc(100% - 8px) calc(100% - 7px)/28px 2px no-repeat,
    linear-gradient(0deg,var(--pw-gold-hi) 0 28px,transparent 28px) calc(100% - 8px) calc(100% - 7px)/2px 28px no-repeat;
  opacity:.96;
}

/* Keep all content above the decorative frame layers. */
.live-status>* ,.update-row>* ,.panel>* ,.news-row>* ,.db>* ,.features>* ,.quick-card>* ,.bottom-cta>* ,.single>* ,.archive-update-row>* ,.featured-card>* ,.stats>* ,.ranking-card>* ,.rank-classes>* ,.podium-card>* ,.ranking-main>* ,.rupw-top-hero>* ,.update-empty>* ,.top-db-error>*{
  position:relative;
  z-index:10;
}

@media(max-width:700px){
  .live-status,.update-row,.panel,.news-row,.db,.features,.quick-card,.bottom-cta,.single,.archive-update-row,.featured-card,.stats,.ranking-card,.rank-classes,.podium-card,.ranking-main,.rupw-top-hero,.update-empty,.top-db-error{border-width:1px!important}
  .live-status::after,.update-row::after,.panel::after,.news-row::after,.db::after,.features::after,.quick-card::after,.bottom-cta::after,.single::after,.archive-update-row::after,.featured-card::after,.stats::after,.ranking-card::after,.rank-classes::after,.podium-card::after,.ranking-main::after,.rupw-top-hero::after,.update-empty::after,.top-db-error::after{inset:4px}
}
