/* Mobile/touch interaction hardening */
button,a,[role="button"],[role="tab"],label[for],select,input[type="checkbox"],input[type="radio"]{
  touch-action:manipulation;
}

/* Decorative layers must never steal pointer/touch events. */
.connection-map,
.connection-map *,
.orbit-label,
.core-halo,
.herb-specimen::before,
.herb-specimen::after,
.herbal-art::after{
  pointer-events:none;
}

/* Keep primary interactive controls above decorative canvas layers. */
.domain-node,
.domain-tabs button,
.checkin-button,
.avatar,
.canvas-caption button,
.reference-card,
.practice-card button,
.herb-card>button,
.herbal-filters button,
.herbal-bridge-chips button,
.button{
  position:relative;
  z-index:3;
}

/* Ensure icon glyphs inside controls cannot become separate hit-test targets. */
button svg,
button svg *,
a svg,
a svg *{
  pointer-events:none;
}

/* Comfortable minimum target size for coarse pointers without changing desktop layout. */
@media (pointer:coarse){
  .topnav button,
  .domain-tabs button,
  .canvas-caption button,
  .card-bottom button,
  .herbal-filters button,
  .herbal-bridge-chips button,
  .reference-card,
  .avatar{
    min-width:44px;
    min-height:44px;
  }
  .domain-node{
    min-height:112px;
  }
  .herb-card>button{
    min-height:100%;
  }
  .day-item input{
    width:44px;
    height:44px;
    top:8px;
    left:-10px;
  }
}
