/* NEUROWOOD v5.6 REVISION-03 — «ощущения» главной. Работает только при html.x7 (js/home57.js); без JS всё выглядит как REV-02. */
:root{--e7:cubic-bezier(.2,.8,.2,1);--d7:.44s}
@property --x7c{syntax:'<color>';inherits:true;initial-value:rgba(0,0,0,0)}

/* ---------- 2. цвет из постера ---------- */
.x7 #watch-now,.x7 .a6,.x7 #genre-cinema{transition:--x7c 1.4s var(--e7)}
.x7 #watch-now{position:relative;isolation:isolate}
.x7 #watch-now::before{content:"";position:absolute;inset:-80px 0 0;z-index:-1;pointer-events:none;background:radial-gradient(70% 460px at 24% 300px,color-mix(in srgb,var(--x7c) 30%,transparent),transparent 72%)}
.x7 .a6::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 60% at 25% 45%,color-mix(in srgb,var(--x7c) 34%,transparent),transparent 70%)}
.x7 .g6-stage::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(65% 70% at 30% 40%,color-mix(in srgb,var(--x7c) 26%,transparent),transparent 72%)}
.x7 .g6-word{-webkit-text-stroke-color:color-mix(in srgb,var(--x7c) 55%,rgba(242,238,228,.1));transition:-webkit-text-stroke-color 1.4s var(--e7)}
.x7 :is(.w6-f-spot,.w6-f-solo) .btn-primary{box-shadow:0 14px 38px -12px color-mix(in srgb,var(--x7c) 90%,transparent);transition:box-shadow 1.4s var(--e7),transform .2s var(--e7)}

/* ---------- 1. живой spotlight ---------- */
.w6-shade{z-index:1}
.x7-live{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--e7);z-index:0;pointer-events:none}
.x7-on .x7-live{opacity:1}
.x7-on .w6-inset,.x7-on .w6-cover{opacity:0;transition:opacity .9s var(--e7)}
.x7-on .w6-fart::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;z-index:2;background:var(--color-accent);transform-origin:0 50%;animation:x7prog 7.5s linear both}
[dir=rtl] .x7-on .w6-fart::after{transform-origin:100% 50%}
@keyframes x7prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- 4. сцена жанра ---------- */
.x7 .g6-word{will-change:transform}

