.sound-toggle{appearance:none;border:0;background:none;color:inherit;font:inherit;letter-spacing:.04em;cursor:pointer;padding:8px;min-height:36px;white-space:nowrap;opacity:.75}
.sound-toggle:hover,.sound-toggle:focus-visible{opacity:1}.sound-toggle:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.page-footer .sound-toggle{margin-left:auto;margin-right:12px;order:1}.page-footer .theme-switch{order:2}
.languages .sound-toggle{font-size:10px;order:-1;color:#c4bfae}
@media(max-width:700px){.languages{gap:5px}.languages .sound-toggle{color:#777;font-size:9px;padding:4px}.page-footer .sound-toggle{padding:4px;margin-right:5px;font-size:8px}}
/* Compact speaker and transport, shared by both themes. */
.sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:7px;color:inherit}
.sound-toggle svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:square;stroke-linejoin:miter}
.sound-toggle .sound-muted{display:none}.sound-toggle[aria-pressed=false] .sound-waves{display:none}.sound-toggle[aria-pressed=false] .sound-muted{display:block}
.sound-toggle:hover .sound-waves{animation:speaker-pulse .65s ease-in-out}
@keyframes speaker-pulse{50%{opacity:.35;transform:translateX(1px)}}
.imagination .content>.sound-toggle{margin-left:12px;vertical-align:middle;color:#e1cca0;position:relative;top:9px}
.speech-controls{display:flex;align-items:center;gap:8px;order:1;margin-right:16px;color:var(--gold,#cbb786)}
.speech-restart{font:20px Arial;border:0;background:none;color:inherit;cursor:pointer;width:28px;height:32px;padding:0}
.speech-controls input{appearance:none;width:110px;height:24px;cursor:pointer;background:linear-gradient(currentColor,currentColor) left center/var(--progress,0%) 1px no-repeat,linear-gradient(#8d8d8d66,#8d8d8d66) center/100% 1px no-repeat;color:inherit;margin:0}
.speech-controls input::-webkit-slider-thumb{appearance:none;width:5px;height:9px;background:currentColor;border:0}
.speech-controls input::-moz-range-thumb{width:5px;height:9px;background:currentColor;border:0;border-radius:0}
.speech-controls :focus-visible{outline:1px solid currentColor;outline-offset:3px}
@media(max-width:700px){.speech-controls{gap:2px;margin-right:6px}.speech-controls input{width:65px}.page-footer .sound-toggle{min-width:30px;width:30px}.speech-restart{width:24px}}
@media(prefers-reduced-motion:reduce){.sound-toggle:hover .sound-waves{animation:none}}

/* Aligned entrance action group; restrained speaker geometry. */
.experience-actions{display:flex;align-items:center;gap:12px;margin-top:20px}
.experience-actions .enter{margin-top:0;min-width:0;flex:0 1 250px}
.experience-actions .sound-toggle{flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:1px solid #e1cca040;background:#0a151b40;color:#e1cca0;transition:border-color .25s,background .25s}
.experience-actions .sound-toggle:hover{border-color:#e1cca090;background:#e1cca00c}
.sound-toggle svg{width:22px;height:22px;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.page-footer .sound-toggle{width:28px;min-width:28px;height:28px;min-height:28px;padding:4px;margin-right:3px}
.page-footer .sound-toggle svg{width:19px;height:19px}
.page-footer .speech-controls{margin-left:0;gap:0}
@media(max-width:700px){.experience-actions{gap:10px}.experience-actions .enter{gap:16px}.page-footer .sound-toggle{width:28px;min-width:28px;margin-right:3px}}

/* Fade the transport into a quiet, non-interactive state when muted. */
.speech-controls{opacity:1;filter:none;transition:opacity .35s ease,filter .35s ease}
.speech-controls input{transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);transform-origin:left center}
.speech-controls.is-muted{opacity:.25;filter:grayscale(1)}
.speech-controls.is-muted input{transform:scaleX(.92);cursor:default;pointer-events:none}
@media(prefers-reduced-motion:reduce){.speech-controls,.speech-controls input{transition:none}}

.speech-transport{display:inline-flex;align-items:center;justify-content:center;width:25px;height:28px;padding:5px;border:0;background:none;color:inherit;cursor:pointer;transition:opacity .25s,transform .25s}
.speech-transport svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round}
.speech-transport:hover:not(:disabled){transform:translateY(-1px)}
.speech-transport:disabled{opacity:.3;cursor:default}
.speech-controls input{margin-left:5px}
.speech-controls.is-stopped input{opacity:.25;transform:scaleX(.92);pointer-events:none;cursor:default}
@media(max-width:700px){.speech-transport{width:23px;padding:4px}.speech-controls input{width:55px;margin-left:3px}}

/* Balanced speech transport: play/stop — timeline — global sound. */
.page-footer .speech-controls{margin-left:auto;gap:5px;filter:none;opacity:1}
.page-footer .speech-controls .sound-toggle{margin:0;order:0;flex:none}
.speech-controls.is-muted .speech-transport,.speech-controls.is-muted input{opacity:.25}
.speech-transport svg{position:relative}
.speech-transport .transport-play,.speech-transport .transport-stop{transform-origin:10px 10px;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.speech-transport .transport-stop{opacity:0;transform:scale(.45) rotate(-45deg)}
.speech-transport.is-playing .transport-stop{opacity:1;transform:scale(1) rotate(0)}
.speech-transport.is-playing .transport-play{opacity:0;transform:scale(.45) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.speech-transport .transport-play,.speech-transport .transport-stop{transition:none}}

.speech-controls.needs-play .speech-transport{opacity:1}

/* Autoplay can be denied on a fresh document: expose the existing Play action. */
.speech-playback-hint{display:none}
.speech-controls.needs-play .speech-transport{width:auto;gap:6px}
.speech-controls.needs-play .speech-playback-hint{display:inline;font:9px Manrope,Arial,sans-serif;white-space:nowrap}
