@layer layout {
  body {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .slide {
    aspect-ratio: var(--slide-aspect);
    width: min(100vw, calc(100dvh * var(--slide-aspect)));
    overflow: hidden;
    position: relative;
    container-type: inline-size;
  }

  .nav-zone {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 25%;
    background: transparent;
    z-index: 1;
  }

  .nav-zone--prev {
    left: 0;
  }

  .nav-zone--next {
    right: 0;
  }

  .slide-number {
    position: absolute;
    bottom: 1.2cqw;
    left: 1.2cqw;
    font-size: 1.1cqw;
    opacity: 0.4;
    pointer-events: none;
    z-index: 2;
  }

  .slide > svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  svg rect.frame {
    fill: var(--color-bg);
  }
}
