/* PL flip-dot board — jeden CSS dla wszystkich palet (classic.css). Kolory z --flipdot-* */

:root {
  --board-bg: #000000;
}

.flipdot-board {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flipdot-answer-board {
  position: relative;
  background: none;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
  --flipdot-plate-color: #000000;
  --flipdot-plate-alpha: 1;
  --flipdot-palette-bg: #000000;
  --flipdot-wallpaper: none;
  --flipdot-wallpaper-opacity: 1;
  --flipdot-plate-blur: 0px;
  --flipdot-plate-blur-bleed: 0px;
  --flipdot-plate-gutter-x: 1.75%;
  --flipdot-plate-gutter-top: 2.4%;
  --flipdot-ui-pad: 0%;
}

.flipdot-wall {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.flipdot-wall::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  background: var(--flipdot-palette-bg);
}

.flipdot-wall::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  background: var(--flipdot-wallpaper) center / contain no-repeat;
  opacity: var(--flipdot-wallpaper-opacity, 1);
  transition: opacity 0.35s ease;
}

.flipdot-board-matrix {
  position: absolute;
  top: var(--flipdot-ui-pad, 0%);
  right: var(--flipdot-ui-pad, 0%);
  bottom: var(--flipdot-ui-pad, 0%);
  left: var(--flipdot-ui-pad, 0%);
  width: auto;
  height: auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  overflow: visible;
}

.canvas-board-host {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.canvas-board-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.flipdot-plate-host {
  position: relative;
  flex: 0 0 auto;
  overflow: visible;
}

.flipdot-plate-host::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: calc(-1 * var(--flipdot-plate-gutter-top, 0%) - var(--flipdot-plate-blur-bleed, 0px));
  right: calc(-1 * var(--flipdot-plate-gutter-x, 0%) - var(--flipdot-plate-blur-bleed, 0px));
  bottom: calc(-1 * var(--flipdot-plate-blur-bleed, 0px));
  left: calc(-1 * var(--flipdot-plate-gutter-x, 0%) - var(--flipdot-plate-blur-bleed, 0px));
  background-color: var(--flipdot-plate-color, #000000);
  opacity: var(--flipdot-plate-alpha, 1);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.flipdot-plate-host--blur::before {
  -webkit-filter: blur(var(--flipdot-plate-blur, 0px));
  filter: blur(var(--flipdot-plate-blur, 0px));
}

.canvas-board-canvas {
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  /* Rozmiar CSS ustawia renderer: płyta = siatka; canvas może wystawać o shadow bleed. */
  aspect-ratio: var(--flipdot-aspect, 197 / 111);
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}
