/* Loading indicator: a moon waxing from new to full with the download (moon-loader.js).
   Replaces the former wave line; position and hide rules for .load-info stay in menu-experiment.css. */
.moon-loader{--ml-size:clamp(58px,6.2vw,84px);--ml-light:#fffbd6;display:flex;align-items:center;gap:clamp(12px,1.3vw,18px);color:#fff}
.moon-loader[hidden]{display:none}
.ml-dial{width:var(--ml-size);height:var(--ml-size);flex-shrink:0;overflow:visible}
.ml-track{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1}
.ml-ring{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100}
.ml-ticks line{stroke:rgba(255,255,255,.4);stroke-width:1.4;stroke-linecap:round;transition:stroke .3s}
.ml-ticks line.on{stroke:#fff}
.ml-dark{fill:rgba(3,20,67,.34)}
.ml-rim{fill:none;stroke:rgba(255,255,255,.55);stroke-width:.9}
.ml-lit{fill:var(--ml-light)}
.ml-dial.full .ml-lit{filter:drop-shadow(0 0 6px rgba(255,251,214,.9))}
.ml-orbit{transform-origin:50px 50px}
.ml-sat{fill:#fff}
.moon-loader.indeterminate .ml-ring{stroke-dashoffset:100}
.moon-loader.indeterminate .ml-orbit{animation:ml-orbit 2.4s linear infinite}
@keyframes ml-orbit{to{transform:rotate(360deg)}}
.ml-text{display:flex;flex-direction:column;gap:5px;font-family:var(--font);line-height:1;white-space:nowrap;text-shadow:0 1px 6px rgba(0,45,140,.35)}
.ml-phase{display:flex;align-items:baseline;gap:8px}
.ml-phase b{font-weight:800;font-style:italic;font-size:clamp(13px,1.15vw,16px);letter-spacing:1.6px}
.ml-phase i{font:500 11px/1 var(--body);font-style:normal;letter-spacing:2px;opacity:.85}
.ml-pct{display:flex;align-items:baseline;gap:3px}
.ml-pct b{font-weight:900;font-style:italic;font-size:clamp(30px,3vw,42px);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ml-pct small{font-weight:700;font-size:13px;letter-spacing:1px;opacity:.8}
@media(prefers-reduced-motion:reduce){.moon-loader.indeterminate .ml-orbit{animation:none}}
.reduced-motion .moon-loader.indeterminate .ml-orbit{animation:none}
@media(max-width:800px){.moon-loader{--ml-size:52px;gap:12px}.ml-pct b{font-size:28px}.ml-phase b{font-size:12px}}
