    /* ── ATHLETE RANKINGS (dark surface, oversized) ── */
    #tab-rankings .page-desc{max-width:680px}
    .rank-shell{background:#0e1014;border:1px solid #23262e;border-radius:22px;padding:1.5rem 1.5rem 1.75rem;box-shadow:0 10px 40px rgba(0,0,0,.18)}
    .rank-shell .roster-sortbar__label{color:#8a8f99}
    .rank-shell .empty{background:#181b21;border-color:#2a2e36}
    .rank-shell .empty__title{color:#e8eaee}
    .rank-shell .empty__desc{color:#9aa0ab}
    .rank-shell .empty__desc strong{color:#e8eaee}
    .rank-tabs{margin-bottom:1.6rem;flex-wrap:wrap}
    /* expandable view menu (replaces the 4-tab bar) */
    .rank-nav{position:relative;max-width:340px;margin-bottom:1.5rem;z-index:30}
    .rank-nav__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:#181b21;border:1px solid #2a2e36;border-radius:12px;padding:.75rem 1.05rem;color:#fff;font-family:var(--fd);font-weight:700;font-size:1.05rem;letter-spacing:.01em;cursor:pointer}
    .rank-nav__toggle:hover{border-color:#3a3f49}
    .rank-nav__chev{width:18px;height:18px;color:#9aa0ab;flex-shrink:0;transition:transform var(--ease)}
    .rank-nav.open .rank-nav__chev{transform:rotate(180deg)}
    .rank-nav__menu{display:none;flex-direction:column;gap:.15rem;position:absolute;top:calc(100% + .4rem);left:0;right:0;background:#181b21;border:1px solid #2a2e36;border-radius:12px;padding:.35rem;box-shadow:0 14px 40px rgba(0,0,0,.45)}
    .rank-nav.open .rank-nav__menu{display:flex}
    .rank-nav__item{text-align:left;padding:.62rem .85rem;border-radius:9px;color:#c8ccd3;font-family:var(--fb);font-weight:600;font-size:.86rem;transition:all var(--ease)}
    .rank-nav__item:hover{background:#2c313a;color:#fff}
    .rank-nav__item.active{background:var(--lime);color:var(--on-accent);font-weight:700}
    /* dark tab switch inside the rankings shell (pre-existing #rankTabs — kept for compatibility) */
    .rank-shell #rankTabs{background:#181b21;border-color:#2a2e36}
    .rank-shell #rankTabs .seg__btn{color:#9aa0ab}
    .rank-shell #rankTabs .seg__btn:hover{color:#e8eaee}
    .rank-shell #rankTabs .seg__btn.active{background:#2c313a;color:#fff}
    /* Rankings' Program/Sex now come from the shared workspace filter bar — a program section
       heading + sex sub-heading replace the old #rankProgram/#rankSex controls when the shared
       filter is "All" and multiple programs/sexes stack on one board */
    .rank-progname{display:flex;align-items:center;gap:.5rem;font-family:var(--fd);font-weight:700;font-size:1.1rem;letter-spacing:.02em;color:#fff;margin:1.4rem 0 .6rem}
    .rank-progname:first-child{margin-top:0}
    .rank-progname .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
    .rank-subhead{font-family:var(--fb);font-size:.62rem;font-weight:700;letter-spacing:0;color:#8a8f99;margin:.9rem 0 .5rem}
    .rank-card{background:#181b21;border:1px solid #2a2e36;border-radius:18px;margin-bottom:.8rem;box-shadow:0 2px 12px rgba(0,0,0,.3);overflow:hidden}
    .rank-card__head{width:100%;display:flex;align-items:center;gap:1rem;padding:1.2rem 1.35rem;background:#111318;border:none;cursor:pointer;text-align:left}
    .rank-card__rank{font-family:var(--fd);font-weight:800;font-size:1.05rem;color:var(--lime);min-width:34px;flex-shrink:0}
    .rank-card__name{flex:1;font-family:var(--fd);font-weight:700;font-size:1.35rem;letter-spacing:.01em;color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .rank-card__badges{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}
    .rank-card__head .acc__chev{color:#6b7280;font-size:.72rem;transition:transform var(--ease)}
    .rank-card.open .acc__chev{transform:rotate(90deg)}
    .rank-badge{text-align:center;line-height:1}
    .rank-badge b{display:block;font-family:var(--fd);font-weight:800;font-size:3rem;font-style:italic;letter-spacing:-.05em}
    .rank-badge i{display:block;font-family:var(--fb);font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.16em;color:#8a8f99;margin-top:4px}
    .rank-card__body{border-top:1px solid #2a2e36;background:#14161b;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .rank-table{width:100%;border-collapse:collapse;font-family:var(--fb);min-width:360px}
    .rank-table th{font-size:.56rem;font-weight:700;letter-spacing:0;color:#8a8f99;padding:.75rem .55rem;text-align:center}
    .rank-table th:first-child{text-align:left;padding-left:1.35rem}
    .rank-table td{padding:.7rem .55rem;font-size:.92rem;text-align:center;border-top:1px solid #23272e;color:#c4c8cf;font-family:var(--fd);white-space:nowrap}
    .rank-table__m{text-align:left;padding-left:1.35rem;font-family:var(--fs);font-weight:600;color:#fff}
    .rank-table__now{font-weight:800;color:#fff}
    .rating-pill{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:3px 9px;border-radius:7px;font-family:var(--fd);font-weight:800;font-size:.95rem;color:#fff}
    .rank-note{font-size:.8rem;color:#9aa0ab;line-height:1.6;margin-bottom:1.15rem}
    .rank-note--warn{color:var(--amber);background:var(--amber-b);border:1px solid var(--amber-t);border-radius:var(--r);padding:.6rem .85rem}
    /* AJ builder + breakdown */
    .aj-view{font-family:var(--fb);font-size:.62rem;font-weight:700;letter-spacing:0;color:var(--lime);border:1px solid var(--lime);border-radius:100px;padding:.25rem .6rem}
    .aj-balance{margin-left:.5rem;font-family:var(--fb);font-size:.56rem;font-weight:700;letter-spacing:.04em;border-radius:100px;padding:.12rem .5rem;vertical-align:middle}
    .aj-balance--bal{color:var(--green);background:var(--green-b)} .aj-balance--dom{color:var(--blue);background:var(--blue-b)} .aj-balance--unev{color:var(--amber);background:var(--amber-b)}
    .aj-balance--elite{color:var(--on-accent);background:var(--lime)}
    .ajbuild-modes{margin-bottom:.4rem}
    .ajbuild-progsel{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem;flex-wrap:wrap}
    .ajbuild-progsel .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;vertical-align:middle}
    .ajbuild-cat{font-family:var(--fb);font-size:.62rem;font-weight:700;letter-spacing:0;color:var(--t3);margin:1.1rem 0 .5rem}
    .ajbuild-row{display:flex;align-items:center;gap:.85rem;background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:.6rem .8rem;margin-bottom:.5rem}
    .ajbuild-row--off{opacity:.5}
    .ajbuild-inc{width:34px;height:34px;flex-shrink:0;border:1px solid var(--b2);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--t3)}
    .ajbuild-inc.on{background:var(--lime);border-color:var(--lime);color:var(--on-accent)}
    .ajbuild-inc .ic{width:16px;height:16px}
    .ajbuild-name{flex:1;min-width:0;font-family:var(--fs);font-weight:600;font-size:.9rem;color:var(--text)}
    .ajbuild-meta{display:block;font-family:var(--fb);font-size:.66rem;font-weight:400;color:var(--t3);margin-top:.15rem}
    .ajbuild-w{flex-shrink:0;display:flex;align-items:center;gap:.3rem;font-family:var(--fd);font-weight:800}
    .ajbuild-winp{width:60px;text-align:right;padding:.4rem .5rem}
    .ajbuild-winpwrap{display:inline-flex;align-items:center;gap:.2rem}
    .ajbuild-wpct{font-size:1.05rem;color:var(--lime)}
    .ajbuild-total{margin:1rem 0 .6rem;font-family:var(--fb);font-size:.85rem;color:var(--t2)}
    .ajbuild-total.bad{color:var(--red)} .ajbuild-total b{font-family:var(--fd);font-size:1.05rem;color:var(--text)}
    .ajbuild-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}
    .ajb-table{width:100%;border-collapse:collapse;font-family:var(--fb);font-size:.78rem}
    .ajb-table th{text-align:left;font-size:.6rem;font-weight:700;letter-spacing:0;color:var(--t3);padding:.4rem .5rem;border-bottom:1px solid var(--b2);white-space:nowrap}
    .ajb-table td{padding:.5rem .5rem;border-bottom:1px solid var(--b1);color:var(--t2);white-space:nowrap}
    .ajb-table .ajb-m{font-weight:600;color:var(--text)}
    .ajb-insuf{font-size:.68rem;color:var(--t3);font-style:italic}
    .ajb-flag{color:var(--amber)}
    /* Overall Change badge (rank-card) + stat (breakdown modal) — colored by sign, not rankColor */
    .rank-change--up{color:var(--green)}
    .rank-change--down{color:var(--red)}
    .rank-change--flat{color:var(--t4)}
    /* Overall Change filter toolbar (All / Improved / Declined / No Change) */
    .rank-changeseg{margin-bottom:1.15rem}
    .rank-shell .rank-changeseg{background:#181b21;border-color:#2a2e36}
    .rank-shell .rank-changeseg .seg__btn{color:#9aa0ab}
    .rank-shell .rank-changeseg .seg__btn:hover{color:#e8eaee}
    .rank-shell .rank-changeseg .seg__btn.active{background:#2c313a;color:#fff}
    /* Leaderboard / Configure sub-switch inside the dark rank shell */
    .rank-subseg{margin-bottom:1.25rem}
    .rank-shell .rank-subseg{background:#181b21;border-color:#2a2e36}
    .rank-shell .rank-subseg .seg__btn{color:#9aa0ab}
    .rank-shell .rank-subseg .seg__btn:hover{color:#e8eaee}
    .rank-shell .rank-subseg .seg__btn.active{background:#2c313a;color:#fff}
    .rank-lead{display:flex;align-items:center;gap:1rem;background:#181b21;border:1px solid #2a2e36;border-radius:16px;padding:1.15rem 1.35rem;margin-bottom:.65rem;box-shadow:0 2px 12px rgba(0,0,0,.3)}
    .rank-lead__m{flex:1;min-width:0}
    .rank-lead__label{font-size:.58rem;font-weight:700;letter-spacing:0;color:#8a8f99;margin-bottom:.3rem}
    .rank-lead__holder{font-family:var(--fd);font-weight:700;font-size:1.4rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .rank-lead__v{font-family:var(--fd);font-weight:800;font-size:1.85rem;color:#fff;white-space:nowrap;text-align:right;flex-shrink:0}
    .rank-lead__v .u{font-family:var(--fb);font-weight:500;font-size:.78rem;color:#8a8f99;margin-left:3px}
    .rank-foot{margin-top:1.75rem;padding-top:1.35rem;border-top:1px solid #2a2e36;font-family:var(--fb);font-size:.72rem;line-height:1.7;color:#9aa0ab}
    .rank-foot b{color:#e8eaee;font-weight:700}
    .rank-lead__badge{display:inline-block;margin-left:.7rem;padding:3px 9px;border-radius:7px;background:var(--lime);color:#0b0b0f;font-family:var(--fd);font-weight:800;font-size:.66rem;letter-spacing:.06em;vertical-align:middle}
    @media(max-width:560px){
      .rank-shell{padding:1.1rem 1rem 1.35rem;border-radius:18px}
      .rank-badge b{font-size:2.2rem}
      .rank-card__head{padding:1rem;gap:.75rem;flex-wrap:wrap}
      .rank-card__name{font-size:1.08rem;flex-basis:calc(100% - 50px);white-space:normal}
      .rank-card__badges{flex-basis:100%;justify-content:space-around;gap:.75rem;margin-top:.3rem}
      .aj-view{display:none}
      .rank-badge{flex:1}
      .rank-badge b{display:block}
      .rank-lead__v{font-size:1.45rem}
      .rank-lead__holder{font-size:1.12rem}
    }
