.lab-open{overflow:hidden!important}
.immersive[hidden]{display:none}
.immersive{position:fixed;inset:0;z-index:80;background:#070c17;width:100%;height:100dvh;color:#fff;outline:none}
.immersive-stage{position:absolute;inset:0}
.immersive-stage>iframe{display:block;border:0;width:100%;height:100%;background:#070c17}

/* Visible return action and a separate, quiet instructions popover. */
.lab-menu{
  --lab-ink:#1d2633;--lab-secondary:#536172;--lab-blue:#2455cf;
  position:absolute;z-index:2;top:16px;left:50%;transform:translateX(-50%);
  width:max-content;max-width:calc(100vw - 32px);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--lab-ink);font-size:14px;line-height:1.5;
}
.lab-toolbar{
  display:flex;align-items:center;padding:4px;border-radius:18px;
  background:rgba(247,249,252,.95);border:1px solid rgba(255,255,255,.8);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  box-shadow:0 6px 24px rgba(0,0,0,.16),0 1px 3px rgba(0,0,0,.12);
}
.lab-toolbar button{
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;
  border:0;border-radius:13px;background:transparent;cursor:pointer;
  font:inherit;white-space:nowrap;transition:background .16s,color .16s;
}
.lab-toolbar .lab-return{padding:8px 14px 8px 12px;color:var(--lab-ink);font-weight:600}
.lab-toolbar .lab-return svg{color:#4f6077;flex-shrink:0}
.lab-toolbar .lab-menu-toggle{
  position:relative;padding:8px 11px 8px 15px;margin-left:4px;
  color:var(--lab-secondary);font-size:13px;font-weight:500;
}
.lab-menu-toggle::before{content:"";position:absolute;left:-3px;top:10px;bottom:10px;width:1px;background:#d2d8e0}
.lab-toolbar button:hover{background:rgba(26,44,68,.07);color:#142846}
.lab-toolbar .lab-menu-toggle[aria-expanded="true"]{background:#e3eaf4;color:#254774}
.lab-chevron{transition:transform .18s;flex-shrink:0}
.lab-menu-toggle[aria-expanded="true"] .lab-chevron{transform:rotate(180deg)}
.lab-menu button:focus-visible{outline:2px solid #3b6bcd;outline-offset:3px}
.lab-menu-panel[hidden],.lab-status[hidden]{display:none}
.lab-menu-panel{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  width:340px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 92px);overflow:auto;
  border:1px solid rgba(255,255,255,.85);border-radius:23px;
  background:rgba(249,250,252,.97);color:var(--lab-ink);
  -webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);
  box-shadow:0 18px 50px rgba(0,0,0,.23),0 2px 6px rgba(0,0,0,.08);
  animation:lab-panel-reveal .16s ease-out;
}
.lab-panel-copy{padding:25px 25px 23px}
.lab-panel-copy strong{display:block;font-size:20px;font-weight:650;letter-spacing:-.4px;line-height:1.4}
.lab-panel-copy p{margin:11px 0 0;color:var(--lab-secondary);font-size:14px;line-height:1.85}
.lab-panel-return{
  display:flex;align-items:center;gap:11px;width:100%;min-height:57px;
  padding:16px 25px;border:0;border-top:1px solid #dfe4eb;border-radius:0;
  color:var(--lab-blue);background:rgba(229,235,245,.5);font:inherit;font-weight:600;
  text-align:left;cursor:pointer;transition:background .16s;
}
.lab-panel-return:hover{background:#e2eafa}
.lab-panel-return:focus-visible{outline-offset:-5px!important}
.lab-status{margin:0;padding:12px 25px 17px;color:var(--lab-secondary);font-size:12px;line-height:1.7}
@keyframes lab-panel-reveal{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.lab-menu-panel{animation:none}.lab-menu button,.lab-chevron{transition:none}}

.lab-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 20px;color:#c7d9f3;background:#18304d;border-radius:9px;font-size:14px;z-index:2}
.lab-loading button{color:white;background:transparent;text-decoration:underline}
.trial-message{min-height:100dvh;background:#f4f7fc;color:#172d49;padding:85px 24px 45px;text-align:center}
.trial-message h1{font-size:28px;letter-spacing:0;margin-bottom:20px}
.trial-message p{font-size:15px;color:#61758c;margin-bottom:20px}
.trial-message img{max-width:700px;width:100%;margin:25px auto;border-radius:12px}
.limited-device{overflow:auto}
.limited-device .lab-menu{position:fixed}
.limited-device .immersive-stage{position:relative}
@media(max-width:480px){.lab-menu{top:12px}.lab-panel-copy{padding:22px}.lab-panel-return{padding-inline:22px}}
