/* Unified brass slab for in-stage panels (see docs/frontend-design-patterns.md — Panel chrome). */

/* Fallbacks when game-stage.css is absent (DevTools); otherwise --gs-* on :root supplies palette. */
:root {
  --brass-panel-backdrop-url: url("/assets/img/slab/brushed-brass-backdrop.webp?v=f8345c2d7189");
  --brass-panel-opacity: 0.8;
  --brass-panel-border-width: 2px;
  --brass-panel-border-width-nested: 2px;
  --brass-panel-border-color: rgba(var(--gs-gold-alt-rgb), 0.82);
  --brass-panel-border-color-nested: rgba(var(--gs-gold-soft-rgb), 0.74);
  --brass-panel-border: var(--brass-panel-border-width) solid var(--brass-panel-border-color);
  --brass-panel-border-nested: var(--brass-panel-border-width-nested) solid
    var(--brass-panel-border-color-nested);
  --brass-panel-nested-darken-top: rgba(0, 0, 0, 0.58);
  --brass-panel-nested-darken-bottom: rgba(0, 0, 0, 0.72);
}

/* Stage-relative weight + color (tokens must not reference --gs-* only on :root). */
.town-field.game-stage {
  --brass-panel-border-width: var(--gs-stroke);
  --brass-panel-border-width-nested: max(var(--gs-stroke), calc(var(--gs-u-h) * 0.16));
  --brass-panel-border-color: rgb(105 72 31 /50%);
  --brass-panel-border-color-nested: rgb(105 72 31 /80%);
  --brass-panel-border: var(--brass-panel-border-width) solid var(--brass-panel-border-color);
  --brass-panel-border-nested: var(--brass-panel-border-width-nested) solid
    var(--brass-panel-border-color-nested);
}

/* --- Base slab (natural brass, no recolor tint) --- */

.brass-panel {
  position: relative;
  isolation: isolate;
  border: var(--brass-panel-border);
  box-shadow:
    0 0 0 var(--brass-panel-border-width) rgba(255, 232, 188, 0.34) inset,
    0 0 0 calc(var(--brass-panel-border-width) * 2) rgba(72, 48, 24, 0.28) inset,
    0 calc(var(--gs-u-h) * 0.7) calc(var(--gs-u-h) * 2.3) rgba(0, 0, 0, 0.28);
}

.brass-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: var(--brass-panel-opacity);
  background: var(--brass-panel-backdrop-url) center / cover no-repeat;
}

.brass-panel > * {
  position: relative;
  z-index: 1;
}

/* --- Nested modifier (brass-on-brass: darkened; requires .brass-panel on same node) --- */

.brass-panel.brass-panel--nested {
  border: var(--brass-panel-border-nested);
  box-shadow:
    0 0 0 var(--brass-panel-border-width-nested) rgba(255, 224, 168, 0.28) inset,
    0 calc(var(--gs-u-h) * 0.35) calc(var(--gs-u-h) * 1.2) rgba(0, 0, 0, 0.24);
}

.brass-panel.brass-panel--nested::before {
  background:
    linear-gradient(
      180deg,
      var(--brass-panel-nested-darken-top),
      var(--brass-panel-nested-darken-bottom)
    ),
    var(--brass-panel-backdrop-url) center / cover no-repeat;
}
