#analysisContent .analysis-workspace { margin-top: 16px; }
#analysisContent [hidden] { display: none !important; }
#analysisContent .analysis-page-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 16px; border-bottom: 1px solid var(--line); }
#analysisContent .analysis-page-tabs button { min-height: 46px; border: 0; border-bottom: 3px solid transparent; border-radius: 6px 6px 0 0; background: color-mix(in srgb,var(--muted) 12%,var(--panel)); color: var(--muted); box-shadow: none; font-size: 14px; }
#analysisContent .analysis-page-tabs button[aria-selected="true"] { background: var(--panel); border-bottom-color: var(--accent); color: var(--accent); font-weight: 800; }
#analysisContent button:focus-visible, #analysisContent summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#analysisContent .analysis-preview { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 18px; background: var(--analysis-surface); border: 1px solid var(--line); border-radius: 8px; }
#analysisContent .analysis-preview h3 { margin: 0 0 12px; font-size: 16px; }
#analysisContent .analysis-preview-picks { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
#analysisContent .analysis-preview-picks button { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 8px 3px; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: 6px; box-shadow: none; min-width: 0; }
#analysisContent .analysis-preview-picks img { width: 48px; height: 48px; object-fit: contain; }
#analysisContent .analysis-preview-picks span { font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
#analysisContent .analysis-guidance { grid-column: 1/-1; min-width: 0; }
#analysisContent .analysis-guidance > summary { cursor: pointer; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); font-size: 14px; font-weight: 700; }
#analysisContent .analysis-guidance .analysis-card { margin-top: 8px; }
#analysisContent .analysis-identity-card { grid-column: 1/-1; }
#analysisContent .analysis-score-caption, #analysisContent .analysis-source-note { font-size: 12px !important; line-height: 1.5; color: var(--muted); }
#analysisContent .analysis-snapshot small, #analysisContent .analysis-role-scores span, #analysisContent .analysis-iv-profiles button span, #analysisContent .analysis-iv-profiles button small { font-size: 12px; }
#analysisContent .analysis-snapshot strong, #analysisContent .analysis-snapshot small { white-space: normal; overflow: visible; }
#analysisContent .analysis-snapshot > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
#analysisContent .analysis-snapshot article { grid-template-columns: minmax(0,1fr); }
#analysisContent .analysis-matchup-copy small, #analysisContent .analysis-matchup-copy em, #analysisContent .analysis-matchup-result small { font-size: 12px; }
#analysisContent .analysis-matchup-copy > div { flex-wrap: wrap; }
#analysisContent .analysis-matchup-copy strong, #analysisContent .analysis-matchup-copy em { white-space: normal; overflow-wrap: anywhere; }
#analysisContent .analysis-matchup-result button { min-height: 36px; font-size: 12px; }
#analysisContent .analysis-iv-deltas { grid-template-columns: repeat(3,minmax(0,1fr)); }
#analysisContent .analysis-preview { border: 0; padding: 0; background: transparent; }
#analysisContent .analysis-preview > section { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--analysis-surface); }
#analysisContent .analysis-preview-picks { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#analysisContent .analysis-preview-picks button { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 8px; align-items: center; text-align: left; min-height: 78px; padding: 9px; }
#analysisContent .analysis-preview-picks img { width: 42px; height: 42px; }
#analysisContent .analysis-preview-picks strong { display: block; font-size: 13px; line-height: 1.35; }
#analysisContent .analysis-preview-picks button:hover, #analysisContent .analysis-matchup-open:hover { border-color: var(--accent); background: color-mix(in srgb,var(--accent) 7%,var(--panel)); }
#analysisContent .analysis-matchup-columns > section { padding: 0; border: 0; }
#analysisContent .analysis-matchup-columns > section > header { margin-bottom: 12px; }
#analysisContent .analysis-matchup-row { display: block; padding: 0; margin-bottom: 9px; min-height: 0; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); overflow: hidden; }
#analysisContent .analysis-matchup-open { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 12px; margin: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--ink); text-align: left; box-shadow: none; }
#analysisContent .analysis-matchup-open img { width: 52px; height: 52px; }
#analysisContent .analysis-matchup-copy strong { display: block; font-size: 14px; }
#analysisContent .analysis-matchup-result > b { padding: 3px 8px; min-width: 0; font-size: 14px; }
@media (max-width: 400px) {
  #analysisContent .analysis-preview > section { padding: 12px; }
  #analysisContent .analysis-preview-picks button { grid-template-columns: 32px minmax(0,1fr); gap: 5px; padding: 6px; }
  #analysisContent .analysis-preview-picks img { width: 32px; height: 38px; }
  #analysisContent .analysis-preview-picks strong { font-size: 12px; }
  #analysisContent .analysis-matchup-open { grid-template-columns: 40px minmax(0,1fr) auto; padding: 10px 8px; gap: 7px; }
  #analysisContent .analysis-matchup-open img { width: 40px; height: 44px; }
}
/* Matchup cards follow Meta's type accent and always-visible move list. */
#analysisContent .analysis-matchup-row { border-left: 4px solid var(--opponent-type); background: var(--analysis-surface); }
#analysisContent .analysis-matchup-open { grid-template-columns: 44px minmax(0,1fr) minmax(0,1fr) auto; gap: 8px; padding: 8px 10px; }
#analysisContent .analysis-matchup-open img { grid-column: 1; grid-row: 1; width: 44px; height: 44px; }
#analysisContent .analysis-matchup-copy { grid-column: 2; grid-row: 1; }
#analysisContent .analysis-matchup-copy strong { font-size: 16px; line-height: 1.35; }
#analysisContent .analysis-matchup-copy .analysis-type-chip { font-size: 12px; padding: 2px 6px; }
#analysisContent .analysis-matchup-copy > span { flex-wrap: wrap; }
#analysisContent .analysis-matchup-result { grid-column: 4; grid-row: 1; align-self: center; }
#analysisContent .analysis-matchup-result > b { font-size: 18px; padding: 5px 8px; border-radius: 5px; }
#analysisContent .analysis-opponent-moves { grid-column: 3; grid-row: 1; display: grid; gap: 2px; min-width: 0; }
#analysisContent .analysis-opponent-moves .meta-move-pill { display: flex; align-items: center; gap: 5px; min-width: 0; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font: 500 14px/1.3 Arial,sans-serif; }
#analysisContent .analysis-opponent-moves .meta-move-pill.fast { padding-bottom: 2px; border-bottom: 1px solid var(--line); }
#analysisContent .analysis-opponent-moves .meta-move-pill::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; border-radius: 3px; background: var(--move-type) var(--move-icon) center / 13px 13px no-repeat; }
#analysisContent .analysis-opponent-moves .meta-move-pill span { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
#analysisContent .analysis-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#analysisContent .analysis-preview-picks strong { font-size: 14px; font-weight: 700; }
#analysisContent .analysis-preview-picks button { min-height: 82px; }
#analysisContent .analysis-score-caption { font-size: 14px !important; }
@media (max-width: 700px) {
  #analysisContent #analysisMatchups { padding: 14px; }
  #analysisContent .analysis-matchup-open { grid-template-columns: 36px minmax(0,.85fr) minmax(0,1.15fr); padding: 7px 8px; gap: 7px; }
  #analysisContent .analysis-matchup-open img { width: 36px; height: 40px; }
  #analysisContent .analysis-matchup-result { grid-column: 3; align-self: start; justify-self: end; }
  #analysisContent .analysis-matchup-result > b { font-size: 16px; padding: 3px 6px; }
  #analysisContent .analysis-opponent-moves { padding-top: 27px; }
  #analysisContent .analysis-matchup-columns > section > header { flex-direction: row; justify-content: flex-start; font-size: 16px; }
  #analysisContent .analysis-preview-picks button { grid-template-columns: 36px minmax(0,1fr); gap: 7px; }
  #analysisContent .analysis-preview-picks img { width: 36px; height: 42px; }
}
@media (max-width: 700px) {
  #analysisContent .analysis-rating-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 12px; text-align: left; }
  #analysisContent .analysis-rating-value { margin: 0; }
  #analysisContent .analysis-rating-value strong { font-size: 28px; }
  #analysisContent .analysis-rating-track { display: none; }
  #analysisContent .analysis-rating-panel .analysis-score-caption { grid-column: 1/-1; margin: 0; padding: 0; border: 0; }
  #analysisContent .analysis-primary-action { grid-column: 1/-1; margin: 0; }
  #analysisContent .analysis-preview { grid-template-columns: 1fr; gap: 18px; padding: 14px; }
  #analysisContent .analysis-snapshot > div { grid-template-columns: 1fr 1fr; gap: 12px; }
  #analysisContent .analysis-snapshot article { padding: 0; border: 0; grid-template-columns: minmax(0,1fr); }
  #analysisContent .analysis-snapshot article > b { display: none; }
  #analysisContent .analysis-matchup-columns { grid-template-columns: 1fr; }
  #analysisContent .analysis-matchup-row { grid-template-columns: 40px minmax(0,1fr) auto; gap: 6px; }
  #analysisContent .analysis-iv-layout { grid-template-columns: 1fr; }
  #analysisContent .analysis-iv-profiles { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #analysisContent .analysis-iv-profiles button { padding: 8px 5px; min-width: 0; }
  #analysisContent .analysis-iv-detail-head { flex-wrap: wrap; }
}
/* Outcome-led matchup preview: the analyzed Pokémon versus its opponent. */
#analysisContent .analysis-duel-card { border-left: 3px solid #187557; }
#analysisContent .analysis-duel-card.loss { border-left-color: #a83458; }
#analysisContent .analysis-duel-card .analysis-matchup-open { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr) auto; gap: 10px; padding: 10px; }
#analysisContent .analysis-matchup-duel { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: minmax(45px,.8fr) 16px minmax(65px,1.2fr); gap: 4px; align-items: center; min-width: 0; }
#analysisContent .analysis-duel-mon { display: grid; justify-items: center; gap: 3px; min-width: 0; text-align: center; }
#analysisContent .analysis-duel-mon img { grid-column: auto; grid-row: auto; object-fit: contain; width: 48px; height: 48px; }
#analysisContent .analysis-duel-own img { width: 36px; height: 36px; }
#analysisContent .analysis-duel-own > span, #analysisContent .analysis-duel-vs { color: var(--muted); font-size: 12px; }
#analysisContent .analysis-duel-vs { text-align: center; }
#analysisContent .analysis-duel-opponent strong { font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
#analysisContent .analysis-duel-card .analysis-opponent-moves { grid-column: 2; grid-row: 1; padding: 0; }
#analysisContent .analysis-duel-card .analysis-matchup-result { grid-column: 3; grid-row: 1; align-self: center; gap: 5px; }
#analysisContent .analysis-duel-card .analysis-matchup-result > b { font-size: 14px; padding: 5px 7px; white-space: nowrap; }
#analysisContent .analysis-duel-card .analysis-matchup-result > b.win { color: #176c52; background: #e5f2e9; }
#analysisContent .analysis-duel-card .analysis-matchup-result > b.loss { color: #a33759; background: #f8e8ec; }
#analysisContent .analysis-duel-card .analysis-matchup-result small { color: var(--muted); font-size: 12px; }
body[data-theme="dark"] #analysisContent .analysis-duel-card .analysis-matchup-result > b.win { color: #83d4b0; background: #243e35; }
body[data-theme="dark"] #analysisContent .analysis-duel-card .analysis-matchup-result > b.loss { color: #f3a3bc; background: #422b37; }
@media (max-width: 1100px) and (min-width: 701px) {
  #analysisContent .analysis-matchup-columns { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #analysisContent .analysis-duel-card .analysis-matchup-open { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 8px; padding: 10px 8px; }
  #analysisContent .analysis-matchup-duel { grid-template-columns: minmax(38px,.75fr) 16px minmax(55px,1.25fr); gap: 2px; }
  #analysisContent .analysis-duel-card .analysis-matchup-result { grid-column: 1 / -1; grid-row: 2; display: flex; align-items: center; justify-self: stretch; justify-content: space-between; padding-top: 7px; border-top: 1px solid var(--line); }
}
@media (max-width: 350px) {
  #analysisContent #analysisMatchups { padding: 10px; }
  #analysisContent .analysis-matchup-duel { grid-template-columns: 32px 12px minmax(65px,1fr); }
  #analysisContent .analysis-duel-opponent strong { font-size: 12px; overflow-wrap: normal; }
  #analysisContent .analysis-duel-own > span { font-size: 11px; }
}
/* Overview outcomes use both color and shape, visible before reading labels. */
#analysisContent .analysis-preview-win { --outcome-color: #176c52; --outcome-soft: #e5f2e9; }
#analysisContent .analysis-preview-loss { --outcome-color: #a33759; --outcome-soft: #f8e8ec; }
#analysisContent .analysis-preview h3 { display: flex; align-items: center; gap: 8px; }
#analysisContent .analysis-outcome-symbol { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--outcome-color); background: var(--outcome-soft); font: 800 20px/1 Arial,sans-serif; }
#analysisContent .analysis-preview-picks button { position: relative; padding-right: 9px; border-left: 3px solid var(--outcome-color); background: color-mix(in srgb,var(--outcome-soft) 38%,var(--panel)); }
#analysisContent .analysis-preview-picks .analysis-preview-outcome { position: absolute; top: 5px; right: 5px; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; color: var(--outcome-color); background: var(--outcome-soft); font: 800 14px/1 Arial,sans-serif; }
body[data-theme="dark"] #analysisContent .analysis-preview-win { --outcome-color: #83d4b0; --outcome-soft: #243e35; }
body[data-theme="dark"] #analysisContent .analysis-preview-loss { --outcome-color: #f3a3bc; --outcome-soft: #422b37; }
/* Readable build selection and concrete differences grouped by opponent. */
#analysisContent .analysis-iv-profiles button { color: var(--ink); background: var(--panel); transform: none; gap: 6px; padding: 12px; }
#analysisContent .analysis-iv-profiles button:hover, #analysisContent .analysis-iv-profiles button:focus-visible { color: var(--ink); background: color-mix(in srgb,var(--accent) 7%,var(--panel)); border-color: var(--accent); transform: none; }
#analysisContent .analysis-iv-profiles button[aria-selected="true"] { background: color-mix(in srgb,var(--accent) 10%,var(--panel)); border-left-color: var(--accent); }
#analysisContent .analysis-iv-profiles button strong { font-size: 16px; }
#analysisContent .analysis-iv-profiles button span, #analysisContent .analysis-iv-profiles button small { color: var(--muted); font-size: 13px; line-height: 1.35; }
#analysisContent .analysis-iv-canvas { padding: 16px; min-width: 0; }
#analysisContent .analysis-iv-detail-head strong { font-size: 18px; }
#analysisContent .analysis-iv-detail-head small, #analysisContent .analysis-iv-detail-head > span { font-size: 13px; line-height: 1.4; color: var(--muted); }
#analysisContent .analysis-iv-canvas h4 { font-size: 15px; margin: 18px 0 10px; }
#analysisContent .analysis-iv-canvas h4 small { font-size: 12px; font-weight: 400; color: var(--muted); }
#analysisContent .analysis-iv-deltas dt { font-size: 13px; }
#analysisContent .analysis-iv-deltas dd { font-size: 18px; }
#analysisContent .analysis-build-effects { display: grid; gap: 8px; }
#analysisContent .analysis-build-effect { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); }
#analysisContent .analysis-build-opponent { display: flex; align-items: center; gap: 8px; min-width: 0; }
#analysisContent .analysis-build-opponent img { width: 44px; height: 44px; object-fit: contain; }
#analysisContent .analysis-build-opponent strong { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
#analysisContent .analysis-build-changes { display: grid; gap: 8px; }
#analysisContent .analysis-build-change { display: flex; gap: 8px; align-items: center; }
#analysisContent .analysis-build-kind { display: grid; place-items: center; width: 26px; height: 26px; flex-shrink: 0; border-radius: 5px; background: var(--subtle); font: 700 18px/1 Arial,sans-serif; }
#analysisContent .analysis-build-change strong { display: flex; flex-wrap: wrap; gap: 4px 10px; font: 500 14px/1.4 Arial,sans-serif; }
#analysisContent .analysis-build-change b { font-weight: 700; }
#analysisContent .analysis-build-change small { display: block; margin-top: 2px; color: var(--muted); font: 400 13px/1.4 Arial,sans-serif; }
#analysisContent .analysis-build-change.positive b, #analysisContent .analysis-iv-deltas .positive { color: #176c52; }
#analysisContent .analysis-build-change.negative b, #analysisContent .analysis-iv-deltas .negative { color: #a33759; }
body[data-theme="dark"] #analysisContent .analysis-build-change.positive b, body[data-theme="dark"] #analysisContent .analysis-iv-deltas .positive { color: #83d4b0; }
body[data-theme="dark"] #analysisContent .analysis-build-change.negative b, body[data-theme="dark"] #analysisContent .analysis-iv-deltas .negative { color: #f3a3bc; }
#analysisContent .analysis-build-empty { font-size: 14px; line-height: 1.5; padding: 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
#analysisContent .analysis-iv-canvas .analysis-disclosure { margin: 14px 0; }
#analysisContent .analysis-iv-canvas .analysis-disclosure summary { font-size: 14px; }
@media (max-width: 700px) {
  #analysisContent .analysis-iv-profiles button { padding: 10px 7px; }
  #analysisContent .analysis-iv-profiles button strong { font-size: 14px; }
  #analysisContent .analysis-iv-profiles button small { font-size: 12px; }
  #analysisContent .analysis-build-effect { grid-template-columns: 1fr; gap: 8px; padding: 10px; }
  #analysisContent .analysis-build-opponent img { width: 36px; height: 36px; }
  #analysisContent .analysis-iv-canvas { padding: 12px; }
}
#analysisContent .analysis-iv-detail-head > span { background: var(--panel); color: var(--muted); font-weight: 500; }
#analysisContent .analysis-build-kind.analysis-build-bp { width: 32px; height: 32px; font: 900 20px/1 Arial,sans-serif; letter-spacing: 0; }

#analysisContent .analysis-build-bp-damage { color: #176c52; }
#analysisContent .analysis-build-bp-bulk { color: #b12e3c; }
body[data-theme="dark"] #analysisContent .analysis-build-bp-damage { color: #83d4b0; }
body[data-theme="dark"] #analysisContent .analysis-build-bp-bulk { color: #ff9da8; }
