/* forre_pulse — Tracker (Stats + Leaderboard).
   Endast tracker-specifika komponenter; bygger vidare på tokens/komponenter i forre_pulse.css.
   Platt · hårfina kanter · tabulära siffror · inga gradienter. Ljust default + [data-theme=dark].
   Skeleton/laddnings-modul längst ned (delas av home + stats + sök-navigering). */

/* ---------- Sökrad (home) ---------- */
.tksearch{padding:14px}
.tksearchbar{display:flex;align-items:center;gap:10px}
.tkplats{display:flex;gap:4px;flex:0 0 auto}
.tkplat{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);color:var(--dim);padding:0}
.tkplat svg{width:17px;height:17px}
.tkplat:hover{background:var(--inset);color:var(--ink2)}
.tkplat.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}
.tkin{flex:1;min-width:0;display:flex;align-items:center;gap:9px;height:38px;padding:0 12px;background:var(--inset);border:1px solid var(--line);border-radius:var(--r);color:var(--ink)}
.tkin i{color:var(--dim);font-size:14px}
.tkin input{flex:1;min-width:0;border:0;background:transparent;font-size:14px;color:var(--ink);outline:none}
.tksubmit{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:0;background:var(--accent);color:#fff;border-radius:var(--r)}
.tksubmit:hover{background:var(--accent-ink)}
.tkmeta{margin-top:9px;font-size:12px;color:var(--dim)}
.tkmeta b{color:var(--ink2);font-weight:800}

/* Sök-dropdown (delad markup med topbar-söket men egen container) */
.tkdrop{position:relative}
.tkdrop-list{position:absolute;left:0;right:0;top:6px;z-index:60;background:var(--card);border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 16px 46px rgba(16,24,40,.16);overflow:hidden;display:none}
.tkdrop-list.open{display:block}
.tkdrow{display:flex;align-items:center;gap:11px;padding:9px 13px;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;color:inherit}
.tkdrow:last-child{border-bottom:0}
.tkdrow:hover,.tkdrow.is-active{background:var(--inset)}
.tkdrow .av{width:30px;height:30px;flex:0 0 auto;border-radius:var(--r-sm);background:var(--inset);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;font-family:'Roboto';font-weight:800;font-size:12px;color:var(--ink2)}
.tkdrow .av img{width:100%;height:100%;object-fit:cover}
.tkdrow .c{flex:1;min-width:0;display:flex;flex-direction:column}
.tkdrow .nm{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkdrow .sub{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkdrow .go{flex:0 0 auto;color:var(--dim);font-size:13px}
.tkdrow-empty{padding:16px;text-align:center;color:var(--dim);font-size:12.5px}

/* ---------- Filterrad ---------- */
.tkfilters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin:14px 0}
.tkfgroup{display:flex;flex-direction:column;gap:6px}
.tkftitle{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.tkchips{display:flex;gap:5px;flex-wrap:wrap}
.tkchip{padding:7px 13px;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);font-weight:700;font-size:12.5px;color:var(--ink2);cursor:pointer;text-decoration:none;display:inline-block}
.tkchip:hover{background:var(--inset)}
.tkchip.is-active{border-color:var(--accent);background:var(--accent);color:#fff}
.tksel{height:34px;padding:0 10px;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);font-weight:700;font-size:12.5px;color:var(--ink)}

/* ---------- Leaderboard-tabell (tracker-kolumner, redesign 2026-07-16) ---------- */
.tklb{overflow:hidden}
.tklb-card{overflow:hidden}
.tklb-hd{display:flex;align-items:baseline;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}
.tklb-hd h2{font-family:'Roboto';font-weight:700;font-size:15px;letter-spacing:-.01em;margin:0}
.tklb-hd-sub{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.tklb-h,.tklb-r{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 90px 110px;gap:10px;align-items:center;padding:9px 16px}
.tklb-h{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-weight:500;border-bottom:1px solid var(--line);background:var(--inset)}
.tklb-h span:not(:nth-child(-n+2)){text-align:right}
.tklb-r{border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.tklb-r:nth-child(even){background:var(--zebra)}
.tklb-r:last-child{border-bottom:0}
.tklb-r:hover{background:var(--inset)}
.tklb-r.me{background:var(--accent-wash);box-shadow:inset 2px 0 0 var(--accent)}
.tklb-r .rk{font-family:'Roboto';font-weight:500;color:var(--dim);font-size:13px;font-variant-numeric:tabular-nums}
.tklb-r.p1 .rk{color:var(--gold-r)}.tklb-r.p2 .rk{color:#9aa4b0}.tklb-r.p3 .rk{color:#c47b3a}
.tklb-r.p1 .rk,.tklb-r.p2 .rk,.tklb-r.p3 .rk{font-weight:700}
/* avatar-bilden MÅSTE tvingas in i 34px-tilen (delade .who .av saknar overflow/img-sizing) */
.tklb-r .who .av{overflow:hidden}
.tklb-r .who .av img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.tklb-r .who .av.tile{color:#fff;font-weight:800;font-size:12px;border:0}
.tklb-r .who .wcol{min-width:0;display:flex;flex-direction:column}
.tklb-r .who .nmrow{display:flex;align-items:center;gap:7px;min-width:0}
.tklb-r .who .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;font-weight:600;font-size:13.5px}
.tklb-r .who .av{width:30px;height:30px}
.tklb-r .who .nmrow .dgb{flex:0 0 auto}
/* Stillren rankbadge (Pallen-stilen 2026-07-17): ikonen bär färgen, texten dämpad. */
.tkrb{display:inline-flex;align-items:center;gap:5px;color:var(--dim);font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap;flex:0 0 auto;font-variant-numeric:tabular-nums}
.tkrb-i{width:14px;height:14px;object-fit:contain;flex:0 0 auto}
.tklb-r .num{text-align:right;font-weight:400;color:var(--ink2)}
.tklb-r .num.primary{font-weight:700;color:var(--accent-ink)}
.tklb-r .wr{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tklb-r .wr b{font-weight:500;font-size:12.5px;color:var(--ink2)}
.tklb-r .wr b.dim{color:var(--faint);font-weight:600}
.tklb-r .wr .meter{width:62px;height:3px;border-radius:2px;background:var(--inset);overflow:hidden}
.tklb-r .wr .meter i{display:block;height:100%;background:var(--accent);border-radius:2px}
.tklb-r:nth-child(even) .wr .meter,.tklb-r:hover .wr .meter{background:var(--line)}
/* nollrader: ärligt nedtonade i st f full styrka */
.tklb-r.dead{opacity:.45}
.tklb-r.dead .num.primary{color:var(--dim);font-weight:500}
/* Din placering-pin */
.tklb-mepin{padding:5px 16px;background:var(--accent-wash);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tklb-empty{padding:24px;text-align:center;color:var(--dim);font-size:13.5px}

/* ---------- Paginering ---------- */
.tkpag{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;flex-wrap:wrap}
.tkpage{min-width:34px;height:34px;padding:0 10px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);font-weight:700;font-size:13px;color:var(--ink2);cursor:pointer}
.tkpage:hover{background:var(--inset)}
.tkpage.is-active{border-color:var(--accent);background:var(--accent);color:#fff}
.tkpage.is-disabled{opacity:.4;pointer-events:none}

/* ---------- Stats-sida ---------- */
.tkhero .banner{height:96px}
.tkhero .pmeta h1{font-size:22px}
.tkbadges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}
.tkbadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:.02em;padding:3px 8px;border-radius:var(--r-sm);background:var(--inset);color:var(--ink2);border:1px solid var(--line)}
.tkbadge.live{color:var(--live);background:var(--live-wash);border-color:transparent}
.tkbadge .rkico{width:14px;height:14px;object-fit:contain}
.tkhmeta{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:11.5px;color:var(--dim)}
.tkhmeta b{color:var(--ink2);font-weight:800}
.tkupdated{font-size:11px;color:var(--dim);display:inline-flex;align-items:center;gap:6px}

/* per-mode/overall stat-grid */
.tkmodes{overflow:hidden}
.tkmode{display:grid;grid-template-columns:120px repeat(5,1fr);gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.tkmode:last-child{border-bottom:0}
.tkmode:nth-child(even){background:var(--zebra)}
.tkmode.overall{background:var(--accent-wash)}
.tkmode .lbl{font-family:'Roboto';font-weight:800;font-size:13.5px}
.tkmode .c{display:flex;flex-direction:column;text-align:right}
.tkmode .c small{font-size:10px;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tkmode .c strong{font-family:'Roboto';font-weight:800;font-size:15px;color:var(--ink)}
.tkmode.overall .c strong{color:var(--accent-ink)}

/* ranked + trend paneler sida vid sida */
.tklower{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.tkrank-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.tkrank-row:last-child{border-bottom:0}
.tkrank-row .lbl{font-weight:700;font-size:13px}
.tkrank-row strong{font-family:'Roboto';font-weight:800;font-size:13px}
.tkrank-row small{font-size:11px;color:var(--dim);min-width:44px;text-align:right}
.tkrank-hero{padding:14px;display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line)}
.tkrank-hero strong{font-family:'Roboto';font-weight:900;font-size:20px}
.tkrank-hero span{font-size:12px;color:var(--dim)}
.tktrend{padding:16px}
.tktrend svg{display:block;width:100%;height:72px;overflow:visible}
.tktrend .spark-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tktrend .spark-area{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:none}
.tktrend .spark-dot{fill:var(--accent)}
.tktrend-empty{padding:16px;text-align:center;color:var(--dim);font-size:12.5px}

/* session recap */
.tkses-day{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:12px}
.tkses-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--inset);border-bottom:1px solid var(--line)}
.tkses-head.is-hot{background:var(--live-wash)}
.tkses-kick{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.tkses-head strong{display:block;font-family:'Roboto';font-weight:900;font-size:15px}
.tkses-sum{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--dim)}
.tkses-sum b{color:var(--ink2);font-weight:800}
.tkses-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}
.tkses-row:last-child{border-bottom:0}
.tkses-place{display:flex;flex-direction:column;min-width:66px}
.tkses-place strong{font-family:'Roboto';font-weight:900;font-size:12px}
.tkses-place span{font-size:10.5px;color:var(--dim)}
.tkses-place.is-win strong{color:var(--live)}
.tkses-place.is-top strong{color:var(--gold)}
.tkses-metric{text-align:right}
.tkses-metric small{display:block;font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.tkses-metric strong{font-family:'Roboto';font-weight:800;font-size:14px}
.tkses-metric strong.is-highlight{color:var(--live)}

/* tomt/status-läge */
.tkstatus{padding:40px 16px;text-align:center;color:var(--dim);font-size:14px}

/* ---------- Skeleton / laddnings-modul ---------- */
.pulse-skel{position:relative;overflow:hidden;background:var(--inset);border-radius:var(--r-sm)}
.pulse-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--card) 70%,transparent),transparent);
  animation:pulseSkel 1.2s infinite}
.pulse-skel.line{height:12px;margin:7px 0}
.pulse-skel.line.sm{width:40%}
.pulse-skel.line.lg{width:80%}
.pulse-skel.block{height:64px}
@keyframes pulseSkel{100%{transform:translateX(100%)}}

/* panel som hydreras i bakgrunden */
[data-live-panel][aria-busy="true"]{position:relative}
[data-live-panel][aria-busy="true"]::before{content:"";position:absolute;inset:0;z-index:2;background:color-mix(in srgb,var(--card) 55%,transparent);backdrop-filter:saturate(.9)}
.tk-panel-spin{position:absolute;z-index:3;top:10px;right:12px;width:16px;height:16px;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:pulseSpin .7s linear infinite;display:none}
[data-live-panel][aria-busy="true"] .tk-panel-spin{display:block}

/* global overlay-spinner för sidbyten (filter/paginering/sök-navigering) */
.pulse-loading{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 55%,transparent)}
.pulse-loading.on{display:flex}
.pulse-loading .ring{width:40px;height:40px;border:3px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:pulseSpin .7s linear infinite}
@keyframes pulseSpin{100%{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  .pulse-skel::after,.tk-panel-spin,.pulse-loading .ring{animation:none}
}

/* ============================================================
   Tracker-redesign 2026-07-16 (mockup-facit): nameplate-hero,
   rankfärg som identitet, höger-rail (DNA/versus/highlights,
   rörelser/spelar nu). Bygger på pulse-tokens; endast tre nya
   rankfärger som saknas i temat (unreal/silver/bronze), scopade
   till .tkshell så inget globalt läcker.
   ============================================================ */
.tkshell{--tk-unreal:#c026d3;--tk-silver:#5f7285;--tk-bronze:#b06a2c}
[data-theme="dark"] .tkshell{--tk-unreal:#e24bd0;--tk-silver:#b6c2cf;--tk-bronze:#d08a4a}

/* filterrad som ETT verktygsfält */
.tkfilters.tkbar{padding:10px 14px;margin:14px 0;gap:18px}

/* ---------- Nameplate-hero (broadcast lower-third) ---------- */
.tkplate{overflow:hidden}
.tkplate .strip{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--board-bg);color:var(--board-ink);flex-wrap:wrap}
.tkplate .strip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rankc,var(--accent))}
.tkplate .pav{width:56px;height:56px;flex:0 0 auto;border-radius:var(--r-sm);background-color:#1c2b3d;background-size:cover;background-position:center;border:2px solid var(--rankc,var(--accent));display:grid;place-items:center;font-family:'Roboto';font-weight:900;font-size:19px;color:#fff}
.tkplate .who{flex:1;min-width:200px;display:block}
.tkplate .who h1{font-family:'Roboto';font-weight:900;font-size:21px;letter-spacing:-.01em;line-height:1.2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--board-ink);margin:0}
.tkplate .pmeta2{margin-top:5px;font-size:12px;color:var(--board-sub);display:flex;gap:14px;flex-wrap:wrap}
.tkplate .pmeta2 b{color:#fff;font-weight:700}
.tkrankchip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-sm);color:var(--rankc,var(--accent));background:color-mix(in srgb,var(--rankc,var(--accent)) 16%,transparent);border:1px solid color-mix(in srgb,var(--rankc,var(--accent)) 45%,transparent)}
.tkrankchip .rkico{width:15px;height:15px;object-fit:contain}
.tklivechip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;padding:4px 9px;border-radius:12px;background:rgba(43,208,107,.14);color:#4fe08a}
.tklivechip i{width:7px;height:7px;border-radius:50%;background:#2bd06b;animation:tkpulse 2s infinite}
@keyframes tkpulse{0%,100%{opacity:1}50%{opacity:.35}}
.tkplate .pacts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tkplate .pacts .tkupdated{color:var(--board-sub)}
.tkplate .pacts .btn.g{border-color:rgba(255,255,255,.25);color:#fff}
.tkplate .pacts .btn.g:hover{border-color:#fff;color:#fff}
.tkplate .prog{display:flex;align-items:center;gap:14px;padding:11px 18px;flex-wrap:wrap}
.tkplate .prog .lb{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.tkplate .prog .bar{flex:1;min-width:140px;height:6px;border-radius:3px;background:var(--inset);overflow:hidden}
.tkplate .prog .bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--rankc,var(--accent)) 75%,#000 8%),var(--rankc,var(--accent)))}
.tkplate .prog .to{font-size:12px;color:var(--dim);white-space:nowrap}
.tkplate .prog .to b{color:var(--rankc,var(--accent));font-weight:800}

/* summeringskortens kontextrad */
.statstrip .stat .ctx{margin-top:6px;font-size:11.5px;font-weight:700}
.statstrip .stat .ctx.up{color:var(--live)}
.statstrip .stat .ctx.top{color:var(--accent-ink)}
.statstrip .stat .ctx.flat{color:var(--dim);font-weight:600}

/* ranked-panelen: rankfärg + progress-mätare per mode */
.tkrank-hero .rkico-lg{width:26px;height:26px;object-fit:contain;flex:0 0 auto}
.tkrank-hero .rktext{color:var(--rankc,var(--ink))}
.tkrank-row{display:grid;grid-template-columns:88px 1fr auto 40px;gap:10px;align-items:center}
.tkrank-row .rmeter{height:4px;border-radius:2px;background:var(--inset);overflow:hidden}
.tkrank-row .rmeter i{display:block;height:100%;border-radius:2px;background:var(--rankc,var(--accent))}
.tkrank-row .rktext{color:var(--rankc,var(--ink))}
.tkdelta{font-size:11.5px;font-weight:800;color:var(--live)}
.tkvr{font-size:11px}

/* ---------- Höger-rail ---------- */
.tkrail .chd{padding:9px 13px}
.tkrail .chd .slabel{font-weight:600;font-size:12.5px;letter-spacing:0;text-transform:none}
.tkrail .chd a{font-size:12px;font-weight:600;color:var(--accent-ink)}
.tkform{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}
.tkdna-label{padding:12px 14px 6px;font-family:'Roboto';font-weight:900;font-size:15px}
.tkdna-row{display:grid;grid-template-columns:82px 1fr 30px;gap:10px;align-items:center;padding:4px 14px}
.tkdna-row .l{font-size:11px;font-weight:700;color:var(--ink2)}
.tkdna-row .m{height:4px;border-radius:2px;background:var(--inset);overflow:hidden}
.tkdna-row .m i{display:block;height:100%;border-radius:2px;background:var(--accent)}
.tkdna-row .m i.hi{background:var(--live)}
.tkdna-row .p{font-size:11px;font-weight:800;text-align:right;color:var(--ink2)}
.tkdna-insight{padding:8px 14px 4px;font-size:11.5px;color:var(--dim);line-height:1.45}
.tkkemi{display:flex;align-items:center;gap:12px;padding:12px 14px 4px;margin-top:6px;border-top:1px solid var(--line)}
.tkkemi .ring{position:relative;width:44px;height:44px;flex:0 0 auto}
.tkkemi .ring svg{width:44px;height:44px;display:block}
.tkkemi .ring b{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:11px}
.tkkemi .tx{font-size:11.5px;color:var(--dim);line-height:1.4}
.tkkemi .tx b{color:var(--ink);font-weight:800}
.tkrail-acts{display:flex;gap:8px;padding:12px 14px}
.btn.tksm{font-size:12px;padding:7px 11px}
.tkrail-foot{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--accent-ink)}
.tkrail-foot:hover{background:var(--inset)}

/* versus */
.tkvs-names{display:flex;justify-content:space-between;padding:10px 14px 2px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.tkvs-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:6px 14px;font-size:13px}
.tkvs-row:last-child{padding-bottom:12px}
.tkvs-row .a{text-align:left;font-weight:800;color:var(--dim)}
.tkvs-row .b{text-align:right;font-weight:800;color:var(--dim)}
.tkvs-row .a.win,.tkvs-row .b.win{color:var(--live)}
.tkvs-row .mid{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:center;min-width:58px}

/* highlights */
.tkhl-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.tkhl-row:last-of-type{border-bottom:0}
.tkhl-row .ic{width:30px;height:30px;flex:0 0 auto;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--inset);font-size:14px}
.tkhl-row .ic.vr{background:color-mix(in srgb,var(--gold) 14%,transparent)}
.tkhl-row .tx{flex:1;min-width:0;display:flex;flex-direction:column}
.tkhl-row .tx strong{font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkhl-row .tx span{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkshare{font-size:11px;font-weight:700;color:var(--accent-ink);white-space:nowrap;padding:5px 8px;border-radius:var(--r-sm)}
.tkshare:hover{background:var(--inset)}

/* dagens rörelser + spelar just nu */
.tkmv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.tkmv-row:last-child{border-bottom:0}
.tkmv-row:hover{background:var(--inset)}
.tkmv-row .nm{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkmv-row .d{font-size:11.5px;color:var(--dim);white-space:nowrap;display:flex;gap:8px}
.tkmv-row .d .up{color:var(--live);font-weight:600}
.tkplay-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line)}
.tkplay-row:last-child{border-bottom:0}
.tkplay-row .who{flex:1;min-width:0;text-decoration:none;color:inherit}
/* avatar-img MÅSTE tvingas in i 34px-tilen (delade .who .av saknar img-sizing).
   OBS: ingen overflow:hidden här — live-dotten sticker ut -3px utanför tilen. */
.tkplay-row .who .av{width:28px;height:28px;font-size:10.5px}
.tkplay-row .who .nm{font-weight:500}
.tkplay-row .who .av img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-sm)}
.tkplay-row .who .av .dot{position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:var(--live);border:2px solid var(--card);z-index:1}
.tkplay-row .who .av.tile{color:#fff;border:0}
.tkping{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);border-radius:var(--r-sm);color:var(--accent);font-size:15px}
.tkping:hover{border-color:var(--accent);background:var(--accent-wash)}
.tkping.is-sent{color:var(--live);border-color:var(--live);pointer-events:none}

