/* Practical model cards extend the existing sheet without changing the catalogue. */
.card-jump-nav { position: sticky; inset-block-start: 0; z-index: 2; display: flex; gap: .35rem; overflow-x: auto; padding-block: .6rem; margin-block: .5rem 1rem; background: var(--bg); border-block-end: 1px solid var(--line); scrollbar-width: thin; }
.card-jump-nav button { flex: 0 0 auto; padding: .5rem .65rem; border: 0; border-radius: .5rem; background: var(--bg-soft); color: var(--text-2); font: 500 .75rem/1.2 var(--font-ui); cursor: pointer; }
.card-jump-nav button:hover, .card-jump-nav button:focus-visible { color: var(--text-1); background: var(--line); }
.card-method-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .5rem 1rem; padding-block: .45rem; background: var(--bg); }
.card-method-tabs button { padding: .45rem .8rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--bg-soft); color: var(--text-2); font: 500 .8rem/1.4 var(--font-ui); cursor: pointer; }
.card-method-tabs button[aria-selected="true"] { color: var(--text-1); border-color: var(--text-3); background: var(--line); }
.card-method-tabs button:focus-visible { outline: 2px solid var(--text-2); outline-offset: 2px; }
.card-result-process { margin-block: 1rem; padding: .75rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--bg-soft); }
.card-result-process h5 { margin: 0; color: var(--text-1); font: 600 .85rem/1.4 var(--font-ui); }
.card-section { scroll-margin-block-start: 4.25rem; min-inline-size: 0; }
.card-section > h3 { margin-block-start: 1.2rem; }
.card-best-for { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: .75rem 0 1rem; list-style: none; }
.card-best-for li { padding: .3rem .6rem; border: 1px solid var(--line); border-radius: .5rem; color: var(--text-2); font: 400 .8rem/1.45 var(--font-ui); }
.card-io { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1rem; }
.card-io > div, .card-quote { padding: .75rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--bg-soft); }
.card-io dt { font: 500 .7rem/1.3 var(--font-ui); letter-spacing: .02em; color: var(--text-4); }
.card-io dd { margin: .3rem 0 0; font: 500 .9rem/1.4 var(--font-ui); color: var(--text-1); overflow-wrap: anywhere; }
.card-about > summary, .card-price-reference > summary { cursor: pointer; font: 500 .8rem/1.5 var(--font-ui); color: var(--text-2); }
.card-about .mabout { margin-block-start: .75rem; }
.card-method { border: 1px solid var(--line); border-radius: .65rem; padding: .75rem; margin-block: .6rem; background: var(--bg-soft); }
.card-method > summary { cursor: pointer; color: var(--text-1); }
.card-method > summary b { font: 500 .85rem/1.45 var(--font-ui); }
.card-method > summary code { display: block; margin-block-start: .25rem; overflow-wrap: anywhere; color: var(--text-3); font-size: .75rem; }
.card-method .method-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-block: .75rem; }
.card-method .method-capabilities dt { font: 500 .7rem/1.4 var(--font-ui); color: var(--text-4); }
.card-method .method-capabilities dd { margin: .25rem 0 0; font-size: .8rem; color: var(--text-2); overflow-wrap: anywhere; }
.card-method table code, .card-result-paths code { white-space: normal; overflow-wrap: anywhere; }
.card-section [data-field-type] { white-space: nowrap; min-inline-size: 7ch; }
.card-section [data-field-type] code { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.card-section code.card-field-name { white-space: normal; overflow-wrap: normal; word-break: normal; hyphens: none; }
.card-cell-label { display: none; }
.card-quote { margin-block-end: .8rem; }
.card-quote > b { font: 600 .95rem/1.4 var(--font-ui); color: var(--text-1); }
.card-price-reference { margin-block: .6rem 1rem; }
.card-section .code-group pre { max-block-size: 22rem; overflow: auto; }
.card-result-paths { padding-inline-start: 1.25rem; color: var(--text-2); font-size: .8rem; }
.card-result-paths li { margin-block: .4rem; }
@media (max-width: 480px) { .card-jump-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin-inline: -.15rem; } .card-jump-nav button { min-inline-size: 0; min-block-size: 2.5rem; white-space: normal; overflow-wrap: anywhere; text-align: center; } .card-io, .card-method .method-capabilities { grid-template-columns: 1fr; } .sheet .idline { flex-wrap: wrap; line-height: 1.4; } }
@media (prefers-reduced-motion: reduce) { .sheet-panel { animation: none; } }
@media (max-width: 600px) {
  .sheet [data-pricing-profiles] { overflow-x: visible; }
  [data-pricing-profiles] table, [data-pricing-profiles] tbody { display: block; inline-size: 100%; }
  [data-pricing-profiles] thead { display: none; }
  [data-pricing-profiles] tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; padding-block: .75rem; border-block-end: 1px solid var(--line); }
  [data-pricing-profiles] th, [data-pricing-profiles] td { display: block; min-inline-size: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
  [data-pricing-profiles] b { white-space: nowrap; }
  [data-pricing-profiles] .card-cell-label { display: block; margin-block-end: .15rem; font: 500 .7rem/1.4 var(--font-ui); color: var(--text-4); }
  .sheet [data-typed-parameters] { overflow-x: visible; }
  [data-typed-parameters] table, [data-typed-parameters] tbody { display: block; inline-size: 100%; }
  [data-typed-parameters] thead { display: none; }
  [data-typed-parameters] tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .75rem; padding-block: .75rem; border-block-end: 1px solid var(--line); }
  [data-typed-parameters] th, [data-typed-parameters] td { display: block; min-inline-size: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
  [data-typed-parameters] th, [data-typed-parameters] td:nth-child(2), [data-typed-parameters] td:nth-child(4), [data-typed-parameters] td:nth-child(5) { grid-column: 1 / -1; }
  [data-typed-parameters] .card-cell-label { display: block; margin-block-end: .15rem; font: 500 .7rem/1.4 var(--font-ui); color: var(--text-4); }
}

