.model-radar-host {
  display: block;
  min-width: 0;
}

.model-radar-shell {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.model-radar-intro,
.model-company-profile,
.model-radar-loading {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.model-radar-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  gap: 32px;
  align-items: center;
  padding: 34px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 34px 34px,
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 34px 34px,
    radial-gradient(circle at 76% 22%, rgba(255, 255, 255, 0.09), transparent 30%),
    rgba(255, 255, 255, 0.025);
}

.model-radar-intro > div:first-child {
  transform: translateY(-7px);
}

.model-radar-kicker,
.model-radar-section-heading small,
.model-dot-plot > header small,
.model-capability-line > header small,
.model-radar-methodology small {
  margin: 0;
  color: var(--muted);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.model-radar-intro h3 {
  max-width: 820px;
  margin: 12px 0 14px;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: clamp(1.9rem, 3.1vw, 3.55rem);
  font-weight: 720;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.model-radar-intro h3 span {
  display: block;
}


.model-radar-intro > div > p:last-child {
  max-width: 880px;
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.8;
}

.model-radar-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--line);
}

.model-radar-summary div {
  display: grid;
  align-content: center;
  min-height: 112px;
  padding: 16px;
  background: #111318;
}

.model-radar-summary dt {
  font-size: clamp(1.15rem, 2vw, 1.75rem);
  font-weight: 820;
  line-height: 1;
}

.model-radar-summary div:last-child dt {
  font-size: clamp(0.92rem, 1.35vw, 1.22rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.model-radar-summary dd {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.35;
}

.model-company-switch {
  display: grid;
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
}

.model-company-switch section {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.model-company-switch section > span {
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 680;
  letter-spacing: 0.08em;
}

.model-company-switch section > div {
  display: flex;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.model-company-switch section > div::-webkit-scrollbar {
  display: none;
}

.model-company-switch button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 43px;
  padding: 7px 12px 7px 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: transparent;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.model-company-switch button i {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 5px;
  overflow: hidden;
  color: #17191d;
  background: #e3e3de;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.53rem;
  font-style: normal;
  font-weight: 850;
}

.model-company-switch button b {
  font-size: 0.75rem;
  font-weight: 650;
  white-space: nowrap;
}

.model-company-switch button:hover,
.model-company-switch button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.42);
}

.model-company-switch button.is-active {
  color: #17191d;
  border-color: #e3e3de;
  background: #e3e3de;
}

.model-company-switch button.is-active i {
  color: #17191d;
  background: #f2f1ed;
}

.model-company-logo {
  display: block;
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.model-company-logo-fallback {
  font: inherit;
}

.model-company-mark .model-company-logo {
  width: 56px;
  height: 56px;
}

.model-company-profile {
  overflow: hidden;
}

.model-company-heading {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) minmax(170px, auto);
  gap: 22px;
  align-items: center;
  padding: 30px 32px;
  border-bottom: 1px solid var(--line);
}

.model-company-mark {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 8px;
  font-family: "IBM Plex Mono", monospace;
  font-size: clamp(0.72rem, 1vw, 0.92rem);
  font-weight: 850;
  letter-spacing: -0.03em;
  background: #f2f1ed;
}

.model-company-heading p,
.model-company-heading h3,
.model-company-heading span {
  margin: 0;
}

.model-company-heading p {
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.model-company-heading h3 {
  margin: 5px 0 7px;
  font-size: clamp(1.55rem, 2.4vw, 2.55rem);
  line-height: 1;
}

.model-company-heading > div > span {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.6;
}

.model-company-sources {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}

.model-company-sources a {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 0.68rem;
  text-decoration: none;
}

.model-company-sources a:hover,
.model-company-sources a:focus-visible {
  color: var(--ink);
  border-color: rgba(255, 255, 255, 0.38);
}

.model-matrix-section,
.model-price-section,
.model-intelligence-section,
.model-capability-section {
  display: grid;
  gap: 20px;
  padding: 32px;
  border-bottom: 1px solid var(--line);
}

.model-intelligence-section {
  display: grid;
  gap: 20px;
  padding: 32px;
  border-bottom: 1px solid var(--line);
}

.model-intelligence-signal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.model-intelligence-signal span {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 0.65rem;
  white-space: nowrap;
}

.model-intelligence-signal b {
  color: var(--ink);
  font-family: "IBM Plex Mono", monospace;
}

.model-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.model-evidence-card {
  width: 100%;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.022);
  text-decoration: none;
  text-align: left;
  font: inherit;
  appearance: none;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.model-evidence-card:hover,
.model-evidence-card:focus-visible {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.045);
  transform: translateY(-2px);
}

.model-evidence-card header,
.model-evidence-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.model-evidence-card header span {
  color: var(--ink);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.58rem;
  font-weight: 720;
  letter-spacing: 0.04em;
}

.model-evidence-card header b,
.model-evidence-card footer {
  color: var(--muted);
  font-size: 0.58rem;
  font-weight: 560;
}

.model-evidence-card h5 {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
}

.model-evidence-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.69rem;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.model-evidence-card.is-news header span::before,
.model-evidence-card.is-official-search header span::before,
.model-evidence-card.is-public-search header span::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: #efefea;
}

.model-evidence-card.is-public-search header span::before { opacity: 0.42; }
.model-evidence-card.is-news header span::before { opacity: 0.7; }

.model-intelligence-boundary {
  margin: 0;
  padding: 12px 14px;
  border-left: 2px solid rgba(255, 255, 255, 0.4);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.025);
  font-size: 0.69rem;
  line-height: 1.65;
}

.model-intelligence-boundary strong { color: var(--ink); }

.model-evidence-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 34px;
}

