/* One load-bearing chassis. The moving light uses the same coordinates as the rails. */
.machine-stage{min-height:625px;background:radial-gradient(ellipse at 50% 20%,#32243e,#110c1b 66%)}
.rig-chassis{position:absolute;inset:0 0 auto;width:100%;height:326px;z-index:1;pointer-events:none}
.rig-shell{fill:url(#rig-deck);stroke:#6d547a;stroke-width:5}
.rig-beam{fill:none;stroke:url(#rig-metal);stroke-width:31;stroke-linejoin:round}
.rig-inlay{fill:none;stroke:#bda783;stroke-width:2;opacity:.65}
.rig-deck{fill:url(#rig-deck);stroke:#8c7398;stroke-width:5}
.rig-bolts{fill:#b6a68b;stroke:#211728;stroke-width:4}
.rig-vents{stroke:#08060d;stroke-width:8;stroke-linecap:round}
.rig-led{fill:none;stroke-width:4;stroke-dasharray:15 12;opacity:.3}
.rig-led-left{stroke:#76d9ed}.rig-led-right{stroke:#ed8ec7}
.orbit-rack{top:4px;left:8%;right:8%;height:191px;z-index:3}
.orbit-unit[data-stage="1"]{left:0;top:112px;width:30%;height:80px}
.orbit-unit[data-stage="2"]{right:0;top:93px;width:30%;height:84px}
.orbit-unit[data-stage="3"]{left:27%;top:0;width:46%;height:117px}
.orbit-unit{transition:none;transform:none!important;filter:none!important}
.orbit-unit:before{content:'';position:absolute;left:21%;right:21%;top:72%;height:37%;z-index:-1;border:3px ridge #9d8a9e;border-radius:4px 4px 15px 15px;background:linear-gradient(90deg,#171020,#76647a 25%,#312539 70%,#131018)}
.orbit-unit canvas{box-shadow:0 5px #54435f,0 10px #100d16;border-width:2px}
.orbit-unit.active canvas{border-color:#d9efff;filter:brightness(1.14)}
.orbit-unit>span{font-size:11px;letter-spacing:.3px;text-shadow:none}
.orbit-unit[data-stage="3"]>span{font-size:12px}
.orbit-unit[data-stage="3"] canvas{filter:brightness(.5)}
#scene{top:337px}
#chance-zone,body[data-chance] #chance-zone{left:calc(50% - 56px);right:auto;top:145px;width:112px;height:110px;background:radial-gradient(ellipse,#5d426244,#1a1224 70%);border:5px ridge #9c819f;border-radius:50%;box-shadow:0 6px 0 #120e1c;z-index:4;isolation:isolate;animation:none}
.core-ring{position:absolute;inset:-9px;border:3px solid #76617c;border-top-color:#c3a886;border-bottom-color:#c3a886;border-radius:50%;pointer-events:none}
.core-ring-two{inset:5px;border-width:2px;transform:rotate(-27deg) scaleX(.78);border-color:#887795}
.core-crystal{position:absolute;inset:18px 22px;background:linear-gradient(130deg,#c3b4ff88,#684fba55 31%,#a1eeef55 33%,#6b306588 65%,#d6befb99);clip-path:polygon(50% 0,90% 25%,100% 65%,50% 100%,0 65%,10% 25%);opacity:.65}
.chamber-moon{top:15px;width:72px;height:72px;opacity:.65;animation:core-breathe 6s ease-in-out infinite}
.chamber-stars,#chance-canvas,.chance-targets,#chance-title{display:none!important}
#chance-zone .chance-eyes{display:block;inset:39px 26px auto;height:18px;opacity:.12;z-index:2}
.core-ring-one,.core-ring-two,.core-crystal{transition:opacity .3s,border-color .3s}
body[data-core="1"] .core-ring-one,body[data-core="2"] .core-ring-one,body[data-core="2"] .core-ring-two{border-color:#c9b2ff}
body[data-core="2"] .core-crystal,body[data-core="2"] #chance-zone .chance-eyes{opacity:1}
body[data-chance="2"] .core-crystal,body[data-chance="3"] .core-crystal{opacity:1}
body[data-pulse="check"] .core-crystal{animation:core-check .55s both}
body[data-signal="ball"] .core-ring-two,body[data-signal="gold"] .core-ring-two{animation:core-drop 1.4s both}
body[data-draw="1"] .rig-led-left,body[data-draw="2"] .rig-led-right{opacity:1}
.slot-screen{left:50%;top:247px;width:154px;min-width:0;max-width:42%;height:88px;padding:3px 5px;border:3px ridge #9c83a0;border-radius:15px 15px 8px 8px;box-shadow:0 5px #3c2c47;z-index:5;transform:translateX(-50%)}
.slot-screen .slot-grid{height:70px;border-radius:7px;flex:1}
.slot-caption{height:8px;margin-bottom:1px!important}.slot-caption #slot-label{display:none}.slot-caption #queue{display:block!important;margin:auto;font-size:8px!important}
.slot-screen:before,.slot-screen:after{display:block;top:15px;bottom:10px;height:auto;width:4px;background:repeating-linear-gradient(#82dfea 0 3px,#34243f 3px 9px);box-shadow:none}
.slot-screen:before{left:-8px}.slot-screen:after{right:-8px;background:repeating-linear-gradient(#ef9bcb 0 3px,#34243f 3px 9px)}
.slot-reach .slot-screen{transform:translateX(-50%) translateY(-3px) scale(1.05);box-shadow:0 7px #6d4e62}
#companion{left:7%;top:224px;width:25%;height:89px;border:0;border-radius:48% 48% 25% 25%;background:#211329;box-shadow:none;z-index:4}
#companion:after{display:none}
.pod-cradle{position:absolute;inset:56% -7% -6%;border:5px ridge #a38db0;border-top:0;border-radius:0 0 55% 55%;background:linear-gradient(#453052,#1b1125);z-index:0}
.pod-canopy{position:absolute;inset:-6% -7% 2%;z-index:3;border:2px solid #a2a5c77d;border-radius:54% 54% 30% 30%;background:linear-gradient(130deg,transparent 23%,#e5f2ff18 25%,transparent 35%);transform-origin:50% 100%;transition:transform .7s,opacity .7s}
#yona-face{height:90%;width:100%;position:relative;z-index:1;filter:none!important;animation:none}
#yona-quote{left:0;right:-15%;bottom:-8px;font-size:10px;z-index:5;background:#180f24ed;border-radius:5px}
.win-meter{right:7%;top:263px;width:22%;border:0;background:none;z-index:4}
.win-meter small{font-size:10px}.win-meter b{font-size:22px}
.reward-port{top:236px;right:11%;width:15%;height:9px;border:2px ridge #a18b72}
.embedded-items{top:auto;bottom:12px;right:7%;width:27%;z-index:7}
.wall-lift{top:20px;bottom:17px;z-index:3}
.rail-hardware #rail-bed{stroke:#15121b;stroke-width:18;stroke-linejoin:round}
.rail-hardware #rail-glass{stroke:#a2aeb63b;stroke-width:12;stroke-linejoin:round}
.rail-hardware #rail-guide{stroke:#d4bf92;stroke-width:1.5;stroke-linejoin:round;opacity:.7}
.rail-hardware #rail-ties{stroke:#ac91b4;stroke-width:15;stroke-dasharray:2 25;opacity:.5}
.rail-hardware #rail-sockets{stroke:#c1ac8b;stroke-width:26;stroke-linecap:round;stroke-dasharray:1 9999}
#active-rail{stroke:#ac9be6;stroke-width:3;opacity:.55}
#event-track{stroke:#9b7da359;stroke-width:2}
.transport-mechanism{z-index:6}
#kurun,#kurun[data-phase="roll"],#kurun[data-phase="land"]{inset:12px 5% auto;height:330px;padding:8px 0 0;background:linear-gradient(#09051145,transparent 80%);box-shadow:none;justify-content:flex-start;gap:3px;pointer-events:none;transform-origin:var(--draw-x,50%) var(--draw-y,20%)}
#kurun:not([hidden]):not([data-phase="intro"]){animation:draw-extend .45s ease-out}
#kurun-canvas{width:min(100%,360px);height:260px;max-height:none;object-fit:contain;filter:none;margin-top:-18px}
#kurun-stage{font-size:15px;position:relative;z-index:1;padding:3px 14px;border:2px ridge #9e85a7;border-radius:8px;background:#1a1325}
#kurun-kind,.stage-steps,#kurun-hint{display:none}
#kurun-result{font-size:18px;margin-top:-12px;padding:4px 10px;border-radius:8px;background:#100919e0;z-index:1}
body[data-draw]:not([data-draw="0"]) .orbit-rack{opacity:.4}
body[data-draw-phase="intro"] .orbit-rack{opacity:1!important}
#kurun[data-phase="intro"]{background:none;height:210px;inset:0 5% auto;justify-content:flex-end}
#kurun[data-phase="intro"] #kurun-stage{display:none}
#kurun[data-phase="intro"] #kurun-result{font-size:17px;align-self:center;margin:0}
.final-entry .orbit-unit[data-stage="3"]{animation:none}
.final-dark .slot-screen,.final-dark #companion{filter:none}
body[data-final-step="0"] .rig-chassis,body[data-final-step="0"] .orbit-rack,body[data-final-step="0"] #chance-zone,body[data-final-step="0"] #companion{opacity:.15}
body[data-final-step="1"] .ear-frame,body[data-final-step="2"] .ear-frame,body[data-final-step="3"] .ear-frame,body[data-final-step="4"] .ear-frame,body[data-final-step="5"] .ear-frame{border-color:#ffe1a0;filter:none}
body[data-final-step="2"] .wall-lift,body[data-final-step="3"] .wall-lift,body[data-final-step="4"] .wall-lift,body[data-final-step="5"] .wall-lift{opacity:1;border-color:#d7b76c}
body[data-final-step="3"] .rig-led,body[data-final-step="4"] .rig-led,body[data-final-step="5"] .rig-led{opacity:1;stroke:#f1cd84}
body[data-final-step="4"] .core-ring,body[data-final-step="5"] .core-ring{border-color:#ffdb8f}
body[data-final-step="4"] .pod-canopy,body[data-final-step="5"] .pod-canopy{transform:translateY(-20px) rotateX(65deg);opacity:.25}
body[data-final-step="5"] .orbit-unit[data-stage="3"] canvas{filter:brightness(1.2);border-color:#ffe3a0}
body[data-final-step="0"] .orbit-unit[data-stage="3"] canvas,body[data-final-step="1"] .orbit-unit[data-stage="3"] canvas,body[data-final-step="2"] .orbit-unit[data-stage="3"] canvas,body[data-final-step="3"] .orbit-unit[data-stage="3"] canvas,body[data-final-step="4"] .orbit-unit[data-stage="3"] canvas{filter:brightness(.25)}
@keyframes core-breathe{50%{opacity:.85}}
@keyframes core-check{35%{opacity:1}100%{opacity:.65}}
@keyframes core-drop{to{transform:rotate(333deg) scaleX(.78)}}
@keyframes draw-extend{from{opacity:.2;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(min-width:651px){.machine-stage{min-height:665px}.rig-chassis{height:340px}#scene{top:346px}.slot-screen{top:252px;height:94px;width:168px}.slot-screen .slot-grid{height:75px}}
@media(prefers-reduced-motion:reduce){.chamber-moon,.core-ring,#kurun:not([hidden]),body[data-pulse] .core-crystal{animation:none!important}.pod-canopy,.core-ring,.core-crystal{transition:none}}

body[data-pulse="check"] #yona-face{animation:pod-stir .5s ease-out}
@keyframes pod-stir{50%{transform:translateY(-2px) rotate(-1deg)}}
.slot-reach .core-ring-two{border-color:#f5b4e1}
body[data-draw="2"] #chance-zone .chance-eyes{opacity:.7}
body[data-draw="3"] #chance-zone .chance-eyes{opacity:1}
@media(prefers-reduced-motion:reduce){body[data-pulse="check"] #yona-face{animation:none}}

.mechanical-rails{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

body[data-awake="4"] #chance-zone .chance-eyes,body[data-awake="5"] #chance-zone .chance-eyes{opacity:.75}

.field-header{position:absolute;z-index:2;top:323px;left:6%;right:6%;height:17px;border-top:3px ridge #c3a376;border-bottom:4px ridge #806e8b;background:repeating-linear-gradient(90deg,#19111f 0 22px,#77627c 22px 24px);pointer-events:none}
@media(min-width:651px){.field-header{top:337px}}

#insertion-status{font-size:12px;line-height:1.5;text-align:center;color:#f5d49d;padding:0 6px;background:#170f20}#insertion-status:empty{display:none}.insert:disabled{opacity:.55;cursor:not-allowed}

/* Yona's event commentary: only the active cue changes the cabinet. */
body[data-yona-cue]:not([data-yona-cue=""]) #yona-quote{font-size:13px;font-weight:700;line-height:1.5;left:0;right:auto;bottom:68px;width:170px;max-width:54vw;padding:8px 10px;border:1px solid currentColor;border-radius:12px 12px 12px 3px;background:#181021f2;text-shadow:none;opacity:1;z-index:10}
body[data-yona-cue="0"] #yona-quote{color:#bbb4c6}
body[data-yona-cue="1"] #yona-quote{color:#99dbe9}
body[data-yona-cue="2"] #yona-quote{color:#d5a4ff}
body[data-yona-cue="3"] #yona-quote{color:#ffb7df}
body[data-yona-cue="4"] #yona-quote{color:#ffe39a}
body[data-yona-cue="2"] .core-ring-one{border-color:#c995ed}
body[data-yona-cue="3"] .rig-led{opacity:.85;stroke:#f7a8d9}
body[data-yona-cue="4"] .rig-led{opacity:1;stroke:#f4d493}
body[data-yona-cue="4"] .core-ring{border-color:#efd69b}
body[data-yona-rare="1"] #companion{background:radial-gradient(ellipse,#705531,#23182e);border-bottom:2px solid #ffe5ae}
body[data-yona-rare="1"] .pod-canopy{border-color:#ffe8ad}
body[data-yona-rare="1"] #yona-quote{background:linear-gradient(120deg,#31213b,#503c24);color:#fff0c1;letter-spacing:.03em}
