/* Public token breakdowns share the site's readable type scale. */
.tb-breakdown { min-width:0; margin:24px 0; padding:26px; border:1px solid #3c5a72; border-radius:14px; background:radial-gradient(ellipse at 100% 0,#32627b25,transparent 56%),linear-gradient(145deg,#15253a,#101a2b); color:#d2e1ef; }
.tb-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.tb-heading > div { min-width:0; }
.tb-kicker { color:#9dcedd; font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.tb-heading h2 { margin:9px 0; color:#e8f5ff; font-size:26px; line-height:1.45; letter-spacing:-.025em; }
.tb-heading p { margin:0; color:#bacfe2; font-size:16px; line-height:1.8; }
.tb-source { display:inline-flex; align-items:center; flex-shrink:0; min-height:43px; padding:9px 13px; border:1px solid #527d8e; border-radius:7px; background:#1b3a4d; color:#c1edf3; font-size:14px; line-height:1.7; }
.tb-source:hover { background:#295066; border-color:#91cdda; text-decoration:none; }
.tb-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; padding:18px; border:1px solid #354d66; border-radius:9px; background:#101e30; }
.tb-controls label { display:flex; flex-direction:column; gap:7px; min-width:160px; max-width:100%; color:#b8cbdf; font-size:14px; }
.tb-controls select { width:100%; min-height:44px; max-width:100%; padding:9px 32px 9px 11px; border:1px solid #486780; border-radius:6px; background:#162b40; color:#e0edf7; font-size:16px; line-height:1.5; }
.tb-controls p { flex:1 1 220px; margin:0 0 9px auto; color:#a9c0d6; font-size:13px; line-height:1.8; text-align:right; }
.tb-unit-key { margin:0 0 15px; color:#b0c8dc; font-size:13px; line-height:1.8; }
.tb-metrics { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:20px; padding:25px 0; }
.tb-metrics > div { min-width:0; padding-left:22px; border-left:1px solid #3b536b; }
.tb-metrics > div:first-child { padding-left:0; border:0; }
.tb-metrics span { display:block; color:#bcd0e2; font-size:14px; line-height:1.7; }
.tb-metrics strong { display:block; margin:8px 0; color:#b0eaf1; font:500 32px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:-.04em; }
.tb-metrics > div:nth-child(2) strong { color:#c8bafa; }
.tb-metrics > div:nth-child(3) strong { color:#e7c7a4; }
.tb-metrics small { display:block; color:#abc3d9; font-size:13px; line-height:1.8; }
.tb-table-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; margin-bottom:8px; }
.tb-table-heading h3, .tb-section-heading h3 { margin:0; color:#e1eef9; font-size:20px; line-height:1.5; }
.tb-table-heading > span { color:#b0c7dc; font-size:13px; line-height:1.7; }
.tb-reading-note { margin:0 0 17px; color:#b5ccdf; font-size:14px; line-height:1.85; }
.tb-finding { margin:0 0 24px; padding:15px 18px; border:1px solid #3c6374; border-left:3px solid #82d6dd; border-radius:7px; background:#193b4b66; color:#c2d8e8; font-size:15px; line-height:1.85; }
.tb-finding strong { color:#d5f2f5; font-weight:550; }
.tb-table-wrap, .tb-matrix-wrap { width:100%; max-width:100%; overflow:auto; border:1px solid #37516c; border-radius:8px; scrollbar-color:#51758f #112134; overscroll-behavior:contain; }
.tb-table-wrap { max-height:720px; }
.tb-table { width:100%; min-width:1050px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:14px; line-height:1.75; }
.tb-table thead th { position:sticky; top:0; z-index:1; padding:13px 15px; border-bottom:1px solid #4a667f; background:#1d344c; color:#cfe0ee; font-size:14px; font-weight:500; text-align:left; }
.tb-table thead th:nth-child(1) { width:21%; }
.tb-table thead th:nth-child(2) { width:16%; }
.tb-table thead th:nth-child(3) { width:14%; }
.tb-table thead th:nth-child(4) { width:19%; }
.tb-table thead th:nth-child(5) { width:13%; }
.tb-table thead th:nth-child(6) { width:17%; }
.tb-table tbody td, .tb-table tbody th { padding:18px 15px; border-bottom:1px solid #2d455d; vertical-align:top; font-size:14px; text-align:left; font-weight:400; overflow-wrap:anywhere; }
.tb-table tbody tr:nth-child(even) { background:#19304744; }
.tb-table tbody tr:hover { background:#213c5366; }
.tb-table tbody tr:last-child > * { border-bottom:0; }
.tb-group-label { display:flex; align-items:baseline; gap:12px; }
.tb-group-label strong { color:#d9edf7; font-size:15px; font-weight:550; }
.tb-rank { flex:0 0 21px; color:#a1bdd2; font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tb-group-code { display:block; margin:4px 0 0 33px; color:#a6bed4; font-size:13px; }
.tb-row-track { display:block; height:4px; margin:12px 0 0 33px; border-radius:4px; background:#2d4259; overflow:hidden; }
.tb-row-track i { display:block; max-width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#387a95,#8edfe5); }
.tb-number { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums; color:#d2e8f3; }
.tb-number > strong { color:#bceef2; font-size:18px; font-weight:500; }
.tb-number small { display:block; margin-top:7px; color:#afc6db; font:13px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.tb-range { color:#b8cee0; }
.tb-count { color:#d3e6f2; font-size:14px; font-weight:500; white-space:nowrap; }
.tb-coverage { display:block; margin-top:7px; color:#adcadb; font-size:13px; }
.tb-contribution > strong { display:block; margin-bottom:7px; font:500 15px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; color:#d0e3f0; }
.tb-contribution > strong.tb-high-share { color:#edcda6; }
.tb-paper-link { color:#aee1eb; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.tb-muted { color:#a6bfd5; font-size:13px; }
.tb-more { display:block; width:100%; min-height:43px; padding:10px 14px; margin:14px 0 0; border:1px solid #466c83; border-radius:7px; background:#18364b; color:#c2e8f1; font-size:14px; line-height:1.6; cursor:pointer; }
.tb-more:hover { background:#24485f; border-color:#86bdca; }
.tb-section { min-width:0; margin-top:27px; padding-top:25px; border-top:1px solid #354e66; }
.tb-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px 22px; margin-bottom:18px; }
.tb-section-heading > div { min-width:0; }
.tb-section-heading p { margin:7px 0 0; color:#b6cbde; font-size:15px; line-height:1.8; }
.tb-chart-note { color:#c2b7e6; font-size:13px; }
.tb-matrix { width:100%; min-width:870px; border-collapse:separate; border-spacing:7px; table-layout:fixed; }
.tb-matrix th { padding:7px 6px; text-align:center; font-size:14px; font-weight:500; color:#c6dcec; line-height:1.7; }
.tb-matrix th:first-child { width:23%; text-align:left; padding-left:10px; overflow-wrap:anywhere; }
.tb-matrix tbody th { font-size:15px; font-weight:500; }
.tb-matrix td { padding:0; text-align:center; }
.tb-heat-cell, .tb-no-cell { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:74px; padding:10px 6px; border:1px solid #7bd5e926; border-radius:6px; background:rgba(45,129,157,var(--tb-heat,0)); color:#e0f5ff; font:500 15px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tb-heat-cell small { display:block; margin-top:2px; color:#c0dfed; font:13px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.tb-no-cell { border-color:#30465b; background:#13263a; color:#9cb6cc; }
.tb-agent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tb-agent-card { min-width:0; padding:21px; border:1px solid #3d5872; border-radius:10px; background:linear-gradient(145deg,#1c3047,#142339); }
.tb-agent-card h4 { margin:0 0 16px; color:#d6eaf5; font-size:17px; line-height:1.5; font-weight:550; }
.tb-agent-total { display:block; color:#b6ebef; font:500 29px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:-.035em; }
.tb-agent-card:nth-child(2) .tb-agent-total { color:#c9bafb; }
.tb-agent-card:nth-child(3) .tb-agent-total { color:#c6d7e9; }
.tb-agent-caption { display:block; margin-top:4px; color:#b1c7dd; font-size:13px; }
.tb-agent-card dl { margin:17px 0; padding-top:13px; border-top:1px solid #3a5069; }
.tb-agent-card dl > div { display:flex; justify-content:space-between; gap:14px; padding:6px 0; font-size:14px; line-height:1.7; }
.tb-agent-card dt { color:#afc8dd; }
.tb-agent-card dd { margin:0; text-align:right; color:#d3e7f2; font-variant-numeric:tabular-nums; }
.tb-note { margin:14px 0 0; color:#aec6db; font-size:13px; line-height:1.9; }
.tb-scope-note { padding-top:16px; border-top:1px solid #314a62; }
.tb-method { margin-top:25px; padding-top:13px; border-top:1px solid #3a5069; }
.tb-method summary { padding:8px 0; color:#bddfe9; font-size:15px; cursor:pointer; }
.tb-method > div { color:#b8ccdf; font-size:14px; line-height:1.9; }
.tb-method p { margin:12px 0; }
.tb-empty { padding:30px 20px; color:#bfd4e6; font-size:15px; line-height:1.8; text-align:center; }
.tb-empty .tb-more { max-width:170px; margin-inline:auto; }
.tb-breakdown :is(a,button,select,summary,[tabindex]):focus-visible { outline:3px solid #a2e7ed; outline-offset:4px; }
@media(max-width:1200px) {
  .tb-breakdown { padding:23px; }
  .tb-metrics { gap:16px; }
  .tb-metrics > div { padding-left:16px; }
  .tb-agent-grid { grid-template-columns:minmax(0,1fr); }
  .tb-agent-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,1fr); gap:5px 25px; }
  .tb-agent-card h4 { margin-bottom:10px; }
  .tb-agent-card dl { grid-column:2; grid-row:1 / 5; margin:0; padding:0 0 0 22px; border-top:0; border-left:1px solid #3a5069; }
}
@media(max-width:760px) {
  .tb-breakdown { padding:20px 17px; }
  .tb-heading { flex-direction:column; gap:16px; }
  .tb-heading h2 { font-size:24px; }
  .tb-heading p { font-size:15px; }
  .tb-controls { padding:15px; gap:13px; }
  .tb-controls label { flex:1 1 100%; min-width:0; }
  .tb-controls p { flex-basis:100%; text-align:left; margin:0; }
  .tb-metrics { grid-template-columns:minmax(0,1fr); gap:16px; padding:23px 0; }
  .tb-metrics > div, .tb-metrics > div:first-child { border-left:0; padding:0 0 15px; border-bottom:1px solid #3b536b; }
  .tb-metrics > div:last-child { padding-bottom:0; border-bottom:0; }
  .tb-metrics strong { font-size:32px; margin:5px 0; }
  .tb-table-heading h3, .tb-section-heading h3 { font-size:19px; }
  .tb-table-wrap { max-height:620px; }
  .tb-agent-card { display:block; padding:19px; }
  .tb-agent-card dl { border-left:0; border-top:1px solid #3a5069; margin:17px 0; padding:13px 0 0; }
  .tb-source { font-size:14px; }
  .tb-kicker { letter-spacing:.025em; }
}
@media(prefers-reduced-motion:reduce) { .tb-breakdown * { animation:none !important; transition:none !important; } }
