/* ═══════════════════════════════════════════════════
   Logiware Design Tokens  —  dark default, light opt-in
   ═══════════════════════════════════════════════════ */

:root {
  /* Dark (default) */
  --lw-bg:            #0f1117;
  --lw-surface:       #1a1f2e;
  --lw-elevated:      #1e2433;
  --lw-border:        #2d3748;
  --lw-text:          #e2e8f0;
  --lw-text-strong:   #f1f5f9;
  --lw-text-dim:      #94a3b8;
  --lw-text-muted:    #64748b;
  --lw-accent:        #928edb;
  --lw-accent-hover:  #a9a6e8;
  --lw-code-bg:       #1a1f2e;
  --lw-code-text:     #a5f3fc;
  --lw-blockquote-bg: #1a2a3a;
  --lw-md-link:       #60a5fa;
  --lw-badge-ok-bg:   #1a3a2a;
  --lw-badge-ok-fg:   #4ade80;
  --lw-badge-warn-bg: #2a2a1a;
  --lw-badge-warn-fg: #facc15;
  --lw-badge-info-bg: #1a3a4a;
  --lw-badge-info-fg: #38bdf8;
  --lw-icon-api-bg:   #1a2a4a;
  --lw-icon-dwh-bg:   #1a3a2a;
  --lw-dot-green:     #4ade80;
  --lw-dot-blue:      #38bdf8;
  color-scheme: dark;
}

[data-theme="light"] {
  --lw-bg:            #ffffff;
  --lw-surface:       #f8fafc;
  --lw-elevated:      #f1f5f9;
  --lw-border:        #e2e8f0;
  --lw-text:          #334155;
  --lw-text-strong:   #0f172a;
  --lw-text-dim:      #64748b;
  --lw-text-muted:    #94a3b8;
  --lw-accent:        #6d68c8;
  --lw-accent-hover:  #5d58b8;
  --lw-code-bg:       #f1f5f9;
  --lw-code-text:     #6d28d9;
  --lw-blockquote-bg: #faf5ff;
  --lw-md-link:       #4f46e5;
  --lw-badge-ok-bg:   #dcfce7;
  --lw-badge-ok-fg:   #15803d;
  --lw-badge-warn-bg: #fef9c3;
  --lw-badge-warn-fg: #a16207;
  --lw-badge-info-bg: #e0f2fe;
  --lw-badge-info-fg: #0369a1;
  --lw-icon-api-bg:   #ede9fe;
  --lw-icon-dwh-bg:   #dcfce7;
  --lw-dot-green:     #15803d;
  --lw-dot-blue:      #0369a1;
  color-scheme: light;
}

/* ═══════════════════════════════════════════════════
   Theme Toggle Button
   ═══════════════════════════════════════════════════ */

.lw-toggle {
  background: var(--lw-elevated);
  border: 1px solid var(--lw-border);
  color: var(--lw-text-dim);
  width: 32px; height: 32px;
  border-radius: 8px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  padding: 0;
}
.lw-toggle:hover {
  background: var(--lw-border);
  border-color: var(--lw-accent);
  color: var(--lw-text-strong);
}

/* When inside the always-dark topbar */
.topbar .lw-toggle {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.12);
  color: #94a3b8;
}
.topbar .lw-toggle:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f1f5f9;
}

/* Fixed overlay variant (landing + Scalar pages) */
.lw-toggle-fixed {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 9999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

/* On landing pages (dark bg default), fixed button always visible */

/* Logo: show dark variant by default, swap to light variant in light mode */
.lw-logo-light { display: none; }
[data-theme="light"] .lw-logo-dark  { display: none; }
[data-theme="light"] .lw-logo-light { display: block; }

/* ═══════════════════════════════════════════════════
   Smooth transitions on theme switch
   ═══════════════════════════════════════════════════ */

body {
  transition: background-color 0.15s ease, color 0.15s ease;
}
.section-card, .card, .info-card, .sidebar {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* ═══════════════════════════════════════════════════
   Markdown Body — responds to data-theme
   (overrides github-markdown-css for both modes)
   ═══════════════════════════════════════════════════ */

.markdown-body {
  background: transparent !important;
  color: var(--lw-text) !important;
}
.markdown-body h1, .markdown-body h2, .markdown-body h3,
.markdown-body h4, .markdown-body h5, .markdown-body h6 {
  color: var(--lw-text-strong) !important;
  border-color: var(--lw-border) !important;
}
.markdown-body a { color: var(--lw-md-link) !important; }
.markdown-body code {
  background: var(--lw-code-bg) !important;
  color: var(--lw-code-text) !important;
}
.markdown-body pre {
  background: var(--lw-code-bg) !important;
  border: 1px solid var(--lw-border);
}
.markdown-body pre code { background: transparent !important; }
.markdown-body table {
  border-color: var(--lw-border) !important;
}
.markdown-body table th {
  background: var(--lw-surface) !important;
  color: var(--lw-text-dim) !important;
  border-color: var(--lw-border) !important;
}
.markdown-body table td { border-color: var(--lw-border) !important; }
.markdown-body table tr:nth-child(2n) { background: var(--lw-surface) !important; }
.markdown-body blockquote {
  border-color: var(--lw-accent) !important;
  background: var(--lw-blockquote-bg) !important;
  color: var(--lw-text-dim) !important;
}
.markdown-body hr { border-color: var(--lw-border) !important; }
.markdown-body img { border-radius: 6px; }
