/* ==========================================================================
   WORKBENCH v2 — 把工作台从"表单"变成"仪器"
   载入顺序：legacy <style> → interface.css → workbench.css（本文件最后）
   与 workbench.js 配合；单独移除本文件页面仍可正常工作。
   ========================================================================== */

:root{
  /* 强度色阶：TD / TS / C1 / C2 / C3 / C4 / C5 */
  --wb-td:#5f93a6; --wb-ts:#5ee0c0; --wb-c1:#ffe08a; --wb-c2:#ffc266;
  --wb-c3:#ff9a5c; --wb-c4:#ff6b7d; --wb-c5:#c08bff;
  --wb-screen:#04101a;
  --wb-screen-2:#071a25;
  --wb-line:rgba(160,236,222,.14);
  --wb-line-soft:rgba(160,236,222,.08);
  --wb-dim:#7fa0ad;
  --wb-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wb-tone:#5ee0c0;
  --wb-tone-rgb:94,224,192;
}

/* --------------------------------------------------------------------------
   0. 修正：interface.css 里三处 content:\"\" 写错导致伪元素不生成
   -------------------------------------------------------------------------- */
.fluid-stage::before{content:"" !important}
.fluid-stage::after{content:"" !important}
.or-divider::before,.or-divider::after{content:"" !important}

/* --------------------------------------------------------------------------
   0.1 修正：source-hub / input-column / tool-actions 背景写死深色，
   但文字颜色跟着主题切换——浅色模式下文字变深，在深色面板上"隐身"。
   这三块面板本来就不随主题变色，索性让它们内部的取色变量也固定为深色版本。
   -------------------------------------------------------------------------- */
body:not(.dark-mode) .workbench-shell > .tool-actions,
body:not(.dark-mode) .workspace-grid > .source-hub,
body:not(.dark-mode) .workspace-grid > .input-column{
  --text-main:#e6eef2;
  --text-sub:#91a6b4;
  --accent:#92e3ce;
  --accent-dark:#70c8b1;
  --grid-color:rgba(181,214,227,.12);
  --card-bg:rgba(16,25,34,.94);
  --input-bg:#0c151e;
}

/* --------------------------------------------------------------------------
   1. 栅格：把输出列变成主角
   -------------------------------------------------------------------------- */
.workspace-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:16px}
.workspace-grid > .input-column{position:relative}
.workspace-grid > .output-column{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:0;
  border-color:rgba(148,240,219,.2);
  background:linear-gradient(160deg,rgba(18,31,40,.96),rgba(7,16,22,.96));
  box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04);
  overflow:hidden;
}
.workspace-grid > .output-column::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--wb-tone),rgba(var(--wb-tone-rgb),0) 70%);
  opacity:.85;
  transition:background .4s ease;
}
.output-column > .output-heading{margin:0;padding:20px 22px 14px}
.output-column .column-kicker{letter-spacing:2px}
.output-heading h3{letter-spacing:-.6px}

/* 状态徽标 */
.output-column .result-state{
  gap:9px;padding:8px 11px;
  border-color:var(--wb-line);
  border-radius:999px;
  background:rgba(4,16,22,.7);
  font-family:var(--wb-mono);
  font-size:11px;letter-spacing:1.4px;
}
.output-column .result-state i{
  position:relative;
  width:7px;height:7px;
  background:var(--wb-tone);
  box-shadow:0 0 10px var(--wb-tone);
  animation:wb-beacon 2s ease-in-out infinite;
}
@keyframes wb-beacon{0%,100%{opacity:1}50%{opacity:.3}}

/* --------------------------------------------------------------------------
   2. 控制台（workbench.js 生成）
   -------------------------------------------------------------------------- */
#wb-console{
  position:relative;
  margin:0 14px 14px;
  border:1px solid var(--wb-line);
  border-radius:14px;
  background:
    repeating-linear-gradient(0deg,transparent 0 3px,rgba(160,236,222,.016) 3px 4px),
    linear-gradient(180deg,var(--wb-screen-2),var(--wb-screen) 55%);
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.3);
  overflow:hidden;
}
#wb-console::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:radial-gradient(120% 90% at 82% 0,rgba(var(--wb-tone-rgb),.09),transparent 58%);
  transition:background .45s ease;
}
#wb-console > *{position:relative;z-index:1}

