/* JMIplay 5.28.815 — bounded cross-site layout and light-theme readability.
   Scoped overrides; the dark and light themes retain the same geometry. */
:where(.cab-card,.cab-block,.pf-card,.tk-card,.ta-card,.mon-card,.st-card,.ab-card,
       .ga-card,.mon-players-panel,.mon-player-group,.jlc-pm-msg,.sa-menu){
  min-width:0; box-sizing:border-box;
}
/* Long Steam identifiers, URLs and translated phrases must wrap inside their own cards. */
:where(.cab-card,.cab-block,.pf-card,.tk-card,.ta-card,.mon-card,.st-card,.ab-card)
  :is(.hint,.subtitle,.description,.info,.message,.label,small,p){overflow-wrap:anywhere}
/* Keyboard focus must be visible on light cards even with light form backgrounds. */
html.theme-light :where(.cab-card,.pf-card,.tk-card,.mon-players-panel,.st-card,.ab-card)
  :is(button,a,input,textarea,select):focus-visible{
  outline:2px solid #0b718b!important;outline-offset:2px;
}
/* Use a darker secondary text colour only inside actual light card surfaces.
   Never recolour user messages, status badges or paid-colour labels. */
html.theme-light :where(.cab-card,.pf-card,.mon-player-group,.mon-players-panel,.st-card,.tk-card)
  :is(.hint,.description,.subtitle,small,.mon-player-group-addr){color:#51616b}
html.theme-light .mon-player-person .mon-person-score{color:#4d606a}
html.theme-light .mon-player-search input::placeholder{color:#526577!important;opacity:1!important}
/* Thin focus ring remains on the input contour, not as an overlay above its label. */
html.theme-light :where(.cab-card,.pf-card,.tk-card,.mon-players-panel)
  :is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus-visible{
  box-shadow:inset 0 0 0 1px #0b718b!important;
}
/* Utility actions should remain reachable on narrow phones (no detached scrollbars). */
@media(max-width:760px){
  :where(.cab-card,.cab-block,.pf-card,.tk-card,.ta-card,.ab-card,.st-card,.ga-card){
    max-width:100%;
  }
  :where(.cab-card,.cab-block,.pf-card,.tk-card,.ta-card,.ab-card,.st-card,.ga-card)
    :is(input:not([type=checkbox]):not([type=radio]),textarea,select){
    min-width:0;max-width:100%;box-sizing:border-box;
  }
  :where(.cab-card,.pf-card,.tk-card,.ta-card,.ab-card,.st-card,.ga-card)
    :is(.actions,.buttons,.controls,.footer-actions){
    display:flex;flex-wrap:wrap;max-width:100%;min-width:0;
  }
  :where(.cab-card,.pf-card,.tk-card,.ta-card,.ab-card,.st-card,.ga-card)
    :is(.actions,.buttons,.controls,.footer-actions)>:is(button,a){min-width:0;max-width:100%}
  :where(.mon-players-panel,.tk-card,.ta-card,.cab-card) :is(.thread,.list,.scroll-list,.mon-players-groups){
    overscroll-behavior:contain;
  }
  :where(.cab-card,.pf-card,.tk-card,.ta-card,.ab-card,.st-card,.ga-card)
    :is(.table-wrap,.table-responsive,.scroll-x){
    max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
}
@media(max-width:420px){
  .mon-players-panel .mon-players-head{gap:8px}
  .mon-players-panel .mon-players-count{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .mon-players-panel .mon-player-group-head{min-width:0}
  .mon-players-panel .mon-player-group-head>div{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .mon-sum button.box[data-mon-filter]:hover{transform:none!important}
}
