/* The scene carries the instructions; HUD only shows shipment progress. */
body.is-line-guard #gameApp #lineGuard36{--guard-pull:0;position:absolute;inset:0;z-index:8;pointer-events:none;direction:rtl;color:#173e40;font-family:'Rubik Game',sans-serif;isolation:isolate;user-select:none;-webkit-user-select:none}
body.is-line-guard #gameApp #lineGuard36[hidden]{display:none!important}
body.is-line-guard #gameApp #controls.loading,body.is-line-guard #gameApp #machinePressure,body.is-line-guard #gameApp #timingCue,body.is-line-guard #gameApp #workInstruction,body.is-line-guard #gameApp .deck-topline{display:none!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-mechanism{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 .25cqh .15cqh #15333244)}
body.is-line-guard #gameApp #lineGuard36 .guard36-flap{transform-box:view-box;transform-origin:46.6% 65.5%;transform:rotate(calc(var(--guard-pull) * 66deg));transition:transform .12s cubic-bezier(.22,1.3,.45,1)}
body.is-line-guard #gameApp #lineGuard36 .guard36-slider{transform:translateY(calc(var(--guard-pull) * 60px));transition:transform .12s cubic-bezier(.22,1.3,.45,1)}
body.is-line-guard #gameApp #lineGuard36.guard36-dragging :is(.guard36-flap,.guard36-slider){transition:none}
body.is-line-guard #gameApp #lineGuard36 .guard36-gate-light{fill:#9cbe8c}
body.is-line-guard #gameApp #lineGuard36.guard36-danger .guard36-gate-light{fill:#edaf60}
body.is-line-guard #gameApp #lineGuard36.guard36-open .guard36-gate-light{fill:#e6c16b}
body.is-line-guard #gameApp #lineGuard36 .guard36-grip{position:absolute!important;left:27%!important;top:calc(65% + var(--guard-pull) * 10%)!important;width:9.6%!important;height:12.666667%!important;min-width:0!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;transform:translate(-50%,-50%)!important;background:none!important;background-image:none!important;border:0!important;outline:0!important;box-shadow:none!important;clip-path:none!important;border-radius:1cqw!important;z-index:3!important;pointer-events:auto!important;touch-action:none!important;cursor:grab!important;-webkit-touch-callout:none;transition:top .12s cubic-bezier(.22,1.3,.45,1)!important}
body.is-line-guard #gameApp #lineGuard36.guard36-dragging .guard36-grip{transition:none!important;cursor:grabbing!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-grip:disabled{cursor:default!important;opacity:1!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-grip-focus{position:absolute;left:15%;right:15%;top:22%;bottom:14%;border:3px solid transparent;border-radius:1cqw;pointer-events:none}
body.is-line-guard #gameApp #lineGuard36 .guard36-grip:focus-visible .guard36-grip-focus{border-color:#fff1ad;box-shadow:0 0 0 2px #254743}
body.is-line-guard #gameApp #lineGuard36 .guard36-grip:hover .guard36-grip-focus{background:#ffefb617}

