:root{
  --blue: #0000ff;
  --radius: 0px; /* square everything */
}


*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background: #000;
  font-family: "mm2";
}

@font-face {
  font-family: "mm2";
  src: url("fonts/super-mario-maker-2.ttf") format("truetype");
}

.wrap{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 22px;
}

.player{
  width: min(1100px, 100%);
  display: grid;
  gap: 22px;
  align-items: center;
}

@media (orientation: landscape){
  .player{ grid-template-columns: 420px 1fr; }
  .art{ height: 420px; }
}

@media (orientation: portrait){
  .player{
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .art{
    width: min(420px, 92vw);
    height: min(420px, 92vw);
    margin-top: -10px;
  }
  .panel{ width: min(640px, 100%); }
}

.art{
  width: 100%;
  border: 4px solid var(--blue);
  background: #000;
  border-radius: 0;
  overflow: hidden;

  border: 4px solid var(--blue);
  padding: 0;
  cursor: pointer;
  outline: none;

  display:flex;
  align-items:center;
  justify-content:center;
}

.art.dragover{
  box-shadow: 0 0 0 3px #00ff00;
}

.art img{
  width: 100%;
  height: 100%;
  display:block;
  object-fit: cover;
  object-position: center;
}

.panel{
  display:flex;
  flex-direction: column;
  gap: 14px;
}

.meta{
  text-align: center;
}
.title{
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .2px;
  line-height: 1.15;
  color: var(--blue);
  word-break: break-word;
}
.artist{
  margin-top: 6px;
  font-size: 14px;
  color: #0000ff;
}

.scrub{
  display:flex;
  flex-direction: column;
  gap: 8px;
}

.time{
  display:flex;
  justify-content: space-between;
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
  color: var(--blue);
  font-size: 12px;
}

.bar{
  position: relative;
  height: 6px;
  background: #666666;
  border-radius: 0;
  cursor: pointer;
  outline: none;
}

.fill{
  position:absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  background: var(--blue);
  border-radius: 0;
}

.handle{
  position:absolute;
  top: 50%;
  left: 0%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  border-radius: 0px;
  background: var(--blue);
}

.bar.nofile{
  background: var(--blue);
  cursor: default;
}
.bar.nofile .fill{
  width: 100% !important;
}
.bar.nofile .handle{
  display: none;
}

/* !important our lord and savier */
.controls{
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

#playPauseBtn{
  position: relative;
  width: 64px !important;
  height: 64px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  background: transparent !important;
}

#loopBtn{
  position: absolute;
  left: 0;
  width: 28px !important;
  height: 28px !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#playPauseIcon{
  width: 55px !important;
  height: 55px !important;
}

#loopIcon{
  width: 35px !important;
  height: 35px !important;
}

/* i didn't even know this could even be an issue before today */
.art{
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
}

@media (orientation: landscape){
  .art{
    width: 420px !important;
    max-width: 100% !important;
  }
}

@media (orientation: portrait){
  .art{
    width: min(420px, 92vw) !important;
    max-width: 92vw !important;
  }
}
