
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#050b12}
*{box-sizing:border-box}
html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#050b12}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block}
.hud{
  position:fixed;inset:0;pointer-events:none;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:18px
}
.topbar,.controls{
  pointer-events:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap
}
.topbar{
  justify-content:space-between;
  background:linear-gradient(90deg,rgba(3,8,14,.9),rgba(3,8,14,.54));
  border:1px solid rgba(255,255,255,.18);border-radius:13px;padding:12px 14px;
  backdrop-filter:blur(10px)
}
.brand strong{display:block;font-size:.92rem;letter-spacing:.11em}
.brand span{display:block;font-size:.76rem;color:#c7d3df;margin-top:2px}
.controls{
  align-self:center;
  justify-content:center;
  background:rgba(3,8,14,.82);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;padding:10px;
  backdrop-filter:blur(10px)
}
button,a.btn{
  appearance:none;border:1px solid rgba(255,255,255,.28);background:#0b1724;color:#fff;
  border-radius:9px;min-height:42px;padding:0 14px;font-weight:800;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center
}
button:hover,a.btn:hover{background:#14273a}
button.primary{background:#fff;color:#07111d}
button.primary:hover{background:#e8eef4}
.status{
  position:fixed;left:50%;top:92px;transform:translateX(-50%);
  width:min(680px,calc(100% - 36px));
  background:rgba(3,8,14,.82);border:1px solid rgba(255,255,255,.18);border-radius:12px;
  padding:12px 16px;text-align:center;pointer-events:none;backdrop-filter:blur(10px)
}
.status h1{font-size:1rem;margin:0 0 4px}
.status p{font-size:.82rem;margin:0;color:#ced8e3}
.help{
  position:fixed;right:18px;bottom:86px;width:min(330px,calc(100% - 36px));
  background:rgba(3,8,14,.82);border:1px solid rgba(255,255,255,.18);border-radius:12px;
  padding:12px 14px;font-size:.78rem;line-height:1.45;color:#d0d9e2;pointer-events:none
}
#vrButtonHost{pointer-events:auto}
@media(max-width:720px){
  .help{display:none}
  .status{top:112px}
  .topbar{align-items:flex-start}
  .controls{max-width:100%}
  button,a.btn{font-size:.75rem;padding:0 10px}
}

/* V30 compact lobby UI */
.topbar{
  position:fixed;
  top:14px;
  left:14px;
  right:auto;
  width:auto;
  max-width:calc(100% - 28px);
  padding:9px 12px;
  border-radius:10px;
  background:rgba(4,10,16,.72);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px)
}
.brand strong{font-size:.78rem;letter-spacing:.09em}
.brand span{font-size:.68rem;opacity:.78}
#vrButtonHost{margin-left:12px}

.compact-dock{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:auto;
  max-width:calc(100% - 24px);
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:nowrap;
  padding:7px;
  border-radius:999px;
  background:rgba(3,9,15,.78);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 30px rgba(0,0,0,.28);
  backdrop-filter:blur(12px)
}
.dock-btn{
  min-height:34px !important;
  height:34px;
  padding:0 11px !important;
  border-radius:999px !important;
  font-size:.73rem !important;
  white-space:nowrap;
  border-color:rgba(255,255,255,.16) !important;
  background:rgba(12,26,38,.76) !important
}
.dock-btn.primary{
  background:#f4f7fa !important;
  color:#07111d !important
}
.dock-divider{
  display:block;
  width:1px;
  height:22px;
  background:rgba(255,255,255,.18);
  margin:0 2px
}
.status{
  top:16px;
  left:auto;
  right:16px;
  transform:none;
  width:min(330px,calc(100% - 32px));
  text-align:left;
  padding:9px 12px;
  background:rgba(4,10,16,.70);
  border-color:rgba(255,255,255,.12);
  border-radius:10px
}
.status h1{font-size:.8rem;margin-bottom:2px}
.status p{font-size:.7rem;line-height:1.35}
.help{display:none !important}

@media(max-width:850px){
  .compact-dock{
    overflow-x:auto;
    justify-content:flex-start;
    left:12px;
    right:12px;
    transform:none;
    width:auto;
    scrollbar-width:none
  }
  .compact-dock::-webkit-scrollbar{display:none}
  .status{
    top:74px;
    right:12px;
    width:min(300px,calc(100% - 24px))
  }
}
