/* Art-aligned atmosphere, inside the atelier camera and behind the actors. */
.world-life{position:absolute;z-index:1;pointer-events:none;user-select:none;perspective:1600px;transform-style:preserve-3d}
.world-life[hidden],.world-life [hidden]{display:none!important}
.world-life-plane{position:absolute;opacity:0;pointer-events:none;transform-origin:50% 75%;transition:opacity .6s ease}
.world-life-plane>img{display:block;width:100%;height:auto;max-width:none;pointer-events:none;user-select:none}
.world-life-plane.is-ready{opacity:1}
.world-life-cloud{transform:translate3d(var(--pointer-mid-x,0px),var(--depth-far-y,0px),0)}
.world-life-cloud-far{z-index:0;--cloud-drift:14px}
.world-life-cloud-far.is-ready{opacity:.25}
.world-life-cloud-far>img{animation:world-cloud-drift 23s ease-in-out infinite alternate}
.world-life-cloud-near{z-index:2;--cloud-drift:-20px;transform:translate3d(var(--pointer-near-x,0px),var(--pointer-mid-y,0px),12px)}
.world-life-cloud-near.is-ready{opacity:.14}
.world-life-cloud-near>img{animation:world-cloud-drift 29s -8s ease-in-out infinite alternate}
.world-life-peaks{z-index:1;filter:drop-shadow(5px 15px 11px #3d657a20);transform:translate3d(calc(var(--asset-mid-scroll-x,0px) + var(--pointer-mid-x,0px)),calc(var(--depth-far-y,0px) + var(--pointer-mid-y,0px)),-8px) rotateY(var(--pointer-tilt-y,0deg))}
.world-life-peaks>img{animation:world-island-float 9s -3s ease-in-out infinite alternate}
.world-life-planning{z-index:5;filter:drop-shadow(6px 15px 12px #315c7535);transform:translate3d(calc(var(--pointer-mid-x,0px) + var(--asset-mid-scroll-x,0px)),calc(var(--pointer-mid-y,0px) + var(--depth-far-y,0px)),-28px) rotateX(var(--pointer-tilt-x,0deg)) rotateY(var(--pointer-tilt-y,0deg))}
.world-life-planning-content{position:relative;width:100%;aspect-ratio:10/7;animation:world-planning-float 9s -1s ease-in-out infinite alternate;transform-origin:50% 70%;transform-style:preserve-3d;perspective:1000px}
.world-life-planning-content>img{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;user-select:none}
.world-life-planning-content>.planning-deck{width:100%;left:0;top:34%;filter:drop-shadow(0 10px 8px #274f6330);transform:translateZ(-8px)}
.planning-board{position:absolute;left:23%;top:4%;width:54%;aspect-ratio:640/370;background:linear-gradient(145deg,#204a46,#153630);border:clamp(2px,.35vw,6px) solid #ae7550;box-shadow:2px 3px 0 #6e4936,5px 7px 0 #4c392b25,inset 0 0 0 1px #c29d7455;transform:translateZ(22px) rotateY(-2deg);transform-style:preserve-3d}
.planning-board:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 2px 9px #071f2838;background:linear-gradient(140deg,#ffffff0d,transparent 50%)}
.planning-board-leg{position:absolute;top:100%;width:4%;height:24%;background:linear-gradient(90deg,#a17250,#c89466 55%,#70543d);box-shadow:2px 1px 0 #4e392a;transform-origin:50% 0}
.planning-board-leg-left{left:13%;transform:rotate(5deg)}
.planning-board-leg-right{right:13%;transform:rotate(-5deg)}
.planning-diagram{display:block;width:100%;height:100%;overflow:visible;font-family:var(--sans,Arial,sans-serif)}
.blueprint-heading{font-size:24px;font-weight:600;letter-spacing:3px;fill:#c5d9c4}
.blueprint-nodes{fill:#244f48;stroke:#93c5af;stroke-width:2}
.blueprint-labels{font-size:36px;font-weight:700;fill:#f0f3db;letter-spacing:1px}
.blueprint-connections{fill:none;stroke:#e6bd78;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.blueprint-connections>path:first-child{stroke-dasharray:1;stroke-dashoffset:1;animation:world-blueprint-trace 7s ease-in-out infinite}
.blueprint-chart{fill:none;stroke:#a9dcad;stroke-width:3;stroke-linejoin:round;stroke-dasharray:1;animation:world-blueprint-trace 7s 1s ease-in-out infinite}
.blueprint-footer{font-size:19px;font-weight:500;letter-spacing:2px;fill:#b8d3bf}
.world-life-planning-content>.planning-robot{position:absolute;z-index:3;top:18%;width:21%;aspect-ratio:984/1358;transform:translateZ(32px);filter:drop-shadow(1px 3px 2px #1a303540)}
.planning-robot-left{left:8%}
.world-life-planning-content>.planning-robot-right{right:6%;width:16.25%;aspect-ratio:794/1417}
.world-life-waterfall{position:absolute;z-index:3;overflow:hidden;isolation:isolate;clip-path:polygon(0 0,62% 0,88% 10%,100% 24%,94% 68%,76% 100%,42% 100%,37% 68%,36% 27%,18% 10%,0 8%);color:#e7ffff;mix-blend-mode:screen}
.world-life-island-waterfall{clip-path:polygon(10% 0,76% 0,94% 10%,90% 91%,52% 100%,15% 93%,7% 14%)}
.world-life-waterfall:before{content:"";position:absolute;inset:-30% 0;background:repeating-linear-gradient(180deg,#a1f5ff00 0%,#b0ffff40 5%,#a1f5ff00 9%,#caffff26 17%,#a1f5ff00 22%);animation:world-water-sheen 1.6s linear infinite;opacity:.5}
.world-life-waterfall>span{position:absolute;top:-10%;font:500 clamp(4px,var(--life-digit-size,10px),13px)/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-shadow:0 0 4px #8deaff;opacity:0;animation:world-binary-fall var(--fall-duration,2.8s) var(--fall-delay,0s) linear infinite}
.world-life-mist{position:absolute;z-index:4;pointer-events:none}
.world-life-mist>i{position:absolute;inset:20%;border-radius:50%;background:#d3ffff70;filter:blur(3px);opacity:0;animation:world-water-mist 2.7s var(--mist-delay,0s) ease-out infinite}
.world-life.is-paused,.world-life.is-paused *,.world-life.is-paused:before,.world-life.is-paused *:before{animation-play-state:paused!important}
.world-life.is-reduced .world-life-waterfall,.world-life.is-reduced .world-life-mist{display:none}
@keyframes world-cloud-drift{from{transform:translate3d(-6px,0,0)}to{transform:translate3d(var(--cloud-drift,14px),-4px,0)}}
@keyframes world-island-float{from{transform:translate3d(0,-3px,0) rotate(-.18deg)}to{transform:translate3d(0,5px,0) rotate(.18deg)}}
@keyframes world-planning-float{from{transform:translate3d(0,-2px,0) rotate(-.12deg)}to{transform:translate3d(0,2px,0) rotate(.12deg)}}
@keyframes world-blueprint-trace{0%,8%{stroke-dashoffset:1}65%,100%{stroke-dashoffset:0}}
@keyframes world-planner-think{0%,35%,70%,100%{transform:scaleX(var(--robot-facing,1)) translateZ(28px) rotate(0)}45%,55%{transform:scaleX(var(--robot-facing,1)) translateZ(28px) rotate(-1.3deg)}}
@keyframes world-water-sheen{from{transform:translateY(-12%)}to{transform:translateY(12%)}}
@keyframes world-binary-fall{0%{transform:translateY(0);opacity:0}12%{opacity:.7}86%{opacity:.65}100%{transform:translateY(var(--life-fall-distance,300px));opacity:0}}
@keyframes world-water-mist{0%{transform:translate3d(0,0,0) scale(.4);opacity:0}22%{opacity:.6}100%{transform:translate3d(-7px,-9px,0) scale(1.8);opacity:0}}
@media(max-width:760px),(max-height:480px){.world-life-cloud-near.is-ready{opacity:.12}.world-life-peaks>img{animation-duration:12s}.world-life-waterfall>span{text-shadow:none}}
@media(prefers-reduced-motion:reduce){.world-life,.world-life *,.world-life:before,.world-life *:before{animation:none!important;transition:none!important;transform:none!important}.world-life-waterfall,.world-life-mist{display:none}}
@media(prefers-reduced-motion:reduce){.blueprint-connections>path:first-child,.blueprint-chart{stroke-dashoffset:0}}

/* v16: real shoulder rigs; bodies, tablet and feet stay planted. */
.planning-fallback,.planning-puppet{position:absolute;inset:0;width:100%;height:100%}
.planning-fallback{object-fit:contain}
.planning-body{position:absolute;left:0;top:0;height:100%;width:auto;max-width:none}
.planning-joint{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none}
.planning-joint>img{position:absolute;height:auto;max-width:none}
.planning-draw-joint{transform-origin:60.5% 39.2%}
.planning-draw-joint>img{left:56.38%;top:23.81%;width:58%}
.planning-tap-joint{transform-origin:89.5% 43.7%;transform:rotate(20deg)}
.planning-tap-joint>img{left:24.68%;top:35.45%;width:70%}
.planning-tablet-screen{position:absolute;left:0;top:0;height:100%;width:auto;aspect-ratio:580/970;z-index:2;overflow:visible}
.planning-tablet-glass{fill:#123e43}
.planning-tablet-ui{fill:none;stroke:#96eee2;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.planning-tablet-touch{fill:#a9fff3;stroke:#e5ffce;stroke-width:4;opacity:0;transform-box:fill-box;transform-origin:center}
.world-life-planning-content:not(.is-working) .blueprint-connections>path:first-child,
.world-life-planning-content:not(.is-working) .blueprint-chart{animation:none;stroke-dashoffset:0}
.is-working .planning-draw-joint{animation:planning-draw-hand 8s ease-in-out infinite}
.is-working .planning-tap-joint{animation:planning-tablet-taps 8s ease-in-out infinite}
.is-working .planning-tablet-touch{animation:planning-touch-response 8s ease-out infinite}
.is-working .blueprint-connections>path:first-child{animation:planning-connect-chart 8s linear infinite}
.is-working .blueprint-chart{animation:planning-draw-chart 8s linear infinite}
@keyframes planning-draw-hand{0%,8%{transform:rotate(-5deg)}22%{transform:rotate(10deg)}38%{transform:rotate(26deg)}46%{transform:rotate(38deg)}52%{transform:rotate(34deg)}58%{transform:rotate(42deg)}64%{transform:rotate(36deg)}70%{transform:rotate(43deg)}80%{transform:rotate(14deg)}92%,100%{transform:rotate(-5deg)}}
@keyframes planning-connect-chart{0%,8%{stroke-dashoffset:1}38%,94%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes planning-draw-chart{0%,38%{stroke-dashoffset:1}70%,94%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes planning-tablet-taps{0%,10%,18%,30%,38%,52%,60%,74%,82%,100%{transform:rotate(20deg)}14%,34%,56%,78%{transform:rotate(12deg)}}
@keyframes planning-touch-response{0%,12%,20%,32%,40%,54%,62%,76%,84%,100%{opacity:0;transform:scale(.25)}14%,34%,56%,78%{opacity:.9;transform:scale(1)}18%,38%,60%,82%{opacity:0;transform:scale(1.7)}}
@media(prefers-reduced-motion:reduce){.world-life .planning-draw-joint{transform:rotate(26deg)!important}.world-life .planning-tap-joint{transform:rotate(12deg)!important}.planning-tablet-touch{display:none}.is-working .blueprint-chart,.is-working .blueprint-connections>path:first-child{stroke-dashoffset:0}}
