.sound-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:9px 13px; border:1px solid #ffffff24; border-radius:12px; background:#ffffff08; color:var(--ink); font-family:inherit; font-size:12px; font-weight:600; line-height:1.2; cursor:pointer; transition:background .18s,border-color .18s; }
.sound-toggle:hover { background:#ffffff12; border-color:#ffffff50; }
.sound-toggle:focus-visible { outline:2px solid var(--accent,#59c9ff); outline-offset:4px; }
.sound-toggle svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sound-off-mark { display:none; }
.sound-toggle[aria-pressed="false"] .sound-off-mark { display:block; }
.sound-toggle[aria-pressed="false"] .sound-waves { display:none; }
.game-coin-stage,.rocket-stage,.level-one-stage,.plinko-stage,.upgrader-stage,.signup-level-status { position:relative; isolation:isolate; }
.fx-pulse { animation:fx-feedback .65s ease-out; }
.fx-win,.fx-payout { --fx-color:var(--positive,#56e2a0); }
.fx-loss { --fx-color:var(--danger,#ff537e); }
.fx-burst { position:absolute; z-index:5; inset:0; overflow:hidden; pointer-events:none; border-radius:inherit; }
.fx-particle { position:absolute; left:50%; top:50%; width:6px; height:11px; background:var(--accent); border-radius:2px; opacity:0; animation:fx-particle 1s cubic-bezier(.15,.6,.4,1) var(--fx-delay,0s) both; }
.fx-particle:nth-child(3n) { background:#bce9ff; }
.fx-particle:nth-child(3n + 1) { background:#8baeff; width:5px; height:5px; border-radius:50%; }
.rocket-stage.is-flying,.level-one-stage.is-flying { box-shadow:inset 0 0 60px #59c9ff0a; }
.rocket-stage.is-flying .rocket-flight-path { filter:drop-shadow(0 0 5px #59c9ff80); }
.level-one-stage.is-flying .level-one-flame { transform-box:fill-box; transform-origin:center; animation:fx-thrust .25s ease-in-out infinite alternate; }
.level-one-stage.is-flying .level-one-flight-path { filter:drop-shadow(0 0 5px #bce9ff70); }
.game-coin.is-flipping { filter:drop-shadow(0 14px 12px #0006); }
.plinko-ball { filter:drop-shadow(0 0 5px #d1efff65); }
.upgrader-stage.is-spinning { box-shadow:inset 0 0 45px #59c9ff10; }
@keyframes fx-feedback { 0% { box-shadow:0 0 0 0 transparent; } 25% { box-shadow:0 0 0 3px var(--fx-color,#59c9ff),0 0 28px #59c9ff1f; } 100% { box-shadow:0 0 0 0 transparent; } }
@keyframes fx-particle { 0% { opacity:0; transform:translate(0,0) rotate(0deg) scale(.5); } 15% { opacity:1; } 75% { opacity:1; } 100% { opacity:0; transform:translate(var(--fx-x,80px),var(--fx-y,-80px)) rotate(var(--fx-rotation,180deg)) scale(.85); } }
@keyframes fx-thrust { from { transform:scale(.8); opacity:.65; } to { transform:scale(1.1); opacity:1; } }
@media (max-width:600px) { .header-actions { gap:8px; } .sound-toggle { padding:9px; } #sound-toggle-label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } }
@media (prefers-reduced-motion:reduce) { .fx-pulse,.fx-particle,.level-one-stage.is-flying .level-one-flame { animation:none; } .sound-toggle { transition:none; } .fx-burst { display:none; } }
