/* LGU // Character-first cinematic restored to the active RPG client. */
.scene-cinematic{position:absolute;z-index:19;inset:clamp(50px,7.5dvh,70px) 0 0;width:100%;height:auto;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(180deg,#020819bd 0%,#07162a36 37%,#030b1bd9 100%);isolation:isolate}
.scene-scape{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 47% 30%,#282b775a,transparent 54%),linear-gradient(180deg,#070c23aa,#060e23ce)}
.scene-scape::before{content:'';position:absolute;inset:0;background:url('../assets/scenes/observatory-depth.webp') center 42% / cover no-repeat;opacity:.49;filter:saturate(1.3)}
.scene-glass{position:absolute;z-index:2;inset:10% 12% 40%;border:1px solid #71dafa7d;border-radius:45% 45% 8% 8%;background:radial-gradient(ellipse at center,#68edfa48,transparent 58%);box-shadow:inset 0 0 80px #68eafa46,0 0 45px #6decff66;opacity:.7;pointer-events:none}
.scene-stars{position:absolute;inset:0;z-index:3;opacity:.48;background-image:radial-gradient(circle,#b7edff 1px,transparent 2px),radial-gradient(circle,#ff9ffa 1px,transparent 2px);background-position:4% 9%,38% 22%;background-size:71px 89px,103px 147px;animation:sceneFloat 10s linear infinite}
.scene-particles{position:absolute;inset:0;z-index:4;background:linear-gradient(115deg,transparent 36%,#bcefff49 51%,transparent 53%);opacity:.1;transform:skewX(-15deg)}
.scene-hero{position:absolute;z-index:4;bottom:22%;right:1%;width:min(67%,550px);height:65%;overflow:hidden;pointer-events:none;transform-origin:bottom right;filter:drop-shadow(0 5px 20px #080d26)}
.scene-hero img{width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:saturate(1.17) contrast(1.08);mask-image:linear-gradient(0deg,transparent 0%,black 20%,black 92%,transparent 100%)}
.scene-hero.enter{animation:sceneHeroEnter .32s ease-out both}
.scene-ailuros{position:absolute;z-index:3;left:42%;top:5%;height:64%;width:57%;transform:translateX(-50%);filter:drop-shadow(0 0 20px #b965fa)}.scene-ailuros img{width:100%;height:100%;object-fit:contain}
.scene-cinematic[data-speaker='rival']{--who:#69f5f0}.scene-cinematic[data-speaker='archivist']{--who:#99eaff}.scene-cinematic[data-speaker='gatekeeper']{--who:#c6b6ff}.scene-cinematic[data-speaker='cat']{--who:#ffc486}.scene-cinematic[data-speaker='ailuros']{--who:#e5a6ff}.scene-cinematic{--who:#96e6ff}
.scene-cinematic[data-speaker='cat'] .scene-hero{width:min(40%,300px);height:43%;bottom:36%;right:9%}
.scene-cinematic[data-kind='shatter'] .scene-glass{background:repeating-linear-gradient(57deg,transparent 0 15px,#b6effd72 16px 18px,transparent 20px 29px),radial-gradient(ellipse,#a0eaff63,transparent);animation:sceneShatter .52s ease-out both}
.scene-cinematic[data-kind='strain'] .scene-glass{animation:sceneStrain .8s ease-in-out infinite alternate}
.scene-cinematic[data-kind='enemy'] .scene-glass{opacity:.25}.scene-cinematic[data-kind='enemy'] .scene-scape{background:radial-gradient(ellipse at 42% 27%,#ab4acb8c,transparent 66%),#071328aa}
.scene-beacon{display:none;position:absolute;z-index:11;left:0;right:0;top:26%;text-align:center;font-weight:1000;letter-spacing:.22em;font-size:clamp(18px,6vw,68px);color:#e9ffff;text-shadow:0 0 15px #41ecff,0 0 45px #74adff}
.scene-cinematic.commanding .scene-beacon,.scene-cinematic.projecting .scene-beacon{display:block;animation:sceneCommandIn .42s ease-out both}
.scene-cinematic.commanding .scene-hero{width:min(66%,540px);height:72%;bottom:22%;right:-5%;filter:drop-shadow(0 0 30px #36dfff)}
.scene-cinematic.commanding .scene-glass{background:radial-gradient(ellipse,#6feeff66,transparent 60%);box-shadow:0 0 95px #35e8ff,inset 0 0 75px #74ddff}
.scene-cinematic.projecting::before{content:'';position:absolute;inset:0;z-index:8;background:radial-gradient(ellipse,#c5ffffbb,transparent 65%);animation:sceneProject .78s ease-in-out}
.scene-dialogue{position:relative;z-index:10;width:calc(100% - 18px);max-width:1100px;margin:0 auto clamp(10px,2dvh,20px);border:2px solid var(--who);border-radius:13px;background:linear-gradient(115deg,#07142cf8,#081630ed 72%,#15142fed);box-shadow:0 8px 40px #010a19ef,0 0 30px color-mix(in srgb,var(--who) 27%,transparent);padding:clamp(10px,2.2vw,20px);overflow:hidden;min-height:clamp(196px,34dvh,325px)}
.scene-dialogue::before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--who);box-shadow:0 0 16px var(--who)}
.scene-progression{display:flex;justify-content:space-between;color:#b4cfe5;font-size:clamp(9px,1.3vw,12px);letter-spacing:.18em;font-weight:800;border-bottom:1px solid #668db65d;padding-bottom:8px}
.scene-speakerline{display:flex;gap:12px;align-items:center;margin-top:8px;min-height:64px}
.scene-face{width:64px;height:70px;flex:0 0 auto;border:1px solid var(--who);background:linear-gradient(135deg,#14254c,#081b34);overflow:hidden;border-radius:6px}.scene-face img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.scene-names{min-width:0}.scene-names small{display:block;color:var(--who);letter-spacing:.13em;font-size:11px;font-weight:950}.scene-names strong{display:block;color:#f7f5ef;font-size:clamp(15px,3.2vw,28px);letter-spacing:.02em;line-height:1.1}
.scene-dialogue p{font-size:clamp(14px,2.5vw,20px);line-height:1.38;color:#f1f6ff;min-height:52px;margin:8px 0 10px;max-width:95%;text-shadow:0 2px 5px #000}
.scene-dialogue .story-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:nowrap}
.scene-dialogue .story-actions button{min-height:42px;padding:9px 12px;border:1px solid var(--who);border-radius:6px;color:white;background:#193858;font-weight:900;font-size:clamp(10px,1.5vw,13px);letter-spacing:.04em}
.scene-dialogue .story-actions .skip{background:#0a1227;color:#c7ccdf;border-color:#49617a;font-size:10px}.scene-dialogue .story-actions .continue{background:linear-gradient(95deg,#114568,#20598b);margin-left:auto}
@media(max-width:420px){.scene-dialogue{width:calc(100% - 12px);min-height:226px;padding:10px;margin-bottom:max(6px,env(safe-area-inset-bottom))}.scene-hero{right:-16%;width:92%;bottom:38%;height:52%}.scene-cinematic[data-speaker='cat'] .scene-hero{right:4%;bottom:42%;width:43%;height:36%}.scene-speakerline{gap:8px}.scene-face{width:54px;height:58px}.scene-dialogue p{min-height:61px}.scene-beacon{top:22%;font-size:clamp(16px,6vw,34px)}.scene-cinematic.commanding .scene-hero{right:-30%;width:96%;bottom:41%;height:53%}}
@media(prefers-reduced-motion:reduce){.scene-hero.enter,.scene-glass,.scene-stars,.scene-beacon,.scene-cinematic.projecting::before{animation:none!important}}
@keyframes sceneHeroEnter{from{opacity:0;transform:translateX(45px) scale(.96)}to{opacity:1;transform:none}}@keyframes sceneShatter{from{opacity:.88;scale:1}to{opacity:.25;scale:1.12}}@keyframes sceneStrain{to{filter:brightness(1.8);scale:1.03}}@keyframes sceneFloat{to{background-position:75px 96px,145px 172px}}@keyframes sceneCommandIn{from{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes sceneProject{from{opacity:0}50%{opacity:1}to{opacity:0}}
