/* Frosted name tags sit in the room's negative space and never block a click. */
.room-object-label{
  position:absolute;z-index:7;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;gap:5px;width:max-content;
  padding:5px 9px;border:1px solid rgba(255,255,255,.72);border-radius:999px;
  background:rgba(249,253,249,.57);color:#3d5653;
  box-shadow:0 2px 7px #25443a0b,inset 0 1px 0 #ffffff80;
  -webkit-backdrop-filter:blur(9px) saturate(125%);backdrop-filter:blur(9px) saturate(125%);
  font:500 clamp(13px,calc(10.5px / var(--s,1)),18px)/1.1 'DM Sans',Arial,sans-serif;
  letter-spacing:.015em;white-space:nowrap;pointer-events:none;user-select:none;
  transition:background .18s,color .18s,box-shadow .18s;
}
.room-object-label::before{content:'';width:3px;height:3px;border-radius:50%;background:#668d7e;flex:none}
.room-object-label.is-active{background:rgba(255,255,255,.88);color:#173f35;box-shadow:0 3px 10px #25443a1a,inset 0 1px 0 #fff}
#cat>.room-object-label{left:50%;top:100%;font-size:10.5px;padding:4px 8px;transform:translate(-50%,-15%)}
body:not([data-page="home"]) .room-object-label,body:not(.room-labels-visible) .room-object-label{display:none}
.room-labels-toggle{
  position:absolute;top:16px;right:24px;z-index:8;display:flex;align-items:center;gap:10px;
  padding:9px 12px;border:1px solid #ffffffc4;border-radius:999px;background:#f9fdf9a8;
  -webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%);
  box-shadow:0 2px 10px #25443a10,inset 0 1px 0 #fff8;
  color:#3d5653;font:500 12px/1.2 'DM Sans',Arial,sans-serif;cursor:pointer;
}
.room-labels-switch{width:26px;height:16px;border-radius:999px;background:#9aaa9f;position:relative;transition:background .18s}
.room-labels-switch::after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0002;transition:transform .18s}
.room-labels-toggle[aria-pressed="true"] .room-labels-switch{background:#4d806b}
.room-labels-toggle[aria-pressed="true"] .room-labels-switch::after{transform:translateX(10px)}
.room-labels-toggle:focus-visible{outline:2px solid #366854;outline-offset:3px}
body:not([data-page="home"]) .room-labels-toggle{display:none}
@media(max-width:800px){.room-labels-toggle{top:12px;right:16px}}
@media(prefers-reduced-motion:reduce){.room-object-label,.room-labels-switch,.room-labels-switch::after{transition:none}}
