@import url('./outfit-viewer.css');
@import url('./run-loading.css');
/* Flow-based HUD: hearts, letters and effects never share absolute coordinates. */
.sr-store-badges { display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:20px auto 0; }
.sr-store-badge { display:inline-flex;align-items:center;min-height:44px;border-radius:8px; }
.sr-store-badge img { display:block;width:auto; }
.sr-store-apple img { height:40px; }
/* Google's supplied asset includes padding; match visible badge height. */
.sr-store-google img { height:calc(40px / .672); }
.sr-store-badge:is(:hover,:focus-visible) { filter:drop-shadow(0 4px 12px #0008); }
/* Scrolling stage artwork must not show through the pinned menu controls. */
.sr-menu-headbar { background:rgba(10,6,16,.97);border-radius:12px;padding:8px; }
.sr-hud-status {
    position:absolute;inset:12px 12px auto;
    display:grid;gap:10px;pointer-events:none;
}
.sr-hud-paused { visibility:hidden; }
.sr-hud-status .sr-hud-top {
    position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;min-height:68px;
}
.sr-hud-status .sr-score-wrap { min-width:0; }
.sr-hud-status .sr-score { font-size:clamp(1.5rem,7vw,2.4rem);overflow-wrap:anywhere; }
.sr-hud-status .sr-combo { font-size:.7rem;line-height:1.3; }
.sr-hud-status .sr-song-wrap { min-width:0;overflow-wrap:anywhere; }
.sr-hud-status .sr-hud-progress { position:relative;inset:auto;transform:none;width:100%; }
.sr-hud-collection-row,.sr-hud-power-row {
    display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;
}
.sr-hud-status .sr-letters,.sr-hud-status .sr-hud-hearts,
.sr-hud-status .sr-powerups,.sr-hud-status .sr-sprint-badge {
    position:static;inset:auto;flex-shrink:0;
}
.sr-hud-status .sr-hud-hearts { gap:6px;line-height:1; }
.sr-hud-status .sr-heart { font-size:1.25rem; }
.sr-hud-status .sr-powerups { flex-wrap:wrap;justify-content:flex-end;flex-shrink:1;gap:6px; }
.sr-hud-status .sr-powerup { width:30px;height:30px;flex-shrink:0; }
.sr-hud-power-row { flex-wrap:wrap; }
.sr-hud-status .sr-sprint-badge { font-size:.55rem;padding:4px 8px; }
.sr-hud-status .sr-challenge {
    position:static;inset:auto;transform:none!important;animation:none;
    width:100%;max-width:100%;display:none;
}
.sr-hud-status .sr-challenge:is(.sr-challenge-active,.sr-challenge-success,.sr-challenge-fail) { display:block; }
.sr-hud-status .sr-challenge-text { font-size:.6rem;line-height:1.4; }
.sr-hud-status :is(.sr-combo-flash,.sr-drop-banner) { top:calc(100% + 24px); }
.sr-combo-flash-item { font-size:clamp(1.5rem,6vw,2.6rem); }
.sr-drop-text { font-size:clamp(1.5rem,7vw,2.5rem);-webkit-text-stroke:1px #000; }
.sr-pause-icon-btn { min-height:44px; }
.sr-modal-close { width:44px;height:44px;top:6px;right:8px; }
.sr-modal-title { padding:0 32px; }
.sr-modal-card { max-height:calc(100dvh - 32px);overscroll-behavior:contain; }
.sr-pause-overlay { padding:16px;box-sizing:border-box; }
.sr-pause-card { box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto; }
@media(max-width:540px) {
    .sr-audio-btn { min-width:44px;min-height:44px;justify-content:center; }
    .sr-pause-icon-btn { right:64px; }
    .sr-hud-status .sr-song-wrap { margin-top:50px;padding:0;max-width:none; }
    .sr-hud-status .sr-song-title { font-size:.78rem;line-height:1.2; }
    .sr-hud-status .sr-hud-top { min-height:72px; }
    .sr-hud-status .sr-letter { width:20px;height:20px;font-size:.6rem; }
}
@media(max-width:360px) {
    .sr-menu-headbtns { gap:5px; }
    .sr-icon-btn { width:38px;height:38px; }
    .sr-modal-card { padding-left:16px;padding-right:16px; }
    .sr-hud-status { gap:8px; }
    .sr-hud-status .sr-hud-top { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
    .sr-heart,.sr-hover-ready.sr-hover-show { animation:none; }
}
