/*
  PLAYRS-SIGNALS-V2 -- CLUBS ERA SIGNALS room (/worlds/clubs-era/store/signals/).
  Same language as the artifact room (css/playrs-room-v1.css supplies the
  black/white/off-white palette, top bar and hero type). The BeatStars
  player still "sits directly in the room" (no frame, per the v1 law);
  this restyles the hero, the CSS cube fragment and the readouts only.
*/
body[data-store-scope="world"] .signals-top {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: end;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--room-line);
}
body[data-store-scope="world"] .signals-hero { padding-bottom: 0; }
body[data-store-scope="world"] .signals-fragment { --s: 132px; gap: 22px; padding-bottom: 6px; }
body[data-store-scope="world"] .signals-fragment figcaption { font-size: 9px; letter-spacing: .18em; color: var(--room-dim); }

/* readouts around the player */
body[data-store-scope="world"] .beats-signal { margin: 30px 0 40px; }
body[data-store-scope="world"] .beats-readout { padding: 14px 0; font-size: 10px; letter-spacing: .16em; color: var(--room-dim); }
body[data-store-scope="world"] .beats-readout:first-child { border-bottom: 1px solid var(--room-line); }
body[data-store-scope="world"] .beats-readout:last-child { border-top: 1px solid var(--room-line); }
body[data-store-scope="world"] #beats-status { color: var(--room-white); font-weight: 700; }
body[data-store-scope="world"] #beats-open { color: var(--room-white); font-weight: 700; }
body[data-store-scope="world"] .beats-pulse { font-weight: 700; color: var(--room-ink); }
body[data-store-scope="world"] .beats-waiting { letter-spacing: .2em; color: var(--room-dim); }

/* light theme: invert the cube fragment (light faces, dark core) */
html[data-playrs-theme="light"] body[data-store-scope="world"] .frag-face { border-color: rgba(21,21,19,.55); }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-front  { --frag-shade: #e4e1d9; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-back   { --frag-shade: #ece9e2; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-right  { --frag-shade: #f1eee8; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-left   { --frag-shade: #dcd9d1; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-top    { --frag-shade: #d4d1c8; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .f-bottom { --frag-shade: #f4f2ec; }
html[data-playrs-theme="light"] body[data-store-scope="world"] .frag-core { background: #151513; mix-blend-mode: multiply; }

@media (max-width: 760px) {
  body[data-store-scope="world"] .signals-top { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; }
  body[data-store-scope="world"] .signals-fragment { --s: 64px; gap: 10px; }
}

/* ORACLE V1 link block (between the player readouts and the footer links).
   Same scale as the page's link rows; hairline above, no card.
   The ■ is the only red; the button is the outline (secondary) style so
   OPEN IN BEATSTARS stays the primary action. */
body[data-store-scope="world"] .signals-oracle { margin: 0 0 40px; padding: 26px 0 0; border-top: 1px solid var(--room-line); }
body[data-store-scope="world"] .signals-oracle .store-eyebrow { margin: 0; font-size: 10px; letter-spacing: .16em; color: var(--room-dim); }
body[data-store-scope="world"] .signals-oracle-mark { color: #e3261c; margin-right: .55em; }
html body[data-store-scope="world"] .signals-oracle h2 { margin: 14px 0 0; font-size: 18px; font-weight: 700; letter-spacing: .05em; line-height: 1.25; color: var(--room-white); }
body[data-store-scope="world"] .signals-oracle-line { margin: 8px 0 0; font-size: 10px; font-weight: 700; letter-spacing: .16em; color: var(--room-ink); }
body[data-store-scope="world"] .signals-oracle-body { margin: 10px 0 0; max-width: 52ch; font-size: 12px; line-height: 1.6; color: var(--room-dim); }
body[data-store-scope="world"] .signals-oracle-cta {
  display: inline-block;
  margin-top: 18px;
  padding: 10px 14px;
  border: 1px solid var(--room-line-2);
  background: transparent;
  color: var(--room-white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
  text-decoration: none;
  transition: border-color 150ms ease;
}
body[data-store-scope="world"] .signals-oracle-cta:hover,
body[data-store-scope="world"] .signals-oracle-cta:focus-visible { border-color: var(--room-white); }

/* SIGNALS PAIR (desktop): the BeatStars store and the ORACLE V1 link sit
   side by side, each in a 1px hairline frame. The ORACLE frame stays in
   view beside the tall player. Below 980px the original stacked layout
   (full-bleed player, ORACLE block underneath) is unchanged. */
@media (min-width: 980px) {
  body[data-store-scope="world"] .signals-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    align-items: start;
    margin: 30px 0 40px;
  }
  body[data-store-scope="world"] .signals-pair .beats-signal {
    margin: 0;
    padding: 0 22px 4px;
    border: 1px solid var(--room-line-2);
  }
  body[data-store-scope="world"] .signals-pair .beats-frame {
    width: 100%;
    margin-left: 0;
  }
  body[data-store-scope="world"] .signals-pair .signals-oracle {
    position: sticky;
    top: 24px;
    margin: 0;
    padding: 24px 22px 26px;
    border: 1px solid var(--room-line-2);
  }
}
