/* Trader Leaderboard · reference data in the Order Book visual system. */
.leaderboard-page{background:var(--bg)}
.leaderboard-hero{position:relative;overflow:hidden;border-bottom:var(--hairline) solid var(--accent-fill-solid);background:var(--public-inverse-band-bg);color:var(--order-inverse-text)}
.leaderboard-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - var(--hairline)),color-mix(in srgb,var(--order-inverse-text) 5%,transparent) 12.5%)}
.leaderboard-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,var(--ratio-major)) minmax(18rem,var(--ratio-minor));gap:var(--ob-s-4);align-items:end;padding-block:var(--ob-s-4)}
.leaderboard-hero .page-kicker{color:var(--accent-highlight)}
.leaderboard-hero h1{max-width:19ch;margin:var(--sp-12) 0 var(--sp-16);font-size:min(var(--fs-public-h1),1.75rem);font-weight:var(--fw-medium);line-height:var(--lh-public-h1);letter-spacing:var(--ls-public-h1)}
.leaderboard-hero h1 span{color:var(--accent-highlight)}
.leaderboard-hero p{max-width:66ch;color:color-mix(in srgb,var(--order-inverse-text) 78%,var(--secondary));font-size:var(--fs-public-copy)}
.leaderboard-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-block-start:var(--stroke-strong) solid var(--accent-highlight)}
.leaderboard-hero-stats div{min-width:0;padding:var(--sp-16) var(--sp-12);border-inline-start:var(--hairline) solid color-mix(in srgb,var(--order-inverse-text) 18%,transparent)}
.leaderboard-hero-stats div:first-child{border-inline-start:0}
.leaderboard-hero-stats dt{color:color-mix(in srgb,var(--order-inverse-text) 68%,var(--secondary));font:var(--terminal-label-font);letter-spacing:var(--terminal-label-tracking);text-transform:uppercase}
.leaderboard-hero-stats dd{margin:var(--sp-8) 0 0;color:var(--order-inverse-text);font-size:var(--fs-public-h3);font-weight:var(--fw-medium);white-space:nowrap}
.leaderboard-workspace{padding-block:var(--ob-s-4) var(--ob-s-5)}
.leaderboard-section-head{display:grid;grid-template-columns:minmax(0,var(--ratio-minor)) minmax(0,var(--ratio-major));gap:var(--ob-s-4);align-items:end;margin-bottom:var(--ob-s-2)}
.leaderboard-section-head h2{margin-top:var(--sp-6);font-size:var(--fs-public-title);font-weight:var(--fw-medium)}
.leaderboard-section-head p{max-width:64ch;color:var(--text-2)}
.leaderboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:var(--hairline) solid var(--border);border-inline-start:var(--hairline) solid var(--border);background:var(--surface)}
.leaderboard-metrics button{min-width:0;min-height:var(--touch-target);display:flex;align-items:center;gap:var(--sp-12);padding:var(--sp-16);border:0;border-inline-end:var(--hairline) solid var(--border);background:transparent;color:var(--text-2);text-align:start;cursor:pointer}
.leaderboard-metrics button:hover{background:var(--surface-2);color:var(--text)}
.leaderboard-metrics button[aria-pressed="true"]{background:var(--text);color:var(--order-inverse-text);box-shadow:inset 0 calc(var(--stroke-strong) * -1) var(--accent-fill-solid)}
.leaderboard-metrics button>span:last-child{min-width:0;display:grid;gap:var(--sp-2)}
.leaderboard-metrics strong,.leaderboard-metrics small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.leaderboard-metrics strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.leaderboard-metrics small{color:inherit;font-size:var(--fs-caption);opacity:.76}
.metric-code{width:var(--sp-28);height:var(--sp-28);display:grid;place-items:center;flex:0 0 var(--sp-28);border:var(--hairline) solid currentColor;font-size:var(--fs-caption)}
.leaderboard-controls{min-height:var(--touch-target);display:flex;align-items:center;padding-block:var(--sp-12)}
.leaderboard-identity-rule{display:flex;align-items:center;gap:var(--sp-6);color:var(--text-2);font-size:var(--fs-caption)}
.leaderboard-identity-rule strong{color:var(--text);font-weight:var(--fw-semibold)}
.leaderboard-legend{display:flex;flex-wrap:wrap;gap:var(--sp-16);color:var(--text-2);font-size:var(--fs-caption)}
.leaderboard-legend span{display:inline-flex;align-items:center;gap:var(--sp-6)}
.privacy-mark{width:var(--sp-12);height:var(--sp-12);display:inline-block;border:var(--hairline) solid var(--text-3)}
.privacy-mark.is-public{background:var(--accent-fill-solid);border-color:var(--accent-strong)}
.privacy-mark.is-friends{background:repeating-linear-gradient(135deg,var(--surface) 0,var(--surface) var(--sp-4),var(--secondary) var(--sp-4),var(--secondary) var(--sp-6))}
.privacy-mark.is-closed{border-radius:50%;box-shadow:inset 0 0 0 var(--stroke-strong) var(--surface),inset 0 0 0 calc(var(--stroke-strong) + var(--hairline)) var(--text-2)}

