html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}

.clearfix:after {visibility: hidden; display: block; font-size: 0; content: ''; clear: both; height: 0; }

html { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

*, *:before, *:after {box-sizing: inherit}

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

* {
  padding: 0;
  margin: 0;
}

html {
  font-size: 61.5%;
}

body {
  font-family: 'Courier New', monospace;
  color: mistyrose;
  font-size: 1.6rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-weight: 800;
  touch-action:manipulation;
}

main {
  background: slategray;
  flex: 2;
  padding: 20px 0;
  height: max-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

main.day {
  background: rgba(255, 228, 225, 0.3);
}

img {
  width: 100%;
  display: block;
  object-fit: contain;
}

.sun, 
.moon {
  width: 35px;
  height: 35px;
  padding: 5px;
  position: absolute;
  top: 2%;
  right: 2%;
  background: none;
  border: 2px solid transparent;
}

.sun:focus,
.sun:hover, 
.sun:active {
  background: rgb(131, 143, 156);
} 

.moon:focus,
.moon:hover,
.moon:active {
  background: rgba(112, 128, 144, 0.1);
}

h1 {
  font-size: 3.3rem;
  margin: 0;
  text-shadow: 4px 4px rgba(255, 255, 255, 0.3);
  margin-bottom: 5px;
  letter-spacing: 1.7px;
}

h1.day {
  color: slategray;
  text-shadow: 4px 4px mistyrose;
}

h1::selection {
  text-shadow: none;
  background: rgba(255, 255, 255, 0.3);
  color: rgb(255, 244, 243);
}

h1.day::selection, 
p::selection, 
a::selection {
  color: white;
  background: rgba(112, 128, 144, 0.5);
}

a::selection {
  text-shadow: 2px 2px rgba(255, 228, 225, 0.3);
}

li {
  list-style: none;
}

main button {
  cursor: pointer;
  width: 100%;
  height: 100%;
  background: mistyrose;
  border: none;
  font-family: monospace;
  font-size: 2rem;
  font-weight: 800;
  transition: all 500ms cubic-bezier(0,1,0.5,1);
}

main button:active, 
main button:focus  {
  outline: none;
  background: rgb(238, 213, 210);
}

main button:hover {
  background: rgb(255, 237, 235);
}

.calculator {
  width: max-content;
  margin: 0 auto;
}

.calculator, main button, footer, footer a {
  color: rgb(82, 93, 104);
}

.display, main button {
  border-radius: 3px;
}

.display {
  width: 249px;
  height: 50px;
  background: white;
  margin: 10px 0;
  padding: 7px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-size: 2rem;
  border: 3px solid transparent;
}

.display.day {
  box-shadow: 3px 3px rgb(139, 156, 173), -2px -2px mistyrose;
}

.display p {
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  white-space: nowrap;
}
.display p::-webkit-scrollbar {
  display: none;
}

.keys {
  width: max-content;
  display: grid;
  grid-template-rows: repeat(5, 50px);
  grid-template-columns: repeat(4, 57px);
  gap: 7px;
}

.keys li:nth-child(16) {
  grid-row-end: span 2;
}

footer {
  color: slategray;
  padding: 5px;
  font-size: 1.3rem;
}

footer a {
  color: slategray;
}

a:hover {
  color: rgb(223, 176, 172);
}

@media (min-width: 600px) and (min-height: 450px) {
  h1 {
  font-size: 3.7rem;
  }

  main button, .display {
    font-size: 2.2rem;
  }

  .display.day {
    box-shadow: 4px 4px rgb(139, 156, 173), -3px -3px mistyrose;
  }

  footer {
    font-size: 1.5rem;
  }
}