@import url('https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@700&display=swap');

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

:root {
  --accent-color: #F87070;
  --background-body: #1E213F;
  --text: #D7E0FF;
  --text-dark: #1E213F;
  --background-preferences: #FFFFFF;
  --input-background: #EFF1FA;
  --background-timer: #161932;
  --settings-heading: #161932;
  --default-accent: #F87070;
  --blue-accent: #70F3F8;
  --purple-accent: #D881F8;
 
  --font-current: 'Kumbh Sans', sans-serif;
  --font-default: 'Kumbh Sans', sans-serif;
  --font-roboto-slab: 'Roboto Slab', serif;
  --font-space-mono: 'Space Mono', monospace;
}

html, body {
  height: 100%;
}

body {
  display: flex;
  justify-content: center;
  background: var(--background-body);
}

.pomodoro-app {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 667px;
  font-family: var(--font-current);
}

h1 {
  font-family: 'Kumbh Sans', sans-serif;
  color: var(--text);
  text-align: center;
  font-style: normal;
  font-weight: bold;
  font-size: 24px;
  line-height: 24px;
  margin-top: 32px;
}

.controls {
  display: flex;
  justify-content: space-between;
  background: var(--background-timer);
  border-radius: 31.5px;
  width: 327px;
  height: 63px;
  padding: 8px 6px 8px 6px;
  margin: 45px 0 48px 0;
  z-index: 100;
}

.controls__button {
  height: 48px;
  border: none;
  border-radius: 26.5px;
  background: var(--background-timer);
  padding: 0 15px 0 15px;

  font-family: var(--font-current);
  font-style: normal;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
  color: var(--text);
  mix-blend-mode: normal;
  opacity: 0.4;
}

.controls__button--active {
  color: var(--text-dark);
  opacity: 1;
  background: var(--accent-color);
}

.timer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 300px;
  border-radius: 90%;
  background: linear-gradient(315deg, #2E325A 0%, #0E112A 100%);
  box-shadow: -50px -50px 100px #272C5A, 50px 50px 100px #121530;
}

.timer__display {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 89.26%;
  width: 89.26%;
  border-radius: 90%;
  background: var(--background-timer);
}

.display__time {
  display: none;
}

.display__pause-label {
  display: none;
}

.pomodoro-app__preferences {
  margin-top: 79px;
  background: none;
  border: 0;
}

