.music-settings-extra{padding:0 0 14px;display:grid;gap:12px}
.music-volume-control{display:flex;gap:12px;align-items:center;min-height:44px;font-size:12px}
.music-volume-control input{flex:1;min-width:50px;accent-color:#72844e;cursor:pointer;min-height:44px}
.music-volume-control output{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}
.music-settings-extra .text-action{justify-self:start;min-height:44px;margin:0}
.music-preview{box-sizing:border-box;--mp:#f5eedf;--mi:#24372f;--mm:#727866;width:min(910px,calc(100vw - 32px));max-height:calc(100dvh - 28px);margin:auto;padding:26px 32px;background:var(--mp);color:var(--mi);border:0;border-radius:18px;box-shadow:0 25px 80px #07190f60;overflow-y:auto;font:13px/1.5 system-ui,sans-serif;scrollbar-width:thin}
.music-preview::backdrop{background:#182b21da;backdrop-filter:blur(6px)}
.music-preview *{box-sizing:border-box}.music-preview button,.music-preview select,.music-preview input{font:inherit;touch-action:manipulation;cursor:pointer;color:inherit}.music-preview button{border:0;min-height:44px;border-radius:9px;padding:10px 14px;background:#e6dfcc}.music-preview input{accent-color:#6b815b}.music-preview button:focus-visible,.music-preview select:focus-visible,.music-preview summary:focus-visible,.music-preview input:focus-visible{outline:3px solid #a48440;outline-offset:3px}
.music-preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-26px;padding:6px 0;background:var(--mp);z-index:2}.music-preview-top>span{font-size:10px;letter-spacing:.19em;color:#7b806f}.music-top-actions{display:flex;gap:8px}.music-top-actions button{padding:4px;min-width:44px}.music-preview #closeMusicPreview{font-size:27px}
.music-preview h2{font:400 40px/1.13 Georgia,serif;letter-spacing:-.03em;margin:12px 0;max-width:680px}.music-preview .music-intro{color:#737965;font-size:12px;margin:12px 0 22px}.music-now{background:#223b30;color:#fbf1d8;border-radius:14px;padding:24px;margin:18px 0 26px;text-align:center;position:relative;overflow:hidden}.music-now>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c6caae}.music-now h3{font:400 54px/1.2 Georgia,serif;margin:8px 0 10px;overflow-wrap:anywhere}.music-now sup{font-size:.55em;vertical-align:super}.music-now #musicEraDetail{font-size:12px;color:#bfc8b5;max-width:580px;margin:12px auto 0;line-height:1.6}.music-now .music-full-number{font-size:10px;color:#adbcaa;font-variant-numeric:tabular-nums;word-break:break-word;overflow-wrap:anywhere;max-width:100%;margin:4px 0 0}
.music-transport{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:20px 0 12px}.music-transport button#musicPreviewPlay{min-width:155px;background:#e6cd94;color:#28392b;font-weight:600}.music-transport button#musicEnding{background:#405347;color:#e5dfca}.music-transport button.chosen{box-shadow:inset 0 0 0 1px #ccb775}.music-now #musicPreviewStatus{font-size:10px;color:#b7c5b2;margin:12px 0 0;min-height:16px}.music-coda-meter{height:3px;background:#596b5733;margin-top:16px;overflow:hidden;border-radius:2px}.music-coda-meter i{height:100%;display:block;background:#d9c795;transition:width .4s}
.music-scale-title{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#6c7661}.music-scale-title label{text-transform:uppercase;letter-spacing:.1em}.music-scale-title output{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.music-scale-slider{display:flex;align-items:center;gap:12px;margin-top:6px}.music-scale-slider button{min-width:44px;padding:6px;font-size:18px}.music-scale-slider input{flex:1;min-width:0;height:44px}.music-nextline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px;color:#818574;margin:5px 0 16px}
.music-eras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.music-eras button{text-align:left;background:#e8e4d3;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px}.music-eras small{font-size:10px;color:#798065}.music-eras strong{font:400 16px/1.3 Georgia,serif}.music-eras button[aria-pressed=true]{background:#5c7355;color:#fff3d7}.music-eras button[aria-pressed=true] small{color:#d4ddc6}
.music-details{margin-top:14px;background:#ebe6d6;border-radius:10px}.music-details summary{cursor:pointer;min-height:44px;padding:13px;font-size:12px}.music-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;padding:0 12px 12px}.music-scale button{min-width:0;padding:6px 2px;font-size:12px;background:#f4eddb}.music-scale button[aria-pressed=true]{background:#51694b;color:#fff3d9}.music-scale sup{font-size:9px}.music-options{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;padding:0 14px 14px}.music-options label{font-size:11px;color:#6d7661;display:flex;flex-direction:column;gap:5px}.music-options select{width:100%;min-width:0;min-height:44px;border:0;border-radius:8px;background:#f6eedb;padding:10px;font-size:11px;color:#384a34}
.music-control{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:16px 0;font-size:12px}.music-range{display:flex;gap:12px;align-items:center;width:55%}.music-range input{min-height:44px;width:100%;min-width:30px}.music-range output{min-width:42px;white-space:nowrap;font-variant-numeric:tabular-nums}
.music-layers{display:flex;flex-wrap:wrap;gap:6px}.music-layers span{position:relative;overflow:hidden;font-size:9px;padding:7px 9px;border-radius:6px;background:#e3e3d3;color:#9a9d8b}.music-layers span.active{color:#4a6341;background:#dce4cf}.music-layers i{height:2px;position:absolute;bottom:0;left:0;width:var(--level);background:#768e62;transition:width .6s}.music-transition,.music-scope{font-size:10px;color:#858674;line-height:1.7;margin:14px 0 0}.music-scope{font-size:9px;color:#8a8c7c}.music-preview [hidden]{display:none!important}
body.music-page{margin:0;min-height:100vh;background:#182c23;display:grid;place-items:center;font-family:system-ui,sans-serif}.music-preview.standalone{position:relative;inset:auto;display:block;max-height:none;margin:26px auto}.music-preview-active #app *, .music-preview-active #app *::before,.music-preview-active #app *::after{animation-play-state:paused!important}
@media(max-width:560px){.music-preview{width:calc(100vw - 16px);padding:16px;max-height:calc(100dvh - 16px)}.music-preview-top{top:-16px}.music-preview h2{font-size:31px}.music-preview .music-intro{font-size:11px;margin-bottom:14px}.music-now{padding:20px 14px;margin:14px 0 18px}.music-now h3{font-size:42px}.music-now #musicEraDetail{font-size:11px}.music-eras{gap:6px}.music-eras button{padding:10px 8px;min-height:74px}.music-eras strong{font-size:13px}.music-eras small{font-size:9px}.music-options{grid-template-columns:1fr}.music-scale{grid-template-columns:repeat(6,minmax(0,1fr))}.music-scale-title{font-size:9px;letter-spacing:0}.music-control{gap:8px;font-size:11px}.music-range{width:60%;gap:6px}.music-transport button{font-size:12px;flex:1;padding:10px}.music-transport button#musicPreviewPlay{min-width:105px}.music-preview.standalone{margin:8px auto;max-height:none}.music-now .music-full-number{font-size:9px}}
@media(prefers-reduced-motion:reduce){.music-preview *{transition:none!important}}

/* Late progression diagnostics, shared with the in-game listening room. */
.music-morph{max-width:450px;margin:18px auto 2px}.music-morph-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#c3d2c4}.music-morph-label strong{font-variant-numeric:tabular-nums;color:#f9e4b0;font-size:19px}.music-morph-label small{font-size:9px;color:#a2b5a7}.music-morph-track{height:5px;overflow:hidden;border-radius:3px;background:#70857b40;margin:7px 0}.music-morph-track i{display:block;height:100%;background:linear-gradient(90deg,#b6bf85,#73d0cd);width:0;transition:width .5s}.music-morph #musicMelodicSpace{min-height:14px;margin:6px 0;font-size:10px;color:#aac3ba}.music-transport #musicClimax{background:#617e76;color:#fff3d3}.music-transport{align-items:stretch}
@media(max-width:560px){.music-transport #musicClimax{flex:1;min-width:108px}.music-transport #musicEnding{flex:1;min-width:108px}.music-transport #musicPreviewPlay{flex-basis:100%}.music-morph{margin-top:14px}}