.leaderboard-table-scroll{overflow-x:auto;outline-offset:calc(var(--focus-offset) * -1)}
.leaderboard-table{width:100%;min-width:68rem;border-collapse:collapse}
.leaderboard-table caption{padding:var(--sp-10) var(--sp-16);border-bottom:var(--hairline) solid var(--border-soft);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption);text-align:start}
.leaderboard-table th{height:var(--touch-target);padding:0 var(--sp-12);border-bottom:var(--stroke-strong) solid var(--text);color:var(--text-2);font-family:var(--mono);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-status);text-align:start;text-transform:uppercase;white-space:nowrap}
.leaderboard-table th.numeric,.leaderboard-table td.numeric{text-align:end;font-variant-numeric:tabular-nums}
.leaderboard-table th button{min-height:var(--touch-target);display:inline-flex;align-items:center;gap:var(--sp-6);padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer}
.leaderboard-table th[aria-sort="descending"]{color:var(--accent-strong);background:var(--accent-soft)}
.leaderboard-table td{padding:var(--sp-12);border-bottom:var(--hairline) solid var(--border-soft);color:var(--text-2);vertical-align:middle}
.leaderboard-table tbody tr:last-child td{border-bottom:0}
.leaderboard-table tbody tr:nth-child(even){background:var(--table-stripe)}.leaderboard-table tbody tr:hover{background:var(--table-row-hover)}
.leaderboard-table td[data-trader-value].is-active{background:var(--accent-soft);color:var(--text);font-weight:var(--fw-semibold)}
.trader-rank{width:var(--touch-target);color:var(--text-3);font-weight:var(--fw-semibold);text-align:center}
.trader-rank.is-top{color:var(--accent-strong);background:var(--accent-soft)}
.leaderboard-trader{min-width:17rem;min-height:var(--touch-target);display:flex;align-items:center;gap:var(--sp-12)}
.leaderboard-trader:hover strong{text-decoration:underline;text-underline-offset:var(--sp-4)}
.trader-avatar{width:var(--touch-target);height:var(--touch-target);display:grid;place-items:center;flex:0 0 var(--touch-target);border:var(--hairline) solid var(--component-avatar-border);border-radius:50%;color:var(--surface);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.trader-avatar.is-small{width:var(--sp-32);height:var(--sp-32);flex-basis:var(--sp-32);font-size:var(--fs-caption)}
.avatar-a1{background:var(--avatar-1)}.avatar-a2{background:var(--avatar-2)}.avatar-a3{background:var(--avatar-3)}.avatar-a4{background:var(--avatar-4)}.avatar-a5{background:var(--gold)}
.trader-identity{min-width:0;display:grid;gap:var(--sp-2)}
.trader-name-line{display:flex;align-items:center;gap:var(--sp-6)}
.trader-name-line strong{overflow:hidden;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis}
.trader-meta{color:var(--text-3);font-size:var(--fs-caption)}
.is-censored{font-family:var(--mono);letter-spacing:var(--ls-status);user-select:none}
.trader-verified{width:var(--sp-16);height:var(--sp-16);display:inline-grid;place-items:center;flex:0 0 var(--sp-16);border-radius:50%;background:var(--accent-fill-solid);color:var(--on-accent-fill);font-size:var(--fs-caption);line-height:1}
.trader-privacy-badge{display:inline-flex;align-items:center;width:max-content;padding:var(--sp-2) var(--sp-6);border:var(--hairline) solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap;box-shadow:var(--shadow-card)}
.value-up{color:var(--up)!important}.value-down{color:var(--down)!important}
.trader-rating span{color:var(--accent-strong);font-weight:var(--fw-semibold)}
.trader-rating small{color:var(--text-3)}
.leaderboard-ledger-foot{min-height:var(--touch-target);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16);padding:var(--sp-10) var(--sp-16);border-top:var(--hairline) solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption)}
.leaderboard-detail{padding-block:var(--sp-4)}
.leaderboard-back{min-height:var(--touch-target);display:inline-flex;align-items:center;margin-bottom:var(--sp-16);color:var(--accent-strong);font-weight:var(--fw-semibold)}
.trader-detail-grid{display:grid;grid-template-columns:minmax(0,var(--ratio-major)) minmax(18rem,var(--ratio-minor));gap:var(--ob-s-3);align-items:start}
.trader-detail-main,.trader-detail-aside{border:var(--hairline) solid var(--border);background:var(--surface);box-shadow:var(--shadow-card)}
.trader-detail-main{padding:var(--ob-s-3)}
.trader-profile-head{display:flex;align-items:center;gap:var(--sp-16);padding-bottom:var(--sp-20);border-bottom:var(--stroke-strong) solid var(--text)}
.trader-detail-identity{min-width:0;flex:1}
.trader-detail-identity h2{margin-top:var(--sp-6);font-size:var(--fs-public-title);font-weight:var(--fw-medium)}
.trader-detail-identity p{margin-top:var(--sp-2);color:var(--text-3)}
.trader-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:var(--sp-20) 0;border-block:var(--hairline) solid var(--border);border-inline-start:var(--hairline) solid var(--border)}
.trader-stat{display:grid;gap:var(--sp-4);padding:var(--sp-12);border-inline-end:var(--hairline) solid var(--border)}
.trader-stat dt{color:var(--text-3);font-size:var(--fs-caption)}
.trader-stat dd{margin:0;color:var(--text);font-family:var(--mono);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}
.trader-feedback-section{margin-top:var(--sp-24)}
.trader-feedback-section h3{padding-bottom:var(--sp-10);border-bottom:var(--hairline) solid var(--border);font-size:var(--fs-public-h3);font-weight:var(--fw-medium)}
.trader-feedback{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-10);padding-block:var(--sp-14);border-bottom:var(--hairline) solid var(--border-soft)}
.trader-feedback:last-child{border-bottom:0}
.trader-feedback-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-8)}
.trader-feedback-head strong{color:var(--text);font-size:var(--fs-sm)}
.trader-feedback-head small,.feedback-likes{color:var(--text-3);font-size:var(--fs-caption)}
.feedback-rating{margin-inline-start:auto;color:var(--accent-strong);font-size:var(--fs-caption)}
.trader-feedback p{margin-top:var(--sp-4);color:var(--text-2);font-size:var(--fs-sm)}
.trader-detail-aside{position:sticky;top:calc(var(--header-h) + var(--sp-16));padding:var(--ob-s-3)}
.trader-detail-score{display:block;margin-top:var(--sp-10);color:var(--accent-strong);font-size:clamp(3rem,8vw,5rem);font-weight:var(--fw-medium);line-height:1}
.trader-detail-aside>p{margin:var(--sp-4) 0 var(--sp-20);color:var(--text-3);font-size:var(--fs-caption)}
.trader-detail-ledger{border-top:var(--stroke-strong) solid var(--text)}
.trader-detail-ledger .trader-stat{grid-template-columns:1fr auto;border-inline-end:0;border-bottom:var(--hairline) solid var(--border)}
.leaderboard-page :focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}
@media(max-width:900px){
  .leaderboard-hero-grid,.leaderboard-section-head,.trader-detail-grid{grid-template-columns:1fr}
  .leaderboard-metrics,.trader-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trader-detail-aside{position:static}
}
@media(max-width:680px){
  .leaderboard-hero-grid{padding-block:var(--ob-s-3)}
  .leaderboard-hero-stats{grid-template-columns:1fr}
  .leaderboard-hero-stats div{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16);border-inline-start:0;border-top:var(--hairline) solid color-mix(in srgb,var(--order-inverse-text) 18%,transparent)}
  .leaderboard-hero-stats div:first-child{border-top:0}
  .leaderboard-hero-stats dd{margin:0}
  .leaderboard-metrics,.trader-stat-grid{grid-template-columns:1fr}
  .leaderboard-controls,.leaderboard-ledger-foot{align-items:flex-start;flex-direction:column}
  .trader-detail-main{padding:var(--sp-16)}
}
@media(prefers-reduced-motion:reduce){
  .leaderboard-page *{scroll-behavior:auto!important}
}

