/* Нартамонга · кино-эффекты для компьютера (≥1024 px): курсор-уголёк, звук, сцена с переходами «сквозь пламя».
   Всё включается классами из fx.js; на телефоне файл ничего не меняет. */

/* ---------- курсор-уголёк ---------- */
html.fx-cur,html.fx-cur *{cursor:none!important}
html.fx-cur iframe{cursor:auto!important}
.fx-cur-dot,.fx-cur-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:2147483000;will-change:transform;transition:opacity .3s}
.fx-cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#FFE7AE;box-shadow:0 0 6px 2px rgba(255,160,50,.95),0 0 22px 7px rgba(255,110,30,.38)}
.fx-cur-ring>i{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1px solid rgba(240,200,102,.5);transition:width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),margin .45s cubic-bezier(.2,.8,.2,1),background .45s,border-color .45s}
.fx-cur-ring.hot>i{width:66px;height:66px;margin:-33px 0 0 -33px;background:radial-gradient(circle,rgba(255,150,50,.2) 0%,rgba(255,120,40,0) 70%);border-color:rgba(255,206,120,.95)}
.fx-cur-ring.down>i{width:24px;height:24px;margin:-12px 0 0 -12px}
.fx-cur-dot.off,.fx-cur-ring.off{opacity:0}
.fx-sparks{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147482999}

/* ---------- кнопка звука на страницах историй ---------- */
.fx-snd{position:fixed;top:14px;z-index:31;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:none;color:#E9DCC4;display:flex;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.fx-snd:hover{background:rgba(200,137,46,.12)}
.fx-snd i{display:block;width:2px;height:12px;border-radius:2px;background:currentColor;transform-origin:50% 100%;transform:scaleY(.25);transition:transform .4s}
.fx-snd.on{color:#F0C866}
.fx-snd.on i{animation:fxeq 1.1s ease-in-out infinite}
.fx-snd.on i:nth-child(2){animation-delay:-.4s}.fx-snd.on i:nth-child(3){animation-delay:-.8s}.fx-snd.on i:nth-child(4){animation-delay:-.2s}
@keyframes fxeq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.fx-snd-hint{position:fixed;top:64px;z-index:31;padding:8px 12px;border-radius:10px;background:rgba(20,16,12,.86);border:1px solid rgba(240,200,102,.35);color:#F2D9A8;font:500 12.5px/1.3 'Golos Text',system-ui,sans-serif;letter-spacing:.02em;pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .5s,transform .5s}
.fx-snd-hint.show{opacity:1;transform:none}

/* ---------- сцена историй: кадры 16:9 неподвижны, текст листается поверх, смена кадра — через огонь ---------- */
#fx-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#fx-stage .lay{position:absolute;inset:0;display:none;opacity:0}
#fx-stage .lay.near{display:block}
#fx-stage .lay.on{opacity:1}
#fx-stage .lay>img,#fx-stage .lay>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;display:block!important;transform:none!important;animation:none!important;opacity:1;transition:none}
#fx-stage .lay.intro>img,#fx-stage .lay.intro>video{object-position:50% 38%}
#fx-stage .lay>video{opacity:0!important;transition:opacity 1.6s ease!important}
#fx-stage .lay>video.live{opacity:1!important}
#fx-stage .lay::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 95% at 50% 45%,rgba(7,6,5,0) 55%,rgba(7,6,5,.55) 100%)}
#fx-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
#fx-stage canvas.run{opacity:1;transition:none}
#fx-stage .shd{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease}
#fx-stage .shd.on{opacity:1}
#fx-stage .shd.l{background:linear-gradient(0deg,rgba(7,6,5,.95) 0%,rgba(7,6,5,.7) 28%,rgba(7,6,5,0) 56%),linear-gradient(90deg,rgba(7,6,5,.92) 0%,rgba(7,6,5,.66) 30%,rgba(7,6,5,0) 56%),linear-gradient(180deg,rgba(7,6,5,.6) 0%,rgba(7,6,5,0) 15%)}
#fx-stage .shd.r{background:linear-gradient(0deg,rgba(7,6,5,.95) 0%,rgba(7,6,5,.7) 28%,rgba(7,6,5,0) 56%),linear-gradient(270deg,rgba(7,6,5,.92) 0%,rgba(7,6,5,.66) 30%,rgba(7,6,5,0) 56%),linear-gradient(180deg,rgba(7,6,5,.6) 0%,rgba(7,6,5,0) 15%)}
#fx-stage .shd.intro{background:linear-gradient(0deg,rgba(7,6,5,.97) 0%,rgba(7,6,5,.86) 20%,rgba(7,6,5,.4) 44%,rgba(7,6,5,0) 62%),linear-gradient(180deg,rgba(7,6,5,.6) 0%,rgba(7,6,5,0) 18%)}
html.fx-cine .scene{background:transparent!important}

/* ---------- главная: живые обложки историй ---------- */
.scard .ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.scard .ph video.live{opacity:1}
.scard .ph::after{z-index:1}
.scard .tx{z-index:2}

/* без плёночного зерна и без параллакса — максимальная чёткость картинок (22.10.2026) */
@media (min-width:1024px){
  body::after{content:none!important;display:none!important}
  .gs-media{transform:none!important;inset:0!important}
  .scene.has-wide .wmedia{transform:none!important;inset:0!important}
}