/* dgb-tillägg: rankfamiljer som saknas i temat. Egen silver-klass med
   högre kontrast än temats .dgb.silver — den gråa läses annars som "inaktiv"
   bredvid färgade chips (Kentas feedback 2026-07-16). */
.dgb.tk-unreal{color:var(--tk-unreal);background:color-mix(in srgb,var(--tk-unreal) 14%,transparent)}
.dgb.tk-bronze{color:var(--tk-bronze);background:color-mix(in srgb,var(--tk-bronze) 15%,transparent)}
.dgb.tk-silver{color:var(--tk-silver);background:color-mix(in srgb,var(--tk-silver) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tk-silver) 35%,transparent)}

/* toast (dela/ping-feedback) */
.tktoast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(8px);z-index:9600;background:var(--board-bg);color:#fff;font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:var(--r);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.tktoast.on{opacity:1;transform:translateX(-50%) translateY(0)}

@media (prefers-reduced-motion:reduce){
  .tklivechip i{animation:none}
}

/* ---------- Responsivt ---------- */
@media (max-width:820px){
  .tkmode{grid-template-columns:90px repeat(3,1fr)}
  .tkmode .c.hide-m{display:none}
  .tklower{grid-template-columns:1fr}
  .tklb-h,.tklb-r{grid-template-columns:38px minmax(0,1fr) 72px 84px;gap:8px;padding:9px 12px}
  .tklb-h .col-mch,.tklb-r .col-mch{display:none}
  /* tracker-railen är kärninnehåll (DNA/versus/rörelser) → visas UNDER center på mobil,
     till skillnad från temats generella .right{display:none} */
  .tkshell .rail.right{display:flex;position:static}
  /* nameplate: actions på egen rad, uppdaterad-stämpeln flyter höger */
  .tkplate .strip{gap:12px;padding:14px}
  .tkplate .who{min-width:0}
  .tkplate .who h1{font-size:18px}
  .tkplate .pacts{flex-basis:100%;justify-content:flex-start}
  .tkplate .pacts .tkupdated{order:3;margin-left:auto}
  .tkplate .pacts .btn{padding:8px 12px;font-size:12.5px}
}
