/* Only local controls/layout; the shared cinematic stylesheet owns the scene. */
.lab-reveal { z-index: 6000; text-align: center; box-sizing: border-box; }
.lab-reveal *, .lab-reveal *::before, .lab-reveal *::after { box-sizing: border-box; }
.lab-reveal .reveal-brand { position: absolute; display: flex; gap: 12px; align-items: center; }
.lab-reveal .reveal-brand > span { color: #a9bfca; font-size: .9em; letter-spacing: .08em; }
.lab-reveal .reveal-track { position: absolute; left: 50%; display: grid; transform: translateX(-50%); }
.lab-reveal .reveal-track > span { position: relative; font-weight: 750; }
.lab-reveal .reveal-track > span::before, .lab-reveal .reveal-track > span:not(:last-child)::after { content: ""; position: absolute; left: 50%; }
.lab-reveal .reveal-track > span:not(:last-child)::after { width: 100%; height: 1px; }
.lab-reveal .reveal-track i { font-style: normal; margin-right: 5px; }
.lab-reveal[data-phase="player"] .reveal-track { opacity: 0; pointer-events: none; }
.lab-reveal .reveal-symbol { display: flex; align-items: center; justify-content: center; }
.lab-reveal .reveal-symbol > i { display: block; width: 40%; aspect-ratio: 1; border: 3px solid currentColor; border-radius: 50%; }
.lab-reveal .reveal-symbol.symbol-club > i { border-radius: 0; background: currentColor; clip-path: polygon(50% 0,92% 15%,84% 72%,50% 100%,16% 72%,8% 15%); }
.lab-reveal .reveal-progress { position: absolute; }
.lab-reveal .reveal-progress > span { display: block; height: 100%; transform-origin: left center; }
.lab-reveal .reveal-actions { display: none; flex-wrap: wrap; align-items: center; }
.lab-reveal-batch { position: absolute; top: 6.7dvh; left: 3.5vw; display: flex; gap: 12px; align-items: center; max-width: 32vw; font-size: clamp(12px,1.5dvh,30px); color: #a9bfca; }
.lab-reveal-batch b { flex: 0 0 auto; color: #d7edb7; font-variant-numeric: tabular-nums; }
.lab-reveal-batch span { min-width: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.lab-reveal-toolbar { position: absolute; z-index: 15; right: 3.5vw; top: 2.8dvh; display: flex; align-items: center; gap: 10px; }
.lab-reveal button { font: inherit; cursor: pointer; touch-action: manipulation; }
.lab-reveal-toolbar button { min-height: 42px; padding: 8px 16px; border: 1px solid #c3d5e04d; border-radius: 6px; background: #0a1b2ded; color: #e3edf3; font-size: clamp(13px,1.5dvh,30px); }
.lab-reveal-toolbar .lab-reveal-close { width: max(42px,4dvh); padding: 0; font-size: clamp(25px,3dvh,48px); line-height: 1; }
.lab-reveal button:focus-visible { outline: 3px solid #d3ef9d; outline-offset: 4px; }
.lab-reveal button:hover { filter: brightness(1.14); }
.lab-reveal-status { position: absolute; z-index: 5; left: 50%; top: 10.2dvh; transform: translateX(-50%); max-width: 68vw; color: #cbdcc5; font-size: clamp(13px,1.6dvh,32px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.lab-reveal:not([data-lab-reveal-ready="true"]) .lab-reveal-status { visibility: hidden; }
@media (max-width: 899px) {
  .lab-reveal.reveal-cinematic .reveal-brand { top: 18px; left: 18px; font-size: 12px !important; }
  .lab-reveal .reveal-brand > span { display: none; }
  .lab-reveal-batch { top: 49px; left: 18px; max-width: calc(100vw - 190px); gap: 7px; font-size: 12px; }
  .lab-reveal-toolbar { top: 14px; right: 16px; gap: 6px; }
  .lab-reveal-toolbar button { padding-inline: 10px; font-size: 12px; }
  .lab-reveal.reveal-cinematic .reveal-track { top: 88px; width: 80vw; }
  .lab-reveal-status { top: 91px; max-width: calc(100vw - 36px); font-size: 13px; }
}
@media (max-height: 620px) and (min-width: 900px) {
  .lab-reveal-batch { top: 51px; font-size: 12px; }
  .lab-reveal-status { top: 10dvh; font-size: 13px; }
}
