@charset "UTF-8";
.fireflies-secret-firefly { position:absolute; z-index:8; width:clamp(54px,5.5vw,76px); aspect-ratio:1; min-width:48px; min-height:48px; padding:0; border:0; border-radius:50%; background:transparent; box-shadow:none!important; cursor:pointer; filter:drop-shadow(0 0 3px rgba(247,190,76,.3)); transition:opacity .35s ease,transform .35s ease,filter .35s ease; }
.fireflies-secret-firefly span { display:block; width:100%; height:100%; background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-secret-firefly-resting-v1.webp") center/contain no-repeat; }
.fireflies-secret-firefly--story span,.fireflies-secret-hideout--finale .fireflies-secret-firefly span { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-secret-firefly-tilted-v1.webp"); }
.fireflies-secret-hideout--gallery .fireflies-secret-firefly span { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-secret-firefly-shy-v1.webp"); }
.fireflies-secret-firefly:hover { filter:drop-shadow(0 0 18px rgba(255,205,92,.95)); transform:scale(1.08); }
.fireflies-secret-firefly:focus-visible { outline:3px solid #f2bd5e; outline-offset:4px; }
.fireflies-secret-firefly.is-found { opacity:0; transform:scale(.2); pointer-events:none; }
.fireflies-secret-firefly--hero { z-index:4; inset-inline-end:8%; top:auto; bottom:19%; opacity:.78; filter:drop-shadow(0 0 2px rgba(247,190,76,.22)); }
.fireflies-secret-firefly--story { inset-inline-start:7%; bottom:12%; }
.fireflies-secret-firefly--gallery { inset-inline-end:6%; top:20%; }
.fireflies-secret-firefly--work { inset-inline-start:5%; top:12%; }
.fireflies-secret-firefly--finale { inset-inline-end:10%; top:15%; }
.fireflies-secret-hideout { position:absolute; z-index:9; width:clamp(170px,20vw,290px); aspect-ratio:4/3; pointer-events:none; }
/* Тайник в галерее живёт внутри второго снимка стопки и цепляется за его правый верхний угол */
.fireflies-secret-hideout--gallery { inset-inline-end:-16%; top:-20%; width:clamp(150px,16vw,230px); aspect-ratio:1; }
/* Тайник в процентах высоты попадал на сцену подарка, когда подарков не три, а один: он сидит в свободном верхнем углу секции над шкатулкой */
.fireflies-secret-hideout--work { inset-inline-start:2%; top:24px; width:clamp(170px,18vw,250px); }
.fireflies-secret-hideout--finale { inset-inline-end:2%; top:7%; width:clamp(160px,18vw,250px); }
.fireflies-secret-hideout-trigger { position:absolute; z-index:2; inset:0; display:grid; width:100%; height:100%; place-items:center; padding:0; border:0; background:transparent; box-shadow:none!important; cursor:pointer; pointer-events:auto; transition:opacity .36s ease,transform .52s cubic-bezier(.2,.8,.2,1),filter .3s ease; }
.fireflies-secret-hideout-trigger img { display:block; width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 18px 22px rgba(54,35,29,.2)); }
.fireflies-secret-hideout-trigger:hover { filter:brightness(1.06); transform:translateY(-4px) rotate(-1deg); }
.fireflies-secret-hideout-trigger:focus-visible { outline:3px solid var(--warm-clay); outline-offset:4px; }
.fireflies-secret-hideout.is-open .fireflies-secret-hideout-trigger { opacity:0; transform:translateY(-18px) rotate(-5deg) scale(.88); pointer-events:none; }
.fireflies-secret-hideout .fireflies-secret-firefly { z-index:1; left:50%; top:50%; opacity:1; transform:translate(-50%,-50%); pointer-events:auto; }
.fireflies-secret-hideout .fireflies-secret-firefly.is-concealed { opacity:0; transform:translate(-50%,-50%) scale(.25); pointer-events:none; animation:none; }
.fireflies-secret-hideout .fireflies-secret-firefly:not(.is-concealed):hover { transform:translate(-50%,-50%) scale(1.08); }
.fireflies-secret-hideout .fireflies-secret-firefly.is-found { opacity:0; transform:translate(-50%,-68%) scale(.2); }
.fireflies-secret-found-fx { position:fixed; z-index:60; width:1px; height:1px; pointer-events:none; }
.fireflies-secret-found-fx::before,.fireflies-secret-found-fx::after { position:absolute; left:50%; top:50%; border:2px solid rgba(255,216,111,.88); border-radius:50%; content:""; animation:warmSecretRing .72s ease-out forwards; }
.fireflies-secret-found-fx::after { animation-delay:.1s; }
.fireflies-secret-found-fx>i { position:absolute; left:0; top:0; width:8px; height:8px; border-radius:50%; background:radial-gradient(circle,#fff9ce 0 28%,#ffc854 35% 58%,transparent 70%); box-shadow:0 0 12px rgba(255,204,83,.92); animation:warmSecretSpark .78s cubic-bezier(.18,.75,.3,1) forwards; }
.fireflies-quest-badge { position:fixed; z-index:40; inset-inline-start:max(14px,env(safe-area-inset-left)); bottom:max(14px,env(safe-area-inset-bottom)); display:flex; min-height:44px; align-items:center; gap:7px; padding:6px 12px 6px 7px; border:1px solid rgba(242,189,94,.42); border-radius:999px; background:rgba(24,31,42,.9); color:#fffaf3; box-shadow:0 12px 34px rgba(12,18,28,.28); font:700 13px/1.2 Manrope,sans-serif; backdrop-filter:blur(10px); transition:opacity .3s ease,transform .3s ease; }
.fireflies-quest-badge::before { width:31px; height:31px; background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-firefly-frames-v3.webp") 0 0/200% 200% no-repeat; content:""; }
.skin-warm-letter.gift-gate-locked .fireflies-quest-badge { opacity:0; transform:translateY(18px); pointer-events:none; }
.fireflies-quest-badge.is-dormant { opacity:0; transform:translateY(18px); pointer-events:none; }
.fireflies-quest-badge.is-complete { opacity:0; transform:translateY(18px); pointer-events:none; }
.fireflies-quest-badge.is-away { opacity:0; transform:translateY(18px); pointer-events:none; }
.fireflies-quest-toast { position:fixed; z-index:41; left:50%; top:max(18px,env(safe-area-inset-top)); max-width:calc(100vw - 32px); padding:13px 18px; border:1px solid rgba(242,189,94,.42); border-radius:999px; background:#202733; color:#fffaf3; box-shadow:0 16px 36px rgba(12,18,28,.3); font:700 13px/1.3 Manrope,sans-serif; opacity:0; transform:translate(-50%,-18px); transition:opacity .24s ease,transform .24s ease; pointer-events:none; }
.fireflies-quest-toast.show { opacity:1; transform:translate(-50%,0); }
.fireflies-secret-reward { position:fixed; z-index:52; left:50%; top:50%; display:grid; width:min(540px,calc(100vw - 32px)); max-height:calc(100svh - 32px); gap:14px; overflow:auto; padding:clamp(28px,5vw,48px); border:clamp(12px,2vw,20px) solid #eac8c2; outline:1px solid rgba(166,96,83,.42); outline-offset:-8px; background:#fffaf3; color:#3b2928; box-shadow:0 30px 90px rgba(12,18,28,.48); text-align:center; opacity:0; transform:translate(-50%,-46%) scale(.96); transition:opacity .32s ease,transform .36s cubic-bezier(.2,.8,.2,1); }
.fireflies-secret-reward[hidden] { display:none; }
.fireflies-secret-reward.show { opacity:1; transform:translate(-50%,-50%) scale(1); }
.fireflies-secret-reward small { color:#a85e52; font:800 11px/1.3 Manrope,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.fireflies-secret-reward strong { font:600 clamp(2rem,7vw,3.25rem)/.98 var(--serif); }
.fireflies-secret-reward p { margin:4px 0; overflow-wrap:anywhere; font:500 clamp(1.15rem,3.5vw,1.45rem)/1.55 var(--serif); white-space:normal; }
.fireflies-secret-reward button { justify-self:center; min-height:48px; margin-top:4px; padding:12px 24px; border:1px solid rgba(166,96,83,.45); border-radius:999px; background:#eac8c2; color:#3b2928; font:700 14px/1.2 Manrope,sans-serif; cursor:pointer; }
.fireflies-secret-reward button:focus-visible { outline:3px solid #f2bd5e; outline-offset:3px; }
.fireflies-game { display:grid; grid-template-columns:minmax(0,.72fr) minmax(420px,1.28fr); min-height:82svh; gap:clamp(28px,5vw,72px); padding-block:clamp(76px,9vw,128px); padding-inline:clamp(48px,6vw,96px); background:radial-gradient(circle at 72% 48%,rgba(242,189,94,.12),transparent 32%),linear-gradient(rgba(16,25,39,.3),rgba(16,25,39,.3)),url("../../../images/content-websites/art/warm-letter-v2/warm-letter-background-game-v1.webp") center/cover no-repeat,#1c222b; color:#fffaf3; }
.fireflies-game-copy { container-type:inline-size; align-self:center; max-width:600px; }
.fireflies-game-copy small { color:#e5b96e; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.fireflies-game-copy h2 { margin:18px 0 24px; overflow-wrap:break-word; font:600 clamp(2.7rem,4.7vw,5rem)/.95 var(--serif); font-size:clamp(2.7rem,14cqi,5rem); }
.fireflies-game-copy>p { color:#e6ddd5; font:500 clamp(1.1rem,1.7vw,1.35rem)/1.65 var(--serif); }
.fireflies-game-stage { display:grid; min-width:0; align-self:center; gap:16px; }
.fireflies-game-score { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0; }
.fireflies-game-score span { min-height:44px; padding:11px 14px; border:1px solid rgba(242,189,94,.28); border-radius:999px; background:rgba(255,255,255,.06); font-size:13px; }
.fireflies-game-score b { margin-inline-start:6px; color:#f2bd5e; font-variant-numeric:tabular-nums; }
.fireflies-game-score span.is-pulsing { animation:warmScorePulse .38s ease; }
.fireflies-game-caption { display:-webkit-box; width:100%; max-width:520px; height:3em; margin:0 auto; overflow:hidden; color:#e6ddd5; font:500 clamp(1rem,1.45vw,1.16rem)/1.5 var(--serif); text-align:center; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.fireflies-game-field { position:relative; height:clamp(680px,78svh,860px); min-height:640px; overflow:hidden; border:clamp(32px,4vw,52px) solid transparent; border-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-frame-photo-master-v2.webp") 130 stretch; background:radial-gradient(circle at 50% 70%,rgba(242,189,94,.14),transparent 38%),#202733; isolation:isolate; touch-action:none; }
.fireflies-game-dusk { position:absolute; inset:0; background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-level-1-v1.webp") center/cover no-repeat,#111c2d; transition:filter .4s ease,opacity .4s ease; }
.fireflies-game-field.is-level-2 .fireflies-game-dusk { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-level-2-v1.webp"); }
.fireflies-game-field.is-level-3 .fireflies-game-dusk { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-level-3-v1.webp"); }
.fireflies-game-field.is-level-4 .fireflies-game-dusk { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-level-4-v1.webp"); }
.fireflies-game-atmosphere { position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.fireflies-game-atmosphere i { --twinkle-x:18%; --twinkle-y:18%; --twinkle-delay:0s; position:absolute; left:var(--twinkle-x); top:var(--twinkle-y); width:3px; height:3px; border-radius:50%; background:#f7d98c; box-shadow:0 0 8px 2px rgba(247,217,140,.5); opacity:.18; animation:warmGameTwinkle 3.2s var(--twinkle-delay) ease-in-out infinite; }
.fireflies-game-atmosphere i:nth-child(2) { --twinkle-x:44%; --twinkle-y:10%; --twinkle-delay:-1.4s; }
.fireflies-game-atmosphere i:nth-child(3) { --twinkle-x:75%; --twinkle-y:22%; --twinkle-delay:-.7s; }
.fireflies-game-atmosphere i:nth-child(4) { --twinkle-x:88%; --twinkle-y:52%; --twinkle-delay:-2.3s; }
.fireflies-game-atmosphere i:nth-child(5) { --twinkle-x:12%; --twinkle-y:58%; --twinkle-delay:-1.8s; }
.fireflies-game-atmosphere i:nth-child(6) { --twinkle-x:54%; --twinkle-y:46%; --twinkle-delay:-.3s; }
.fireflies-game-atmosphere i:nth-child(7) { --twinkle-x:28%; --twinkle-y:76%; --twinkle-delay:-2.8s; }
.fireflies-game-atmosphere i:nth-child(8) { --twinkle-x:82%; --twinkle-y:80%; --twinkle-delay:-1s; }
.fireflies-game-lanes { position:absolute; z-index:1; inset:0; display:grid; grid-template-columns:repeat(3,1fr); }
.fireflies-game-lanes i { border-inline-end:1px dashed rgba(242,189,94,.14); }
.fireflies-game-lanes i:last-child { border:0; }
.fireflies-game-fx { position:absolute; z-index:6; inset:0; overflow:hidden; pointer-events:none; }
.fireflies-game-jar { --player-lane:1; position:absolute; z-index:4; left:calc((var(--player-lane) + .5) * 33.333%); bottom:96px; width:clamp(82px,12vw,132px); margin-left:-6px; aspect-ratio:1; background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-fireflies-atlas-v2.webp") 100% 100%/400% 300% no-repeat; filter:drop-shadow(0 10px 14px rgba(0,0,0,.32)) drop-shadow(0 0 10px rgba(242,189,94,.16)); pointer-events:none; transform:translateX(-50%); transition:left .18s cubic-bezier(.2,.85,.3,1),filter .25s ease; animation:warmJarBreathe 3s ease-in-out infinite; }
.fireflies-game-jar.is-moving-left { animation:warmJarMoveLeft .22s ease,warmJarBreathe 3s .22s ease-in-out infinite; }
.fireflies-game-jar.is-moving-right { animation:warmJarMoveRight .22s ease,warmJarBreathe 3s .22s ease-in-out infinite; }
.fireflies-game-jar.is-catching { animation:warmJarCatch .4s ease,warmJarBreathe 3s .4s ease-in-out infinite; filter:drop-shadow(0 8px 12px rgba(0,0,0,.28)) drop-shadow(0 0 24px rgba(255,211,81,.72)); }
.fireflies-game-jar.is-blasted { animation:warmJarBlast .58s ease,warmJarBreathe 3s .58s ease-in-out infinite; filter:grayscale(.5) brightness(.78) drop-shadow(0 10px 15px rgba(0,0,0,.48)); }
.fireflies-object { --object-lane:1; --fall-y:-110px; --drift-x:0px; position:absolute; z-index:3; left:calc((var(--object-lane) + .5) * 33.333%); top:0; width:clamp(62px,8vw,90px); aspect-ratio:1; transform:translate(calc(-50% + var(--drift-x)),var(--fall-y)); will-change:transform; }
.fireflies-object.is-firefly { background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-firefly-frames-v3.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 0 9px rgba(247,190,76,.68)); animation:warmFireflyFrames .56s steps(1,end) infinite,warmFireflyFlutter .7s ease-in-out infinite alternate; }
.fireflies-object.is-bonus { background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-star-firefly-frames-v1.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 0 13px rgba(255,211,81,.9)); animation:warmFireflyFrames .56s steps(1,end) infinite,warmBonusPulse .6s ease-in-out infinite alternate; }
.fireflies-object.is-moth { width:clamp(78px,9vw,104px); background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-moon-moth-frames-v1.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 0 12px rgba(255,224,174,.62)); animation:warmFireflyFrames .7s steps(1,end) infinite,warmMothFloat 1.1s ease-in-out infinite alternate; }
.fireflies-object.is-beetle { width:clamp(68px,8vw,88px); background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-lantern-beetle-frames-v1.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 0 13px rgba(81,222,214,.68)); transition:left .32s cubic-bezier(.2,.8,.3,1); animation:warmFireflyFrames .76s steps(1,end) infinite,warmBeetleGlow .9s ease-in-out infinite alternate; }
.fireflies-object.is-life { width:clamp(76px,9vw,102px); background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-life-firefly-frames-v4.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 0 15px rgba(244,145,140,.84)); animation:warmFireflyFrames .72s steps(1,end) infinite,warmLifeGlow .82s ease-in-out infinite alternate; }
.fireflies-object.is-ink { width:clamp(72px,9vw,96px); background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-bomb-frames-v1.webp") 0 0/200% 200% no-repeat; filter:drop-shadow(0 10px 16px rgba(0,0,0,.34)); animation:warmBombFrames .64s steps(1,end) infinite; }
.fireflies-game-burst { --burst-x:50%; --burst-y:70%; position:absolute; left:var(--burst-x); top:var(--burst-y); width:1px; height:1px; }
.fireflies-game-burst i { --spark-x:0px; --spark-y:-48px; position:absolute; width:7px; height:7px; border-radius:50%; background:#ffe39a; box-shadow:0 0 12px 3px rgba(255,211,81,.66); animation:warmGameSpark .72s cubic-bezier(.15,.7,.2,1) forwards; }
.fireflies-game-burst.is-bonus i { width:9px; height:9px; background:#fff0a9; box-shadow:0 0 18px 5px rgba(255,211,81,.82); }
.fireflies-game-burst.is-ink::before { position:absolute; left:0; top:0; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle,#fff2b0 0 4%,#ffbd55 9%,rgba(221,95,57,.8) 22%,rgba(45,53,70,.52) 38%,transparent 66%); content:""; transform:translate(-50%,-50%) scale(.1); animation:warmBombFlash .52s ease-out forwards; }
.fireflies-game-burst.is-ink::after { position:absolute; left:0; top:0; width:58px; height:58px; border:8px solid rgba(255,185,91,.66); border-radius:50%; box-shadow:0 0 24px rgba(255,139,66,.5); content:""; transform:translate(-50%,-50%) scale(.3); animation:warmBombRing .64s ease-out forwards; }
.fireflies-game-burst.is-ink i { width:9px; height:9px; background:#3e495e; box-shadow:0 0 8px 2px rgba(15,20,30,.7); }
.fireflies-game-burst.is-ink i:nth-child(3n) { background:#ffbd55; box-shadow:0 0 13px 4px rgba(255,139,66,.66); }
.fireflies-game-pop { position:absolute; left:var(--burst-x); top:var(--burst-y); color:#ffe39a; font:800 16px/1 Manrope,sans-serif; text-shadow:0 2px 10px rgba(0,0,0,.55); transform:translate(-50%,-50%); animation:warmGamePop .85s ease-out forwards; }
.fireflies-game-pop.is-bonus { color:#fff2a8; font-size:20px; }
.fireflies-game-pop.is-miss { color:#efb2a9; }
.fireflies-game-field.is-catch .fireflies-game-dusk { filter:brightness(1.12); }
.fireflies-game-field.is-bonus-catch .fireflies-game-dusk { filter:brightness(1.18) saturate(1.08); }
.fireflies-game-field.is-exploding { animation:warmBombImpact .56s ease; }
.fireflies-game-field.is-exploding .fireflies-game-dusk { filter:brightness(.76) saturate(.7) sepia(.2); }
.fireflies-game-field.is-win .fireflies-game-dusk { filter:brightness(1.16) saturate(1.12); }
.fireflies-game-field.is-win .fireflies-game-atmosphere i { opacity:.9; animation-duration:1s; }
.fireflies-game-controls { position:absolute; z-index:7; right:clamp(14px,7%,48px); bottom:14px; left:clamp(14px,7%,48px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; pointer-events:none; }
.fireflies-game-controls button { width:clamp(58px,6.5vw,72px); min-width:48px; min-height:48px; aspect-ratio:1; padding:0; border:0; border-radius:50%; background-color:transparent; background-position:center; background-size:contain; background-repeat:no-repeat; box-shadow:none!important; filter:drop-shadow(0 8px 12px rgba(0,0,0,.34)); cursor:pointer; pointer-events:auto; transition:filter .2s ease,transform .2s ease; }
.fireflies-game-controls button:first-child { justify-self:start; }
.fireflies-game-controls button:last-child { justify-self:end; }
.fireflies-game-lives { display:flex; align-items:center; justify-content:center; gap:2px; min-width:104px; pointer-events:none; transition:filter .2s ease,transform .2s ease; }
.fireflies-game-lives i { width:clamp(30px,3.5vw,40px); aspect-ratio:1; background:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-heart-life-v1.webp") center/contain no-repeat; filter:drop-shadow(0 4px 7px rgba(0,0,0,.34)) drop-shadow(0 0 8px rgba(244,145,140,.28)); transition:filter .32s ease,opacity .32s ease,transform .32s ease; }
.fireflies-game-lives i.is-empty { opacity:.48; filter:grayscale(.92) brightness(.5) drop-shadow(0 3px 5px rgba(0,0,0,.3)); transform:scale(.82); }
.fireflies-game-lives.is-pulsing { animation:warmLivesPulse .42s ease; }
.fireflies-game-controls [data-warm-left] { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-control-left-v1.webp"); }
.fireflies-game-controls [data-warm-right] { background-image:url("../../../images/content-websites/art/warm-letter-v2/warm-letter-game-control-right-v1.webp"); }
.fireflies-game-controls button:hover { filter:drop-shadow(0 10px 16px rgba(0,0,0,.4)) brightness(1.06); transform:translateY(-2px) scale(1.04); }
.fireflies-game-controls button:active { filter:drop-shadow(0 4px 7px rgba(0,0,0,.32)) brightness(.94); transform:translateY(2px) scale(.94); }
.fireflies-game-controls button:focus-visible { outline:3px solid #f2bd5e; outline-offset:3px; }
.fireflies-game-status { position:absolute; z-index:9; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:32px; background:rgba(12,20,34,.82); text-align:center; opacity:0; visibility:hidden; pointer-events:none; backdrop-filter:blur(5px); transition:opacity .28s ease,visibility .28s ease; }
.fireflies-game-status strong { max-width:420px; color:#fffaf3; font:600 clamp(2.5rem,6vw,4.5rem)/.95 var(--serif); }
.fireflies-game-status p { max-width:390px; margin:0; color:#e6ddd5; font:500 clamp(1rem,2vw,1.25rem)/1.5 var(--serif); }
.fireflies-game-status button { min-width:210px; }
.fireflies-game-field.is-finished .fireflies-game-status { opacity:1; visibility:visible; pointer-events:auto; }
.fireflies-game-field.is-finished .fireflies-game-controls { opacity:.18; pointer-events:none; }
.fireflies-game-field.is-finished .fireflies-game-controls button { pointer-events:none; }
.fireflies-game-field.is-hit { animation:warmGameHit .24s ease; }
.fireflies-game-field.is-hit.is-exploding { animation:warmBombImpact .56s ease; }
@keyframes warmSecretRing { from { width:12px; height:12px; opacity:1; transform:translate(-50%,-50%) scale(.3); } to { width:104px; height:104px; opacity:0; transform:translate(-50%,-50%) scale(1.15); } }
@keyframes warmSecretSpark { 70% { opacity:1; } to { opacity:0; transform:translate(var(--secret-x),var(--secret-y)) scale(.2) rotate(100deg); } }
@keyframes warmGameHit { 50% { box-shadow:inset 0 0 42px rgba(201,88,78,.55); } }
@keyframes warmGameTwinkle { 50% { opacity:.9; transform:scale(1.8); } }
@keyframes warmJarBreathe { 50% { filter:drop-shadow(0 8px 12px rgba(0,0,0,.3)) drop-shadow(0 0 18px rgba(242,189,94,.3)); transform:translateX(-50%) translateY(-3px); } }
@keyframes warmJarMoveLeft { 45% { transform:translateX(-50%) rotate(-7deg) translateY(-4px); } }
@keyframes warmJarMoveRight { 45% { transform:translateX(-50%) rotate(7deg) translateY(-4px); } }
@keyframes warmJarCatch { 45% { transform:translateX(-50%) translateY(-12px) scale(1.08); } }
@keyframes warmJarBlast { 18% { transform:translateX(-54%) rotate(-8deg) scale(.94); } 38% { transform:translateX(-46%) rotate(7deg) scale(.98); } 62% { transform:translateX(-52%) rotate(-4deg); } }
@keyframes warmFireflyFlutter { to { filter:drop-shadow(0 0 16px rgba(247,190,76,.9)); margin-left:4px; } }
@keyframes warmFireflyFrames { 0%,24.99% { background-position:0 0; } 25%,49.99% { background-position:100% 0; } 50%,74.99% { background-position:0 100%; } 75%,100% { background-position:100% 100%; } }
@keyframes warmBonusPulse { to { filter:drop-shadow(0 0 24px rgba(255,224,105,1)); scale:1.1; } }
@keyframes warmMothFloat { to { filter:drop-shadow(0 0 19px rgba(255,224,174,.86)); scale:1.04; } }
@keyframes warmBeetleGlow { to { filter:drop-shadow(0 0 22px rgba(81,222,214,.92)); scale:1.05; } }
@keyframes warmLifeGlow { to { filter:drop-shadow(0 0 25px rgba(255,166,159,1)); scale:1.07; } }
@keyframes warmBombFrames { 0%,24.99% { background-position:0 0; } 25%,49.99% { background-position:100% 0; } 50%,74.99% { background-position:0 100%; } 75%,100% { background-position:100% 100%; } }
@keyframes warmBombFlash { 35% { opacity:1; transform:translate(-50%,-50%) scale(1); } to { opacity:0; transform:translate(-50%,-50%) scale(1.35); } }
@keyframes warmBombRing { to { opacity:0; transform:translate(-50%,-50%) scale(2.6); } }
@keyframes warmBombImpact { 15% { box-shadow:inset 0 0 72px rgba(255,137,64,.58); transform:translateX(-5px); } 30% { transform:translateX(5px); } 48% { transform:translateX(-3px); } 68% { transform:translateX(2px); } }
@keyframes warmGameSpark { to { opacity:0; transform:translate(var(--spark-x),var(--spark-y)) scale(.2) rotate(90deg); } }
@keyframes warmGamePop { 65% { opacity:1; transform:translate(-50%,-120%); } to { opacity:0; transform:translate(-50%,-180%); } }
@keyframes warmScorePulse { 45% { border-color:rgba(255,222,129,.76); background:rgba(255,222,129,.18); transform:translateY(-3px) scale(1.04); } }
@keyframes warmLivesPulse { 45% { filter:drop-shadow(0 0 14px rgba(255,173,164,.82)); transform:translateY(-3px) scale(1.08); } }
@media (max-width: 790px) {
    .fireflies-secret-firefly { width:58px; }
    .fireflies-secret-firefly--hero { inset-inline-end:8%; top:auto; bottom:8%; }
    .fireflies-secret-firefly--story { inset-inline-start:4%; bottom:6%; }
    .fireflies-secret-hideout { width:clamp(138px,42vw,190px); }
    .fireflies-secret-hideout--gallery { inset-inline-end:-16%; top:-14%; width:clamp(120px,34vw,150px); }
    /* На телефоне секция подарка узкая: тайник в процентах высоты попадал на текст стиха, поэтому он живёт в верхнем поле секции, а скин добавляет под него отступ */
    .fireflies-secret-hideout--work { inset-inline-start:4%; top:12px; width:clamp(130px,36vw,170px); }
    .fireflies-secret-hideout--finale { inset-inline-end:-3%; top:3%; }
    .fireflies-game { grid-template-columns:1fr; min-height:auto; padding:80px 18px; }
    .fireflies-game-copy { text-align:center; }
    .fireflies-game-stage { width:min(100%,600px); margin:0 auto; }
    .fireflies-game-field { height:clamp(620px,78svh,780px); min-height:600px; border-width:26px; }
    .fireflies-game-controls { right:42px; bottom:14px; left:42px; }
    .fireflies-game-controls button { width:62px; }
    .fireflies-object { width:70px; }
    .fireflies-game-jar { bottom:88px; width:94px; }
}
@media (prefers-reduced-motion: reduce) {
    .skin-warm-letter .fireflies-secret-firefly,
        .skin-warm-letter .fireflies-secret-hideout-trigger,
        .skin-warm-letter .fireflies-secret-found-fx,
        .skin-warm-letter .fireflies-game-field,
        .skin-warm-letter .fireflies-game-jar,
        .skin-warm-letter .fireflies-game-atmosphere i,
        .skin-warm-letter .fireflies-object,
        .skin-warm-letter .fireflies-game-burst::before,
        .skin-warm-letter .fireflies-game-burst::after,
        .skin-warm-letter .fireflies-game-burst i,
        .skin-warm-letter .fireflies-game-pop,
        .skin-warm-letter .fireflies-game-score span,
        .skin-warm-letter .fireflies-game-controls button,
        .skin-warm-letter .keepsake-gramophone-record,
        .skin-warm-letter .keepsake-gramophone-tonearm,
        .skin-warm-letter .keepsake-projector img,
        .skin-warm-letter .gift-envelope-stage img,
        .skin-warm-letter .gift-story-art img { animation:none!important; transition:none!important; }
}