/* 2.1 流水线 */
.wb-pipeline{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 15px 11px;
  border-bottom:1px solid var(--wb-line-soft);
}
.wb-steps{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow:hidden}
.wb-step{
  display:flex;align-items:center;gap:6px;
  flex:none;
  color:#4f6f7c;
  font-family:var(--wb-mono);
  font-size:9.5px;letter-spacing:.8px;
  white-space:nowrap;
  transition:color .25s ease;
}
.wb-step i{
  width:6px;height:6px;border-radius:50%;
  background:#26414c;
  box-shadow:none;
  transition:background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.wb-step + .wb-step::before{
  content:"";
  width:12px;height:1px;
  margin-right:2px;
  background:var(--wb-line-soft);
}
.wb-step.is-done{color:#8fb6c1}
.wb-step.is-done i{background:var(--wb-tone);opacity:.55}
.wb-step.is-active{color:var(--wb-tone)}
.wb-step.is-active i{
  background:var(--wb-tone);
  box-shadow:0 0 0 3px rgba(var(--wb-tone-rgb),.16),0 0 12px var(--wb-tone);
  animation:wb-pulse 1.3s ease-in-out infinite;
}
.wb-step.is-error{color:#ff8a6b}
.wb-step.is-error i{background:#ff8a6b;box-shadow:0 0 10px rgba(255,138,107,.7)}
@keyframes wb-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.45)}}

.wb-telemetry{display:flex;align-items:center;gap:7px;flex:none}
.wb-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 8px;
  border:1px solid var(--wb-line-soft);
  border-radius:5px;
  color:var(--wb-dim);
  background:rgba(8,22,30,.7);
  font-family:var(--wb-mono);
  font-size:9.5px;letter-spacing:.7px;
  white-space:nowrap;
}
.wb-chip b{color:#d8f2ec;font-weight:600}
.wb-chip.is-hot{border-color:rgba(var(--wb-tone-rgb),.36);color:var(--wb-tone)}

.wb-progress{
  position:relative;
  height:2px;
  background:rgba(160,236,222,.07);
  overflow:hidden;
}
.wb-progress i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,rgba(var(--wb-tone-rgb),.35),var(--wb-tone));
  box-shadow:0 0 12px rgba(var(--wb-tone-rgb),.6);
  transition:width .35s ease;
}
.wb-progress.is-indeterminate i{
  width:30% !important;
  animation:wb-slide 1.25s ease-in-out infinite;
}
@keyframes wb-slide{0%{transform:translateX(-110%)}100%{transform:translateX(370%)}}