.model-evidence-pagination span {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.62rem;
}

.model-evidence-pagination button {
  min-width: 78px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.035);
  font: inherit;
  font-size: 0.68rem;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.model-evidence-pagination button:hover,
.model-evidence-pagination button:focus-visible {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.075);
  transform: translateY(-1px);
}

.model-evidence-pagination button:disabled {
  opacity: 0.34;
  cursor: default;
  transform: none;
}

.model-evidence-pagination.is-single { justify-content: flex-end; }

body[data-theme="light"] .model-evidence-pagination button:hover,
body[data-theme="light"] .model-evidence-pagination button:focus-visible {
  border-color: rgba(17, 19, 24, 0.32);
  background: rgba(17, 19, 24, 0.055);
}

.model-radar-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
}

.model-radar-section-heading h4 {
  margin: 7px 0 5px;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.model-radar-section-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.65;
}

.model-type-filter,
.model-chart-switch {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}

.model-type-filter button,
.model-chart-switch button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  background: transparent;
  font-size: 0.68rem;
}

.model-type-filter button.is-active,
.model-chart-switch button.is-active {
  color: #16181c;
  border-color: #dfdfda;
  background: #dfdfda;
}

.model-matrix-scroll {
  max-width: 100%;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 7px;
  scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
}

.model-matrix-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.74rem;
}

.model-matrix-table th,
.model-matrix-table td {
  height: 69px;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.model-matrix-table tr:last-child > * {
  border-bottom: 0;
}

.model-matrix-table tr > *:last-child {
  border-right: 0;
}

.model-matrix-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 46px;
  color: var(--muted);
  background: #111318;
  font-size: 0.63rem;
  font-weight: 680;
  letter-spacing: 0.06em;
}

.model-matrix-table thead th:first-child,
.model-matrix-table tbody th {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 220px;
  min-width: 220px;
  text-align: left;
  background: #111318;
}

.model-matrix-table thead th:first-child {
  z-index: 4;
}

.model-matrix-table tbody th strong,
.model-matrix-table tbody th span {
  display: block;
}

.model-matrix-table tbody th strong {
  color: var(--ink);
  font-size: 0.78rem;
}

.model-matrix-table tbody th span {
  margin-top: 5px;
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.58rem;
  font-weight: 500;
}

.model-matrix-table tbody tr:hover td,
.model-matrix-table tbody tr:hover th {
  background-color: rgba(255, 255, 255, 0.055);
}

.model-type-pill {
  display: inline-flex;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  white-space: nowrap;
}

.model-context {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
}

.model-score {
  position: relative;
  min-width: 86px;
  overflow: hidden;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 760;
}

.model-score span {
  position: relative;
  z-index: 2;
}

.model-score i {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  height: 3px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.1);
}

.model-score i::after {
  content: "";
  display: block;
  width: var(--score);
  height: 100%;
  border-radius: inherit;
  background: #e3e3de;
}

.model-score.is-empty {
  color: rgba(255, 255, 255, 0.2);
}

.model-current-prices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  align-items: stretch;
  gap: 8px;
}

.model-price-card {
  display: grid;
  min-height: 152px;
  align-content: start;
  gap: 8px;
  padding: 18px 16px 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.025);
}

.model-price-card > small {
  margin-bottom: 10px;
}

.model-price-card > span {
  margin-top: 3px;
}
.model-price-card small,
.model-price-card span {
  color: var(--muted);
  font-size: 0.63rem;
}

.model-price-card strong {
  font-family: "IBM Plex Mono", monospace;
  font-size: 1rem;
}

.model-price-card strong i {
  color: var(--muted);
  font-family: inherit;
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 500;
}

.model-price-chart-wrap {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 7px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px) 0 0 / 42px 42px,
    rgba(255, 255, 255, 0.018);
}

.model-chart-canvas {
  min-width: 720px;
  padding: 12px 16px 2px;
}

.model-price-chart-wrap.is-locked .model-chart-canvas {
  opacity: 0.38;
  filter: blur(7px);
  pointer-events: none;
  user-select: none;
}

