/* Approved competition model card, contrast revision 22.
   The row supplies its height and column split. Component geometry scales from
   the 825.1875px reference width; shared header/footer measurements arrive through
   --t-header-*, --t-eyebrow-* and --t-footer-* from the competition page.
   On fixed-height desktop rows, body dimensions stop growing at the approved
   width-to-height ratio, while shared header/footer measurements stay live. */
.competition-model-card {
  --cm-bg: #0c0c0b;
  --cm-ink: #f3efe6;
  --cm-soft: #c7c1b6;
  --cm-muted: #aaa395;
  --cm-rule: #48463e;
  --cm-accent: #b8a3d8;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  container-name: competition-model;
  container-type: inline-size;
  background: var(--cm-bg);
  color: var(--cm-ink);
  color-scheme: dark;
}
.competition-model-card * { box-sizing: border-box; }
.competition-model-card :is(h3, p) { margin: 0; }
.competition-model-card__layout {
  --cm-unit: 1cqi;
  --cm-padding: calc(3.150799 * var(--cm-unit));
  --cm-header-size: var(--t-header-size, clamp(24.5px, 1.53125vw, 30.625px));
  --cm-header-x: var(--t-header-x, 32px);
  --cm-header-y: var(--t-header-y, 21px);
  --cm-eyebrow-size: var(--t-eyebrow-size, 11.5px);
  --cm-eyebrow-gap: var(--t-eyebrow-gap, 3px);
  --cm-logo-size: calc(4.726199 * var(--cm-unit));
  --cm-header-text-height: calc(max(18px, var(--cm-eyebrow-size) * 1.8) + var(--cm-eyebrow-gap) + var(--cm-header-size) * 1.2);
  --cm-header-row-height: max(var(--cm-logo-size), calc(var(--cm-header-text-height) + max(0px, var(--cm-header-y) - var(--cm-padding))));
  display: grid;
  grid-template-rows:
    var(--cm-header-row-height)
    minmax(max(calc(5.816860 * var(--cm-unit)), calc(var(--t-header-height, calc(16.481103 * var(--cm-unit))) - var(--cm-header-row-height))), max-content)
    minmax(calc(18.177687 * var(--cm-unit)), 1fr)
    minmax(calc(8.119367 * var(--cm-unit)), max-content)
    minmax(calc(6.665152 * var(--cm-unit)), max-content);
  flex: 1;
  inline-size: 100%;
  min-block-size: calc(55.502537 * var(--cm-unit));
  padding: var(--cm-padding);
  padding-block-end: var(--t-footer-inset-bottom, 32px);
  font: 400 calc(1.938953 * var(--cm-unit))/normal 'Inter Tight', Arial, sans-serif;
}
.competition-model-card__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(1.938953 * var(--cm-unit));
  color: var(--cm-soft);
  font-size: var(--cm-header-size);
  line-height: 1.4;
  letter-spacing: -.025em;
}
.competition-model-card .cm-header-text {
  position: absolute;
  inset-inline-start: calc(var(--cm-header-x) - var(--cm-padding));
  inset-block-start: calc(var(--cm-header-y) - var(--cm-padding));
  display: grid;
  grid-template-rows: max(18px, calc(var(--cm-eyebrow-size) * 1.8)) auto;
  row-gap: var(--cm-eyebrow-gap);
  align-content: start;
  min-inline-size: 0;
  max-inline-size: calc(100cqi - var(--cm-header-x) - var(--cm-padding) - var(--cm-logo-size) - calc(1.938953 * var(--cm-unit)));
}
.competition-model-card .cm-header-eyebrow {
  display: block;
  align-self: center;
  color: #919782;
  font: 400 var(--cm-eyebrow-size)/1.5 'JetBrains Mono', monospace;
  letter-spacing: .11em;
  white-space: nowrap;
}
.competition-model-card .cm-header-name {
  display: block;
  color: var(--cm-ink);
  font: 300 var(--cm-header-size)/1.2 'Inter Tight', Arial, sans-serif;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.competition-model-card__logo {
  display: block;
  inline-size: var(--cm-logo-size);
  block-size: var(--cm-logo-size);
  object-fit: contain;
  flex: 0 0 auto;
  align-self: flex-start;
  margin-block-start: max(0px, calc(var(--cm-header-y) - var(--cm-padding)));
}
/* Keep the approved space above the identity divider after moving details down. */
.competition-model-card__specs {
  min-inline-size: 0;
  padding-block-end: calc(2.302507 * var(--cm-unit));
}
.competition-model-card__identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-block-start: 1px solid var(--cm-rule);
  margin-inline: calc(-1 * var(--cm-padding));
  padding: calc(3.271984 * var(--cm-unit)) var(--cm-padding);
}
.competition-model-card .cm-mode-block {
  width: max-content;
  max-width: 100%;
  transform: translate(calc(1.333030 * var(--cm-unit)), calc(.605923 * var(--cm-unit)));
}
.competition-model-card__mode {
  display: block;
  color: var(--cm-muted);
  font: 400 calc(2.181322 * var(--cm-unit))/1.4 'JetBrains Mono', monospace;
}
.competition-model-card .competition-model-card__title {
  color: var(--cm-ink);
  font: 300 calc(9.815951 * var(--cm-unit))/1.04 'Inter Tight', Arial, sans-serif;
  letter-spacing: -.05em;
  margin-block-start: calc(.605923 * var(--cm-unit));
  white-space: nowrap;
}
.competition-model-card__thinking {
  display: flex;
  align-items: flex-end;
  min-block-size: 0;
}
.competition-model-card__think-line {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0;
  inline-size: 89%;
  margin-inline: auto;
  padding-block: calc(1.696584 * var(--cm-unit));
  transform: translate(calc(3.150799 * var(--cm-unit)), calc(-7.392259 * var(--cm-unit)));
}
.competition-model-card__tag {
  color: var(--cm-accent);
  font: 400 calc(2.181322 * var(--cm-unit))/1.4 'JetBrains Mono', monospace;
  white-space: nowrap;
  transform: translateY(calc(.121185 * var(--cm-unit)));
}
.competition-model-card__thought {
  min-inline-size: 0;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  text-align: center;
  color: var(--cm-soft);
  font: italic 400 calc(2.908430 * var(--cm-unit))/1.5 'EB Garamond', Georgia, serif;
  scrollbar-width: thin;
  scrollbar-color: var(--cm-rule) transparent;
}
.competition-model-card__thought span { display: inline-block; white-space: nowrap; }
.competition-model-card__thought:focus-visible {
  outline: 1px solid var(--cm-accent);
  outline-offset: .25em;
}
.competition-model-card .cm-footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  align-self: end;
  min-inline-size: 0;
  min-block-size: calc(var(--t-footer-content-height, 35.6832px) + var(--t-footer-rule-gap, 14px) + var(--t-footer-rule-size, 1px));
  margin-block: 0;
  margin-inline-start: calc(var(--t-footer-inset-left, 38px) - var(--cm-padding));
  margin-inline-end: calc(var(--t-footer-inset-right, 38px) - var(--cm-padding));
  padding: 0;
  border: 0;
  column-gap: var(--t-footer-column-gap, clamp(1.2rem, calc(3.4 * var(--cm-unit)), 2.6rem));
  row-gap: var(--t-footer-row-gap, .6rem);
}
.competition-model-card .cm-footer-meta {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(var(--t-footer-content-height, 35.6832px), auto);
  align-items: center;
  column-gap: var(--t-footer-column-gap, clamp(1.2rem, calc(3.4 * var(--cm-unit)), 2.6rem));
  min-inline-size: 0;
  padding-block-start: var(--t-footer-rule-gap, 14px);
  border-block-start: var(--t-footer-rule-size, 1px) solid var(--cm-rule);
  color: var(--cm-muted);
  font-family: 'Inter Tight', Arial, sans-serif;
  font-weight: 400;
  line-height: normal;
}
.competition-model-card .cm-footer-meta > :is(.competition-model-card__checkpoint, .cm-parameters) {
  min-inline-size: 0;
  font-size: calc(2.060138 * var(--cm-unit));
  white-space: nowrap;
  transform: translateY(calc(.848292 * var(--cm-unit)));
}
.competition-model-card .cm-footer-meta > .competition-model-card__checkpoint { justify-self: start; }
.competition-model-card .cm-footer-meta > .cm-parameters { justify-self: end; text-align: right; }
.competition-model-card .cm-footer-meta b { color: var(--cm-ink); font-weight: 400; }
@media (min-width: 1181px) {
  .competition-model-card { container-type: size; }
  .competition-model-card__layout {
    /* 825.1875 / 558 = 1.478830645: one percent of the approved body scale. */
    --cm-unit: min(1cqi, 1.478830645cqb);
    min-block-size: 0;
  }
}
@container competition-model (max-width: 28rem) {
  .competition-model-card__layout {
    --cm-header-size: max(1rem, var(--t-header-size, clamp(24.5px, 1.53125vw, 30.625px)));
    --cm-eyebrow-size: max(.625rem, var(--t-eyebrow-size, 11.5px));
  }
  .competition-model-card__mode { font-size: max(.75rem, calc(2.181322 * var(--cm-unit))); }
  .competition-model-card .competition-model-card__title { font-size: max(3rem, calc(9.815951 * var(--cm-unit))); }
  .competition-model-card__tag { font-size: max(.625rem, calc(2.181322 * var(--cm-unit))); }
  .competition-model-card__thought { font-size: max(.875rem, calc(2.908430 * var(--cm-unit))); }
  .competition-model-card .cm-footer-meta > :is(.competition-model-card__checkpoint, .cm-parameters) {
    font-size: max(.75rem, calc(2.060138 * var(--cm-unit)));
  }
}
