.feel-layer{position:fixed;inset:0;z-index:70;pointer-events:none;overflow:hidden;contain:layout style paint}
.feel-particle,.feel-ring,.feel-floater,.feel-impact{position:absolute;pointer-events:none;will-change:transform,opacity}
.feel-particle{width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--feel-color);box-shadow:0 0 10px color-mix(in srgb,var(--feel-color) 70%,transparent);animation:feel-particle-out .52s ease-out forwards}
.feel-particle--shard{width:4px;height:10px;border-radius:2px}
.feel-ring{width:42px;height:42px;margin:-21px;border:2px solid var(--feel-color);border-radius:50%;box-shadow:0 0 18px color-mix(in srgb,var(--feel-color) 45%,transparent);animation:feel-ring-out .56s ease-out forwards}
.feel-impact{width:var(--feel-size,56px);height:var(--feel-size,56px);margin:calc(var(--feel-size,56px) / -2);border:2px solid var(--feel-color);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--feel-color) 30%,transparent) 0 18%,color-mix(in srgb,var(--feel-color) 13%,transparent) 35%,transparent 70%);box-shadow:0 0 24px color-mix(in srgb,var(--feel-color) 35%,transparent),inset 0 0 20px color-mix(in srgb,var(--feel-color) 28%,transparent);animation:feel-impact-out .52s cubic-bezier(.12,.82,.2,1) forwards}
.feel-impact--nova{border-width:3px}
.feel-floater{transform:translate(-50%,-50%);font:800 .72rem/1 system-ui,sans-serif;letter-spacing:.06em;text-shadow:0 2px 8px #000;animation:feel-float-out .9s ease-out forwards}
.feel-floater--coin{color:#ffd46a}.feel-floater--cost{color:#ff9a7a}.feel-floater--info{color:#dcecff}.feel-floater--merge{color:#ffe5a8;font-size:.78rem}.feel-floater--cryo{color:#b8c8ff}.feel-floater--threat{color:#f0c3ff;font-size:.76rem}
.feel-shake--light{animation:feel-shake-light .18s linear}
.feel-shake--medium{animation:feel-shake-medium .28s linear}
.feel-shake--heavy{animation:feel-shake-heavy .38s linear}
.feel-stage--wave-start{animation:feel-stage-pulse .52s ease-out}
.feel-stage--danger{animation:feel-danger-pulse .9s ease-out}
.feel-hud--reward{animation:feel-hud-reward .52s ease-out}
.feel-board--reject{animation:feel-board-reject .3s ease-out}
.feel-app--game-over{animation:feel-game-over 1s ease-out}
.feel-slot--deploy{animation:feel-slot-deploy .52s cubic-bezier(.18,.85,.2,1)}
.feel-unit--deploy{animation:feel-unit-deploy .52s cubic-bezier(.18,.9,.2,1.12)}
.combat-projectile{animation:feel-projectile-born .16s ease-out}
.combat-projectile--pulse{animation:feel-projectile-pulse-born .12s ease-out}
.combat-projectile--nova{animation:feel-projectile-nova-born .18s ease-out}
.combat-projectile--cryo{animation:feel-projectile-cryo-born .18s ease-out}
.combat-enemy--hit .combat-enemy__body{animation:feel-hit-flash .12s ease-out}
.board-unit__core{transition:transform .16s ease,filter .16s ease}
.board-unit:hover .board-unit__core{transform:scale(1.04)}
@keyframes feel-particle-out{0%{opacity:1;transform:translate(0,0) scale(var(--feel-scale,1))}100%{opacity:0;transform:translate(var(--feel-dx),var(--feel-dy)) scale(.15) rotate(90deg)}}
@keyframes feel-ring-out{0%{opacity:.9;transform:translate(-50%,-50%) scale(.25)}100%{opacity:0;transform:translate(-50%,-50%) scale(calc(1.8 * var(--feel-scale,1)))}}
@keyframes feel-impact-out{0%{opacity:.95;transform:translate(-50%,-50%) scale(.22)}45%{opacity:.8;transform:translate(-50%,-50%) scale(.88)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes feel-float-out{0%{opacity:0;transform:translate(-50%,-20%) scale(.85)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}100%{opacity:0;transform:translate(-50%,-160%) scale(.95)}}
@keyframes feel-shake-light{0%,100%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,0)}}
@keyframes feel-shake-medium{0%,100%{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-1px)}80%{transform:translate(2px,1px)}}
@keyframes feel-shake-heavy{0%,100%{transform:translate(0)}15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-4px,-2px)}60%{transform:translate(4px,2px)}75%{transform:translate(-2px,1px)}90%{transform:translate(2px,-1px)}}
@keyframes feel-stage-pulse{0%{box-shadow:inset 0 0 0 rgba(102,231,255,0)}35%{box-shadow:inset 0 0 42px rgba(102,231,255,.28)}100%{box-shadow:inset 0 0 0 rgba(102,231,255,0)}}
@keyframes feel-danger-pulse{0%,100%{filter:none}35%{filter:drop-shadow(0 0 16px rgba(255,99,125,.65)) brightness(1.12)}}
@keyframes feel-hud-reward{0%,100%{transform:scale(1)}35%{transform:scale(1.22);text-shadow:0 0 14px #ffd46a}}
@keyframes feel-board-reject{0%,100%{transform:translateX(0)}30%{transform:translateX(-3px)}60%{transform:translateX(3px)}}
@keyframes feel-game-over{0%{filter:none}25%{filter:brightness(1.2) saturate(.7)}100%{filter:none}}
@keyframes feel-slot-deploy{0%{box-shadow:inset 0 0 0 rgba(102,231,255,0)}45%{box-shadow:inset 0 0 36px rgba(102,231,255,.22),0 0 22px rgba(102,231,255,.16)}100%{box-shadow:inset 0 0 0 rgba(102,231,255,0)}}
@keyframes feel-unit-deploy{0%{opacity:.2;transform:translateY(12px) scale(.68);filter:brightness(1.6)}58%{opacity:1;transform:translateY(-3px) scale(1.08);filter:brightness(1.2)}100%{opacity:1;transform:translateY(0) scale(1);filter:none}}
@keyframes feel-projectile-born{0%{opacity:0;transform:scale(.25)}100%{opacity:1;transform:scale(1)}}
@keyframes feel-projectile-pulse-born{0%{opacity:0;filter:brightness(2.2)}100%{opacity:1;filter:none}}
@keyframes feel-projectile-nova-born{0%{opacity:0;filter:brightness(2);box-shadow:0 0 0 rgba(255,184,92,0)}100%{opacity:1;filter:none}}
@keyframes feel-projectile-cryo-born{0%{opacity:0;filter:brightness(2) saturate(.5)}100%{opacity:1;filter:none}}
@keyframes feel-hit-flash{0%,100%{filter:none}50%{filter:brightness(1.55)}}
@media (prefers-reduced-motion:reduce){.feel-particle,.feel-ring,.feel-impact,.feel-floater,.feel-shake--light,.feel-shake--medium,.feel-shake--heavy,.feel-stage--wave-start,.feel-stage--danger,.feel-hud--reward,.feel-board--reject,.feel-app--game-over,.feel-slot--deploy,.feel-unit--deploy,.combat-projectile,.combat-projectile--pulse,.combat-projectile--nova,.combat-projectile--cryo,.combat-enemy--hit .combat-enemy__body{animation-duration:.01ms!important;animation-iteration-count:1!important}}
