/* ── Material Symbols ─────────────────────────────────────── */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ms-fill {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ── Layout ───────────────────────────────────────────────── */
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }

/* ── Content patterns ─────────────────────────────────────── */
.formula-accent { border-left: 4px solid #0c9488; }

.answer-box {
  border-left: 5px solid #fd761a;
  background: #fff7f0;
}

.canvas-grid {
  background-image: radial-gradient(circle, #cbd5e1 1px, transparent 1px);
  background-size: 24px 24px;
}

/* ── Animations ───────────────────────────────────────────── */
.animate-pulse-slow {
  animation: pulse-slow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-slow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ── Formula typography ───────────────────────────────────── */
.formula-block,
.formula,
.greek {
  font-family: 'Newsreader', serif;
  font-style: italic;
}
.dict-entry {
  font-family: 'Newsreader', serif;
}
.formula-block-plain {
  font-family: 'Newsreader', serif;
}

/* ── Calculator — unit & mode buttons ────────────────────── */
.unit-btn {
  background: #e5eeff;
  color: #45464d;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 600;
  transition: all .15s;
  border: none;
  cursor: pointer;
}
.unit-btn.active { background: #fd761a; color: #fff; }

.toggle-diam {
  background: #e5eeff;
  color: #45464d;
  border-radius: 6px;
  padding: 5px 14px;
  font-size: 13px;
  font-weight: 600;
  transition: all .15s;
  border: none;
  cursor: pointer;
}
.toggle-diam.active { background: #fd761a; color: #fff; }

.toggle-btn { transition: all 0.15s ease; }
.toggle-btn.active          { background: #fd761a; color: #fff; border-color: #fd761a; }
.toggle-btn:not(.active)    { background: #fff; color: #475569; border-color: #e2e8f0; }

.tab-btn { transition: all 0.15s ease; }
.tab-btn.active             { background: #fd761a; color: #fff; }
.tab-btn:not(.active)       { background: #f1f5f9; color: #475569; }

.result-hidden { display: none; }
.calc-panel    { display: none; }

/* Remove number input spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }
input[type=number] { -moz-appearance: textfield; }

/* ── Cards & components ───────────────────────────────────── */
.formula-card { transition: transform 0.2s, box-shadow 0.2s; }
.formula-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.10);
}

.step-connector::before {
  content: '';
  display: block;
  width: 2px;
  height: 24px;
  background: #e2e8f0;
  margin: 4px auto 4px 19px;
}

.etymology-card {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  border: 1px solid #334155;
}
