  * { margin: 0; padding: 0; box-sizing: border-box; }

  fafa-animation-body {
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    font-family: monospace;
  }

  #animation-container-fafa {
    position: relative;
    width: 800px;
    height: 450px;
    overflow: hidden;
    cursor: pointer;   /* signals click-to-replay once animation has stopped */
  }

  canvas {
    display: block;
    width: 800px;
    height: 450px;
  }

  /* CRT scanline texture — CSS overlay, zero JS cost */
  #scanlines {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(0, 0, 0, 0.07) 3px,
      rgba(0, 0, 0, 0.07) 4px
    );
    pointer-events: none;
    z-index: 2;
  }

  /* Vignette — darkens corners, adds depth */
  #vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(
      ellipse at 50% 50%,
      transparent 45%,
      rgba(0, 0, 0, 0.55) 100%
    );
    pointer-events: none;
    z-index: 3;
  }

  /* "ON AIR" fafa-animation-badge — shows during logo hold phase */
  #badge {
    position: absolute;
    top: 18px;
    right: 22px;
    background: #00a8a0;   /* fa/fa teal — the logo's accent colour */
    color: #fff;
    font: 900 11px/1 'Courier New', monospace;
    letter-spacing: 0.18em;
    padding: 5px 9px 4px;
    border-radius: 2px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 4;
  }
  #badge.visible { opacity: 1; }

  /* Timecode readout */
  #tc {
    position: absolute;
    bottom: 14px;
    left: 18px;
    color: rgba(255,255,255,0.35);
    font: 10px/1 'Courier New', monospace;
    letter-spacing: 0.05em;
    pointer-events: none;
    z-index: 4;
  }

#dashboard-wrapper-fafa {
  width: 800px;
  margin: 0; /* Change to 0 auto to center in colspan */
  display: grid;
  grid-template-areas: "stack";
  grid-template-rows: max-content; /* Forces the grid track to fit the content exactly */
  position: relative;
  height: auto;           /* Ensure it only takes the space it needs */
  min-height: auto;      /* Remove the 100vh which was causing the large gap */
  margin-bottom: 30px;    /* Sets the gap to exactly 30px (allowable 20-40px) */
  overflow: visible;
}
