:root {
  color-scheme: dark;
  --space: clamp(12px, 3vw, 40px);
  --background: #101b23;
}

* { box-sizing: border-box; }

html {
  min-height: 100%;
  background: var(--background);
}

body {
  margin: 0;
  background: radial-gradient(ellipse at 13% 0%, #1c303b 0, #14232d 31%, var(--background) 68%);
}

main {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space);
  padding-top: max(var(--space), env(safe-area-inset-top));
  padding-right: max(var(--space), env(safe-area-inset-right));
  padding-bottom: max(var(--space), env(safe-area-inset-bottom));
  padding-left: max(var(--space), env(safe-area-inset-left));
}

video {
  display: block;
  width: min(1100px, 100%, calc((100vh - 2 * var(--space)) * 16 / 9));
  width: min(1100px, 100%, calc((100dvh - max(var(--space), env(safe-area-inset-top)) - max(var(--space), env(safe-area-inset-bottom))) * 16 / 9));
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #0d151b;
  border-radius: 6px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .2);
  -webkit-tap-highlight-color: transparent;
}

video:focus-visible {
  outline: 2px solid #83b7b8;
  outline-offset: 6px;
}

video:fullscreen {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
  background: #000;
}
