/* BioStudio AI — Vector tone (theme-vector).
   Dense dark HUD: compact chrome, sharp edges, keyboard-first editorial layout.
   Dark-first. Dashboard: js/core/bsx-dashboard.js layout="editorial". */

body.theme-vector,
#os.theme-vector {
  --bsx-bg: #0a0c10;
  --bsx-surface: #111318;
  --bsx-surface-2: #171a21;
  --bsx-border: #252a35;
  --bsx-accent: #38bdf8;
  --bsx-accent-strong: #7dd3fc;
  --bsx-accent-ink: #0a0c10;
  --bsx-accent-soft: rgba(56, 189, 248, 0.1);
  --bsx-radius: 8px;
  --bsx-radius-lg: 10px;
  --bsx-shadow: none;
  --bsx-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.6);
  --bsx-blur: none;
  --bsx-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;

  --ink: #e4e8ef;
  --ink-soft: #7a8494;
  --radius: 8px;
  --taskbar-h: 62px;
  --shell-scale: 0.94;
  --window-titlebar-h: 34px;
  --accent: #38bdf8;

  --win-bg: #111318;
  --win-body-bg: #0d0f14;
  --win-border: var(--bsx-border);
  --win-border-focus: #38bdf8;
  --titlebar-bg: #0f1116;
  --flyout-bg: #111318;
  --flyout-border: var(--bsx-border);
  --tile-bg: #171a21;
  --tile-hover: rgba(56, 189, 248, 0.1);
  --input-bg: #0a0c10;
  --input-border: #2a3040;

  --taskbar-bg: rgba(10, 12, 16, 0.96);
  --taskbar-border: var(--bsx-border);
  --tb-hover: rgba(56, 189, 248, 0.12);
  --tb-active: rgba(56, 189, 248, 0.08);
  --app-btn-hover: rgba(255, 255, 255, 0.06);

  color: var(--ink);
}

#os.wp-vector,
#os.wp-vector.dark {
  background:
    linear-gradient(rgba(56, 189, 248, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56, 189, 248, 0.03) 1px, transparent 1px),
    linear-gradient(180deg, #0a0c10 0%, #06080b 100%);
  background-size: 24px 24px, 24px 24px, 100% 100%;
}

/* dashboard flourishes — dense editorial */
.vec-home .bsx-greeting h1 { font-weight: 550; letter-spacing: -0.03em; font-size: clamp(1.5rem, 3vw, 2rem); }
.vec-home .bsx-greeting p,
.vec-home .bsx-sec-title,
.vec-home .bsx-nav-link,
.vec-home .bsw-widget-title,
.vec-home .bsw-stat-label {
  font-family: var(--bsx-mono);
  font-size: 12px;
}
.vec-home .bsx-nav-link { text-transform: lowercase; }
.vec-home .bsx-nav-link::before { content: ">"; margin-right: 5px; color: var(--bsx-accent); opacity: 0.7; }
.vec-home .bsx-nav-link.active { color: var(--bsx-accent); background: var(--bsx-accent-soft); }
.vec-home .bsx-app { position: relative; overflow: hidden; }
.vec-home .bsx-app::after {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 2px;
  background: var(--bsx-accent);
  opacity: 0;
  transition: opacity 0.12s ease;
}
.vec-home .bsx-app:hover::after { opacity: 1; }
.vec-home .bsx-app:hover { transform: none; }
.vec-home .bsx-proj-sub { font-family: var(--bsx-mono); font-size: 10.5px; }
.vec-home .bsw-clock-time { font-family: var(--bsx-mono); font-weight: 500; }
.vec-home .bsx-nav { padding: 12px clamp(16px, 3vw, 40px); }
.vec-home .bsx-cmd { padding: 10px 14px; }

/* window chrome — HUD focus line */
#os.theme-vector .window-titlebar { border-bottom: 1px solid var(--bsx-border); }
#os.theme-vector .window.focused .window-titlebar { box-shadow: inset 0 2px 0 var(--bsx-accent); }
#os.theme-vector .window-title-text { font-family: var(--bsx-mono); font-size: 12px; }
#os.theme-vector .taskbar.bs-dock { border-radius: 10px; }
#os.theme-vector .tray-clock { font-family: var(--bsx-mono); font-size: 12px; }

body.theme-vector .platform-dialog-overlay { background: rgba(4, 5, 8, 0.7); }

#os.theme-vector input, #os.theme-vector textarea, #os.theme-vector select { color-scheme: dark; }
#os.theme-vector .field, #os.theme-vector input[type="text"],
#os.theme-vector textarea, #os.theme-vector select {
  background: var(--input-bg);
  border-color: var(--input-border);
  color: var(--ink);
}

#os.theme-vector :focus-visible,
body.theme-vector :focus-visible {
  outline: 2px solid var(--bsx-accent);
  outline-offset: 1px;
}

/* studio apps — compact */
#os.theme-vector .studio {
  --st-accent: #38bdf8;
  --st-ai: #7dd3fc;
  --st-bg: #0d0f14;
  --st-panel: #111318;
  --st-line: #252a35;
  --st-line-soft: rgba(56, 189, 248, 0.08);
  --st-ink: #e4e8ef;
  --st-ink-soft: #7a8494;
  font-size: 12.5px;
}
#os.theme-vector .st-toolbar { padding: 6px 10px; }
#os.theme-vector .st-sidebar { width: 200px; }
#os.theme-vector .st-tbtn { padding: 5px 9px; font-size: 12px; border-radius: 6px; }
#os.theme-vector .st-nav-item.active {
  background: rgba(56, 189, 248, 0.12);
  color: #7dd3fc;
  box-shadow: inset 2px 0 0 var(--bsx-accent);
}

/* studio AI panel */
#os.theme-vector .studio-ai-fab {
  background: #38bdf8;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(56, 189, 248, 0.35);
}
#os.theme-vector .studio-ai-panel {
  background: #111318;
  border-color: #252a35;
  border-radius: 10px;
  color: var(--ink);
}
#os.theme-vector .studio-ai-head { font-family: var(--bsx-mono); font-size: 12px; }
#os.theme-vector .studio-ai-msg.user { background: rgba(56, 189, 248, 0.12); }
#os.theme-vector .studio-ai-msg.ai { background: #171a21; }
#os.theme-vector .studio-ai-send { background: #38bdf8; border-radius: 6px; }

/* OS assistant */
body.theme-vector .os-ai-fab { background: #38bdf8; border-radius: 8px; }
body.theme-vector .os-ai-input:focus { border-color: #38bdf8; }
body.theme-vector .os-ai-send,
body.theme-vector .os-ai-open { background: #38bdf8; }
body.theme-vector .os-ai-field.needed .os-ai-field-label { color: #38bdf8; }
body.theme-vector .os-ai-field-input:focus { border-color: #38bdf8; }
