.cfg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 10px; margin-bottom: 14px; }
.opt-group { margin-bottom: 14px; }
.opt-group label.lbl { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin-bottom:6px; }
.seg { display:inline-flex; border:1px solid var(--line2); border-radius:8px; overflow:hidden; flex-wrap:wrap; }
.seg button { background:var(--bg2); color:var(--muted); border:none; padding:8px 14px; cursor:pointer; font-size:12.5px; border-right:1px solid var(--line); }
.seg button:last-child { border-right:none; }
.seg button.on { background:var(--accent2); color:#04141f; font-weight:600; }
.model-pick { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.model-pick .mp { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 18px; cursor:pointer; text-align:center; min-width:120px; }
.model-pick .mp:hover { border-color:var(--accent2); }
.model-pick .mp.on { border-color:var(--accent); background:#1b2c4b; }
.model-pick .mp .code { font-size:20px; font-weight:700; color:var(--accent); }
.model-pick .mp .cap { font-size:11px; color:var(--muted); }
.sld-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; margin:12px 0; background:#0f1b30; }
.sld-wrap svg { display:block; min-width:680px; }
.gen-summary { display:flex; gap:10px; flex-wrap:wrap; margin:6px 0 14px; }
.recommend { color:var(--good); font-size:10px; font-weight:700; text-transform:uppercase; }
.selpill { color:var(--accent); font-size:10px; font-weight:700; text-transform:uppercase; }
details.bomcat { border:1px solid var(--line); border-radius:8px; margin-bottom:8px; }
details.bomcat > summary { padding:9px 12px; cursor:pointer; font-weight:600; font-size:13px; background:var(--bg2); }
details.bomcat .pad { padding:4px 12px 10px; }
