.mw-date { color: var(--mist); margin: 0 0 6px; }
.mw-next { font-family: var(--font-display); font-size: 1.6rem; color: var(--gold-soft); margin: 0 0 12px; }
.mw-place { font-size: 1.1rem; font-weight: 650; margin: 0 0 12px; }
.mq-compass { position: relative; width: 220px; height: 220px; margin: 14px auto; }
.mq-dial {
  position: absolute; inset: 0; border-radius: 50%;
  background: repeating-conic-gradient(rgba(232, 182, 90, 0.5) 0 1deg, transparent 1deg 15deg), radial-gradient(circle, #14225F 0 62%, #0C1748 63%);
  box-shadow: inset 0 0 0 2px var(--gold), 0 12px 30px rgba(0, 0, 0, 0.4);
  transition: transform 0.15s linear;
}
.mq-dial .n { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); font-weight: 800; color: var(--danger); }
.mq-needle { position: absolute; inset: 0; transition: transform 0.15s linear; }
.mq-needle i { position: absolute; left: 50%; top: 16px; width: 0; height: 0; transform: translateX(-50%); border-left: 14px solid transparent; border-right: 14px solid transparent; border-bottom: 94px solid var(--emerald); filter: drop-shadow(0 0 8px rgba(71, 194, 133, 0.6)); }
.mq-needle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; transform: translate(-50%, -50%); border-radius: 4px; background: #111; box-shadow: 0 0 0 2px var(--gold); }
.mq-compass.is-aligned .mq-dial { box-shadow: inset 0 0 0 3px var(--emerald), 0 0 30px rgba(71, 194, 133, 0.5); }
.mw-week-wrap { overflow-x: auto; }
.mw-week { width: 100%; border-collapse: collapse; font-size: 0.86rem; font-variant-numeric: tabular-nums; }
.mw-week th, .mw-week td { padding: 7px 6px; text-align: center; white-space: nowrap; }
.mw-week thead th { color: var(--gold); font-weight: 650; font-size: 0.78rem; }
.mw-week tbody th { text-align: start; color: var(--mist); font-weight: 600; }
.mw-week tr.is-today { background: rgba(232, 182, 90, 0.1); }