/* ---------- 6. предпросмотр ---------- */
.x7 main [data-slug]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.x7-press{transform:scale(.97);filter:brightness(1.12);transition:transform .45s var(--e7),filter .45s var(--e7)}
html.x7-lock,html.x7-lock body{overflow:hidden}
.x7-peek{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.x7-scrim{position:absolute;inset:0;background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:x7fade .3s var(--e7) both}
.x7-card{position:relative;width:min(560px,100%);max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;border-radius:26px 26px 0 0;background:#141312;border:1px solid rgba(242,238,228,.09);border-bottom:0;padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:0 -40px 90px -30px color-mix(in srgb,var(--x7c) 70%,transparent);animation:x7up .46s var(--e7) both}
.x7-out .x7-scrim{animation:x7fade .28s var(--e7) reverse both}
.x7-out .x7-card{animation:x7down .3s var(--e7) both}
@media (min-width:900px){.x7-peek{align-items:center}.x7-card{border-radius:26px;border-bottom:1px solid rgba(242,238,228,.09);padding-bottom:22px;animation-name:x7pop}.x7-out .x7-card{animation-name:x7fade;animation-direction:reverse}}
@keyframes x7fade{from{opacity:0}to{opacity:1}}
@keyframes x7up{from{transform:translateY(100%)}to{transform:none}}
@keyframes x7down{to{transform:translateY(100%)}}
@keyframes x7pop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
.x7-grab{position:absolute;top:8px;left:50%;z-index:3;width:42px;height:4px;margin-left:-21px;border-radius:2px;background:rgba(242,238,228,.4)}
.x7-x{position:absolute;top:12px;inset-inline-end:12px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(12,11,10,.55);color:var(--color-text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.x7-art{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000}
.x7-art .w6-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.x7-fade{position:absolute;inset:0;background:linear-gradient(0deg,#141312,rgba(20,19,18,0) 55%)}
.x7-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:-28px;position:relative;padding:0 20px}
.x7-body .cx-marks{position:static}
.x7-t{font-size:clamp(26px,7vw,34px);font-weight:800;line-height:.95;letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance}
.x7-l{font-size:13px;font-weight:700;color:var(--color-text-2)}
.x7-body p{margin:0;font-size:15px;line-height:1.5;color:var(--color-text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.x7-acts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;width:100%;margin-top:8px}
.x7-acts.x7-one{grid-template-columns:minmax(0,1fr)}
.x7-acts .btn{height:52px;min-width:0;justify-content:center}
.x7-open{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--color-text);font-size:14px;font-weight:700;text-decoration:none}

/* ---------- 7. мини-плашка ---------- */
.x7-bar{position:fixed;inset-inline:10px;bottom:calc(var(--x7nav,0px) + 10px);z-index:84;display:grid;grid-template-columns:38px minmax(0,1fr) 44px;align-items:center;gap:12px;height:62px;padding:8px 9px 8px 10px;border-radius:18px;border:1px solid rgba(242,238,228,.12);background:rgba(20,19,18,.82);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;box-shadow:0 18px 44px -14px rgba(0,0,0,.85),0 0 60px -24px var(--x7c);transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .44s var(--e7),opacity .3s var(--e7)}
.x7-bar.on{transform:none;opacity:1;pointer-events:auto}
.x7-bar:active{transform:scale(.98)}
.x7-bi{width:38px;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:var(--color-surface-2)}
.x7-bi img{width:100%;height:100%;object-fit:cover}
.x7-bt{display:flex;flex-direction:column;gap:2px;min-width:0}
.x7-bt b{font-size:15px;font-weight:800;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.x7-bt small{font-size:12px;color:var(--color-text-2)}
.x7-bp{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent)}
@media (min-width:900px){html:not(.x7mob) .x7-bar{display:none}.x7-bar{inset-inline:auto 24px;width:380px}}

/* ---------- 8. «Откуда истории»: параллакс и плывущая типографика ---------- */
.p6-mark{position:absolute;inset:12% -10% auto;top:12%;z-index:-1;display:flex;flex-direction:column;gap:0;writing-mode:horizontal-tb;direction:ltr;font-size:clamp(56px,11vw,112px);line-height:.92;color:transparent;-webkit-text-stroke:0;transform:rotate(-7deg);pointer-events:none}
.p6-row{display:flex;width:max-content;font-weight:800;letter-spacing:-.045em;white-space:nowrap;-webkit-text-stroke:1px rgba(242,238,228,.15);animation:x7mq 52s linear infinite}
.p6-row:nth-child(2){animation-duration:70s;animation-direction:reverse;-webkit-text-stroke-color:rgba(242,238,228,.08)}
.p6-row:nth-child(3){animation-duration:60s}
.p6-d .p6-row:first-child{-webkit-text-stroke-color:rgba(120,205,230,.3)}
.p6-p .p6-row:first-child{-webkit-text-stroke-color:rgba(235,130,185,.28)}
.p6-row span{padding-inline-end:.25em}
@keyframes x7mq{to{transform:translateX(-50%)}}
@supports (animation-timeline:view()){
  .p6-o .p6-fan span{animation:x7par linear both;animation-timeline:view();animation-range:cover}
  @keyframes x7par{from{translate:0 calc(26px + var(--k) * 16px)}to{translate:0 calc(-26px - var(--k) * 16px)}}
  .p6-o .p6-tx h3{animation:x7par2 linear both;animation-timeline:view();animation-range:cover}
  @keyframes x7par2{from{translate:0 18px}to{translate:0 -18px}}
}

/* ---------- 9. Вертикаль: стопка экранов ---------- */
.v6-in{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
@media (min-width:900px){.v6-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px}}
.v6-stage{display:flex;justify-content:center;padding-block:8px 4px;overflow:hidden;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}
.v6-stack{--sx:1;position:relative;width:min(232px,54vw);aspect-ratio:9/18.6;translate:-16% 0}
[dir=rtl] .v6-stack{--sx:-1;translate:16% 0}
.v6-ph{position:absolute;inset:0;display:block;border-radius:32px;padding:7px;background:linear-gradient(160deg,#34332f,#121110 60%);box-shadow:0 34px 70px -24px rgba(0,0,0,.95),inset 0 0 0 1px rgba(242,238,228,.08);transform:translateX(calc(var(--i) * 17% * var(--sx))) scale(calc(1 - var(--i) * .075)) rotate(calc(var(--i) * 3.5deg * var(--sx)));transform-origin:50% 100%;z-index:calc(10 - var(--i));opacity:clamp(0,calc(1 - var(--i) * .24),1);transition:transform .6s var(--e7),opacity .6s var(--e7);color:var(--color-text);text-decoration:none}
.v6-ph[aria-hidden="true"]{pointer-events:none}
.v6-scr{position:absolute;inset:7px;border-radius:26px;overflow:hidden;background:radial-gradient(120% 70% at 50% 20%,#3a2a1c,#0c0b0a 70%)}
.v6-scr img{width:100%;height:100%;object-fit:cover}
.v6-scr::before{content:"";position:absolute;top:9px;left:50%;z-index:2;width:30%;height:16px;margin-left:-15%;border-radius:10px;background:#000}
.v6-cap{position:absolute;inset:auto 0 0;z-index:1;display:flex;flex-direction:column;gap:2px;padding:44px 14px 14px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent)}
.v6-cap b{font-size:15px;font-weight:800;line-height:1.15}
.v6-cap small{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--color-accent)}
.v6-tx{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.v6-tx p{margin:0;max-width:44ch;font-size:16px;line-height:1.5;color:var(--color-text-2)}
.v6-cta{width:100%;height:58px;justify-content:center;font-size:16px;margin-top:6px}
@media (min-width:900px){.v6-cta{width:auto;min-width:280px}}
.v6 .scroller.v6-rail{display:none}

/* ---------- 10. скелетоны, отклик, единая кривая ---------- */
@keyframes x7in{from{opacity:0}}
.x7 img.x7-fi{animation:x7in .5s var(--e7)}
.x7 :is(#watch-now,.a6,#genre-cinema,.v6,.x7-peek) .ph:not(.x7-done){animation:shim 1.6s linear infinite}
.x7 .x7-on .w6-inset img{opacity:0}
.x7 img.x7-err{opacity:0!important}
.x7 :is(.w6-chip,.g6-tab,.w6-cp,.w6-q a){transition-timing-function:var(--e7);transition-duration:.25s}
.x7 :is(.w6-chip,.w6-cp,.g6-tab):active{transform:scale(.95)}
.x7 :is(.w6-p,.g6-d,.c6,.p6,.a6-t,.v6-cta):active{transform:scale(.98)}
.x7 :is(.w6-p,.g6-d,.c6,.p6,.a6-t){transition:transform .35s var(--e7)}
.x7 :is(.w6-pi img,.w6-cover,.w6-inset,.c6-fan span,.p6-fan span,.a6-tp img){transition-timing-function:var(--e7)}
/* быстрее на телефоне: нижние секции не считаются, пока не близко к экрану */
.x7 :is(.c6s,.p6s,.h5-fam,.h5-in,.v6){content-visibility:auto;contain-intrinsic-size:auto 760px}
@media (prefers-reduced-motion:reduce){
  .p6-row,.p6-o .p6-fan span,.p6-o .p6-tx h3{animation:none}
  .x7-card,.x7-scrim{animation-duration:.01s}
  .v6-ph,.x7-bar,.x7 #watch-now,.x7 .a6,.x7 #genre-cinema{transition:none}
}