/* Apple Design craft: readable records, intact technical tokens, existing palette. */
.sheet .sheet-panel { min-inline-size: 0; max-inline-size: 100%; }
.sheet .card-section .tw { min-inline-size: 0; max-inline-size: 100%; }
.sheet .card-section table { table-layout: fixed; font-size: .875rem; line-height: 1.6; }
.sheet .card-section th, .sheet .card-section td { min-inline-size: 0; vertical-align: top; white-space: normal; overflow-wrap: break-word; word-break: normal; }
.sheet .card-section code { overflow-wrap: normal; word-break: normal; hyphens: none; }
.sheet .card-section .card-field-name { display: inline-block; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; vertical-align: middle; font-size: .8125rem; }
.sheet .card-section [data-field-type] { white-space: normal; }
.sheet .card-section [data-field-type] code,
.sheet [data-method-errors] code,
.sheet [data-method-contract] code,
.sheet .card-method > summary code,
.sheet .card-result-paths code,
.sheet .meth header code { display: inline-block; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; vertical-align: middle; font-size: .8125rem; }
.sheet .card-method > summary code { display: block; }
.sheet [data-card-section="aliases"] a { display: inline-block; max-inline-size: 100%; vertical-align: middle; }
.sheet [data-card-section="aliases"] code { display: inline-block; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; overflow-wrap: normal; word-break: normal; vertical-align: middle; font-size: .8125rem; }
.sheet .idline { flex-wrap: wrap; align-items: center; gap: .5rem; line-height: 1.5; }
.sheet .idline > code { flex: 1 1 14rem; min-inline-size: 0; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; overflow-wrap: normal; word-break: normal; font-size: .8125rem; }
.sheet .idline > button { flex: 0 0 auto; white-space: nowrap; }
.sheet .card-section .mabout code { display: inline-block; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; overflow-wrap: normal; word-break: normal; vertical-align: middle; }
.sheet .card-section .note-s { font-size: .875rem; line-height: 1.6; }
.sheet .card-about > summary, .sheet [data-method-contract] > summary { font-size: .875rem; line-height: 1.5; }
.sheet [data-card-table="output"] th:first-child { inline-size: 29%; }
.sheet [data-card-table="output"] th:nth-child(2) { inline-size: 23%; }
.sheet [data-card-table="errors"] th:first-child { inline-size: 32%; }
.sheet [data-card-table="errors"] th:nth-child(2) { inline-size: 27%; }
.sheet [data-card-table="contract"] th:first-child { inline-size: 32%; }