/* Same bag symbol as the rest of the game, readable count, three health marks. */
body.is-line-guard #gameApp #lineGuard36 .guard36-shipment{position:absolute;left:39%;top:2%;width:25%;padding:.65cqh 1cqw .7cqh;box-sizing:border-box;border:1px solid #315950;border-bottom:3px solid #21443f;border-radius:.7cqw;background:#f0ecd8ed;box-shadow:0 .25cqh .5cqh #14393833;direction:ltr}
body.is-line-guard #gameApp #lineGuard36 .guard36-shipment-top{display:flex;align-items:center;justify-content:center;gap:.7cqw}
body.is-line-guard #gameApp #lineGuard36 .guard36-goal-icon{width:2.8cqw;height:2.8cqw;color:#35614e;flex:none}
body.is-line-guard #gameApp #lineGuard36 [data-guard-count]{font:600 2.5cqw/1 'Fredoka Game',sans-serif;color:#214d43;font-variant-numeric:tabular-nums;white-space:nowrap}
body.is-line-guard #gameApp #lineGuard36 .guard36-health{display:flex;align-items:center;gap:.35cqw;padding-inline-start:.8cqw;margin-inline-start:.3cqw;border-inline-start:1px solid #aebc9e;direction:ltr}
body.is-line-guard #gameApp #lineGuard36 .guard36-health>i{display:block;width:.8cqw;height:1.15cqw;border:1px solid #48684c;border-radius:.2cqw .2cqw .4cqw .4cqw;background:#83a66b;box-shadow:inset 0 1px #dbe7b9}
body.is-line-guard #gameApp #lineGuard36 .guard36-health>i.damaged{background:#b65b45;border-color:#793f34;box-shadow:none}
body.is-line-guard #gameApp #lineGuard36 .guard36-progress{height:.65cqh;overflow:hidden;margin-top:.55cqh;border:1px solid #a7b697;border-radius:1cqw;background:#d1d8bf;direction:ltr}
body.is-line-guard #gameApp #lineGuard36 .guard36-progress>i{display:block;width:calc(var(--guard-fill,0) * 100%);height:100%;border-radius:inherit;background:#52846b;transition:width .15s ease-out}
body.is-line-guard #gameApp #lineGuard36 .guard36-instruction{position:absolute;left:39%;top:10.5%;width:25%;padding:.5cqh .7cqw;margin:0;border:0;background:#f0ecd8ed;border-radius:.4cqw;color:#31564a;text-align:center;font:500 1.4cqw/1.2 'Rubik Game',sans-serif;box-sizing:border-box}
body.is-line-guard #gameApp #lineGuard36 .guard36-instruction[hidden]{display:none!important}
/* Event descriptions stay available to screen readers without covering art. */
body.is-line-guard #gameApp #lineGuard36 .guard36-feedback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Character placement is retained until the authored pose sheet is mounted. */
body.is-line-guard.actor-mounted #gameApp #davidActor[data-station='0']{left:4%!important;top:32.5%!important;bottom:auto!important;width:25.5%!important;height:64.1667%!important;aspect-ratio:auto!important;z-index:7!important}
body.is-line-guard.actor-mounted #gameApp #davidActor .actor-visual{opacity:0!important}
body.is-line-guard.actor-mounted #gameApp #davidActor .actor-charge{left:23%!important;right:20%!important;bottom:99%!important;text-shadow:0 1px #fff8!important;color:#35584e!important}
body.is-line-guard.actor-mounted #gameApp #davidActor :is(.actor-aura,.actor-sweat,.actor-ready-call,.actor-panic-line){display:none!important}
/* Keep the original charge/Prime character and his activation cue visible. */
body.is-line-guard.actor-mounted #gameApp #davidActor:is(.ready,.active){z-index:9!important}
body.is-line-guard.actor-mounted #gameApp #davidActor:is(.ready,.active) .actor-visual{opacity:1!important}
body.is-line-guard.actor-mounted #gameApp #davidActor:is(.ready,.active) :is(.actor-aura,.actor-ready-call){display:block!important}
body.is-line-guard #gameApp:has(#davidActor:is(.ready,.active)) #lineGuard36 :is(.guard36-operator-body,.guard36-operator-arm){visibility:hidden}
body.phone-cinematic #lineGuard36 :is(.guard36-operator-body,.guard36-operator-arm){visibility:hidden}
@media(prefers-reduced-motion:reduce){body.is-line-guard #gameApp #lineGuard36 :is(.guard36-flap,.guard36-slider,.guard36-grip,.guard36-progress>i){transition:none!important}}
body.reduced-motion.is-line-guard #gameApp #lineGuard36 :is(.guard36-flap,.guard36-slider,.guard36-grip,.guard36-progress>i){transition:none!important}


/* Painted six-pose operator: touch area follows the actual painted knob. */
body.is-line-guard #gameApp #lineGuard36 .guard36-grip{left:var(--guard-handle-x,4.8%)!important;top:var(--guard-handle-y,56.25%)!important;width:12%!important;height:16%!important;transition:none!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-flap{transform-origin:42.2% 61.1667%}
body.is-line-guard.actor-mounted #gameApp #davidActor[data-station='0']{left:2%!important;top:29%!important;width:29%!important;height:65%!important}


/* Right-side operator keeps the entire room available to the production line. */
body.is-line-guard.actor-mounted #gameApp #davidActor[data-station='0']{left:75%!important;top:34%!important;width:24%!important;height:61%!important}
body.is-line-guard #gameApp #lineGuard36 .guard36-flap{transform-origin:24.3% 53.3333%}
body.is-line-guard.actor-mounted #gameApp #davidActor.ready .actor-visual{opacity:0!important}
body.is-line-guard #gameApp:has(#davidActor.ready) #lineGuard36 .guard36-operator-body{visibility:visible}
body.is-line-guard.actor-mounted #gameApp #davidActor.ready .actor-body{clip-path:inset(0 0 0 28%)!important}
body.is-line-guard #gameApp #lineGuard36 .guard37-prime-lever{display:none}
body.is-line-guard #gameApp:has(#davidActor.active) #lineGuard36 .guard37-prime-lever{display:block}
