/* No layout shifts or full-page input lock; existing brand tokens win. */
.mlmg-feedback-pressed { filter: brightness(.88) !important; outline: 2px solid var(--shop-primary, #087f5b) !important; outline-offset: -2px; }
#mlmg-feedback { --feedback-accent: var(--shop-primary, #087f5b); --feedback-surface: var(--shop-surface, #fffdf7); --feedback-text: var(--shop-text, #25334a); font-family: inherit; color: var(--feedback-text); }
#mlmg-feedback [hidden] { display: none !important; }
#mlmg-feedback *, #mlmg-feedback *::before { box-sizing: border-box; }
.mlmg-feedback__bar { position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 2147483000; background: color-mix(in srgb, var(--feedback-accent) 18%, transparent); overflow: hidden; pointer-events: none; }
.mlmg-feedback__bar::before { content: ''; display: block; width: 38%; height: 100%; background: var(--feedback-accent); border-radius: 3px; animation: mlmg-feedback-progress 1.15s ease-in-out infinite; }
/* Opaque fallback keeps the HUD readable when backdrop filtering is unavailable. */
.mlmg-feedback__card { position: fixed; z-index: 2147483001; inset-inline-start: 50%; inset-block-start: 50%; transform: translate(50%, -50%); width: min(300px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px 22px 20px; border: 1px solid color-mix(in srgb, var(--feedback-surface) 85%, white); border-radius: 32px; background: var(--feedback-surface); color: var(--feedback-text); box-shadow: 0 18px 56px #152b4924, 0 2px 8px #152b490d, inset 0 1px 0 #ffffffb3; text-align: center; pointer-events: none; }
@supports ((backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px))) { .mlmg-feedback__card { background: color-mix(in srgb, var(--feedback-surface) 88%, transparent); -webkit-backdrop-filter: blur(24px) saturate(1.25); backdrop-filter: blur(24px) saturate(1.25); } }
.mlmg-feedback__brand { position: relative; display: grid; place-items: center; width: 132px; height: 104px; margin-inline: auto; color: var(--feedback-accent); font-weight: 700; background: radial-gradient(ellipse at center, color-mix(in srgb, var(--feedback-accent) 9%, transparent), transparent 68%); }
.mlmg-feedback__brand img { display: block; width: 98px; height: 53px; padding: 4px; border-radius: 10px; background: #fff; object-fit: contain; }
.is-waiting .mlmg-feedback__brand::before { content: ''; position: absolute; inset: 0 14px; border: 1.5px solid color-mix(in srgb, var(--feedback-accent) 13%, transparent); border-block-start-color: var(--feedback-accent); border-inline-start-color: color-mix(in srgb, var(--feedback-accent) 45%, transparent); border-radius: 50%; animation: mlmg-feedback-orbit 2.4s linear infinite; }
.is-waiting .mlmg-feedback__brand::after { content: ''; position: absolute; inset-block-start: 48px; inset-inline-start: 62px; width: 8px; height: 8px; border-radius: 50%; background: var(--feedback-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--feedback-accent) 9%, transparent), 0 0 12px color-mix(in srgb, var(--feedback-accent) 25%, transparent); animation: mlmg-feedback-satellite 2.4s linear infinite; pointer-events: none; }
.mlmg-feedback__card p { margin: 14px 0 0; min-height: 3.8em; display: grid; place-items: center; opacity: 1; transition: opacity 220ms ease-in-out; font: inherit; font-size: 14px; line-height: 1.9; color: inherit; }
.mlmg-feedback__actions { display: flex; justify-content: center; gap: 10px; margin-block-start: 14px; pointer-events: auto; }
#mlmg-feedback .mlmg-feedback__actions :is(a, button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--feedback-accent); border-radius: 12px; background: var(--feedback-surface); color: var(--feedback-text); font: inherit; font-size: 14px; text-decoration: none; cursor: pointer; }
#mlmg-feedback .mlmg-feedback__actions :is(a, button):hover { box-shadow: inset 0 0 0 2px var(--feedback-accent); }
#mlmg-feedback .mlmg-feedback__actions :focus-visible { outline: 3px solid var(--feedback-accent); outline-offset: 3px; }
@keyframes mlmg-feedback-progress { from { transform: translateX(110%); } to { transform: translateX(-270%); } }
@keyframes mlmg-feedback-orbit { to { transform: rotate(360deg); } }
@keyframes mlmg-feedback-satellite { from { transform: rotate(-90deg) translateX(51px); } to { transform: rotate(270deg) translateX(51px); } }
@media (prefers-reduced-motion: reduce) { .mlmg-feedback__bar::before, .is-waiting .mlmg-feedback__brand::before, .is-waiting .mlmg-feedback__brand::after { animation: none; } .is-waiting .mlmg-feedback__brand::after { transform: translateY(-51px); } .mlmg-feedback__bar::before { width: 100%; } }
@media print { #mlmg-feedback { display: none !important; } }

.mlmg-feedback__message.is-fading { opacity: 0; }
.mlmg-feedback__announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .mlmg-feedback__card p { transition: none; } }
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) { .mlmg-feedback__card { background: var(--feedback-surface); -webkit-backdrop-filter: none; backdrop-filter: none; } }
