:root {
  --hero: #6943FF;
  --page-bg: #1c1c1c;
  --app-bg: #1F2937;
  --label: #CCC1FF;
  --white: #FFFFFF;
  --black: #000000;
  --button-color: #3D3D3D;
  --conversion-bg: #273549;
}

* {box-sizing: border-box;}

html, body {
  margin: 0;
  min-height: 100vh;
  font-family: "Inter", sans-serif;
  background-color: var(--page-bg);
  
}

.app-wrapper {
  display: flex;
  flex-direction: column;
  max-width: 600px;
  margin: 0 auto;
  padding: clamp(24px, 5vw, 52px);
  padding-top: clamp(45px, 10vw, 115px);
  padding-bottom: clamp(45px, 10vw, 115px);
}


.container {
  background-color: var(--app-bg);
  color: var(--white);
  gap: 1rem;
  padding: 2rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

#app-header {
  background-color: var(--hero);
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#app-title {font-size: 1.5rem;}

.buttons {
  background-color: var(--white);
  color: var(--button-color);
  border: none;
  padding: 0.5rem 1.25rem;
  border-radius: 4px;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.1s ease;
}

.buttons:active {transform: scale(0.90);}
.buttons:hover {background-color: var(--label);}

input[type="text"] {
  appearance: textfield;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
  padding: 0.5rem;
  border: 1px solid var(--label);
  border-radius: 4px;
  background-color: var(--hero);
  color: var(--white);
  font-size: 1.25rem;
  font-weight: bold;
  font-family: inherit;
  text-align: center;
  width: 40%;
  min-width: 0.5rem;
  box-shadow: 0 0 1px var(--black);
  transition: width 0.3s ease, box-shadow 0.1s ease;
}

input[type="text"]:active, input[type="text"]:focus  {
  outline: none;
  border-color: var(--label);
  box-shadow: 0 0 2px var(--black); 
  width: 60%;
}

input[type="text"]::placeholder {
  color: var(--label);
  opacity: 1;
}


.conversion-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}

h2 {
  margin: 0;
  font-size: 1.25rem;
  color: var(--label)
}

.conversion-result {
  background-color: var(--conversion-bg);
  color: var(--white);
  padding: 0.5rem;
  border-radius: 4px;
  font-size: 1rem;
}

@media (min-width: 768px) {
  input[type="text"] {font-size: 2rem;}
}
@media (min-width: 1024px) {
  input[type="text"] {font-size: 2.5rem;}
}