/* Shared collapsible exploration panels. Kept separate from viewer rendering. */
#viewer-lists{position:absolute;left:12px;top:54px;z-index:10;width:172px;
  display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 138px);
  overflow:auto;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;
  touch-action:pan-y;overscroll-behavior:contain;border-radius:10px}
#viewer-lists #nav,#viewer-lists #plans{position:static;display:block;width:100%;padding:5px;flex-shrink:0;max-height:none;overflow:visible}
#viewer-lists button{box-sizing:border-box;width:100%;cursor:pointer;font:inherit;line-height:1.3;
  color:var(--text);display:flex;align-items:center;gap:7px;border:0;background:none;
  padding:6px 7px;border-radius:6px;font-size:12px;touch-action:manipulation}
#viewer-lists button:hover{background:rgba(255,255,255,.07)}
#viewer-lists button:focus-visible{outline:2px solid var(--interior);outline-offset:-2px}
#viewer-lists button:disabled{opacity:.4;cursor:wait}
#viewer-lists .list-toggle{min-height:32px;padding:4px 7px;font-size:10px;font-weight:600;
  color:var(--muted);text-transform:uppercase;letter-spacing:1px}
#viewer-lists .list-toggle svg{width:15px;height:15px;margin-left:auto;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  transform:rotate(180deg);transition:transform .25s ease}
#viewer-lists .is-collapsed .list-toggle svg{transform:rotate(0deg)}
.list-content{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s ease,opacity .2s ease}
.list-content>div{min-height:0;overflow:hidden}
.is-collapsed .list-content{grid-template-rows:0fr;opacity:0;pointer-events:none}
#viewer-lists .reset{border-top:1px solid var(--border);border-radius:0 0 6px 6px;
  margin-top:3px;color:var(--muted);font-size:11px}
#plans button[data-floor]{min-height:32px}
#plans .floor-number{font:9px var(--mono);width:20px;color:var(--muted);flex:none}
#plans button[aria-pressed="true"]{background:var(--interior-soft);color:var(--interior)}
#plans button[aria-pressed="true"] .floor-number{color:inherit}
#plans .floor-remove{display:none;width:13px;height:13px;margin-left:auto;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#plans button[aria-pressed="true"] .floor-remove{display:block}
#plan-selection{font:9px var(--mono);color:var(--interior);letter-spacing:0;text-transform:none}
#floor-status{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;z-index:6;
  transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:9px 13px;
  color:var(--text);font:12px var(--font);white-space:nowrap;cursor:pointer;touch-action:manipulation}
#floor-status svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app.plans-gallery-open #floor-status{visibility:hidden}
#floor-status .floor-dot{width:6px;height:6px;border-radius:50%;background:var(--interior);
  box-shadow:0 0 10px rgba(90,169,255,.65)}
#app.has-floor #hint{display:none}
#app.is-pano #viewer-lists{display:none}
@media(max-width:900px),(max-height:600px){
 #viewer-lists{top:46px;left:8px;width:156px;max-height:calc(100% - 126px);gap:6px}
 #viewer-lists button{font-size:11px;padding:6px;min-height:32px}
}
@media(max-width:560px),(max-height:600px){
 #hud #zones-btn{display:none}
 #viewer-lists{width:152px}
 #viewer-lists .list-toggle{min-height:38px;font-size:10px}
 #viewer-lists button[data-floor],#viewer-lists #nav-items button,#viewer-lists .reset{min-height:38px}
 #floor-status{bottom:calc(18px + env(safe-area-inset-bottom));font-size:11px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.list-content,#viewer-lists .list-toggle svg{transition:none}}
/* A compact header remains available without taking up a full menu row. */
#viewer-lists #nav.is-collapsed,#viewer-lists #plans.is-collapsed{padding:2px 5px}
#viewer-lists .is-collapsed .list-toggle{min-height:26px;padding-top:1px;padding-bottom:1px}
