  /* TV */
  .tv{background:linear-gradient(160deg,#1b1015,#2a141f 60%,#3a1a2c);color:#fff;border-radius:18px;padding:24px;overflow:hidden}
  .tv h2{font-size:22px;color:#fff}
  .tv .rank{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;margin-top:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
  .tv .pos{font-size:20px;font-weight:800;width:30px;color:var(--gold)}
  .tv .rank .ava{width:40px;height:40px;font-size:15px}
  .tv .rank .nm{font-size:16px;font-weight:700}
  .tv .rank .mt{font-size:12px;color:rgba(255,255,255,.6)}
  .tv .rank .prox{font-size:11.5px;color:var(--gold);margin-top:2px}
  .tv .rank .minfalta{font-size:11.5px;color:rgba(255,255,255,.55);margin-top:2px}
  .tv .pcts{margin-left:auto;display:flex;gap:16px;text-align:center}
  .tv .pcts .p .n{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
  .tv .pcts .p .c{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.55)}
  .tv .rank.first{background:linear-gradient(100deg,rgba(198,154,46,.28),rgba(255,255,255,.05));border-color:rgba(198,154,46,.5)}
  .feed{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
  .feed h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6);margin-bottom:8px}
  .feed .item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:14px}
  .feed .item:last-child{border-bottom:0} .feed .item .ic{font-size:17px}
  .tv-grid{display:grid;grid-template-columns:1fr 330px;gap:16px;align-items:start;margin-top:8px}
  .tv-rankcol{display:flex;flex-direction:column;gap:8px}
  .tv-grid .rank{margin-top:0}
  .tv-mural .feed{margin:0}
  @media(max-width:900px){.tv-grid{grid-template-columns:1fr}}
  .qm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:10px}
  .qm-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
  .qm-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:8px;flex-wrap:wrap}
  .qm-head h3{margin:0;font-size:16px}
  .qm-sub{font-size:11px;color:rgba(255,255,255,.6)}
  .qm-minrow{display:flex;gap:14px;font-size:12px;color:rgba(255,255,255,.75);margin:6px 0 8px}
  .qm-note{font-size:11.5px;color:rgba(255,255,255,.6);margin-bottom:8px}
  .qm-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px}
  .qm-table th{text-align:left;font-size:10px;text-transform:uppercase;color:rgba(255,255,255,.5);padding:3px 6px}
  .qm-table td{padding:4px 6px;border-top:1px solid rgba(255,255,255,.08)}
  .qm-table td.fx{font-weight:700}
  .qm-carreira thead th{color:rgba(255,255,255,.7)}
  /* Modo TV — tela cheia fixa (sem menus, sem rolar) */
  body.tvmode header.top,body.tvmode nav.tabs,body.tvmode footer.foot,body.tvmode .tvchrome{display:none!important}
  body.tvmode main{max-width:none;margin:0;padding:0}
  body.tvmode .view:not(.active){display:none}
  body.tvmode .tv{border-radius:0;min-height:100vh;padding:22px 30px}
  .tvexit{position:fixed;top:12px;right:14px;z-index:60;display:none;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;border-radius:9px;padding:7px 12px;cursor:pointer;font-family:inherit;font-weight:600;font-size:13px}
  body.tvmode .tvexit{display:block}
  /* perfil TV: sem cabeçalho/abas, sem botão de sair — só o placar, preso em tela cheia */
  body.tvrole header.top,body.tvrole nav.tabs,body.tvrole footer.foot,body.tvrole .tvexit{display:none!important}
  /* botão de sair discreto — some visualmente na TV, mas continua clicável no cantinho pra quem precisar deslogar o dispositivo */
  .tvlogout{position:fixed;bottom:10px;left:10px;z-index:70;width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,.06);color:rgba(255,255,255,.35);cursor:pointer;font-size:13px;line-height:26px;text-align:center;padding:0;transition:all .15s}
  .tvlogout:hover{background:rgba(255,255,255,.9);color:#111;transform:scale(1.15)}
  @keyframes pulseNew{0%{background:rgba(198,154,46,.45)}100%{background:transparent}}
  .feed .item.new{animation:pulseNew 1.4s ease 2;border-radius:8px;padding-left:6px}
