.calc-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  max-width: 480px;
  margin: 0 auto;
}

.time-bar-track {
  width: 100%;
  height: 8px;
  background: var(--border);
  border-radius: 999px;
  overflow: hidden;
}
.time-bar {
  height: 100%;
  width: 100%;
  background: var(--accent);
  border-radius: 999px;
}

.calc-question {
  font-size: clamp(2.4rem, 9vw, 3.4rem);
  font-weight: 800;
  color: var(--text);
  text-align: center;
  min-height: 1.3em;
  border: 3px solid var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
  width: 100%;
  padding: 20px 10px;
  box-shadow: var(--shadow);
}
.calc-question.flash-correct { animation: calc-flash-correct 0.35s ease; }
.calc-question.flash-wrong { animation: calc-flash-wrong 0.45s ease; }
@keyframes calc-flash-correct {
  0% { border-color: var(--success); background: var(--success-bg); }
  100% { border-color: var(--border-strong); background: var(--bg-elevated); }
}
@keyframes calc-flash-wrong {
  0% { border-color: var(--danger); background: var(--danger-bg); }
  100% { border-color: var(--danger); background: var(--danger-bg); }
}

#answer-form {
  display: flex;
  gap: 10px;
  width: 100%;
  justify-content: center;
}
#answer-input {
  width: 140px;
  height: 54px;
  font-size: 1.5rem;
  text-align: center;
  border: 2px solid var(--border-strong);
  border-radius: 10px;
  background: var(--cell-bg);
  color: var(--text);
  font-family: var(--font-ui);
}
#answer-input:focus { outline: none; border-color: var(--accent); }
