.game-audio-control{--audio-safe-top:env(safe-area-inset-top,0px);--audio-safe-bottom:env(safe-area-inset-bottom,0px);position:fixed;inset-inline-end:18px;bottom:24px;z-index:65;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #e6bf7390;border-radius:14px;background:linear-gradient(145deg,#235575f5,#0d243ef5);box-shadow:0 5px 18px #03132390,inset 0 1px #a4dfff2c;cursor:grab;color:#f5d397;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none}
.game-audio-control[hidden]{display:none!important}.game-audio-control.is-dragging{cursor:grabbing;box-shadow:0 8px 25px #031323b0,0 0 0 2px #f4d49555}
.game-audio-control:hover{border-color:#ffe0a1;background:linear-gradient(145deg,#2d6386,#102943)}
.game-audio-control:focus-visible{outline:3px solid #ffe0a1;outline-offset:3px}
.audio-equalizer{display:flex;align-items:center;justify-content:center;gap:3px;height:21px;width:25px}
.audio-equalizer i{display:block;width:3px;height:10px;border-radius:3px;background:linear-gradient(#ffdf9e,#c49348);box-shadow:0 0 6px #e4b45d25;transform-origin:center}
.audio-equalizer i:nth-child(2){height:20px}.audio-equalizer i:nth-child(3){height:15px}.audio-equalizer i:nth-child(4){height:8px}
.is-playing .audio-equalizer i{animation:goat-audio-wave 1.25s ease-in-out infinite alternate}.is-playing .audio-equalizer i:nth-child(2){animation-delay:-.55s}.is-playing .audio-equalizer i:nth-child(3){animation-delay:-.85s}.is-playing .audio-equalizer i:nth-child(4){animation-delay:-.3s}
.game-audio-control.is-muted{border-color:#7094b25e;background:#10263fe8;color:#8da6bc}.is-muted .audio-equalizer{opacity:.4}.is-muted .audio-equalizer i{animation:none;background:#91a9bd}
.audio-muted-mark{display:none}.is-muted .audio-muted-mark{display:block;position:absolute;width:25px;height:2px;border-radius:3px;transform:rotate(-42deg);background:#d5e1ee;box-shadow:0 0 0 2px #142b41}
.game-audio-control.in-modal{bottom:max(16px,env(safe-area-inset-bottom,0px));inset-inline-end:16px;z-index:90}
dialog.challenge-modal[open] .game-audio-control,dialog.battle-modal[open]:has(.result) .game-audio-control{display:none}
.game-audio-settings{position:fixed;inset-inline-end:18px;bottom:78px;z-index:95;width:min(270px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow-y:auto;box-sizing:border-box;padding:14px 18px 18px;border:1px solid #6d91ad80;border-radius:18px;background:#10263efc;box-shadow:0 12px 40px #020a1690;color:#e9f2fc;text-align:start}
.game-audio-settings[hidden]{display:none!important}
.audio-settings-heading,.audio-volume-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.audio-settings-heading{margin-bottom:12px}.audio-settings-heading strong{font-size:16px}.audio-settings-close{display:grid;place-items:center;min-width:44px;min-height:44px;margin:-8px -10px -8px 0;padding:0;border:0;background:transparent;color:#aac2d7;font-size:26px;cursor:pointer}
.audio-volume-heading{font-size:14px;color:#b9cee0}.audio-volume-heading output{font-variant-numeric:tabular-nums;color:#f5d397;font-size:13px}
.audio-volume-slider{display:block;width:100%;height:44px;margin:4px 0 10px;padding:0;background:transparent;accent-color:#f1cc87;cursor:pointer;touch-action:pan-y}
.audio-settings-mute{display:block;min-height:44px;width:100%;padding:8px 12px;border:1px solid #7896af70;border-radius:10px;background:#19364f;color:#e0edf8;font:inherit;font-size:14px;cursor:pointer}
.audio-settings-visibility{display:block;min-height:44px;width:100%;padding:8px 12px;margin-bottom:8px;border:1px solid #7896af45;border-radius:10px;background:transparent;color:#b9cee0;font:inherit;font-size:13px;cursor:pointer}
.audio-settings-mute[aria-pressed=true]{border-color:#f1cc8790;color:#f5d397}.game-audio-settings button:focus-visible,.audio-volume-slider:focus-visible{outline:3px solid #f5d397;outline-offset:3px}
.game-audio-settings.in-modal{inset-inline-end:16px}
@keyframes goat-audio-wave{from{transform:scaleY(.5)}to{transform:scaleY(1)}}
@media(max-width:700px){.game-audio-control{bottom:calc(150px + env(safe-area-inset-bottom,0px));inset-inline-end:12px}.game-audio-control.in-modal{bottom:max(14px,env(safe-area-inset-bottom,0px));inset-inline-end:12px}.game-audio-settings,.game-audio-settings.in-modal{inset-inline-end:12px}}
@media(prefers-reduced-motion:reduce){.is-playing .audio-equalizer i{animation:none}}
.modal-header.has-audio-dock{gap:8px}.modal-header.has-audio-dock>h2{flex:1 1 0;min-width:0;margin-inline-end:0;overflow-wrap:anywhere}
.audio-header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.audio-header-actions>[data-action]{flex:0 0 44px}
.game-audio-control.is-docked{position:static!important;inset:auto!important;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;box-shadow:none;cursor:pointer;touch-action:manipulation}
body:has(.map-encounter-panel[open]) .game-audio-control.is-docked:not([hidden]){display:grid}
