/* Testlab visual layer. The original reel, RNG, timers and sound remain authoritative. */
.cin-enhanced { --cin-x:50%; --cin-y:32%; }
.cin-enhanced.dc-panel {
  border-color:rgb(105 161 142 / .34);
  box-shadow:0 22px 76px -44px #000,0 1px 0 rgb(196 255 224 / .08) inset;
}
.cin-ambient { position:absolute; inset:0 0 auto; height:min(560px,100%); overflow:hidden; border-radius:inherit; pointer-events:none; z-index:-1; }
.cin-ambient::before { content:""; position:absolute; inset:-10% -20%; opacity:.65;
  background:radial-gradient(ellipse at var(--cin-x) var(--cin-y),rgb(97 206 148 / .14),transparent 48%),radial-gradient(ellipse at 80% 40%,rgb(246 200 87 / .06),transparent 45%); }
.cin-ambient::after { content:""; position:absolute; inset:0; opacity:.18;
  background-image:linear-gradient(rgb(173 236 204 / .07) 1px,transparent 1px),linear-gradient(90deg,rgb(173 236 204 / .07) 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:linear-gradient(#000,transparent 72%);mask-image:linear-gradient(#000,transparent 72%); }
.cin-enhanced .dc-top { background:linear-gradient(110deg,rgb(97 206 148 / .055),transparent 58%); }
.cin-enhanced .dc-stage { border:1px solid rgb(190 215 207 / .11);box-shadow:0 16px 32px -25px #000,inset 0 0 38px -18px rgb(97 206 148 / .25); }
.cin-enhanced .dc-stage .art { filter:drop-shadow(0 8px 5px rgb(0 0 0 / .35)); }
.cin-enhanced .dc-tile:not(.lose) { background-image:linear-gradient(140deg,rgb(255 255 255 / .075),transparent 32%,transparent 65%,color-mix(in srgb,var(--tier) 16%,transparent)); }
.cin-enhanced .dc-marker { box-shadow:0 0 10px rgb(var(--marker) / .72),0 0 30px 2px rgb(var(--marker) / .22); }
.cin-canvas { position:absolute; display:block; z-index:5; pointer-events:none; border-radius:12px; contain:strict; mix-blend-mode:screen; opacity:.85; }
.cin-enhanced.cin-opening .dc-stage { border-color:rgb(174 239 204 / .4);transition:border-color .5s ease; }
.cin-enhanced.cin-opening .dc-top { box-shadow:inset 0 -1px 0 rgb(97 206 148 / .22); }
.cin-enhanced .dc-result.cin-reveal { border-color:color-mix(in srgb,var(--tier) 58%,rgb(159 202 183 / .2)); }
.cin-enhanced .dc-result.cin-reveal:not([hidden]) #rTile { animation:cin-present 900ms cubic-bezier(.16,1,.3,1) both; }
.cin-enhanced .dc-result.cin-reveal:not([hidden]) #rHead { animation:cin-title 620ms cubic-bezier(.16,1,.3,1) 80ms both; }
.cin-enhanced .dc-result.cin-reveal.cin-major:not([hidden]) #rTile { filter:drop-shadow(0 0 18px color-mix(in srgb,var(--tier) 40%,transparent)); }
.cin-enhanced #openBtn { position:relative; overflow:hidden; box-shadow:0 8px 22px -12px rgb(97 206 148 / .8),inset 0 1px 0 rgb(255 255 255 / .2); }
.cin-enhanced #openBtn::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 25%,rgb(255 255 255 / .28) 48%,transparent 68%); transform:translateX(-150%); }
.cin-enhanced #openBtn:hover::after,.cin-enhanced #openBtn:focus-visible::after { animation:cin-button-sheen 720ms ease-out both; }
.cin-enhanced #openBtn:active { translate:0 1px; }
@keyframes cin-button-sheen { to { transform:translateX(150%); } }
@keyframes cin-present { from { opacity:.25;transform:translateY(18px) scale(.88) rotate(-4deg); } to { opacity:1;transform:translateY(0) scale(1) rotate(0); } }
@keyframes cin-title { from { opacity:0;transform:translateY(8px); } to { opacity:1;transform:translateY(0); } }
@media (max-width:639px) { .cin-canvas { opacity:.68; } .cin-enhanced .dc-stage .art { filter:drop-shadow(0 5px 4px rgb(0 0 0 / .3)); } }
@media (prefers-reduced-motion:reduce) {
  .cin-canvas { display:none!important; }
  .cin-enhanced *,.cin-enhanced *::before,.cin-enhanced *::after { animation:none!important;transition:none!important; }
}
@media (prefers-reduced-transparency:reduce) { .cin-canvas { display:none; } .cin-ambient { opacity:.4; } }
/* Keep celebratory light inside the prize summary, above all form content. */
.cin-enhanced .cin-ambient { height:min(420px,100%); }
.cin-enhanced .dc-result .rayfield {
  inset:0 0 auto; height:140px;
  -webkit-mask-image:linear-gradient(#000 0 62%,transparent 100%);
  mask-image:linear-gradient(#000 0 62%,transparent 100%);
}
.cin-enhanced .dc-result .rayfield::before { top:58px; }
.cin-enhanced .dc-result.shine::after {
  inset:0 0 auto; height:140px;
  -webkit-mask-image:linear-gradient(#000 0 62%,transparent 100%);
  mask-image:linear-gradient(#000 0 62%,transparent 100%);
}
.cin-enhanced .dc-result .dc-claim {
  position:relative; z-index:1; isolation:isolate;
  background:rgb(var(--surface-2));
}
:root[data-theme='light'] .cin-enhanced .dc-result.rays .rayfield { opacity:.36; }
:root[data-theme='light'] .cin-enhanced .dc-result.shine::after { opacity:.25; }