/* 2.2 读数区 */
.wb-readout{padding:20px 18px 16px;min-height:190px}
.wb-readout-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:16px;
}
.wb-value{display:flex;align-items:baseline;gap:8px;min-width:0}
.wb-value b{
  color:var(--wb-tone);
  font-size:clamp(50px,7vw,74px);
  font-weight:700;
  line-height:.82;
  letter-spacing:-3px;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 34px rgba(var(--wb-tone-rgb),.28);
  transition:color .35s ease;
}
.wb-value span{
  color:var(--wb-dim);
  font-family:var(--wb-mono);
  font-size:13px;letter-spacing:1.4px;
}
.wb-value.is-ghost b{color:#1e3540;text-shadow:none}
.wb-value.is-ghost span{color:#294450}
.wb-badge{
  flex:none;
  display:grid;justify-items:end;gap:5px;text-align:right;
}
.wb-badge strong{
  padding:5px 10px;
  border:1px solid rgba(var(--wb-tone-rgb),.4);
  border-radius:999px;
  color:var(--wb-tone);
  background:rgba(var(--wb-tone-rgb),.1);
  font-size:12px;font-weight:600;letter-spacing:.4px;
  white-space:nowrap;
}
.wb-badge span{
  color:var(--wb-dim);
  font-family:var(--wb-mono);
  font-size:9.5px;letter-spacing:1.1px;
}
.wb-subline{
  display:flex;align-items:center;flex-wrap:wrap;gap:7px;
  margin:-8px 0 16px;
}
.wb-subline .wb-chip{background:rgba(6,20,28,.55)}
.wb-source{
  margin:0 0 15px;
  color:#5d7c89;
  font-family:var(--wb-mono);
  font-size:10px;line-height:1.5;
  overflow-wrap:anywhere;
}

/* 强度尺 */
.wb-scale{margin-top:2px}
.wb-scale-track{
  position:relative;
  height:9px;
  border-radius:3px;
  background:linear-gradient(90deg,
    var(--wb-td) 0 21.25%,
    var(--wb-ts) 21.25% 40%,
    var(--wb-c1) 40% 51.9%,
    var(--wb-c2) 51.9% 60%,
    var(--wb-c3) 60% 70.6%,
    var(--wb-c4) 70.6% 85.6%,
    var(--wb-c5) 85.6% 100%);
  opacity:.34;
  transition:opacity .3s ease;
}
.wb-scale.is-live .wb-scale-track{opacity:.62}
.wb-scale-band{
  position:absolute;top:-2px;bottom:-2px;
  border-radius:3px;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  transition:left .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1);
}
.wb-scale-marker{
  position:absolute;top:-6px;bottom:-6px;
  width:3px;
  margin-left:-1.5px;
  border-radius:2px;
  background:#fff;
  box-shadow:0 0 12px var(--wb-tone),0 0 3px rgba(0,0,0,.6);
  transition:left .5s cubic-bezier(.22,1,.36,1);
}
.wb-scale-ticks{
  position:relative;
  height:13px;
  margin-top:8px;
  color:#4e6c78;
  font-family:var(--wb-mono);
  font-size:8.5px;letter-spacing:.6px;
}
.wb-scale-ticks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.wb-scale-ticks span:first-child{transform:none}
.wb-scale-ticks span:last-child{transform:translateX(-100%)}
.wb-scale-ticks b{color:#5f8593;font-weight:500}

/* 待机小指标 */
.wb-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:18px;
  border:1px solid var(--wb-line-soft);
  border-radius:9px;
  background:var(--wb-line-soft);
  overflow:hidden;
}
.wb-stat{padding:10px 12px;background:rgba(4,14,20,.75);min-width:0}
.wb-stat span{
  display:block;
  color:#4e6c78;
  font-family:var(--wb-mono);
  font-size:8.5px;letter-spacing:1.2px;
}
.wb-stat strong{
  display:block;
  margin-top:5px;
  color:#bcdad3;
  font-family:var(--wb-mono);
  font-size:12px;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* 待机文案 */
.wb-standby{color:var(--wb-dim);font-size:13px;line-height:1.7;margin:0}
.wb-standby b{color:#cfe8e2;font-weight:600}
.wb-error{
  margin:0;
  padding:12px 13px;
  border:1px solid rgba(255,138,107,.34);
  border-left-width:3px;
  border-radius:8px;
  color:#ffc3ae;
  background:rgba(255,117,82,.09);
  font-size:13px;line-height:1.6;
  overflow-wrap:anywhere;
}

/* 2.3 逐张结果 */
.wb-list{border-top:1px solid var(--wb-line-soft)}
.wb-list-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 18px 8px;
  color:#5d7c89;
  font-family:var(--wb-mono);
  font-size:9.5px;letter-spacing:1.4px;
}
.wb-rows{max-height:230px;overflow:auto;padding:0 6px 8px;scrollbar-width:thin;scrollbar-color:#22414c transparent}
.wb-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:8px 12px;
  border-radius:8px;
  cursor:default;
  transition:background .15s ease;
}
.wb-row:hover{background:rgba(var(--wb-tone-rgb),.06)}
.wb-row-time{
  color:#7899a6;
  font-family:var(--wb-mono);
  font-size:10px;letter-spacing:.3px;
  white-space:nowrap;
}
.wb-row-bar{position:relative;height:4px;border-radius:2px;background:rgba(160,236,222,.08);overflow:hidden}
.wb-row-bar i{
  display:block;height:100%;
  width:var(--w,0%);
  border-radius:2px;
  background:var(--tone,var(--wb-ts));
  box-shadow:0 0 8px color-mix(in srgb,var(--tone,var(--wb-ts)) 50%,transparent);
  transition:width .45s cubic-bezier(.22,1,.36,1);
}
.wb-row-val{
  color:#e2f3ef;
  font-family:var(--wb-mono);
  font-size:12px;font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.wb-row-val em{color:#5d7c89;font-style:normal;font-size:9px;margin-left:2px}
.wb-row.is-aggregate{background:rgba(var(--wb-tone-rgb),.07);box-shadow:inset 2px 0 var(--wb-tone)}
.wb-row.is-aggregate .wb-row-time{color:var(--wb-tone)}
.wb-row.is-failed .wb-row-val{color:#ff8a6b}

/* 2.4 原始输出折叠 */
#wb-raw{margin:0 14px 14px;border:1px solid var(--wb-line-soft);border-radius:11px;background:rgba(4,14,20,.55);overflow:hidden}
#wb-raw > summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;
  color:var(--wb-dim);
  cursor:pointer;
  list-style:none;
  font-family:var(--wb-mono);
  font-size:10px;letter-spacing:1.3px;
}
#wb-raw > summary::-webkit-details-marker{display:none}
#wb-raw > summary::after{content:"＋";color:var(--wb-tone);font-size:13px}
#wb-raw[open] > summary::after{content:"－"}
#wb-raw > summary:hover{color:#cfe8e2;background:rgba(var(--wb-tone-rgb),.05)}
#wb-raw #diagnosis-results-container{margin:0;border:0;border-top:1px solid var(--wb-line-soft);border-radius:0;background:transparent}
#wb-raw #diagnosis-results{
  min-height:0;
  max-height:240px;
  border:0;
  background:transparent;
  color:#9fd7c9;
  font-family:var(--wb-mono);
  font-size:11.5px;line-height:1.65;
}
#wb-raw #diagnosis-results::after{display:none}

/* 复制按钮移到读数区标题行 */
.wb-list-head #copy-results-btn{
  position:static !important;
  display:none;
  width:26px;height:26px;
  padding:0;
  place-items:center;
  border:1px solid var(--wb-line-soft) !important;
  border-radius:6px !important;
  background:rgba(8,22,30,.8) !important;
  color:var(--wb-dim) !important;
  box-shadow:none !important;
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.wb-list-head #copy-results-btn[style*="block"]{display:grid !important}
.wb-list-head #copy-results-btn svg{width:14px !important;height:14px !important}
.wb-list-head #copy-results-btn:hover{color:var(--wb-tone) !important;border-color:rgba(var(--wb-tone-rgb),.4) !important}

/* 预览图 */
.output-column #enm-image-preview-container{
  margin:0 14px 14px !important;
  padding:6px;
  border-color:var(--wb-line-soft);
  background:rgba(4,14,20,.5);
}
.output-column #enm-preview-image{max-height:210px;object-fit:contain}

/* 提示文案退到底部 */
.output-column > .output-hint{margin:auto 14px 16px;color:#5d7c89;font-size:12px;line-height:1.6}

/* --------------------------------------------------------------------------
   3. 输入列：让每个动作都有回声
   -------------------------------------------------------------------------- */
.input-column .field-heading label{letter-spacing:.2px}
.input-column .field-heading > span{
  padding:3px 7px;
  border:1px solid var(--grid-color);
  border-radius:5px;
  font-family:var(--wb-mono);
  font-size:10px !important;
  letter-spacing:.8px;
}

.dropzone{
  transition:border-color .2s ease,background .2s ease,transform .18s ease,box-shadow .2s ease !important;
}
.dropzone:hover{transform:translateY(-1px)}
.dropzone.is-dragging{
  border-color:var(--accent) !important;
  border-style:solid !important;
  background:linear-gradient(135deg,rgba(148,240,219,.2),rgba(148,240,219,.07)) !important;
  box-shadow:0 0 0 4px rgba(148,240,219,.12),0 14px 34px rgba(0,0,0,.24);
  transform:scale(1.008);
}
.dropzone.is-dragging .dropzone-icon{transform:translateY(-3px) scale(1.08)}
.dropzone-icon{transition:transform .2s ease}

/* 文件队列 */
.wb-queue{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.wb-queue:empty{display:none}
.wb-file{
  position:relative;
  width:62px;height:62px;
  border:1px solid var(--grid-color);
  border-radius:9px;
  background:rgba(4,14,20,.5);
  overflow:hidden;
  animation:wb-pop .28s cubic-bezier(.22,1.2,.36,1) both;
}
.wb-file img{display:block;width:100%;height:100%;object-fit:cover}
.wb-file span{
  position:absolute;left:0;right:0;bottom:0;
  padding:2px 4px;
  background:linear-gradient(transparent,rgba(0,0,0,.82));
  color:#d9efe9;
  font-family:var(--wb-mono);
  font-size:8px;letter-spacing:.2px;
  text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wb-file button{
  position:absolute;top:3px;right:3px;
  width:18px;height:18px;
  display:grid;place-items:center;
  padding:0;
  border:0;border-radius:50%;
  background:rgba(4,12,18,.82);
  color:#cfe8e2;
  cursor:pointer;
  opacity:0;
  font-size:12px;line-height:1;
  transition:opacity .15s ease,background .15s ease;
}
.wb-file:hover button{opacity:1}
.wb-file button:hover{background:#ff6b7d;color:#12080a}
.wb-file.is-more{
  display:grid;place-items:center;
  color:var(--text-sub);
  font-family:var(--wb-mono);
  font-size:11px;
}
@keyframes wb-pop{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}

/* 链接计数 */
.url-group .field-heading{position:relative}
.wb-linkcount{
  padding:3px 7px;
  border:1px solid rgba(var(--wb-tone-rgb),.32);
  border-radius:5px;
  color:var(--accent);
  background:rgba(148,240,219,.1);
  font-family:var(--wb-mono);
  font-size:10px;letter-spacing:.6px;
}
.url-group textarea{transition:border-color .2s ease,box-shadow .2s ease}
.url-group textarea:focus{box-shadow:0 0 0 3px rgba(148,240,219,.1)}

/* 缩放滑块 */
#average-option-container #zoom-slider{
  appearance:none;-webkit-appearance:none;
  height:5px;border-radius:3px;
  background:linear-gradient(90deg,var(--accent) var(--wb-fill,0%),rgba(160,236,222,.14) var(--wb-fill,0%));
}
#average-option-container #zoom-slider::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;
  width:16px;height:16px;border-radius:50%;
  border:2px solid #07141b;
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(148,240,219,.18);
  cursor:pointer;
  transition:transform .15s ease;
}
#average-option-container #zoom-slider:active::-webkit-slider-thumb{transform:scale(1.18)}
#average-option-container #zoom-slider::-moz-range-thumb{
  width:14px;height:14px;border:2px solid #07141b;border-radius:50%;
  background:var(--accent);cursor:pointer;
}

/* 主按钮 */
.btn-generate{
  position:relative;
  overflow:hidden;
  transition:transform .15s ease,box-shadow .25s ease,filter .2s ease !important;
}
.btn-generate::after{
  content:"";
  position:absolute;top:0;bottom:0;left:-60%;
  width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);
  opacity:0;
}
.btn-generate.is-ready::after{animation:wb-sheen 3.4s ease-in-out infinite;opacity:1}
.btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px rgba(94,222,192,.26) !important}
.btn-generate:active:not(:disabled){transform:translateY(1px)}
.btn-generate:disabled{filter:saturate(.4) brightness(.8);cursor:not-allowed}
@keyframes wb-sheen{0%{left:-60%}55%,100%{left:130%}}

/* 复制反馈 */
#copy-results-btn.is-copied{background:var(--accent) !important;color:#07141b !important}

/* --------------------------------------------------------------------------
   4. 数据源：收紧留白，补上说明
   -------------------------------------------------------------------------- */
.workspace-grid > .source-hub{
  grid-template-columns:minmax(150px,.24fr) minmax(0,1fr);
  column-gap:22px;
  padding:18px 22px 16px;
}
.source-hub-head h3{margin-top:6px}
.wb-source-note{
  margin:9px 0 0;
  color:var(--text-sub);
  font-size:12.5px;line-height:1.65;
}
.source-hub .realtime-typhoon-title{letter-spacing:.2px}
.source-hub #insert-active-typhoon,
.source-hub #retry-active-typhoons,
.source-hub #load-history-typhoon,
.source-hub #insert-history-times{transition:transform .15s ease,filter .2s ease}
.source-hub #insert-active-typhoon:hover:not(:disabled),
.source-hub #load-history-typhoon:hover:not(:disabled),
.source-hub #insert-history-times:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07)}

/* 插入成功的闪光反馈 */
@keyframes wb-flash{
  0%{box-shadow:0 0 0 0 rgba(148,240,219,.5)}
  100%{box-shadow:0 0 0 16px rgba(148,240,219,0)}
}
.wb-flash{animation:wb-flash .7s ease-out}

/* --------------------------------------------------------------------------
   5. 下方大图表：跟着深色仪器语言走
   -------------------------------------------------------------------------- */
.workspace-grid > #wind-chart-container{grid-column:1/-1;margin-top:0 !important}
.wb-rows{max-height:260px}
.workspace-grid > .single-analysis-panel,
#wind-chart-container{
  border-color:var(--wb-line) !important;
  background:linear-gradient(160deg,rgba(16,27,35,.96),rgba(6,15,21,.96)) !important;
}
.workspace-grid > .single-analysis-panel .single-analysis-head h3{
  font-family:var(--wb-mono);
  font-size:12px !important;
  letter-spacing:1.4px;
  color:var(--wb-dim);
}
.workspace-grid > .single-analysis-panel .single-analysis-metric{
  border-color:var(--wb-line-soft);
  background:rgba(4,14,20,.5);
}
.workspace-grid > .single-analysis-panel .single-analysis-metric strong{
  font-family:var(--wb-mono);
  font-variant-numeric:tabular-nums;
  color:var(--wb-tone);
}
#wind-chart-container .chart-toolbar{
  border:1px solid var(--wb-line-soft) !important;
  border-radius:10px;
  background:rgba(4,14,20,.5) !important;
}

