/* Specials follow the animal silhouette; no square frame or corner glyph. */
.cell .power-badge{display:none}
.cell[class*='special-'] .power-aura{
  inset:0!important;border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;filter:none!important;
  animation:none!important;pointer-events:none;
}
.cell.special-row .animal,.cell.special-column .animal{
  filter:drop-shadow(1px 0 0 #f9ffff) drop-shadow(-1px 0 0 #f9ffff)
    drop-shadow(0 1px 0 #f9ffff) drop-shadow(0 -1px 0 #f9ffff)
    drop-shadow(0 0 3px #9af8ff);
}
.cell.special-row .animal{animation:special-shake-x 2.7s ease-in-out infinite}
.cell.special-column .animal{animation:special-nod-y 2.7s ease-in-out infinite}
.cell.special-row .power-aura:before,.cell.special-row .power-aura:after,
.cell.special-column .power-aura:before,.cell.special-column .power-aura:after{
  content:'';position:absolute;width:3px;height:10px;border-radius:50%;
  background:#f3ffff;box-shadow:0 0 4px #7eefff;opacity:.9;
  animation:special-glint 2.7s ease-in-out infinite;
}
.cell.special-row .power-aura:before{left:1%;top:40%}
.cell.special-row .power-aura:after{right:1%;top:40%;animation-delay:.22s}
.cell.special-column .power-aura:before{top:1%;left:40%;width:10px;height:3px}
.cell.special-column .power-aura:after{bottom:1%;left:40%;width:10px;height:3px;animation-delay:.22s}
.cell.special-bomb .animal{
  filter:drop-shadow(1px 0 0 #fff8d2) drop-shadow(-1px 0 0 #fff8d2)
    drop-shadow(0 1px 0 #fff8d2) drop-shadow(0 -1px 0 #fff8d2)
    drop-shadow(0 0 4px #ffc838);
  animation:special-bomb-breathe 2.1s ease-in-out infinite;
}
.cell.special-bomb .power-aura:before,.cell.special-bomb .power-aura:after{
  content:'✦';position:absolute;font:12px/1 Arial;color:#fff9bd;
  text-shadow:0 0 4px #ffb921;animation:special-glint 1.9s ease-in-out infinite;
}
.cell.special-bomb .power-aura:before{left:6%;top:2%}
.cell.special-bomb .power-aura:after{right:2%;bottom:7%;animation-delay:.65s}
.cell .magic-bird{
  display:block;width:100%;height:100%;position:relative;z-index:1;
  background:url('assets/magic-bird.png') center/contain no-repeat;
  filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #fff2ae);
  animation:magic-bird-breathe 2.4s ease-in-out infinite;pointer-events:none;
}
.cell.special-rainbow .power-aura{display:none}
@keyframes special-shake-x{
  0%,60%,100%{transform:translateX(0) rotate(0)}
  69%,85%{transform:translateX(-1.6px) rotate(-3deg)}
  77%,93%{transform:translateX(1.6px) rotate(3deg)}
}
@keyframes special-nod-y{
  0%,60%,100%{transform:translateY(0) scaleY(1)}
  70%,87%{transform:translateY(-1.7px) scaleY(1.02)}
  79%,95%{transform:translateY(1.7px) scaleY(.96)}
}
@keyframes special-bomb-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.065)}}
@keyframes special-glint{0%,100%{opacity:.25;transform:scale(.65)}50%{opacity:1;transform:scale(1.1)}}
@keyframes magic-bird-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}

/* Line+bomb fusion sweeps parallel lanes in the retained stripe direction. */
.beam.fusion-beam{animation:fusion-sweep .64s ease-out both;box-shadow:0 0 7px #fff,0 0 18px #ffd36e}
.fusion-beam.horizontal{height:17px;background:linear-gradient(transparent,#ffdf7d 20%,#fffff1 43% 57%,#ffdf7d 80%,transparent)}
.fusion-beam.vertical{width:17px;background:linear-gradient(90deg,transparent,#ffdf7d 20%,#fffff1 43% 57%,#ffdf7d 80%,transparent)}
.fusion-ring{border-color:#ffe39c;box-shadow:0 0 24px #ffd16e,inset 0 0 18px #fffad6}
.combo-rules{width:100%;border-collapse:collapse;margin:9px 0;font-size:10px;line-height:1.7}
.combo-rules td{padding:6px 5px;border-bottom:1px solid #d9bd80;vertical-align:top}
.combo-rules td:first-child{width:40%;font-weight:700;white-space:nowrap;color:#718a42}
@keyframes fusion-sweep{0%{opacity:0;filter:brightness(1.6)}15%,58%{opacity:1;filter:brightness(1.15)}100%{opacity:0;filter:brightness(1)}}
.cheer-picker{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}
.cheer-picker button{flex:1 1 28%;border:1px solid #d7bb7f;border-radius:12px;padding:9px 5px;background:#fff9e7;color:#74501d;font-weight:800;font-size:12px;cursor:pointer;transition:background .15s,box-shadow .15s}
.cheer-picker small{display:block;margin-top:3px;font-size:10px;color:#8b845c;font-weight:500}
.cheer-picker button:hover,.cheer-picker button.speaking{background:#ffe99f;border-color:#d19926;box-shadow:0 0 0 2px #f2c14555}
#audition-stop[hidden]{display:none}
#audio-live{min-height:1.5em;color:#70893b;font-weight:700}
.audio-modal{padding:22px 26px}
.audio-modal h2{margin:7px 0 12px;font-size:23px}
.audio-modal .modal-eyebrow{margin-bottom:6px;font-size:8px}
.audio-modal .setting-row{margin:12px 0 4px;font-size:13px;color:#6b743b}
.audio-modal .volume{margin:7px 0 12px;color:#8b8158}
.audio-modal .volume input{margin-top:6px}
.audio-modal .track-picker{margin:10px 0}
.audio-modal .track-picker button{padding:7px 4px}
.audio-modal .audio-state{margin:10px 0 0}
