/* NEVIRO TALK 1.0.86.31.5 · WORLD HUD ICON DOCK / COLLAPSIBLE PANELS
   Utility panels are closed by default. The 3D F2 grid remains independent. */
:root{
  --nwdock-edge:18px;
  --nwdock-size:42px;
  --nwdock-gap:7px;
  --nwdock-panel-bottom:74px;
  --nwdock-bg:rgba(249,251,255,.92);
  --nwdock-border:rgba(87,93,148,.20);
  --nwdock-shadow:0 12px 34px rgba(31,39,78,.18);
  --nwdock-accent:#7558e8;
}

/* One compact utility dock replaces always-open diagnostic/info slabs. */
#neviroUtilityDock{
  position:fixed;
  left:var(--nwdock-edge);
  bottom:var(--nwdock-edge);
  z-index:2147483600;
  display:flex;
  align-items:center;
  gap:var(--nwdock-gap);
  padding:6px;
  border:1px solid var(--nwdock-border);
  border-radius:15px;
  background:rgba(247,249,255,.86);
  box-shadow:var(--nwdock-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  user-select:none;
}
.neviro-utility-btn{
  width:var(--nwdock-size);
  height:var(--nwdock-size);
  flex:0 0 var(--nwdock-size);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(84,91,141,.14);
  border-radius:11px;
  background:rgba(255,255,255,.82);
  color:#303959;
  cursor:pointer;
  box-shadow:none;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease;
}
.neviro-utility-btn:hover{transform:translateY(-1px);border-color:rgba(117,88,232,.42);color:#6749dc}
.neviro-utility-btn:focus-visible{outline:2px solid rgba(117,88,232,.55);outline-offset:2px}
.neviro-utility-btn[aria-expanded="true"]{background:rgba(117,88,232,.12);border-color:rgba(117,88,232,.55);color:#6749dc}
.neviro-utility-btn[data-grid-active="true"]::after{
  content:"";
  position:absolute;
  width:6px;height:6px;
  margin:27px 0 0 27px;
  border-radius:50%;
  background:#35c98a;
  box-shadow:0 0 0 2px rgba(255,255,255,.95);
}
.neviro-utility-btn{position:relative}
.neviro-utility-btn[disabled]{opacity:.35;cursor:default;transform:none}
.neviro-utility-btn svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Closed by default. Visibility is controlled by body[data-neviro-dock-open]. */
body:not([data-neviro-dock-open="debug"]) #neviroAdminDevGridBadge,
body:not([data-neviro-dock-open="guide"]) .nw-guide,
body:not([data-neviro-dock-open="presence"]) #neviro-presence-diag,
body:not([data-neviro-dock-open="avatar"]) .nw-production-avatar{
  display:none!important;
}

/* Every opened utility panel uses one safe bottom-left presentation lane. */
body[data-neviro-dock-open="debug"] #neviroAdminDevGridBadge,
body[data-neviro-dock-open="guide"] .nw-guide,
body[data-neviro-dock-open="presence"] #neviro-presence-diag,
body[data-neviro-dock-open="avatar"] .nw-production-avatar{
  display:block!important;
  position:fixed!important;
  left:var(--nwdock-edge)!important;
  right:auto!important;
  top:auto!important;
  bottom:var(--nwdock-panel-bottom)!important;
  max-height:min(52vh,420px)!important;
  overflow:auto!important;
  z-index:2147483500!important;
  box-sizing:border-box!important;
}

body[data-neviro-dock-open="debug"] #neviroAdminDevGridBadge{
  width:min(600px,calc(100vw - 36px))!important;
  max-width:min(600px,calc(100vw - 36px))!important;
  pointer-events:auto!important;
}
body[data-neviro-dock-open="guide"] .nw-guide{
  width:min(430px,calc(100vw - 36px))!important;
  padding:13px 15px!important;
  pointer-events:auto!important;
}
body[data-neviro-dock-open="guide"] .nw-guide h1{
  margin:9px 0 8px!important;
  font-size:22px!important;
  white-space:normal!important;
}
body[data-neviro-dock-open="guide"] .nw-guide h1 br{display:block!important}
body[data-neviro-dock-open="guide"] .nw-guide h1 em{margin-left:0!important}
body[data-neviro-dock-open="guide"] .nw-guide p{
  display:block!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.58!important;
  color:#55617c!important;
}
body[data-neviro-dock-open="guide"] .nw-guide-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin-top:9px!important;
}
body[data-neviro-dock-open="guide"] .nw-guide-row span{font-size:8px!important}

