/* 统一的声音设置面板(sound.js): 所有游戏共用, 尺寸用 px(各游戏的缩放体系不一样, 这里不跟), 深色半透明 + 金色强调 */
.gs-panel{position:absolute;z-index:60;width:280px;padding:12px 14px 10px;border:1px solid rgba(217,179,108,.55);border-radius:12px;
  background:linear-gradient(180deg,rgba(28,22,18,.97),rgba(10,8,8,.97));box-shadow:0 12px 32px rgba(0,0,0,.6);color:#f3e6c8;font:14px/1.4 "Noto Serif SC","Source Han Serif SC","Songti SC",STSong,Georgia,serif;text-align:left}
.gs-panel[hidden]{display:none}
.gs-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.gs-h b{font-size:16px;color:#ffe08a}
.gs-panel .gs-x{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:rgba(243,230,200,.7);font-size:14px;cursor:pointer}
.gs-panel .gs-x:hover{background:rgba(255,255,255,.08);color:#fff}
.gs-row{padding:8px 0;border-top:1px solid rgba(255,255,255,.07)}
.gs-row__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.gs-row__v{display:flex;align-items:center;gap:10px}
.gs-row__v input{flex:1;accent-color:#e2b860;cursor:pointer}
.gs-row__v b{width:40px;text-align:right;font:700 13px Georgia,serif;color:#ffe08a}
.gs-row.is-off .gs-row__v input{opacity:.45}
.gs-row.is-off .gs-row__v b{color:rgba(243,230,200,.5)}
.gs-switch{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer}
.gs-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.gs-switch i{position:absolute;inset:0;border-radius:12px;background:rgba(255,255,255,.18);transition:background .2s;pointer-events:none}
.gs-switch i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.gs-switch input:checked + i{background:#c9963a}
.gs-switch input:checked + i::after{transform:translateX(18px)}
.gs-switch input:focus-visible + i{outline:2px solid #ffe08a;outline-offset:2px}
.gs-credit{margin:6px 0 0;font-size:11px;line-height:1.5;color:rgba(243,230,200,.7)}
.gs-credit a{color:#ffe1a1;text-decoration:underline;text-underline-offset:3px}
.gs-credit[hidden]{display:none}
.gs-note{margin:6px 0 0;font-size:11px;color:rgba(243,230,200,.5)}
[data-sound-open].is-off{opacity:.55}
@media (prefers-reduced-motion:reduce){.gs-switch i,.gs-switch i::after{transition:none}}
