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

:root {
  --red: linear-gradient(
    270deg,
    #4a1212 0%,
    #6a1413 4%,
    #c5222d 25.5%,
    #e32635 32.5%,
    #df0021 56.44%,
    #b70a14 76.71%,
    #260d0e 100%
  );
  --orange: linear-gradient(
    270deg,
    #481700 0%,
    #a6420e 4%,
    #fbba35 32.08%,
    #faa109 56.44%,
    #cb5d00 76.71%,
    #4d260e 100%
  );
  --yellow: linear-gradient(
    270deg,
    #894f1b 0%,
    #bc7a18 4%,
    #ffe60a 32.08%,
    #dc9f09 84%,
    #6c3c1a 100%
  );
  --green: linear-gradient(
    270deg,
    #0b1b11 0%,
    #084122 4%,
    #50af5e 32.08%,
    #0e712f 56.44%,
    #094724 76.71%,
    #0b1b11 100%
  );
  --blue: linear-gradient(
    270deg,
    #122d55 0%,
    #004f9a 4%,
    #4b93ea 32.08%,
    #006cc3 56.44%,
    #0055ad 76.71%,
    #11213c 100%
  );
  --pink: linear-gradient(
    270deg,
    #6d1031 0%,
    #a30049 4%,
    #e64185 32.08%,
    #be005d 56.44%,
    #b1004c 76.71%,
    #581229 100%
  );
  --purple: linear-gradient(
    270deg,
    #0e0d27 0%,
    #1c1855 4%,
    #7e5ca1 32.08%,
    #402578 56.44%,
    #2a1c6c 76.71%,
    #171751 100%
  );
  --gray: linear-gradient(
    270deg,
    #1d1d1e 0%,
    #767677 4%,
    #dfe0e1 32.08%,
    #a0a0a1 56.44%,
    #89898b 76.71%,
    #484749 100%
  );
}


body,
#ipodify-home,
#oauth-template {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  background-color: #000100;
  color: #fff;
}

body,
html,
#ipodify-home,
#ipod-body,
#main-body,
#screen,
#controls img {
  width: 100%;
  height: 100%;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#ipod {
  position: relative;
  width: 238px;
  height: 549.5px;
  color: #111;
}

#ipod-body {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: -52.5px 6px 6px 0px rgba(0, 0, 0, 0.1) inset;
  border-radius: 10px;
}

#top-body {
  height: 1%;
  width: 100%;
  border-radius: 60% 60% 0 0;
}

#bottom-body {
  height: 1%;
  width: 100%;
  border-radius: 0 0 60% 60%;
}

#main-body {
  display: flex;
  padding: 16.5px 0 0;
  flex-direction: column;
  align-items: center;
}

#screen-wrapper {
  width: 87.39%;
  height: 55.88%;
  max-height: 304px;
  display: flex;
  padding: 12px;
  justify-content: center;
  align-items: center;
  border-radius: 7.5px;
  background: linear-gradient(
    90deg,
    #070002 0%,
    #484b47 45.61%,
    #5d6462 71%,
    #000100 78.5%,
    #060102 100%
  );
}

#screen {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  overflow: hidden;
}

#screen-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 0 0;
  align-self: stretch;
  overflow-y: scroll;
}

#screen-content .option {
  width: 100%;
  height: 9.88%;
  display: flex;
  align-items: center;
  padding: 2px 10px;
  font-weight: 600;
  font-size: 14px;
}

.option .text {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

#screen-content .option:hover,
#screen-content .option:active {
  color: #fff;
  background: linear-gradient(180deg, #1b8fb8 0%, #0c69c0 100%);
  cursor: pointer;
}

#controls {
  position: absolute;
  width: 165px;
  height: 163.5px;
  bottom: 30px;
  right: 36px;
}

#controls svg {
  fill: #fff;
}

#controls button {
  background-color: transparent;
  position: absolute;
  padding: 20px 5px;
}

#controls button svg {
  height: 11px;
  fill: #484f56;
}

#controls #forward {
  top: 34%;
  right: 0;
}

#controls #back {
  top: 34%;
  left: 0;
}

#controls #play {
  left: 35%;
  bottom: -8px;
}

#controls #menu {
  left: 35%;
  top: -5px;
  font-size: 11.5px;
  font-weight: 600;
  color: #484f56;
}

#controls #select {
  width: 84.8px;
  height: 83.5px;
  border-radius: 100%;
  left: 50%;
  top: 50%;
  margin: -41.21px -41.91px;
  background-color: transparent;
  box-shadow: 0px 16px 48px rgba(15, 15, 15, 0.4) inset;
}

#status-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
  width: 100%;
  height: 7%;
  max-height: 15px;
  border-bottom: 1px solid #9a999c;
  background: linear-gradient(180deg, #f7f5f6 0%, #c1c1c1 100%);
  font-size: 10px;
}

.battery {
  height: 60%;
}

#color-settings {
  position: fixed;
  left: 20px;
  top: 50%;
  margin-top: -220px;
  gap: 12px;
  display: flex;
  flex-direction: column;
}

#color-settings button {
  width: 44px;
  height: 44px;
  border-radius: 10px;
}

button {
  cursor: pointer;
}

.red {
  background: var(--red);
}

.orange {
  background: var(--orange);
}

.yellow {
  background: var(--yellow);
}

.green {
  background: var(--green);
}

.blue {
  background: var(--blue);
}

.pink {
  background: var(--pink);
}

.purple {
  background: var(--purple);
}

.gray {
  background: var(--gray);
}

#slider {
  position: relative;
  display: flex;
  flex: 1 0 0;
  align-self: stretch;
  width: 100%;
}

#slide-track {
  width: max-content;
  display: flex;
  align-items: center;
  align-self: stretch;
  will-change: transform;
}

#slide-track img {
  max-width: 78px;
  max-height: 78px;
}

@keyframes scroll {
  to {
    transform: translate(calc(-50%));
  }
}

button {
  color: #b2b2b2;
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 8px 18px;
  font-size: 16px;
  font-weight: 500;
  font-family: inherit;
  background-color: #3b3b3b;
  cursor: pointer;
  transition: border-color 0.25s;
}

button:hover:not(#controls button) {
  color: #fafafa;
  border-color: #818181;
}

button:focus:not(#controls button) {
  outline: 4px auto #1d4cb9;
}

#logout {
  position: fixed;
  top: 10px;
  right: 10px;
}

#intro {
  width: 500px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#intro h1 {
  font-size: 72px;
  margin-bottom: 10px;
}

#intro p {
  margin-bottom: 30px;
}