body[data-neviro-dock-open="presence"] #neviro-presence-diag{
  width:min(370px,calc(100vw - 36px))!important;
  min-width:0!important;
  max-width:min(370px,calc(100vw - 36px))!important;
  padding:12px 14px!important;
}
body[data-neviro-dock-open="presence"] #neviro-presence-diag > b{display:block!important;margin:0 0 7px!important;font-size:9px!important}
body[data-neviro-dock-open="presence"] #neviro-presence-diag [data-pr-line]{display:block!important;white-space:normal!important;font-size:10px!important}
body[data-neviro-dock-open="presence"] #neviro-presence-diag [data-pr-sub]{display:block!important;margin-top:5px!important;font-size:8px!important;opacity:.72!important}

body[data-neviro-dock-open="avatar"] .nw-production-avatar{
  width:min(360px,calc(100vw - 36px))!important;
  max-width:min(360px,calc(100vw - 36px))!important;
  padding:12px 14px!important;
  opacity:1!important;
  transform:none!important;
}
body[data-neviro-dock-open="avatar"] .nw-production-avatar-help{display:block!important}

/* Existing always-visible HUD stays separate from utility panels. */
.nw-camera-director{bottom:18px!important}
.nwi-prompt{bottom:76px!important}

@media(max-width:620px){
  :root{--nwdock-edge:10px;--nwdock-size:38px;--nwdock-gap:5px;--nwdock-panel-bottom:64px}
  #neviroUtilityDock{padding:5px;border-radius:13px}
  .neviro-utility-btn svg{width:18px;height:18px}
  body[data-neviro-dock-open="debug"] #neviroAdminDevGridBadge,
  body[data-neviro-dock-open="guide"] .nw-guide,
  body[data-neviro-dock-open="presence"] #neviro-presence-diag,
  body[data-neviro-dock-open="avatar"] .nw-production-avatar{
    left:10px!important;
    width:calc(100vw - 20px)!important;
    min-width:0!important;
    max-width:calc(100vw - 20px)!important;
  }
}

/* 1.0.86.31.6 · HUD button now controls a real minimal-play mode.
   Keep the camera controls visible so the user can always restore HUD. */
body.neviro-hud-minimal .nw-topbar,
body.neviro-hud-minimal .nw-avatar-panel,
body.neviro-hud-minimal .nw-camera-director,
body.neviro-hud-minimal .nwd-current,
body.neviro-hud-minimal .nwd-panel,
body.neviro-hud-minimal .nwi-prompt,
body.neviro-hud-minimal .nwi-panel,
body.neviro-hud-minimal .nw-guide,
body.neviro-hud-minimal .nw-production-avatar,
body.neviro-hud-minimal #neviro-presence-diag,
body.neviro-hud-minimal #neviroUtilityDock,
body.neviro-hud-minimal .nw-stage-label{
  display:none!important;
}
body.neviro-hud-minimal .nw-controls{
  opacity:.88!important;
  z-index:2147482000!important;
}
.nw-controls [data-action="hud"].is-active{
  border-color:rgba(93,75,210,.44)!important;
  background:linear-gradient(135deg,rgba(117,88,255,.18),rgba(70,201,226,.15))!important;
  color:#5744bd!important;
}
