/* Pip's check as a stage (assets/check-stage.js). Prefix cks-. */
#scCheck.cks-on{background:#2B1F4A;justify-content:flex-start;gap:10px;padding-top:calc(var(--pad-top) + 4px);overflow:hidden}
#scCheck.cks-on::before,#scCheck.cks-on::after{display:none}
.cks-stage{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cks-back{position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 40% at 50% 26%,rgba(255,240,180,.55),rgba(255,240,180,0) 70%),
  linear-gradient(180deg,#3A2A66 0%,#5A3C8E 45%,#7A4FA8 62%)}
.cks-back::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.2px,transparent 1.6px);background-size:46px 46px;opacity:.5;background-position:8px 12px}
.cks-spot{position:absolute;top:-6%;width:34%;height:70%;background:linear-gradient(180deg,rgba(255,244,200,.55),rgba(255,244,200,0));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);animation:cksSway 5s ease-in-out infinite;transform-origin:50% 0}
.cks-spot.l{left:12%}.cks-spot.r{right:12%;animation-delay:-2.5s}
@keyframes cksSway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.cks-bunting{position:absolute;left:-2%;right:-2%;top:calc(var(--pad-top) + 2px);height:40px;display:flex;justify-content:space-between;padding:0 3%}
.cks-bunting::before{content:"";position:absolute;left:0;right:0;top:8px;height:3px;background:#FFF3B0;border-radius:2px}
.cks-bunting i{width:26px;height:30px;margin-top:9px;clip-path:polygon(0 0,100% 0,50% 100%);
  background:#FF8FA6;animation:cksFlap 2.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.2s);transform-origin:50% 0}
.cks-bunting i:nth-child(3n+2){background:#FFCE3D}.cks-bunting i:nth-child(3n+3){background:#6EC6F0}.cks-bunting i:nth-child(4n+1){background:#8AD37F}
@keyframes cksFlap{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.cks-curtain{position:absolute;top:0;bottom:calc(var(--cast-h) + 1vh);width:9%;background:repeating-linear-gradient(90deg,#B23A48 0 24%,#8E2A36 24% 42%,#C94A58 42% 62%,#8E2A36 62% 100%);box-shadow:inset 0 -40px 40px rgba(0,0,0,.3)}
.cks-curtain.l{left:0;border-radius:0 0 50% 0}.cks-curtain.r{right:0;border-radius:0 0 0 50%}
.cks-boards{position:absolute;left:0;right:0;bottom:0;height:calc(var(--cast-h) + 1vh);background:repeating-linear-gradient(90deg,#C9955A 0 44px,#B9834A 44px 46px);border-top:8px solid #FFCE3D;box-shadow:inset 0 14px 20px rgba(0,0,0,.18)}
.cks-plinth{position:absolute;left:50%;top:calc(var(--pad-top) + 50px);transform:translateX(-50%);width:clamp(112px,30vw,160px);z-index:2;text-align:center}
.cks-cup{width:100%;filter:grayscale(1) brightness(.75);opacity:.6;transition:filter .5s,opacity .5s;transform-origin:50% 100%}
.cks-cup svg{width:100%;height:auto;overflow:visible}
.cks-cup[data-lit="1"]{filter:grayscale(.6) brightness(.9);opacity:.8}
.cks-cup[data-lit="2"]{filter:grayscale(.25) brightness(1);opacity:.92}
.cks-cup[data-lit="3"],.cks-cup.cks-won{filter:none;opacity:1}
.cks-cup.cks-won{animation:cksWin 1.2s var(--spring)}
.cks-cup.cks-bump{animation:cksBump .55s var(--spring)}
@keyframes cksBump{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes cksWin{0%{transform:scale(1)}30%{transform:scale(1.3) rotate(-6deg)}60%{transform:scale(1.2) rotate(6deg)}100%{transform:scale(1.15)}}
.cks-base{position:relative;margin:-6px auto 0;width:84%;height:22px;background:linear-gradient(180deg,#E9B44C,#B98346);border-radius:6px 6px 10px 10px;box-shadow:0 5px 0 #7A4A12;display:flex;justify-content:center;gap:8px;align-items:center}
.cks-base i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.35);transition:background .3s,box-shadow .3s}
.cks-cup[data-lit="1"]~.cks-base i:nth-child(1),.cks-cup[data-lit="2"]~.cks-base i:nth-child(-n+2),.cks-cup[data-lit="3"]~.cks-base i{background:#FFF3B0;box-shadow:0 0 8px #FFF3B0}
.cks-glow{position:absolute;left:50%;top:calc(var(--pad-top) + 40px);width:clamp(180px,50vw,280px);height:clamp(180px,50vw,280px);transform:translate(-50%,-30%);border-radius:50%;
  background:radial-gradient(circle,rgba(255,243,176,.55),rgba(255,243,176,0) 65%);opacity:.35;transition:opacity .6s;z-index:1}
#scCheck.cks-done .cks-glow{opacity:1;animation:cksPulse 1.4s ease-in-out infinite}
@keyframes cksPulse{50%{transform:translate(-50%,-30%) scale(1.15)}}
/* the mechanic sits on the stage under the plinth */
#scCheck.cks-on .ck-top{margin-top:calc(clamp(112px,30vw,160px) + 58px);z-index:2;background:#FFF8EC;padding:8px 18px 10px;border-radius:18px;box-shadow:0 5px 0 #D8B989}
#scCheck.cks-on .ck-top::after{display:none}
#scCheck.cks-on .ck-ask{color:#5A3E1C;font-size:clamp(17px,4.6vw,24px)}
#scCheck.cks-on .ck-clock{z-index:2}
#scCheck.cks-on .ck-grid{z-index:2}
#scCheck.cks-on .ck-t{box-shadow:0 8px 0 rgba(90,50,0,.35),0 14px 18px rgba(0,0,0,.25)}
#scCheck.cks-on .ck-again{z-index:2}
#scCheck.cks-on .ck-win{z-index:2;background:rgba(255,248,236,.94)}
#scCheck.cks-on .ck-win .ck-cup{display:none}
