/* Styles for LGSL Enhanced v1.0 (mobile-first, no frontend footer) */
.lgsl-table { width:100%; border-collapse: collapse; }
.lgsl-table th, .lgsl-table td { padding: 8px 10px; border-bottom: 1px solid #e5e7eb; text-align:left; vertical-align: middle; }
.lgsl-table tr.ok td { background: #f8fff8; }
.lgsl-table tr.down td { background: #fff8f8; }
.lgsl-badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; line-height:18px; background:#ddd; }
.lgsl-badge.on { background:#d1fae5; }
.lgsl-badge.off{ background:#fee2e2; }
.lgsl-button { display:inline-inline; padding:4px 8px; border-radius:6px; border:1px solid #e5e7eb; text-decoration:none; background:#f9fafb; cursor:pointer; font-size:12px; }
.lgsl-button:hover { background:#f3f4f6; }
.lgsl-note { color:#6b7280; font-size:12px; margin-top:4px; }
.lgsl-card { border:1px solid #e5e7eb; border-radius:12px; padding:16px; }
.lgsl-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.lgsl-title { display:flex; align-items:center; gap:8px; }
.lgsl-icon { width:16px; height:16px; vertical-align:middle; }
.lgsl-icon-game { width:18px; height:18px; }
.lgsl-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:6px 16px; margin-bottom:12px; }
.lgsl-players-table td, .lgsl-players-table th { padding:6px 8px; }
.lgsl-cvars-table td, .lgsl-cvars-table th { padding:6px 8px; }
.lgsl-warn { margin-top: 12px; color:#92400e; background:#fef3c7; padding:10px; border-radius:8px; }
.lgsl-col-game { white-space:nowrap; }
.lgsl-type { margin-left:6px; text-transform: lowercase; font-weight:600; }
.lgsl-addr { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
code { background:#f3f4f6; padding:2px 4px; border-radius:4px; }

/* Map hover preview */
.lgsl-map-preview {
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  overflow: hidden;
  background: #000;
  opacity: 0;
  transform: translate(-50%, -120%);
  transition: opacity .12s ease;
}
.lgsl-map-preview.show { opacity: 1; }
.lgsl-map-preview img { display:block; max-width: 320px; height:auto; }
.lgsl-map { text-decoration: underline dotted; cursor: help; }

/* ========== Mobile (≤ 640px) ========== */
@media (max-width: 640px) {
  .lgsl-card { padding:12px; }
  .lgsl-title h3 { font-size: 18px; }
  .lgsl-grid { grid-template-columns: 1fr; }
  .lgsl-button { padding:8px 10px; font-size:14px; }
  code { font-size: 13px; }

  /* Tabellen als Cards */
  .lgsl-table.lgsl-responsive thead { display:none; }
  .lgsl-table.lgsl-responsive, 
  .lgsl-table.lgsl-responsive tbody,
  .lgsl-table.lgsl-responsive tr,
  .lgsl-table.lgsl-responsive td {
    display:block; width:100%;
  }
  .lgsl-table.lgsl-responsive tr {
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:10px;
    margin:10px 0;
    background:#fff;
  }
  .lgsl-table.lgsl-responsive td {
    border-bottom:0;
    padding:6px 0;
  }
  .lgsl-table.lgsl-responsive td::before {
    content: attr(data-label) ": ";
    font-weight:600;
    color:#6b7280;
    margin-right:6px;
  }

  /* Erste Spalte (Spiel-Icons) nach oben */
  .lgsl-list .lgsl-col-game {
    margin-bottom:6px;
  }
}
