/* Big, musical feedback without moving hit areas or blocking the next action. */
.music-motion-layer { position: fixed; inset: 0; z-index: 80; pointer-events: none; overflow: hidden; contain: strict; }
.music-motion-layer > span { position: absolute; display: block; pointer-events: none; will-change: transform, opacity; }
.music-motion-layer svg { display: block; width: 100%; height: 100%; overflow: visible; }
.music-burst-ring { border: 2px solid currentColor; border-radius: 50%; box-shadow: 0 0 28px #a5d8b933, inset 0 0 20px #a5d8b922; }
.music-particle-chip { background: currentColor; border-radius: 2px; }
.music-particle-note { filter: drop-shadow(0 2px 5px #10242233); }
.music-falling-note { filter: drop-shadow(0 3px 3px #10242244); }
.lesson-choice, .free-play-mode, .daily-primary, .daily-free-entry { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: no-preference) {
  .lesson-choice, .free-play-mode, .daily-primary, .daily-free-entry { transition: background .2s, border-color .2s, box-shadow .25s; }
  .lesson-choice:active:not(:disabled), .free-play-mode:active:not(:disabled), .daily-free-entry:active:not(:disabled), .daily-primary:active:not(:disabled), .lesson-primary:active:not(:disabled) { box-shadow: inset 0 0 0 2px #a5d8b955; }
  .free-play-mode:active:not(:disabled), .daily-free-entry:active:not(:disabled) { background: #a5d8b914; border-color: #a5d8b980; }
  .daily-primary { position: relative; isolation: isolate; overflow: hidden; box-shadow: 0 4px 0 #6d9c7f; }
  .daily-primary::after { content: ''; position: absolute; pointer-events: none; inset: 0; background: linear-gradient(105deg, transparent, #ffffff26, transparent); animation: music-button-glow 6s ease-in-out 1s 2 both; }
  .daily-level.is-complete > span:first-child { box-shadow: 0 0 12px #a5d8b929; }
  .daily-level.is-current > span:first-child { border-width: 2px; box-shadow: 0 0 0 5px #a5d8b914, 0 0 20px #a5d8b91a; }
  .daily-lesson-card { background: radial-gradient(ellipse at 12% 0%,#a5d8b910,transparent 65%),var(--panel); }
  .lesson-choice.lesson-choice-correct { box-shadow: 0 0 0 2px #a5d8b95c,0 8px 28px #a5d8b92b; background: #a5d8b92b; }
  #lessonView[data-motion-result="correct"] .lesson-result-heading { text-shadow: 0 0 24px #a5d8b94d; }
  #lessonView[data-motion-result="incorrect"] .lesson-choice-retry { border-color: #dba893; background: #dba89314; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .free-play-mode:hover { box-shadow: 0 10px 32px #07171344, inset 0 0 0 1px #a5d8b933; }
  .free-play-mode:hover .free-play-icon { background: #a5d8b91c; }
  .free-play-icon { transition: background .4s ease; }
  .daily-free-entry:hover > svg { opacity: 1; }
  .daily-free-entry > svg { opacity: .75; transition: opacity .3s ease; }
}
@keyframes music-button-glow { 0%,100% { opacity:0; } 50% { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .music-motion-layer { display:none; } }
