/* Risvol Tracker shared responsive layer (pre-launch audit 2026-10-07).
   Root causes fixed: break-all/anywhere on normal text, fixed-layout tables squeezing
   columns, unshrinkable flex/grid children, tiny phone text and tap targets. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
/* Never split normal words; long URLs/IDs still wrap only when they cannot fit a line. */
*,*::before,*::after{word-break:normal!important;overflow-wrap:break-word!important}
button,.btn,[role=button]{overflow-wrap:normal!important}
img,video,canvas,iframe{max-width:100%}
img,video{height:auto}
pre,code,kbd,samp{white-space:pre-wrap;overflow-wrap:break-word!important}
pre{max-width:100%;overflow-x:auto}
.pt-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pt-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:1024px){
  .pulse-data{table-layout:auto!important}
}
@media (max-width:640px){
  /* Tables scroll sideways inside themselves instead of squeezing columns or widening the page. */
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{min-width:88px}
  /* flex/grid items must be allowed to shrink */
  [style*="display:flex"]>*,[style*="display: flex"]>*,[style*="display:grid"]>*,[style*="display: grid"]>*{min-width:0}
  [style*="display:flex"],[style*="display: flex"]{flex-wrap:wrap}
  [style*="display:flex"]>:not(button):not(.btn):not(a)[style*="flex:1"]{flex-basis:200px!important}
  button,.btn,[role=button]{overflow-wrap:normal!important;flex-shrink:0}
  [style*="white-space:nowrap"]:not(.pt-ellipsis){white-space:normal!important}
  [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="font-size:9px"],[style*="font-size:10px"],[style*="font-size:11px"],[style*="font-size:12px"],[style*="font-size:13px"]{font-size:14px!important}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;max-width:100%}
  button,.btn,[role=button],select,input[type=submit],input[type=button],input:not([type=checkbox]):not([type=radio]):not([type=range]){min-height:40px}
  button,.btn,[role=button]{min-width:40px;white-space:normal}
  input[type=checkbox],input[type=radio]{width:22px;height:22px}
  .pt-tap{min-height:40px!important;display:inline-flex!important;align-items:center}
}