.model-price-lock {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  justify-items: center;
  min-width: min(360px, calc(100% - 36px));
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 8px;
  color: #f0f0eb;
  background: rgba(13, 15, 19, 0.9);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.48);
  transform: translate(-50%, -50%);
  backdrop-filter: blur(18px);
}

.model-price-lock small {
  color: rgba(255, 255, 255, 0.52);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
}

.model-price-lock strong {
  margin: 8px 0 5px;
  font-size: 1.05rem;
}

.model-price-lock span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.7rem;
}

.model-line-chart,
.model-capability-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.model-chart-grid line,
.model-capability-svg line {
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 1;
}

.model-chart-grid text,
.model-chart-dates text,
.model-capability-svg text {
  fill: rgba(255, 255, 255, 0.44);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
}

.model-chart-series path {
  fill: none;
  stroke: #f0f0eb;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.model-chart-series circle,
.model-capability-svg circle {
  fill: #111318;
  stroke: #f0f0eb;
  stroke-width: 3;
}

.model-chart-series.series-1 path,
.model-chart-legend .series-1 i { opacity: 0.72; stroke-dasharray: 10 5; }
.model-chart-series.series-2 path,
.model-chart-legend .series-2 i { opacity: 0.52; stroke-dasharray: 3 5; }
.model-chart-series.series-3 path,
.model-chart-legend .series-3 i { opacity: 0.84; stroke-dasharray: 16 5 3 5; }
.model-chart-series.series-4 path,
.model-chart-legend .series-4 i { opacity: 0.38; stroke-dasharray: 7 8; }

.model-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 0 22px 10px 68px;
}
.model-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 0.63rem;
}

.model-chart-legend i {
  width: 22px;
  height: 2px;
  background: #f0f0eb;
}

.model-capability-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(380px, 0.88fr);
  gap: 10px;
}

.model-dot-plot,
.model-capability-line {
  min-width: 0;
  padding: 18px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.02);
}

.model-dot-plot > header,
.model-capability-line > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.model-dot-plot > header span,
.model-capability-line > header span {
  color: var(--muted);
  font-size: 0.62rem;
}

.model-dot-table {
  display: grid;
  grid-template-columns: minmax(140px, 1.35fr) repeat(7, minmax(62px, 0.65fr));
  align-items: center;
  min-width: 720px;
}

.model-dot-table > * {
  display: grid;
  place-items: center;
  min-height: 54px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.model-dot-table > b {
  color: var(--muted);
  font-size: 0.62rem;
}

.model-dot-table > strong {
  justify-items: start;
  padding: 8px;
  font-size: 0.68rem;
  line-height: 1.35;
}

.model-dot-table > strong small {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.52rem;
}

.model-dot-table > i {
  position: relative;
  width: var(--dot);
  height: var(--dot);
  min-width: 8px;
  min-height: 8px;
  border-radius: 50%;
  background: rgba(240, 240, 235, var(--tone));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.model-dot-table > i span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #0e1014;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.46rem;
  font-style: normal;
  font-weight: 800;
  transform: translate(-50%, -50%);
}

.model-dot-table > i.is-empty {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.08);
}

.model-dot-table > i.is-empty span {
  display: none;
}

.model-capability-line {
  min-width: 380px;
}

.model-capability-line {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.model-capability-line .model-capability-svg {
  flex: 0 0 auto;
  min-height: 0;
  max-height: 250px;
  margin-top: 18px;
}

.model-capability-analysis {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  min-height: 112px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 8px;
  padding: 24px 26px 20px;
  text-align: center;
}

.model-capability-analysis::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 72px;
  height: 1px;
  background: var(--line);
  content: "";
  transform: translateX(-50%);
}

.model-capability-analysis small {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font: 700 0.55rem/1 "IBM Plex Mono", monospace;
  letter-spacing: 0.12em;
}

.model-capability-analysis p {
  display: -webkit-box;
  max-width: 520px;
  margin: 0 auto;
  overflow: hidden;
  color: rgba(240, 240, 235, 0.72);
  font-size: 0.8rem;
  line-height: 2.05;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body[data-theme="light"] .model-capability-analysis p {
  color: rgba(32, 36, 42, 0.72);
}

.model-capability-svg .capability-path {
  fill: none;
  stroke: #efefea;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.model-capability-svg .capability-value {
  fill: #efefea;
  font-weight: 800;
}

.model-capability-svg .capability-date {
  font-size: 9px;
}

.model-radar-methodology {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr);
  gap: 28px;
  align-items: end;
  padding: 30px 32px;
  background: rgba(255, 255, 255, 0.025);
}

.model-radar-methodology strong {
  display: block;
  margin: 8px 0;
  font-size: 1.05rem;
}

.model-radar-methodology p {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.7;
}

