/* One-click BGM stop, with a quiet volume panel inside the existing dock. */
.sound-control{position:relative;display:inline-flex;align-items:center;gap:2px;isolation:isolate;color:#29493b;font-family:var(--sans,sans-serif);line-height:1.5;flex-shrink:0}
.sound-control[hidden],.sound-control [hidden]{display:none!important}
.experience-dock .sound-control button span:first-child{width:auto;height:auto;border:0;border-radius:0;background:none}
.sound-control .sound-toggle,.sound-settings>summary{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:24px;background:transparent;color:inherit;font:500 11px/1.5 var(--sans,sans-serif);cursor:pointer;list-style:none}
.sound-control .sound-toggle{min-width:78px;width:auto;padding:10px 12px;margin:0;white-space:nowrap;letter-spacing:.035em;border:1px solid #a8ba9f;background:#f1f3e8}
.sound-control .sound-toggle[aria-pressed=true]{background:#dbe6d3;color:#243e30;border-color:#88a17e}
.sound-control .sound-toggle:hover,.sound-settings>summary:hover{background:#e3eadb}
.sound-settings{position:relative;z-index:2;margin:0}
.sound-settings>summary{width:44px;min-width:44px;padding:10px}
.sound-settings>summary>svg{width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.sound-summary-wave{display:none}.sound-control[data-sound-playing=true] .sound-summary-wave{display:block}.sound-control[data-sound-playing=true] .sound-summary-mute{display:none}
.sound-settings>summary::-webkit-details-marker{display:none}.sound-settings>summary::marker{content:''}
.sound-settings[open]>summary{background:#e3eadb}
.sound-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:272px;max-width:calc(100vw - 32px);max-height:calc(100svh - 100px);overflow:auto;overscroll-behavior:contain;padding:24px;background:#f7f8ef;border:1px solid #b7c7b2;border-radius:6px;box-shadow:0 12px 45px #18312920;color:#29493b;text-align:left}
.sound-control[data-sound-placement=header] .sound-panel{bottom:auto;top:calc(100% + 12px)}
.sound-panel-title{font:500 18px/1.7 var(--serif,serif);margin:0 0 12px}
.sound-panel>p:not(.sound-panel-title){font-size:12px;line-height:1.9;margin:0;color:#4d6554}
.sound-panel .sound-continuity{margin-top:12px!important;padding-top:12px;border-top:1px solid #d5dfce}
.sound-volume-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px;font-size:12px;font-weight:500}
.sound-volume-label output{font-size:11px;font-variant-numeric:tabular-nums;color:#4d6554}
.sound-panel input[type=range]{display:block;width:100%;min-height:44px;margin:3px 0 0;accent-color:#3e6550;cursor:pointer}
.sound-panel .sound-volume-help{font-size:11px!important;margin-top:3px!important}
.sound-control .sound-replay{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:44px;margin-top:19px;padding:10px 13px;border:1px solid #91aa91;border-radius:3px;background:#e9efdf;color:#29493b;font:500 12px/1.8 var(--sans,sans-serif);cursor:pointer}
.sound-replay:disabled{opacity:.5;cursor:default}
.sound-panel .sound-status{min-height:1.9em;margin-top:14px!important;font-size:11px!important}
.sound-control :is(button,summary,input):focus-visible{outline:3px solid #926a3e;outline-offset:3px}
.sound-pulse{display:none}
@media(max-width:700px){.sound-control .sound-toggle{min-width:72px;font-size:10px;padding:10px 9px}.sound-settings>summary{width:44px;min-width:44px;padding:10px}.sound-panel{width:260px;padding:22px}.sound-panel-title{font-size:17px}}
@media(max-width:360px){.sound-control{gap:0}.sound-control .sound-toggle{min-width:70px;padding-inline:8px}.sound-settings>summary{width:44px;min-width:44px}}
@media print{.sound-control{display:none!important}}