.preferences {
  z-index: 200;
  position: fixed;
  display: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.preferences--visible {
  display: block;
}

.preferences__pane {
  top: 46px;
  width: 327px;
  height: 549px;
  background: var(--background-preferences);
  border-radius: 15px;

  position: relative;
  margin: auto;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}

.preferences__pane h2 {
  padding: 24px 0 28px 24px;
  border-bottom: 1px solid #E3E1E1;
  font-family: var(--font-default);
  font-style: normal;
  font-weight: bold;
  font-size: 20px;
  line-height: 20px;
  color: var(--settings-heading);
}

.pane__close-preferences {
  border: none;
  background: none;
  position: absolute;
  right: 24px;
  top: 19px;
  color: var(--background-body);
  opacity: 0.5;
  font-size: 24px;
}

h3 {
  width: 100%;
  text-align: center;
  font-family: var(--font-default);
  font-style: normal;
  font-weight: bold;
  font-size: 11px;
  line-height: 11px;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 4.23077px;
  color: var(--settings-heading);
}

.pane__time-settings,
.pane__color-preference {
  margin-top: 28px;
}

.time-settings__form {
  margin: 18px 24px 24px 23px;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  row-gap: 8px;
}

label {
  font-family: var(--font-default);
  font-style: normal;
  font-weight: bold;
  font-size: 12px;
  line-height: 12px;
  color: var(--text-dark);
  mix-blend-mode: normal;
  opacity: 0.4;
}

input {
  width: 140px;
  height: 40px;
  padding-left: 16px;
  border: none;
  border-radius: 10px;
  background: var(--input-background);
  font-family: var();
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 14px;
  color: var(--text-dark);
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button {
  margin-right: 16px;
  -webkit-appearance: none;
  background: url("data:image/svg+xml,%3Csvg width='14' height='21' viewBox='0 0 14 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6L7 2L13 6' stroke='%231E213F' stroke-opacity='0.25' stroke-width='2'/%3E%3Cpath d='M1 15L7 19L13 15' stroke='%231E213F' stroke-opacity='0.25' stroke-width='2'/%3E%3C/svg%3E%0A") no-repeat center center;
  height: 21px;
  width: 14px;
  opacity: .5; /* shows Spin Buttons per default (Chrome >= 39) */
}

input[type="number"]::-webkit-inner-spin-button:hover,
input[type="number"]::-webkit-inner-spin-button:active{
    opacity: 1;
}

.pane__font-preference,
.pane__color-preference {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 24px 0 24px 0;
  margin: 0 24px 0 24px;
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: #E3E1E1;
}

.pane__color-preference {
  border: none;
}

.font-preference__kumbh,
.font-preference__roboto,
.font-preference__space,
.color-preference__default,
.color-preference__blue,
.color-preference__purple {
  width: 40px;
  height: 40px;
  margin: 18px 8px 0 8px;
  border: none;
  border-radius: 90%;
  font-size: 15px;
}

.font-preference__kumbh,
.font-preference__roboto,
.font-preference__space {
  background: var(--input-background);
  color: var(--text-dark);
}

.font-preference--active {
  background: var(--settings-heading);
  color: #fff;
}

.font-preference__kumbh {
  font-family: var(--font-default);
  font-weight: bold;
}

.font-preference__roboto {
  font-family: var(--font-roboto-slab);
  font-weight: normal;
}

.font-preference__space {
  font-family: var(--font-space-mono);
  font-weight: bold;
}

.color-preference--active {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L4.95263 9.45263L13.4053 1' stroke='%23161932' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
}

.color-preference__default {
  background-color: var(--default-accent);
}
.color-preference__blue {
  background-color: var(--blue-accent);
}
.color-preference__purple {
  background-color: var(--purple-accent);
}


@media screen and (min-width: 600px) {
  h1 {
    font-size: 32px;
    line-height: 32px;
    margin-top: 48px;
  }

  .pomodoro-app {
    height: 100%;
  }

  .controls {
    width: 373px;
    margin: 55px 0 45px 0;
  }

  .controls__button {
    font-size: 14px;
  }

  .timer {
    width: 410px;
    height: 410px;
  }

  .pane__close-preferences {
    right: 36px;
    top: 39px;
    font-size: 28px;
  }

  .pomodoro-app__preferences {
    margin-top: 144px;
  }

  .preferences__pane {
    top: 267px;
    width: 540px;
    height: 490px;
    border-radius: 25px;
  }

  .preferences__pane h2 {
    padding: 34px 0 31px 40px;
    font-size: 28px;
    line-height: 28px;
  }

  .time-settings__form {
    margin: 24px 40px 24px 40px;
  }

  .pane__font-preference,
  .pane__color-preference {
    margin: 0 40px 0 40px;
  }

  .pane__time-settings h3 {
    margin: 24px 40px 22px 40px;
  }

  .pane__time-settings h3,
  .pane__font-preference h3,
  .pane__color-preference h3 {
    text-align: left;
    font-size: 13px;
    line-height: 13px;
    letter-spacing: 5px;
  }

  .pane__font-preference h3,
  .pane__color-preference h3 {
    width: 300px;
    margin-top: 18px;
  }

  .font-preference__kumbh,
  .font-preference__roboto,
  .font-preference__space,
  .color-preference__default,
  .color-preference__blue,
  .color-preference__purple {
    margin: 0 8px 0 8px;
  }

  .font-preference__space,
  .color-preference__purple {
    margin: 0 0 0 8px;
  }

  





  .time-settings__form {
    margin: 18px 40px 24px 40px;
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: 12px 48px;
    column-gap: 22px;
  }
  
  label {
    grid-row: 1;
  }
  
  input {
    grid-row: 2;
  }

}

@media screen and (min-width: 769px) {
  .preferences__pane {
    top: 155px;
  }

  .pomodoro-app__preferences {
    margin-top: 163px;
  }
}