/* ================================================================
   ORION Observatory — Components
   Reusable UI components: cards, buttons, badges, inputs, modals
   ================================================================ */

/* ── Progress Ring (SVG) ── */
.progress-ring {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.progress-ring__circle-bg {
  stroke: var(--c-white-ghost);
  fill: none;
}

.progress-ring__circle-fill {
  fill: none;
  stroke-linecap: round;
  transition: stroke-dashoffset var(--t-slower) var(--ease-out);
  transform: rotate(-90deg);
  transform-origin: center;
}

/* ── Animations ── */
@keyframes pulseGlow {
  0%, 100% { opacity: 1; box-shadow: 0 0 8px rgba(var(--c-glow), 0.15); }
  50% { opacity: 0.7; box-shadow: 0 0 16px rgba(var(--c-glow), 0.25); }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ── E3: Curriculum accordion ── */
.cur-section {
  border-bottom: 1px solid var(--hair);
}

.cur-section summary::-webkit-details-marker { display: none; }
.cur-section summary::marker { display: none; }

details[open] .cur-section__expand-hint { display: none; }

/* ── E3: Ghost HIDE button ── */
.cur-hide-btn {
  color: var(--c-white-ghost);
}

.cur-hide-btn:hover { color: var(--muted); }

/* ── E4: Domain Template font normalisation ── */
.domain-template-section,
.domain-template-section * {
  font-family: var(--f-body);
}

.domain-template-section .orion-input,
.domain-template-section .orion-action {
  font-family: var(--f-mono);
}

/* ── Finding 11 / B1.10: Command Deck inputs 2px under the 44px floor ── */
#view-command-deck .orion-input {
  min-height: 44px;
}
