.sofa-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sofa-lead small{display:block;font-size:15px;font-weight:600;margin-bottom:6px}
.sofa-page select{display:block;width:100%;font:inherit;color:var(--text);background:white;border:1px solid #aabfc4;border-radius:8px;padding:12px;margin-top:8px;min-height:48px}
.sofa-presets{display:flex;flex-wrap:wrap;gap:8px}.sofa-presets button{width:auto;padding:10px;font-size:14px;background:white;border:1px solid var(--border);color:var(--accent)}
.sofa-result{border-top:4px solid var(--accent)}.sofa-lead{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;color:var(--accent);line-height:1.4;margin:10px 0}
.sofa-error{color:#922924}.sofa-error:empty{margin:0}.sofa-diagram{margin:16px 0;background:white}
.sofa-diagram svg{width:100%;height:auto;display:block;aspect-ratio:420/400}.sofa-diagram figcaption{font-size:14px;line-height:1.8}
.sofa-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sofa-metrics div{background:#f0f8f6;padding:10px;border-radius:8px}.sofa-metrics dt{font-size:13px}.sofa-metrics dd{margin:4px 0 0;font-weight:750;font-size:19px}
.sofa-status{display:inline-block;font-size:14px;background:#e5f4ef;color:#075b4d;padding:6px 10px;border-radius:20px}.sofa-status[data-status=tight]{background:#fff0d4;color:#77450b}.sofa-status[data-status=overflow]{background:#fce8e6;color:#922924}
.sofa-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.sofa-candidates button{display:block;background:white;border:1px solid var(--border);color:var(--text);text-align:left;padding:12px;line-height:1.8;font-weight:400}.sofa-candidates button[aria-pressed=true]{border:2px solid var(--accent);padding:11px;background:#f0f8f6}.sofa-candidates strong,.sofa-candidates small{display:block}
.sofa-comparison{border-block:1px solid var(--border);padding:12px 0;margin-top:18px}.sofa-comparison p{margin:6px 0}.sofa-copy{max-width:850px;margin:32px auto}.sofa-copy section{margin-block:28px}.sofa-size-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none}.sofa-size-list li{border-bottom:1px solid var(--border);padding:12px 0}.sofa-size-list strong{display:block}.sofa-copy a{overflow-wrap:anywhere}
@media(max-width:760px){.sofa-workspace{grid-template-columns:1fr}.sofa-candidates{grid-template-columns:1fr}.sofa-page .panel{padding:16px}}