/* Shared Oasis Mission hero and filter language. */
.leaderboard-page{
  background-color:var(--page-atmosphere-base);
  background-image:var(--page-atmosphere-bg);
  background-attachment:fixed
}
.leaderboard-hero{border-color:var(--oasis-hero-line);background:var(--page-hero-background);color:var(--oasis-hero-fg)}
.leaderboard-hero::before{background:var(--page-hero-motif)}
.leaderboard-hero .page-kicker,.leaderboard-hero h1 span{color:var(--accent)}
.leaderboard-hero h1{font-family:var(--brand);font-weight:var(--fw-semibold)}
.leaderboard-hero p{color:var(--oasis-hero-muted)}
.leaderboard-hero-stats{border-color:var(--oasis-hero-line)}
.leaderboard-hero-stats div{border-color:var(--oasis-hero-line)}
.leaderboard-hero-stats dt{color:var(--text-2)}
.leaderboard-hero-stats dd{color:var(--text)}
.leaderboard-metrics{gap:var(--oasis-filter-gap);border:0;background:transparent}
.leaderboard-metrics button{
  min-height:var(--touch-target);padding:var(--sp-10) var(--oasis-filter-pad-inline);
  border:var(--hairline) solid var(--oasis-filter-border);border-radius:var(--oasis-filter-radius);
  background:var(--oasis-filter-bg);color:var(--oasis-filter-fg)
}
.leaderboard-metrics button:hover{border-color:var(--accent);background:var(--oasis-panel-bg-hover);color:var(--text)}
.leaderboard-metrics button[aria-pressed="true"]{border-color:transparent;background:var(--oasis-filter-active-bg);color:var(--oasis-filter-active-fg);box-shadow:var(--shadow-gold)}
