/* divine-result.css — layout-only styles for /divine/result page */
/* All output card styles (.paipan-card-v2, .cer-guidance-*, .cer-results-*, etc.)
   are defined in ceremony-v2.css / ceremony.css and load globally via themeCSS. */

/* Page shell */
.dr-body {
  background: var(--bg);
  min-height: 100vh;
}

.dr-main {
  padding-top: 56px; /* nav height */
  min-height: 100vh;
}

/* Panel visibility toggle */
.dr-panel {
  display: flex;
  justify-content: center;
  padding: 40px 24px 80px;
}

.dr-panel.hidden {
  display: none;
}

/* Input form */
.dr-form {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 560px;
  width: 100%;
}

.dr-form-title {
  font-family: var(--serif);
  font-size: 1.8rem;
  color: var(--fg);
  margin: 0;
}

.dr-form-sub {
  font-size: 0.95rem;
  color: var(--fg-muted, var(--fg-dim));
  line-height: 1.85;
  margin: 0;
}

.dr-date-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.dr-date-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 80px;
}

.dr-label {
  font-size: 0.78rem;
  color: var(--fg-dim);
  letter-spacing: 0.06em;
}

.dr-select {
  background: var(--bg-elevated);
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 8px;
  padding: 10px 14px;
  color: var(--fg);
  font-family: var(--serif);
  font-size: 0.92rem;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a84c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 30px;
}

.dr-select:focus {
  border-color: rgba(201, 168, 76, 0.6);
}

/* Reveal panel */
.dr-panel-reveal .cer-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 60vh;
  justify-content: center;
}

.dr-reveal-hex {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-height: 180px;
  justify-content: center;
}

.dr-reveal-line {
  opacity: 0;
  animation: drLineReveal 0.4s ease forwards;
}

@keyframes drLineReveal {
  from {
    opacity: 0;
    transform: translateX(-8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.dr-reveal-name {
  font-family: var(--serif);
  font-size: 1.8rem;
  color: var(--gold);
  text-align: center;
  margin-top: 24px;
  animation: cerFadeIn 0.5s ease;
}

/* Result panel — cer-panel takes max-width, cer-results adds result layout */
.dr-panel-result .cer-panel {
  width: 100%;
  max-width: 780px;
}

/* Navigation buttons row within result */
.cer-results-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

/* Mobile */
@media (max-width: 480px) {
  .dr-date-row {
    gap: 8px;
  }

  .dr-date-field {
    min-width: 60px;
  }

  .dr-select {
    padding: 9px 28px 9px 10px;
    font-size: 0.85rem;
  }
}
