/* ============================================================
   forre_pulse — LFG ("Hitta spelare")
   Page-scoped, byggt på Pulse-tokens (--card, --line, --accent, --inset, --ink…, --r).
   OBS: skriv ALDRIG en stjärna följd av snedstreck i en variabellista här — den
   sekvensen STÄNGER kommentaren mitt i rubriken. Det var precis vad som hänt
   fram till 2026-08-05 (rubriken listade tokens med snedstreck emellan), och
   resten av huvudet tolkades då som CSS och kastades av webbläsaren.
   Platt · hårfina kanter · tabulära siffror · ljust default + auto [data-theme=dark].
   Laddas endast på ?page=lfg (villkorlig <link> i layouts/default.php).
   ============================================================ */

.lfgp a { color:inherit; text-decoration:none; }
.lfgp .lfg-main { display:flex; flex-direction:column; gap:16px; min-width:0; }

/* Delade knapp-/chip-primitiver (om ej redan i forre_pulse.css-scope) */
.lfgp .btn.danger { background:var(--danger-fill); color:#fff; border-color:transparent; }
.lfgp .btn.danger:hover { filter:brightness(.94); }
.lfg-btn-sm { padding:7px 12px; font-size:12.5px; }
.lfg-btn-xs { padding:5px 9px; font-size:12px; }
.lfg-block { width:100%; justify-content:center; margin-top:10px; }

.lfg-chip { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ink2); background:var(--inset); border:1px solid var(--line); padding:3px 9px; border-radius:var(--r-sm); white-space:nowrap; }
.lfg-chip i { color:var(--dim); font-size:11px; }
.lfg-dim { color:var(--dim); font-size:13px; }
.pdot { width:8px; height:8px; border-radius:50%; background:var(--live); display:inline-block; box-shadow:0 0 0 3px var(--live-wash); }

/* Avatar-tile (fyrkantig i board = tät korndata-look) */
.lfg-av { flex:0 0 auto; width:40px; height:40px; border-radius:var(--r-sm); overflow:hidden; background:var(--inset); border:1px solid var(--line2); display:grid; place-items:center; }
.lfg-av img { width:100%; height:100%; object-fit:cover; }
.lfg-av.noimg::after { content:attr(data-i); font-family:'Roboto'; font-weight:900; font-size:14px; color:var(--ink2); }

.lfg-livedot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--live); margin-left:5px; vertical-align:middle; box-shadow:0 0 0 2px var(--live-wash); animation:lfgLive 1.8s ease-out infinite; }
@keyframes lfgLive { 0%{box-shadow:0 0 0 0 rgba(26,166,75,.4)} 70%{box-shadow:0 0 0 5px rgba(26,166,75,0)} 100%{box-shadow:0 0 0 0 rgba(26,166,75,0)} }
@media (prefers-reduced-motion:reduce){ .lfg-livedot{animation:none} }

.lfg-rkico { width:16px; height:16px; object-fit:contain; vertical-align:-3px; margin-right:4px; }
.lfg-friend { color:var(--accent); font-size:12px; margin-left:5px; }

/* ── Hero ── */
.lfg-hero { display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:20px 22px; }
.lfg-hero-txt { flex:1; min-width:220px; }
.lfg-kicker { display:inline-flex; align-items:center; gap:7px; margin-bottom:6px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--accent); }
.lfg-hero h1 { margin:0 0 6px; font-family:'Roboto'; font-weight:900; font-size:26px; line-height:1.05; letter-spacing:-.01em; color:var(--ink); }
.lfg-hero p { margin:0; max-width:520px; color:var(--dim); font-size:13.5px; line-height:1.5; }
.lfg-hero-stats { display:flex; gap:22px; }
.lfg-stat { display:flex; flex-direction:column; line-height:1.05; }
.lfg-stat-num { font-family:'Roboto'; font-size:24px; font-weight:900; color:var(--ink); letter-spacing:-.01em; }
.lfg-stat-lbl { font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:var(--dim); font-weight:700; margin-top:3px; }
.lfg-hero-acts { display:flex; gap:8px; }


/* ── Filterrad ── */
.lfg-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 14px; }
.lfg-search-box { display:flex; align-items:center; gap:8px; background:var(--inset); border:1px solid var(--line); border-radius:var(--r); padding:8px 12px; color:var(--dim); flex:1; min-width:180px; }
.lfg-search-box input { border:0; background:none; outline:none; font-family:inherit; font-size:13.5px; color:var(--ink); width:100%; }
.lfg-filters select { font-family:inherit; font-size:12.5px; color:var(--ink); background:var(--inset); border:1px solid var(--line); border-radius:var(--r-sm); padding:8px 10px; cursor:pointer; }
.lfg-filters select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-wash); }

/* ── Sektionsrubrik ── */
.lfg-sec-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:2px; padding:0 2px; }
.lfg-sec-head .slabel { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; color:var(--ink); text-transform:uppercase; letter-spacing:.05em; }
.lfg-sec-head .slabel i { color:var(--accent); }
.lfg-sec-sub { font-size:11.5px; color:var(--dim); }
.lfg-count { background:var(--inset); border:1px solid var(--line); color:var(--ink2); font-size:11px; padding:1px 7px; border-radius:20px; }
.lfg-refresh { background:var(--inset); border:1px solid var(--line); color:var(--ink2); width:30px; height:30px; border-radius:var(--r-sm); cursor:pointer; display:grid; place-items:center; transition:.12s; }
.lfg-refresh:hover { color:var(--accent); border-color:var(--line2); }
.lfg-refresh.spin i { animation:lfgSpin .7s linear infinite; }
@keyframes lfgSpin { to{transform:rotate(360deg)} }

/* ── Toppmatchningar + Din listing (detaljerad lista) ── */
.lfg-matches, .lfg-mine-wrap { display:flex; flex-direction:column; gap:10px; }
.lfg-mlist { display:flex; flex-direction:column; gap:8px; }
/* Få kolumner → allt linar även i den smala mittkolumnen. All detalj ligger i
   spelar-cellens meta-rad (trunkeras); bara match-baren + actions är egna kolumner. */
.lfg-mrow { display:grid; grid-template-columns:22px minmax(0,1fr) 132px auto; align-items:center; gap:12px; padding:9px 14px; transition:border-color .12s, box-shadow .12s; }
.lfg-mrow > * { min-width:0; }
.lfg-mrow:hover { border-color:var(--line2); box-shadow:0 3px 10px rgba(16,24,40,.05); }
/* "Mina poster" = ingen match-bar → rank-dot, spelare, actions. Ingen färgad kantlinje. */
.lfg-mrow.is-mine { grid-template-columns:22px minmax(0,1fr) auto; }
/* (Här låg en .is-mine.has-event-regel som upprepade raden ovan ordagrant — no-op, borttagen 2026-07-25.) */
.lfg-mrow-rankchip { display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:700; color:var(--ink2); background:var(--inset); border:1px solid var(--line); border-radius:20px; padding:1px 8px; vertical-align:middle; }
.lfg-mrow-rankchip img { width:13px; height:13px; object-fit:contain; }
.lfg-mrow-rankchip i { font-size:11px; }
.lfg-msub-ico { color:var(--dim); font-size:11px; margin-right:5px; }
.lfg-mrank { font-family:'Roboto'; font-weight:900; font-size:14px; color:var(--faint); text-align:center; display:grid; place-items:center; }
.lfg-mrow-user { display:flex; align-items:center; gap:10px; min-width:0; }
.lfg-mrow-id { min-width:0; }
.lfg-mrow-id strong { display:block; font-size:13.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-mrow-sub { display:flex; align-items:center; font-size:11.5px; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-mine-tag { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--live); background:var(--card); border:1px solid var(--line); padding:1px 5px; border-radius:var(--r-sm); vertical-align:middle; }
.lfg-mrow-acts { display:flex; gap:6px; justify-content:flex-end; align-items:center; }

/* Match-bar (rak 0-100%, tokenfärgad efter styrka) */
.lfg-mbar { display:flex; align-items:center; gap:8px; }
.lfg-mbar-track { flex:1; height:7px; border-radius:20px; background:var(--inset); border:1px solid var(--line); overflow:hidden; }
.lfg-mbar-fill { display:block; height:100%; border-radius:20px; background:var(--mp-c,var(--accent)); transition:width .3s ease; }
.lfg-mbar-num { flex:0 0 auto; font-family:'Roboto'; font-weight:900; font-size:12.5px; color:var(--ink); width:34px; text-align:right; }
.lfg-mbar.mp-champ { --mp-c:var(--champ); } .lfg-mbar.mp-elite { --mp-c:var(--elite); }
.lfg-mbar.mp-dia { --mp-c:var(--dia); } .lfg-mbar.mp-plat { --mp-c:var(--plat); }
.lfg-mbar.mp-low { --mp-c:var(--faint); }

/* ── Board ── */
.lfg-board { display:flex; flex-direction:column; gap:10px; }
.lfg-rows { display:flex; flex-direction:column; gap:8px; }
/* KOMPAKT TVÅRADSRAD (2026-07-26). Sju kolumner ersatta av tre.
   Den gamla gridden gav den smala första kolumnen minmax(150px,1.6fr) — när
   rankchips, omdömen och socials lades till radbröt varje chip till en egen
   rad och kortet blev en 200px hög kolumn.
   Nu: avatar | innehåll | actions, där avataren spänner båda raderna så
   HÖJDEN styrs av avataren och inte av innehållet. */
.lfg-row {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center; gap:2px 11px; padding:9px 13px;
  transition:border-color .12s, box-shadow .12s;
}
/* Avataren spänner båda raderna → fast radhöjd oavsett innehåll. */
.lfg-row > .lfg-avl, .lfg-row > .lfg-av { grid-row:1 / 3; align-self:center; }
.lfg-row .lfg-av { width:38px; height:38px; }

/* Rad 1: namn + allt man fattar beslut på, som EN textrad. */
.lfg-row .lfg-r1 { grid-column:2; display:flex; align-items:baseline; gap:7px; min-width:0; }
.lfg-row .lfg-r1 > strong { font-size:14px; font-weight:600; white-space:nowrap; flex:0 0 auto; max-width:40%; overflow:hidden; text-overflow:ellipsis; }
.lfg-row .lfg-r1-meta {
  font-size:11.5px; color:var(--dim); min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lfg-row .lfg-r1-meta img { width:13px; height:13px; object-fit:contain; vertical-align:-2px; margin-right:3px; }
.lfg-row .lfg-mic-on { color:var(--live); }

/* Rad 2: spelarens egna ord. Alltid EN rad — vill man läsa allt: expandera. */
.lfg-row .lfg-r2 {
  grid-column:2; font-size:12.5px; color:var(--ink2);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;
}

/* Actions spänner båda raderna, till höger. */
.lfg-row .lfg-row-acts { grid-column:3; grid-row:1 / 3; display:flex; align-items:center; gap:7px; }
.lfg-row .lfg-kemi-n { font-size:12px; font-weight:600; color:var(--dim); white-space:nowrap; }
.lfg-row .lfg-kemi-n.hi { color:var(--accent); }
.lfg-row .lfg-row-mine-note { font-size:11px; color:var(--faint); white-space:nowrap; }

/* Chevron + expand-läge: allt som INTE styr beslutet bor här. */
.lfg-exp-btn {
  flex:0 0 auto; width:26px; height:26px; border-radius:8px;
  border:1px solid var(--line); background:transparent; color:var(--dim);
  cursor:pointer; display:grid; place-items:center; font-size:12px;
  transition:background .12s, color .12s, transform .12s;
}
.lfg-exp-btn:hover { background:var(--inset); color:var(--ink2); }
.lfg-exp-btn[aria-expanded="true"] i { transform:rotate(180deg); }
.lfg-exp-btn i { transition:transform .15s; }
.lfg-exp-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.lfg-exp {
  grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:7px;
  margin-top:8px; padding-top:9px; border-top:1px solid var(--line);
}
.lfg-exp[hidden] { display:none; }
.lfg-exp .lfg-socrow { margin-top:0; }
.lfg-exp-acts { display:flex; flex-wrap:wrap; gap:6px; margin-left:auto; }

/* Event-ribbon spänner hela raden (var redan grid-column 1/-1). */
.lfg-row .lfg-ev-ribbon { margin-bottom:4px; }

/* Gamla kolumnerna finns kvar i "Mina poster"-raderna — inte i boarden. */
.lfg-row > .lfg-row-kd, .lfg-row > .lfg-row-region,
.lfg-row > .lfg-row-mode, .lfg-row > .lfg-row-ml,
.lfg-row > .lfg-row-msg, .lfg-row > .lfg-row-user { display:none; }

.lfg-row-legacy-unused { display:grid; grid-template-columns:minmax(150px,1.6fr) 52px 48px minmax(110px,1fr) 60px minmax(120px,1.4fr) auto; align-items:center; gap:12px; padding:10px 14px; }
.lfg-row:hover { border-color:var(--line2); box-shadow:0 3px 10px rgba(16,24,40,.05); }
.lfg-row.is-hidden { display:none; }

/* ── Event-ribbon på board-rader (Fortnite-event-look, färgas av lägets färg) ── */
.lfg-row.has-event { border-color:var(--line); border-color:color-mix(in srgb, var(--m, var(--accent)) 45%, var(--line)); }
.lfg-ev-ribbon { grid-column:1 / -1; display:flex; align-items:center; gap:8px; padding:5px 11px; border-radius:var(--r-sm); font-size:12px; background:var(--inset); background:color-mix(in srgb, var(--m, var(--accent)) 12%, var(--card)); border:1px solid var(--line); border-color:color-mix(in srgb, var(--m, var(--accent)) 30%, var(--line)); }
.lfg-ev-ribbon > i { color:var(--m, var(--accent)); font-size:13px; flex:0 0 auto; }
.lfg-ev-seek { text-transform:uppercase; letter-spacing:.07em; font-size:9.5px; font-weight:800; color:var(--m, var(--accent)); flex:0 0 auto; }
.lfg-ev-ribbon strong { color:var(--ink); font-size:12.5px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.lfg-ev-when { color:var(--dim); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; flex:0 0 auto; }
.lfg-ev-mode { margin-left:auto; flex:0 0 auto; font-size:10.5px; font-weight:700; color:var(--ink2); background:var(--card); border:1px solid var(--line); border-radius:20px; padding:1px 9px; white-space:nowrap; }
.lfg-row-user { display:flex; align-items:center; gap:10px; min-width:0; }
.lfg-row-id { min-width:0; }
.lfg-row-id strong { display:block; font-size:13.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-row-rank { display:flex; align-items:center; font-size:11.5px; color:var(--dim); }
.lfg-row-kd { font-size:13.5px; font-weight:700; color:var(--ink2); text-align:center; }
.lfg-row-region { font-size:12px; font-weight:700; color:var(--ink2); text-align:center; }
.lfg-row-ml { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--dim); }
.lfg-row-ml .bi-mic-fill { color:var(--live); }
.lfg-lang { font-size:10px; font-weight:800; color:var(--ink2); background:var(--inset); border:1px solid var(--line); padding:1px 5px; border-radius:var(--r-sm); }
.lfg-row-msg { font-size:12.5px; color:var(--ink2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-row-acts { display:flex; gap:6px; justify-content:flex-end; }

.lfg-empty { text-align:center; padding:44px 18px; color:var(--dim); }
.lfg-empty i { font-size:30px; opacity:.5; color:var(--accent); }
.lfg-empty h3 { margin:12px 0 4px; font-size:16px; color:var(--ink2); }
.lfg-empty p { margin:0 0 14px; font-size:13px; }
.lfg-empty[hidden] { display:none; }

/* Djuplänk ?player=<namn> där posten hunnit gå ut (2026-07-26). Dämpad ton
   med flit: det är en förklaring, inte ett fel användaren gjort. */
.lfg-gone {
  margin: 0 0 12px; padding: 10px 13px;
  background: var(--inset); border: 1px solid var(--line); border-radius: var(--r);
  font-size: 13px; color: var(--dim); line-height: 1.5;
}

/* ── Höger rail ── */
.lfg-pad { padding:14px; }
.lfg-count-badge { background:var(--live-wash); color:var(--live); font-size:11px; font-weight:800; padding:1px 8px; border-radius:20px; }
.lfg-mysquads { display:flex; flex-direction:column; }
.lfg-mysquad { display:flex; align-items:center; gap:11px; padding:11px 14px; border-bottom:1px solid var(--line); transition:background .12s; }
.lfg-mysquad:last-child { border-bottom:0; }
.lfg-mysquad:hover { background:var(--inset); }
.lfg-sq-logo { flex:0 0 auto; width:40px; height:40px; border-radius:var(--r-sm); overflow:hidden; background:var(--inset); border:1px solid var(--line2); display:grid; place-items:center; font-family:'Roboto'; font-weight:900; font-size:13px; color:var(--ink2); }
.lfg-sq-logo img { width:100%; height:100%; object-fit:cover; }
.lfg-sq-info { flex:1; min-width:0; }
.lfg-sq-info strong { display:block; font-size:14px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-sq-tag { font-size:11px; font-weight:800; color:var(--faint); }
.lfg-sq-role { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); font-weight:800; }
.lfg-sq-arrow { color:var(--faint); font-size:13px; }

.lfg-live { display:flex; flex-direction:column; }
.lfg-live-row { display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid var(--line); }
.lfg-live-row:last-child { border-bottom:0; }
.lfg-live-id { flex:1; min-width:0; }
.lfg-live-id strong { display:block; font-size:13px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfg-live-pl { display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--live); font-weight:600; }

.lfg-events { display:flex; flex-direction:column; }
.lfg-event { display:flex; align-items:center; gap:11px; padding:10px 14px; border-bottom:1px solid var(--line); transition:background .12s; }
.lfg-event:last-child { border-bottom:0; }
.lfg-event:hover { background:var(--inset); }
.lfg-event-cal { flex:0 0 auto; width:34px; height:34px; border-radius:var(--r-sm); background:var(--accent-wash); color:var(--accent); display:grid; place-items:center; }
.lfg-event-info strong { display:block; font-size:13px; color:var(--ink); }

/* ── Nästa event — live countdown ── */
.lfg-next-event { padding:15px 16px; }
.lfg-ne-kicker { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; color:var(--accent); margin-bottom:6px; }
.lfg-ne-title { font-size:14.5px; font-weight:800; color:var(--ink); line-height:1.25; margin-bottom:11px; }
.lfg-ne-clock { display:flex; gap:7px; margin-bottom:13px; }
.lfg-ne-unit { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); padding:7px 4px; }
.lfg-ne-unit b { font-size:19px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1; }
.lfg-ne-unit small { font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--dim); }
.lfg-ne-livenow { color:var(--live); font-weight:800; font-size:13px; }
.lfg-ne-cta { width:100%; justify-content:center; display:inline-flex; align-items:center; gap:7px; }

/* ── Event-chips (filtrera boarden på event) ── */
.lfg-evchips { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:11px 14px; }
.lfg-evchips-lbl { display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; color:var(--ink2); }
.lfg-evchips-lbl i { color:var(--accent); }
.lfg-evchip { display:inline-flex; align-items:center; gap:6px; font-family:inherit; font-size:12px; font-weight:600; color:var(--ink2); background:var(--inset); border:1px solid var(--line); border-radius:20px; padding:5px 11px; cursor:pointer; transition:.12s; white-space:nowrap; }
.lfg-evchip:hover { border-color:var(--line2); color:var(--ink); }
.lfg-evchip.is-active { background:var(--accent); border-color:var(--accent); color:#fff; }
.lfg-evchip-n { display:inline-grid; place-items:center; min-width:16px; height:16px; padding:0 4px; font-size:10.5px; font-weight:800; border-radius:20px; background:rgba(0,0,0,.14); }
.lfg-evchip.is-active .lfg-evchip-n { background:rgba(255,255,255,.28); }

/* ── Event-badge på boardrader ── */
.lfg-ev-badge { display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:800; color:var(--accent); background:var(--accent-wash); border-radius:var(--r-sm); padding:1px 6px; margin-right:5px; white-space:nowrap; vertical-align:middle; }
.lfg-ev-badge i { font-size:10px; }

/* ── Spelläges-badge (event) ── */
.lfg-mode-badge { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:var(--ink2); background:var(--inset); border:1px solid var(--line); border-radius:20px; padding:2px 9px; white-space:nowrap; }
.lfg-mode-badge i { font-size:10.5px; color:var(--accent); }
.lfg-mode-badge.sm { font-size:10px; padding:1px 7px; }
.lfg-mode-badge.solo i { color:var(--dim); }
.lfg-ne-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:11px; }
.lfg-ne-solonote { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--ink2); background:var(--inset); border:1px solid var(--line); border-radius:var(--r-sm); padding:9px 12px; }
.lfg-ne-solonote i { color:var(--dim); }
.lfg-event-sub { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }

/* ── Mina poster (multi-post, upp till 3) ── */
.lfg-myposts { display:flex; flex-direction:column; gap:8px; }

/* ── Seeker-förslag i skapa-modalen ── */
.lfg-seekers { display:flex; flex-direction:column; gap:7px; margin:0 0 2px; padding:10px; background:var(--inset); border:1px solid var(--line); border-radius:var(--r-sm); }
.lfg-seek-head { font-size:11.5px; font-weight:700; color:var(--ink2); line-height:1.35; }
.lfg-seek-load, .lfg-seek-empty { font-size:12px; color:var(--dim); display:flex; align-items:center; gap:6px; }
.lfg-seeker { display:flex; align-items:center; justify-content:space-between; gap:8px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); padding:7px 9px; }
.lfg-seek-id { min-width:0; display:flex; flex-direction:column; gap:1px; }
.lfg-seek-id strong { font-size:12.5px; color:var(--ink); display:flex; align-items:center; gap:4px; }
.lfg-seek-meta { font-size:10.5px; color:var(--dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px; }
.lfg-seek-acts { display:flex; gap:5px; flex:0 0 auto; }
.lfg-btn-xs.is-in { opacity:.6; pointer-events:none; }

.lfg-share { display:flex; gap:8px; margin-top:10px; }
.lfg-sh { flex:1; height:36px; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--inset); color:var(--ink2); display:grid; place-items:center; cursor:pointer; font-size:15px; transition:.12s; }
.lfg-sh:hover { border-color:var(--line2); color:var(--accent); }
.lfg-sh.x:hover { color:var(--ink); } .lfg-sh.fb:hover { color:#1877f2; } .lfg-sh.wa:hover { color:#25d366; }

/* ── Modaler ── */
.lfgmodal { position:fixed; inset:0; z-index:1200; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(11,15,20,.5); backdrop-filter:blur(2px); }
.lfgmodal.is-open { display:flex; }
.lfgm-card { width:100%; max-width:440px; background:var(--card); border:1px solid var(--line2); border-radius:var(--r); box-shadow:0 24px 60px rgba(16,24,40,.28); overflow:hidden; animation:lfgPop .14s ease-out; }
@keyframes lfgPop { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.lfgm-head { display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid var(--line); }
.lfgm-head h3 { margin:0; font-family:'Roboto'; font-weight:900; font-size:17px; color:var(--ink); }
.lfgm-x { background:none; border:0; color:var(--dim); cursor:pointer; font-size:18px; }
.lfgm-x:hover { color:var(--ink); }
.lfgm-body { padding:16px 18px; display:flex; flex-direction:column; gap:13px; }
.lfgm-row { display:flex; gap:12px; }
.lfgm-row .lfgm-lbl { flex:1; }
.lfgm-lbl { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:700; color:var(--ink2); }
.lfgm-lbl select, .lfgm-lbl input[type=text], .lfgm-lbl textarea { font-family:inherit; font-size:13.5px; color:var(--ink); background:var(--inset); border:1px solid var(--line); border-radius:var(--r-sm); padding:9px 11px; width:100%; }
.lfgm-lbl textarea { min-height:74px; resize:vertical; }
.lfgm-lbl select:focus, .lfgm-lbl input:focus, .lfgm-lbl textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-wash); }
.lfgm-check { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink2); cursor:pointer; }
.lfgm-foot { padding:14px 18px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; }
.lfgm-foot .btn { min-width:120px; justify-content:center; }

/* ── Toast ── */
.lfg-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:1300; background:var(--board-bg); color:var(--board-ink); font-size:13px; font-weight:600; padding:11px 18px; border-radius:var(--r); box-shadow:0 10px 30px rgba(16,24,40,.3); max-width:90vw; }
.lfg-toast[hidden] { display:none; }
.lfg-toast.err { background:var(--danger-fill); }

