/* Shared visual cues for the Meta workspaces and character rankings. */
.analytics-shell {
  --analytics-active: var(--color-brand-soft);
  --analytics-hover: var(--color-surface-hover);
  --analytics-heading: 16px;
  --analytics-control: 34px;
}
.analytics-shell :is(.meta-overview,.player-builds-workspace,.team-builds-workspace) {
  --mo-ink: var(--color-text); --pb-ink: var(--color-text); --tb-ink: var(--color-text);
  --mo-muted: var(--color-text-secondary); --pb-muted: var(--color-text-secondary); --tb-muted: var(--color-text-secondary);
  --mo-line: var(--color-border); --pb-line: var(--color-border); --tb-line: var(--color-border);
  --mo-accent: var(--color-brand-strong); --pb-accent: var(--color-brand-strong); --tb-accent: var(--color-brand-strong);
}
.analytics-shell :is(a,button,input,select,summary,[tabindex]):focus-visible {
  outline: 2px solid var(--color-brand-strong);
  outline-offset: 3px;
}
.analytics-shell .meta-analysis-header { border-radius: 5px; }
.analytics-shell .meta-analysis-header-copy { min-width: 0; }
.analytics-shell .meta-analysis-header-copy h1 { font-family: var(--font-sans); }
.analytics-shell .meta-analysis-header-copy p { font-size: 14px; line-height: 1.5; }
.analytics-shell .meta-analysis-header .trends-viewbar {
  margin: 0; padding: 0; border: 0; border-top: 1px solid var(--color-border);
  border-radius: 0; background: transparent; box-shadow: none;
  grid-template-columns: minmax(0,1fr) minmax(22rem,34rem);
}
.analytics-shell .meta-analysis-header .ranking-view-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
.analytics-shell .meta-analysis-header .meta-view-tabs :is(a,button) {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 56px; min-width: 0; padding: 8px 12px; margin: 0;
  border: 0; border-right: 1px solid var(--color-border); border-radius: 0;
  background: transparent; color: var(--color-text-secondary); box-shadow: none;
  font: 600 13px/1.3 var(--font-sans); cursor: pointer;
}
.analytics-shell .meta-analysis-header .meta-view-tabs :is(a,button).active {
  color: var(--color-brand-strong); background: var(--analytics-active);
}
.analytics-shell .meta-analysis-header .meta-view-tabs :is(a,button).active::after {
  content: ""; position: absolute; inset: auto 12% 0; height: 2px;
  background: linear-gradient(90deg,transparent,var(--color-brand-strong),transparent);
}
.analytics-shell .meta-analysis-header .meta-view-tabs :is(a,button):hover { background: var(--analytics-hover); }
.analytics-shell :is(.player-builds-workspace,.team-builds-workspace) { gap: 16px; }
.analytics-shell :is(.pb-chart-panel,.pb-ledger,.tb-chart-panel,.tb-ledger,.compact-efficiency,.player-category-workspace,.mo-landscape,.mo-results,.mo-secondary > section) {
  border: 1px solid var(--color-border); border-radius: 5px;
  background: var(--color-surface); box-shadow: none;
}
.analytics-shell :is(.pb-panel-heading,.tb-panel-heading,.player-category-overview-head,.player-category-ranking-head,.compact-ranking-heading) {
  padding: 16px; gap: 12px;
}
.analytics-shell :is(.pb-panel-heading,.tb-panel-heading,.player-category-overview-head,.player-category-ranking-head,.compact-ranking-heading,.compact-categories-heading,.mo-section-head) :is(h2,h3) {
  font: 600 var(--analytics-heading)/1.3 var(--font-sans); letter-spacing: -.015em; color: var(--color-text);
}
.analytics-shell :is(.compact-categories,.compact-filterbar) { padding-inline: 16px; }
.analytics-shell .compact-categories { padding-block: 16px; }
.analytics-shell :is(.player-category-shared-controls,.player-category-skill-filter,.player-category-table-controls) { padding-inline: 16px; }
.analytics-shell .player-category-cards { gap: 8px; padding: 0 16px 16px; }
.analytics-shell .player-category-ranking { border-top: 1px solid var(--color-border); }
.analytics-shell .player-category-workspace { margin-bottom: 16px; }
.analytics-shell .player-category-ranking-head { padding-bottom: 12px; }
.analytics-shell .player-category-table-controls { padding-bottom: 12px; }
.analytics-shell :is(.pb-category-tabs,.tb-metric-tabs) { gap: 6px; }
.analytics-shell :is(.pb-category-tabs,.tb-metric-tabs,.pb-damage-filters,.pb-professions,.meta-efficiency-professions,.player-category-professions,.mo-result-modes) button {
  min-height: var(--analytics-control); min-block-size: var(--analytics-control);
  border: 1px solid var(--color-border); border-radius: 3px; box-shadow: none;
  background: var(--color-canvas-raised); color: var(--color-text-secondary); font-weight: 500;
}
.analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) { gap: 5px; }
.analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) button {
  width: 34px; min-width: 34px; padding: 3px;
}
.analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) button:first-child { width: 42px; }
.analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) img { width: 24px; height: 24px; }
.analytics-shell :is(.pb-category-tabs,.tb-metric-tabs) button { padding: 7px 12px; font-size: 12px; }
.analytics-shell .mo-result-modes { border: 0; gap: 5px; overflow: visible; }
.analytics-shell .mo-result-modes button { padding: 6px 12px; font-size: 12px; }
.analytics-shell :is(.pb-category-tabs,.tb-metric-tabs,.pb-damage-filters,.pb-professions,.meta-efficiency-professions,.player-category-professions,.player-category-elites,.mo-professions,.mo-result-modes) button[aria-pressed="true"],
.analytics-shell :is(.compact-category,.player-category-card).is-active {
  background: var(--analytics-active); color: var(--color-brand-strong);
  border-color: var(--color-brand-border); box-shadow: inset 0 -2px 0 var(--color-brand-strong);
}
.analytics-shell :is(.pb-category-tabs,.tb-metric-tabs,.pb-damage-filters,.pb-professions,.meta-efficiency-professions,.player-category-professions,.player-category-elites,.mo-professions,.mo-result-modes) button:hover,
.analytics-shell :is(.compact-category,.player-category-card):hover {
  background: var(--analytics-hover); border-color: var(--color-brand-border);
}
.analytics-shell :is(.pb-field,.tb-field,.player-category-field,.compact-minimum,.mo-skill-controls) { font-size: 11px; }
.analytics-shell :is(.pb-field,.tb-field,.player-category-field,.compact-minimum,.mo-skill-controls,.mo-result-controls) :is(input,select),
.analytics-shell .compact-filterbar .meta-efficiency-skill-picker-field {
  min-height: var(--analytics-control); min-block-size: var(--analytics-control);
  border: 1px solid var(--color-border-strong); border-radius: 3px;
  background: var(--color-canvas-raised); color: var(--color-text);
  font: 12px var(--font-sans); padding: 5px 9px;
}
.analytics-shell .compact-filterbar #meta-efficiency-skill-input { border: 0; background: transparent; }
.analytics-shell .player-category-card { border-radius: 3px; background: rgba(255,255,255,.018); }
.analytics-shell .player-category-card-label { font-size: 12px; font-weight: 600; }
.analytics-shell .player-category-card-player { font-size: 11px; }
.analytics-shell .player-category-card-rate { font-size: 12px; font-weight: 600; }
.analytics-shell :is(.pb-table,.tb-table,.compact-table,.player-category-table) { font-size: 12px; }
.analytics-shell :is(.pb-table,.tb-table,.compact-table,.player-category-table) thead th {
  background: var(--color-canvas-raised); color: var(--color-text-secondary);
  font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none;
}
.analytics-shell .player-category-table :is(th,td) { padding: 8px 14px; }
.analytics-shell :is(.compact-table,.player-category-table) .is-sorted,
.analytics-shell .player-category-table .player-category-rate { color: var(--color-brand-strong); background: var(--color-brand-soft); }
.analytics-shell :is(.pb-archetype-row,.tb-archetype-row,.compact-table tbody tr,.player-category-table tbody tr):hover { background: var(--analytics-hover); }
.analytics-shell :is(.mo-lineup,.mo-choice-panel) { padding: 20px 16px 16px; }
.analytics-shell .mo-lineup { border-color: var(--color-border); }
.analytics-shell .mo-section-head > a { color: var(--color-brand-strong); }
.analytics-shell .mo-choices > li { border-color: var(--color-border); }
.analytics-shell .mo-choice-identity strong { font-size: 13px; font-weight: 600; color: var(--color-text); }
.analytics-shell .mo-choice-value > strong { font-size: 16px; font-weight: 600; color: var(--color-brand-strong); }
.analytics-shell .mo-choice-columns,.analytics-shell .mo-mover-columns,.analytics-shell .mo-result-meta { color: var(--color-text-secondary); }
.analytics-shell .mo-skill-icon { width: 32px; height: 32px; padding: 0; border-radius: 2px; }
.analytics-shell .mo-team-icons .mo-skill-icon { width: 28px; height: 28px; }
.analytics-shell .mo-skill-icon.is-small { width: 26px; height: 26px; }
.analytics-shell .mo-choice-core .mo-skill-icon { width: 21px; height: 21px; border: 0; }
.analytics-shell :is(.pb-output,.tb-output) { color: var(--color-brand-strong); }
.analytics-shell :is(.pb-chart-footer button,.tb-small-button,.mo-show-skills,.pb-variants-toggle) {
  min-height: 32px; padding: 5px 10px; border: 1px solid var(--color-border-strong);
  border-radius: 3px; background: var(--color-canvas-raised); color: var(--color-text-secondary); font: 11px var(--font-sans);
}
.analytics-shell .mo-result-controls { gap: 12px; }
.analytics-data-notice { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; margin:16px 0; border:1px solid var(--color-brand-border); border-radius:5px; background:var(--color-canvas-raised); }
.analytics-data-notice > div { display:grid; gap:5px; }
.analytics-data-notice strong { font-size:14px; color:var(--color-brand-strong); }
.analytics-data-notice span { font-size:12px; color:var(--color-text-secondary); }
.analytics-data-notice a { flex:none; font-size:12px; color:var(--color-brand-strong); }
.player-category-scorebar { display:grid; grid-template-columns:minmax(0,2fr) minmax(220px,1fr); gap:24px; padding:0 16px 20px; border-bottom:1px solid var(--color-border); margin-bottom:16px; align-items:end; }
.player-category-control-label { display:block; color:var(--color-text-secondary); font-size:11px; margin-bottom:8px; }
.player-category-score-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.player-category-score-modes button { display:grid; gap:6px; align-content:center; text-align:left; min-height:62px; padding:10px 12px; border:1px solid var(--color-border); border-radius:3px; background:var(--color-canvas-raised); color:var(--color-text-secondary); cursor:pointer; }
.player-category-score-modes strong { font-size:14px; font-weight:600; }
.player-category-score-modes small { font-size:10px; line-height:1.3; font-weight:400; }
.player-category-score-modes button[aria-pressed="true"] { color:var(--color-brand-strong); background:var(--analytics-active); border-color:var(--color-brand-border); box-shadow:inset 0 -2px 0 var(--color-brand-strong); }
.player-category-score-modes button:hover { border-color:var(--color-brand-border); }
.player-category-scorebar .player-category-field { display:flex; flex-direction:column; align-items:stretch; align-self:stretch; justify-content:end; gap:8px; }
.player-category-scorebar .player-category-field > span { white-space:normal; }
.player-category-scorebar input { width:100%; min-height:42px !important; }
.player-category-score-note { padding:0 16px; margin:-6px 0 16px; color:var(--color-text-secondary); font-size:11px; }
.player-category-lookup-ranks { display:grid; grid-column:1 / -1; gap:6px; min-width:0; }
.player-category-lookup-ranks > span { display:flex; gap:6px; align-items:center; min-width:0; font-size:11px; }
.player-category-lookup-ranks b { color:var(--color-brand-strong); font-size:13px; min-width:24px; }
.player-category-lookup-ranks strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-category-lookup-ranks em { margin-left:auto; font-style:normal; color:var(--color-brand-strong); }
.player-category-lookup-ranks small,.player-category-lookup-missing { color:var(--color-text-secondary); font-size:11px; }
.player-category-card-metric { grid-column:1 / -1; font-size:10px; color:var(--color-text-secondary); }
.mo-movement .mo-section-head { flex-wrap:wrap; gap:10px; }
.mo-change-unit { padding:0 0 4px; margin:0; color:var(--color-text-secondary); font-size:11px; line-height:1.5; }
.mo-profession-filters { display:flex; flex-wrap:wrap; gap:5px; margin:12px 0; }
.analytics-shell .mo-profession-filters button { display:grid; place-items:center; width:34px; min-height:34px; padding:3px; border:1px solid var(--color-border); border-radius:3px; background:var(--color-canvas-raised); color:var(--color-text-secondary); font:11px var(--font-sans); cursor:pointer; }
.analytics-shell .mo-profession-filters button:first-child { width:42px; }
.analytics-shell .mo-profession-filters img { width:24px; height:24px; }
.analytics-shell .mo-profession-filters button[aria-pressed="true"] { background:var(--analytics-active); color:var(--color-brand-strong); border-color:var(--color-brand-border); box-shadow:inset 0 -2px 0 var(--color-brand-strong); }
.analytics-shell .mo-profession-filters button:hover { background:var(--analytics-hover); border-color:var(--color-brand-border); }
.analytics-shell .mo-skill-icon.is-small { width:28px; height:28px; }
.mo-skill-link { display:flex; align-items:center; gap:8px; color:inherit; text-decoration:none; }
.mo-skill-link > span:last-child { display:flex; flex-direction:column; }
.mo-skill-link:hover { color:var(--color-brand-strong); }
.mo-adjusted-control { display:inline-flex; align-items:center; gap:6px; }
.mo-info { position:relative; display:inline-flex; }
.analytics-shell .mo-result-modes .mo-info-button { width:20px; height:20px; min-height:20px; min-block-size:20px; padding:0; border-radius:50%; border-color:var(--color-brand-border); color:var(--color-brand-strong); font:italic 600 12px Georgia,serif; cursor:help; }
.mo-info-tooltip { display:none; position:absolute; z-index:20; top:calc(100% + 10px); right:-50px; width:min(320px,calc(100vw - 48px)); padding:12px 14px; border:1px solid var(--color-border-strong); border-radius:4px; background:var(--color-canvas-raised); color:var(--color-text); box-shadow:0 6px 20px #0006; font:12px/1.6 var(--font-sans); }
.mo-info:hover .mo-info-tooltip,.mo-info:focus-within .mo-info-tooltip { display:block; }
.meta-rating-tooltip { display: grid; gap: 9px; max-width: min(340px,calc(100vw - 80px)); }
.meta-rating-tooltip small { display: block; color: var(--color-text-secondary); font-size: 10px; line-height: 1.4; }
.meta-rating-identity { display: flex; align-items: center; gap: 8px; min-width: 0; color:inherit; text-decoration:none; }
.meta-rating-identity:hover strong { color:var(--color-brand-strong); text-decoration:underline; }
.meta-rating-identity img { flex: none; border: 1px solid var(--color-brand-border); border-radius: 2px; }
.meta-rating-identity > span { min-width: 0; white-space: normal; line-height: 1.3; }
.meta-rating-identity strong { font-size: 12px; font-weight: 600; }
.meta-rating-single { display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; }
.meta-rating-single > span { color: var(--color-text-secondary); }
.meta-rating-neighbors { max-height: 280px; overflow: auto; }
.meta-rating-neighbor,.meta-rating-neighbor-head { display: grid; grid-template-columns: minmax(120px,1fr) 55px 55px; gap: 8px; align-items: center; padding: 7px 0; }
.meta-rating-neighbor { border-top: 1px solid var(--color-border); }
.meta-rating-neighbor-head { color: var(--color-text-secondary); font-size: 10px; padding-top: 0; }
.meta-rating-neighbors :is(b,.meta-rating-neighbor-head > span:not(:first-child)) { text-align: right; font-variant-numeric: tabular-nums; }
@media(max-width:760px) {
  .analytics-shell { --analytics-control: 40px; }
  .analytics-shell .meta-analysis-header .trends-viewbar { grid-template-columns: 1fr; }
  .analytics-shell .meta-analysis-header .meta-view-tabs :is(a,button) { min-height: 44px; font-size: 11px; padding-inline: 6px; }
  .analytics-shell .meta-analysis-header-copy h1 { font-size: clamp(28px,7.5vw,40px); }
  .analytics-shell .meta-analysis-header-copy p { font-size: 12px; }
  .analytics-shell :is(.pb-panel-heading,.tb-panel-heading,.player-category-overview-head,.player-category-ranking-head,.compact-ranking-heading) { padding: 14px 12px; }
  .analytics-shell :is(.compact-categories,.compact-filterbar,.player-category-shared-controls,.player-category-skill-filter,.player-category-table-controls) { padding-inline: 12px; }
  .analytics-shell .player-category-cards { padding-inline: 12px; }
  .analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); width: 100%; gap: 4px; }
  .analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) button { width: 100%; min-width: 0; }
  .analytics-shell :is(.pb-professions,.meta-efficiency-professions,.player-category-professions) button:first-child { width: 100%; }
  .analytics-shell .mo-result-controls { flex-wrap: wrap; }
  .analytics-shell .mo-profession-filters { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; }
  .analytics-shell .mo-profession-filters button,.analytics-shell .mo-profession-filters button:first-child { width:100%; min-height:40px; }
  .analytics-shell .mo-result-controls { position:relative; }
  .mo-info { position:static; }
  .mo-info-tooltip { left:0; right:0; width:auto; transform:none; }
  .analytics-shell .mo-result-controls select { max-width: 100%; }
  .analytics-data-notice { align-items:flex-start; flex-direction:column; gap:10px; padding:12px; }
  .player-category-scorebar { grid-template-columns:1fr; gap:14px; padding-inline:12px; }
  .player-category-score-modes button { padding:9px 8px; min-height:70px; }
  .player-category-score-modes strong { font-size:12px; }
  .player-category-score-note { padding-inline:12px; }
}
