/* Чистая проекция: никаких условных значков поверх декораций. */
.actors{display:none}

/* Склейка маскируется предметом, который на короткое время закрывает весь объектив. */
.occlusion{inset:-12%!important;width:auto!important;height:auto!important;left:-12%!important;right:-12%!important;top:-12%!important;bottom:-12%!important;background:#050505!important;z-index:8;filter:none;transition:opacity .055s linear!important;pointer-events:none}
.occlusion.coat{border-radius:48% 42% 35% 55%;transform:rotate(-4deg);background:radial-gradient(ellipse at 30% 45%,#171717 0,#080808 48%,#020202 78%)!important}
.occlusion.chest{border-radius:3%;background:linear-gradient(7deg,#120c08,#030303 65%)!important}
.occlusion.door{border-radius:0;background:linear-gradient(90deg,#020202,#0e0b09 48%,#020202)!important}
.occlusion[style*="opacity: 1"],.occlusion[style*="opacity:1"]{box-shadow:inset 0 0 90px #000}

/* Запас изображения по краям исключает чёрные полосы при панорамировании. */
.stage img{width:114%;max-width:none;margin-left:-7%;margin-top:-3%;margin-bottom:-3%;animation:none!important;transform:scale(1.01)}
.stage.running img{animation:camera-move 7.5s cubic-bezier(.25,.1,.25,1) both!important}
@keyframes camera-move{0%{transform:scale(1.01) translate3d(-.7%,0,0)}45%{transform:scale(1.045) translate3d(.5%,-.3%,0)}100%{transform:scale(1.075) translate3d(-.35%,.25%,0)}}
.stage:not(.running) img{transform:scale(1.075) translate3d(-.35%,.25%,0)}

/* Все три перехода похожи на случайное близкое прохождение предмета перед объективом. */
.occlusion{inset:-18%!important;filter:blur(5px)!important}
.occlusion.coat{border-radius:44% 52% 47% 38%;background:radial-gradient(ellipse at 42% 50%,#171511 0,#080807 54%,#020202 82%)!important}
.occlusion.chest{border-radius:18% 10% 4% 12%;transform:rotate(2deg);background:linear-gradient(11deg,#18100a,#070504 62%,#020202)!important}
.occlusion.door{border-radius:5%;transform:rotate(-1deg);background:linear-gradient(87deg,#030303,#15100c 46%,#020202)!important}
.stage{cursor:default}.stage.running{cursor:crosshair}.stage.running:after{content:"КЛИК ПО КАДРУ = ОТМЕТИТЬ СКЛЕЙКУ";position:absolute;left:14px;bottom:12px;z-index:7;padding:5px 8px;background:#070707b8;color:#d9c8a8;font-size:9px;letter-spacing:.1em;pointer-events:none}
.transport{grid-template-columns:auto auto minmax(180px,1fr) auto auto}
@media(max-width:900px){.transport{grid-template-columns:1fr 1fr}.feedback{grid-column:1/-1;order:-1}}
.rules{display:flex;gap:1px;max-width:760px;margin:32px 0;background:#ffffff20}.rules div{flex:1;padding:18px 20px;background:#101316}.rules b{display:block;color:var(--gold);font:600 34px "Cormorant Garamond",Georgia,serif}.rules span{display:block;margin-top:4px;color:#9e9a90;font-size:9px;letter-spacing:.13em}.review-card{max-width:880px}.review-play{margin:8px 0 22px;border-color:var(--gold);color:var(--gold)}.review-result{padding:17px 20px;margin:16px 0 22px;border-left:3px solid currentColor;background:#ffffff08}.review-result b{font:24px "Cormorant Garamond",Georgia,serif}.review-result p{margin:5px 0 0;color:#ccc3b3}.review-result.bad{color:#bb6a61}.review-result.good{color:#c8ad73}
@media(max-width:650px){.rules{flex-direction:column}.rules div{display:flex;align-items:center;gap:15px}.rules b{font-size:28px}}

/* Каждый фрагмент начинается с полного мастер-плана; камера только медленно приближается. */
.stage img{width:100%;max-width:none;margin:0;transform:scale(1);transform-origin:center center;transition:none!important}
.stage.running img{animation:camera-master 7.5s cubic-bezier(.22,.1,.28,1) both!important}
.stage.ready img{transform:scale(1)}.stage.ended img{transform:scale(1.065)}
@keyframes camera-master{0%{transform:scale(1)}100%{transform:scale(1.065)}}

/* Небольшие реквизитные объекты встроены в интерьер и действительно меняются после склейки. */
.continuity-props{position:absolute;inset:0;z-index:4;pointer-events:none}.continuity-props i{display:none;position:absolute;filter:drop-shadow(0 2px 2px #0008)}
.scene-0 .envelope{display:block;left:47%;top:65%;width:4.2%;height:2.3%;background:#d8cfb7;border:1px solid #897b62;transform:rotate(-4deg)}.scene-0 .envelope:after{content:"";position:absolute;inset:0;background:linear-gradient(28deg,transparent 48%,#9e927b 50%,transparent 52%)}.scene-0.postcut .envelope{display:none}
.scene-2 .key-cart{display:block;left:22%;top:57%;width:3.2%;height:1.2%;border-top:2px solid #c6a75f}.scene-2 .key-cart:before,.scene-2 .key-chest:before{content:"";position:absolute;width:7px;height:7px;border:2px solid #c6a75f;border-radius:50%;left:-7px;top:-5px}.scene-2.postcut .key-cart{display:none}.scene-2.postcut .key-chest{display:block;left:54%;top:67%;width:3.2%;height:1.2%;border-top:2px solid #c6a75f;transform:rotate(8deg)}
.scene-4.postcut .photo{display:block;left:74%;top:48%;width:3.5%;height:5.2%;background:#d7c9ae;border:3px solid #eee3cf;transform:rotate(6deg);box-shadow:0 2px 5px #0008}.scene-4.postcut .photo:after{content:"";position:absolute;inset:18%;background:#463d35}
.stage{cursor:default!important}.stage.running:after{display:none!important}.observe-controls{grid-template-columns:auto auto minmax(220px,1fr) auto}
.primary,.secondary,.option,.mark{border-radius:999px;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.primary{background:linear-gradient(135deg,#d4ad6c,#b98743);border-color:#dfbd82;box-shadow:0 7px 22px #0005}.secondary,.option{background:linear-gradient(180deg,#181b1d,#101214);border-color:#ffffff35}.primary:not(:disabled):hover,.secondary:not(:disabled):hover,.option:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 24px #0007}.option.selected{background:linear-gradient(135deg,#4b3b27,#282219);border-color:var(--gold)}

/* Логотип ведёт назад — к мероприятию, откуда пришли. */
header .brand{display:inline-flex;align-items:center;gap:.4em;color:var(--paper);text-decoration:none;transition:color .25s}
header .brand:hover{color:var(--gold)}
header .brand b{font:600 24px "Cormorant Garamond",Georgia,serif;letter-spacing:.16em}
header .brand .back-arrow{font-size:17px;color:#9c948a;transition:transform .25s}
header .brand:hover .back-arrow{transform:translateX(-3px);color:var(--gold)}
@media(max-width:420px){header .brand b{font-size:20px}}

/* На узком экране пульт складывается в столбик: раньше кнопки не помещались
   в две колонки и страница ехала вбок. */
@media(max-width:520px){
	.transport{grid-template-columns:minmax(0,1fr)}
	.transport .primary,.transport .secondary{width:100%}
	.feedback{grid-column:1;order:-1;min-height:0}
	.film-head{flex-direction:column;align-items:flex-start;gap:4px}
	.film-count{text-align:left}
	.film-head h2{font-size:32px}
}

/* Кнопка-ссылка на экране результата: увести человека обратно к мероприятиям. */
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
a.primary{text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.actions .option{width:auto;text-align:center}
