/* BioStudio AI — Lumen tone (theme-lumen).
   Light minimal lab: airy whitespace, calm indigo surfaces, hero layout.
   Light-first. Dashboard: js/core/bsx-dashboard.js layout="hero". */

body.theme-lumen,
#os.theme-lumen {
  --bsx-bg: #faf9f7;
  --bsx-surface: rgba(255, 255, 255, 0.78);
  --bsx-surface-2: rgba(255, 255, 255, 0.55);
  --bsx-border: rgba(99, 102, 241, 0.12);
  --bsx-accent: #6366f1;
  --bsx-accent-strong: #4f46e5;
  --bsx-accent-ink: #ffffff;
  --bsx-accent-soft: rgba(99, 102, 241, 0.1);
  --bsx-radius: 20px;
  --bsx-radius-lg: 24px;
  --bsx-shadow: 0 6px 24px rgba(99, 102, 241, 0.08);
  --bsx-shadow-lg: 0 24px 64px rgba(99, 102, 241, 0.14);
  --bsx-blur: blur(22px) saturate(1.25);

  --ink: #2e3148;
  --ink-soft: #7c809c;
  --radius: 20px;
  --taskbar-h: 74px;
  --accent: #6366f1;

  --win-bg: rgba(255, 255, 255, 0.8);
  --win-body-bg: rgba(255, 255, 255, 0.92);
  --win-border: rgba(99, 102, 241, 0.1);
  --win-border-focus: #6366f1;
  --titlebar-bg: rgba(255, 255, 255, 0.6);
  --flyout-bg: rgba(255, 255, 255, 0.88);
  --flyout-border: rgba(99, 102, 241, 0.12);
  --tile-bg: rgba(255, 255, 255, 0.65);
  --tile-hover: rgba(99, 102, 241, 0.1);
  --input-bg: rgba(255, 255, 255, 0.85);
  --input-border: rgba(99, 102, 241, 0.18);

  --taskbar-bg: rgba(255, 255, 255, 0.65);
  --taskbar-border: rgba(99, 102, 241, 0.1);
  --tb-hover: rgba(99, 102, 241, 0.1);
  --tb-active: rgba(99, 102, 241, 0.08);
  --app-btn-hover: rgba(46, 49, 72, 0.06);

  color: var(--ink);
}

#os.wp-lumen,
#os.wp-lumen.dark {
  background:
    radial-gradient(900px 600px at 12% 8%, rgba(99, 102, 241, 0.1), transparent 55%),
    radial-gradient(800px 500px at 88% 20%, rgba(167, 139, 250, 0.08), transparent 50%),
    linear-gradient(165deg, #faf9f7 0%, #f5f3ff 48%, #f8fafc 100%);
}

/* dashboard flourishes — airy hero */
.lum-home .bsx-greeting h1 {
  font-weight: 600;
  letter-spacing: -0.025em;
  color: #2e3148;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}
.lum-home .bsx-greeting p { color: var(--ink-soft); max-width: 42ch; }
.lum-home .bsx-cmd {
  width: min(580px, 100%);
  padding: 16px 22px;
  border-radius: 999px;
  backdrop-filter: var(--bsx-blur);
  -webkit-backdrop-filter: var(--bsx-blur);
}
.lum-home .bsx-cmd:focus-within {
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12), var(--bsx-shadow);
}
.lum-home .bsx-proj, .lum-home .bsw-widget, .lum-home .bsx-app {
  backdrop-filter: var(--bsx-blur);
  -webkit-backdrop-filter: var(--bsx-blur);
}
.lum-home .bsx-proj:hover { transform: translateY(-2px); box-shadow: var(--bsx-shadow-lg); }
.lum-home .bsx-nav-link { border-radius: 999px; padding: 8px 14px; }
.lum-home .bsx-nav-link.active {
  background: rgba(255, 255, 255, 0.85);
  color: var(--bsx-accent-strong);
  box-shadow: var(--bsx-shadow);
}
.lum-home .bsx-nav { padding: 20px clamp(24px, 5vw, 64px); }
.lum-home .bsx-stage { gap: 28px; }
.lum-home[data-layout="hero"] .bsx-view { width: 100%; text-align: left; }
.lum-home .bsw-clock-time { color: var(--bsx-accent-strong); font-weight: 600; }

/* window + dock */
#os.theme-lumen .window-titlebar { border-bottom: 1px solid rgba(99, 102, 241, 0.1); }
#os.theme-lumen .window.focused {
  box-shadow: var(--bsx-shadow-lg), 0 0 0 1px rgba(99, 102, 241, 0.4);
}
#os.theme-lumen .taskbar.bs-dock {
  border-radius: 999px;
  padding: 0 16px;
}
#os.theme-lumen .taskbar.bs-dock .tb-icon-btn,
#os.theme-lumen .taskbar.bs-dock .task-btn { border-radius: 999px; }
#os.theme-lumen .taskbar.bs-dock .taskbar-start {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.4);
}

body.theme-lumen .platform-dialog-overlay {
  background: rgba(99, 102, 241, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
body.theme-lumen .bs-search-overlay {
  background: rgba(99, 102, 241, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#os.theme-lumen input, #os.theme-lumen textarea, #os.theme-lumen select { color-scheme: light; }

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

/* studio apps */
#os.theme-lumen .studio {
  --st-accent: #6366f1;
  --st-ai: #8b5cf6;
  --st-bg: rgba(250, 249, 247, 0.6);
  --st-panel: rgba(255, 255, 255, 0.82);
  --st-line: rgba(99, 102, 241, 0.12);
  --st-line-soft: rgba(99, 102, 241, 0.06);
  --st-ink: #2e3148;
  --st-ink-soft: #7c809c;
}
#os.theme-lumen .st-toolbar,
#os.theme-lumen .st-sidebar,
#os.theme-lumen .st-inspector,
#os.theme-lumen .st-card {
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border-radius: 14px;
}
#os.theme-lumen .st-nav-item.active {
  background: rgba(99, 102, 241, 0.12);
  color: #4f46e5;
}

/* studio AI panel */
#os.theme-lumen .studio-ai-fab {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.35);
}
#os.theme-lumen .studio-ai-panel {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(99, 102, 241, 0.15);
  border-radius: 20px;
  color: var(--ink);
}
#os.theme-lumen .studio-ai-msg.user { background: rgba(99, 102, 241, 0.1); }
#os.theme-lumen .studio-ai-msg.ai { background: #f5f3ff; }
#os.theme-lumen .studio-ai-send {
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

/* OS assistant */
body.theme-lumen .os-ai-fab { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
body.theme-lumen .os-ai-input:focus { border-color: #6366f1; }
body.theme-lumen .os-ai-send,
body.theme-lumen .os-ai-open { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
body.theme-lumen .os-ai-field.needed .os-ai-field-label { color: #6366f1; }
body.theme-lumen .os-ai-field-input:focus { border-color: #6366f1; }
