/* Bubble Wrap v2 — sensory and gameplay overlays. Main v163 layout is untouched. */
.bw-v2-switches{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
.bw-v2-switches button{font-size:11px;min-width:0;padding:10px 5px}
.bw-membrane-shard{position:fixed;z-index:2000;pointer-events:none;width:13px;height:9px;
 background:linear-gradient(125deg,rgba(255,255,255,.9),rgba(142,203,253,.54) 45%,rgba(255,255,255,.03));
 border:1px solid rgba(222,244,255,.65);border-radius:2px 80% 5px 55%;
 animation:bw-membrane .48s cubic-bezier(.1,.8,.4,1) forwards}
@keyframes bw-membrane{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--turn)) scale(.28)}}
.bw-pop-ring{position:fixed;width:40px;height:40px;border:2px solid rgba(222,244,255,.7);border-radius:50%;z-index:1999;pointer-events:none;animation:bw-pop-ring .4s ease-out forwards}
@keyframes bw-pop-ring{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}
.bw-sneaky-hopper{position:fixed!important;z-index:3000;pointer-events:none;border-radius:50%;transform:translate(0,0);animation:bw-hop 2.65s ease-in-out forwards}
.bw-sneak-origin{opacity:.46!important}
@keyframes bw-hop{0%,100%{transform:translate(0,0) scale(1)}25%,50%,75%{transform:translate(var(--sx),var(--sy)) scale(1.08)}38%{transform:translate(var(--sx),calc(var(--sy) - 10px)) scale(.97)}}
.bw-end-spark{position:absolute;pointer-events:none;width:7px;height:7px;border-radius:45% 30% 70% 15%;background:#def4ff;box-shadow:0 0 6px #b6e1fd;animation:bw-end-sparks .49s ease-out forwards;z-index:200}
@keyframes bw-end-sparks{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4)}}
body.bw-prototype #gameStage #board>.cell.bw-pop-now{animation:bwBurst .30s ease-out forwards!important}
body.bw-prototype #gameStage>.queue-title #challengeHud[hidden]{display:none!important}
body.bw-prototype #gameStage>.queue-title #challengeHud:not([hidden]){display:flex!important}
body.bw-prototype #gameStage #board.bonus .cell.filled{cursor:pointer}
body.bw-prototype #gameStage .bonus-countdown[hidden]{display:none!important}
body.bw-prototype #gameStage .pop-time-hud[hidden]{display:none!important}
body.bw-prototype #gameStage #rack .piece:disabled{opacity:.65}
body.bw-prototype #gameStage .sheet:has(.sky-boop-scene){isolation:isolate}
@media(prefers-reduced-motion:reduce){.bw-membrane-shard,.bw-pop-ring,.bw-sneaky-hopper,.bw-end-spark{animation:none!important}}
