.feedback-options{font:inherit;font-size:12px;background:#fff;color:#222;border:2px solid #222;padding:7px 11px;box-shadow:3px 3px 0 #a7e8d1;cursor:pointer}
.feedback-options:hover{background:#e7f8f1;box-shadow:3px 3px 0 #ffb6d0}
.home-feedback-options{display:block;margin:0 0 20px auto}
.feedback-dialog{box-sizing:border-box;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:2px solid #222;border-radius:0;background:white;color:#222;box-shadow:7px 7px 0 #a7e8d1}
.feedback-dialog::backdrop{background:rgb(0 0 0 / .25)}
.feedback-dialog h2{font-size:22px;margin:0 0 20px}.feedback-dialog label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;font-size:15px}.feedback-dialog input[type=checkbox]{accent-color:#24765e;width:20px;height:20px}.feedback-dialog input[type=range]{accent-color:#24765e;max-width:160px}.feedback-dialog p{font-size:12px;line-height:1.7;color:#666}.feedback-dialog .fx-actions{display:flex;gap:10px;margin-top:20px}.feedback-dialog button{flex:1;font:inherit;border:2px solid #222;border-radius:0;min-height:42px;background:#a7e8d1;cursor:pointer}.feedback-dialog #fxClose{background:#ffb6d0}
.lesson-hold-track{flex:0 0 100%;height:6px;background:#fff;border:1px solid #222;overflow:hidden;box-sizing:border-box}
.lesson-hold-track i{display:block;width:100%;height:100%;background:#63cbaa;transform:scaleX(0);transform-origin:left;transition:transform .1s linear}
.lesson-live{flex-wrap:wrap}.lesson-live[data-feel=high],.lesson-live[data-feel=low]{background:#fff0f6}.lesson-live[data-feel=steady],.lesson-live[data-feel=bar]{border-color:#24765e}
.lesson-live[data-feel=high] .lesson-hold-track i,.lesson-live[data-feel=low] .lesson-hold-track i{background:#ff9fc5}
.fx-pop{animation:feedback-pop .36s ease-out}.fx-nudge{animation:feedback-nudge .28s ease-out}.fx-change{animation:feedback-change .35s ease-out}
@keyframes feedback-pop{0%,100%{transform:scale(1)}40%{transform:scale(1.018);box-shadow:0 0 0 5px #a7e8d155}}
@keyframes feedback-nudge{0%,100%{transform:translateX(0)}30%{transform:translateX(-2px)}65%{transform:translateX(2px)}}
@keyframes feedback-change{50%{box-shadow:4px 4px 0 #ffb6d0}}
@media(prefers-reduced-motion:reduce){.fx-pop,.fx-nudge,.fx-change{animation:none}.lesson-hold-track i{transition:none}}

/* One reveal per earned star, timed together with its ascending cello note. */
.reward-stars .earned{animation:none}.reward-stars .earned.fx-star-pending{opacity:0;transform:scale(.65)}
.reward-stars .earned.fx-star-revealed{animation:earned-star-reveal .34s ease-out both;animation-delay:0s}
@keyframes earned-star-reveal{0%{opacity:0;transform:scale(.65)}65%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
#fxStarPreview[hidden]{display:none}#fxStarPreview .reward-stars{display:flex;justify-content:center;gap:16px;line-height:1;margin-top:22px}#fxStarPreview .block-icon{width:34px;height:34px;fill:#24765e}
.feedback-dialog .fx-credit{font-size:10px;color:#777}.lesson-page .tutorial-actions .tutorial-skip{margin-left:auto;background:#fff;color:#444}
@media(prefers-reduced-motion:reduce){.reward-stars .earned.fx-star-revealed{animation:none}}
