/* Check the fit. Solid fields, site tokens only, no shadows or gradients. */
.fit{background:var(--white);color:var(--ink)}
.fit-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.fit-heading h2{min-width:0}
.fit-heading .lead,.fit-heading .fit-disclosure{margin-top:0}
.fit-disclosure{font-size:14px;line-height:1.6;color:var(--muted);max-width:58ch;margin-top:18px!important;overflow-wrap:anywhere}
.fit-nojs{margin-top:32px;font-size:16px;color:var(--muted);background:#e3ebe1;padding:16px 18px;border-radius:4px}
.fit-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);margin-top:48px;align-items:start}
.fit-layout[hidden]{display:none}
.fit-input-panel{min-width:0;position:sticky;top:24px}
.fit-label{display:block;font-size:16px;font-weight:600;line-height:1.4}
textarea.fit-input{display:block;width:100%;min-width:0;margin-top:10px;min-height:280px;max-height:60vh;padding:14px 16px;border:2px solid var(--muted);border-radius:4px;background:var(--light);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;resize:vertical;overflow-wrap:anywhere}
textarea.fit-input::placeholder{color:var(--muted);opacity:1}
.fit-count{margin-top:8px;font-size:14px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
.fit-count.is-near{color:var(--ink);font-weight:600}
.fit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.fit-actions .button{min-width:120px;min-height:50px}
.fit-samples{margin-top:32px;display:grid;gap:8px}
.fit-samples-legend{margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--muted)}
.fit-sample{display:block;width:100%;min-height:44px;padding:10px 14px;border-radius:4px;background:var(--light);color:var(--ink);font-size:15px;line-height:1.4;text-align:left;overflow-wrap:anywhere;transition:background .2s,transform .2s}
.fit-sample:hover{background:#dae4d9;transform:translateY(-2px)}
.fit :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.fit-output{min-width:0;background:#e8eee5;padding:clamp(18px,2.6vw,32px);border-radius:4px}
.fit-results-title{font-family:var(--body);font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.fit-results-title:focus{outline:none}
.fit-results-title:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.fit-summary{margin-top:10px;font-size:19px;line-height:1.45;font-weight:600;overflow-wrap:anywhere;max-width:none}
.fit-summary:empty{display:none}
.fit-only{margin-top:8px;font-size:14px;line-height:1.5;color:#405546;max-width:none}
.fit-empty{margin-top:18px;font-size:16px;color:#405546;max-width:none}
.fit-empty[hidden]{display:none}
.fit-groups{margin-top:8px}
.fit-group{margin-top:32px}
.fit-group-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--body);font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.01em}
.fit-group-title::before{content:"";flex:none;width:12px;height:12px;border-radius:2px;border:2px solid #2c634b;background:#2c634b}
.fit-group--none .fit-group-title::before{background:transparent}
.fit-group--disc .fit-group-title::before{background:transparent;border-style:dashed}
.fit-group-name{min-width:0;overflow-wrap:anywhere}
.fit-group-count{font-size:13px;font-weight:600;padding:2px 9px;background:#dce8dc;border-radius:4px;font-variant-numeric:tabular-nums}
.fit-group-desc{margin-top:6px;font-size:14px;line-height:1.55;color:#405546;max-width:none}
.fit-group-empty{margin-top:12px;font-size:14px;color:var(--muted)}
.fit-list,.fit-evidence,.fit-chip-list{list-style:none;margin:0;padding:0}
.fit-item{margin-top:12px;padding:16px 18px;background:var(--white);border-radius:4px;min-width:0}
.fit-req{margin:0;font-family:var(--body);font-size:17px;line-height:1.4;font-weight:600;letter-spacing:0;overflow-wrap:anywhere}
.fit-chips{margin-top:8px}
.fit-chip-list{display:flex;flex-wrap:wrap;gap:6px}
.fit-chip{max-width:100%;padding:3px 9px;background:#dce8dc;border-radius:4px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.fit-group--none .fit-chip,.fit-group--disc .fit-chip{background:#e3ebe1}
.fit-evidence{margin-top:12px}
.fit-ev{padding-top:4px;border-top:1px solid #dae4d9}
.fit-ev+.fit-ev{margin-top:8px}
.fit-ev-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;font-weight:600;max-width:100%;overflow-wrap:anywhere}
.fit-ev-link svg{width:16px;height:16px;flex:none;transition:transform .2s}
.fit-ev-link:hover svg{transform:translate(3px,-3px)}
.fit-ev-claim{margin:0 0 8px;font-size:15px;line-height:1.55;color:#405546;max-width:none;overflow-wrap:anywhere}
.fit-item-note{margin-top:10px;font-size:14px;line-height:1.55;color:var(--muted);max-width:none;overflow-wrap:anywhere}
.fit-copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:32px}
.fit-copy-row[hidden]{display:none}
.fit-copy-row .button{min-height:50px}
.fit-copy-row .text-link{margin-top:0;min-height:44px;overflow-wrap:anywhere}
.fit-copy-msg{flex-basis:100%;margin:0;font-size:14px;line-height:1.5;color:#405546;max-width:none}
.fit-copy-msg:empty{display:none}
textarea.fit-fallback{display:block;width:100%;margin-top:14px;padding:12px 14px;border:2px solid var(--muted);border-radius:4px;background:var(--white);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;resize:vertical}
textarea.fit-fallback[hidden]{display:none}
@media(max-width:1100px){.fit-heading{gap:36px}}
@media(max-width:900px){
.fit-heading{grid-template-columns:1fr;gap:28px}
.fit-layout{grid-template-columns:minmax(0,1fr);margin-top:36px;gap:32px}
.fit-input-panel{position:static}
textarea.fit-input{min-height:240px}
}
@media(max-width:520px){
.fit-heading h2{font-size:35px}
textarea.fit-input{min-height:220px;padding:12px 14px}
.fit-actions .button{flex:1 1 140px}
.fit-output{padding:18px 14px}
.fit-item{padding:14px 14px}
.fit-summary{font-size:18px}
.fit-copy-row .button{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){.fit-sample,.fit-ev-link svg{transition:none}.fit-sample:hover{transform:none}}