@media (max-width: 768px) {
  .sheet .card-section [data-card-table],
  .sheet .card-section [data-typed-parameters],
  .sheet .card-section [data-pricing-profiles] { overflow-x: visible; inline-size: 100%; }
  .sheet .card-section [data-card-table] table, .sheet .card-section [data-card-table] tbody,
  .sheet .card-section [data-typed-parameters] table, .sheet .card-section [data-typed-parameters] tbody,
  .sheet .card-section [data-pricing-profiles] table, .sheet .card-section [data-pricing-profiles] tbody { display: block; inline-size: 100%; }
  .sheet .card-section [data-card-table] thead,
  .sheet .card-section [data-typed-parameters] thead,
  .sheet .card-section [data-pricing-profiles] thead { display: none; }
  .sheet .card-section [data-card-table] tr,
  .sheet .card-section [data-typed-parameters] tr,
  .sheet .card-section [data-pricing-profiles] tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; padding-block: 1rem; border-block-end: 1px solid var(--line); }
  .sheet .card-section [data-card-table] th, .sheet .card-section [data-card-table] td,
  .sheet .card-section [data-typed-parameters] th, .sheet .card-section [data-typed-parameters] td,
  .sheet .card-section [data-pricing-profiles] th, .sheet .card-section [data-pricing-profiles] td { display: block; grid-column: 1 / -1; inline-size: auto; min-inline-size: 0; padding: 0; border: 0; text-align: start; font-size: .875rem; line-height: 1.6; overflow-wrap: break-word; }
  .sheet .card-section [data-card-table] .card-cell-label,
  .sheet .card-section [data-typed-parameters] .card-cell-label,
  .sheet .card-section [data-pricing-profiles] .card-cell-label { display: block; margin-block-end: .2rem; color: var(--text-3); font: 500 .75rem/1.4 var(--font-ui); letter-spacing: .01em; }
  .sheet .idline > span { flex-basis: 100%; }
  .sheet .idline > button { min-block-size: 2.5rem; }
  .sheet .card-section [data-field-type] { min-inline-size: 0; }
}

/* UI18 pricing records: component-width readability at every viewport. */
.sheet .card-section [data-pricing-profiles] { inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; overflow-x: visible; }
.sheet .card-section [data-pricing-profiles] table,
.sheet .card-section [data-pricing-profiles] tbody { display: block; inline-size: 100%; }
.sheet .card-section [data-pricing-profiles] thead { display: none; }
.sheet .card-section [data-pricing-profiles] tr { display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; padding-block: 1rem; border-block-end: 1px solid var(--line); }
.sheet .card-section [data-pricing-profiles] th,
.sheet .card-section [data-pricing-profiles] td { display: grid; grid-template-columns: minmax(0, 7rem) minmax(0, 1fr); gap: .35rem .9rem; min-inline-size: 0; inline-size: auto; padding: 0; border: 0; text-align: start; font-size: .875rem; line-height: 1.6; }
.sheet .card-section [data-pricing-profiles] .card-cell-label { display: block; grid-column: 1; grid-row: 1; margin: 0; color: var(--text-3); font: 500 .75rem/1.5 var(--font-ui); letter-spacing: .01em; }
.sheet .card-section [data-pricing-profiles] th > :not(.card-cell-label),
.sheet .card-section [data-pricing-profiles] td > :not(.card-cell-label) { min-inline-size: 0; grid-column: 2; }
.sheet .card-section [data-pricing-profiles] [data-cell-label="Quantity calculation"],
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billing conditions"],
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billable quantity"],
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billing formula"],
.sheet .card-section [data-pricing-profiles] [data-cell-label="Estimated quantity formula"],
.sheet .card-section [data-pricing-profiles] [data-cell-label="Charge"] { display: block; inline-size: 100%; }
.sheet .card-section [data-pricing-profiles] [data-cell-label="Quantity calculation"] > .card-cell-label,
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billing conditions"] > .card-cell-label,
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billable quantity"] > .card-cell-label,
.sheet .card-section [data-pricing-profiles] [data-cell-label="Billing formula"] > .card-cell-label,
.sheet .card-section [data-pricing-profiles] [data-cell-label="Estimated quantity formula"] > .card-cell-label,
.sheet .card-section [data-pricing-profiles] [data-cell-label="Charge"] > .card-cell-label { margin-block-end: .3rem; }
.sheet .card-section [data-pricing-profiles] [data-cell-label="Charge"] > div + div { margin-block-start: .7rem; }
.sheet .card-section [data-pricing-profiles] [data-cell-label="Charge"] b { font-weight: 600; white-space: nowrap; }

/* Keep a complete context interval readable within its own table cell. */
.sheet .card-section [data-card-table="tiers"] .card-tier-interval { display: block; max-inline-size: 100%; overflow-x: auto; white-space: nowrap; overflow-wrap: normal; word-break: normal; font-variant-numeric: tabular-nums; }

/* Keep model names and API IDs literal inside RTL model pages. */
html[dir="rtl"] #sheet-title,
html[dir="rtl"] #card-model-id,
html[dir="rtl"] #card-model-id option,
html[dir="rtl"] main.mcontent:has(> [data-static-model]) > .mhead > h1 {
  direction: ltr;
  unicode-bidi: isolate;
}

/* Model names remain literal in RTL headings and breadcrumbs. */
html[dir="rtl"] .mcard > h2,
html[dir="rtl"] .mname-heading > a,
html[dir="rtl"] body:has([data-static-model]) .crumbs [aria-current="page"] {
  direction: ltr;
  unicode-bidi: isolate;
}
