/* Moon Phase — tool-specific */
.page { padding: 40px 20px; max-width: 720px; margin: 0 auto; }
.page h1 { font-size: 26px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.page .subtitle { color: #888; margin-bottom: 20px; font-size: 14px; }

.form-row { display: flex; flex-direction: column; gap: 6px; }
.opt-label { font-size: 11px; color: #aaa; text-transform: uppercase; letter-spacing: 1px; font-weight: 500; }
.form-row input {
  background: #0d0d0d; border: 1px solid #2a2a2a; color: #fff;
  padding: 10px 12px; border-radius: 6px; font-size: 14px;
  color-scheme: dark; max-width: 220px;
}

.moon-card { display: flex; gap: 24px; align-items: center; padding: 28px 24px; flex-wrap: wrap; }
.moon-visual { font-size: 96px; line-height: 1; flex-shrink: 0; }
.moon-info { flex: 1; min-width: 200px; }
.phase-name { font-size: 28px; font-weight: 700; color: #fff; margin-bottom: 12px; }
.phase-meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: #888; }
.phase-meta strong { color: #fff; font-family: 'SF Mono', monospace; }

.events-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.events-table td { padding: 8px 12px; border-bottom: 1px solid #1f1f1f; }
.events-table td:first-child { color: #ccc; }
.events-table td:last-child { color: #fff; font-family: 'SF Mono', monospace; text-align: right; }
.events-table tr:last-child td { border-bottom: none; }

@media (max-width: 600px) {
  .page { padding: 24px 12px; }
  .page h1 { font-size: 22px; }
  .moon-visual { font-size: 72px; }
  .phase-name { font-size: 22px; }
}