/* ── Responsivt ── */
@media (max-width:900px) {
  .lfg-hero { flex-direction:column; align-items:flex-start; }
  .lfg-hero-stats { width:100%; justify-content:space-between; }
  /* Tvåradsgriden håller på mobil också — bara smalare avatar och tightare
     luft. Ingen omflödning: hela poängen är att alla rader är lika höga. */
  .lfg-row { grid-template-columns:32px minmax(0,1fr) auto; gap:2px 9px; padding:8px 11px; }
  .lfg-row .lfg-av { width:32px; height:32px; }
  .lfg-row .lfg-r1 > strong { max-width:52%; }
  .lfg-row .lfg-exp-acts { margin-left:0; flex-basis:100%; }
  /* Beskrivningslösa poster: göm gråtexten i st f att lägga till brus.
     Raden behåller sin höjd ändå (avataren spänner båda raderna). */
  .lfg-row .lfg-r2 .lfg-dim { visibility:hidden; }
  .lfg-mrow, .lfg-mrow.is-mine { grid-template-columns:22px 1fr; grid-auto-flow:row; gap:8px 12px; }
  .lfg-mrow .lfg-mbar { grid-column:1 / -1; }
  .lfg-mrow-acts { grid-column:1 / -1; justify-content:flex-start; }
}

/* ── Gruppchatt (slide-in drawer, messenger-stil) ── */
.lfg-chat-scrim { position:fixed; inset:0; z-index:1300; background:rgba(11,15,20,.4); }
.lfg-chat { position:fixed; top:0; right:0; z-index:1310; width:380px; max-width:92vw; height:100dvh; background:var(--card); border-left:1px solid var(--line2); box-shadow:-14px 0 40px rgba(16,24,40,.18); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .22s cubic-bezier(.4,0,.2,1); }
.lfg-chat.is-open { transform:translateX(0); }
.lfg-chat-head { display:flex; align-items:center; gap:10px; padding:13px 15px; border-bottom:1px solid var(--line); flex:0 0 auto; }
.lfg-chat-ic { width:34px; height:34px; flex:0 0 auto; border-radius:10px; background:var(--accent-wash); color:var(--accent); display:grid; place-items:center; font-size:15px; }
.lfg-chat-ti { min-width:0; flex:1; display:flex; flex-direction:column; gap:1px; }
.lfg-chat-ti strong { font-size:14px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lfg-chat-sub { font-size:11px; color:var(--dim); }
.lfg-chat-x { flex:0 0 auto; width:32px; height:32px; border-radius:8px; border:1px solid var(--line); background:var(--inset); color:var(--ink2); cursor:pointer; display:grid; place-items:center; }
.lfg-chat-x:hover { color:var(--ink); border-color:var(--line2); }
.lfg-chat-body { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:9px; }
.lfg-chat-empty { margin:auto; color:var(--dim); font-size:13px; text-align:center; }
.lfg-msg { display:flex; flex-direction:column; align-items:flex-start; max-width:82%; }
.lfg-msg.is-me { align-self:flex-end; align-items:flex-end; }
.lfg-msg-au { font-size:10.5px; font-weight:700; color:var(--ink2); margin:0 0 2px 2px; }
.lfg-msg-bub { font-size:13px; line-height:1.4; color:var(--ink); background:var(--inset); border:1px solid var(--line); border-radius:14px; padding:7px 11px; word-break:break-word; }
.lfg-msg.is-me .lfg-msg-bub { background:var(--accent); border-color:var(--accent); color:#fff; }
.lfg-msg-t { font-size:9.5px; color:var(--dim); margin:2px 4px 0; }
.lfg-chat-input { flex:0 0 auto; display:flex; gap:8px; align-items:flex-end; padding:11px 13px; border-top:1px solid var(--line); }
.lfg-chat-input textarea { flex:1; resize:none; max-height:96px; font-family:inherit; font-size:13px; color:var(--ink); background:var(--inset); border:1px solid var(--line); border-radius:12px; padding:9px 12px; outline:none; }
.lfg-chat-input textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-wash); }
.lfg-chat-send { flex:0 0 auto; width:40px; height:40px; border-radius:50%; border:0; background:var(--accent); color:#fff; cursor:pointer; display:grid; place-items:center; font-size:15px; }
.lfg-chat-send:hover { filter:brightness(1.06); }
.lfg-grp-ico { color:var(--accent); font-size:14px; }
@media (max-width:520px){ .lfg-chat{ width:100vw; max-width:100vw; } }

/* ============================================================
   Hitta spelare (2026-07-16): FORRE-placering, DNA-kemi, Spela-ping,
   scout-modal. Tokenfärger (accent/gold) — funkar i ljust OCH mörkt tema,
   medvetet inget lila (Kentas notering; lila reserveras för Champion-rank).
   ============================================================ */
.lfg-lbpos { display:inline-block; margin-left:6px; font-size:10px; font-weight:800; color:var(--gold); letter-spacing:.02em; white-space:nowrap; }
.lfg-lbpos::before { content:"FORRE "; font-size:8.5px; letter-spacing:.08em; color:var(--dim); }
.lfg-kemichip { display:inline-block; margin-left:7px; font-size:10px; font-weight:800; padding:1px 7px; border-radius:20px; background:var(--accent-wash); color:var(--accent-ink); white-space:nowrap; }
.lfg-kemichip.hi { background:var(--live-wash); color:var(--live); }
.lfg-kemichip.low { background:var(--inset); color:var(--dim); }
.lls-kemi { font-size:10.5px; font-weight:800; color:var(--accent-ink); }
.lls-ping { border:0; background:none; color:var(--accent); cursor:pointer; font-size:13px; padding:0 2px; line-height:1; }
.lls-ping:hover { color:var(--accent-ink); }
.lls-ping.is-in, [data-lfg-ping].is-in { opacity:.45; pointer-events:none; }
.lfg-ne-place { font-size:11.5px; font-weight:700; color:var(--gold); margin:2px 0 6px; }
.lfg-ne-place i { margin-right:4px; }
.lfg-scout-body { display:flex; flex-direction:column; gap:0; }
.lfg-scout-load { padding:18px 4px; text-align:center; color:var(--dim); font-size:13px; }
.lfg-scout-pct { text-align:center; padding:4px 0 12px; }
.lfg-scout-pct .n { display:block; font-weight:900; font-size:34px; line-height:1; color:var(--accent-ink); }
.lfg-scout-pct .l { font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); }
.lfg-scout-row { display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px dashed var(--line); font-size:12.5px; color:var(--ink2); }
.lfg-scout-row b { color:var(--ink); text-align:right; font-weight:700; }
.lfg-scout-sum { margin-top:10px; font-size:12.5px; color:var(--dim); line-height:1.5; }

/* ============================================================
   Hitta spelare etapp 2 (2026-07-16): inbäddad DNA-swipe + vän-förslag.
   Tokenfärger, funkar i båda temana.
   ============================================================ */
.lfg-swipe-card { max-width: 400px; }
.lfg-swipe-modes { display:flex; gap:2px; background:var(--inset); border:1px solid var(--line); border-radius:30px; padding:2px; margin-left:auto; margin-right:10px; }
.lfg-swipe-mode { border:0; background:none; cursor:pointer; padding:4px 12px; border-radius:30px; font-weight:800; font-size:11.5px; color:var(--dim); }
.lfg-swipe-mode.is-active { background:var(--accent); color:#fff; }
.lfg-swipe-body { min-height: 240px; }
.lfg-swipe-load { padding:40px 10px; text-align:center; color:var(--dim); font-size:13px; }
.lfg-swipe-top { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.lfg-swipe-av { width:52px !important; height:52px !important; }
.lfg-swipe-id { flex:1; min-width:0; display:flex; flex-direction:column; }
.lfg-swipe-id strong { font-size:15px; }
.lfg-swipe-id .sub { font-size:11.5px; color:var(--dim); }
.lfg-swipe-pct { font-weight:900; font-size:26px; color:var(--accent-ink); flex:0 0 auto; }
.lfg-swipe-axes { display:flex; flex-direction:column; gap:7px; }
.lfg-swipe-axis { display:grid; grid-template-columns:86px 1fr 30px; align-items:center; gap:9px; font-size:11px; color:var(--ink2); }
.lfg-swipe-axis .bar { position:relative; height:7px; background:var(--inset); border:1px solid var(--line); border-radius:20px; overflow:visible; }
.lfg-swipe-axis .bar i { display:block; height:100%; background:var(--accent); border-radius:20px; }
.lfg-swipe-axis .bar b { position:absolute; top:-3px; width:3px; height:11px; border-radius:2px; background:var(--gold); transform:translateX(-50%); }
.lfg-swipe-axis .val { font-weight:800; text-align:right; }
.lfg-swipe-reason { margin-top:11px; font-size:12px; color:var(--dim); line-height:1.5; }
.lfg-swipe-count { margin-top:9px; font-size:10.5px; color:var(--faint); text-align:center; }
.lfg-swipe-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lfg-swipe-btn { width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:var(--card); cursor:pointer; font-size:19px; display:grid; place-items:center; box-shadow:var(--shadow); transition:transform .12s; }
.lfg-swipe-btn:hover { transform:scale(1.07); }
.lfg-swipe-btn.no { color:var(--danger); }
.lfg-swipe-btn.yes { color:var(--live); }
.lfg-swipe-full { font-size:11.5px; font-weight:700; color:var(--accent-ink); text-decoration:none; }
.lfg-swipe-full:hover { text-decoration:underline; }
.lfg-fp {  padding:11px 14px; }
.lfg-fp-head { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:8px; }
.lfg-fp-head i { margin-right:5px; }
.lfg-fp-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-top:1px dashed var(--line); flex-wrap:wrap; }
.lfg-fp-row:first-of-type { border-top:0; }
.lfg-fp-txt { flex:1; min-width:180px; font-size:13px; color:var(--ink2); }
.lfg-fp-acts { display:flex; gap:6px; }

/* ============================================================
   Hitta spelare etapp 3 (2026-07-16): co-play-frågan + Ditt gäng.
   ============================================================ */
.lfg-cp {  padding:11px 14px; }
.lfg-cp-head { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--live); margin-bottom:8px; }
.lfg-cp-head i { margin-right:5px; }
.lfg-cp-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px dashed var(--line); flex-wrap:wrap; }
.lfg-cp-row:first-of-type { border-top:0; }
.lfg-cp-txt { flex:1; min-width:200px; font-size:13px; color:var(--ink2); }
.lfg-cp-acts { display:flex; gap:6px; }
.lfg-cp-stars { display:inline-flex; gap:3px; }
.lfg-cp-star { border:0; background:none; cursor:pointer; font-size:17px; color:var(--dim); padding:2px; line-height:1; }
.lfg-cp-star.is-on { color:var(--gold); }
.lfg-cp-comment { flex:1; min-width:150px; font-family:inherit; font-size:12.5px; color:var(--ink); background:var(--inset); border:1px solid var(--line); border-radius:var(--r); padding:6px 10px; outline:none; }
.lfg-cp-comment:focus { border-color:var(--accent); }
.lfg-gang .lfg-gang-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.lfg-gang-avs { display:flex; }
.lfg-gang-avs .lfg-av { width:32px; height:32px; border-radius:50%; margin-left:-8px; border:2px solid var(--card); }
.lfg-gang-avs .lfg-av:first-child { margin-left:0; }
.lfg-gang-info { flex:1; min-width:0; display:flex; flex-direction:column; }
.lfg-gang-info strong { font-size:12.5px; line-height:1.3; }
.lfg-gang-sub { font-size:11px; color:var(--dim); }
.lfg-gang-on { color:var(--live); font-weight:700; }
.lfg-gang-acts { display:flex; gap:7px; flex-wrap:wrap; }
[data-lfg-gang-ping].is-in { opacity:.55; pointer-events:none; }

/* ============================================================
   Fix 2026-07-16: ansökningskö på Mina poster + egen rad i boarden.
   ============================================================ */
