/* ===== SWEEP ANALYZER ===== */
#view-sweep{padding:24px 32px 80px;gap:20px;}
.sw-wrap{display:flex;flex-direction:column;gap:18px;max-width:1400px;margin:0 auto;width:100%;}

.sw-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.sw-card h3{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--text);}
.sw-card h3 .sub{color:var(--dim);font-weight:400;font-size:11px;margin-left:8px;}

.sw-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.sw-row.tight{gap:6px;}
.sw-grow{flex:1;min-width:120px;}

.sw-input,.sw-select{background:var(--surface2);border:1px solid var(--border2);color:var(--text);
  border-radius:8px;padding:8px 10px;font-size:12px;font-family:inherit;outline:none;}
.sw-input:focus,.sw-select:focus{border-color:var(--red-dim);}
.sw-input.mono,.sw-select.mono{font-family:'JetBrains Mono',monospace;}

.sw-btn{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:8px;
  padding:8px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:.15s;white-space:nowrap;}
.sw-btn:hover{border-color:var(--red-dim);color:#fff;}
.sw-btn.primary{background:var(--red-dim);border-color:var(--red-dim);color:#fff;}
.sw-btn.primary:hover{background:var(--red);}
.sw-btn.sm{padding:4px 8px;font-size:11px;}
.sw-btn:disabled{opacity:.4;cursor:not-allowed;}

.sw-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.sw-summary .cell{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.sw-summary .k{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);}
.sw-summary .v{display:block;font-size:15px;font-weight:600;margin-top:3px;color:var(--text);}
.sw-summary .v.hl{color:var(--red);}

.sw-warn{background:var(--red-soft);border:1px solid var(--red-dim);color:var(--red);
  border-radius:8px;padding:8px 12px;font-size:12px;}

.sw-plots{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.sw-plot{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;height:320px;}
.sw-plot.tall{grid-column:1/-1;height:460px;}
@media (max-width:900px){.sw-plots{grid-template-columns:1fr;}}

.sw-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 16px;}
.sw-f{display:flex;flex-direction:column;gap:4px;}
.sw-f label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);}
.sw-f .pair{display:flex;gap:6px;}
.sw-f .pair input{width:100%;}

.sw-reco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end;}
@media (max-width:700px){.sw-reco-grid{grid-template-columns:1fr;}}
.sw-slider label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:4px;}
.sw-slider input[type=range]{width:100%;}
.sw-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}

.sw-table-wrap{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:10px;}
table.sw-table{width:100%;border-collapse:collapse;font-size:11.5px;}
table.sw-table th,table.sw-table td{padding:6px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);}
table.sw-table th{position:sticky;top:0;background:var(--surface2);cursor:pointer;user-select:none;color:var(--muted);
  font-weight:500;text-transform:uppercase;font-size:10px;letter-spacing:.06em;z-index:1;}
table.sw-table th:hover{color:#fff;}
table.sw-table td:first-child,table.sw-table th:first-child{text-align:left;}
table.sw-table tbody tr{cursor:pointer;}
table.sw-table tbody tr:hover{background:var(--surface2);}
table.sw-table tbody tr.sel{background:var(--red-soft);}
table.sw-table tbody tr.sel td{color:#fff;}
.sw-tag{display:inline-block;padding:1px 6px;border-radius:5px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;}
.sw-tag.par{background:rgba(255,140,0,.15);color:#ffce2e;}
.sw-tag.base{background:rgba(0,200,255,.13);color:#ff280c;}

.sw-sel-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;}
@media (max-width:900px){.sw-sel-grid{grid-template-columns:1fr;}}
.sw-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px;}
.sw-kv .k{color:var(--dim);}
.sw-kv .v{color:var(--text);font-family:'JetBrains Mono',monospace;text-align:right;}
.sw-params{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);
  background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px;
  max-height:220px;overflow:auto;white-space:pre;}

.sw-artifact{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
@media (max-width:700px){.sw-artifact{grid-template-columns:1fr;}}
.sw-artifact figure{margin:0;}
.sw-artifact img{width:100%;border-radius:8px;border:1px solid var(--border);display:block;background:#000;}
.sw-artifact figcaption{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;}
.sw-empty{color:var(--dim);font-size:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

.sw-copybar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sw-muted{color:var(--dim);font-size:11px;}
.sw-spin{display:inline-block;width:13px;height:13px;border:2px solid var(--border2);border-top-color:var(--red);
  border-radius:50%;animation:swspin .7s linear infinite;vertical-align:-2px;}
@keyframes swspin{to{transform:rotate(360deg);}}

/* Subtle dark-red gateway to the sweep lab */
.sweep-link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:7px 14px;
  font-size:13px;font-weight:500;color:#8a2e2e;background:transparent;border:1px solid #5a2222;
  border-radius:8px;cursor:pointer;transition:.18s;opacity:.72;}
.sweep-link-btn:hover{opacity:1;color:#c0473f;border-color:#7d2c2c;background:rgba(120,30,30,.08);}
.run-log{margin-top:10px;max-height:240px;overflow:auto;background:rgba(0,0,0,.3);border:1px solid var(--border);
  border-radius:8px;padding:10px;font-family:"JetBrains Mono",monospace;font-size:11.5px;line-height:1.5;
  color:var(--text-dim);white-space:pre-wrap;}