.cinema-room{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:#f1eadb;color-scheme:dark;isolation:isolate;--light-x:50%;--light-y:56%;--released:0;overscroll-behavior:none}
.cinema-room::backdrop{background:transparent}.cinema-room [hidden]{display:none!important}
.cinema-back,.cinema-film,.cinema-lantern,.cinema-finish,.cinema-objects,.cinema-words{position:absolute;inset:0;width:100%;height:100%}
.cinema-back{z-index:0;background:#0c1118}.cinema-film{z-index:1;display:block;object-fit:cover;opacity:0;pointer-events:none}.cinema-film.is-current{opacity:1}
.cinema-desk-backdrop{position:absolute;inset:-6%;z-index:0;opacity:0;background-size:cover;background-position:center;filter:blur(30px) brightness(.3);pointer-events:none}
@media(max-width:700px),(max-width:1000px) and (max-height:500px){.cinema-room[data-stage="3"] .cinema-desk-backdrop{opacity:1}}
.cinema-lantern{z-index:3;pointer-events:none;opacity:0;transition:opacity 1s;background:radial-gradient(circle at var(--light-x) var(--light-y),transparent 6%,#06101422 16%,#02070bd4 47%,#02070be8 75%)}
.cinema-lantern:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--light-x) var(--light-y),#f0cf7a20,transparent 27%);mix-blend-mode:screen}
.cinema-room[data-stage="3"] .cinema-lantern{opacity:.76}.cinema-room[data-stage="3"]{touch-action:none}
.cinema-finish{z-index:2;pointer-events:none;background:linear-gradient(180deg,#02070c64,transparent 17%,transparent 60%,#020509b3);opacity:1;transition:opacity .7s}
.cinema-room[data-stage=opening] .cinema-finish,.cinema-room[data-stage="0"] .cinema-finish{opacity:0}
.cinema-entry-symbol{position:absolute;z-index:8;object-fit:fill;max-width:none;transform-origin:0 0;pointer-events:none;will-change:transform;display:block}
.cinema-top{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 36px;transition:opacity .5s;pointer-events:none}
.cinema-identity{display:flex;align-items:center;gap:24px}.cinema-signature{font:500 10px/1.4 var(--display,Syne,sans-serif);letter-spacing:.22em}.cinema-chapter{font:400 9px/1.4 var(--sans,sans-serif);letter-spacing:.13em;text-transform:uppercase;color:#c0bba9}.cinema-chapter:not(:empty){border-left:1px solid #e7d4a832;padding-left:24px}
.cinema-controls{display:flex;align-items:center;gap:8px;pointer-events:auto}.cinema-control{display:grid;place-items:center;width:42px;height:42px;padding:11px;border:1px solid #f3e2bf24;border-radius:50%;background:#07101738;color:#f1eadb;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,border-color .2s,transform .2s}
.cinema-control svg{width:20px;height:20px}.cinema-control:hover{background:#cbb38327;border-color:#ead5a96b;transform:translateY(-1px)}.cinema-control[aria-pressed=true]{border-color:#e8c47d72;color:#e9c994}
.cinema-room button:focus-visible{outline:2px solid #e8c78e;outline-offset:6px}.cinema-room button:disabled{cursor:default}
.cinema-room[data-stage=opening] .cinema-identity{opacity:0}.cinema-room[data-stage=opening] .cinema-controls>.cinema-control:not(:last-child){opacity:0;pointer-events:none}
.cinema-room[data-stage=opening] .cinema-caption{opacity:0;pointer-events:none}
.cinema-caption{position:absolute;z-index:6;left:7vw;bottom:max(115px,11vh);max-width:min(560px,62vw);pointer-events:none;text-shadow:0 2px 28px #0009;animation:cinema-caption-in .9s ease both}
.cinema-title{font:400 clamp(25px,3.4vw,49px)/1.12 var(--display,Syne,sans-serif);letter-spacing:-.035em;margin:0;text-wrap:balance;color:#f1eadb}
.cinema-hint{font:400 12px/1.6 var(--sans,sans-serif);color:#d0c9b9;margin:15px 0 0;letter-spacing:.01em;text-wrap:balance}.cinema-hint:empty{display:none}
.cinema-room[data-stage="3"] .cinema-caption,.cinema-room[data-stage="5"] .cinema-caption{left:50%;bottom:97px;transform:translateX(-50%);text-align:center;width:min(680px,88vw);max-width:none;animation:none}
.cinema-room[data-stage="3"] .cinema-title,.cinema-room[data-stage="5"] .cinema-title{font-size:clamp(22px,2.8vw,37px)}
.cinema-room[data-stage="3"] .cinema-hint,.cinema-room[data-stage="5"] .cinema-hint{font-size:11px;margin-top:9px}
.cinema-room[data-stage="3"] .cinema-caption{top:max(95px,14vh);bottom:auto}
.cinema-next{position:absolute;z-index:8;left:50%;bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:25px;min-height:46px;white-space:nowrap;padding:0 0 0 22px;border:1px solid #e5c99657;border-radius:48px;background:#09141499;backdrop-filter:blur(12px);color:#f0dfc0;font:400 11px/1.4 var(--sans,sans-serif);letter-spacing:.025em;cursor:pointer;transition:background .3s,border-color .3s}
.cinema-next:hover{background:#65533170;border-color:#f3deb5a8}.cinema-next-arrow{display:grid;place-items:center;width:44px;height:44px;font:23px Georgia,serif;border-left:1px solid #dfc39529}
.cinema-objects,.cinema-words{z-index:5;pointer-events:none}.cinema-clue{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;display:grid;place-items:center;padding:0;background:transparent;border:0;color:#f0d8aa;cursor:pointer;pointer-events:auto;touch-action:none}
.cinema-clue-ring{display:block;width:8px;height:8px;border:1px solid #ead0a857;border-radius:50%;box-shadow:0 0 18px #e7ba6e19;transition:width .5s,height .5s,border-color .5s,box-shadow .5s;background:#e9d7ad20}
.cinema-clue-ring:before,.cinema-clue-ring:after{content:'';position:absolute;top:50%;left:50%;width:9px;height:1px;background:#f0d8aa;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}.cinema-clue-ring:after{transform:translate(-50%,-50%) rotate(90deg)}
.cinema-clue.is-lit .cinema-clue-ring,.cinema-clue:focus-visible .cinema-clue-ring{width:40px;height:40px;border-color:#eed3a796;box-shadow:0 0 0 8px #e0bf7d07,0 0 26px #ebc5772b}
.cinema-clue.is-lit .cinema-clue-ring:before,.cinema-clue.is-lit .cinema-clue-ring:after{opacity:1}.cinema-clue.is-found .cinema-clue-ring{width:27px;height:27px;border-color:#e8d0a38a;background:#d6b67b30}.cinema-clue.is-found .cinema-clue-ring:after{display:none}.cinema-clue.is-found .cinema-clue-ring:before{width:5px;height:5px;border-radius:50%;opacity:1}
.cinema-clue-label{position:absolute;top:100%;left:50%;transform:translate(-50%,4px);white-space:nowrap;opacity:0;font:400 10px/1.4 var(--sans,sans-serif);letter-spacing:.05em;text-shadow:0 1px 10px #000;transition:opacity .35s,transform .35s;pointer-events:none}
.cinema-clue.is-lit .cinema-clue-label,.cinema-clue.is-found .cinema-clue-label,.cinema-clue:focus-visible .cinema-clue-label{opacity:1;transform:translate(-50%,0)}
.cinema-toast{position:absolute;z-index:7;top:24%;left:50%;transform:translateX(-50%);max-width:75vw;text-align:center;pointer-events:none;opacity:0;color:#f0dbb5;font:400 clamp(15px,1.5vw,22px)/1.5 var(--display,Syne,sans-serif);letter-spacing:-.015em;text-shadow:0 2px 22px #000}
.cinema-toast.is-visible{animation:cinema-toast-in 4.5s ease both}
.cinema-word{position:absolute;pointer-events:auto;min-height:44px;padding:9px 21px;border:1px solid #e6d4ad4a;border-radius:40px;backdrop-filter:blur(10px);background:#06120e80;color:#efddb7;font:400 clamp(12px,1.2vw,16px)/1.3 var(--sans,sans-serif);letter-spacing:.025em;cursor:grab;touch-action:none;user-select:none;transition:opacity .65s,filter .7s,transform .45s,border-color .3s}
.cinema-word:before{content:'';display:inline-block;vertical-align:middle;width:5px;height:5px;border:1px solid #e3c18a9c;border-radius:50%;margin-right:13px}.cinema-word:after{content:'';position:absolute;left:30%;top:100%;height:25px;width:1px;background:linear-gradient(#dbbd7d6b,transparent)}
.cinema-word[data-word="0"]{left:32%;top:35%}.cinema-word[data-word="1"]{left:57%;top:47%}.cinema-word[data-word="2"]{left:39%;top:62%}.cinema-word:hover{border-color:#f1d8a696;background:#18251aa6}.cinema-word.is-dragging{transition:none;cursor:grabbing;z-index:3}.cinema-word.is-released{opacity:0!important;filter:blur(10px);pointer-events:none}
.cinema-room[data-stage="5"] .cinema-film,.cinema-room[data-stage="6"] .cinema-film{filter:saturate(calc(1 + var(--released) * .17)) brightness(calc(1 + var(--released) * .08));transition:filter 1.8s}
.cinema-loading{position:absolute;z-index:9;left:50%;top:76%;transform:translate(-50%,-50%);text-align:center;min-width:220px;max-width:85vw;padding:20px;color:#d8c7a6;background:#0c1118b3;border-radius:3px;backdrop-filter:blur(12px)}
.cinema-loading p{font:400 11px/1.6 var(--sans,sans-serif);letter-spacing:.06em;margin:14px 0 0}.cinema-loading-line{display:block;height:1px;width:70px;margin:auto;background:linear-gradient(90deg,transparent,#d7bc85,transparent);animation:cinema-breathe 1.7s ease-in-out infinite}
.cinema-retry{font:400 11px/1.5 var(--sans,sans-serif);margin-top:14px;padding:8px 18px;border:1px solid #d8be8d66;border-radius:25px;background:transparent;color:#f0ddbb;cursor:pointer}
.cinema-access,.cinema-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cinema-room[data-paused=true] *{animation-play-state:paused!important}.cinema-room[data-reduced=true] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.cinema-room[data-reduced=true] .cinema-toast.is-visible,.cinema-room[data-paused=true] .cinema-toast.is-visible{opacity:1;animation:none}
.cinema-room[data-closing=true] .cinema-top,.cinema-room[data-closing=true] .cinema-caption,.cinema-room[data-closing=true] .cinema-next,.cinema-room[data-closing=true] .cinema-loading{opacity:0;transition:opacity .12s;pointer-events:none}
.cinema-film{transform-origin:center center;will-change:transform}.cinema-room[data-reframing=true] .cinema-objects,.cinema-room[data-reframing=true] .cinema-caption,.cinema-room[data-reframing=true] .cinema-next{opacity:0;pointer-events:none}.cinema-room[data-stage="3"] .cinema-caption{transition:opacity .25s}
.cinema-room[data-stage="3"] .cinema-caption{left:clamp(28px,5vw,100px);top:max(95px,14vh);bottom:auto;transform:none;text-align:left;width:min(350px,31vw)}.cinema-room[data-stage="3"] .cinema-title{font-size:clamp(22px,2vw,32px)}
@keyframes cinema-caption-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes cinema-toast-in{0%{opacity:0;translate:0 6px}15%,70%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -5px}}
@keyframes cinema-breathe{0%,100%{opacity:.3;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}
@media(max-width:700px){.cinema-top{padding:16px 17px}.cinema-identity{gap:10px}.cinema-signature{font-size:9px}.cinema-chapter{display:none}.cinema-controls{gap:6px}.cinema-control{width:38px;height:38px;padding:9px}.cinema-caption{left:7vw;bottom:120px;max-width:80vw}.cinema-title{font-size:31px}.cinema-room[data-stage="3"] .cinema-caption,.cinema-room[data-stage="5"] .cinema-caption{bottom:122px}.cinema-next{bottom:65px;min-height:42px;font-size:10px}.cinema-next-arrow{width:40px;height:40px}.cinema-word[data-word="0"]{left:12%;top:30%}.cinema-word[data-word="1"]{left:57%;top:43%}.cinema-word[data-word="2"]{left:26%;top:60%}.cinema-word{padding:8px 15px}.cinema-word:before{margin-right:8px}.cinema-toast{top:20%;width:80vw}.cinema-clue{width:54px;height:54px}.cinema-clue-label{font-size:9px}}
@media(max-height:500px){.cinema-top{padding:10px 20px}.cinema-caption{bottom:75px}.cinema-room[data-stage="3"] .cinema-caption,.cinema-room[data-stage="5"] .cinema-caption{bottom:72px}.cinema-title{font-size:25px}.cinema-hint{font-size:10px!important;margin-top:5px!important}.cinema-next{bottom:15px}.cinema-toast{top:18%}.cinema-word[data-word="2"]{top:55%}}
@media(max-width:700px){.cinema-room[data-stage="3"] .cinema-caption{left:50%;top:max(95px,14vh);bottom:auto;transform:translateX(-50%);text-align:center;width:88vw}}