.lfg-reqs { width:100%; border-top:1px dashed var(--line); margin-top:10px; padding-top:9px; }
.lfg-req-head { font-size:11.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:7px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.lfg-req-cap { font-weight:700; font-size:10.5px; color:var(--dim); text-transform:none; letter-spacing:0; margin-left:auto; }
.lfg-req-row { display:flex; align-items:center; gap:9px; padding:6px 0; flex-wrap:wrap; }
.lfg-req-id { flex:1; min-width:150px; display:flex; flex-direction:column; line-height:1.3; }
.lfg-req-meta { font-size:11px; color:var(--dim); }
.lfg-req-acts { display:flex; gap:6px; }
.lfg-row-mine-note { font-size:11px; color:var(--dim); font-style:italic; white-space:nowrap; }
.lfg-flash { animation: lfgflash 1.3s ease-in-out 2; }
@keyframes lfgflash { 0%,100% { box-shadow: none; } 50% { box-shadow: 0 0 0 3px var(--accent); } }
@media (prefers-reduced-motion: reduce){ .lfg-flash { animation:none; outline:2px solid var(--accent); } }

/* ============================================================
   Fix 2026-07-16 (Kentas skärmdumpar): (1) platser-raden i Mina poster
   blev en smal ordkolumn — .lfg-reqs är ett grid-item och måste spänna
   alla kolumner. (2) Ranken bröts till två rader i boarden — rank-texten
   är nu en nowrap-enhet och chipsen radbryts som hela enheter.
   ============================================================ */
.lfg-mrow .lfg-reqs { grid-column: 1 / -1; }
.lfg-req-cap { white-space: nowrap; }
.lfg-reqs > .lfg-req-cap:only-child { padding: 2px 0; }
.lfg-row-rank { flex-wrap: wrap; column-gap: 8px; row-gap: 3px; line-height: 1.35; }
.lfg-rk-txt { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.lfg-row-rank .lfg-lbpos, .lfg-row-rank .lfg-kemichip { margin-left: 0; }
/* (LFG-dropdownens stilar bor nu i pulse-topbar.php:s styleblock, 2026-07-16) */

/* ============================================================
   ETAPP 1+2 (2026-07-25) — "ingen återvändsgränd" + kontaktytan
   1) .lfg-avl: avataren är nu en profillänk. Får INTE ändra .lfg-av:s
      geometri — wrappern är ren layout-neutral (line-height:0 dödar
      inline-baslinjens extraspace) + synlig fokusring för tangentbord.
   2) .lfg-socrow/.lfg-soc: sociala kontaktvägar per spelarkort.
   3) .lfg-livepill: sänder-just-nu (StreamService-sanning, ej presence).
   ============================================================ */
.lfg-avl { display:inline-block; flex:0 0 auto; line-height:0; border-radius:10px; text-decoration:none; color:inherit; }
.lfg-avl:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* .lfg-av är `display:grid; place-items:center` — initialerna i .noimg::after
   centreras av det. Wrappern får INTE platta till det (display:block skulle slå
   ut gridet, och line-height:0 ärvs ned och klipper initialerna i överkant). */
.lfg-avl > .lfg-av { line-height:normal; }

/* "Ditt gäng": avatarerna överlappar via margin-left:-8px med :first-child-undantag.
   Nu ligger varje .lfg-av ensam i sin <a>-wrapper → :first-child matchade ALLA och
   stacken blev en rak rad. Marginalen flyttas därför till wrappern. */
.lfg-gang-avs > * { margin-left:-8px; }
.lfg-gang-avs > *:first-child { margin-left:0; }

/* Kontaktrad — kompakt, bryter aldrig kortets grid.
   OBS specificitet: rad 8 sätter `.lfgp a { color:inherit }` (0,1,1). Färg-
   deklarationerna nedan MÅSTE därför scopas med .lfgp (0,2,0), annars äter den
   regeln både chip-färgen och LIVE-pillens vita text (röd pill + mörk text). */
.lfg-socrow { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:4px; }
.lfgp .lfg-soc {
  display:inline-flex; align-items:center; gap:4px; max-width:150px;
  padding:2px 8px; border:1px solid var(--line); border-radius:999px;
  background:var(--inset); color:var(--ink2);
  font-size:10.5px; font-weight:700; line-height:1.6;
  text-decoration:none; cursor:pointer;
  transition:background .12s, border-color .12s, color .12s;
}
.lfgp .lfg-soc i { font-size:11px; color:var(--sc,var(--dim)); flex:0 0 auto; }
.lfgp .lfg-soc .lfg-soc-h { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lfgp .lfg-soc:hover { background:var(--sc,var(--accent)); border-color:var(--sc,var(--accent)); color:#fff; }
.lfgp .lfg-soc:hover i { color:#fff; }
.lfgp .lfg-soc:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.lfgp .lfg-soc-ver { font-size:9px; color:var(--accent); flex:0 0 auto; }
.lfgp .lfg-soc:hover .lfg-soc-ver { color:#fff; }

/* LIVE-pill — sänder NU (StreamService). Skild från .lfg-livedot = spelar Fortnite nu. */
.lfgp .lfg-livepill {
  display:inline-flex; align-items:center; gap:4px; vertical-align:middle;
  margin-left:6px; padding:1px 7px; border-radius:999px;
  background:#e91916; color:#fff; font-size:9.5px; font-weight:800;
  letter-spacing:.02em; text-decoration:none; white-space:nowrap;
}
.lfgp .lfg-livepill--twitch { background:#9146ff; }
.lfgp .lfg-livepill--kick   { background:#53fc18; color:#0b1211; }
.lfgp .lfg-livepill--youtube{ background:#ff0000; }
.lfgp .lfg-livepill:hover { filter:brightness(1.08); }
.lfgp .lfg-livepill .llp-dot { width:5px; height:5px; border-radius:50%; background:currentColor; animation:lfgLivePulse 1.6s ease-in-out infinite; }
.lfgp .lfg-livepill .llp-vc { opacity:.85; font-size:9px; }
@keyframes lfgLivePulse { 0%,100% { opacity:1; } 50% { opacity:.35; } }
@media (prefers-reduced-motion: reduce){ .lfg-livepill .llp-dot { animation:none; } }

/* Seeker-förslagen i skapa-modalen fick avatar (saknade den helt). */
.lfg-seeker { display:flex; align-items:center; gap:9px; }
.lfg-seeker .lfg-seek-id { min-width:0; flex:1 1 auto; }

/* Chattens författarnamn är nu en profillänk — ärver färgen, accent på hover. */
.lfg-msg-aul { color:inherit; text-decoration:none; }
.lfg-msg-aul:hover { color:var(--accent); text-decoration:underline; }

/* ── Etapp 3 (2026-07-26): "därför just hen" + gratisfält ──────────────
   Meningen är kortets viktigaste rad — den ska läsas, inte trunkeras.
   Därför egen rad med normal radbrytning (till skillnad från .lfg-mrow-sub
   som är nowrap + ellipsis). */
.lfgp .lfg-why {
  display:flex; align-items:flex-start; gap:5px; margin-top:4px;
  font-size:11.5px; font-weight:600; line-height:1.4; color:var(--ink2);
  white-space:normal;
}
.lfgp .lfg-why i { color:var(--accent); font-size:10.5px; margin-top:2px; flex:0 0 auto; }

/* Metaraden bär nu fler chips än den rymmer på en rad (verifierade omdömen, wins,
   topprank, förfrågan-skickad, Epic-chips, LIVE). Den var `white-space:nowrap` +
   `overflow:hidden` + ellipsis (rad 85) → allt efter K/D hade klippts bort UTAN att
   synas. Samma lösning som .lfg-row-rank fick 2026-07-16: låt raden radbryta.
   Scopad till .lfg-mlist: "Mina poster" och "Grupper jag är med i" använder samma
   klass men har kort innehåll och ska behålla sin ellips. */
.lfgp .lfg-mlist .lfg-mrow-sub {
  flex-wrap:wrap; white-space:normal; row-gap:3px;
  overflow:visible; text-overflow:clip;
}

/* Toppen förra säsongen + "förfrågan skickad" — dämpade, ska inte tävla med rank. */
.lfgp .lfg-peak, .lfgp .lfg-pending {
  display:inline-flex; align-items:center; gap:4px; vertical-align:middle;
  margin-left:6px; padding:1px 7px; border-radius:999px;
  border:1px solid var(--line); background:var(--inset);
  font-size:9.5px; font-weight:700; color:var(--dim); white-space:nowrap;
}
.lfgp .lfg-pending { color:var(--ink2); }
/* .lfg-row-rank har redan column-gap:8px → nolla marginalen där, precis som
   .lfg-lbpos/.lfg-kemichip gör, annars blir det 14px mellan chipsen. */
.lfgp .lfg-row-rank .lfg-pending, .lfgp .lfg-row-rank .lfg-peak { margin-left:0; }
/* Metaraden radbryter nu → hindra att "(3 verifierade)" bryts mitt i parentesen. */
.lfgp .lfg-mm-dim { color:var(--dim); font-weight:600; white-space:nowrap; }

/* Rykte på boardraden: betyg + ANTAL. Antalet är hela poängen — "★5.0 av ett
   omdöme" och "★4.6 av trettio" är inte samma sak. */
.lfgp .lfg-rep {
  display:inline-flex; align-items:center; gap:3px;
  padding:1px 7px; border-radius:999px;
  border:1px solid var(--line); background:var(--inset);
  font-size:10px; font-weight:700; color:var(--ink2); white-space:nowrap;
}
.lfgp .lfg-rep .lfg-mm-dim { font-size:9px; }

/* Mobil: kontaktraden är det viktigaste på kortet — den får ALDRIG döljas
   (till skillnad från region/mic som göms under 900px). */
@media (max-width:900px){
  .lfg-socrow { margin-top:5px; }
  .lfgp .lfg-soc { max-width:118px; }
}

/* ============================================================
   ANSÖKNINGSSTATUS (D1, 2026-07-26)
   Ersätter Ansök-knappen när man redan sökt. Tre tillstånd, samma form
   som knappen den ersätter så raden inte hoppar i höjd.
   ============================================================ */
.lfgp .lfg-reqst {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px; border-radius:999px;
  border:1px solid var(--line); background:var(--inset);
  font-size:11.5px; font-weight:600; color:var(--dim);
  white-space:nowrap; line-height:1.4;
}
.lfgp .lfg-reqst i { font-size:11px; }
.lfgp .lfg-reqst.accepted { color:var(--live); border-color:color-mix(in srgb, var(--live) 35%, var(--line)); }
.lfgp .lfg-reqst.rejected { color:var(--ink2); }
.lfgp .lfg-reqst-age { color:var(--faint); font-weight:500; }
.lfgp .lfg-reqst-why { color:var(--dim); font-weight:500; }
/* Orsaken kan bli lång — göm den på smala skärmar, title= bär den ändå. */
@media (max-width:700px){ .lfgp .lfg-reqst-why { display:none; } }

.lfgp .lfg-myreq-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.lfgp .lfg-myreq-hint { flex-basis:100%; font-size:11px; color:var(--dim); }

/* Avslutad gruppchatt: läsbar men låst, med nedräkning till radering.
   OBS: chatt-drawern ligger UTANFÖR .lfgp (den är portalerad till body),
   därför ingen .lfgp-prefix här. */
.lfg-chat-closed {
  flex:0 0 auto; margin:0; padding:10px 14px;
  border-bottom:1px solid var(--line);
  background:var(--inset); color:var(--ink2);
  font-size:11.5px; line-height:1.5;
}
.lfg-chat-closed i { color:var(--dim); margin-right:4px; }
.lfg-chat-closed b { color:var(--ink); font-weight:700; }
.lfg-chat-closed-hint { display:block; color:var(--dim); margin-top:2px; }
.lfg-chat .is-locked { opacity:.55; }
.lfg-chat textarea[disabled] { cursor:not-allowed; }

/* ============================================================
   FLIKAR (2026-07-26) — "Alla som söker" / "Bäst för dig" / "Live nu"
   Ersätter det separata Toppmatchningar-blocket. Pillerform, samma
   höjd som .lfg-refresh, aktiv flik = fylld.
   ============================================================ */
.lfgp .lfg-tabbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lfgp .lfg-tabs { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.lfgp .lfg-tabs-hint { color:var(--dim); font-size:11px; }
@media (max-width:700px){ .lfgp .lfg-tabs-hint { display:none; } }
.lfgp .lfg-tab {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 13px; border-radius:999px;
  border:1px solid var(--line); background:transparent;
  font-size:12.5px; font-weight:600; color:var(--ink2);
  cursor:pointer; white-space:nowrap;
  transition:background .12s, border-color .12s, color .12s;
}
.lfgp .lfg-tab i { font-size:12px; }
.lfgp .lfg-tab:hover { border-color:var(--line2); background:var(--inset); }
.lfgp .lfg-tab.is-active { background:var(--ink); border-color:var(--ink); color:var(--card); }
.lfgp .lfg-tab.is-active .lfg-count { background:rgba(255,255,255,.18); color:inherit; }
.lfgp .lfg-tab .lfg-count { margin-left:2px; }
.lfgp .lfg-tab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.lfgp .lfg-tabbar .lfg-refresh { margin-left:auto; }
/* KRITISKT: `hidden` är en UA-regel (`[hidden]{display:none}`) och förlorar mot
   VARJE författar-`display:`. `.lfg-rows` (rad 100) och `.lfg-matches` (rad 67)
   har `display:flex` → utan detta syns matchpanelen direkt vid sidladdning
   (= den dubbla listan tillbaka) och "Bäst för dig" döljer inga board-rader. */
.lfgp [data-lfg-filters][hidden], .lfgp [data-lfg-evchips][hidden],
.lfgp .lfg-rows[hidden], .lfgp .lfg-matches[hidden] { display:none; }

/* ============================================================
   TYPOGRAFI-STÄDNING (2026-07-26, Kentas beslut "stilrent")

   Problemet var inte färgerna utan hierarkin: namn, rank, K/D, region och
   fem chips låg alla på ~11-13px och tävlade om samma uppmärksamhet, så
   raden läste sig som en ordlista i stället för en person.

   Tre grepp, ingen ny palett:
   1. NAMNET får tydligt försprång (15px) — det är det man scannar efter.
   2. Allt sekundärt sjunker till 11.5px och --dim, en enda nivå.
   3. Chipsen blir tystare (tunnare kant, ingen fyllning som ropar) och
      får gemensam höjd så raden inte hoppar.
   ============================================================ */
.lfgp .lfg-row-id strong { font-size:15px; font-weight:600; letter-spacing:-.005em; }
.lfgp .lfg-row-id .pl-name { font-weight:600; }
.lfgp .lfg-row-rank { font-size:11.5px; color:var(--dim); margin-top:2px; }
.lfgp .lfg-row-kd { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.lfgp .lfg-row-region { font-size:11.5px; font-weight:600; color:var(--dim); }
.lfgp .lfg-row-msg { font-size:12.5px; color:var(--ink2); }

/* Chipsen: en gemensam tystare grundton. Rank-ikonen och LIVE behåller sin
   färg — de betyder något. Resten ska synas först när man läser raden. */
/* `border:1px solid`, inte bara border-color: .lfg-lbpos och .lfg-kemichip har
   ingen border i basen, så enbart border-color hade varit en no-op och lämnat
   dem som naken text utan pillform. */
.lfgp .lfg-lbpos, .lfgp .lfg-kemichip, .lfgp .lfg-rep,
.lfgp .lfg-peak, .lfgp .lfg-pending {
  font-size:10px; font-weight:600; line-height:1.7;
  border:1px solid var(--line); background:transparent; color:var(--dim);
  border-radius:999px; padding:1px 8px;
}
/* Hög kemi är en signal värd att se — den enda som får behålla accentfärg. */
.lfgp .lfg-kemichip.hi { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 35%, var(--line)); }

/* Luftigare rader — tätheten var det som fick sidan att kännas plottrig. */
.lfgp .lfg-row { padding-top:11px; padding-bottom:11px; }
.lfgp .lfg-mrow { padding-top:11px; padding-bottom:11px; }
.lfgp .lfg-row-user, .lfgp .lfg-mrow-user { gap:11px; }

/* ============================================================
   MOBIL: högerrailen viks in i huvudkolumnen (2026-07-26)

   Ersätter den tidigare .lfg-mobrail-speglingen. Den duplicerade markup
   för "Ditt gäng" + nästa event i <main> — två ställen att hålla i synk,
   och Kenta såg dem som dubbletter i koden.

   Samma mönster som tracker-sidan redan använder (pulse-tracker.css:331):
   sid-scopat un-hide av railen i st f kopierad DOM. Bonus: squad-kortet,
   kommande events och dela-kortet kommer också tillbaka på telefon.

   .rail.right döljs av den GLOBALA shell-regeln (forre_pulse.css:561) som
   inte får röras — därför scopar vi med .lfgp och samma 820px-brytpunkt.
   ============================================================ */
@media (max-width:820px){
  /* display:contents i st f flex: railen försvinner som box och dess KORT blir
     egna grid-items i .shell. Då kan de ordnas individuellt — annars hade hela
     railen legat i klump allra sist, efter boarden, och "Ditt gäng" varit
     lika osynligt som när den var helt dold. */
  .lfgp .rail.right { display:contents; }
  .lfgp .rail.right > * { position:static; top:auto; max-height:none; overflow:visible; }

  /* De två handlingstäta korten upp direkt efter hero; resten ligger kvar sist. */
  .lfgp .rail.right .lfg-gang { order:-2; }
  .lfgp .rail.right .lfg-next-event { order:-1; }

  /* "Spelar nu"-kortet dubblerar live-strippen som redan ligger i <main>.
     Strippen är kompaktare och har ping+messa → behåll den, göm kortet. */
  .lfgp .rail.right .lfg-livecard { display:none; }

  /* Railen är byggd för en 320px-kolumn — i huvudkolumnen blir korten breda. */
  .lfgp .rail.right .lfg-ne-unit b { font-size:19px; }
  .lfgp .rail.right .lfg-ne-clock { gap:6px; }
}

/* ============================================================
   "BÄST FÖR DIG" — RASTER-RAD (.lfg-m2), 2026-07-26, Kentas val

   Problemet: .lfg-mrow är ett grid, men mittcellen staplade fem block
   vertikalt (namn, metarad m flex-wrap, why-text, socials, Epic-chips).
   Höjden styrdes alltså av HUR MYCKET spelaren hade — 120-180px per kort
   och olika höjd för varje person. Listan fick ingen rytm.

   Lösningen: fasta kolumner. Rank hamnar under rank, K/D under K/D, så
   listan går att jämföra lodrätt i stället för att läsas kort för kort.
   Exakt två rader, ~61px fast höjd. Allt övrigt bakom chevronen.

   SCOPE: .lfg-m2 sätts BARA på matchraderna i .lfg-mlist. "Mina poster"
   och "Grupper jag är med i" använder samma .lfg-mrow-bas och ska INTE
   påverkas — därför en extra klass i stället för att skriva om basen.
   ============================================================ */
.lfgp .lfg-m2 {
  display:grid;
  grid-template-columns:18px 32px minmax(72px,1fr) 88px 42px 92px auto;
  grid-template-rows:auto auto;
  align-items:center; gap:2px 9px;
}
/* Avataren spänner båda raderna → radhöjden ägs av avataren, inte av texten. */
.lfgp .lfg-m2 > .lfg-avl, .lfgp .lfg-m2 > .lfg-av { grid-column:2; grid-row:1 / 3; align-self:center; }
.lfgp .lfg-m2 .lfg-av { width:32px; height:32px; }

.lfgp .lfg-m2 .m2-num { grid-column:1; grid-row:1 / 3; font-weight:900; font-size:12.5px; color:var(--faint); text-align:center; }
.lfgp .lfg-m2 .m2-nm { grid-column:3; grid-row:1; display:flex; align-items:center; gap:4px; min-width:0; }
.lfgp .lfg-m2 .m2-nm strong { font-size:13.5px; font-weight:600; color:var(--ink); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Namnet är det enda som får krympa i cellen — utan detta klämmer en lång
   LIVE-pill ihop sig och radbryter i stället för att korta namnet. */
.lfgp .lfg-m2 .m2-nm .lfg-livedot, .lfgp .lfg-m2 .m2-nm .lfg-livepill { flex:0 0 auto; margin-left:0; }
.lfgp .lfg-m2 .m2-rank { grid-column:4; grid-row:1; font-size:11.5px; color:var(--dim); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lfgp .lfg-m2 .m2-kd { grid-column:5; grid-row:1; font-size:13px; font-weight:600; color:var(--ink2); text-align:right; }
.lfgp .lfg-m2 .m2-bar { grid-column:6; grid-row:1; display:flex; align-items:center; gap:7px; }
.lfgp .lfg-m2 .m2-bar .lfg-mbar-track { flex:1; height:5px; }
.lfgp .lfg-m2 .m2-pct { flex:0 0 auto; font-weight:800; font-size:11.5px; color:var(--ink); width:30px; text-align:right; }
.lfgp .lfg-m2 .m2-acts { grid-column:7; grid-row:1 / 3; display:flex; align-items:center; gap:6px; }

/* Rad 2 — "därför just hen". ALLTID en rad: vill man läsa hela, expandera.
   Cellen har alltid innehåll (vyn faller tillbaka på spelstil/region/läge),
   annars hade kortet blivit enradigt och rastret tappat sin rytm. */
.lfgp .lfg-m2 .m2-r2 {
  grid-column:3 / 7; grid-row:2; min-width:0;
  font-size:12px; color:var(--ink2); line-height:1.45;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lfgp .lfg-m2 .m2-r2 i { color:var(--accent); font-size:10.5px; margin-right:4px; }

/* Match-barens färgklasser ärvs från .lfg-mbar-blocket via samma --mp-c-token. */
.lfgp .lfg-m2 .m2-bar.mp-champ { --mp-c:var(--champ); } .lfgp .lfg-m2 .m2-bar.mp-elite { --mp-c:var(--elite); }
.lfgp .lfg-m2 .m2-bar.mp-dia { --mp-c:var(--dia); } .lfgp .lfg-m2 .m2-bar.mp-plat { --mp-c:var(--plat); }
.lfgp .lfg-m2 .m2-bar.mp-low { --mp-c:var(--faint); }

/* Kolumnhuvud — rastret läser sig som en tabell först när kolumnerna heter något.
   15px sidopadding, inte 14: raderna är .card med 1px kant, så deras innehåll
   börjar en pixel längre in. Utan den pixeln linjerar inte rubrikerna. */
.lfgp .m2-hdr {
  padding:0 15px 5px; font-size:9.5px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:var(--faint);
  background:none; border:0; box-shadow:none;
}
.lfgp .m2-hdr .m2-kd { text-align:right; }
/* Rubrikraden har EN rad — nolla radspannen som cellerna ärver från raderna,
   annars öppnar .m2-num/.m2-acts en tom implicit rad under huvudet. */
.lfgp .m2-hdr .m2-num, .lfgp .m2-hdr .m2-acts { grid-row:1; }
.lfgp .m2-hdr > span:nth-child(2) { grid-column:2; grid-row:1; }

/* Metan som why-texten trängde undan (spelstil · region · läge · wins) —
   först i utfällningen, så ingen uppgift försvinner. */
.lfgp .lfg-m2-full { font-size:11.5px; color:var(--dim); white-space:nowrap; }

/* ── Mobil: sju kolumner får inte plats. Kolumnerna viks till egna rader
   i stället för att döljas — ingen uppgift ska försvinna på telefon. ── */
@media (max-width:900px){
  .lfgp .lfg-m2 { grid-template-columns:18px 32px minmax(0,1fr) auto; }
  .lfgp .lfg-m2 .m2-nm   { grid-column:3; grid-row:1; }
  .lfgp .lfg-m2 .m2-acts { grid-column:4; grid-row:1; }
  .lfgp .lfg-m2 .m2-rank { grid-column:3; grid-row:2; }
  .lfgp .lfg-m2 .m2-kd   { grid-column:4; grid-row:2; }
  .lfgp .lfg-m2 .m2-bar  { grid-column:3 / 5; grid-row:3; }
  .lfgp .lfg-m2 .m2-r2   { grid-column:3 / 5; grid-row:4; white-space:normal; }
  .lfgp .m2-hdr { display:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LFG 6.8 — "Hitta spelare", chat-first (2026-07-30)

   Allt scopat under .lfg6. Tokenblocken ligger redan i forre_pulse.css.

   MEDVETET BORTTAGET (Kentas order 2026-07-30):
     · alla gradienter — platta ytor i stället
     · min egen chatt-drawer (.chatp/.scrim) — chatten ÄR messengern
     · .tools .top → .tools .tbar, eftersom forre_pulse.css rad 75 ger varje
       .top `position:sticky;z-index:50`, vilket la verktygsraden ÖVER navets
       dropdowns.

   GRUNDPRINCIP: LFG = gruppchatt. Fortnite-partyt är ett steg efter.
   ═══════════════════════════════════════════════════════════════════════════ */

.lfg6 .mono{font-variant-numeric:tabular-nums}
.lfg6 button{font-family:inherit;cursor:pointer;background:none;border:0;color:inherit;padding:0;font-size:inherit}
.lfg6 a{color:inherit;text-decoration:none}
.lfg6 input,.lfg6 select,.lfg6 textarea{font-family:inherit}
.lfg6 .btn.pressed{animation:press .34s cubic-bezier(.2,1.5,.4,1)}
@keyframes press{0%{transform:scale(1)}40%{transform:scale(.93)}70%{transform:scale(1.06)}100%{transform:scale(1)}}
.lfg6 .btn.sent i.bi-check-lg{animation:tick .42s cubic-bezier(.2,1.6,.4,1)}
@keyframes tick{0%{transform:scale(0) rotate(-25deg);opacity:0}60%{transform:scale(1.35) rotate(0)}100%{transform:scale(1);opacity:1}}
.lfg6 .r.flash{animation:flash 1.5s ease-out}
@keyframes flash{0%{background:var(--live-wash)}100%{background:transparent}}
.lfg6 .le.flash{animation:leflash 1.6s ease-out}
@keyframes leflash{0%{background:var(--live-wash)}100%{background:transparent}}
.lfg6 .pips i.leaving{animation:leave .5s cubic-bezier(.3,1,.4,1)}
@keyframes leave{0%{transform:scale(1);background:var(--dim)}50%{transform:scale(.4)}100%{transform:scale(1)}}
.lfg6 .sk{border-bottom:1px solid var(--line);padding:8px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) 52px 118px 108px 22px;gap:12px;align-items:center}
.lfg6 .sk span{display:block;border-radius:5px;background:var(--inset);animation:shimmer 1.25s linear infinite}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.lfg6 .sk .a{width:34px;height:34px;border-radius:50%}
.lfg6 .sk .b1{height:11px;width:52%;margin-bottom:8px}
.lfg6 .sk .b2{height:9px;width:78%}
.lfg6 .sk .c{height:10px}
.lfg6 .sk .d{height:24px;border-radius:6px}
html[data-loading="1"] .lfg6 .rows,html[data-loading="1"] .lfg6 .empty{display:none}
.lfg6 html:not([data-loading="1"]) #skel{display:none}
.lfg6 .rkd i,.lfg6 .rk .em{transform:rotate(45deg)}
.lfg6 .rl .l1 .rkd i{width:7px;height:7px;border-radius:1.5px}
.lfg6 .md::before{opacity:1}
.lfg6 .rl .av{transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.lfg6 .r:hover .av{transform:scale(1.07)}
.lfg6 .rl .nm{transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.lfg6 .r:hover .nm{transform:translateX(1px)}
.lfg6 .btn.g{position:relative;overflow:hidden}
.lfg6 .btn.g::after{content:none}
.lfg6 .btn.g:hover::after{opacity:1;animation:sheen .55s cubic-bezier(.3,.7,.3,1)}
@keyframes sheen{from{left:-40%}to{left:120%}}
.lfg6 .seats .t.bump,.lfg6 .mine .cnt.bump{animation:bump .5s cubic-bezier(.2,1.4,.4,1)}
.lfg6 .av.pop{animation:avpop .45s cubic-bezier(.2,1.5,.4,1)}
@keyframes avpop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.14)}100%{transform:scale(1);opacity:1}}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.22)}100%{transform:scale(1)}}
.lfg6 .pips i{transition:background .3s,box-shadow .3s}
.lfg6 .pips i.justfilled{box-shadow:0 0 0 3px rgba(43,208,107,.18)}
.lfg6 .segs button[aria-selected="true"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.lfg6 .tabs button[aria-selected="true"]{border-bottom-color:var(--accent)}
.lfg6 .livebar,.lfg6 .scout{transition:border-color .2s}
.lfg6 .livebar:hover{border-color:var(--line2)}
.lfg6 .scout:hover{border-top-color:var(--line2);border-right-color:var(--line2);border-bottom-color:var(--line2)}
.lfg6 .tb{position:sticky;top:0;z-index:60;background:var(--card);border-bottom:1px solid var(--line)}
.lfg6 .tbin{width:100%;max-width:var(--shell-w);margin:0 auto;padding:0 16px;height:48px;display:flex;align-items:center;gap:12px}
.lfg6 .brand{font-weight:900;font-size:15.5px;letter-spacing:-.045em}
.lfg6 .brand b{color:var(--accent-ink)}
.lfg6 .nav{display:flex;gap:1px;margin-left:8px}
.lfg6 .nav a{font-size:12px;font-weight:500;color:var(--dim);padding:4px 8px;border-radius:var(--r-sm);transition:.12s}
.lfg6 .nav a:hover{color:var(--ink);background:var(--inset)}
.lfg6 .nav a.on{color:var(--ink);background:var(--inset);font-weight:700}
.lfg6 .tbrt{margin-left:auto;display:flex;align-items:center;gap:8px}
.lfg6 .wal{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:700;color:var(--ink2)}
.lfg6 .wal span{display:inline-flex;align-items:center;gap:4px}
.lfg6 .wal .cn{color:var(--gold)}
.lfg6 .wal .st{color:var(--danger)}
.lfg6 .ib{width:29px;height:29px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--dim);position:relative;transition:.12s}
.lfg6 .ib:hover{background:var(--inset);color:var(--ink)}
.lfg6 .ib .bdg{position:absolute;top:1px;right:1px;min-width:13px;height:13px;padding:0 4px;border-radius:7px;background:var(--danger-fill);color:#fff;font-size:8.5px;font-weight:900;display:grid;place-items:center;border:2px solid var(--card)}
.lfg6 .me{width:29px;height:29px;border-radius:50%;background:#3b6ea5;color:#fff;display:grid;place-items:center;font-weight:900;font-size:11.5px}
.lfg6 .shell{width:100%;max-width:var(--shell-w);margin:0 auto;padding:8px 16px 64px;display:grid;grid-template-columns:1fr 292px;gap:12px;align-items:start}
.lfg6 .main{min-width:0;display:flex;flex-direction:column;gap:8px}
.lfg6 .rail{display:flex;flex-direction:column;gap:8px;position:sticky;top:62px}
/* ★ 2026-08-19: `.lfg6 .rail` (0,2,0) slog `@media(max-width:1100px){.left{display:none}}`
   i forre_pulse.css:618 (0,1,0), och vyn skriver `<aside class="rail left">`
   (lfg/index.php:369). Följden: hela skrivbordsvänsterrailen — miniprofil,
   rank, K/D, säsongskort och HELA skrivbordsnaven — renderades på mobilens
   LFG-sida. Uppmätt live 2026-08-19: y 1150-1866 i ett 2445 px dokument,
   716 px meny som ingen scrollar dit för. Högerrailen ska däremot vara kvar
   (den bär party-inbjudningar och "Ditt gäng"), så regeln träffar bara
   den som också bär .left. */
@media (max-width:1100px){
  .lfg6 .rail.left{display:none !important}
}
.lfg6 .panel{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}
.lfg6 .phd{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.lfg6 .phd h2{font-size:14.5px;font-weight:900;letter-spacing:-.028em}
.lfg6 .phd .sub{font-size:11.5px;color:var(--dim)}
.lfg6 .phd .sub b{color:var(--ink2);font-weight:800}
.lfg6 .phd .rt{margin-left:auto;display:flex;align-items:center;gap:4px}
.lfg6 .segs{display:flex;gap:4px;background:var(--inset);border-radius:11px;padding:4px}
.lfg6 .segs button{height:39px;padding:0 20px;border-radius:8px;font-size:13.5px;font-weight:800;color:var(--dim);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:.13s;letter-spacing:-.015em}
.lfg6 .segs button:hover{color:var(--ink)}
.lfg6 .segs button[aria-selected="true"]{background:var(--accent);color:#fff;font-weight:900;box-shadow:0 2px 8px rgba(39,150,242,.28)}
.lfg6 .segs .n{font-size:10.5px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--faint);background:var(--card);border-radius:9px;padding:2px 8px}
.lfg6 .segs button[aria-selected="true"] .n{background:rgba(255,255,255,.22);color:#fff}
/* Sektionsvaxlaren var HELT DOD: reglerna vantade sig data-sec pa <html>, men
   ingenting nagonstans i repot satte det attributet - bada listorna renderades
   alltid samtidigt, med bada tomtillstanden. Attributet sitter nu pa .lfg6.
   (2026-08-01) */
.lfg6[data-sec="pl"] .sec-lfg{display:none}
.lfg6[data-sec="lfg"] .sec-pl{display:none}

/* Klientfiltreringen togglar .is-hidden pa raderna, men enda regeln var
   `.lfg-row.is-hidden` - och 6.8-raderna ar `.r`. Sokrutan raknade darfor ner
   traffarna utan att dolja en enda rad. (2026-08-01) */
.lfg6 .r.is-hidden{display:none}
/* 2026-08-05: här stod background:var(--ok,#2f9e44). --ok finns inte i pulse, så
   fallback-hexen användes ALLTID i stället för --live (fel grön i mörkt läge) —
   och färgen lades på den 22×9 px stora containern, inte på den runda ::after-
   pricken. Resultatet var en grön rektangel med raka hörn i ett 6px-tema.
   Färgen hör hemma på ::after. Containern ska aldrig ha en bakgrund. */
.lfg6 .statp .dot.on{background:none}
.lfg6 .statp .dot.on::after{background:var(--live)}
.lfg6 .chd{display:flex;align-items:center;gap:8px;padding:8px 12px 4px;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900}
.lfg6 .chd .rt{margin-left:auto;letter-spacing:0;text-transform:none;font-size:10.5px;font-weight:700;color:var(--dim)}
.lfg6 .av{border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;flex:0 0 auto;letter-spacing:-.05em;background:#4a5c73;position:relative}
.lfg6 .av.s18{width:18px;height:18px;font-size:8px}
.lfg6 .av.s22{width:22px;height:22px;font-size:9.5px}
.lfg6 .av.s26{width:26px;height:26px;font-size:11px}
.lfg6 .av.s34{width:34px;height:34px;font-size:13.5px}
.lfg6 .av.s40{width:40px;height:40px;font-size:16px}
/* Etapp 1: kandidatkortet (48) och inkorgen/väntrummet (32). Samma skala
   som resten — s18/22/26/34/40 fanns redan, dessa två saknades. */
.lfg6 .av.s32{width:32px;height:32px;font-size:12.5px}
.lfg6 .av.s48{width:48px;height:48px;font-size:19px}
.lfg6 .av.c1{background:#3b6ea5}
.lfg6 .av.c2{background:#7a4fa3}
.lfg6 .av.c3{background:#2f7d64}
.lfg6 .av.c4{background:#a8632c}
.lfg6 .av.c5{background:#8a3b52}
.lfg6 .av.c6{background:#4a5c73}
.lfg6 .av.c7{background:#2b6b7a}
.lfg6 .av.c8{background:#5c4b8a}
.lfg6 .av .on{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--live);border:2.5px solid var(--card)}
.lfg6 .av.pg{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--live)}
.lfg6 .av.pg .on{background:var(--live);animation:pgpulse 2.6s infinite}
@keyframes pgpulse{0%{box-shadow:0 0 0 0 rgba(43,208,107,.55)}70%{box-shadow:0 0 0 6px rgba(43,208,107,0)}100%{box-shadow:0 0 0 0 rgba(43,208,107,0)}}
.lfg6 .av.s22 .on,.lfg6 .av.s18 .on{width:8px;height:8px;border-width:2px}
.lfg6 .rk{display:inline-flex;align-items:center;gap:4px;height:17px;padding:0 8px 0 4px;border-radius:3px;font-size:9.5px;font-weight:900;white-space:nowrap}
.lfg6 .rk .em{width:9px;height:9px;border-radius:2px;flex:0 0 auto}
.lfg6 .rk.unreal{background:var(--inset);color:var(--gold)}
.lfg6 .rk.unreal .em{background:var(--gold-r)}
.lfg6 .rk.champ{background:var(--champ-w);color:var(--champ)}
.lfg6 .rk.champ .em{background:var(--champ)}
.lfg6 .rk.elite{background:var(--elite-w);color:var(--elite)}
.lfg6 .rk.elite .em{background:var(--elite)}
.lfg6 .rk.dia{background:var(--dia-w);color:var(--dia)}
.lfg6 .rk.dia .em{background:var(--dia)}
.lfg6 .rk.plat{background:var(--plat-w);color:var(--plat)}
.lfg6 .rk.plat .em{background:var(--plat)}
.lfg6 .rk.gold{background:rgba(199,150,12,.13);color:var(--gold-r)}
.lfg6 .rk.gold .em{background:var(--gold-r)}
.lfg6 .md{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;white-space:nowrap;color:var(--ink2)}
.lfg6 .md::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.lfg6 .md.br{color:var(--m-br)}
.lfg6 .md.zb{color:var(--m-zb)}
.lfg6 .md.blitz{color:var(--m-blitz)}
.lfg6 .md.reload{color:var(--m-reload)}
.lfg6 .md.og{color:var(--m-og)}
.lfg6 .md.ball{color:var(--m-ball)}
.lfg6 .md.ranked{color:var(--gold)}
.lfg6 .mt{font-size:10.5px;color:var(--faint);white-space:nowrap}
.lfg6 .mt i{font-size:10px}
.lfg6 .mt.mic{color:var(--live)}
.lfg6 .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:27px;padding:0 12px;border-radius:6px;border:1px solid var(--line2);font-size:11.5px;font-weight:700;color:var(--ink2);background:var(--card);white-space:nowrap;transition:background .12s,color .12s,border-color .12s,transform .09s}
.lfg6 .btn:hover{background:var(--inset);color:var(--ink)}
.lfg6 .btn:active{transform:scale(.97)}
.lfg6 .btn.b,
/* ★ `.p` ÄR OCKSÅ PRIMÄR (2026-08-22). `.btn.p` finns i forre_pulse.css:1269
   men förlorar mot `.lfg6 .btn` — lika specificitet (0,2,0), och pulse-lfg.css
   laddas efter. Varje primärknapp som skrivits med `.p` inuti .lfg6 har därför
   ritats som en sekundär: "Lista mig"-radens knapp och gäng-bandets "Samla
   gänget". Samma fälla som slog ut "Skapa grupp" i lucka-remsan.
   Två namn på samma sak är i sig en smell — men att ta bort det ena kräver att
   varje anropsställe ändras samtidigt, och det är en egen städning. */
.lfg6 .btn.p{background:var(--accent);border-color:var(--accent);color:#fff}
.lfg6 .btn.cta{height:42px;padding:0 20px;font-size:15px;font-weight:900;border-radius:9px;letter-spacing:-.02em;
  box-shadow:none}
.lfg6 .btn.cta:hover{box-shadow:0 4px 16px rgba(39,150,242,.32)}
.lfg6 .btn.cta i{font-size:16px}
.lfg6 .btn.b:hover{background:#1f86dc;border-color:#1f86dc;color:#fff}
.lfg6 .btn.g{background:var(--live);border-color:var(--live);color:var(--onlive);font-weight:900}
.lfg6 .btn.g:hover{filter:brightness(1.08);background:var(--live);color:var(--onlive)}
.lfg6 .btn.gh{border-color:transparent;background:transparent;color:var(--dim)}
.lfg6 .btn.gh:hover{background:var(--inset);color:var(--ink)}
.lfg6 .btn.xs{height:23px;padding:0 8px;font-size:10.5px;border-radius:5px}
.lfg6 .btn.lg{height:32px;padding:0 12px;font-size:12.5px}
.lfg6 .btn.sent{background:var(--live-wash);border-color:transparent;color:var(--live);font-weight:900}
.lfg6 .btn.sent:hover{background:var(--live-wash);color:var(--live)}
.lfg6 .btn.sent.undo{cursor:pointer}
.lfg6 .btn.sent.undo:hover{background:var(--inset);color:var(--ink2);border-color:var(--line2)}
.lfg6 .btn[disabled]{opacity:.5;pointer-events:none}
.lfg6 .pips{display:inline-flex;gap:4px;align-items:center}
.lfg6 .pips i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.lfg6 .pips i.f{background:transparent;box-shadow:inset 0 0 0 1.5px var(--live)}
.lfg6 .pips.full i{background:var(--dim)}
.lfg6 .dna{display:flex;align-items:baseline;gap:4px;white-space:nowrap;min-width:0;max-width:100%}
.lfg6 .dna b{font-size:12.5px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--accent-ink)}
.lfg6 .dna b.hi{color:var(--live)}
.lfg6 .dna b.lo{color:var(--dim)}
.lfg6 .dna s{text-decoration:none;font-size:10.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}
.lfg6 .tools{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}
.lfg6 .tools .tbar{display:flex;align-items:center;gap:8px;padding:8px 12px;flex-wrap:wrap}
.lfg6 .tools h1{font-size:18px;font-weight:900;letter-spacing:-.035em;line-height:1.1;flex:0 0 auto;margin-right:4px}
.lfg6 .tools .tbar .sf{flex:1 1 180px;min-width:0}
.lfg6 .tools .tbar .cta{flex:0 0 auto}
.lfg6 .sf{flex:1 1 240px;min-width:0;position:relative;display:flex;align-items:center}
.lfg6 .sf i.bi{position:absolute;left:10px;color:var(--faint);font-size:13px;pointer-events:none}
.lfg6 .sf input{width:100%;height:30px;padding:0 12px 0 32px;border:1px solid var(--line2);border-radius:6px;background:var(--inset);color:var(--ink);font-size:12.5px;transition:.13s}
.lfg6 .sf input::placeholder{color:var(--faint)}
.lfg6 .sf input:focus{outline:0;border-color:var(--accent);background:var(--card)}
.lfg6 .sel{height:30px;padding:0 24px 0 8px;border:1px solid var(--line2);border-radius:6px;background:var(--card);color:var(--ink2);font-size:11.5px;font-weight:700;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236c7684' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:10px 6px;
  background-position:right 12px center;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.lfg6 .sel:hover{background-color:var(--inset);color:var(--ink)}
.lfg6 .tg{height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--line2);font-size:11.5px;font-weight:700;color:var(--ink2);display:inline-flex;align-items:center;gap:4px;transition:.13s}
.lfg6 .tg:hover{background:var(--inset)}
.lfg6 .tg[aria-pressed="true"]{background:var(--live-wash);border-color:transparent;color:var(--live);font-weight:900}
.lfg6 .tg .d{width:6px;height:6px;border-radius:50%;background:var(--line2)}
.lfg6 .tg[aria-pressed="true"] .d{background:var(--live)}
.lfg6 .adv{border-top:1px solid var(--line);background:var(--inset);padding:8px 12px;display:none;gap:8px;flex-wrap:wrap;align-items:center}
.lfg6 .tools.open .adv{display:flex}
.lfg6 .adv .lb{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;width:100%}
.lfg6 .tabs{display:flex;gap:16px;padding:0 12px 8px;overflow-x:auto;scrollbar-width:none;align-items:center}
.lfg6 .tabs::-webkit-scrollbar{display:none}
.lfg6 .tabs button{font-size:11.5px;font-weight:600;color:var(--dim);white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:baseline;gap:4px;transition:color .12s;padding:2px 0;border-bottom:1.5px solid transparent}
.lfg6 .tabs button:hover{color:var(--ink)}
.lfg6 .tabs button .n{font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--faint)}
.lfg6 .tabs button[aria-selected="true"]{color:var(--ink);font-weight:900;border-bottom-color:var(--ink)}
.lfg6 .tabs button[aria-selected="true"] .n{color:var(--ink2)}
.lfg6 .tabs button[data-n="0"]{opacity:.45}
.lfg6 .mine{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;box-shadow:var(--shadow)}
.lfg6 .mine .bar{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 9px;background:var(--accent-wash);flex-wrap:wrap}
.lfg6 .mine .lb{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:var(--accent-ink)}
.lfg6 .mine .txt{font-size:12.5px;font-weight:800}
.lfg6 .mine .txt .sep{color:var(--faint);font-weight:400;margin:0 2px}
.lfg6 .mine .tl{font-size:11px;font-weight:900;color:var(--gold);font-variant-numeric:tabular-nums}
.lfg6 .mine .rt{margin-left:auto;display:flex;gap:4px}
.lfg6 .mine .crew{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.lfg6 .mine .crew .fr{width:22px;height:22px;border-radius:50%;border:1.5px dashed var(--line2);display:grid;place-items:center;color:var(--faint);font-size:9px;transition:.2s}
.lfg6 .mine .crew .fr.justfilled{border-style:solid;border-color:var(--live);color:var(--live)}
.lfg6 .mine .ready{display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 8px;border-radius:11px;background:var(--live-wash);color:var(--live);font-size:10.5px;font-weight:900;letter-spacing:.02em}
.lfg6 .mine .ready .d{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pgpulse 2.6s infinite}
.lfg6 .mine .fill{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line);overflow:hidden}
.lfg6 .mine .fill i{display:block;height:100%;background:var(--live);border-radius:0 2px 2px 0;transition:width .6s cubic-bezier(.2,.9,.2,1)}
.lfg6 .mine .cnt{font-size:13.5px;display:inline-block;font-weight:900;color:var(--live);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.lfg6 .reqchip{display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 8px;border-radius:11px;background:var(--card);border:1px solid var(--line2);font-size:11px;font-weight:700;color:var(--ink2);transition:.13s}
.lfg6 .reqchip:hover{background:var(--inset);color:var(--ink);border-color:var(--accent)}
.lfg6 .reqchip b{color:var(--accent-ink);font-weight:900}
.lfg6 .reqchip i{font-size:9px;transition:transform .18s}
.lfg6 .reqchip[aria-expanded="true"] i{transform:rotate(180deg)}
.lfg6 .apps{border-top:1px solid var(--line)}
.lfg6 .avslot{flex:0 0 34px;display:flex;justify-content:center;align-items:center}
.lfg6 .app .sb{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lfg6 .app{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;transition:background .12s}
.lfg6 .app:last-child{border-bottom:0}
.lfg6 .app:hover{background:var(--inset)}
.lfg6 .app .nm{font-weight:900}
.lfg6 .app .rt{margin-left:auto;display:flex;gap:4px;align-items:center}
.lfg6 .scout{
  --sc-face:var(--card);
  --sc-ink:var(--ink);--sc-sub:var(--dim);--sc-line:var(--line2);
  --sc-rail:var(--accent);--sc-glow:transparent;
  position:relative;background:var(--sc-face);color:var(--sc-ink);
  border:1px solid var(--line);border-left:4px solid var(--sc-rail);
  border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
[data-theme="dark"] .lfg6 .scout{
  --sc-face:var(--board-bg);--sc-ink:var(--board-ink);--sc-sub:var(--board-sub);--sc-line:var(--board-line);
  --sc-rail:var(--accent-ink);--sc-glow:rgba(43,208,107,.075)}
.lfg6 .scout .rl{padding-left:9px;cursor:default}
.lfg6 .scout .rl .nm{color:var(--sc-ink)}
.lfg6 .scout .rl .desc,.lfg6 .scout .rl .meta{color:var(--sc-sub)}
.lfg6 .scout .rl .age{color:var(--sc-sub)}
.lfg6 .scout .rl .l1 .rkd{color:var(--sc-sub)}
.lfg6 .scout .dnaw b{color:var(--live);font-weight:900}
.lfg6 .scout .chev{display:grid;place-items:center}
.lfg6 .scout::before{content:none}
.lfg6 .scout .kick{font-size:9px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:var(--sc-rail);
  border:1px solid var(--sc-rail);border-radius:3px;padding:1px 4px;flex:0 0 auto;opacity:.85}
.lfg6 .scout .btn.gh{color:var(--sc-sub)}
.lfg6 .scout .btn.gh:hover{background:var(--sc-hov);color:var(--sc-ink)}
.lfg6 .livebar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink2);box-shadow:var(--shadow);overflow:hidden}
.lfg6 .livebar .d{flex:0 0 34px;width:34px;height:7px;position:relative;background:none;border-radius:0}.lfg6 .livebar .d::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--live);animation:pgpulse 2.6s infinite}
.lfg6 .livebar .ev{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lfg6 .livebar .ev b{color:var(--ink);font-weight:900}
.lfg6 .livebar .ago{font-size:11px;color:var(--faint);white-space:nowrap;flex:0 0 auto;font-variant-numeric:tabular-nums}
.lfg6 .livebar .rt{margin-left:auto;font-size:11px;color:var(--faint);white-space:nowrap;flex:0 0 auto}
.lfg6 .livebar .ev.swap,.lfg6 .livebar .ago.swap{animation:evin .42s cubic-bezier(.16,.9,.24,1)}
@keyframes evin{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media (max-width:600px){
.lfg6 .livebar .rt{display:none}
}
.lfg6 .rows{display:flex;flex-direction:column}
.lfg6 .r{border-bottom:1px solid var(--line);transition:background .12s}
.lfg6 .r:last-child{border-bottom:0}
.lfg6 .r.hide{display:none}
.lfg6 .r.new{animation:slidein .5s cubic-bezier(.16,.9,.24,1)}
@keyframes slidein{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lfg6 .rl{display:grid;grid-template-columns:34px minmax(0,1fr) 52px 118px 108px 22px;align-items:center;gap:12px;padding:8px 12px;cursor:pointer}
.lfg6 .rl .age{font-size:11px;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.lfg6 .rl .age.fresh{color:var(--live);font-weight:800}
.lfg6 .r:hover{background:var(--zebra)}
.lfg6 .r.open{background:var(--inset)}
.lfg6 .rl .id{min-width:0}
.lfg6 .rl .l1{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;overflow:hidden}
.lfg6 .rl .l1 .rkd{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;color:var(--ink2);flex:0 0 auto}
.lfg6 .rl .l1 .rkd i{width:8px;height:8px;border-radius:2px;flex:0 0 auto}
.lfg6 .rl .l1 .rkd.unreal i{background:var(--gold-r)}
.lfg6 .rl .l1 .rkd.champ i{background:var(--champ)}
.lfg6 .rl .l1 .rkd.elite i{background:var(--elite)}
.lfg6 .rl .l1 .rkd.dia i{background:var(--dia)}
.lfg6 .rl .l1 .rkd.plat i{background:var(--plat)}
.lfg6 .rl .l1 .rkd.gold i{background:var(--gold-r)}
.lfg6 .rl .nm{font-size:15px;font-weight:900;letter-spacing:-.03em;white-space:nowrap;flex:0 0 auto}
.lfg6 .rl .md{flex:0 0 auto}
.lfg6 .pgtag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;color:var(--live);white-space:nowrap;flex:0 0 auto}
.lfg6 .pgtag .d{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pgpulse 2.6s infinite}
.lfg6 .rl .l2{display:flex;align-items:center;gap:8px;margin-top:4px;min-width:0}
.lfg6 .rl .desc{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
.lfg6 .rl .meta{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-size:10.5px;color:var(--faint);white-space:nowrap}
.lfg6 .rl .meta .rkd{display:inline-flex;align-items:center;gap:4px}
.lfg6 .rl .meta .rkd i{width:7px;height:7px;border-radius:2px;flex:0 0 auto}
.lfg6 .rl .meta .rkd.unreal i{background:var(--gold-r)}
.lfg6 .rl .meta .rkd.champ i{background:var(--champ)}
.lfg6 .rl .meta .rkd.elite i{background:var(--elite)}
.lfg6 .rl .meta .rkd.dia i{background:var(--dia)}
.lfg6 .rl .meta .rkd.plat i{background:var(--plat)}
.lfg6 .rl .meta .rkd.gold i{background:var(--gold-r)}
.lfg6 .rl .meta .mic{color:var(--live)}
.lfg6 .rl .seats{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.lfg6 .rl .seats{flex-direction:row;align-items:center;gap:8px}
.lfg6 .rl .seats .t{font-size:14px;font-weight:900;white-space:nowrap;letter-spacing:-.03em}
.lfg6 .rl .seats .t.free{color:var(--live)}
.lfg6 .rl .seats .t.full{color:var(--dim);font-size:12.5px}
.lfg6 .rl .pips i{width:8px;height:8px}
.lfg6 .rl .act{display:flex;justify-content:flex-end;min-width:0}
.lfg6 .rl .act .btn{max-width:100%;overflow:hidden}
.lfg6 .rl .chev{color:var(--faint);display:grid;place-items:center;font-size:11px;transition:transform .18s}
.lfg6 .r.open .chev{transform:rotate(180deg)}
.lfg6 .dnaw{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help}
.lfg6 .dnaw b{font-weight:600;font-size:11px;font-variant-numeric:tabular-nums;color:var(--faint);letter-spacing:-.01em;transition:color .13s}
.lfg6 .r:hover .dnaw b{color:var(--dim)}
.lfg6 .dnaw.hi b,.lfg6 .r:hover .dnaw.hi b{color:var(--live);font-weight:800}
.lfg6 .pop{position:absolute;left:-8px;top:calc(100% + 7px);width:242px;background:var(--card);border:1px solid var(--line2);border-radius:8px;box-shadow:var(--pop);padding:8px 12px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.14s;z-index:50;pointer-events:none;white-space:normal;cursor:auto}
.lfg6 .dnaw:hover .pop{opacity:1;visibility:visible;transform:none}
.lfg6 .dnaw.up .pop{top:auto;bottom:calc(100% + 7px)}
.lfg6 .pop .h{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}
.lfg6 .pop .h b{font-size:15px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.lfg6 .pop .l{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--ink2);padding:2px 0;line-height:1.35}
.lfg6 .pop .l i{color:var(--live);font-size:10px;flex:0 0 auto;margin-top:2px}
.lfg6 .pop .l b{color:var(--ink);font-weight:800}
@media (hover:none),(max-width:900px){
.lfg6 .pop{display:none}
}
.lfg6 .exp{display:none;padding:0 12px 12px 60px;border-top:1px dashed var(--line)}
.lfg6 .r.open .exp{display:block;animation:fade .25s ease-out}
@keyframes fade{from{opacity:0}to{opacity:1}}
.lfg6 .exp .say{position:relative;font-size:14px;color:var(--ink);line-height:1.5;padding:12px 0 2px 20px;max-width:66ch;font-weight:500;letter-spacing:-.01em}
.lfg6 .exp .say .q{position:absolute;left:0;top:6px;font-size:30px;line-height:1;color:var(--line2);font-weight:900}
.lfg6 .exp .blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px}
.lfg6 .exp .bl{min-width:0}
.lfg6 .exp .bh{display:flex;align-items:center;gap:8px;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;margin-bottom:8px}
.lfg6 .exp .bh i{font-size:10px;color:var(--dim)}
.lfg6 .exp .big{font-size:13.5px;font-weight:900;letter-spacing:-.02em}
.lfg6 .exp .bt{font-size:11px;color:var(--dim);margin-top:4px;line-height:1.4}
.lfg6 .exp .rep{display:flex;align-items:center;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.lfg6 .exp .rep .mt{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--dim)}
.lfg6 .exp .rep .dnaw b{font-size:12px}
.lfg6 .exp .quote{display:none}
.lfg6 .exp .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
@media (max-width:980px){
.lfg6 .exp .blocks{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
.lfg6 .exp .blocks{grid-template-columns:1fr}
}
.lfg6 .exp .cl{min-width:0}
.lfg6 .exp .cl .h{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;margin-bottom:8px}
.lfg6 .exp .kv{display:flex;gap:8px;font-size:11.5px;padding:2px 0}
.lfg6 .exp .kv .k{color:var(--dim);flex:0 0 auto}
.lfg6 .exp .kv .v{font-weight:800;margin-left:auto;text-align:right}
.lfg6 .exp .mem{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.lfg6 .exp .mem .p{display:flex;align-items:center;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2px 8px 2px 2px;font-size:11px;font-weight:800}
.lfg6 .exp .mem .fr{width:24px;height:24px;border-radius:50%;border:1.5px dashed var(--live);display:grid;place-items:center;color:var(--live);font-size:10px}
.lfg6 .exp .tags{display:flex;gap:4px;flex-wrap:wrap}
.lfg6 .exp .tg2{height:19px;padding:0 8px;border-radius:10px;background:var(--inset);font-size:10.5px;font-weight:800;color:var(--ink2);display:inline-flex;align-items:center;gap:4px}
.lfg6 .exp .tg2.g{background:var(--live-wash);color:var(--live)}
.lfg6 .exp .acts{display:flex;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.lfg6 .exp .acts .sp{margin-left:auto}
.lfg6 .sec-pl .rl{grid-template-columns:34px minmax(0,1fr) 168px 108px 22px}
.lfg6 .sec-pl .stat{display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:0}
.lfg6 .sec-pl .stat .on1{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--ink2);white-space:nowrap}
.lfg6 .sec-pl .stat .on1.pg{color:var(--live);font-weight:800}
.lfg6 .sec-pl .stat .on1.pg .d{animation:pgpulse 2.6s infinite}
.lfg6 .sec-pl .stat .on1.away{color:var(--dim)}
.lfg6 .sec-pl .stat .on1 .d{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.lfg6 .sec-pl .stat .mt2{font-size:11.5px;color:var(--dim);white-space:nowrap}
.lfg6 .sec-pl .stat .mt2{color:var(--faint)}
.lfg6 .sec-pl .stat .mt2 b{font-weight:600;color:var(--faint)}
.lfg6 .sec-pl .stat .mt2.hi b{color:var(--live);font-weight:800}
.lfg6 .empty{padding:28px 16px;text-align:center}
.lfg6 .empty .bi{font-size:20px;color:var(--faint)}
.lfg6 .empty .t{font-size:14px;font-weight:900;margin-top:8px;letter-spacing:-.02em}
.lfg6 .empty .s{font-size:12px;color:var(--dim);margin:5px auto 0;max-width:44ch}
.lfg6 .empty .a{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.lfg6 .statp{padding:8px 12px}
.lfg6 .statp .row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lfg6 .statp .dot{flex:0 0 22px;width:22px;height:9px;position:relative;background:none;border-radius:0}.lfg6 .statp .dot::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9.0px;height:9.0px;border-radius:50%;background:var(--live)}
.lfg6 .statp .dot.off{background:none}
.lfg6 .statp .dot.off::after{background:var(--dim)}
.lfg6 .statp .t{font-size:13px;font-weight:900;letter-spacing:-.02em;white-space:nowrap}
.lfg6 .statp .kv{display:flex;gap:8px;font-size:11.5px;padding:4px 0}
.lfg6 .statp .kv .k{color:var(--dim)}
.lfg6 .statp .kv .v{font-weight:800;margin-left:auto;display:flex;align-items:center;gap:4px}
.lfg6 .pulse2{font-size:12px;color:var(--dim);margin:8px 0 0}
.lfg6 .mini2{width:100%;margin-top:4px;padding-left:32px;font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lfg6 .chd.sub2{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.lfg6 .pulse2 b{color:var(--ink);font-weight:900}
.lfg6 .pulse2 .sep{opacity:.45;margin:0 4px}
.lfg6 .rl2{display:flex;align-items:center;gap:8px;padding:4px 12px;border-bottom:1px solid var(--line);font-size:11.5px;transition:background .12s}
.lfg6 .rl2:last-of-type{border-bottom:0}
.lfg6 .rl2:hover{background:var(--inset)}
.lfg6 .rl2 .nm{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lfg6 .rl2 .sb{font-size:10.5px;color:var(--dim);white-space:nowrap}
.lfg6 .rl2 .rt{margin-left:auto;flex:0 0 auto;display:flex;gap:4px;align-items:center}
.lfg6 .rl2 .hv{display:none}
.lfg6 .rl2:hover .hv{display:inline-flex}
.lfg6 .rl2:hover .nh{display:none}
.lfg6 .rl2 .fnm{min-width:0;display:flex;flex-direction:column;gap:1px}
.lfg6 .rl2 .fnm .nm{font-size:12px}
.lfg6 .rl2 .fsb{font-size:10.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lfg6 .rl2 .fsb.pg{color:var(--live);font-weight:700}
.lfg6 .rl2 .pct{font-size:10.5px;font-weight:700;color:var(--faint);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .14s}
.lfg6 .rl2:hover .pct{opacity:1}
.lfg6 .subhd{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;padding:8px 12px 4px;border-top:1px solid var(--line);margin-top:2px;background:var(--inset)}
.lfg6 .ld2{width:7px;height:7px;border-radius:50%;background:var(--live);flex:0 0 auto;animation:pgpulse 2.6s infinite}
.lfg6 .lfeed{padding:1px 0 4px}
.lfg6 .le{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:11px;color:var(--ink2);animation:evin .45s cubic-bezier(.16,.9,.24,1)}
.lfg6 .le .d{flex:0 0 22px;width:22px;height:5px;position:relative;background:none;border-radius:0;opacity:.75}.lfg6 .le .d::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5.0px;height:5.0px;border-radius:50%;background:var(--live)}
.lfg6 .le .tx{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lfg6 .le .tx b{color:var(--ink);font-weight:800}
.lfg6 .le .t{margin-left:auto;font-size:10px;color:var(--faint);flex:0 0 auto;font-variant-numeric:tabular-nums}
.lfg6 .sum{padding:8px 12px}
.lfg6 .sum .l{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0;color:var(--ink2)}
.lfg6 .sum .l b{font-size:13.5px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink);width:26px;text-align:right}
.lfg6 .sum .l .d{width:22px;height:7px;flex:0 0 22px;border-radius:0}
.lfg6 .foot{padding:8px 12px;border-top:1px solid var(--line);text-align:center}
.lfg6 .foot a{font-size:11px;font-weight:800;color:var(--accent-ink)}
.lfg6 .ov{position:fixed;inset:0;background:rgba(6,9,13,.62);z-index:200;display:grid;place-items:center;padding:16px;animation:fade .16s}
.lfg6 .mod{width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--pop);animation:pop .2s cubic-bezier(.16,.9,.24,1)}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.lfg6 .mod .h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.lfg6 .mod .h .t{font-size:15px;font-weight:900;letter-spacing:-.025em}
.lfg6 .mod .h .x{margin-left:auto}
.lfg6 .mod .b{padding:12px 16px}
.lfg6 .mod .f{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--inset);flex-wrap:wrap}
.lfg6 .mod .f .sp{margin-left:auto}
.lfg6 .steps{display:flex;gap:4px;margin-left:12px}
.lfg6 .steps i{width:20px;height:3px;border-radius:2px;background:var(--line2);transition:.2s}
.lfg6 .steps i.on{background:var(--accent);width:26px}
.lfg6 .stepno{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;margin-bottom:12px}
.lfg6 .chips.big button{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px}
.lfg6 .fromprof{font-size:11.5px;color:var(--dim);margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lfg6 .fromprof b{color:var(--ink2);font-weight:800}
.lfg6 .fg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.lfg6 .fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.lfg6 .fld label{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900}
.lfg6 .fld select,.lfg6 .fld input,.lfg6 .fld textarea{height:31px;padding:0 8px;border:1px solid var(--line2);border-radius:6px;background:var(--inset);color:var(--ink);font-size:12.5px;font-weight:600}
.lfg6 .fld textarea{height:52px;padding:8px 8px;resize:vertical;font-weight:400}
.lfg6 .fld.w{grid-column:1/-1}
.lfg6 .chips{display:flex;gap:4px;flex-wrap:wrap}
.lfg6 .chips button{height:25px;padding:0 8px;border-radius:13px;border:1px solid var(--line2);font-size:11px;font-weight:700;color:var(--ink2);transition:.12s}
.lfg6 .chips button:hover{background:var(--inset);color:var(--ink)}
.lfg6 .chips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:900}
.lfg6 .prev{margin-top:12px;border:1px dashed var(--line2);border-radius:8px;overflow:hidden}
.lfg6 .prev .pl2{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;padding:8px 12px 0}
.lfg6 .jsum{display:flex;gap:12px;align-items:center;padding:12px;background:var(--inset);border:1px solid var(--line);border-radius:8px}
.lfg6 .jsum .kv{display:flex;gap:8px;font-size:12px;padding:1px 0}
.lfg6 .jsum .kv .k{color:var(--dim);width:66px;flex:0 0 auto}
.lfg6 .jsum .kv .v{font-weight:800}
.lfg6 .toasts{position:fixed;right:16px;bottom:16px;z-index:300;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.lfg6 .toast{background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:20px;padding:8px 16px;font-size:12px;font-weight:700;box-shadow:var(--pop);display:flex;align-items:center;gap:8px;animation:tin .3s cubic-bezier(.16,.9,.24,1)}
@keyframes tin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.lfg6 .toast.out{animation:tout .3s forwards}
@keyframes tout{to{opacity:0;transform:translateX(12px)}}
.lfg6 .toast i{color:var(--live)}
[data-theme="dark"] .lfg6 .toast{background:var(--board-bg);color:var(--board-ink);border-color:var(--board-line)}
.lfg6 .resv{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:12px;background:var(--inset);
  border:1px solid var(--line2);color:var(--dim);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.lfg6 .btn.res{border-style:dashed}
.lfg6 .btn.inchat{background:var(--live-wash);border-color:transparent;color:var(--live);font-weight:900}
.lfg6 .btn.inchat:hover{background:var(--live);color:var(--onlive)}
.lfg6 .mine.joined{border-left-color:var(--live)}
.lfg6 .mine.joined .bar{background:var(--live-wash)}
.lfg6 .mine.joined .lb{color:var(--live)}
.lfg6 .axes{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.lfg6 .axr{display:grid;grid-template-columns:96px 1fr 32px;align-items:center;gap:8px;font-size:11.5px}
.lfg6 .axr .an{color:var(--dim);font-weight:700}
.lfg6 .axr .ab{height:6px;border-radius:3px;background:var(--inset);overflow:hidden}
.lfg6 .axr .ab i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .5s cubic-bezier(.2,.9,.2,1)}
.lfg6 .axr .ab i.hi{background:var(--live)}
.lfg6 .axr .av2{text-align:right;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink2)}
.lfg6 .srhd{display:flex;align-items:center;gap:12px}
.lfg6 .srhd .big{font-size:30px;font-weight:900;letter-spacing:-.055em;color:var(--live);line-height:1;font-variant-numeric:tabular-nums}
.lfg6 .srhd .bd{min-width:0}
.lfg6 .srhd .bd b{font-size:15px;font-weight:900;display:block;letter-spacing:-.03em}
.lfg6 .srhd .bd s{text-decoration:none;font-size:11.5px;color:var(--dim)}
.lfg6 .slist{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.lfg6 .slist .l{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--ink2);line-height:1.35}
.lfg6 .slist .l i{flex:0 0 auto;margin-top:2px}
.lfg6 .deck{position:relative;height:236px;margin:4px 0 8px}
.lfg6 .dcard{position:absolute;inset:0;background:var(--card);border:1px solid var(--line2);border-radius:8px;padding:12px;
  display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .28s}
.lfg6 .dcard.gone-l{transform:translateX(-120%) rotate(-8deg);opacity:0}
.lfg6 .dcard.gone-r{transform:translateX(120%) rotate(8deg);opacity:0}
.lfg6 .dcard .top{display:flex;align-items:center;gap:8px}
.lfg6 .dcard .why{font-size:12.5px;color:var(--ink2);line-height:1.45}
.lfg6 .dcard .tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
.lfg6 .deck .none{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:12.5px;text-align:center;padding:16px}
.lfg6 .evc{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.lfg6 .evc button{display:inline-flex;align-items:center;gap:4px;height:23px;padding:0 8px;border-radius:12px;border:1px solid var(--line2);
  background:var(--card);font-size:10.5px;font-weight:800;color:var(--ink2);transition:.13s}
.lfg6 .evc button:hover{border-color:var(--accent);color:var(--accent-ink)}
.lfg6 .evc button[aria-pressed="true"]{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-ink)}
.lfg6 .evc button .n{font-variant-numeric:tabular-nums;color:var(--faint);font-weight:900}
.lfg6 .evc button[aria-pressed="true"] .n{color:var(--accent-ink)}
.lfg6 .gang{padding:8px 12px;display:flex;align-items:center;gap:8px}
.lfg6 .gang .avs{display:flex;align-items:center}
.lfg6 .gang .avs .av{margin-left:-6px;box-shadow:0 0 0 2px var(--card)}
.lfg6 .gang .avs .av:first-child{margin-left:0}
.lfg6 .gang .tx{min-width:0;font-size:11.5px;color:var(--dim);line-height:1.3}
.lfg6 .gang .tx b{color:var(--ink);font-weight:800;display:block;font-size:12px}
.lfg6 .gang .rt{margin-left:auto;flex:0 0 auto}
/* Gäng → squad (FAS 9). Egen rad under gänget, inte en fjärde knapp i samma
   rad: förslaget ska kunna ignoreras utan att vara i vägen. */
.lfg6 .gang-squad{padding:8px 12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}
.lfg6 .gang-squad .tx{min-width:0;font-size:11.5px;color:var(--dim);line-height:1.3}
.lfg6 .gang-squad .tx b{color:var(--ink);font-weight:800}
.lfg6 .gang-squad .btn{margin-left:auto;flex:0 0 auto}
.lfg6 .cop{padding:8px 12px;background:var(--accent-wash);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.lfg6 .cop .tx{font-size:11.5px;color:var(--ink2);min-width:0;line-height:1.3}
.lfg6 .cop .tx b{font-weight:900;color:var(--ink)}
.lfg6 .cop .rt{margin-left:auto;display:flex;gap:4px;flex:0 0 auto}
.lfg6 .nev{padding:8px 12px;display:flex;align-items:center;gap:8px}
.lfg6 .nev .cd{font-size:15px;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--gold)}
.lfg6 .nev .tx{font-size:11.5px;color:var(--dim);min-width:0}
.lfg6 .nev .tx b{display:block;color:var(--ink);font-weight:800;font-size:12px}
.lfg6 .nev .rt{margin-left:auto;flex:0 0 auto}
.lfg6 .shr{display:flex;align-items:center;gap:4px;padding:8px 12px}
.lfg6 .shr .lb{font-size:11.5px;color:var(--dim);margin-right:auto}
.lfg6 .shr button{width:26px;height:26px;border-radius:6px;border:1px solid var(--line2);color:var(--dim);display:grid;place-items:center;transition:.13s}
.lfg6 .shr button:hover{color:var(--ink);border-color:var(--line2);background:var(--inset)}
.lfg6 .strm{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}
.lfg6 .strm .dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:0 0 auto;animation:pgpulse 2.6s infinite}
.lfg6 .strm .tx{font-size:11.5px;color:var(--ink2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lfg6 .strm .tx b{font-weight:900}
.lfg6 .strm .rt{margin-left:auto;font-size:10.5px;color:var(--faint);flex:0 0 auto;font-variant-numeric:tabular-nums}
@media (max-width:1080px){
.lfg6 .shell{grid-template-columns:1fr 268px}
}
@media (max-width:960px){
.lfg6 .shell{grid-template-columns:1fr;padding:12px 12px 64px}
.lfg6 .rail{position:static}
.lfg6 .nav{display:none}
.lfg6 .rl{grid-template-columns:34px minmax(0,1fr) 46px 96px 92px 22px;gap:8px}
.lfg6 .sec-pl .rl{grid-template-columns:34px minmax(0,1fr) 132px 92px 22px;gap:8px}
.lfg6 .rl .meta .hidesm{display:none}
.lfg6 .exp .cols{grid-template-columns:1fr}
.lfg6 .exp{padding-left:12px}
}
@media (max-width:600px){
.lfg6 .rl{grid-template-columns:34px minmax(0,1fr) 84px 22px;row-gap:8px;padding:8px 12px}
.lfg6 .sec-pl .rl{grid-template-columns:34px minmax(0,1fr) 100px 22px;row-gap:8px;padding:8px 12px}
.lfg6 .rl .age{display:none}
.lfg6 .tools h1{flex:1 1 auto;margin-right:0}
.lfg6 .tools .tbar .cta{flex:0 0 auto}
.lfg6 .tools .tbar .sf{flex:1 1 100%;order:1}
.lfg6 .tools .tbar .tg,.lfg6 .tools .tbar #advBtn,.lfg6 .tools .tbar #clearBtn{order:2;flex:1 1 auto}
.lfg6 .rl .chev{grid-row:1;grid-column:4}
.lfg6 .rl .act{grid-column:1/-1;grid-row:2;justify-content:stretch}
.lfg6 .rl .act .btn{width:100%}
.lfg6 .rl .desc{display:none}
.lfg6 .rl .meta{flex:1 1 auto;justify-content:flex-start;gap:8px}
.lfg6 .sec-pl .stat{align-items:flex-end}
.lfg6 .fg{grid-template-columns:1fr}
.lfg6 .wal .lv{display:none}
.lfg6 .mine .rt{width:100%;margin-left:0}
.lfg6 .axr{grid-template-columns:80px 1fr 30px}
}
/* ═══════════════════════════════════════════════════════════════════════════
   CHAT-FIRST FIXAR (2026-07-30) — funna av verifiering,inte av gissning
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. KLASSKONTRAKTET. pulse-lfg.js sätter `is-open`; 6.8:s CSS lyssnade
      på `.on`. Utan detta blir chattdrawern och scrimen ALDRIG synliga, och
      modalerna visas inte trots att aria-tillståndet växlar.
      2. SYNLIGHETEN: [hidden] måste vinna. Tidigare stod här ett tidigt
      var `.r.open .exp{display:block}`. `.lfg6 .exp` (0,2,0) slog dessutom
      `.lfg-exp` (0,1,0) → display:none även utan hidden. ─────────────────── */
.lfg6 .exp[hidden]{display:none}.lfg6 .exp:not([hidden]){display:block}.lfg6 .r.open .exp{display:block}/* ── 3. CHEVRONEN är nu en <button> (tangentbordsåtkomst + slutar äta
      radens egna knappklick). Ska se ut exakt som förut. ─────────────────── */
.lfg6 .chev{background:none;border:0;padding:0;color:var(--faint);
  display:grid;place-items:center;font-size:11px;cursor:pointer;
  transition:transform .18s;min-width:22px}.lfg6 .chev:hover{color:var(--ink2)}.lfg6 [aria-expanded="true"] > .bi-chevron-down,.lfg6 .chev[aria-expanded="true"]{transform:rotate(180deg)}/* ── 4. "Fler filter"-panelen. #advBtn hade ingen hanterare i pulse-lfg.js,så 5 select-fält och "Endast söker nu" var helt onåbara. ─────────────── */
.lfg6 .adv{display:none}.lfg6 .adv.is-open{display:flex}/* ── 5. KONTRAST. Scopade textvarianter av de två svagaste tokens.
      --faint på vitt gav 3.63:1 och på --card i mörkt 2.97:1.
      --live som TEXT gav 2.85–3.18:1. Samma färgfamilj,godkänd kontrast. ── */
/* ── ODEFINIERADE VARIABLER, LAGAT 2026-08-05 ────────────────────────────────
   --pop användes av DNA-popovern, alla fyra modaler och toasten UTAN fallback,
   och definierades ingenstans — de renderades helt utan skugga i båda lägena.
   --sc-hov användes av scoutradens ghost-knappar och fanns inte heller, så de
   hade ingen hover alls. Båda får nu värden ur temats egna primitiver.
   ─────────────────────────────────────────────────────────────────────────── */
/* Dold default-submit: äger Enter i sökrutan så att den inte trycker på första
   synliga knappen. Får inte ta plats och får inte nås med tangentbord. */
.lfg6 .lfg-default-submit{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.lfg6{--pop:0 6px 20px rgba(16,24,40,.14); --sc-hov:var(--inset)}
[data-theme="dark"] .lfg6{--pop:0 6px 22px rgba(0,0,0,.55)}
.lfg6{--faint-ink:#5d6673;--live-ink:#0f7a36;--gold-ink:#7a5500}[data-theme="dark"] .lfg6{--faint-ink:#8b95a3;--live-ink:#54dc86;--gold-ink:#e8b64a}.lfg6 .ago,.lfg6 .rl .age,.lfg6 .chd,.lfg6 .subhd,.lfg6 .rl .desc,.lfg6 .rl .meta,.lfg6 .livebar .ago,.lfg6 .livebar .rt,.lfg6 .segs .n,.lfg6 .tabs button .n,.lfg6 .tabs a .n,.lfg6 .tabs a .n,.lfg6 .le .ago,.lfg6 .hidesm,.lfg6 .foot a{color:var(--faint-ink)}.lfg6 .pgtag,.lfg6 .mt.mic,.lfg6 .rl .meta .mic,.lfg6 .rl .age.fresh,.lfg6 .dnaw.hi b,.lfg6 .mine .lb,.lfg6 .mine .cnt,.lfg6 .mine .ready,.lfg6 .btn.inchat,.lfg6 .joined .lb,.lfg6 .on1.pg{color:var(--live-ink)}.lfg6 .mine .tl{color:var(--gold-ink)}.lfg6 .scout .kick{color:var(--accent-ink);border-color:var(--accent-ink);opacity:1}.lfg6 .resv{color:var(--ink2)}/* Vit text på --live räckte inte i mörkt tema (1.79:1) — --onlive är rätt
   token och måste vinna över allt som pulse-lfg.css sätter. */
.lfg6 .btn.g,.lfg6 .btn.g:hover,.lfg6 .btn.g:focus,.lfg6 a.btn.g{color:var(--onlive)}/* Fokusringen: --accent gav bara 2.26–3.12:1 mot ljusa ytor. Dubbel ring. */
.lfg6 :focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;
  box-shadow:0 0 0 4px var(--card)}.lfg6 .sf input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:1px}/* ── 6. RÖRELSE. CSS:ens reduce-block pekade på selektorer som inte finns i
      markupen,så en 2,6-sekunders oändlig puls låg kvar på 8–17 element. ── */
@media (prefers-reduced-motion:reduce){.lfg6 *,.lfg6 *::before,.lfg6 *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}/* ── 7. MOBIL. 0 av 39 träffytor nådde 44px,och Din grupp-radens knappar
      klipptes bort utanför skärmen. ───────────────────────────────────────── */
@media (max-width:600px){/* Träffytor */
  .lfg6 .btn{min-height:44px;padding:0 14px}.lfg6 .btn.xs{min-height:40px;padding:0 12px}.lfg6 .btn.cta{min-height:48px}.lfg6 .tg,.lfg6 .sel,.lfg6 .sf input{min-height:44px}.lfg6 .reqchip,.lfg6 .mine .ready{min-height:40px}.lfg6 .chev{min-height:40px;min-width:40px}.lfg6 .shr button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}.lfg6 .tabs a,.lfg6 .tabs button,.lfg6 .tabs a{min-height:44px;align-items:center}.lfg6 .segs a,.lfg6 .segs button,.lfg6 .segs a{min-height:44px}.lfg6 .foot a{display:inline-flex;align-items:center;min-height:44px}.lfg6 .gang .foot a{min-height:44px}/* Din grupp: låt raden wrappa istället för att klippas */
  .lfg6 .mine .bar{flex-wrap:wrap;row-gap:8px;padding:8px 12px}.lfg6 .mine .rt{width:100%;margin-left:0;flex-wrap:wrap;gap:4px}.lfg6 .mine .rt > *{flex:1 1 auto;min-width:0}.lfg6 .mine .crew{order:-1}.lfg6 .joined .bar{flex-wrap:wrap;row-gap:8px}.lfg6 .joined .rt{width:100%;margin-left:0;gap:4px}.lfg6 .joined .rt > *{flex:1 1 auto}/* Rader: namnet får plats,det som inte ryms göms i stället för att klippas */
  .lfg6 .rl .l1{flex-wrap:nowrap;min-width:0;overflow:hidden}.lfg6 .rl .nm{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lfg6 .rl .l1 .rkd,.lfg6 .rl .l1 .pgtag,.lfg6 .scout .kick{display:none}.lfg6 .scout .rl{grid-template-columns:34px minmax(0,1fr) 84px 40px;row-gap:8px}.lfg6 .scout .age,.lfg6 .scout .desc{display:none}/* Verktygsraden och filterpanelen */
  .lfg6 .tools .tbar{row-gap:8px}.lfg6 .adv.is-open{gap:8px}.lfg6 .adv .sel{flex:1 1 46%;min-width:0}.lfg6 .adv .lb{flex:0 0 100%}/* Panelhuvudet: scrolla flikarna,wrappa kontrollerna */
  .lfg6 .phd{flex-wrap:wrap;row-gap:8px}.lfg6 .segs{width:100%;overflow-x:auto;scrollbar-width:none}.lfg6 .segs::-webkit-scrollbar{display:none}.lfg6 .phd .rt{width:100%;margin-left:0;flex-wrap:wrap;gap:4px}.lfg6 .phd .rt > *{flex:1 1 auto}/* Chatt och modaler */
}
@media (max-width:400px){.lfg6 .rl .md,.lfg6 .mine .md,.lfg6 .joined .md{display:none}.lfg6 .mine .tl{display:none}
}/* ── 8. LÅNG TEXT får aldrig spränga griden,oavsett bredd ─────────────────── */
.lfg6 .rl .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.lfg6 .rl .l1{min-width:0;overflow:hidden}.lfg6 .rl .l1 .rkd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lfg6 .mine .txt,.lfg6 .joined .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lfg6 .gang .tx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.lfg6 h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/* ── 9. Tomlägets rubrik gick från h3 till h2 — behåll utseendet ──────────── */
.lfg6 .empty .eh{font-size:15px;font-weight:900;letter-spacing:-.03em;margin-bottom:4px}.lfg6 h2.chd,.lfg6 h2.subhd{font-size:9.5px}.lfg6 .mod h2.t{font-size:14.5px;font-weight:900;letter-spacing:-.028em}/* ── 10. LÅNG TEXT i .l1 klipptes utan ellips upp till 900px. Låt varje del
      krympa och avsluta med ellips i stället för att kapas mitt i. ───────── */
.lfg6 .rl .l1 > *{min-width:0}.lfg6 .rl .l1 .rkd,.lfg6 .rl .l1 .md,.lfg6 .scout .kick{
  flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.lfg6 .rl .l1 .pgtag{display:none}      /* finns kvar i .l2-metan */
}
@media (max-width:820px){.lfg6 .scout .kick{display:none}        /* blå vänsterkant + tvätt markerar ändå raden */
}/* ── 11. Vyn anvander <a role="tab"> for flikarna (server-side filtrering).
      6.8:s CSS skrevs mot <button>,sa aktiv flik tappade sin stil OCH sin
      white-space:nowrap -> texten radbrots pa mobil. Selektorerna ar nu
      breddade PA PLATS,sa varje regel behaller sin media-kontext.
      .crew{order:0}aterstaller ordningen i Din grupp-raden. */
.lfg6 .mine .crew{order:0}/* ── 12. `hidden` MÅSTE vinna inuti .lfg6.
      Verifierat live: `#liveBar[hidden]` fick `display:flex` — forre_pulse.css
      `[hidden]{display:none!important}` gäller inte i det här sammanhanget,och
      `.lfg6 .livebar{display:flex}` (0,2,0) slog attributselektorn (0,1,0).
      Samma fälla gällde varje `hidden`-styrd yta: tomlägen,ansökningskön,coplay,vän-förslag,partyinbjudningar. ─────────────────────────────────── */
.lfg6 [hidden]{display:none!important}/* Ansökningskön: hooken ligger nu på en egen behållare som gamla JS:en fyller. */
.lfg6 .reqwrap{display:inline-flex;align-items:center}.lfg6 .reqwrap:empty{display:none}.lfg6 .reqwrap .lfg-req-cap{display:inline-flex;align-items:center;height:23px;padding:0 8px;
  border-radius:12px;background:var(--card);border:1px solid var(--line2);
  font-size:11px;font-weight:700;color:var(--ink2)}
@media (max-width:600px){.lfg6 .reqwrap .lfg-req-cap{min-height:40px}}

/* ═══════════════════════════════════════════════════════════════════════════
   MEDLEMSRADEN I MESSENGERN (2026-07-30)

   Chatten är messengern — inte en egen drawer. Det enda som saknades där var
   vilka som är med, så pulse-lfg.js injicerar den här raden sticky direkt
   under .pm-win-head, och under den en genväg till squad-chatten.

   OBS: ligger UTANFÖR .lfg6 — messengerfönstret monteras i #pmWindows, inte
   i sidans träd. Egen prefix `lfgroom-` i stället för scope.
   ═══════════════════════════════════════════════════════════════════════════ */
.lfgroom-strip{position:sticky;top:0;z-index:3;background:var(--inset);
  border-bottom:1px solid var(--line);padding:8px 12px;display:flex;
  flex-direction:column;gap:8px;font-family:Roboto,system-ui,sans-serif}
.lfgroom-lb{display:flex;align-items:center;gap:8px;font-size:9.5px;
  letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:var(--dim)}
.lfgroom-lb .rt{margin-left:auto;letter-spacing:0;text-transform:none;
  font-size:10.5px;font-weight:700;color:var(--ink2)}
.lfgroom-people{display:flex;flex-wrap:wrap;gap:4px}
.lfgroom-p{display:inline-flex;align-items:center;gap:4px;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:2px 8px 2px 2px;
  font-size:11px;font-weight:800;color:var(--ink);max-width:100%}
.lfgroom-p.is-away{opacity:.55}
.lfgroom-p.is-party{border-color:var(--live)}
.lfgroom-av{width:18px;height:18px;border-radius:50%;background:#4a5c73;color:#fff;
  display:grid;place-items:center;font-size:8px;font-weight:900;flex:0 0 auto}
.lfgroom-p s{text-decoration:none;font-size:10px;font-weight:900;padding:0 2px}
.lfgroom-p s.in{color:var(--live)}
.lfgroom-p s.off{color:var(--faint);font-weight:700}
.lfgroom-p .act{font-size:10px;font-weight:900;color:var(--accent-ink);
  padding:0 2px;background:none;border:0;cursor:pointer}
.lfgroom-p .act:hover{text-decoration:underline}
.lfgroom-squad{display:flex;align-items:center;gap:8px;width:100%;
  background:var(--card);border:1px solid var(--line);border-radius:6px;
  padding:6px 10px;font-size:11.5px;font-weight:800;color:var(--ink);
  cursor:pointer;text-align:left}
.lfgroom-squad:hover{border-color:var(--accent);color:var(--accent-ink)}
.lfgroom-squad s{text-decoration:none;margin-left:auto;font-size:10px;
  font-weight:700;color:var(--faint)}
.lfgroom-squad i{color:var(--accent-ink)}
@media (max-width:600px){
  .lfgroom-p{min-height:32px}
  .lfgroom-squad{min-height:40px}
}

/* Kryssrutan i skapa-modalen var 13px bred. Etiketten är träffytan, men gör
   rutan större ändå — 13px är för litet för en tumme. */
.lfg6 .chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.lfg6 .chk input{width:18px;height:18px;accent-color:var(--accent);flex:0 0 auto;margin:0}
@media (max-width:600px){
  .lfg6 .chk{min-height:44px}
  .lfg6 .chk input{width:22px;height:22px}
}

@media (max-width:600px){
  .lfg6 .shr button,.lfg6 .shr > button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}
}

/* ============================================================
   SLUTFIX — modalsynlighet. Ligger SIST i filen med flit.
   .lfg6 .ov{display:grid} (0,2,0) slår .lfgmodal{display:none} (0,1,0),
   vilket gjorde att alla fyra modaler låg öppna över sidan.
   Nedan vinner på både specificitet och ordning.
   ============================================================ */
.lfg6 .ov.lfgmodal{display:none}
.lfg6 .ov.lfgmodal.is-open{display:grid;place-items:center}

/* ============================================================
   SLUTFIX — flikar. Vyn renderar <a role="tab">, 6.8-CSS:en
   stylade bara <button>. Aktiv flik såg exakt ut som de andra.
   [role=tab] täcker både <a> och <button>.
   ============================================================ */
.lfg6 .tabs [role="tab"]{font-size:11.5px;font-weight:600;color:var(--dim);
  white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:baseline;
  gap:4px;transition:color .12s;padding:2px 0;border-bottom:1.5px solid transparent;
  text-decoration:none;background:none;cursor:pointer}
.lfg6 .tabs [role="tab"]:hover{color:var(--ink)}
.lfg6 .tabs [role="tab"] .n{font-size:10px;font-weight:800;
  font-variant-numeric:tabular-nums;color:var(--faint-ink)}
.lfg6 .tabs [role="tab"][data-n="0"]{opacity:.45}
.lfg6 .tabs [role="tab"][aria-selected="true"]{color:var(--ink);font-weight:900;
  border-bottom-color:var(--ink);opacity:1}
.lfg6 .tabs [role="tab"][aria-selected="true"] .n{color:var(--ink2)}

.lfg6 .segs [role="tab"]{height:39px;padding:0 20px;border-radius:8px;
  font-size:13.5px;font-weight:800;color:var(--dim);display:inline-flex;
  align-items:center;gap:8px;white-space:nowrap;transition:.13s;
  letter-spacing:-.015em;text-decoration:none;background:none;cursor:pointer}
.lfg6 .segs [role="tab"]:hover{color:var(--ink)}
.lfg6 .segs [role="tab"] .n{font-size:10.5px;font-weight:900;
  font-variant-numeric:tabular-nums;color:var(--faint-ink);background:var(--card);
  border-radius:9px;padding:2px 8px}
.lfg6 .segs [role="tab"][aria-selected="true"]{background:var(--accent);color:var(--onaccent,#fff);
  font-weight:900;box-shadow:0 2px 8px rgba(39,150,242,.28)}
.lfg6 .segs [role="tab"][aria-selected="true"] .n{background:rgba(255,255,255,.22);color:var(--onaccent,#fff)}

@media (max-width:600px){
  .lfg6 .tabs [role="tab"]{min-height:44px;align-items:center}
  .lfg6 .segs [role="tab"]{min-height:44px}
}

/* ============================================================
   SLUTFIX — --onlive saknades helt. Tokenen finns i 6.8-mockupen
   men portades aldrig, så color:var(--onlive) blev ogiltig och
   ärvde --ink → vit text på ljusgrönt = 1.79:1 i mörkt tema.
   Värdena nedan är mockupens egna (rad 23 och 36 i 6.8).
   Ljust: #fff på #1aa64b. Mörkt: #06170c på #2bd06b (8.6:1).
   ============================================================ */
.lfg6{--onlive:#fff}
[data-theme="dark"] .lfg6{--onlive:#06170c}

/* ============================================================
   SLUTFIX — inaktiv segmentflik låg på 4.26:1 (ljust) / 4.48:1
   (mörkt). --dim mot --inset når inte AA för 13.5px text.
   Minimal knuff från --dim, samma visuella hierarki.
   ============================================================ */
.lfg6{--seg-ink:#5f6875}
[data-theme="dark"] .lfg6{--seg-ink:#8b95a3}
.lfg6 .segs [role="tab"]{color:var(--seg-ink)}
.lfg6 .segs [role="tab"]:hover{color:var(--ink)}
.lfg6 .segs [role="tab"][aria-selected="true"]{color:var(--onaccent,#fff)}

/* ============================================================
   SLUTFIX — sista två gradienterna på sidan kom från
   forre_pulse.css .chd (panelrubrikerna i högerspalten).
   Den regeln är sajtövergripande, så den plattas bara inuti
   .lfg6 — resten av FORRE rörs inte.
   ============================================================ */
.lfg6 .chd{background:var(--card)}

/* ============================================================
   SLUTFIX — bort med de färgade 4px-listerna i vänsterkanten.
   Banden behåller sin färgidentitet via .bar-tonen; kanten blir
   1px --line precis som de tre andra sidorna. Vänsterpaddingen
   kompenseras så inget hoppar i sidled.
   ============================================================ */
.lfg6 .mine,
.lfg6 .mine.joined,
.lfg6 .scout{border-left:1px solid var(--line)}
.lfg6 .mine .bar{padding-left:12px}
.lfg6 .scout .rl{padding-left:12px}


/* ── Radering av eget chattmeddelande (§9, 2026-08-04) ─────────────────────
   Tyst i viloläge: knappen syns först vid hover över raden. Radera är aldrig
   det man vill göra, så den ska inte konkurrera med bubblan om blicken. */
.lfg-msg { position:relative; }
.lfg-msg-del{
  position:absolute; top:0; right:100%; margin-right:4px;
  width:22px; height:22px; display:grid; place-items:center;
  border:0; background:none; color:var(--dim); cursor:pointer;
  border-radius:var(--r-sm); font-size:11px; line-height:1;
  opacity:0; transition:opacity .12s ease, color .12s ease, background .12s ease;
}
.lfg-msg:hover .lfg-msg-del,
.lfg-msg-del:focus-visible{ opacity:1; }
.lfg-msg-del:hover{ color:var(--danger); background:var(--inset); }
.lfg-msg.is-me .lfg-msg-del{ right:100%; }

/* Raderad rad — byter ut bubblan PÅ PLATS, ingen modal. */
.lfg-msg-gone{
  font-size:12px; color:var(--dim); font-style:italic;
  padding:7px 11px; border:1px dashed var(--line2); border-radius:14px;
}
.lfg-msg-undo{
  display:inline-flex; align-items:center; gap:5px; margin-top:3px;
  font-size:11px; font-weight:700; color:var(--accent);
  border:0; background:none; cursor:pointer; padding:2px 2px;
}
.lfg-msg-undo:hover{ text-decoration:underline; }
.lfg-msg-undo-t{
  min-width:15px; height:15px; display:grid; place-items:center;
  font-size:9.5px; font-weight:800; border-radius:999px;
  background:var(--accent-wash); color:var(--accent-ink);
}
.lfg-msg-failed .lfg-msg-bub{ border-color:var(--danger); }

/* ═══════════════════════════════════════════════════════════════════════════
   ETAPP 1 — MATCHPANELEN, INKORGEN OCH VÄNTRUMMET   (2026-08-05, Kentas brief)
   ═══════════════════════════════════════════════════════════════════════════
   Ligger SIST i filen med flit: fyra tidigare "slutfix"-block nedanför rad 1500
   vinner på källordning, och etapp 1 ska inte skuggas av dem.

   Regler som gäller hela blocket:
     · Bara tokens. Noll hårdkodade hex — den här filen har redan 56 för många.
     · var(--r) på paneler och knappar, 999px på pillar, 50% på avatarer.
     · EN fylld primärknapp per vy. Allt annat är ramlöst eller dämpat.
     · Färg = betydelse: GRÖNT = närvaro, BLÅTT = människor pratar, GULD = väntar.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Matchpanelen ─────────────────────────────────────────────────────────── */
.lfg6 .mp{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; margin-bottom:10px;
}
.lfg6 .mp-crit{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:11px 14px 0;
}
.lfg6 .mp-lb{
  font-size:9.5px; font-weight:900; letter-spacing:.11em; text-transform:uppercase;
  color:var(--faint-ink); margin-right:2px;
}
.lfg6 .mp-crit .sel{ height:28px; }
.lfg6 .mp-chk{
  display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px;
  border:1px solid var(--line2); border-radius:var(--r); background:var(--inset);
  font-size:12px; font-weight:700; color:var(--ink2); cursor:pointer;
}
.lfg6 .mp-chk input{ accent-color:var(--accent); margin:0; }
.lfg6 .mp-chk:has(input:checked){
  background:var(--accent-wash); border-color:var(--accent); color:var(--accent-ink);
}
.lfg6 .mp-go{
  display:flex; align-items:center; gap:11px; flex-wrap:wrap; padding:11px 14px 13px;
}
.lfg6 .btn.lg{ height:40px; padding:0 18px; font-size:14px; font-weight:900; }
.lfg6 .mp-hint{ font-size:12px; color:var(--faint-ink); flex:1; min-width:180px; }
.lfg6 .mp-hint.err{ color:var(--danger); }

/* ── Kandidatkort ─────────────────────────────────────────────────────────── */
.lfg6 .mp-res{ border-top:1px solid var(--line); }
.lfg6 .cand{
  display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px;
  padding:12px 14px; border-top:1px solid var(--line); align-items:start;
}
.lfg6 .mp-res > .cand:first-child{ border-top:0; }
.lfg6 .cand .l1{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.lfg6 .cand .nm{ font-size:15px; font-weight:900; letter-spacing:-.01em; color:var(--ink); }
.lfg6 .cand .why{ display:flex; gap:5px; flex-wrap:wrap; margin-top:6px; }
.lfg6 .cand .w{
  display:inline-flex; align-items:center; gap:5px; padding:2px 9px;
  border:1px solid var(--line); border-radius:999px; background:var(--inset);
  font-size:11px; font-weight:700; color:var(--ink2); white-space:nowrap;
}
.lfg6 .cand .w i{ color:var(--live-ink); font-size:11px; }
.lfg6 .cand .w.pct{ background:var(--live-wash); border-color:transparent; color:var(--live-ink); }
.lfg6 .cand .w.wait i{ color:var(--gold-ink); }
/* Den färdigskrivna första meningen. Ser ut som ett fält för att den ÄR ett
   fält — man ska känna att den går att ändra innan man skickar. */
.lfg6 .cand .ask{
  display:flex; align-items:center; gap:8px; margin-top:9px; padding:0 10px;
  background:var(--inset); border:1px solid var(--line); border-radius:var(--r);
}
.lfg6 .cand .ask input{
  flex:1; min-width:0; height:34px; border:0; background:none; outline:none;
  font:inherit; font-size:12.5px; color:var(--ink);
}
.lfg6 .cand .ask i{ color:var(--faint-ink); font-size:12px; }
.lfg6 .cand .ask:focus-within{ border-color:var(--accent); }
.lfg6 .cand .acts{ display:flex; gap:6px; flex-wrap:wrap; margin-top:9px; }
/* Skickad: raden byts ut PÅ PLATS, ingen modal, ingen omladdning. */
.lfg6 .cand.sent .ask,
.lfg6 .cand.sent .acts{ display:none; }
.lfg6 .cand .done{
  display:none; align-items:center; gap:8px; margin-top:9px; padding:8px 11px;
  background:var(--live-wash); border-radius:var(--r);
  font-size:12.5px; font-weight:800; color:var(--live-ink);
}
.lfg6 .cand.sent .done{ display:flex; }

/* ── Inkorgen och väntrummet (högerrailen, 320 px) ───────────────────────── */
/* KLASSKROCK, upptäckt på live 2026-08-05: raden hette först .ib — men
   .lfg6 .ib finns redan på rad 902 som en 29x29 px ikonknapp från 6.8-mockupens
   (oanvända) topbar. display:flex vann på källordning men width:29px gjorde det
   inte, så varje rad blev 29 px bred och namn, text och knapp lade sig ovanpå
   varandra. Prefix .lfgm-* på allt eget — samma fälla som .av.m mot .rad .m. */
.lfg6 .lfgm-inbox .chd .n,
.lfg6 .lfgm-bench .chd .n{
  font-size:10.5px; font-weight:900; border-radius:999px; padding:0 6px;
  background:var(--accent); color:var(--onaccent,#fff); letter-spacing:0;
}
.lfg6 .lfgm-bench .chd .n{ background:var(--gold); }
.lfg6 .lfgm-row{
  display:flex; align-items:center; gap:9px; padding:9px 12px;
  border-top:1px solid var(--line);
}
.lfg6 .lfgm-row:first-of-type{ border-top:0; }
/* .nm och .sub är <span> — inline, alltså SAMMA rad om man inte säger annat.
   Uppmätt på live 2026-08-05: "Deejayamme" och "Inte sedd i dag · Lvl 131" låg
   ovanpå varandra. Kolumn på behållaren, block på barnen, och scopat med > så
   regeln inte träffar nästlade <span> längre ner (den fällan har bitit förut). */
.lfg6 .lfgm-row .id{ min-width:0; flex:1; display:flex; flex-direction:column; gap:1px; }
.lfg6 .lfgm-row > .id > .nm,
.lfg6 .lfgm-row > .id > .sub{ display:block; }
.lfg6 .lfgm-row .nm{
  font-size:12.5px; font-weight:800; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lfg6 .lfgm-row .sub{
  font-size:11px; color:var(--faint-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lfg6 .lfgm-row .rt{ margin-left:auto; display:flex; gap:4px; flex:none; }
/* Den som inte setts på över ett dygn tonas ned i stället för att raderas.
   Rummet växer annars för alltid — 7 i chatten där 1 sågs senast. */
.lfg6 .lfgm-row.stale{ opacity:.55; }
.lfg6 .lfgm-foot{
  padding:8px 12px; border-top:1px solid var(--line); background:var(--zebra);
  font-size:11px; color:var(--faint-ink);
}

@media (max-width:960px){
  .lfg6 .mp-go{ padding-bottom:11px; }
  .lfg6 .btn.lg{ width:100%; justify-content:center; }
  .lfg6 .mp-hint{ flex:1 0 100%; }
}
@media (max-width:820px){
  /* Träffytor ≥44 px. Sidans gamla fix-block ligger på 600 px och missar
     hela intervallet 601–819 — etapp 1 gör inte om det misstaget. */
  .lfg6 .mp .btn, .lfg6 .cand .btn, .lfg6 .lfgm-row .btn{ height:44px; padding:0 14px; }
  .lfg6 .mp-chk{ height:44px; }
  .lfg6 .mp-crit .sel{ height:44px; }
  .lfg6 .cand{ grid-template-columns:40px minmax(0,1fr); }
  .lfg6 .cand .acts .btn{ flex:1 1 auto; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TAVLAN   (2026-08-05, Kentas val efter fortnitetracker.com/event-lfp)
   ═══════════════════════════════════════════════════════════════════════════
   "aldrig rutor" — inga rutnät, inga brickor. En tabell.

   Kontrastbeslut, uppmätta i mörkt läge innan bygget:
     · --faint på 9-11px text gav 2,8-3,0:1. All småtext i tavlan kör --dim
       (4,6:1) och rubrikerna --dim, aldrig --faint.
     · Fylld accentknapp med vit text ger 3,12:1 vid 11px. Radernas knappar är
       därför RAMADE. Sidan har en fylld knapp: massfrågan. "En hero, resten
       dampat" och kontrastkravet pekar åt samma håll.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Avståndet ägs av kolumnens gap, inte av en margin ovanpå den — annars
   staplas de två och mittkolumnen får 16px där högerrailen har 8.
   Uppmätt på live 2026-08-05. */
.lfg6 .tv{ margin-bottom:0; }
.lfg6 main.main{ gap:8px; }
/* 8px, inte var(--r). Sidans .panel och .card ligger på 8 (pulse-lfg.css:905)
   och tavlan låg på 6 — den enda ytan på skärmen med en annan rundning.
   Uppmätt på live 2026-08-05. */
.lfg6 .tv-card{ overflow:hidden; border-radius:8px; }
.lfg6 .tv-slot{ border-radius:8px; }

/* ── Din lucka. Svart remsa = broadcast-tonen, mörk i BÅDA lägena. ───────── */
.lfg6 .tv-slot{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:9px 12px; margin-bottom:8px;
  background:var(--board-bg); color:var(--board-ink);
}
.lfg6 .tv-slot .lb{
  font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase;
  color:var(--board-sub);
}
.lfg6 .tv-slot .big{ font-size:14px; font-weight:900; }
.lfg6 .tv-slot .txt{ font-size:11.5px; color:var(--board-sub); }
.lfg6 .tv-slot .pips{ display:flex; gap:3px; }
.lfg6 .tv-slot .pips i{ width:8px; height:8px; border-radius:50%; background:var(--live); display:block; }
.lfg6 .tv-slot .pips i.f{ background:var(--board-line); }
.lfg6 .tv-slot .rt{ margin-left:auto; display:flex; gap:6px; align-items:center; }
.lfg6 .tv-slot .btn{
  background:var(--board-line); border-color:transparent; color:var(--board-ink);
}
.lfg6 .tv-slot .btn:hover{ background:rgba(255,255,255,.2); }
/* ★ PRIMÄRKNAPPEN ÖVERLEVER DEN MÖRKA REMSAN (2026-08-22, Kentas syn:
   "kanske göra den lika blå som loggan").

   Regeln ovan är 0,3,0 och husets primär `.lfg6 .btn.b` (rad ~1004) är också
   0,3,0 — lika specificitet, alltså vinner den SENARE. Remsan ligger på rad
   1847, primären på 1004, så "Skapa grupp" tappade sin accentfyllning och
   ritades som en sekundärknapp. Sidans enda hero såg ut som allt annat.

   `--accent` är exakt loggans blå (`.brand b{color:var(--accent)}` i
   forre_pulse.css:111), samma värde i båda lägena.

   ENDAST `.b`. "Chatt" bredvid ska förbli dämpad — en hero, resten dämpat. */
.lfg6 .tv-slot .btn.b{
  background:var(--accent); border-color:var(--accent); color:#fff;
}
.lfg6 .tv-slot .btn.b:hover{ background:var(--accent); filter:brightness(1.08); }

/* ── Sparade vyer: ett klick = ett helt filter ───────────────────────────── */
/* EN RAD, ALLTID — så länge det finns en rad att hålla sig till.
   Med flex-wrap:wrap väljer webbläsaren att BRYTA i stället för att krympa:
   sökfältets flex-basis spelade ingen roll, .rt hoppade ner och raden blev
   74 px hög mot railens 27 px rubriker. nowrap tvingar krympningen dit den
   hör hemma (sökfältet), och på mobil får den bryta igen. */
.lfg6 .tv-views{
  display:flex; align-items:center; gap:5px; flex-wrap:nowrap;
  /* 7px, inte 8: chip 26 + 14 + 1px kant = 41, exakt lucka-radens höjd.
     Med 8 blev den 43 och de två raderna i samma kort låg 2 px isär. */
  padding:7px 12px; border-bottom:1px solid var(--line); min-height:41px;
}
@media (max-width:820px){ .lfg6 .tv-views{ flex-wrap:wrap; } }
.lfg6 .tv-v{
  height:26px; padding:0 10px; border-radius:999px; border:1px solid var(--line2);
  background:var(--card); color:var(--ink2); font-size:11.5px; font-weight:700;
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
}
.lfg6 .tv-v:hover{ border-color:var(--accent); color:var(--ink); }
/* Vald vy: tvätt + --accent-ink (7:1). Fylld accent gav 3,12:1 på siffran. */
.lfg6 .tv-v[aria-pressed="true"]{
  background:var(--accent-wash); border-color:var(--accent); color:var(--accent-ink); font-weight:800;
}
.lfg6 .tv-v .n{ font-size:10.5px; font-weight:900; color:var(--dim); }
.lfg6 .tv-v[aria-pressed="true"] .n{ color:var(--accent-ink); }
.lfg6 .tv-views .rt{ margin-left:auto; display:flex; gap:4px; align-items:center; min-width:0; flex:0 1 auto; }

.lfg6 .tv-load{ padding:26px 14px; text-align:center; font-size:12.5px; color:var(--dim); }
.lfg6 .tv-body{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ── Tabellen ───────────────────────────────────────────────────────────── */
.lfg6 .tvt{ width:100%; border-collapse:collapse; font-size:12.5px; }
.lfg6 .tvt th{
  text-align:left; padding:6px 8px; border-bottom:1px solid var(--line);
  font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
  color:var(--dim); white-space:nowrap;
}
.lfg6 .tvt th.num{ text-align:right; }
.lfg6 .tvt th.mid{ text-align:center; }
.lfg6 .tvt td{
  padding:0 8px; border-bottom:1px solid var(--line); color:var(--ink2); white-space:nowrap;
}
.lfg6 .tvt td.num{ text-align:right; font-variant-numeric:tabular-nums; font-weight:700; color:var(--ink); }
.lfg6 .tvt td.mid{ text-align:center; }
.lfg6 .tvt tbody tr.pr-row{ cursor:pointer; height:44px; }
.lfg6 .tv[data-lfgt-dens="tight"] .tvt tbody tr.pr-row{ height:34px; }
.lfg6 .tv[data-lfgt-dens="tight"] .tvt .why{ display:none; }
.lfg6 .tvt tbody tr.pr-row:hover{ background:var(--zebra); }
.lfg6 .tvt tbody tr.pr-row[aria-selected="true"]{ background:var(--accent-wash); }

/* Grupprad — struktur utan att tappa täthet. Klistrad så rubriken följer med. */
.lfg6 .tvt tr.tvg td{
  padding:8px 8px 4px; background:var(--zebra); border-bottom:1px solid var(--line);
  font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink2);
}
/* --ink2, inte --dim: grupprubriken ligger på --zebra, som är mörkare än
   --card, och --dim landade där på 4,29:1. Uppmätt på live 2026-08-05. */
.lfg6 .tvt tr.tvg .n{ color:var(--ink2); margin-left:5px; }
.lfg6 .tvt tr.tvg .hint{
  text-transform:none; letter-spacing:0; font-size:11px; font-weight:600;
  color:var(--ink2); margin-left:8px;
}
.lfg6 .tvt tr.tvg.g-waiting td{ color:var(--gold-ink); }
.lfg6 .tvt tr.tvg.g-playing td{ color:var(--live-ink); }

.lfg6 .tvt .who{ display:flex; align-items:center; gap:8px; min-width:0; }
.lfg6 .tvt .who .nm{
  font-size:12.5px; font-weight:800; color:var(--ink); display:block;
  max-width:168px; overflow:hidden; text-overflow:ellipsis;
}
.lfg6 .tvt .why{ display:flex; gap:5px; margin-top:1px; overflow:hidden; }
.lfg6 .tvt .why span{
  font-size:10.5px; color:var(--dim); display:inline-flex; align-items:center; gap:3px;
}
.lfg6 .tvt .why i{ font-size:10px; color:var(--live-ink); }
.lfg6 .tvt .kemi{ font-weight:900; }
.lfg6 .tvt .kemi.hi{ color:var(--live-ink); }
.lfg6 .tvt .kemi.mid{ color:var(--accent-ink); }
.lfg6 .tvt .kemi.lo{ color:var(--dim); }
.lfg6 .tvt .fit{ font-size:13px; }
.lfg6 .tvt .fit.yes{ color:var(--live-ink); }
.lfg6 .tvt .fit.no{ color:var(--line2); }
.lfg6 .tvt .nu{ display:inline-flex; align-items:center; gap:5px; font-weight:700; font-size:11.5px; }
.lfg6 .tvt .nu.play{ color:var(--live-ink); }
.lfg6 .tvt .nu.on{ color:var(--ink2); }
.lfg6 .tvt .nu.off{ color:var(--dim); }
.lfg6 .tvt .rep{ font-size:11.5px; font-weight:800; font-variant-numeric:tabular-nums; }
.lfg6 .tvt .rep.hi{ color:var(--live-ink); }
.lfg6 .tvt .rep.mid{ color:var(--ink2); }
.lfg6 .tvt .rep.lo{ color:var(--gold-ink); }
.lfg6 .tvt .rep.none{ color:var(--dim); font-weight:600; }
.lfg6 .tvt td.act{ text-align:right; }
.lfg6 .tvt td.pick{ width:28px; text-align:center; padding-left:10px; }
.lfg6 .tvt td.pick input,
.lfg6 .tvt th.pick input{ accent-color:var(--accent); width:15px; height:15px; margin:0; cursor:pointer; }
.lfg6 .tvt th.pick{ width:28px; text-align:center; padding-left:10px; }

/* ── Markerade → massfråga. Sidans ENDA fyllda knapp. ────────────────────── */
.lfg6 .tv-bulk{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:9px 12px; border-top:1px solid var(--line); background:var(--accent-wash);
}
.lfg6 .tv-bulk .n{ font-size:12.5px; font-weight:900; color:var(--accent-ink); }
.lfg6 .tv-bulk .tx{ font-size:11.5px; color:var(--ink2); }
.lfg6 .tv-bulk .rt{ margin-left:auto; display:flex; gap:6px; align-items:center; }

.lfg6 .tv-foot{
  padding:8px 12px; border-top:1px solid var(--line); background:var(--zebra);
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  font-size:11px; color:var(--dim);
}
.lfg6 .tv-foot kbd{
  font-family:inherit; font-size:10px; font-weight:800; padding:1px 5px;
  border:1px solid var(--line2); border-bottom-width:2px; border-radius:var(--r-sm);
  background:var(--card); color:var(--ink2);
}
.lfg6 .tv-empty{ padding:26px 14px; text-align:center; }
.lfg6 .tv-empty .eh{ font-size:14.5px; font-weight:800; color:var(--ink); margin-bottom:4px; }
.lfg6 .tv-empty .es{ font-size:12.5px; color:var(--dim); max-width:46ch; margin:0 auto 11px; }

@media (max-width:1180px){
  /* Mittkolumnen är bredare när högerrailen faller ner — men rank och svar är
     ändå det första som får vika när tabellen blir trång. */
}
@media (max-width:820px){
  .lfg6 .tv .btn, .lfg6 .tv .btn.xs, .lfg6 .tv-v{ height:44px; padding:0 12px; }
  .lfg6 .tv[data-lfgt-dens="tight"] .tvt tbody tr.pr-row{ height:52px; }
  .lfg6 .tvt tbody tr.pr-row{ height:52px; }
  .lfg6 .tv-slot{ row-gap:7px; }
  .lfg6 .tv-slot .rt{ margin-left:0; }
  .lfg6 .tv-views .rt{ margin-left:0; }
}

/* Grupp-bandet utan sin statusdel (2026-08-05). Allt som stod där — läge,
   avatarer, 3/4, "N i chatten" — bor i "Din lucka"-remsan ovanför tavlan.
   Kvar är knappraden, och då ska den inte se ut som ett kort. */
.lfg6 .mine .bar-slim{ padding:7px 12px; }
.lfg6 .mine .bar-slim .lb{ margin-right:auto; }

/* Sökfältet i tavlans huvud (verktygsraden borttagen 2026-08-05).
   KRYMPER. När siffrorna kom på vy-chipsen växte den vänstra halvan från 331
   till 363 px och raden bröt till 74 px — högerhalvan hamnade under chipsen.
   Sökfältet är det enda i raden som kan ge utrymme utan att tappa mening, så
   det gör det: flex 1 1 med ett golv, i stället för fast 120 px input. */
.lfg6 .tv-sf{
  display:inline-flex; align-items:center; gap:7px; height:26px; padding:0 9px;
  background:var(--inset); border:1px solid var(--line); border-radius:var(--r);
  color:var(--dim); font-size:11.5px;
  flex:1 1 96px; min-width:78px; max-width:170px;
}
.lfg6 .tv-sf input{
  border:0; background:none; outline:none; font:inherit; font-size:11.5px;
  color:var(--ink); width:100%; min-width:0;
}
.lfg6 .tv-sf:focus-within{ border-color:var(--accent); }
@media (max-width:820px){
  .lfg6 .tv-sf{ height:44px; width:100%; }
  .lfg6 .tv-sf input{ width:100%; }
}

/* "…"-utfällningen i luckan. Fälls ut PÅ PLATS, ingen meny som lägger sig över
   sidan — Kentas regel: inline framför modal. */
.lfg6 .tv-slot .tv-more{ display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
.lfg6 .tv-slot .tv-more[hidden]{ display:none; }
@media (max-width:820px){
  .lfg6 .tv-slot .tv-more{ flex:1 0 100%; }
}

/* Länken i foten till hela urvalet. Ser ut som text, beter sig som en knapp —
   den ska inte konkurrera med radernas knappar. */
.lfg6 .tv-link{
  background:none; border:0; padding:0; font:inherit; font-size:11px;
  font-weight:800; color:var(--accent-ink); text-decoration:underline;
  text-underline-offset:2px; cursor:pointer;
}
.lfg6 .tv-foot .rt{ margin-left:auto; }

/* ── Sidopanelen i högerrailen (2026-08-05) ──────────────────────────────── */
.lfg6 .tv-side .tvs-hd{ display:flex; align-items:center; gap:9px; padding:11px 12px; }
.lfg6 .tv-side .tvs-hd .nm{ font-size:14.5px; font-weight:900; color:var(--ink); }
.lfg6 .tv-side .tvs-hd .sub{ font-size:11.5px; color:var(--dim); display:flex; align-items:center; gap:5px; }
.lfg6 .tv-side .tvs-hd .btn{ margin-left:auto; }
.lfg6 .tv-side .tvs-kv{
  display:grid; grid-template-columns:1fr auto; gap:2px 10px; padding:0 12px 10px; font-size:12px;
}
.lfg6 .tv-side .tvs-kv .k{ color:var(--dim); }
.lfg6 .tv-side .tvs-kv .v{ font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
.lfg6 .tv-side .tvs-sect{ border-top:1px solid var(--line); padding:10px 12px; }
.lfg6 .tv-side .tvs-sect .h{
  font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
  color:var(--dim); margin-bottom:6px;
}
.lfg6 .tv-side .ev{ display:flex; align-items:center; gap:7px; padding:3px 0; font-size:12px; color:var(--ink2); }
.lfg6 .tv-side .ev i{ color:var(--live-ink); font-size:11px; }
.lfg6 .tv-side .tvs-ask{
  display:flex; align-items:center; gap:7px; padding:0 9px; margin-bottom:8px;
  background:var(--inset); border:1px solid var(--line); border-radius:var(--r);
}
.lfg6 .tv-side .tvs-ask input{
  flex:1; min-width:0; height:31px; border:0; background:none; outline:none;
  font:inherit; font-size:12px; color:var(--ink);
}
.lfg6 .tv-side .tvs-ask i{ color:var(--dim); font-size:12px; }
.lfg6 .tv-side .tvs-ask:focus-within{ border-color:var(--accent); }
.lfg6 .tv-side .tvs-acts{ display:flex; gap:5px; }
.lfg6 .tv-side .tvs-acts > *{ flex:1 1 auto; }

/* "N nya sedan du öppnade" + grön kant på de nya raderna. */
.lfg6 .tv-new{
  display:inline-flex; align-items:center; gap:6px; height:25px; padding:0 10px;
  border-radius:999px; background:var(--live-wash); color:var(--live-ink);
  font-size:11px; font-weight:800; white-space:nowrap;
}
.lfg6 .tv-new::before{
  content:""; width:7px; height:7px; border-radius:50%; background:var(--live-ink);
}
.lfg6 .tvt tbody tr.tv-fresh td:first-child{  }

/* Nedräkning i lucka-raden + ansikten i massfrågan. */
.lfg6 .tv-clk{
  display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700;
  color:var(--board-sub); font-variant-numeric:tabular-nums;
}
.lfg6 .tv-faces{ display:flex; }
.lfg6 .tv-faces .av{ margin-left:-7px; border:2px solid var(--accent-wash); }
.lfg6 .tv-faces .av:first-child{ margin-left:0; }

/* ══════════════════════════════════════════════════════════════════════════
   TAVLAN — TIDEN (2026-08-05)

   Den sista dimensionen som saknades. En LFG-tavla klockan 16 är tom och
   ljuger: det finns nio personer, de är bara inte här än. "Kommer ca 20:00"
   och kvällsgruppen gör tomheten till ett besked i stället för en återvändsgränd.
   Underlaget kommer ur LFGHoursService — mätt närvaro, deklarerad tid som
   reserv, och TYSTNAD när ingetdera räcker. Ett påhittat klockslag skulle få
   folk att sluta tro på hela tavlan.
   ══════════════════════════════════════════════════════════════════════════ */

/* "Kommer ca 20:00" — inte --dim som "Inte inne". Det är ett erbjudande, inte
   ett avslag, och ska läsas som ett halvsteg mellan offline och online. */
.lfg6 .tvt .nu.soon{ color:var(--ink2); }
.lfg6 .tvt tr.tvg.g-evening td{ color:var(--ink2); }

/* Ihop-kolumnen syns bara i det breda mellanläget: dold när högerrailen står
   kvar (mittspalten är då 572 px) och dold på mobil. Regeln bor i blocken
   längre ner tillsammans med Rank, så de två alltid viker ihop. */

/* ── Sorterbara rubriker ──────────────────────────────────────────────────
   Pilen syns bara på den kolumn som faktiskt sorterar, och vid hover på de
   andra. Sex permanenta pilar är sex saker att läsa förbi. */
.lfg6 .tvt th.srt{ cursor:pointer; user-select:none; }
.lfg6 .tvt th.srt i{ font-size:8px; margin-left:3px; opacity:0; vertical-align:1px; }
.lfg6 .tvt th.srt:hover{ color:var(--ink2); }
.lfg6 .tvt th.srt:hover i{ opacity:.45; }
.lfg6 .tvt th.srt.on{ color:var(--accent-ink); }
.lfg6 .tvt th.srt.on i{ opacity:1; }
.lfg6 .tvt th.srt:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }

/* Siffran på chipsen. En vy utan tal är ett hopp i mörkret. Noll dämpas i
   stället för att gömmas — "0" är ett svar, en tom knapp är en fråga. */
.lfg6 .tv-v.zero{ color:var(--dim); }
.lfg6 .tv-v.zero .n{ color:var(--dim); }

/* ── Tidsöverlappet i sidopanelen ─────────────────────────────────────────
   Sidans enda grafik, och den finns för att "när kan vi spela" är den fråga
   två personer behöver svara på innan de skriver till varandra. Tolv staplar,
   12:00–23:00. Grönt = båda inne. Ritas inte alls utan underlag. */
.lfg6 .tv-side .tvs-hrs{
  display:grid; grid-template-columns:repeat(12,1fr); gap:3px;
  align-items:end; height:46px; margin-top:2px;
}
.lfg6 .tv-side .tvs-hrs b{
  display:block; background:var(--line2); border-radius:2px 2px 0 0; min-height:3px;
}
.lfg6 .tv-side .tvs-hrs b.on{ background:var(--accent); }
.lfg6 .tv-side .tvs-hrs b.both{ background:var(--live); }
.lfg6 .tv-side .tvs-hlab{
  display:flex; justify-content:space-between; margin-top:3px;
  font-size:9px; font-weight:800; letter-spacing:.06em; color:var(--dim);
}
.lfg6 .tv-side .tvs-tiny{ margin-top:6px; font-size:11px; color:var(--ink2); line-height:1.45; }
.lfg6 .tv-side .tvs-tiny b{ color:var(--live-ink); font-weight:900; }
.lfg6 .tv-side .tvs-src{ color:var(--dim); font-weight:600; }

/* ── Tavlan får inte skrolla i sidled ─────────────────────────────────────
   Skälsraden ("Väntar redan i ditt rum · Ni körde ihop 3 kvällar") är lång med
   flit, och med td{white-space:nowrap} sköt den ut tabellen till en vågrät
   skrollbar — Kemi och framåt hamnade utanför bilden. Namnkolumnen är den enda
   som kan ge: max-width:0 tillsammans med width i procent är knepet som får
   webbläsaren att respektera overflow inne i en tabellcell. Uppmätt på live
   2026-08-05. */
.lfg6 .tvt{ table-layout:fixed; }
.lfg6 .tvt td:nth-child(2){ overflow:hidden; }
.lfg6 .tvt .id{ min-width:0; flex:1 1 auto; overflow:hidden; }
.lfg6 .tvt .who .nm{ max-width:100%; }
.lfg6 .tvt .why{ flex-wrap:nowrap; white-space:nowrap; overflow:hidden; }
.lfg6 .tvt .why span{ flex:0 0 auto; }

/* Fasta bredder på de smala kolumnerna, så namnkolumnen får resten. Utan dem
   fördelar table-layout:fixed lika mycket till varje kolumn — och namnet, som
   är det enda man faktiskt läser, fick 20 px. Uppmätt på live 2026-08-05. */
/* EGET PREFIX PÅ KOLUMNKLASSERNA. Första försöket hette .who, .nuc, .rk, .ac —
   och .lfg6 .rk fanns redan som en rank-pill med display:inline-flex och
   height:17px, medan .tvt .who är radens flexbox. Tredje krocken på samma dag
   (.ib, .act, .rk): korta generiska klassnamn i en 146 kB-fil är en fälla. */
/* Bredderna är satta efter RUBRIKEN, inte efter värdet: "PASSAR" och "SVARAR"
   är 9 px versaler med letter-spacing och tar ~42 px + 16 px padding. Med 36
   respektive 48 px rann de över i grannkolumnen och raden såg trasig ut fast
   datan låg rätt. Uppmätt på live 2026-08-05. */
.lfg6 .tvt th.pick{ width:26px; }
.lfg6 .tvt th.mid{ width:58px; }
.lfg6 .tvt th.num{ width:56px; }
.lfg6 .tvt th.tvc-nu{ width:74px; }
.lfg6 .tvt th.tvc-rank{ width:74px; }
.lfg6 .tvt th.tvc-act{ width:82px; }
.lfg6 .tvt th{ overflow:hidden; }
/* Namnkolumnen har INGEN bredd — den tar det som blir över. Det fungerar bara
   för att de kolumner som inte ryms aldrig renderas (se cols() i JS): en
   display:none-kolumn behåller sin bredd i table-layout:fixed. */
.lfg6 .tvt th.tvc-nm{ width:auto; }
/* GLOBALT `.act{display:flex}` — det finns en oscopad regel i sajtens bas-CSS
   som gör varje .act till en flexbox. En <td> med display:flex faller ur
   tabellens kolumnmodell: raden slutade fylla tabellens bredd och namnkolumnen
   fick 83 px i stället för 250. Samma sorts krock som .ib-kollisionen tidigare
   i dag. Vi rör inte den globala regeln — andra sidor lutar sig mot den — utan
   återställer display här, scopat till tavlan. Uppmätt på live 2026-08-05. */
.lfg6 .tvt td.act{ display:table-cell; overflow:visible; }
.lfg6 .tvt td, .lfg6 .tvt th{ display:table-cell; }
.lfg6 .tvt td.tvc-rank{ overflow:hidden; text-overflow:ellipsis; }

/* NIO KOLUMNER RYMS INTE I 572 PX. Med båda railarna uppe är mittspalten
   smal med flit (250 · 1fr · 320 på 1200 px shell). Rank och Ihop är de två
   som INTE avgör om man klickar — och rank_label är dessutom tom för fyra av
   fem rader live. De viker därför så länge högerrailen står kvar, och kommer
   tillbaka när den faller ner och mittspalten blir bred. Ingenting går
   förlorat: både Rank och Kvällar ihop står i sidopanelen, ett klick bort. */
@media (min-width:1181px){
}

/* Senaste events i sidopanelen. Placeringen står till höger som ett tal, inte
   som en medalj: "#84" är en uppgift man väger, inte en utmärkelse. */
.lfg6 .tv-side .ev .evn{
  flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.lfg6 .tv-side .ev .evp{
  flex:0 0 auto; margin-left:8px; font-weight:900; color:var(--ink2);
  font-variant-numeric:tabular-nums;
}

/* ============================================================================
   INGA LODRÄTA FÄRGADE LINJER — TONEN LIGGER PÅ HELA YTAN
   Kenta 2026-08-19: "bög linjer gillar jag inte ... gör då hela denna bar
   liiiite röd alltså jääääte lite ... gör en liten färg över hela då som
   synnnnsss jäättteee liittteeee".
   3 `border-left/right: Npx solid <färg>` togs bort ur den här filen och
   ersattes av en ton på hela ytan: 6% i ljust läge, 10% i mörkt (mörka kort
   sväljer ton, se mätningen i pulse-nu.css). Reglerna står SIST i filen med
   flit — då vinner de utan !important och utan att röra originalregelns
   övriga deklarationer. Facit: `.nu-svar-yta` i pulse-nu.css.
   ========================================================================= */
.lfg-fp{background:color-mix(in srgb,var(--accent) 6%,var(--card))}
[data-theme="dark"] .lfg-fp{background:color-mix(in srgb,var(--accent) 10%,var(--card))}
/ .lfg-cp{background:color-mix(in srgb,var(--live) 6%,var(--card))}
[data-theme="dark"] / .lfg-cp{background:color-mix(in srgb,var(--live) 10%,var(--card))}
.lfg6 .mine{background:color-mix(in srgb,var(--accent) 6%,var(--card))}
[data-theme="dark"] .lfg6 .mine{background:color-mix(in srgb,var(--accent) 10%,var(--card))}

/* ============================================================================
   LODRÄTA LINJER RITADE MED box-shadow:inset — BORTTAGNA 2026-08-19
   `box-shadow:inset 3px 0 0 <färg>` är en border-left med en annan penna:
   en 3 px färgad stapel längs kanten. Kentas förbud gäller effekten, inte
   egenskapen. Betydelsen bärs nu av hela ytan i en svag ton.
   Rader som REDAN hade en bakgrund fick bara stapeln borttagen — de var
   färgade två gånger.
   ========================================================================= */
.lfg6 .tvt tbody tr.tv-fresh td:first-child{background:color-mix(in srgb,var(--live-ink) 7%,var(--card))}
[data-theme="dark"] .lfg6 .tvt tbody tr.tv-fresh td:first-child{background:color-mix(in srgb,var(--live-ink) 11%,var(--card))}

/* ============================================================================
   MOBILRÄTTELSER 2026-08-20
   ----------------------------------------------------------------------------
   Tre mätta fel, alla i det bestående kromet snarare än i innehållet.
   Reglerna står sist i filen med flit: de ska vinna utan !important och utan
   att röra originalreglernas övriga deklarationer.
   ========================================================================= */

/* ── 1. Toasten landade BAKOM bottennaven ────────────────────────────────
   `.lfg6 .toasts{bottom:16px}` mot `.pulse-bottomnav{height:calc(58px +
   safe-area)}` (forre_pulse.css:1644, synlig ≤820 px). Varje kvitto —
   "Förfrågan skickad.", "Inbjudan skickad.", "Bokad — ligger i hens inkorg" —
   ritades ovanpå navet och täckte ➕-knappen. `pointer-events:none` gjorde att
   den inte blockerade tryck, men den syntes knappt. */
@media (max-width:820px){
  .lfg6 .toasts{bottom:calc(58px + 14px + env(safe-area-inset-bottom,0px));
    left:12px;right:12px;align-items:stretch}
  .lfg6 .toasts > *{width:auto}
}

/* ── 2. Träffytor i railen mellan 601 och 819 px ─────────────────────────
   44 px-blocket i filen är `@media (max-width:600px)` och tavlans eget är
   `.lfg6 .tv .btn` (≤820). Rail-widgetarna — party-inbjudningarnas "Hoppa in"
   och "Senare", spelförfrågningarnas "Svara", sidopanelens "Skicka" och "Gå
   med i gruppen" — ligger i `<aside class="rail">`, alltså UTANFÖR `.tv`, och
   föll därför tillbaka på `.btn.xs{height:23px}` i hela det intervallet.
   Det är de knappar hela inbjudningsflödet hänger på. */
@media (min-width:601px) and (max-width:819px){
  .lfg6 .rail .btn,
  .lfg6 .rail .btn.xs,
  .lfg6 .tv-side .btn,
  .lfg6 .tv-side .btn.xs{height:44px;min-height:44px;padding:0 14px;font-size:13px}
}

/* ── 3. `100vh` i en modal på en telefon ─────────────────────────────────
   `.lfg6 .mod{max-height:calc(100vh - 32px)}`. På iOS Safari räknar `vh` mot
   den STÖRSTA möjliga vyn, alltså utan adressfältet — så när fältet syns
   hamnar modalens fot under kanten. `Avbryt` och `Publicera` i "Skapa grupp"
   gick inte att nå. Messengern bredvid använde redan `100dvh`. */
@media (max-width:820px){
  .lfg6 .mod{max-height:calc(100dvh - 24px)}
}

/* ══ LISTA MIG — SIDANS FÖRSTA RAD (2026-08-22) ═══════════════════════════
   Kontrollen flyttade hit ur högerrailen. Prefix `lfgs-`.
   Formen är EN rad i sidans egen skala, inte ett kort: den ska stå före tavlan
   utan att konkurrera med den. Tonen ligger på HELA ytan (§0.5) — grön när du
   är listad, neutral när du inte är det. Ingen lodrät list, ingen kant i färg.

   Höjden är 38 px = samma som navbarens flik och sidans .btn. Raden ska kännas
   som en kontroll, inte som ett meddelande.
   ------------------------------------------------------------------------- */
.lfg6 .lfgs{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 12px;
  margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--card)}
.lfg6 .lfgs-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);flex:0 0 auto}
.lfg6 .lfgs-dot.on{background:var(--live)}
.lfg6 .lfgs-t{font-size:12.5px;font-weight:700;color:var(--ink)}
.lfg6 .lfgs-m{font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.lfg6 .lfgs .btn{margin-left:auto;flex:0 0 auto}

/* Listad = ton på hela raden. 4 % i ljust, 8 % i mörkt — under 6 % går tonen
   inte att skilja från kortet bredvid i mörkt läge (facit: pulse-nu.css). */
.lfg6 .lfgs:has(.lfgs-dot.on){background:color-mix(in srgb,var(--live) 4%,var(--card));
  border-color:color-mix(in srgb,var(--live) 22%,var(--line))}
[data-theme="dark"] .lfg6 .lfgs:has(.lfgs-dot.on){background:color-mix(in srgb,var(--live) 8%,var(--card));
  border-color:color-mix(in srgb,var(--live) 26%,var(--line))}

/* React-ön renderar .fnx-seek i samma låda. Den bär sin egen typografi ur
   forre-ui.css; här sätts bara lådan så de två varianterna får samma form. */
.lfg6 .lfgs[data-fnx-seek-root]{display:block;padding:7px 12px}
.lfg6 .lfgs[data-fnx-seek-root]:empty{display:none}

@media (max-width:600px){
  .lfg6 .lfgs{flex-wrap:wrap;padding:8px 12px}
  .lfg6 .lfgs .btn{margin-left:0;width:100%;justify-content:center;min-height:44px}
}

/* ══════════════════════════════════════════════════════════════════════════
   KVÄLLSREMSAN (2026-08-22) — sist i tavlan, under listan.

   Kentas val ur design-proposals/lfg-tider-fordig-2026-08-22.html:
   form B (ansikten) med form C:s mening som fotrad. Hans motivering:
   "man vill faktiskt se vem man kan spela med nu" — och VEM är ett ansikte,
   inte en stapelhöjd. Stapelvarianten mätte alla, och alla är inte intressanta.

   ★ BARA DITT GÄNG FÅR ANSIKTE. Övriga blir ett tal. Ansikten före siffror
   gäller människor du känner; för resten är ett tal ärligare och tystare.

   ★ INGEN "VÄCK MIG"-KNAPP. Mockupen hade en, men det finns ingen påminnelse
   att koppla den till — och en knapp som inte gör något är värre än ingen
   knapp. Kommer påminnelsen, kommer knappen.

   ★ CELLERNA ÄR INTE KLICKBARA. I mockupen sorterar ett klick listan till den
   timmen, men sorteringarna finns inte förrän vy-chipsen ersatts (steg 3 i
   byggplanen). Därför ingen hover, ingen pekare, inget <button>: en yta ska
   inte se klickbar ut innan den är det.

   Avatarerna återanvänder .av s22 + avc() — samma komponent som tavlans rader,
   inklusive data-avatar-user som byter ut initialen mot riktig bild.
   Inga nya tokens.
   ════════════════════════════════════════════════════════════════════════ */
.lfg6 .tv-kv{margin-top:11px;overflow:hidden}
.lfg6 .tvkv-hd{padding:9px 12px 7px}
.lfg6 .tvkv-hd .lb{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint-ink)}

.lfg6 .tvkv-cols{display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid var(--line)}
.lfg6 .tvkv-c{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 2px;
  border-left:1px solid var(--line);text-align:center;min-width:0}
.lfg6 .tvkv-c:first-child{border-left:0}
/* NU-kolumnen mäter verklig närvaro, inte prognos — dämpad grön fyllning i
   stället för en lodrät linje. Linjen låg över siffran. */
.lfg6 .tvkv-c.is-now{background:color-mix(in srgb,var(--live) 7%,transparent)}
.lfg6 .tvkv-c .h{font-size:9.5px;font-weight:700;color:var(--faint-ink);line-height:1;
  font-variant-numeric:tabular-nums}
.lfg6 .tvkv-c.is-now .h{color:var(--live-ink)}
.lfg6 .tvkv-c.is-peak .h{color:var(--accent-ink)}
.lfg6 .tvkv-c .faces{display:flex;align-items:center;min-height:22px}
.lfg6 .tvkv-c .faces .av{border:2px solid var(--card)}
.lfg6 .tvkv-c .faces .av + .av{margin-left:-7px}
/* Tom timme: en streckad ring, inte ingenting. Skillnaden mellan "ingen" och
   "vi vet inte" ska synas — en tom cell ser ut som ett renderingsfel. */
.lfg6 .tvkv-c .faces .kvtom{width:22px;height:22px;border-radius:50%;
  border:1px dashed var(--line2);display:block}
.lfg6 .tvkv-c .n{font-size:10.5px;font-weight:800;color:var(--ink2);line-height:1;
  font-variant-numeric:tabular-nums}
.lfg6 .tvkv-c.is-peak .n{color:var(--ink)}

.lfg6 .tvkv-foot{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;
  border-top:1px solid var(--line);font-size:12px;color:var(--ink2)}
.lfg6 .tvkv-foot i.bi{color:var(--faint-ink);flex:0 0 auto;line-height:1.45}
.lfg6 .tvkv-foot .txt{flex:1;min-width:0;line-height:1.45}
.lfg6 .tvkv-foot .txt b{color:var(--ink);font-weight:800}

/* Mobil: regeln ovanför gömde varannan timme och lämnade fyra kolumner. Den
   skrevs för den gamla remsan med 22 px-avatarer i varje cell — en stapel med
   ett tvåsiffrigt tal behöver 26 px, och tolv av dem ryms på 368 px. Att gömma
   varannan timme kostar dessutom ett klickmål man kanske ville ha: hela
   poängen med remsan är nu att man väljer en timme.

   Uppmätt 2026-09-12 i provrenderingen: 12 kolumner à 27 px vid 400 px bredd,
   alla läsbara. Under 360 px faller talet bort och stapeln bär informationen
   ensam — höjden syns även när siffran inte ryms. */
@media (max-width:400px){
  .lfg6 .tvkv-cols{gap:2px;padding-left:8px;padding-right:8px}
  .lfg6 .tvkv-c{padding-left:0;padding-right:0}
  .lfg6 .tvkv-c .h{font-size:9px}
}
@media (max-width:359px){
  .lfg6 .tvkv-c .n{display:none}
}

/* Tomläget: EN RAD, aldrig en låda (2026-08-22). Den gamla .tv-empty var
   153 px hög och användes till att meddela att det inte finns någon. Regeln är
   "aldrig en tom låda" — finns ingen data, rendera så lite som möjligt.
   .tv-empty är kvar: den används fortfarande för nätverksfel, och DÅ är en
   ruta med en Försök igen-knapp rätt. */
.lfg6 .tv-tom{padding:12px;font-size:12.5px;color:var(--ink2);line-height:1.5}
.lfg6 .tv-tom b{color:var(--ink);font-weight:700}


/* ── SORTERINGSRADEN (2026-08-22, A · Rummet steg 3) ──────────────────────
   Samma pill-form som vy-chipsen hade — `.tv-v` är oförändrad — men raden
   inleds med ordet "Ordna" så det syns att knapparna styr ORDNING, inte
   urval. Utan etiketten ser fyra pills likadant ut som de fem filter som
   satt här förut, och då lär man sig inte skillnaden.

   `.tv-v .n` (siffran på chipet) är kvar i filen men får aldrig innehåll
   längre: syncCounts() är borttagen. En sortering har inget tal — den visar
   alltid alla. */
.lfg6 .tv-sortlbl{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint-ink);flex:0 0 auto;margin-right:2px}
@media (max-width:560px){ .lfg6 .tv-sortlbl{display:none} }


/* ══════════════════════════════════════════════════════════════════════════
   DITT GÄNG — SIDANS FÖRSTA RAD (2026-08-22, A · Rummet steg 2)

   Ersätter tre avatarer i högerrailen och ett chip i tavlan. Ett gäng är
   människor, inte ett urval — därför kort med ansikten, inte ett filter.

   ★ RUNDA AVATARER = MÄNNISKA (§0B). 34 px, samma .av-komponent som tavlans
   rader (inkl. data-avatar-user som byter initialen mot riktig bild).
   ★ INGA LODRÄTA LINJER. Kentas order 2026-08-02 gäller hela sajten.
   ★ EN HERO. "Samla gänget" är fylld (.btn.p), "Alla vänner" ramlös.
   ★ Korten SCROLLAR i x-led hellre än att listan kapas tyst.
   ════════════════════════════════════════════════════════════════════════ */
.lfg6 .gband{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);margin-bottom:11px;overflow:hidden}
.lfg6 .gb-top{display:flex;align-items:center;gap:9px;padding:10px 12px 8px}
.lfg6 .gb-lb{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--faint-ink);flex:0 0 auto}
.lfg6 .gb-st{font-size:11.5px;color:var(--faint-ink)}
.lfg6 .gb-st b{color:var(--live-ink);font-weight:800}
.lfg6 .gb-top .rt{margin-left:auto;display:flex;gap:4px;align-items:center;flex:0 0 auto}

.lfg6 .gb-list{display:flex;gap:6px;padding:0 12px 11px;overflow-x:auto;scrollbar-width:thin}
.lfg6 .gb-p{flex:0 0 auto;width:98px;display:block;text-align:center;padding:9px 5px 8px;
  border:1px solid var(--line);border-radius:var(--r);background:var(--inset);color:inherit}
.lfg6 .gb-p:hover{border-color:var(--accent)}
.lfg6 .gb-p .av{margin:0 auto 6px}
.lfg6 .gb-nm{display:block;font-size:11.5px;font-weight:700;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lfg6 .gb-sub{display:block;font-size:10px;color:var(--faint-ink);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Grönt = närvaro, och bara där. Tonen ligger på HELA kortet, aldrig som en
   kantlist — samma regel som "Lista mig"-raden. */
.lfg6 .gb-p.is-on{border-color:color-mix(in srgb,var(--live) 45%,var(--line));background:var(--live-wash)}
.lfg6 .gb-p.is-on .gb-sub{color:var(--live-ink);font-weight:700}

.lfg6 .gb-squad{display:flex;align-items:center;gap:8px;padding:9px 12px;
  border-top:1px solid var(--line);font-size:12px;color:var(--ink2)}
.lfg6 .gb-squad i.bi{color:var(--accent);flex:0 0 auto}
.lfg6 .gb-squad .tx{flex:1;min-width:0;line-height:1.45}
.lfg6 .gb-squad .tx b{color:var(--ink);font-weight:800}

@media (max-width:560px){
  .lfg6 .gb-p{width:86px}
  .lfg6 .gb-top .rt .btn span,.lfg6 .gb-st{display:none}
}

/* ── #joinedBands bär ingen egen låda (2026-08-22) ────────────────────────
   Wrappern flyttades ovanför tavlan tillsammans med bandet. `.main` är en
   kolumn-flex med gap:8px, så en TOM wrapper (ingen grupp man är med i) hade
   lagt en extra 8px-lucka mitt i sidan — synlig glugg utan innehåll.
   `display:contents` gör att bandet själv blir flex-barnet: tom wrapper tar
   noll plats, och flera band får samma 8px mellan sig som allt annat.
   Ingen egen bakgrund, ram eller skugga går förlorad — wrappern hade ingen. */
.lfg6 #joinedBands{display:contents}

/* ═══════════════════════════════════════════════════════════════════════════
   FORM B — "KVÄLLEN"   (Kentas val 2026-09-12)
   ---------------------------------------------------------------------------
   Tre tillägg: rummets hjälte med F-märket, spellägen som riktiga chips, och
   kvällsremsan uppflyttad och omritad till staplar. Inga tokens ändrade; inga
   lodräta färglinjer (§0.5); ytfärg bär aldrig text (§2.1).
   Rollback = klipp bort blocket.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── HJÄLTEN ─────────────────────────────────────────────────────────────────
   Rummets ansikte. F-märket står som ETIKETT bredvid rumsnamnet, i topbarens
   storlek — inte som banderoll. Samma form som topplistans ligabar: fakta på
   en rad, vågrätt hårstreck under, ingen egen låda. */
.lfg6 .lfgh{display:flex;align-items:center;gap:0;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-bottom:0;
  border-radius:var(--r) var(--r) 0 0}
.lfg6 .lfgh-mk{display:flex;align-items:center;gap:8px;padding:10px 13px;flex:0 0 auto}
.lfg6 .lfgh-ring{width:22px;height:22px;display:block;flex:0 0 auto}
.lfg6 .lfgh-ord{font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.lfg6 .lfgh-c{flex:1 1 200px;min-width:0;padding:8px 13px;display:flex;flex-direction:column;gap:2px;
  border-left:1px solid var(--line)}
.lfg6 .lfgh-l{font:700 8px/1.3 'Roboto',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.lfg6 .lfgh-v{font-size:14px;font-weight:800;color:var(--ink);display:flex;align-items:baseline;gap:7px;
  min-width:0;flex-wrap:wrap}
.lfg6 .lfgh-v small{font-size:11.5px;font-weight:500;color:var(--ink2)}
.lfg6 .lfgh-v small.lfgh-tom{font-weight:400;color:var(--dim)}
/* Söker-lag-raden sitter ihop med hjälten: samma låda, ett hårstreck emellan. */
.lfg6 .lfgh + .lfgs,.lfg6 .lfgh + .lfgs + .lfgs{border-radius:0}
.lfg6 .lfgh + .lfgs[data-fnx-seek-root]:empty + .lfgs{border-top:1px solid var(--line)}

/* ── SPELLÄGEN — chips, inte flikar ─────────────────────────────────────────
   Ett FILTER kan bli tomt; sorteringarna till höger kan inte. Formen skiljer
   dem åt: filtren är pillerformade, sorteringarna är fyrkantiga knappar. */
.lfg6 .tv-lagen{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;margin-right:10px}
.lfg6 .tv-lag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;
  border:1px solid var(--line2);background:transparent;
  font:600 12px 'Roboto',sans-serif;color:var(--ink2);cursor:pointer;white-space:nowrap}
.lfg6 .tv-lag:hover{border-color:var(--accent);color:var(--accent-ink)}
.lfg6 .tv-lag[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 80%,#000);
  border-color:transparent;color:#fff}
html[data-theme="dark"] .lfg6 .tv-lag[aria-pressed="true"]{background:var(--accent);color:#06121f}

/* ── KVÄLLSREMSAN — staplar, klickbara ──────────────────────────────────────
   Höjden är HUR MÅNGA, den gröna sockeln är hur många av DITT gäng
   (columns[].gang, som funnits i svaret hela tiden och lästes av ingen).
   Ansiktena är borta: tre 22 px-cirklar i en cell blev en oläslig klump. */
.lfg6 .tvkv-hd{display:flex;align-items:center;gap:10px;padding:9px 12px 7px}
.lfg6 .tvkv-rensa{margin-left:auto;flex:0 0 auto;height:24px;padding:0 10px;border-radius:999px;
  border:1px solid var(--accent);background:var(--accent-wash);color:var(--accent-ink);
  font:700 11.5px 'Roboto',sans-serif;cursor:pointer}
.lfg6 .tvkv-rensa:hover{background:color-mix(in srgb,var(--accent) 80%,#000);border-color:transparent;color:#fff}
.lfg6 .tvkv-cols{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;
  align-items:end;padding:2px 12px 0;border-top:1px solid var(--line)}
.lfg6 .tvkv-c{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 1px 5px;
  border:1px solid transparent;border-radius:var(--r-sm);background:transparent;cursor:pointer;min-width:0}
.lfg6 .tvkv-c:hover{border-color:var(--line2);background:var(--inset)}
.lfg6 .tvkv-c.is-now{background:var(--accent-wash);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.lfg6 .tvkv-c.is-vald{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 1px var(--accent)}
.lfg6 .tvkv-c .n{font:800 11px 'Roboto',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.lfg6 .tvkv-c .bar{position:relative;width:100%;min-height:4px;border-radius:var(--r-sm) var(--r-sm) 0 0;
  background:color-mix(in srgb,var(--ink) 16%,transparent)}
html[data-theme="dark"] .lfg6 .tvkv-c .bar{background:color-mix(in srgb,#fff 20%,transparent)}
.lfg6 .tvkv-c.is-peak .bar{background:color-mix(in srgb,var(--accent) 80%,#000)}
html[data-theme="dark"] .lfg6 .tvkv-c.is-peak .bar{background:var(--accent)}
.lfg6 .tvkv-c .bar .gg{position:absolute;left:0;right:0;bottom:0;display:block;border-radius:0 0 2px 2px;
  background:color-mix(in srgb,var(--live) 76%,#000)}
html[data-theme="dark"] .lfg6 .tvkv-c .bar .gg{background:var(--live)}
.lfg6 .tvkv-c .h{font:600 10px 'Roboto',sans-serif;color:var(--dim);font-variant-numeric:tabular-nums;line-height:1}
.lfg6 .tvkv-c.is-now .h,.lfg6 .tvkv-c.is-now .n{color:var(--ink2)}
.lfg6 .tvkv-c.is-now .n{color:var(--ink)}
.lfg6 .tvkv-leg{display:flex;gap:14px;flex-wrap:wrap;padding:9px 12px 0;font-size:11.5px;color:var(--dim)}
.lfg6 .tvkv-leg span{display:inline-flex;align-items:center;gap:6px}
.lfg6 .tvkv-leg i{width:10px;height:10px;border-radius:2px;display:block;flex:0 0 auto}
.lfg6 .tvkv-leg i.l-alla{background:color-mix(in srgb,var(--ink) 16%,transparent)}
html[data-theme="dark"] .lfg6 .tvkv-leg i.l-alla{background:color-mix(in srgb,#fff 20%,transparent)}
.lfg6 .tvkv-leg i.l-gang{background:color-mix(in srgb,var(--live) 76%,#000)}
html[data-theme="dark"] .lfg6 .tvkv-leg i.l-gang{background:var(--live)}
.lfg6 .tvkv-leg i.l-topp{background:color-mix(in srgb,var(--accent) 80%,#000)}
html[data-theme="dark"] .lfg6 .tvkv-leg i.l-topp{background:var(--accent)}

@media (max-width:560px){
  .lfg6 .lfgh-c{border-left:0;border-top:1px solid var(--line);flex-basis:100%}
  .lfg6 .tvkv-leg{gap:10px}
}

/* ── VERKTYGSRADEN PÅ TVÅ RADER (2026-09-12) ─────────────────────────────────
   Sju spellägen + fyra sorteringar + sökfält får inte plats på en 560 px rad:
   chipsen bröt till fyra rader och sköt sökfältet ut ur kortet (sett i
   provrenderingen). Filtren äger rad ett, ordningen och sökandet rad två —
   och det gör dessutom skillnaden mellan filter och sortering tydligare. */
.lfg6 .tv-views{flex-wrap:wrap;row-gap:8px}
.lfg6 .tv-lagen{flex:1 1 100%;margin-right:0;padding-bottom:7px;
  border-bottom:1px solid var(--line)}
.lfg6 .tv-views .rt{margin-left:auto;min-width:0}
.lfg6 .tv-views .tv-sf{min-width:0}
.lfg6 .tv-views .tv-sf input{min-width:0;width:100%}
/* Tomt statusband ska inte lämna en rubrik hängande i luften. */
.lfg6 .statp:empty{display:none}
/* Genvägen i hjälten: en länk, inte en knapp — den leder bort från sidan. */
.lfg6 .lfgh-andra{position:absolute;right:13px;top:9px;font-size:11.5px;font-weight:600;
  color:var(--accent-ink);text-decoration:none;white-space:nowrap}
.lfg6 .lfgh-andra:hover{text-decoration:underline}
.lfg6 .lfgh-c{position:relative;padding-right:180px}
@media (max-width:700px){
  .lfg6 .lfgh-c{padding-right:13px}
  /* order:3 — länken står FÖRE etiketten i DOM (den är absolut placerad på
     bredd), och utan detta hamnade "Ändra dina lägen och tider" ovanför sin
     egen rubrik "DIN TID" på telefon. Sett i provrenderingen 2026-09-12. */
  .lfg6 .lfgh-andra{position:static;display:block;margin-top:5px;order:3}
}

/* ── NU-KOLUMNEN FÅR SIN EGNA BREDD (2026-09-12) ─────────────────────────────
   74 px sattes när "Passar" och "Svarar" höll på 114 px av samma rad och allt
   var trångt. Mätt i provrenderingen samma dag: "● Spelar nu" är 75 px, alltså
   17 px bredare än cellens innehållsruta — texten låg utanför sin egen kolumn
   på VARJE bredd, i båda teman. Nu när de tomma kolumnerna viker finns pengarna;
   namnkolumnen tar ändå allt som blir över. */
.lfg6 .tvt th.tvc-nu{ width:92px; }
.lfg6 .tvt th.tvc-act{ width:96px; }
/* Skälsraden får aldrig kapas mitt i ett ord: den är radens enda förklaring.
   Antalet skäl anpassas i JS (2 på smalt, 3 annars); ellipsen här är nätet
   under, för ett ovanligt långt enskilt skäl. */
.lfg6 .tvt .why{ overflow:hidden; flex-wrap:nowrap; min-width:0; }
/* flex:0 1 auto + min-width:0 — utan dem KAN ett skäl inte krympa, och då
   hjälper ingen ellips: raden sticker bara ut ur sin egen cell. */
.lfg6 .tvt .why > span{ flex:0 1 auto; min-width:0; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
/* Det FÖRSTA skälet är det starkaste (servern sorterar dem) och ska stå helt.
   Utan detta krympte båda lika mycket och man fick två halva fakta i stället
   för en hel — sett på 400 px 2026-09-12. */
.lfg6 .tvt .why > span:first-child{ flex:0 0 auto; max-width:100%; }
/* ★ INTE display:flex PÅ EN <td>. Provat 2026-09-12 och det blev VÄRRE (16 →
   48 fynd): cellen faller ur tabellens kolumnmodell — exakt den krock som
   redan står dokumenterad vid .act längre ner i den här filen. Läs varningar
   innan du upprepar felet de beskriver.

   Gruppens efterled ("svarar snabbast, de sitter framför skärmen") är rent
   förklarande. På smalt är det billigare att inte skriva det än att kapa det
   mitt i: rubriken "Spelar just nu 2" säger redan vad raden är. */
@media (max-width:560px){
  .lfg6 .tvt tr.tvg .hint{ display:none; }
}

/* ═══ §2.1 YTFÄRG ≠ TEXTFÄRG — rummets egna fall (2026-09-12) ═════════════════
   Uppmätt i provrenderingen: fyra regler, sex element under AA. Samma sjukdom
   som topplistan hade, och rättad med samma recept som står i facit §2.1 —
   ingen token ändrad, bara ytfärgen utbytt där den bär text.
   Rollback = klipp bort blocket. */

/* 1 ── Fylld accentknapp ("Samla gänget", "Skapa grupp"): vit på rå --accent
        ger 3,12:1. Samma mörkning som .btn.p i forre_pulse.css. */
.lfg6 .btn.b,
.lfg6 .btn.p,
.lfg6 .tv-slot .btn.b{
  background:color-mix(in srgb,var(--accent) 80%,#000);
  border-color:color-mix(in srgb,var(--accent) 80%,#000);
  color:#fff;
}
html[data-theme="dark"] .lfg6 .btn.b,
html[data-theme="dark"] .lfg6 .btn.p,
html[data-theme="dark"] .lfg6 .tv-slot .btn.b{
  background:var(--accent); border-color:var(--accent); color:#06121f;
}

/* 2 ── Fylld grön knapp ("Sluta söka", "Öppna chatt"). --onlive löste mörka
        läget 2026-08; ljusa läget stod kvar på 3,18:1 eftersom --live är en
        YTfärg. Mörka ytan, inte texten: grönt ska fortsatt läsas som grönt. */
.lfg6 .btn.g,
.lfg6 .btn.g:hover,
.lfg6 .btn.g:focus,
.lfg6 a.btn.g{
  background:color-mix(in srgb,var(--live) 74%,#000);
  border-color:color-mix(in srgb,var(--live) 74%,#000);
  color:#fff;
}
html[data-theme="dark"] .lfg6 .btn.g,
html[data-theme="dark"] .lfg6 .btn.g:hover,
html[data-theme="dark"] .lfg6 .btn.g:focus,
html[data-theme="dark"] html[data-theme="dark"] .lfg6 a.btn.g{
  background:var(--live); border-color:var(--live); color:var(--onlive);
}

/* 3 ── --live-ink på --live-wash ("Du är med") gav 2,85:1 i ljust läge: den
        tonen räknades mot --card, inte mot den gröna tvätten den står på. */
/* .lfg6 .mine.joined .lb (rad 1331) sätter rå --live och är mer specifik än
   en .joined .lb — därför matchas den formen här, annars vinner den. */
.lfg6 .mine.joined .lb,
.lfg6 .mine .lb{ color:color-mix(in srgb,var(--live-ink) 82%,#000); }
html[data-theme="dark"] .lfg6 .mine.joined .lb,
html[data-theme="dark"] .lfg6 .mine .lb{ color:var(--live-ink); }

/* ═══ DIN LUCKA — FRÅN SVART REMSA TILL "DET HÄR ÄR DU" (2026-09-12) ══════════
   Remsan bar broadcast-tonen (--board-*), mörk i båda lägena. Det fungerade när
   den låg inne i tavlan; sedan form B flyttade upp kvällsremsan står den mitt i
   kortstapeln och är sidans ENDA svarta block i ljust läge — den drar till sig
   allt öga utan att vara sidans viktigaste sak.

   Sajten har redan ett språk för "den här raden handlar om dig": accenttvätten
   på din egen rad i topplistan (.lbt-me). Samma ton här, så rummen säger samma
   sak på samma sätt.

   Tekniken: de fyra --board-*-variablerna DEFINIERAS OM lokalt i stället för att
   varje regel inuti skrivs om. Allt som ärver dem följer med, och tokenen är
   orörd för broadcast-ytorna som faktiskt ska vara mörka. */
.lfg6 .tv-slot{
  --board-bg:color-mix(in srgb,var(--accent) 7%,var(--card));
  --board-ink:var(--ink);
  --board-sub:var(--ink2);
  --board-line:color-mix(in srgb,var(--accent) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
}
html[data-theme="dark"] .lfg6 .tv-slot{
  --board-bg:color-mix(in srgb,var(--accent) 12%,var(--card));
  --board-line:color-mix(in srgb,var(--accent) 26%,transparent);
}
/* Sekundärknappen inuti: vit hover-plätt syns inte på en ljus yta. */
.lfg6 .tv-slot .btn{ color:var(--ink); }
.lfg6 .tv-slot .btn:hover{ background:color-mix(in srgb,var(--accent) 22%,transparent); }
html[data-theme="dark"] .lfg6 .tv-slot .btn:hover{ background:color-mix(in srgb,#fff 14%,transparent); }
/* Lediga platser: prickarna ska synas mot tvätten, inte mot svart. */
.lfg6 .tv-slot .pips i.f{ background:transparent; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 28%,transparent); }

/* ═══════════════════════════════════════════════════════════════════════════
   VY D — ANSIKTE, KLICKBART NAMN, MATCH I RADEN (2026-09-19, Kentas order)
   Facit: design-proposals/lfg-2026-09-19.html, vyn "D · Så här blir det".
   Mätt på live före bygget: 19 rader, 0 bilder, 18 avatar-URL:er i svaret,
   0 av 19 klickbara namn, `percent` på alla 19 och utskriven ingenstans.
   Alla tre bitarna fanns redan i JSON:en — ingenting nytt hämtas.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. BILDEN LIGGER OVANPÅ BOKSTAVEN, INTE BREDVID ──────────────────────
   .lfg6 .av är `display:grid; place-items:center`. En <img> utan position
   blir ett GRID-ITEM och ställer sig vid sidan av initialen: halv bokstav
   till vänster, tillklippt bild till höger. Bet i mockupen samma dag och
   syntes i varenda skärmdump innan någon tittade efter.
   Initialen blir synlig igen av sig själv när <img> tas bort av onerror. */
.lfg6 .av{ overflow:hidden; }
.lfg6 .av > img{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block; }
/* .on och .pg-ringen sitter UTANFÖR cirkeln och får inte klippas av overflow. */
.lfg6 .av > .on{ z-index:2; }

/* ── 2. NAMNET ÄR EN LÄNK ─────────────────────────────────────────────────
   Basen (.tvt .who .nm) ligger kvar orörd — den bär typografin. Här läggs
   bara länkbeteendet på, så en rad utan username fortfarande renderar som
   <span> med exakt samma utseende. */
.lfg6 .tvt .who a.nm{ color:var(--ink); text-decoration:none; }
.lfg6 .tvt .who a.nm:hover{ color:var(--accent-ink); text-decoration:underline; }
.lfg6 .tvt .who a.nm:focus-visible{ outline:2px solid var(--accent); outline-offset:2px;
  border-radius:var(--r-sm); }

/* ── 3. MATCHKOLUMNEN ─────────────────────────────────────────────────────
   ★ TALET FÄRGKODAS ALDRIG. FAS 9 tog bort Kemi-kolumnen just för att den
   färgade ett tal om två människors relation i grönt, gult och grått. Talet
   är en MÄTNING, inte ett omdöme: --ink i alla lägen. Mätaren bär skalan och
   använder --accent, som i pulse betyder "navigation/mått", inte "bra". */
.lfg6 .tvt th.tvc-mt{ width:62px; text-align:right; }
.lfg6 .tvt td.tvc-mt{ text-align:right; vertical-align:middle; padding-right:10px; }
.lfg6 .tvt td.tvc-mt b{ display:block; font-size:14px; font-weight:900;
  line-height:1; letter-spacing:-.02em; color:var(--ink); }
.lfg6 .tvt td.tvc-mt .mtr{ display:block; width:52px; height:3px; margin:5px 0 0 auto;
  border-radius:2px; background:var(--line2); overflow:hidden; }
.lfg6 .tvt td.tvc-mt .mtr i{ display:block; height:100%; background:var(--accent); }

/* Mittspalten är 572 px med båda railarna uppe; 62 px till matchen tas från
   namnkolumnen, som är den enda med width:auto. Uppmätt kvar åt namnet: 296 px,
   och namnet självt får 168 px av dem (.who .nm max-width) — oförändrat. */
@media (max-width:820px){
  /* Mobil: mätaren viker, talet står kvar. Ett tal utan skala är fortfarande
     ett tal; en 52 px mätare bredvid en 88 px knapp är bara trängsel. */
  .lfg6 .tvt th.tvc-mt{ width:40px; }
  .lfg6 .tvt td.tvc-mt .mtr{ display:none; }
  .lfg6 .tvt td.tvc-mt b{ font-size:13px; }
}
