/* lib/felt.css — green poker-felt table background, shared by /create's
   preview hero + gallery curate and the gallery view in player.html.
   Add the .felt class to any element that should render the table surface;
   layout (padding, display, sizing) is up to the consumer. The colour +
   layered image are also exposed as variables so a full-bleed background
   layer (e.g. /create's body.gallery-curate::before) can reuse them without
   duplicating the gradient stack. */

:root {
  /* Base felt — slightly desaturated billiard / poker green */
  --felt-color: #1B6E37;
  /* Layered effects:
     (a) light hot-spot, like an overhead table lamp
     (b) edge vignette, dims the corners
     (c) very fine cross-hatch via two repeating-linear-gradients,
         gives a tactile felt-fibre texture without a bitmap */
  --felt-image:
    radial-gradient(75% 70% at 50% 35%, rgba(255,255,255,0.16), transparent 70%),
    radial-gradient(120% 100% at 50% 50%, transparent 55%, rgba(0,0,0,0.35) 100%),
    repeating-linear-gradient( 45deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(0,0,0,0.04)        0 1px, transparent 1px 3px);
}

.felt {
  background-color: var(--felt-color);
  background-image: var(--felt-image);
  position: relative;
  overflow: hidden;
  /* Inner shadow at the edges so the felt feels recessed below adjacent
     surfaces (cream stepbar in /create, topbar in the gallery). */
  box-shadow:
    inset 0 8px 18px rgba(0,0,0,0.20),
    inset 0 -8px 14px rgba(0,0,0,0.18);
}
