/* Fludo Service — sculptural WebGL stage. Layout remains owned by the theme. */
.fs-scene{position:relative;isolation:isolate;width:100%;min-height:560px;height:100%;overflow:hidden;touch-action:pan-y;cursor:grab;contain:layout paint}
.fs-scene[data-dragging=true]{cursor:grabbing}
.fs-scene-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .7s ease;outline:none}
.fs-scene[data-scene-ready=true] .fs-scene-canvas{opacity:1}
.fs-scene #fs-scene-fallback{position:absolute;inset:0;display:grid;place-items:center;z-index:0;opacity:1;transition:opacity .7s ease;pointer-events:none}
.fs-scene #fs-scene-fallback img{width:100%;height:100%;object-fit:contain}
.fs-scene[data-scene-ready=true] #fs-scene-fallback{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s .7s}
.fs-scene[data-scene-ready=fallback] .fs-scene-canvas{opacity:0;visibility:hidden}
.fs-scene[data-scene-ready=fallback] #fs-scene-fallback{opacity:1;visibility:visible}
[data-fs-scene-pause],[data-fs-scene-reset]{min-height:44px;min-width:44px;touch-action:manipulation}
[data-fs-focus]{touch-action:manipulation}
[data-fs-focus][aria-pressed=true]{border-color:var(--fs-cyan,#6de4f2);color:var(--fs-cyan,#6de4f2)}
[data-fs-tilt]{transform:perspective(950px) rotateX(var(--fs-tilt-x,0deg)) rotateY(var(--fs-tilt-y,0deg));transition:transform .25s ease;transform-style:preserve-3d}
#fs-film-dialog{width:min(1140px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #5b6974;background:#10171e;color:#fff;box-shadow:0 20px 100px #0008;overflow:auto}
#fs-film-dialog::backdrop{background:#040a12db;backdrop-filter:blur(10px)}
#fs-film-dialog video{display:block;width:100%;max-height:calc(100dvh - 120px);background:#080e15;object-fit:contain}
#fs-film-dialog [data-fs-film-close]{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:10px 12px 10px auto;border:1px solid #69757f;background:transparent;color:white;cursor:pointer}
@media(max-width:1000px){.fs-scene{min-height:500px}}
@media(max-width:700px){.fs-scene{min-height:440px;aspect-ratio:1.05;height:auto}.fs-scene-canvas{width:100%;height:100%}#fs-film-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}}
@media(max-width:390px){.fs-scene{min-height:380px}}
@media(prefers-reduced-motion:reduce){.fs-scene-canvas,.fs-scene #fs-scene-fallback{transition:none}[data-fs-tilt]{transform:none;transition:none}}
