/* WODDI XP — Phase 3 gamification views */
.xp-tabs { display:flex; gap:.5rem; margin-bottom:.875rem; overflow-x:auto; }
.xp-tab { padding:.55rem .95rem; border-radius:99px; border:1px solid var(--border);
  background:var(--surface); color:var(--text-2); font-weight:700; font-size:.8125rem;
  cursor:pointer; white-space:nowrap; min-height:40px; }
.xp-tab.active { background:var(--gmn); border-color:var(--gmn); color:#fff; }
.xp-card { padding:1.1rem 1.25rem; margin-bottom:.875rem; }
.xp-total { display:flex; align-items:baseline; gap:.5rem; margin-bottom:.75rem; }
.xp-total strong { font-size:2.2rem; font-weight:900; color:var(--gmn); line-height:1; }
.xp-total span { font-size:.8125rem; color:var(--text-3); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.xp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; text-align:center; }
.xp-grid b { display:block; font-size:1.15rem; font-weight:900; }
.xp-grid span { font-size:.6875rem; color:var(--text-3); }
.xp-note { margin:.75rem 0 0; font-size:.6875rem; color:var(--text-3); }
.xp-rank { text-align:center; }
.xp-rank-num { font-size:2.6rem; font-weight:900; color:var(--nnn); }
.xp-rank p { margin:.25rem 0 0; font-size:.875rem; color:var(--text-2); }
.xp-badges { padding:1.1rem 1.25rem; margin-bottom:.875rem; }
.xp-badges h3 { margin:0 0 .75rem; font-size:.9375rem; display:flex; align-items:center; gap:.5rem; }
.xp-badge-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.625rem; }
.xp-badge { display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.8rem .5rem;
  border:1px dashed var(--border); border-radius:var(--r-sm); color:var(--text-3); text-align:center; }
.xp-badge i { font-size:1.4rem; }
.xp-badge span { font-size:.75rem; font-weight:800; }
.xp-badge small { font-size:.625rem; }
.xp-badge.earned { border:1.5px solid var(--nnn); color:var(--nnn); background:rgba(124,181,24,.07); }
/* v116 server per-period board */
.xp-srv-row { display:flex; align-items:center; gap:.75rem; padding:.55rem 0; border-bottom:1px solid var(--border); font-size:.875rem; }
.xp-srv-row.me { font-weight:800; color:var(--gmn); }
.xp-srv-rank { width:24px; text-align:center; font-weight:800; color:var(--text-3); }
.xp-srv-name { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
