/* Starfield-inspired layout: flat sections, an instrument readout and one clear flow. */
.analysis-heading { margin-bottom:24px; align-items:flex-end; }
.analysis-heading .eyebrow { color:var(--text-sub); font-size:12px; letter-spacing:2px; }
.analysis-heading h1 { font-size:32px; font-weight:450; letter-spacing:1px; }
.analysis-heading h1 > span { display:none; }
.workbench-shell,
.workbench-shell .workspace-grid > .input-column {
  --text-main:#eceeea; --text-sub:#a5afb9; --accent:#e2ddcc; --accent-dark:#c9c2af;
  --card-bg:#172029; --input-bg:#101820; --grid-color:rgba(207,220,230,.17);
  --wb-line:rgba(207,220,230,.18); --wb-line-soft:rgba(207,220,230,.1);
  --wb-dim:#a5afb9; --wb-tone:#e2ddcc; --wb-tone-rgb:226,221,204;
}
.workbench-shell { color:var(--text-main); background:#141d26; border:1px solid var(--wb-line); border-radius:4px; box-shadow:none; padding:0; overflow:visible; }
.workbench-shell :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.workbench-topline { align-items:center; min-height:60px; padding:12px 24px; border-bottom:1px solid var(--wb-line); }
.workbench-topline .model-badge { padding:0; border:0; border-radius:0; background:none; color:var(--text-main); font:500 12px/1.5 var(--wb-mono); letter-spacing:2px; }
.workbench-topline .model-badge i { display:none; }
.workbench-topline .tool-actions { display:flex; flex-wrap:wrap; gap:18px; margin:0; padding:0; }
.workbench-topline .action-link { gap:6px; padding:6px 0; border:0; border-radius:0; background:none; color:var(--text-sub); font-size:13px; font-weight:400; box-shadow:none; }
.workbench-topline .action-link svg { width:15px; height:15px; margin:0; }
.workbench-topline .action-link:hover { color:var(--text-main); background:none; box-shadow:inset 0 -1px var(--accent); }
.workbench-shell .workspace-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:0; align-items:stretch; }
.workbench-shell .workspace-grid > .input-column,
.workbench-shell .workspace-grid > .output-column { min-width:0; padding:28px; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--text-main); }
.workbench-shell .workspace-grid > .input-column { grid-column:1; border-right:1px solid var(--wb-line); }
.workbench-shell .workspace-grid > .output-column { grid-column:2; display:flex; flex-direction:column; background:#101820; }
.workbench-shell .output-column::before { display:none; }
.workbench-shell .field-heading { margin-bottom:14px; }
.workbench-shell .field-heading label,
.workbench-shell .column-kicker,
.workbench-shell #average-option-container .options-heading { color:var(--text-main); font-size:14px; line-height:1.4; letter-spacing:1px; font-weight:500; }
.workbench-shell .field-heading > span { padding:0; border:0; background:none; color:var(--text-sub); font:12px/1.4 var(--wb-mono); letter-spacing:.4px; }
.workbench-shell .file-group { margin-bottom:20px; }
.workbench-shell .dropzone { display:grid !important; grid-template-columns:32px minmax(0,1fr); gap:12px; padding:20px 16px; min-height:116px; border:1px dashed #73818d !important; border-radius:2px !important; background:rgba(223,231,233,.025) !important; box-shadow:none; transform:none; }
.workbench-shell .dropzone:hover,.workbench-shell .dropzone.is-dragging { border-color:var(--accent) !important; background:rgba(226,221,204,.07) !important; box-shadow:none; transform:none; }
.workbench-shell .dropzone-icon { width:32px; height:32px; flex-basis:32px; background:none; color:var(--accent); border-radius:0; }
.workbench-shell .dropzone-copy strong { font-size:16px; font-weight:450; }
.workbench-shell .dropzone-copy small { color:var(--text-sub); font-size:12px; }
.workbench-shell .dropzone-cta { display:none; }
.workbench-shell .or-divider { margin:0 0 16px; }
.workbench-shell .or-divider::before,.workbench-shell .or-divider::after { background:var(--wb-line-soft); }
.workbench-shell .url-group { margin-bottom:0; }
.workbench-shell .url-group > .url-label { flex-wrap:wrap; gap:8px; margin:0; }
.workbench-shell .url-label .action-link { margin-bottom:8px; color:var(--text-sub); background:none; border-color:var(--wb-line); border-radius:2px; }
.workbench-shell .url-group textarea { min-height:88px !important; padding:12px !important; border:1px solid var(--wb-line) !important; border-radius:2px !important; background:#101820 !important; color:var(--text-main); font:13px/1.65 var(--wb-mono); box-shadow:none; }
.workbench-shell .url-group textarea:focus { border-color:var(--accent) !important; box-shadow:none; }
.workbench-shell .url-group textarea::placeholder { color:#84919d; }
.workbench-shell .source-hub { display:block; margin:16px 0 24px; padding:0; border:0; border-bottom:1px solid var(--wb-line); border-radius:0; background:none; box-shadow:none; }
.workbench-shell .source-hub > summary { display:flex; align-items:center; gap:10px; padding:14px 0; list-style:none; cursor:pointer; color:var(--text-main); }
.workbench-shell .source-hub > summary::-webkit-details-marker { display:none; }
.workbench-shell .source-hub > summary::after { content:"+"; margin-left:auto; color:var(--accent); font:20px/1 var(--wb-mono); }
.workbench-shell .source-hub[open] > summary::after { content:"−"; }
.workbench-shell .source-hub > summary h3 { margin:0; color:var(--text-main); font-size:14px; font-weight:450; letter-spacing:0; }
.workbench-shell .source-hub > summary > span { color:var(--text-sub); font:11px var(--wb-mono); }
.workbench-shell .source-hub .realtime-typhoon-panel { display:block; margin:0; padding:4px 0 18px; border:0; border-radius:0; background:none; box-shadow:none; }
.workbench-shell .source-hub .realtime-typhoon-head { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:12px; }
.workbench-shell .realtime-typhoon-title { font-size:14px; font-weight:450; letter-spacing:0; color:var(--text-main); }
.workbench-shell .realtime-typhoon-status { font-size:12px; line-height:1.6; color:var(--text-sub); overflow-wrap:anywhere; }
.workbench-shell .realtime-typhoon-controls { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.workbench-shell #active-typhoon-select { grid-column:1/-1; width:100%; min-width:0; }
.workbench-shell .source-hub :is(select,input[type=text],input[type=url]) { color:var(--text-main); background:#101820; border:1px solid var(--wb-line); border-radius:2px; min-height:40px; padding:9px 10px; font-size:13px; }
.workbench-shell .source-hub button { min-height:40px; padding:9px 12px; border:1px solid var(--wb-line); border-radius:2px; background:rgba(226,221,204,.09); color:var(--text-main); box-shadow:none; font-size:13px; font-weight:500; letter-spacing:0; transform:none; }
.workbench-shell .source-hub button:disabled { opacity:.45; cursor:not-allowed; }
.workbench-shell .source-hub button:hover:not(:disabled) { background:rgba(226,221,204,.16); transform:none; }
.workbench-shell .history-source { margin-top:18px; border-color:var(--wb-line); }
.workbench-shell .history-source > summary { flex-wrap:wrap; justify-content:flex-start; padding-top:14px; gap:8px; }
.workbench-shell .history-source > summary::after { margin-left:auto; }
.workbench-shell .history-source > summary .realtime-typhoon-title { font-size:14px; }
.workbench-shell .history-source > summary .realtime-typhoon-status { font-size:12px; }
.workbench-shell .history-typhoon-loader { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:10px; }
.workbench-shell .history-typhoon-loader label { min-width:0; }
.workbench-shell .history-typhoon-loader label > span { font-size:12px; }
.workbench-shell .history-typhoon-loader button { grid-column:1/-1; }
.workbench-shell .history-typhoon-loader :is(input,select) { width:100%; min-width:0; }
.workbench-shell .history-url-preview { overflow-wrap:anywhere; font-size:11px; color:var(--text-sub); }
.workbench-shell .history-time-list { background:#101820; border-color:var(--wb-line); border-radius:2px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.workbench-shell #average-option-container { margin:0 0 24px !important; }
.workbench-shell #average-option-container .options-heading { padding-bottom:12px; border-bottom:1px solid var(--wb-line); }
.workbench-shell #average-option-container .option-row { gap:12px; padding:12px 0; min-height:60px; border-color:var(--wb-line-soft); }
.workbench-shell #average-option-container .option-row strong { font-size:14px; font-weight:450; }
.workbench-shell #average-option-container .option-row small { font-size:12px; line-height:1.5; }
.workbench-shell #average-option-container .option-row input[type=checkbox] { appearance:none; width:18px !important; height:18px; border:1px solid #87949e; border-radius:2px; background:transparent; flex:0 0 18px; }
.workbench-shell #average-option-container .option-row input[type=checkbox]::after { width:10px; height:10px; margin:3px; border-radius:0; background:transparent; transform:none; }
.workbench-shell #average-option-container .option-row input[type=checkbox]:checked { border-color:var(--accent); background:transparent; }
.workbench-shell #average-option-container .option-row input[type=checkbox]:checked::after { background:var(--accent); transform:none; }
.workbench-shell #average-option-container .zoom-control { padding:14px 0 0; border-color:var(--wb-line-soft); }
.workbench-shell #average-option-container .zoom-control label { font-size:13px !important; }
.workbench-shell #average-option-container .zoom-control label b { color:var(--text-main); padding:0; border-radius:0; background:none; font:12px var(--wb-mono); }
.workbench-shell #average-option-container #zoom-slider { appearance:none; height:3px; border-radius:0; background:linear-gradient(90deg,var(--accent) var(--wb-fill,0%),#34424d var(--wb-fill,0%)); }
.workbench-shell #average-option-container #zoom-slider::-webkit-slider-thumb { width:12px; height:16px; border:1px solid #f5f2e7; border-radius:1px; background:var(--accent); box-shadow:none; }
.workbench-shell #average-option-container #zoom-slider::-moz-range-thumb { width:12px; height:16px; border:1px solid #f5f2e7; border-radius:1px; background:var(--accent); }
.workbench-shell .button-group { margin:0; padding:0; gap:8px; }
.workbench-shell .btn-generate { min-height:46px; padding:12px 16px !important; border:1px solid var(--accent) !important; border-radius:2px !important; background:var(--accent) !important; color:#172029 !important; font-size:15px !important; font-weight:600; box-shadow:none !important; transform:none; }
.workbench-shell .btn-generate::after { display:none; }
.workbench-shell .btn-generate:hover:not(:disabled) { box-shadow:none !important; transform:none; }
.workbench-shell .btn-generate:disabled { opacity:.42; filter:none; transform:none; }
.workbench-shell .btn-help { width:46px; min-height:46px; border:1px solid var(--wb-line); border-radius:2px !important; background:none; color:var(--text-main); box-shadow:none; }
.workbench-shell .research-note { margin:14px 0 0; font-size:11px; line-height:1.7; color:var(--text-sub); }
.workbench-shell .progress-container { margin-top:12px !important; height:2px; border-radius:0; }
.workbench-shell .output-heading { align-items:flex-start; margin:0 0 24px; padding:0; }
.workbench-shell .output-heading h3 { margin:10px 0 0; color:var(--text-main); font-size:24px; font-weight:450; letter-spacing:1px; }
.workbench-shell .result-state { gap:8px; padding:4px 0; border:0; border-radius:0; background:none; color:var(--text-sub); font:11px/1.5 var(--wb-mono); letter-spacing:1px; }
.workbench-shell .result-state i { width:5px; height:5px; color:var(--wb-tone); background:currentColor; box-shadow:none; animation:none; }
.workbench-shell .output-column > .output-hint { margin:auto 0 0; padding-top:20px; color:var(--text-sub); font-size:12px; line-height:1.7; }
#wb-console { margin:0 0 20px; border:0; border-radius:0; background:none; box-shadow:none; min-width:0; }
#wb-console::after { display:none; }
.wb-pipeline { flex-wrap:wrap; gap:12px; padding:0 0 16px; border-bottom:1px solid var(--wb-line); }
.wb-steps { gap:14px; }
.wb-step { gap:6px; color:#8996a1; font-size:12px; letter-spacing:0; }
.wb-step + .wb-step::before { display:none; }
.wb-step i { width:4px; height:4px; background:#5c6974; }
.wb-step.is-active,.wb-step.is-done { color:var(--text-main); }
.wb-step.is-active i,.wb-step.is-done i { background:var(--wb-tone); box-shadow:none; animation:none; }
.wb-telemetry { gap:10px; }
.wb-chip { padding:0; border:0; border-radius:0; background:none; color:var(--text-sub); font:12px/1.6 var(--wb-mono); }
.wb-chip b { color:var(--text-main); font-weight:500; }
.wb-progress { background:none; }
.wb-progress i { background:var(--wb-tone); box-shadow:none; }
.wb-readout { padding:32px 0 4px; min-width:0; }
.wb-readout-top { align-items:center; flex-wrap:wrap; gap:20px; margin:0 0 28px; }
.wb-value { position:relative; align-items:baseline; justify-content:center; width:190px; height:190px; flex:0 0 190px; padding-top:67px; border:1px solid #66737e; border-radius:50%; }
.wb-value::before { content:""; position:absolute; inset:8px; border:1px solid var(--wb-line); border-radius:50%; pointer-events:none; }
.wb-value::after { content:""; position:absolute; width:5px; height:5px; top:-3px; left:calc(50% - 2px); background:var(--wb-tone); }
.wb-value b { color:var(--text-main); font:400 66px/.95 var(--wb-mono); letter-spacing:-4px; text-shadow:none; }
.wb-value span { color:var(--text-sub); font:12px var(--wb-mono); letter-spacing:1px; }
.wb-value.is-ghost b,.wb-value.is-ghost span { color:#7f8b94; }
.wb-badge { justify-items:start; text-align:left; gap:8px; min-width:0; }
.wb-badge strong { padding:0; border:0; border-radius:0; background:none; color:var(--wb-tone); font-size:14px; font-weight:500; white-space:normal; }
.wb-badge span { color:var(--text-sub); font-size:12px; letter-spacing:0; }
.wb-subline { gap:10px 20px; margin:0 0 12px; }
.wb-subline .wb-chip { background:none; }
.wb-source { color:var(--text-sub); font:12px/1.6 var(--wb-mono); margin:0 0 22px; }
.wb-scale { margin:0 0 26px; }
.wb-scale-track { height:4px; border-radius:0; opacity:.5; }
.wb-scale.is-live .wb-scale-track { opacity:.85; }
.wb-scale-marker { box-shadow:none; }
.wb-scale-ticks { height:16px; margin-top:10px; color:var(--text-sub); font:10px var(--wb-mono); }
.wb-scale-ticks b { color:var(--text-sub); font-weight:400; }
.wb-standby { color:var(--text-sub); font-size:14px; line-height:1.8; }
.wb-standby b { color:var(--text-main); font-weight:500; }
.wb-stats { margin-top:26px; padding-top:18px; border:0; border-top:1px solid var(--wb-line); border-radius:0; background:none; gap:14px; }
.wb-stat { padding:0; background:none; }
.wb-stat span { color:var(--text-sub); font:11px var(--wb-mono); letter-spacing:1px; }
.wb-stat strong { margin-top:8px; color:var(--text-main); font:12px/1.6 var(--wb-mono); white-space:normal; overflow-wrap:anywhere; }
.wb-error { border:0; border-left:2px solid #d69580; border-radius:0; color:#efbdab; background:rgba(216,137,104,.06); font-size:14px; }
.wb-list { margin-top:26px; border-color:var(--wb-line); }
.wb-list-head { padding:16px 0 8px; color:var(--text-sub); font-size:12px; letter-spacing:0; }
.wb-rows { padding:0; }
.wb-row { gap:14px; padding:12px 8px; border-bottom:1px solid var(--wb-line-soft); border-radius:0; cursor:pointer; }
.wb-row-time { color:var(--text-sub); font-size:11px; }
.wb-row-bar { height:2px; }
.wb-row-bar i { box-shadow:none; }
.wb-row-val { font-size:14px; }
.wb-row-val em { font-size:10px; color:var(--text-sub); }
#wb-raw { margin:0 0 16px; border:0; border-top:1px solid var(--wb-line); border-bottom:1px solid var(--wb-line); border-radius:0; background:none; }
#wb-raw > summary { padding:14px 0; color:var(--text-sub); font-size:12px; letter-spacing:0; }
#wb-raw #diagnosis-results-container { border:0; }
#wb-raw .result-label { display:none; }
#wb-raw #diagnosis-results { padding:12px 0 !important; color:var(--text-sub); font-size:12px; line-height:1.8; overflow:auto; }
.wb-list-head #copy-results-btn { border-radius:2px !important; background:none !important; }
.workbench-shell .output-column #enm-image-preview-container { margin:0 0 20px !important; padding:8px; border:1px solid var(--wb-line); border-radius:2px; background:#0b1118; }
.workbench-shell #enm-preview-image { border-radius:0; }
.wb-file { border-radius:2px; }
.wb-file button { width:22px; height:22px; border-radius:2px; opacity:1; }
.workbench-shell .workspace-grid > :is(.single-analysis-panel,#wind-chart-container) { grid-column:1/-1; margin:0 !important; padding:28px; border:0 !important; border-top:1px solid var(--wb-line) !important; border-radius:0; background:#101820 !important; box-shadow:none; }
.workbench-shell .single-analysis-panel .single-analysis-head h3 { color:var(--text-main); font-size:18px !important; font-weight:450; letter-spacing:0; }
.workbench-shell .single-analysis-panel .single-analysis-metric { border:0; border-top:1px solid var(--wb-line); border-radius:0; background:none; padding:16px 0; }
.workbench-shell .single-analysis-panel .single-analysis-metric strong { color:var(--text-main); font:18px var(--wb-mono); }
.workbench-shell .single-analysis-panel .single-analysis-image { border-radius:2px; }
.workbench-shell :is(.single-report-btn,.export-chart-btn,#wind-chart-mode) { border-radius:2px; box-shadow:none; }
.workbench-shell #wind-chart-container .chart-toolbar { background:none !important; border:0 !important; padding:0 0 20px; }
@media(max-width:1000px) {
  .workbench-shell .workspace-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .workbench-shell .workspace-grid > .input-column,.workbench-shell .workspace-grid > .output-column { padding:22px; }
  .wb-value { width:160px; height:160px; flex-basis:160px; padding-top:55px; }
  .wb-value b { font-size:56px; }
}
@media(max-width:760px) {
  .analysis-heading h1 { font-size:28px; }
  .workbench-topline { padding:14px 18px; flex-wrap:wrap; gap:10px; }
  .workbench-topline .tool-actions { width:100%; gap:0; justify-content:space-between; }
  .workbench-shell .workspace-grid { grid-template-columns:minmax(0,1fr); }
  .workbench-shell .workspace-grid > .input-column,.workbench-shell .workspace-grid > .output-column { grid-column:1; padding:22px 18px; border:0; }
  .workbench-shell .workspace-grid > .output-column { border-top:1px solid var(--wb-line); }
  .workbench-shell .output-heading h3 { font-size:22px; }
  .workbench-shell .workspace-grid > :is(.single-analysis-panel,#wind-chart-container) { padding:22px 18px; }
  .workbench-shell .source-hub #retry-active-typhoons { grid-column:auto; }
  .wb-readout-top { justify-content:flex-start; gap:24px; }
  .wb-steps { flex-wrap:wrap; width:auto; gap:12px; }
  .wb-pipeline { row-gap:10px; }
  .wb-step { font-size:12px; }
  .wb-stats { gap:10px; }
  .wb-scale-ticks b { display:none; }
}
