:root{
  --bg:#050608;
  --panel:#0b0d10;
  --line:#20252b;
  --red:#e31b23;
  --white:#f7f8fa;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;min-height:100%;background:var(--bg);font-family:Arial,Helvetica,sans-serif}
body{overflow-x:hidden}
.room{
  position:relative;
  width:min(1920px,100%);
  margin:0 auto;
  line-height:0;
}
.room img{
  display:block;
  width:100%;
  height:auto;
}
.back{
  position:fixed;
  z-index:1000;
  top:clamp(10px,2vw,28px);
  right:clamp(10px,2vw,30px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:clamp(8px,1vw,13px) clamp(12px,1.6vw,22px);
  color:#fff;
  background:rgba(7,8,10,.92);
  border:1px solid rgba(227,27,35,.85);
  border-radius:7px;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 5px 18px rgba(0,0,0,.35);
  text-decoration:none;
  font-size:clamp(11px,1.05vw,15px);
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}
.back:hover,.back:focus-visible{background:var(--red);outline:none}
.hotspot{
  position:absolute;
  z-index:20;
  display:block;
  cursor:pointer;
  background:transparent;
}
.hotspot:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:8px}
.ts-connect{
  position:absolute;
  inset:0;
  z-index:20;
  display:block;
  cursor:pointer;
  background:transparent;
}
.ts-connect:focus-visible{outline:3px solid #fff;outline-offset:-4px}
/* La web es principalmente gráfica: mantenemos la imagen completa y escalable. */
@media (max-width:700px){
  .back{top:8px;right:8px;min-height:32px}
}

/* SEO y accesibilidad: contenido semántico disponible para buscadores y lectores de pantalla sin alterar el diseño visual. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sr-only a{color:inherit}
.sr-only a:focus{position:fixed;z-index:2000;left:12px;top:12px;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;padding:10px 14px;background:#050608;color:#fff;border:2px solid #e31b23}
.back:focus-visible,.hotspot:focus-visible{outline:2px solid #fff;outline-offset:3px}
