/* Source-based model fit finder; isolated from other pages. */
.fit-page .fit-hero{padding-bottom:27px}
.fit-page .fit-scope{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.fit-page .fit-scope span{border:1px solid #d6dcd7;border-radius:999px;padding:6px 11px;font-size:12px;color:#47594b;background:#fff}
.fit-page .fit-shell{display:grid;grid-template-columns:minmax(260px,.77fr) minmax(0,1.5fr);gap:22px;align-items:start}
.fit-filter-panel,.fit-results-panel{border:1px solid #dedfda;background:#fff;border-radius:16px;padding:22px;min-width:0}
.fit-panel-head h2,.fit-result-head h2{font-size:clamp(21px,2.3vw,28px);letter-spacing:-.035em;line-height:1.2;margin:0 0 8px}
.fit-panel-head p,.fit-sort-note,.fit-disclaimer{font-size:13px;color:#626f67;line-height:1.6}
.fit-fields{display:grid;grid-template-columns:1fr;gap:13px;margin:20px 0}
.fit-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:750;color:#243229}
.fit-field select,.fit-field input{box-sizing:border-box;width:100%;height:43px;border:1px solid #d8ded8;border-radius:9px;background:#fbfcfa;padding:9px;font:inherit;font-size:13px;color:#132219}
.fit-field :focus-visible,.fit-page button:focus-visible,.fit-page a:focus-visible{outline:2px solid #1c69ba;outline-offset:2px}
.fit-reset-area button{border-radius:9px;padding:10px 14px;border:1px solid #d7ded8;background:#f6f9f6;color:#1e3529;font-weight:700;cursor:pointer}
.fit-disclaimer{margin:16px 0 9px;border-top:1px solid #ebefec;padding-top:16px}
.fit-trail{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}
.fit-trail a,.fit-method a{color:#0b6751}
.fit-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
.fit-result-head h2 span{font-size:15px;color:#566861;font-weight:500}
#fit-summary{font-size:12px;color:#4c6558}
.fit-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
.fit-card{border:1px solid #dfe6df;border-radius:12px;padding:16px;background:#fcfdfa;min-width:0}
.fit-card h3{font-size:16px;line-height:1.25;letter-spacing:-.025em;margin:0 0 6px;overflow-wrap:anywhere}
.fit-card h3 a{color:#12251c;text-decoration:none}
.fit-card h3 a:hover,.fit-card .fit-card-links a:hover{text-decoration:underline}
.fit-developer{font-size:12px;color:#68766d;margin:0 0 15px}
.fit-card dl{margin:0;display:grid;gap:7px}
.fit-card dl div{display:grid;grid-template-columns:minmax(76px,.75fr) minmax(0,1.25fr);gap:7px;font-size:12px;border-bottom:1px solid #e8eee8;padding-bottom:5px}
.fit-card dt{color:#617066}
.fit-card dd{margin:0;overflow-wrap:anywhere;font-weight:600}
.fit-card .fit-memory{margin:14px 0 12px}
.fit-memory-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}
.fit-memory-top strong{color:#173e48}
.fit-memory-track{height:7px;border-radius:999px;background:#e1e9e5;overflow:hidden}
.fit-memory-fill{display:block;background:linear-gradient(90deg,#0c86c5,#24aaa4);height:100%;border-radius:999px;max-width:100%}
.fit-card-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:12px;font-size:12px;font-weight:700}
.fit-card-links a{color:#116153}
#fit-more{display:block;margin:20px auto 0;border-radius:9px;background:#172923;color:#fff;border:1px solid #172923;padding:11px 23px;cursor:pointer;font-weight:700}
#fit-more[hidden]{display:none}
.fit-method h2{font-size:clamp(22px,2.8vw,30px);margin:10px 0 16px}
.fit-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}
.fit-method-grid>div{background:#fff;border:1px solid #dfe3de;border-radius:12px;padding:18px}
.fit-method h3{font-size:16px;margin:0 0 9px}
.fit-method p{font-size:13px;line-height:1.7;color:#536259}
.fit-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fit-faq details{border:1px solid #dce3de;border-radius:10px;padding:14px;background:#fff}
.fit-faq summary{font-size:14px;font-weight:700;cursor:pointer}
.fit-faq details p{margin-bottom:0}
@media(max-width:950px){.fit-page .fit-shell{grid-template-columns:1fr}.fit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-reset-area{align-self:end}}
@media(max-width:680px){.fit-page .fit-results,.fit-method-grid,.fit-faq,.fit-fields{grid-template-columns:1fr}.fit-filter-panel,.fit-results-panel{padding:16px}.fit-result-head{display:block}}
@media(prefers-reduced-motion:reduce){.fit-page *{scroll-behavior:auto!important}}
