/* onyx-game-bg.css — per-game page surround (presentation only).
   Paints the game's own art behind the page on a fixed layer under a dark scrim.
   Changes no layout, sizing or overflow, so it sits cleanly under the
   onyx-desktop-play fullscreen frame (Option A). Static image: nothing animates,
   so reduced-motion needs no override. The fixed layer covers the whole viewport,
   including safe-area insets.
   Per game: <body class="ogb ..."> plus
   <style id="ogb-vars">body.ogb{--ogb-wide:url('/...wide');--ogb-portrait:url('/...portrait')}</style> */
/* Doubled class beats per-game rules such as body.sp-craftpix.onyx-arcade.oa-ground. */
html:has(> body.ogb) { background-color: #050308 !important; background-image: none !important; }
html body.ogb.ogb.ogb.ogb { background-color: transparent !important; background-image: none !important; }
/* Opaque full-viewport starfield canvases would hide the surround (same rule the old desk surround used). */
body.ogb #bgC, body.ogb #bgCanvas, body.ogb canvas.bg-stars { opacity: 0 !important; }
body.ogb::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(5, 3, 10, var(--ogb-scrim-top, .34)), rgba(5, 3, 10, var(--ogb-scrim-bottom, .66))),
    var(--ogb-wide, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (orientation: portrait) {
  body.ogb::before {
    background-image:
      linear-gradient(rgba(5, 3, 10, var(--ogb-scrim-top, .34)), rgba(5, 3, 10, var(--ogb-scrim-bottom, .66))),
      var(--ogb-portrait, var(--ogb-wide, none));
  }
}
/* Opt-in (body.ogb-panel): the Klever-suite games paint one opaque full-height panel
   (inline style on the #gc root child). Make it a translucent dark glass so the
   surround reads through while text keeps a dark backing. */
body.ogb.ogb-panel #gc > div[style*="linear-gradient(180deg"] {
  background: linear-gradient(180deg, rgba(6, 4, 12, .60), rgba(10, 8, 20, .76)) !important;
}
@media print { body.ogb::before { display: none; } }
