.catalog-provider-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0; }
.model-provider-sections { display: grid; gap: 2rem; }
.model-provider-group { min-width: 0; }
.model-provider-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.model-provider-heading h2,.model-provider-heading h3 { font-size: .95rem; letter-spacing: -.02em; }
.model-provider-heading > span { font-size: .65rem; color: var(--dim); flex-shrink: 0; }
.provider-model-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; }
.model-provider-more { margin-top: .35rem; }
.model-provider-more > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.75rem; padding: .6rem .25rem; color: var(--blue); font-size: .72rem; cursor: pointer; list-style: none; }
.model-provider-more > summary::-webkit-details-marker { display: none; }
.model-provider-more > summary > span:last-child { display: inline-flex; align-items: center; gap: .35rem; color: var(--dim); font-size: .65rem; flex-shrink: 0; }
.model-provider-more > summary .icon { width: .85rem; transform: rotate(90deg); }
.model-provider-more[open] > summary .icon { transform: rotate(-90deg); }
.model-provider-more[open] > summary { margin-bottom: .5rem; }
.picker-provider-group + .picker-provider-group { margin-top: 1.25rem; }
.picker-provider-group .model-provider-heading { padding: .5rem .25rem; margin: 0; }
.picker-provider-group .model-provider-heading h3 { font-size: .75rem; color: var(--muted); }
.model-picker-list { padding-right: .4rem; scrollbar-width: thin; scrollbar-color: var(--dim) transparent; }
.model-picker .search-field { display: flex; align-items: center; gap: .6rem; }
.model-picker .search-field input { flex: 1; }
@media(min-width:768px) { .provider-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(min-width:1280px) { .provider-model-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
.catalog-provider-pills .button { font-size: .72rem; }
.catalog-provider-pills .button.primary:hover { background: var(--blue); color: var(--bg); }
.catalog-provider-select { min-width: 0; width: 100%; }
.catalog-provider-select select { color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: .65rem; min-height: 44px; width: 100%; padding: .6rem .8rem; font-size: .75rem; }
.catalog-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; margin: 0 0 1rem; color: var(--muted); font-size: .72rem; }
#model-grid.model-provider-sections { gap: 2rem; }
.model-card.version-card { min-width: 0; display: flex; flex-direction: column; padding: 1rem; }
.version-heading { display: flex; align-items: flex-start; gap: .65rem; }
.version-heading > div { min-width: 0; flex: 1; }
.version-heading .model-mark { width: 2rem; height: 2rem; font-size: 1.35rem; border-radius: .6rem; }
.version-heading .badge { flex-shrink: 0; margin-top: .15rem; }
.version-card h2 { font-size: .9rem; line-height: 1.4; letter-spacing: -.025em; margin: 0 0 .15rem; overflow-wrap: anywhere; }
.version-heading .subtle { font-size: .65rem; }
.version-card > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .72rem; line-height: 1.65; min-height: 0; margin: .8rem 0; }
.model-card.version-card .model-capabilities { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .35rem; font-size: .6rem; color: var(--muted); margin: auto 0 .65rem; padding-top: 0; }
.model-capabilities > span { background: var(--surface); border: 1px solid var(--line-soft); border-radius: .3rem; padding: .25rem .45rem; }
.version-card footer { gap: .5rem; margin-top: 0; padding-top: .35rem; }
.version-card footer > span { font-size: .65rem; }
.version-price { min-width: 0; display: flex; flex-direction: column; gap: .2rem; overflow-wrap: anywhere; }
.version-price b { font-weight: 500; }
.version-price small { max-width: 13rem; line-height: 1.45; }
.catalog-price-detail { padding: 1rem; margin: 1rem 0; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.catalog-price-detail > b { display: block; margin-bottom: .5rem; }
.catalog-price-detail p:last-child { margin-bottom: 0; }
.version-actions { display: flex; align-items: center; gap: .5rem; }
.version-card footer .text-link { border: 0; background: transparent; min-height: 44px; padding: .3rem; font-size: .65rem; color: var(--muted); }
.version-card footer .icon-button { min-width: 44px; min-height: 44px; }
.catalog-credit-guide { margin: 0 0 1rem; border-bottom: 1px solid var(--line); font-size: .75rem; color: var(--muted); }
.catalog-credit-guide summary { min-height: 44px; padding: .6rem 0; cursor: pointer; color: var(--text); }
.catalog-credit-guide summary > span { display: block; margin-top: .25rem; font-size: .7rem; color: var(--muted); }
.catalog-credit-guide > div { max-width: 48rem; padding: .5rem 0 1rem; line-height: 1.7; }
.catalog-credit-guide p { margin: 0 0 .75rem; }
.catalog-credit-guide ol { padding-left: 1.25rem; margin: .75rem 0; }
.catalog-credit-guide li + li { margin-top: .4rem; }
.catalog-credit-guide .catalog-demo-note { margin-bottom: 0; color: var(--text); }
@media(min-width:768px) { .catalog-credit-guide summary > span { display: inline; margin: 0 0 0 .75rem; } }
.catalog-more { grid-column: 1/-1; display: flex; flex-direction: column; align-items: center; gap: .8rem; margin: 1rem 0; }
.catalog-more > span { font-size: .7rem; color: var(--muted); }
.catalog-note { margin-top: 1.5rem; }
.catalog-detail h2 { margin: 1rem 0 .5rem; overflow-wrap: anywhere; }
.catalog-detail p { font-size: .8rem; margin-bottom: 1rem; }
.catalog-detail > .button { margin-top: 1rem; }
.composer .model-selector { min-width: 0; min-height: 44px; max-width: calc(100% - 52px); }.selected-model-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.composer-bottom > div { flex-shrink: 0; }
@media(min-width:768px) { .catalog-provider-select { width: auto; max-width: 12rem; flex: 0 1 12rem; }.library-controls { flex-wrap: wrap; }.library-controls .search-field { flex: 1 1 14rem; max-width: none; } }