/* --------------------------------------------------------------------------
   6. 浅色模式：仪器屏保持深色，但边框要收
   -------------------------------------------------------------------------- */
body:not(.dark-mode) .workspace-grid > .output-column{
  background:linear-gradient(160deg,#10222b,#081319);
  border-color:rgba(20,130,113,.28);
}
body:not(.dark-mode) .output-heading h3,
body:not(.dark-mode) .output-column .column-kicker{color:#e6f4f0}
body:not(.dark-mode) .output-column > .output-hint{color:#8fb0b9}
body:not(.dark-mode) .wb-file span{color:#eef8f5}

/* --------------------------------------------------------------------------
   7. 响应式
   -------------------------------------------------------------------------- */
@media(max-width:1060px){
  .workspace-grid{grid-template-columns:minmax(300px,1fr) minmax(290px,1fr)}
  .wb-telemetry .wb-chip:nth-child(2){display:none}
}
@media(max-width:900px){
  .workspace-grid > .source-hub{grid-template-columns:1fr}
}
@media(max-width:760px){
  .wb-pipeline{flex-wrap:wrap;gap:8px 6px}
  .wb-steps{flex-wrap:wrap;overflow:visible;width:100%;row-gap:6px}
  .wb-step + .wb-step::before{width:7px}
  .wb-readout{padding:17px 15px 14px}
  .wb-value b{font-size:54px;letter-spacing:-2px}
  #wb-console,#wb-raw,.output-column #enm-image-preview-container{margin-left:12px;margin-right:12px}
  .output-column > .output-heading{padding:17px 14px 12px}
  .wb-rows{max-height:200px}
}
@media(max-width:560px){
  .wb-scale-ticks{font-size:7.5px}
  .wb-scale-ticks b{display:none}
  .wb-scale-ticks span:last-child{transform:translateX(-96%)}
}
@media(prefers-reduced-motion:reduce){
  .btn-generate.is-ready::after,.wb-step.is-active i,.output-column .result-state i{animation:none}
  .wb-progress.is-indeterminate i{animation:none;width:100% !important}
}