.model-radar-methodology dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--line);
}

.model-radar-methodology dl div {
  padding: 12px;
  background: #111318;
}

.model-radar-methodology dt {
  color: var(--muted);
  font-size: 0.56rem;
}

.model-radar-methodology dd {
  margin: 5px 0 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.66rem;
}

.model-radar-empty,
.model-radar-loading {
  display: grid;
  place-items: center;
  min-height: 230px;
  padding: 34px;
  color: var(--muted);
  text-align: center;
}

.model-radar-empty strong,
.model-radar-loading strong {
  color: var(--ink);
}

.model-radar-empty p,
.model-radar-loading p {
  max-width: 620px;
  margin: 8px 0 0;
  font-size: 0.76rem;
  line-height: 1.7;
}

.model-radar-empty.compact {
  min-height: 210px;
}

.model-radar-loading {
  grid-template-columns: auto minmax(0, 1fr);
  place-items: center start;
  text-align: left;
}

.model-radar-loading > span {
  width: 42px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-top-color: #e3e3de;
  border-radius: 50%;
  animation: modelRadarSpin 900ms linear infinite;
}

body[data-theme="light"] .model-radar-intro,
body[data-theme="light"] .model-company-profile,
body[data-theme="light"] .model-company-switch,
body[data-theme="light"] .model-radar-loading {
  background-color: rgba(255, 255, 255, 0.68);
}

body[data-theme="light"] .model-radar-summary div,
body[data-theme="light"] .model-matrix-table thead th,
body[data-theme="light"] .model-matrix-table tbody th,
body[data-theme="light"] .model-radar-methodology dl div {
  background: #f0f0eb;
}

body[data-theme="light"] .model-company-switch button.is-active,
body[data-theme="light"] .model-type-filter button.is-active,
body[data-theme="light"] .model-chart-switch button.is-active {
  color: #f2f1ed;
  border-color: #303339;
  background: #303339;
}

body[data-theme="light"] .model-company-switch button.is-active i {
  color: #17191d;
  background: #f1f0eb;
}

body[data-theme="light"] .model-matrix-table tbody tr:hover td,
body[data-theme="light"] .model-matrix-table tbody tr:hover th {
  background-color: rgba(17, 19, 24, 0.055);
}

body[data-theme="light"] .model-score i,
body[data-theme="light"] .model-dot-table > i.is-empty {
  background: rgba(17, 19, 24, 0.1);
}

body[data-theme="light"] .model-score i::after,
body[data-theme="light"] .model-chart-legend i {
  background: #292c31;
}

body[data-theme="light"] .model-chart-grid line,
body[data-theme="light"] .model-capability-svg line {
  stroke: rgba(17, 19, 24, 0.12);
}

body[data-theme="light"] .model-chart-grid text,
body[data-theme="light"] .model-chart-dates text,
body[data-theme="light"] .model-capability-svg text {
  fill: rgba(17, 19, 24, 0.54);
}

body[data-theme="light"] .model-chart-series path,
body[data-theme="light"] .model-capability-svg .capability-path {
  stroke: #292c31;
}

body[data-theme="light"] .model-chart-series circle,
body[data-theme="light"] .model-capability-svg circle {
  fill: #f5f4ef;
  stroke: #292c31;
}

body[data-theme="light"] .model-capability-svg .capability-value {
  fill: #292c31;
}

body[data-theme="light"] .model-dot-table > i {
  background: rgba(32, 36, 42, var(--tone));
}

body[data-theme="light"] .model-dot-table > i span {
  color: #f4f3ee;
}

@keyframes modelRadarSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1120px) {
  .model-radar-intro,
  .model-capability-grid,
  .model-radar-methodology {
    grid-template-columns: 1fr;
  }

  .model-capability-line {
    min-width: 0;
  }

  .model-radar-methodology dl {
    max-width: 620px;
  }

  .model-radar-intro > div:first-child {
    transform: none;
  }

  .model-intelligence-meta {
    justify-items: start;
  }
}

