/* Shared touch ergonomics for the standalone FTV tools. */
@media (pointer:coarse), (max-width:1100px) {
  button,.btn,input:not([type=checkbox]):not([type=hidden]),select,summary { min-height:44px; }
  button,.btn { min-width:44px;flex-shrink:0; }
  input:not([type=range]),select { font-size:16px; }
  input[type=range] { min-width:140px;touch-action:pan-y; }
  .scroll { overscroll-behavior:contain;max-width:100%; }
  .grid th:first-child,.grid td:first-child { position:sticky;left:0;z-index:2;background:#141b26; }
  .board th:nth-child(2),.board td:nth-child(2),.sld th:nth-child(2),.sld td:nth-child(2),#board th:nth-child(2),#board td:nth-child(2) { position:sticky;left:0;z-index:2;background:#141b26;max-width:220px;white-space:normal; }
  .board th:nth-child(2),.sld th:nth-child(2),.grid th:first-child { z-index:3;background:#0f1622; }
  .legend { flex-wrap:wrap; }
  .topbar { height:auto;min-height:56px;padding-top:env(safe-area-inset-top);flex-wrap:wrap; }
}
@media (max-width:600px) {
  .wrap { padding:12px 8px calc(24px + env(safe-area-inset-bottom)); }
  .panel { padding:12px; }
  .toolbar { gap:10px; }.toolbar>div { max-width:100%; }
  .board th:nth-child(2),.board td:nth-child(2),.sld th:nth-child(2),.sld td:nth-child(2) { min-width:130px;max-width:160px; }
}

:focus-visible { outline:2px solid #80c2ff;outline-offset:3px; }
.howto-help { margin:0 0 16px;border:1px solid #344151;border-radius:10px;padding:0 12px; }
.howto-help summary { cursor:pointer;min-height:44px;align-content:center; }
