/* IBM Plex is loaded via <link rel="preconnect"> + <link rel="stylesheet"> in each page head.
   Keeping it out of @import avoids a serialized request that delays the font swap (CLS). */
.model-table-wrap td.modality-icons{display:table-cell!important;white-space:nowrap}.modality-icon+.modality-icon{margin-left:4px}
.endpoint-name{font:10px 'IBM Plex Mono',monospace;color:var(--muted)}
.provider-icon a{display:inline-block;color:inherit;text-decoration:none}.provider-icon a:hover{opacity:.7}
.model-table-wrap td.api-status{text-align:center!important}
.model-table-wrap td.availability-status{text-align:center!important}.availability-status>span{display:grid;gap:3px;justify-items:center}
.model-table-wrap td:first-child .external-icon{margin-left:4px;vertical-align:-1px}
.api-status-stack{display:inline-grid;gap:3px;justify-items:center;vertical-align:middle}
.pricing-lines{display:grid;gap:4px}
.cache-lines{display:grid;gap:4px}
.regional-price{color:#9a5d00}
.availability{display:grid;gap:2px;margin-top:6px;font:9px 'IBM Plex Mono',monospace;font-weight:400;color:var(--muted)}.availability-row{display:grid;grid-template-columns:8px auto;align-items:center;gap:4px}.availability-row i{width:5px;height:5px;border-radius:50%;background:#c7cbc2}.availability-row.available i{background:#74ae38}.availability-row b{font-weight:400}
.model-table-wrap th,.model-table-wrap td{vertical-align:middle!important}.provider-documented{display:inline-flex!important;align-items:baseline;gap:4px}.provider-documented small{font-size:10px!important}.external-icon{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.api-support-cell{padding:7px 10px!important}.api-support-table{border-collapse:collapse;width:auto;min-width:0!important;font:9px 'IBM Plex Mono',monospace}.model-table-wrap .api-support-table th,.model-table-wrap .api-support-table td{padding:3px 5px!important;border:0!important;background:transparent!important;text-align:center;vertical-align:middle!important;white-space:nowrap}.model-table-wrap .api-support-table th{font-weight:500;color:var(--muted)}.api-support-table svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.api-support-table .supported{color:#3d6b1d}.api-support-table .not-supported{color:#9a9e97}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.model-table-wrap{overflow-x:auto;border:1px solid var(--line)}.model-table-wrap table{width:100%;border-collapse:collapse;min-width:1120px;font-size:12px}.model-table-wrap th,.model-table-wrap td{padding:12px 14px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);white-space:nowrap}.model-table-wrap td.pricing-cell,.model-table-wrap td.cache-cell{white-space:normal;min-width:140px}.model-table-wrap th{background:#e9ece0;color:var(--muted);font:10px 'IBM Plex Mono',monospace;font-weight:500}.model-table-wrap tbody tr:last-child td{border-bottom:0}.model-table-wrap tbody tr:hover{background:#f9f8f3}.model-table-wrap td:first-child{font-weight:600}.model-table-wrap td:first-child a,.provider-documented{color:var(--ink);text-decoration:none}.model-table-wrap td:first-child a:hover,.provider-documented:hover{text-decoration:underline}.provider-documented{display:grid;gap:3px}.provider-documented small{color:var(--muted);font:10px 'IBM Plex Mono',monospace}.model-table-wrap td.model-cell{padding:0!important}.model-table-wrap td.model-cell a{display:flex;align-items:center;gap:8px;min-height:54px;padding:10px 12px}.model-provider-logo{display:block;width:20px;height:20px;flex:none;object-fit:contain}.model-provider-name{color:var(--muted);font:10px 'IBM Plex Mono',monospace}.modality-icons{display:flex;gap:4px}.modality-icon{display:inline-grid;width:22px;height:22px;place-items:center;border:1px solid var(--line);border-radius:50%}.modality-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.table-note{margin:0;padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font:10px 'IBM Plex Mono',monospace}
.site-header{display:block!important;padding:0 40px!important;border-bottom:0!important}
footer{justify-content:flex-end!important}
@media(max-width:720px){.site-header{padding:0 20px!important}}
.catalog{padding-top:0!important;padding-bottom:0!important}.heading{margin-bottom:8px!important}
.controls>label{order:1}.catalog-status{order:3}.controls .filters{order:4}
#result-count{margin:0 0 0 auto!important;text-align:right!important}
.model-table-wrap th{background:#fff!important;color:#6b7280!important;border-bottom:2px solid #e5e7eb!important;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.model-table-wrap{border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(17,24,39,.04)}.model-table-wrap table{font-size:12px}.model-table-wrap th{height:42px;padding:9px 12px!important;background:#f9fafb!important;font-size:10px;letter-spacing:.02em}.model-table-wrap td{height:54px;padding:10px 12px!important;border-color:#e5e7eb}.model-table-wrap td:first-child a{color:#2563eb}.model-table-wrap tbody tr:nth-child(even) td{background:#fff}.model-table-wrap tbody tr:hover td{background:#eff6ff}
.site-header{display:block;padding:0 40px}.header-main{display:flex;align-items:center;justify-content:space-between;padding:26px 0}.site-header .controls{max-width:none;margin:0;padding:16px 0;border-bottom:0}
.catalog-status{margin-left:auto;display:grid;gap:3px;text-align:right;font:10px 'IBM Plex Mono',monospace}.catalog-status div{display:flex;justify-content:flex-end;align-items:center;gap:8px}.catalog-status span{width:8px;height:8px;border-radius:50%;background:#74ae38}.catalog-status strong{font-weight:500}.catalog-status small{color:var(--muted)}.controls .filters{flex-basis:100%;order:3}
.facts{grid-template-columns:repeat(5,1fr)}.capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;background:var(--line)}.capabilities div{padding:12px;background:var(--paper)}.capabilities dd{line-height:1.45}.capability-note{margin:14px 0 0;color:var(--muted);font:11px 'IBM Plex Mono',monospace;line-height:1.5}
@media(max-width:720px){.capabilities{grid-template-columns:1fr}}
@media(max-width:720px){.site-header{padding:0 20px}.header-main{padding:20px 0}.site-header .controls{margin:0;padding:16px 0}}
.price-summary{margin-top:18px;padding:9px 10px;background:#e9ece0;font:10px 'IBM Plex Mono',monospace}.price-summary span{display:block;color:var(--muted);margin-bottom:4px}.price-summary small{color:var(--muted)}.price-summary.unavailable{color:var(--muted)}.price-table{border:1px solid var(--line);font-size:12px;overflow:auto}.price-table>div{display:grid;grid-template-columns:1fr 1.3fr .7fr 1fr;gap:10px;padding:10px;border-bottom:1px solid var(--line);min-width:520px}.price-table>div:last-child{border-bottom:0}.price-table>div:first-child{font:10px 'IBM Plex Mono',monospace;color:var(--muted);background:#e9ece0}
:root{--ink:#17201d;--paper:#ffffff;--line:#e5e7eb;--muted:#6b7280;--accent:#dbeafe;--deep:#111827}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',sans-serif}.site-header,footer{max-width:1240px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font:500 18px 'IBM Plex Mono',monospace;text-decoration:none;letter-spacing:-1px}.brand b{font-weight:500}.brand span{color:#7f857e}.site-header nav{display:flex;gap:24px}.site-header nav a,footer a{font-size:12px;font-weight:600;color:var(--ink);text-decoration:none}.hero,.controls,.catalog,.method{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.hero{padding-top:120px;padding-bottom:110px}.eyebrow{margin:0 0 17px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:1px;color:var(--muted)}h1{font-size:clamp(60px,9vw,125px);line-height:.87;letter-spacing:-.08em;margin:0;font-weight:700}h1 i{font-weight:400;color:#66736c}.hero>p:not(.eyebrow){max-width:520px;font-size:18px;line-height:1.6;margin:43px 0 29px;color:#39423d}.status{display:flex;gap:10px;align-items:center;font:12px 'IBM Plex Mono',monospace}.status span{width:8px;height:8px;border-radius:50%;background:#74ae38}.status small{color:var(--muted);margin-left:6px}.controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:15px;padding-top:16px;padding-bottom:16px;align-items:center;flex-wrap:wrap}.controls label{display:flex;gap:10px;align-items:center;background:white;border:1px solid var(--line);padding:0 12px}.controls label span{font:11px 'IBM Plex Mono',monospace;color:var(--muted)}input{border:0;outline:0;padding:12px 0;width:270px;font:13px 'IBM Plex Sans',sans-serif}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;border-radius:18px;padding:8px 11px;cursor:pointer;font:600 11px 'IBM Plex Sans',sans-serif}.filters button.active{background:var(--deep);color:#fff;border-color:var(--deep)}.catalog{padding-top:80px;padding-bottom:105px}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.heading h2,.method h2{font-size:42px;line-height:1;letter-spacing:-.06em;margin:0}.heading>p{font:12px 'IBM Plex Mono',monospace;color:var(--muted)}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.model-card{display:flex;flex-direction:column;min-height:250px;padding:21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f9f8f3;color:var(--ink);text-decoration:none;transition:background .15s}.model-card:hover{background:var(--accent)}.card-top{display:flex;justify-content:space-between;gap:8px;font:10px 'IBM Plex Mono',monospace;color:var(--muted)}.card-top span:last-child{text-align:right}.model-card h3{font-size:21px;line-height:1.12;letter-spacing:-.04em;margin:28px 0 auto}.model-card dl{margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:11px}.model-card dl div:last-child{grid-column:1/-1}.model-card dt{font:10px 'IBM Plex Mono',monospace;color:var(--muted)}.model-card dd{margin:3px 0 0;font-size:11px;font-weight:600}.model-card>p{margin:23px 0 0;font:11px 'IBM Plex Mono',monospace}.model-card>p b{float:right;font-size:16px}.empty{padding:20px}.method{background:var(--deep);color:#fff;max-width:none;padding:95px max(40px,calc((100vw - 1160px)/2))}.method .eyebrow{color:#a9b4ad}.method>div{display:grid;grid-template-columns:1fr 1fr;gap:110px}.method h2{font-size:49px}.policy p{color:#c9d0ca;line-height:1.65;margin:0 0 24px;font-size:15px}.policy b{display:inline-block;background:var(--accent);color:var(--ink);font:500 10px 'IBM Plex Mono',monospace;padding:3px 5px}.policy a{color:#fff}footer{border-top:0;padding-top:30px;padding-bottom:30px;color:var(--muted);gap:25px}footer p{font:11px 'IBM Plex Mono',monospace;margin-right:auto}.detail-page{max-width:900px;margin:auto;padding:95px 40px}.detail-page h1{font-size:72px;line-height:.95}.lede{font-size:18px;color:var(--muted);margin:24px 0 55px}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 65px;border-top:1px solid var(--line)}.facts div{padding:17px 12px 17px 0;border-bottom:1px solid var(--line)}dt{font:10px 'IBM Plex Mono',monospace;color:var(--muted)}dd{font-size:13px;margin:7px 0 0}.detail-page section{border-top:1px solid var(--line);padding:28px 0}.detail-page h2{margin:0 0 15px;font-size:20px}.detail-page ul{padding-left:18px;line-height:1.8}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}.inline-list{display:flex;gap:9px;list-style:none;padding:0!important;flex-wrap:wrap}.inline-list li{background:#e4e5df;padding:4px 7px;font:11px 'IBM Plex Mono',monospace}.ids{line-height:2}.ids code{font:12px 'IBM Plex Mono',monospace}.regions{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.regions div{background:var(--paper);padding:10px;font-size:12px}.regions span{display:block;color:var(--muted);font:10px 'IBM Plex Mono',monospace;margin-top:4px}.detail-page aside{background:var(--accent);padding:18px;font-size:13px;line-height:1.5}.detail-page aside a{color:inherit;font-weight:700}@media(max-width:720px){.site-header,footer{padding:20px}.site-header nav a:not(:last-child){display:none}.hero,.controls,.catalog{padding-left:20px;padding-right:20px}.hero{padding-top:72px;padding-bottom:72px}.hero>p:not(.eyebrow){font-size:16px}.model-grid{grid-template-columns:1fr}.method{padding:65px 20px}.method>div{grid-template-columns:1fr;gap:35px}.method h2{font-size:39px}.detail-page{padding:65px 20px}.detail-page h1{font-size:52px}.facts{grid-template-columns:1fr 1fr}.two-col,.regions{grid-template-columns:1fr}input{width:210px}footer{flex-wrap:wrap}footer p{order:3;width:100%}}
