.empty-state img{width:4rem;opacity:.5;margin-bottom:1rem}.factions__tabs{display:flex;gap:.25rem;background:var(--gray-bg);border-radius:9999px;padding:.2rem}.factions__tab{background:transparent;border:none;padding:.4rem .95rem;font-family:inherit;border-radius:9999px;font-size:.72rem;font-weight:700;color:var(--text-muted);cursor:pointer;letter-spacing:.02em;transition:all .15s ease;white-space:nowrap}.factions__tab:hover{color:var(--text-secondary)}.factions__tab--active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px rgba(0,0,0,.08)}.factions__list{padding:.5rem 0 .25rem}.faction-row{display:grid;grid-template-columns:1.6rem minmax(0,14rem) 1fr 4.25rem;gap:.85rem;align-items:center;padding:.55rem 0;cursor:pointer;user-select:none;border-radius:var(--radius-sm);transition:background .15s}.faction-row:hover{background:var(--page-bg)}.faction-row--no-subs{cursor:default}.faction-row--no-subs:hover{background:transparent}.faction-row__rank{font-size:.78rem;font-weight:700;color:#b8b8c4;font-variant-numeric:tabular-nums;text-align:center}.faction-row--1 .faction-row__rank{color:#d4a017}.faction-row--2 .faction-row__rank{color:#94a3b8}.faction-row--3 .faction-row__rank{color:#b26c3d}.faction-row__name-wrap{display:flex;align-items:center;gap:.4rem;min-width:0}.faction-row__expand{font-size:.6rem;color:#b8b8c4;transition:transform .2s;flex-shrink:0;width:.7rem}.faction-row.is-open .faction-row__expand{transform:rotate(90deg)}.faction-row__name{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.faction-row__sessions{font-size:.7rem;color:var(--text-muted);font-weight:500;margin-left:.35rem;flex-shrink:0}.faction-row__bar{height:1.1rem;background:var(--gray-bg);border-radius:4px;overflow:hidden;position:relative}.faction-row__bar-fill{height:100%;border-radius:4px;transition:width .45s cubic-bezier(.4,0,.2,1);min-width:2px}.faction-row--1 .faction-row__bar-fill{height:1.25rem;margin-top:-.075rem}.faction-row__bar-fill--win-hi{background:linear-gradient(90deg,#34d399,#059669)}.faction-row__bar-fill--win-mid{background:linear-gradient(90deg,#fbbf24,#d97706)}.faction-row__bar-fill--win-lo{background:linear-gradient(90deg,#fca5a5,#dc2626)}.faction-row__bar-fill--eff{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.faction-row__bar-fill--pop{background:linear-gradient(90deg,#60a5fa,#3567cf)}.faction-row__val{font-size:.85rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-.01em}.faction-row--1 .faction-row__val{font-size:.92rem}.faction-subs{display:none;padding:.15rem 0 .55rem}.faction-row.is-open+.faction-subs{display:block}.faction-sub{display:grid;grid-template-columns:1.6rem minmax(0,14rem) 1fr 4.25rem;gap:.85rem;align-items:center;padding:.25rem 0}.faction-sub__name{font-size:.78rem;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:1.1rem}.faction-sub__bar{height:5px;background:var(--gray-bg);border-radius:3px;overflow:hidden}.faction-sub__bar-fill{height:100%;border-radius:3px;opacity:.7}.faction-sub__bar-fill--win-hi{background:linear-gradient(90deg,#34d399,#059669)}.faction-sub__bar-fill--win-mid{background:linear-gradient(90deg,#fbbf24,#d97706)}.faction-sub__bar-fill--win-lo{background:linear-gradient(90deg,#fca5a5,#dc2626)}.faction-sub__bar-fill--eff{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.faction-sub__bar-fill--pop{background:linear-gradient(90deg,#60a5fa,#3567cf)}.faction-sub__val{font-size:.78rem;color:var(--text-secondary);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;gap:.15rem}.faction-sub__val small{color:var(--text-muted);font-weight:500;font-size:.65rem;margin-left:0}@media (max-width:600px){.faction-row{grid-template-columns:1.3rem minmax(0,9rem) 1fr 3rem;gap:.55rem}.faction-row__name{font-size:.85rem}.faction-row__sessions{display:none}.faction-row__val{font-size:.8rem}.faction-row--1 .faction-row__val{font-size:.85rem}.faction-sub{grid-template-columns:1.3rem minmax(0,9rem) 1fr 3rem;gap:.55rem}.faction-sub__name{font-size:.75rem;padding-left:.7rem}.faction-sub__val{font-size:.7rem}}