:root {
  color-scheme: dark;
  --video-left: 17.616%;
  --video-top: 29.310%;
  --video-width: 64.728%;
  --progress-position: 17.083%;
}

@font-face {
  font-family: "DungGeunMo";
  src: url("./font/DungGeunMo.ttf") format("truetype");
  font-display: swap;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: #1d1a1b;
}

body {
  margin: 0;
  background: #1d1a1b;
}

.artwork {
  position: relative;
  width: min(100%, 1080px);
  aspect-ratio: 2441 / 5162;
  margin: 0 auto;
  overflow: hidden;
  background: #1d1a1b;
  isolation: isolate;
}

.background,
.frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  user-select: none;
  -webkit-user-drag: none;
}

.background {
  z-index: 1;
}

.video-window {
  position: absolute;
  z-index: 2;
  top: var(--video-top);
  left: var(--video-left);
  width: var(--video-width);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 1.1%;
  background: #151313;
}

.player,
.player iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.player iframe {
  border: 0;
}

.video-window > iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.frame {
  z-index: 7;
  pointer-events: none;
}

.progress-fill {
  position: absolute;
  z-index: 3;
  top: 50.445%;
  left: 17.247%;
  width: 65.465%;
  height: 0.969%;
  border-radius: 0.15vw;
  background: #0c6f7a;
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}

.progress-track {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.progress-ui {
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
}

.progress-thumb {
  position: absolute;
  top: 49.496%;
  left: var(--progress-position);
  display: block;
  width: 2.335%;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.progress-input {
  position: absolute;
  top: 49.36%;
  left: 16.55%;
  width: 66.73%;
  height: 2.35%;
  padding: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  pointer-events: auto;
}

.progress-input:disabled {
  cursor: wait;
}

.progress-input:focus-visible {
  opacity: 0.18;
  outline: 2px solid #c9bf9f;
  outline-offset: 2px;
  background: #0c6f7a;
}

.time-display {
  position: absolute;
  top: 51.77%;
  left: 17.083%;
  display: flex;
  width: 65.67%;
  color: #c9bf9f;
  justify-content: space-between;
  font-family: "DungGeunMo", monospace;
  font-size: clamp(9px, 2.25vw, 24px);
  line-height: 1;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 1081px) {
  body {
    padding: 24px 0;
  }

  .artwork {
    box-shadow: 0 24px 90px rgba(0, 0, 0, 0.55);
  }
}