@media (max-width: 820px) {
  .model-radar-intro,
  .model-company-heading,
  .model-matrix-section,
  .model-price-section,
  .model-intelligence-section,
  .model-capability-section,
  .model-radar-methodology {
    padding: 22px;
  }

  .model-company-switch section {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .model-company-heading {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .model-company-mark {
    width: 64px;
    height: 64px;
  }

  .model-company-sources {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .model-radar-section-heading {
    align-items: start;
    flex-direction: column;
  }

  .model-type-filter,
  .model-chart-switch {
    justify-content: flex-start;
  }

  .model-intelligence-signal {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .model-radar-shell {
    gap: 14px;
  }

  .model-radar-intro,
  .model-company-heading,
  .model-matrix-section,
  .model-price-section,
  .model-intelligence-section,
  .model-capability-section,
  .model-radar-methodology {
    padding: 18px;
  }

  .model-radar-intro {
    gap: 22px;
  }

  .model-radar-intro h3 {
    font-size: 1.85rem;
  }
  .model-radar-intro h3 span {
    display: inline;
  }


  .model-radar-summary {
    grid-template-columns: 1fr;
  }

  .model-radar-summary div {
    min-height: 74px;
  }

  .model-company-switch {
    margin-right: -18px;
    padding: 14px 18px 14px 14px;
    border-right: 0;
    border-radius: 7px 0 0 7px;
  }

  .model-company-heading {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 13px;
  }

  .model-company-mark {
    width: 54px;
    height: 54px;
  }

  .model-company-heading h3 {
    font-size: 1.45rem;
  }

  .model-company-sources a {
    flex: 1 1 auto;
    text-align: center;
  }

  .model-matrix-scroll,
  .model-price-chart-wrap,
  .model-dot-plot,
  .model-capability-line {
    margin-right: -18px;
    border-right: 0;
    border-radius: 7px 0 0 7px;
  }

  .model-current-prices {
    grid-template-columns: 1fr;
  }

  .model-evidence-grid {
    grid-template-columns: 1fr;
  }

  .model-evidence-card header,
  .model-evidence-card footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .model-price-chart-wrap {
    overflow-x: auto;
  }

  .model-capability-switch {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .model-radar-methodology dl {
    grid-template-columns: 1fr;
  }

  .model-price-lock {
    position: sticky;
    left: 18px;
    width: clamp(200px, calc(100vw - 148px), 280px);
    min-width: 0;
    padding: 18px 14px;
    transform: translateY(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .model-radar-loading > span {
    animation: none;
  }

  .model-company-switch button {
    transition: none;
  }

  .model-company-switch button:hover,
  .model-company-switch button:focus-visible {
    transform: none;
  }

  .model-company-switch button,
  .model-radar-shell {
    scroll-behavior: auto;
  }
}
.model-matrix-table tbody th .model-promotion-tag {
  display: inline;
  color: #9fb7ff;
  font-family: "IBM Plex Mono", monospace;
  font-size: inherit;
  font-style: normal;
  font-weight: 700;
}
.model-price-card > em {
  color: #9fb7ff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.57rem;
  font-style: normal;
  line-height: 1.45;
}
body[data-theme="light"] .model-matrix-table tbody th .model-promotion-tag,
body[data-theme="light"] .model-price-card > em {
  color: #3151a3;
}
.model-price-coverage {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: -4px;
}

.model-price-coverage span,
.model-price-coverage a {
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.62rem;
  text-decoration: none;
}

.model-price-coverage b {
  color: var(--ink);
  font-family: "IBM Plex Mono", monospace;
}

.model-price-coverage a {
  margin-left: auto;
  border-style: dashed;
}

.model-price-coverage a:hover,
.model-price-coverage a:focus-visible {
  color: var(--ink);
  border-color: currentColor;
}

.model-price-card.is-unavailable {
  border-style: dashed;
  background: transparent;
}

.model-price-card.is-unavailable strong {
  color: var(--muted);
  font-family: inherit;
  font-size: 0.78rem;
}

.model-price-card.is-unavailable em {
  opacity: 0.72;
}

.model-chart-canvas {
  display: grid;
  gap: 12px;
}

.model-price-chart-group {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.model-price-chart-group:last-child {
  border-bottom: 0;
}

.model-price-chart-group > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px 0;
}

.model-price-chart-group > header div {
  display: grid;
  gap: 4px;
}

.model-price-chart-group > header small,
.model-price-chart-group > header span {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.59rem;
}

.model-price-chart-group > header strong {
  font-size: 0.82rem;
}

.model-chart-dates line {
  stroke: rgba(255, 255, 255, 0.045);
  stroke-width: 1;
}

.model-chart-point {
  cursor: crosshair;
  outline: none;
}

.model-chart-point .model-chart-hit {
  fill: transparent;
  stroke: transparent;
  stroke-width: 0;
  pointer-events: all;
}

.model-chart-point:hover .model-chart-dot,
.model-chart-point:focus .model-chart-dot {
  fill: #f0f0eb;
  stroke-width: 5;
}

.model-price-tooltip {
  position: absolute;
  z-index: 4;
  display: grid;
  gap: 5px;
  width: max-content;
  max-width: min(270px, calc(100% - 24px));
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 7px;
  opacity: 0;
  color: #f0f0eb;
  background: rgba(10, 12, 16, 0.94);
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.38);
  pointer-events: none;
  transform: translateY(5px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.model-price-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.model-price-tooltip strong {
  font-size: 0.76rem;
}

.model-price-tooltip span {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.7rem;
}

.model-price-tooltip small,
.model-price-tooltip em {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.58rem;
  font-style: normal;
}

body[data-theme="light"] .model-chart-dates line {
  stroke: rgba(17, 19, 24, 0.06);
}

body[data-theme="light"] .model-chart-point:hover .model-chart-dot,
body[data-theme="light"] .model-chart-point:focus .model-chart-dot {
  fill: #292c31;
}

body[data-theme="light"] .model-price-tooltip {
  color: #f5f4ef;
  border-color: rgba(17, 19, 24, 0.28);
  background: rgba(25, 27, 32, 0.96);
}

@media (max-width: 760px) {
  .model-price-coverage {
    align-items: stretch;
  }

  .model-price-coverage a {
    flex-basis: 100%;
    margin-left: 0;
    border-radius: 7px;
    line-height: 1.5;
  }

  .model-price-chart-group > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}
/* MARKET PRICE CROSSCHECK */
.model-market-price-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 16px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.018);
}

.model-market-price-note > span,
.model-market-price-note a,
.model-market-price-note em {
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.59rem;
  font-style: normal;
}

.model-market-price-note p {
  margin: 0;
  color: var(--muted);
  font-size: 0.65rem;
}

.model-market-price-note b { color: var(--ink); }
.model-market-price-note mark,
.model-price-difference,
.model-price-tooltip mark {
  color: var(--muted);
  background: transparent;
}

.model-market-price-note div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.model-market-price-note a {
  color: #9fb7ff;
  text-underline-offset: 3px;
}

.model-price-difference {
  display: block;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.57rem;
  line-height: 1.45;
}

.model-market-price-note mark,
.model-price-difference.is-different,
.model-price-tooltip mark.is-different {
  color: #ffb494;
}

.model-chart-series {
  opacity: 0;
  animation: modelPriceSeriesIn 520ms cubic-bezier(.2,.75,.25,1) forwards;
  animation-delay: var(--series-delay, 0ms);
}

.model-chart-series .model-chart-dot {
  transform-box: fill-box;
  transform-origin: center;
  animation: modelPriceDotIn 420ms cubic-bezier(.2,.75,.25,1) both;
  animation-delay: calc(var(--series-delay, 0ms) + 120ms);
}

.model-chart-series.source-relay path {
  stroke-dasharray: 5 6;
}

.model-chart-series.source-relay .model-chart-dot {
  stroke: #ffb494;
}

.model-chart-legend span {
  min-width: 0;
}

.model-chart-legend span b {
  color: var(--ink);
  font-size: inherit;
  font-weight: 600;
}

.model-chart-legend span small {
  overflow: hidden;
  max-width: 180px;
  color: var(--muted);
  font-size: 0.55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.model-price-tooltip mark {
  padding-top: 5px;
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
  font-size: 0.58rem;
  font-style: normal;
}

@keyframes modelPriceSeriesIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes modelPriceDotIn {
  from { opacity: 0; transform: scale(0.35); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 760px) {
  .model-market-price-note {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .model-market-price-note div { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .model-chart-series,
  .model-chart-series .model-chart-dot {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

/* 2026+ price timeline and chart-level source notes */
.model-chart-source-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 0 22px 18px 68px;
  color: var(--muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.56rem;
  line-height: 1.55;
}

.model-chart-source-note strong {
  flex: 0 0 auto;
  color: var(--ink);
  font-size: inherit;
  letter-spacing: 0.04em;
}

.model-chart-source-note div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px 12px;
}

.model-chart-source-note a,
.model-chart-source-note span {
  color: var(--muted);
  text-decoration: none;
}

.model-chart-source-note a:hover,
.model-chart-source-note a:focus-visible {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 760px) {
  .model-chart-source-note {
    flex-direction: column;
    gap: 5px;
    padding-left: 68px;
  }
}
/* Compact price points, animated connectors, centered legend, and broken Y axis */
.model-price-chart-group > .model-chart-legend {
  justify-content: center;
  padding: 4px 22px 0;
}

.model-price-chart-group > .model-line-chart {
  margin-top: -2px;
}

.model-chart-series path,
.model-chart-series.source-relay path {
  opacity: 0.58 !important;
  stroke: rgba(190, 194, 201, 0.78);
  stroke-width: 1.25;
  stroke-dasharray: 1 !important;
  stroke-dashoffset: 1;
  animation: modelPriceLineDraw 940ms cubic-bezier(.22,.72,.2,1) forwards;
  animation-delay: calc(var(--series-delay, 0ms) + 70ms);
}

.model-chart-series .model-chart-glow {
  color: #b9bdc4;
  stroke: none;
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.model-chart-series .model-chart-dot,
.model-chart-series.source-relay .model-chart-dot {
  fill: #aeb2b9;
  stroke: none;
  filter: drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.26));
  transition: fill 180ms ease, transform 180ms ease;
}

.model-chart-point:hover .model-chart-dot,
.model-chart-point:focus .model-chart-dot {
  fill: #f0f0eb;
  stroke: none;
  transform: scale(1.4);
}

.model-chart-point:hover .model-chart-glow,
.model-chart-point:focus .model-chart-glow {
  opacity: 1;
  transform: scale(1.18);
}

.model-chart-axis-break path {
  fill: none;
  stroke: rgba(190, 194, 201, 0.74);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.model-chart-axis-break .model-chart-break-guide {
  stroke: rgba(190, 194, 201, 0.2);
  stroke-width: 1;
  stroke-dasharray: 3 7;
}

body[data-theme="light"] .model-chart-series path,
body[data-theme="light"] .model-chart-series.source-relay path {
  stroke: rgba(50, 54, 61, 0.56);
}

body[data-theme="light"] .model-chart-series .model-chart-dot,
body[data-theme="light"] .model-chart-series.source-relay .model-chart-dot {
  fill: #555b64;
  filter: drop-shadow(0 0 1.5px rgba(17, 19, 24, 0.18));
}

body[data-theme="light"] .model-chart-series .model-chart-glow {
  color: #555b64;
}

body[data-theme="light"] .model-chart-point:hover .model-chart-dot,
body[data-theme="light"] .model-chart-point:focus .model-chart-dot {
  fill: #171a1f;
}

body[data-theme="light"] .model-chart-axis-break path {
  stroke: rgba(50, 54, 61, 0.66);
}

body[data-theme="light"] .model-chart-axis-break .model-chart-break-guide {
  stroke: rgba(50, 54, 61, 0.16);
}

@keyframes modelPriceLineDraw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .model-chart-series path,
  .model-chart-series.source-relay path {
    stroke-dashoffset: 0;
    animation: none;
  }
}
/* Final compact point and cross-series connector refinement */
.model-line-chart > .model-chart-connector {
  fill: none;
  stroke: rgba(190, 194, 201, 0.58);
  stroke-width: 1.05;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  pointer-events: none;
  animation: modelPriceLineDraw 1050ms cubic-bezier(.22,.72,.2,1) forwards;
}

.model-chart-series .model-chart-glow {
  opacity: 0.3;
  filter: blur(1.1px);
  transform-box: fill-box;
  transform-origin: center;
}

.model-chart-series .model-chart-dot,
.model-chart-series.source-relay .model-chart-dot {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.22));
}

.model-chart-legend {
  column-gap: 12px;
  row-gap: 5px;
}

.model-price-chart-group > .model-chart-legend {
  padding-top: 10px;
}

.model-price-chart-group > header > span {
  position: relative;
  top: -4px;
}

@media (max-width: 760px) {
  .model-price-chart-group > header > span {
    top: 0;
  }
}

body[data-theme="light"] .model-line-chart > .model-chart-connector {
  stroke: rgba(50, 54, 61, 0.48);
}

@media (prefers-reduced-motion: reduce) {
  .model-line-chart > .model-chart-connector {
    stroke-dashoffset: 0;
    animation: none;
  }
}
/* Capability matrix alignment, area chart, and text-only methodology */
.model-dot-table {
  grid-template-columns: minmax(178px, 1.58fr) repeat(7, minmax(60px, 0.62fr));
  min-width: 754px;
}

.model-dot-table > i {
  justify-self: center;
}

.model-capability-svg {
  color: #efefea;
}

.model-capability-svg .capability-area {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center bottom;
  animation: modelCapabilityAreaIn 720ms cubic-bezier(.2,.72,.2,1) forwards;
}

.model-capability-svg .capability-path {
  stroke-width: 2;
  filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.2));
}

.model-radar-methodology {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-top: 28px;
  padding-bottom: 28px;
}

.model-radar-methodology > div {
  max-width: 980px;
}

.model-method-feedback {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  min-width: 190px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: rgba(255,255,255,.04);
  text-align: left;
}
.model-method-feedback span { grid-row: 1 / span 2; align-self: center; font-size: 1.15rem; }
.model-method-feedback b { font-size: .85rem; }
.model-method-feedback small { color: var(--muted); font-size: .62rem; }
.model-method-feedback:hover { border-color: currentColor; transform: translateY(-2px); }

.model-reference-button { padding-inline: 14px !important; }
.model-reference-button b { font-size: .78rem !important; letter-spacing: .01em; }
.model-reference-button.is-active { color: #111318; background: #efefea; }

.model-consensus-profile { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #111318; }
.model-consensus-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 30px 32px; border-bottom: 1px solid var(--line); }
.model-consensus-heading p { margin: 0 0 8px; color: var(--muted); font: 700 .58rem/1 "IBM Plex Mono", monospace; letter-spacing: .12em; }
.model-consensus-heading h3 { margin: 0 0 8px; font-size: 2rem; }
.model-consensus-heading span { color: var(--muted); font-size: .72rem; }
.model-consensus-heading > div:last-child { display: grid; justify-items: end; gap: 4px; }
.model-consensus-heading > div:last-child strong { font-size: 2rem; }
.model-consensus-heading time { margin-top: 6px; color: var(--muted); font: .58rem "IBM Plex Mono", monospace; }
.model-consensus-table-wrap { overflow: auto; }
.model-consensus-table { width: 100%; min-width: 860px; border-collapse: collapse; }
.model-consensus-table th,.model-consensus-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); font-size: .72rem; text-align: left; }
.model-consensus-table thead th { position: sticky; top: 0; color: var(--muted); background: #15171c; font-size: .6rem; }
.model-consensus-table tbody tr:hover { background: rgba(255,255,255,.035); }
.model-consensus-table tbody th strong,.model-consensus-table tbody th span { display: block; }
.model-consensus-table tbody th span { margin-top: 4px; color: var(--muted); font-size: .6rem; }
.model-consensus-score { font-size: 1rem; }
.model-consensus-profile > footer { display: flex; justify-content: space-between; gap: 20px; padding: 18px 22px; color: var(--muted); font-size: .65rem; }
.model-consensus-profile > footer p { margin: 0; }
.model-consensus-profile > footer a { color: var(--ink); font-weight: 700; }
body[data-theme="light"] .model-consensus-profile { background: #fff; }
body[data-theme="light"] .model-consensus-table thead th { background: #f3f3ef; }
body[data-theme="light"] .model-reference-button.is-active { color: #efefea; background: #17191d; }

@media (max-width: 760px) {
  .model-radar-methodology,.model-consensus-heading,.model-consensus-profile > footer { align-items: flex-start; flex-direction: column; }
  .model-method-feedback { width: 100%; }
  .model-consensus-heading > div:last-child { justify-items: start; }
}

body[data-theme="light"] .model-capability-svg {
  color: #292c31;
}

@keyframes modelCapabilityAreaIn {
  from { opacity: 0; transform: translateY(5px) scaleY(0.92); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
  .model-capability-svg .capability-area {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

/* 2026-08-02 model radar hero and type refinements */
.model-radar-intro {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.45fr);
}

.model-intelligence-meta {
  display: grid;
  justify-items: end;
  gap: 10px;
}

.model-intelligence-meta > time {
  color: var(--muted);
  font: 600 0.68rem/1.4 "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.model-radar-visual {
  display: grid;
  justify-items: center;
  align-self: center;
  min-width: 0;
}

.model-radar-visual svg {
  width: min(100%, 280px);
  color: var(--ink);
  overflow: visible;
}

.model-radar-halo { fill: url(#modelRadarGlow); }

.model-radar-grid polygon,
.model-radar-grid path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  opacity: 0.14;
}

.model-radar-shape {
  fill: currentColor;
  fill-opacity: 0.08;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-dasharray: 420;
  animation: modelRadarTrace 2.8s cubic-bezier(.2,.75,.25,1) both;
}

.model-radar-points circle {
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
  filter: drop-shadow(0 0 5px color-mix(in srgb, currentColor 50%, transparent));
  animation: modelRadarPulse 2.4s ease-in-out infinite;
}

.model-radar-points circle:nth-child(2n) { animation-delay: -1.2s; }

.model-radar-sweep {
  transform-box: view-box;
  transform-origin: 130px 92px;
  animation: modelRadarSweep 5.4s linear infinite;
}

.model-radar-sweep path { fill: currentColor; opacity: 0.045; }
.model-radar-sweep line { stroke: currentColor; stroke-width: 1; opacity: 0.3; }

.model-radar-visual p {
  display: grid;
  gap: 4px;
  margin: -5px 0 0;
  text-align: center;
}

.model-radar-visual p span,
.model-radar-visual time {
  color: var(--muted);
  font-size: 0.62rem;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.model-radar-visual p span {
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.model-price-card strong,
.model-price-card > small,
.model-price-card > span,
.model-price-card > em,
.model-price-card .model-price-difference {
  font-family: inherit;
}

.model-price-card strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.model-intelligence-section .model-radar-section-heading p {
  max-width: 800px;
  font-size: 0.74rem;
}

@keyframes modelRadarTrace {
  from { stroke-dashoffset: 420; opacity: 0; }
  to { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes modelRadarPulse {
  0%, 100% { opacity: 0.55; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.25); }
}

@keyframes modelRadarSweep { to { transform: rotate(360deg); } }

@media (max-width: 1120px) {
  .model-radar-intro { grid-template-columns: 1fr; }
  .model-radar-visual svg { width: min(100%, 250px); }
}

@media (max-width: 560px) {
  .model-radar-visual svg { width: min(82vw, 240px); }
}

@media (prefers-reduced-motion: reduce) {
  .model-radar-shape,
  .model-radar-points circle,
  .model-radar-sweep {
    animation: none;
  }
}
