/* Base & Typography */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Georgia', serif;
  background-color: #f5f0e8;
  color: #2c2c2c;
  min-height: 100vh;
  padding: 2rem;
}

h1 {
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
  color: #2c2c2c;
}

h2 {
  font-size: 1.2rem;
  font-weight: normal;
  color: #666;
  margin-bottom: 1.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Layout */
.container {
  max-width: 600px;
  margin: 0 auto;
}

.button-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
}

/* Buttons */
button {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-family: 'Georgia', serif;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
}

button:active {
  transform: scale(0.97);
}

#draw-btn {
  background-color: #2c7be5;
  color: white;
  flex: 1;
}

#draw-btn:hover {
  background-color: #1a5fc7;
}

#manual-btn {
  background-color: #e8e0d0;
  color: #2c2c2c;
  flex: 1;
}

#manual-btn:hover {
  background-color: #d6ccb8;
}

#start-timer-btn {
  background-color: #2c7be5;
  color: white;
  width: 100%;
  margin-top: 1rem;
  display: none;
}

#start-timer-btn:hover {
  background-color: #1a5fc7;
}

#stop-timer-btn {
  background-color: #e8e0d0;
  color: #2c2c2c;
  width: 100%;
  margin-top: 0.5rem;
  display: none;
}

#stop-timer-btn:hover {
  background-color: #d6ccb8;
}

/* Result Card */
#result {
  display: none;
  background-color: #fff8f0;
  border: 1px solid #e0d5c5;
  border-left: 4px solid #2c7be5;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  line-height: 2;
  font-size: 1.05rem;
  min-height: 60px;
}

/* Timer */
#timer {
  font-size: 3rem;
  font-weight: bold;
  color: #2c7be5;
  text-align: center;
  margin: 1rem 0;
  letter-spacing: 0.05em;
}

/* Manual Entry Section */
#manual-section {
  background-color: #fff8f0;
  border: 1px solid #e0d5c5;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  display: none;
}

label {
  display: block;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  color: #555;
}

select, input[type="number"] {
  display: block;
  width: 100%;
  margin-top: 0.4rem;
  padding: 0.6rem;
  font-size: 1rem;
  font-family: 'Georgia', serif;
  border: 1px solid #d0c8b8;
  border-radius: 6px;
  background-color: #fdfaf5;
  color: #2c2c2c;
}

#manual-submit-btn {
  background-color: #2c7be5;
  color: white;
  width: 100%;
  margin-top: 0.5rem;
}

#manual-submit-btn:hover {
  background-color: #1a5fc7;
}

/* Back Button Experience */
.back-btn {
  display: block;
  width: 48px;
  height: 48px;
  background-color: var(--warm-white);
  text-decoration: none;
  border: 1px solid var(--brown-light);
  color: var(--ink);
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 48px;
  text-align: center;
  transition: background-color 0.2s;
}

.back-btn:hover {
  background-color: var(--brown-light);
}


/* Divider */
hr {
  border: none;
  border-top: 1px solid #e0d5c5;
  margin: 2rem 0;
}
