/* All presentation is scoped to Game-Ready Music. No cinematic background yet. */
.rb-game-ready { --music-copper: #b35133; --music-paper: #c7c3b9; padding: 128px 24px 132px; background: #101514; color: #e8e4db; text-align: center; }
.rb-game-ready-eyebrow { margin: 0 0 44px; color: #c46b48; font-size: 10px; letter-spacing: 2.4px; text-transform: uppercase; }
.rb-game-ready-heading h2 { margin: 0; font-family: var(--rb-sans); font-size: clamp(52px, 5vw, 96px); font-weight: 700; letter-spacing: -.065em; line-height: .9; }
.rb-game-ready-intro { max-width: 660px; margin: 32px auto 0; color: #bcb7ac; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.65; }
.rb-game-ready-intro a { color: var(--music-copper); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rb-music-player { width: min(100%, 760px); min-width: 0; margin: 80px auto 0; background: var(--music-paper); color: #22231f; text-align: left; box-shadow: 0 22px 58px rgba(0, 0, 0, .18); }
.rb-music-player-main { padding: 28px 52px 40px; }
.rb-music-cover { position: relative; width: min(100%, 520px); margin-inline: auto; aspect-ratio: 1; overflow: hidden; background: #171f1d; }
.rb-music-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity 500ms ease; }
.rb-music-cover img.is-artwork-visible { opacity: 1; }
.rb-music-cover::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(transparent 50%, rgba(3, 7, 7, .92)); }
.rb-music-cover-brand { position: absolute; z-index: 1; top: 24px; left: 30px; color: #101715; font-size: 8px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.rb-music-cover-caption { position: absolute; z-index: 1; bottom: 30px; left: 30px; right: 24px; }
.rb-music-cover-caption h3 { margin: 0; color: #e8e4db; font-family: var(--rb-sans); font-size: 30px; line-height: 1.1; font-weight: 700; letter-spacing: -.05em; }
.rb-music-cover-caption p { margin: 9px 0 0; color: #d5d3c9; font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
/* Static vector overlay: neither artwork layer nor the player's dimensions change. */
.rb-cover-fold { position: absolute; right: 0; bottom: 0; z-index: 2; width: 46%; aspect-ratio: 6 / 5; pointer-events: none; user-select: none; }
.rb-cover-fold-paper { display: block; width: 100%; height: 100%; overflow: hidden; }
.rb-music-player[data-pack="epic-battle"] .rb-cover-fold { display: none; }
/* Shared by all music packs: opaque graphic corner, no paper geometry or animations. */
.rb-cover-corner { display: block; position: absolute; right: 0; bottom: 0; z-index: 2; width: 42%; aspect-ratio: 5 / 4; pointer-events: none; user-select: none; }
.rb-cover-corner-art { display: block; width: 100%; height: 100%; overflow: visible; }
.rb-cover-corner-badges { position: absolute; right: 6.410256%; bottom: 8.01282%; width: 48.534799%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9.433962%; }
.rb-cover-corner-badge { aspect-ratio: 1; min-width: 0; display: grid; place-items: center; padding: 0; border-radius: 16.666667%; background: #000; }
.rb-music-cover .rb-cover-corner-badge img { position: static; display: block; width: 66.666667%; height: 66.666667%; object-fit: contain; opacity: 1; transition: none; }
/* Reversible Wild Wolf presentation test: remove --bare to restore the white badges. */
.rb-cover-corner--bare .rb-cover-corner-badges { right: 7%; bottom: 21%; width: 43%; gap: 6%; }
.rb-cover-corner--bare .rb-cover-corner-badge { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.rb-music-cover .rb-cover-corner--bare .rb-cover-corner-badge img { width: 90%; height: 90%; filter: brightness(0); }
.rb-music-cover .rb-cover-corner--bare [data-engine-badge="unreal"] img { width: 88%; height: 88%; }
/* Artwork-first test: remove --on-art to restore the intact copper corner version. */
.rb-cover-corner--on-art .rb-cover-corner-art { display: none; }
.rb-cover-corner--on-art .rb-cover-corner-badges { right: clamp(16px, 4vw, 24px); bottom: clamp(16px, 4vw, 24px); width: min(94px, 52%); gap: 10%; }
.rb-music-cover .rb-cover-corner--on-art .rb-cover-corner-badge img { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .5)); }
@media (max-width: 650px) {
	.rb-cover-fold { width: 40%; }
	.rb-cover-corner { width: 48%; }
}
/* Smaller copper signature; earlier variants remain available through their modifier classes. */
.rb-cover-corner--subtle { width: 38%; }
.rb-cover-corner--subtle .rb-cover-corner-shade-middle { stop-color: #71351f; }
.rb-cover-corner--subtle .rb-cover-corner-shade-deep { stop-color: #522619; }
.rb-cover-corner--subtle .rb-cover-corner-shade-end { stop-color: #351a12; }
.rb-music-cover .rb-cover-corner--subtle .rb-cover-corner-badge img { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .3)); }
@media (max-width: 650px) {
	.rb-cover-corner--subtle { width: 43%; }
}
.rb-music-waveform { display: block; width: min(100%, 232px); height: 44px; margin: 60px auto 48px; fill: #b96342; pointer-events: none; user-select: none; }
.rb-wave-bars { fill: #b96342; }
.rb-music-controls { display: grid; grid-template-columns: 42px max-content minmax(0, 1fr) max-content; align-items: center; gap: 12px; }
.rb-game-ready button { font-family: inherit; cursor: pointer; }
.rb-game-ready button:disabled { cursor: default; }
.rb-music-toggle { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #cc7956; border-radius: 50%; color: #fff; background: var(--music-copper); }
.rb-music-toggle svg { fill: currentColor; }
.rb-music-toggle [data-icon-pause],
.rb-music-player.is-audio-playing [data-icon-play] { display: none; }
.rb-music-player.is-audio-playing [data-icon-pause] { display: block; }
.rb-music-time { color: #72756e; font-family: var(--rb-sans); font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rb-music-seek { --music-progress: 0%; appearance: none; -webkit-appearance: none; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.rb-music-seek::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(to right, var(--music-copper) var(--music-progress), #aaa79d var(--music-progress)); }
.rb-music-seek::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 10px; height: 10px; margin-top: -4px; border: 2px solid #312b25; border-radius: 50%; background: #c66c49; }
.rb-music-seek::-moz-range-track { height: 2px; background: #aaa79d; }
.rb-music-seek::-moz-range-progress { height: 2px; background: var(--music-copper); }
.rb-music-seek::-moz-range-thumb { width: 7px; height: 7px; border: 2px solid #312b25; border-radius: 50%; background: #c66c49; }
.rb-music-seek:disabled { cursor: default; }
.rb-music-playlist { margin: 0; padding: 0; list-style: none; }
.rb-music-track { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 84px; padding: 20px 26px 20px 22px; border: 0; border-top: 1px solid #aaa79d; border-left: 3px solid transparent; background: transparent; color: #242521; text-align: left; }
.rb-music-track-info { display: grid; gap: 7px; min-width: 0; }
.rb-music-track-title { font-family: Georgia, "Times New Roman", serif; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.rb-music-track-pack { color: #73766c; font-size: 9px; line-height: 1.3; text-transform: uppercase; letter-spacing: .4px; }
.rb-music-track-duration { flex-shrink: 0; color: #74766f; font-size: 10px; font-variant-numeric: tabular-nums; }
.rb-music-track.is-selected { border-left-color: #cd7752; background: #ccc5b7; }
.rb-music-track.is-selected .rb-music-track-title { color: #c57550; }
.rb-game-ready a:focus-visible,
.rb-game-ready button:focus-visible,
.rb-game-ready input:focus-visible { outline: 2px solid #8f3f26; outline-offset: 4px; }
.rb-music-player.is-enhanced audio { display: none; }
.rb-music-player audio { display: block; width: 100%; }
.rb-music-status:empty { display: none; }
.rb-music-status { margin: 0; padding: 12px 24px; color: #76341e; font-size: 13px; line-height: 1.5; }
.rb-music-status:not(.is-error) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
.rb-music-noscript { padding: 16px 24px; font-size: 14px; }
@media (max-width: 800px) {
	.rb-game-ready { padding: 80px 20px; }
	.rb-game-ready-eyebrow { margin-bottom: 30px; }
	.rb-game-ready-intro { font-size: 16px; }
	.rb-music-player { margin-top: 48px; }
	.rb-music-player-main { padding: 24px 24px 28px; }
	.rb-music-cover-caption { left: 22px; bottom: 24px; }
	.rb-music-cover-caption h3 { font-size: clamp(22px, 5vw, 30px); }
	.rb-music-waveform { margin-top: 32px; margin-bottom: 20px; }
	.rb-music-toggle { width: 44px; height: 44px; }
	.rb-music-controls { grid-template-columns: 44px max-content minmax(0, 1fr) max-content; gap: 8px; }
	.rb-music-track { padding-inline: 18px; min-height: 80px; }
}
@media (prefers-reduced-motion: reduce) {
	.rb-music-cover img { transition: none; }
}
