/* /models list (renewal guide 04 P03). Every selector is scoped to .ml; tokens and components come from base.css. */
.ml .ph--data{padding-block:var(--v-s7) var(--v-s6)}
.ml .ph h1{max-width:none}
.ml .ml-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:var(--v-s6) 0 0;border:1px solid var(--v-border);border-radius:var(--v-r-card);background:var(--v-surface);overflow:hidden}
.ml .ml-stats>div{padding:var(--v-s4) var(--v-s5);border-left:1px solid var(--v-hair)}
.ml .ml-stats>div:first-child{border-left:0}
.ml .ml-stats dt{font:500 var(--fs-micro)/var(--lh-label) var(--v-mono);color:var(--v-dim)}
.ml .ml-stats dd{margin:var(--v-s1) 0 0;font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:650;letter-spacing:-.015em;color:var(--v-text);font-variant-numeric:tabular-nums}
.ml .ml-stats dd small{display:block;margin-top:2px;font:400 var(--fs-small)/var(--lh-data) var(--v-font);letter-spacing:0;color:var(--v-muted)}
.ml .ml-snote{max-width:72ch}
.ml .ml-tool{display:flex;flex-direction:column;gap:var(--v-s4);margin-bottom:var(--v-s5)}
.ml .ml-search{width:100%;max-width:640px;min-width:0}
.ml .ml-sbrow{display:flex;align-items:stretch;gap:var(--v-s3)}
.ml .ml-sbrow .search-bar{flex:1 1 auto;min-width:0;min-height:48px}
.ml .ml-fbtn{display:none;flex:none;gap:var(--v-s2)}
.ml .ml-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--v-s4) var(--v-s5)}
.ml .ml-fg{display:grid;gap:var(--v-s2);min-width:0}
.ml .ml-fl{font-size:var(--fs-small);font-weight:600;color:var(--v-text)}
.ml .ml-filters .field{min-width:0}
.ml .ml-filters select{min-width:216px}
.ml .ml-seg,.ml .ml-tool .seg{flex-wrap:wrap}
.ml .ml-tool .seg button{min-height:40px;display:inline-flex;align-items:center;gap:var(--v-s2)}
.ml .ml-layout{margin-left:auto}
.ml .ml-n{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--v-r-control);background:var(--v-surface);font:500 var(--fs-tag)/1 var(--v-mono);color:var(--v-dim);font-variant-numeric:tabular-nums}
.ml .seg [aria-pressed=true] .ml-n,.ml .tabs [aria-selected=true] .ml-n{background:var(--v-hair);color:var(--v-text)}
.ml .ml-tabs [role=tab]{display:inline-flex;align-items:center;gap:var(--v-s2);white-space:nowrap}
.ml .ml-fhead,.ml .ml-fdone,.ml .ml-scrim{display:none}
.ml .ml-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--v-s2)}
.ml .ml-chip{position:relative;cursor:pointer;background:transparent;color:var(--v-text);border-color:var(--v-control-border)}
.ml .ml-chip::after{content:"";position:absolute;inset:-6px -2px}
.ml .ml-chip:hover{border-color:var(--v-text)}
.ml .ml-clear{min-height:44px;padding:0 var(--v-s2);border:0;background:none;color:var(--v-link);font-size:var(--fs-small);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ml .ml-fcount{min-width:20px}
.ml .ml-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--v-s2) var(--v-s4);margin:0 0 var(--v-s5)}
.ml .ml-count{font-size:var(--fs-small);line-height:var(--lh-data);color:var(--v-muted)}
.ml .ml-count b{color:var(--v-text);font-weight:600;font-variant-numeric:tabular-nums}
.ml #ml-results:focus{outline:none}
.ml .ml-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.ml .ml-card{gap:var(--v-s3)}
.ml .ml-card:hover{border-color:var(--v-control-border);background:var(--v-raised)}
.ml .ml-card:has(.card-link:focus-visible){outline:2px solid var(--v-link);outline-offset:3px}
.ml .ml-ti{min-width:0;font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:650;letter-spacing:-.015em;overflow-wrap:anywhere}
.ml .ml-pub{margin-top:calc(var(--v-s1)*-1);font:500 var(--fs-micro)/var(--lh-label) var(--v-mono);color:var(--v-dim)}
.ml .ml-av{font-size:var(--fs-small);line-height:var(--lh-data);color:var(--v-muted)}
.ml .ml-av:empty{display:none}
.ml .ml-av b{color:var(--v-text);font-weight:600}
.ml .ml-plat{display:flex;flex-wrap:wrap;gap:var(--v-s1) var(--v-s4);font-size:var(--fs-small);line-height:var(--lh-data);color:var(--v-text)}
.ml .ml-plat>span{display:inline-flex;align-items:center;gap:6px}
.ml .ml-plat .ic{width:16px;height:16px;color:var(--v-link)}
.ml .ml-plat .dim{color:var(--v-dim)}
.ml .ml-meas{display:flex;flex-direction:column;gap:2px;padding:var(--v-s3) var(--v-s4);border:1px solid var(--v-hair);border-radius:var(--v-r-control);background:var(--v-bg)}
.ml .ml-meas .k{font:600 var(--fs-micro)/var(--lh-label) var(--v-mono);color:var(--v-dim)}
.ml .ml-meas b{font-size:var(--fs-body);line-height:var(--lh-h3);font-weight:650;color:var(--v-text)}
.ml .ml-meas .c{font-size:var(--fs-micro);line-height:var(--lh-label);color:var(--v-muted)}
.ml .ml-vn{min-width:0;font-size:var(--fs-small);line-height:var(--lh-data);color:var(--v-muted)}
.ml .ml-card .mc-f{align-items:flex-start}
.ml .ml-card .go{flex:none;min-height:24px}
.ml .ml-tbl .ml-sub{display:block;margin-top:2px;font:400 var(--fs-micro)/var(--lh-label) var(--v-font);color:var(--v-dim)}
.ml .ml-tbl td:first-child a b{color:var(--v-text)}
.ml .ml-tbl td:first-child a:hover b{color:var(--v-link)}
.ml .ml-th{all:unset;display:inline-flex;align-items:center;gap:4px;min-height:44px;cursor:pointer;font:inherit;color:inherit}
.ml .ml-th:focus-visible{outline:2px solid var(--v-link);outline-offset:2px}
.ml .ml-tbl th[aria-sort=ascending] .ml-th::after{content:" \2191"}
.ml .ml-tbl th[aria-sort=descending] .ml-th::after{content:" \2193"}
.ml .ml-tbl th[aria-sort]::after{content:none}
.ml .ml-tbl td b{color:var(--v-text)}
.ml .ml-pager{justify-content:flex-start;gap:var(--v-s4)}
.ml .ml-empty{padding:var(--v-s8) var(--v-s5);border:1px dashed var(--v-border);border-radius:var(--v-r-card);text-align:center}
.ml .ml-empty p{max-width:56ch;margin:var(--v-s2) auto var(--v-s5);color:var(--v-muted)}
.ml .ml-empty .row-wrap{justify-content:center}
.ml .ml-keysec{border-top:1px solid var(--v-hair)}
.ml .ml-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--v-gap);margin:var(--v-s5) 0 var(--v-s4)}
.ml .ml-key dt{margin-bottom:var(--v-s2)}
.ml .ml-key dd{margin:0;font-size:var(--fs-small);line-height:var(--lh-data);color:var(--v-muted)}
body.ml-lock{overflow:hidden}
@media (max-width:1023px){.ml .ml-key{grid-template-columns:repeat(2,minmax(0,1fr))}
.ml .ml-layout{margin-left:0}
}@media (max-width:767px){.ml .ph--data{padding-block:var(--v-s6) var(--v-s5)}
.ml .ml-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.ml .ml-stats>div:nth-child(odd){border-left:0}
.ml .ml-stats>div:nth-child(n+3){border-top:1px solid var(--v-hair)}
.ml .ml-key{grid-template-columns:minmax(0,1fr)}
.ml .ml-fbtn{display:inline-flex}
.ml .ml-search{max-width:none}
.ml .ml-filters{display:none}
.ml .ml-filters.is-open{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;position:fixed;z-index:var(--z-overlay);top:0;right:0;bottom:0;width:min(440px,100%);
    padding:var(--v-card-pad);overflow:auto;border-left:1px solid var(--v-border);background:var(--v-surface);box-shadow:var(--sh-3)}
.ml .ml-filters.is-open .ml-fhead{display:flex;align-items:center;min-height:44px;padding-right:56px;font-size:var(--fs-h3)}
.ml .ml-filters.is-open .ml-fdone{display:block;margin-top:auto;padding-top:var(--v-s3)}
.ml .ml-filters.is-open .ml-fdone .btn{width:100%}
.ml .ml-filters.is-open .ml-layout{margin-left:0}
.ml .ml-filters select{min-width:0;width:100%}
.ml .ml-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:calc(var(--z-overlay) - 1);background:rgba(0,0,0,.6)}
.ml .ml-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ml .ml-tabs::-webkit-scrollbar{display:none}
.ml .ml-card .mc-f{flex-wrap:wrap}
}