/* Offline-safe font stack — no external requests */
:root{
  --font-grotesk: 'Space Grotesk', 'Segoe UI', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --font-mono-raw: 'JetBrains Mono', 'Cascadia Code', 'Fira Code', 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
  --font-serif-raw: 'Playfair Display', 'Georgia', 'Times New Roman', serif;
}

:root {
  --bg: #0a0e1a;
  --bg2: #0f1525;
  --bg3: #141b30;
  --bg4: #1a2240;
  --border: rgba(99,157,255,0.12);
  --border2: rgba(99,157,255,0.22);
  --text: #e8edf8;
  --text2: #8b9bbf;
  --text3: #4a5a7a;
  --accent: #4f8ef7;
  --accent2: #7c5fe6;
  --accent3: #00d4aa;
  --accent4: #f7724f;
  --accent5: #f7c94f;
  --accent6: #e84f7e;
  --glow: rgba(79,142,247,0.15);
  --font: var(--font-grotesk);
  --mono: var(--font-mono-raw);
  --serif: var(--font-serif-raw);
  --radius: 12px;
  --radius-lg: 20px;
  --heading-from: #ffffff;
  --nav-bg: rgba(10,14,26,0.85);
  --grid-line: rgba(79,142,247,0.03);
  --shadow: rgba(0,0,0,0.4);
  --code-bg: var(--bg3);
  color-scheme: dark;
}

/* ===== LIGHT THEME =====
   Accents stay identical across themes so badges, charts and the
   isolation lab keep their semantic colour coding. Only surfaces,
   text and separators invert. */
[data-theme="light"] {
  --bg: #ffffff;
  --bg2: #f5f7fb;
  --bg3: #eaeef7;
  --bg4: #dfe5f2;
  --border: rgba(30,64,124,0.14);
  --border2: rgba(30,64,124,0.26);
  --text: #0f1729;
  --text2: #47566f;
  --text3: #5b6880;
  --accent: #2563c9;
  --accent2: #6d4fd6;
  --accent3: #00795f;
  --accent4: #b8411c;
  --accent5: #8a6300;
  --accent6: #c9245a;
  --glow: rgba(37,99,201,0.10);
  --heading-from: #0b1226;
  --nav-bg: rgba(255,255,255,0.88);
  --grid-line: rgba(37,99,201,0.045);
  --shadow: rgba(15,23,41,0.10);
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }

/* ===== GRID BACKGROUND ===== */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
}

/* ===== NAV ===== */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: var(--nav-bg);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
}
.nav-logo {
  font-family: var(--mono);
  font-size: 0.85rem;
  color: var(--accent);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-logo span { color: var(--text2); }
.nav-links {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
}
.nav-links a {
  color: var(--text2);
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all 0.2s;
  white-space: nowrap;
}
.nav-links a:hover { color: var(--accent); background: var(--glow); }
.nav-tag {
  font-family: var(--mono);
  font-size: 0.7rem;
  color: var(--accent3);
  background: color-mix(in srgb, var(--accent3) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent3) 28%, transparent);
  padding: 3px 8px;
  border-radius: 4px;
}

/* ===== HERO ===== */
.hero {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 2rem 4rem;
  overflow: hidden;
}
.hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}
.orb1 { width: 600px; height: 600px; background: rgba(79,142,247,0.12); top: -150px; left: -100px; }
.orb2 { width: 400px; height: 400px; background: rgba(124,95,230,0.1); bottom: 0; right: -100px; }
.orb3 { width: 300px; height: 300px; background: rgba(0,212,170,0.07); top: 50%; left: 50%; transform: translate(-50%,-50%); }

.hero-eyebrow {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--accent3);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--accent3);
  opacity: 0.4;
}
h1 {
  font-family: var(--serif);
  font-size: clamp(3rem, 8vw, 6.5rem);
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, var(--heading-from) 30%, var(--accent) 70%, var(--accent2) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub {
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  color: var(--text2);
  max-width: 600px;
  margin: 1.2rem auto 2.5rem;
  font-weight: 300;
}
.hero-stats {
  display: flex;
  gap: 2rem;
  justify-content: center;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.stat {
  text-align: center;
}
.stat-num {
  font-family: var(--serif);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
}
.stat-label {
  font-size: 0.75rem;
  color: var(--text3);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 4px;
}
.hero-cta {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.btn {
  padding: 12px 28px;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-primary {
  background: var(--accent);
  color: #fff;
}
.btn-primary:hover { background: #3a7ae8; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(79,142,247,0.35); }
.btn-outline {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border2);
}
.btn-outline:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-1px); }

.scroll-hint {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 0.7rem;
  color: var(--text3);
  animation: bounce 2s infinite;
}
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ===== SECTIONS ===== */
section {
  position: relative;
  z-index: 1;
  padding: 5rem 2rem;
  max-width: 1300px;
  margin: 0 auto;
}
.section-header {
  text-align: center;
  margin-bottom: 3.5rem;
}
.section-label {
  font-family: var(--mono);
  font-size: 0.7rem;
  color: var(--accent);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.section-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.8rem;
}
.section-desc {
  color: var(--text2);
  font-size: 1rem;
  max-width: 600px;
  margin: 0 auto;
}
.divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border2), transparent);
  margin: 0;
}

/* ===== UNIVERSE MAP ===== */
.universe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.universe-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.5rem;
  cursor: pointer;
  transition: all 0.25s;
  text-align: center;
}
.universe-card:hover {
  border-color: var(--accent);
  background: var(--bg3);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(79,142,247,0.15);
}
.universe-card.active {
  border-color: var(--accent);
  background: rgba(79,142,247,0.08);
}
.universe-icon {
  font-size: 2.2rem;
  margin-bottom: 0.75rem;
  display: block;
}
.universe-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--text);
  margin-bottom: 0.3rem;
}
.universe-count {
  font-family: var(--mono);
  font-size: 0.7rem;
  color: var(--accent);
}

/* ===== ENCYCLOPEDIA ===== */
.search-bar-wrap {
  position: relative;
  margin-bottom: 2rem;
}
.search-bar {
  width: 100%;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: var(--radius);
  padding: 14px 20px 14px 48px;
  font-family: var(--font);
  font-size: 1rem;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
}
.search-bar:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(79,142,247,0.1); }
.search-bar::placeholder { color: var(--text3); }
.search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text3);
  font-size: 1.1rem;
}

.filter-tags {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.filter-tag {
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text2);
  font-family: var(--font);
  transition: all 0.2s;
}
.filter-tag:hover { border-color: var(--accent2); color: var(--accent2); }
.filter-tag.active { background: var(--accent2); color: #fff; border-color: var(--accent2); }

.db-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}
.db-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  transition: all 0.25s;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.db-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.db-card:hover {
  transform: translateY(-3px);
  border-color: var(--border2);
  box-shadow: 0 16px 48px rgba(0,0,0,0.3);
}
.db-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.db-logo {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.db-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.badge {
  font-family: var(--mono);
  font-size: 0.65rem;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.badge-type { background: rgba(79,142,247,0.15); color: #7aafff; border: 1px solid rgba(79,142,247,0.25); }
.badge-acid { background: rgba(0,212,170,0.12); color: #00d4aa; border: 1px solid rgba(0,212,170,0.25); }
.badge-noac { background: rgba(247,114,79,0.12); color: #f7724f; border: 1px solid rgba(247,114,79,0.25); }
.badge-cloud { background: rgba(124,95,230,0.12); color: #b09af0; border: 1px solid rgba(124,95,230,0.25); }
.badge-popular { background: rgba(247,201,79,0.12); color: #f7c94f; border: 1px solid rgba(247,201,79,0.25); }
.db-name {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--text);
  margin-bottom: 0.2rem;
}
.db-tagline {
  font-size: 0.82rem;
  color: var(--text2);
  margin-bottom: 1rem;
  line-height: 1.5;
}
.db-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  font-size: 0.75rem;
}
.db-meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.db-meta-label { color: var(--text3); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 1px; }
.db-meta-value { color: var(--text); font-weight: 500; }

.db-card-expanded {
  display: none;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.db-card.open .db-card-expanded { display: block; }
.db-detail-section { margin-bottom: 0.75rem; }
.db-detail-label { font-size: 0.7rem; color: var(--text3); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.db-detail-content { font-size: 0.83rem; color: var(--text2); line-height: 1.6; }
.db-use-cases { display: flex; flex-wrap: wrap; gap: 6px; }
.use-case-tag {
  font-size: 0.72rem;
  padding: 3px 10px;
  border-radius: 20px;
  background: var(--bg3);
  border: 1px solid var(--border);
  color: var(--text2);
}
.db-links { display: flex; gap: 8px; margin-top: 1rem; flex-wrap: wrap; }
.db-link {
  font-size: 0.75rem;
  padding: 5px 12px;
  border-radius: 6px;
  background: var(--bg3);
  border: 1px solid var(--border);
  color: var(--accent);
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}
.db-link:hover { border-color: var(--accent); background: rgba(79,142,247,0.1); }

/* ===== COMPARISON MATRIX ===== */
.matrix-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--bg2);
}
.matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  min-width: 900px;
}
.matrix-table th {
  background: var(--bg3);
  padding: 14px 16px;
  text-align: left;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text3);
  font-weight: 600;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}
.matrix-table th:hover { color: var(--accent); }
.matrix-table th.sorted { color: var(--accent); }
.matrix-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
  color: var(--text2);
}
.matrix-table tr:last-child td { border-bottom: none; }
.matrix-table tr:hover td { background: var(--bg3); }
.matrix-db-name {
  font-weight: 600;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.check { color: var(--accent3); }
.cross { color: var(--accent4); }
.partial { color: var(--accent5); }
.matrix-filters {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* ===== DECISION WIZARD ===== */
.wizard-wrap {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  max-width: 700px;
  margin: 0 auto;
}
.wizard-step { display: none; }
.wizard-step.active { display: block; }
.wizard-question {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 0.5rem;
}
.wizard-hint {
  font-size: 0.85rem;
  color: var(--text2);
  margin-bottom: 1.5rem;
}
.wizard-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.wizard-option {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--font);
  font-size: 0.9rem;
  color: var(--text);
  text-align: left;
}
.wizard-option:hover { border-color: var(--accent); background: rgba(79,142,247,0.08); color: var(--accent); }
.wizard-progress {
  display: flex;
  gap: 6px;
  margin-bottom: 2rem;
}
.wizard-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--border);
  transition: background 0.2s;
}
.wizard-dot.done { background: var(--accent3); }
.wizard-dot.active { background: var(--accent); }
.wizard-result {
  text-align: center;
  padding: 2rem;
}
.wizard-result-name {
  font-family: var(--serif);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 0.5rem;
}
.wizard-result-reason {
  color: var(--text2);
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
  line-height: 1.7;
}
.wizard-restart {
  background: transparent;
  border: 1px solid var(--border2);
  color: var(--text2);
  padding: 10px 24px;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--font);
  font-size: 0.85rem;
  transition: all 0.2s;
}
.wizard-restart:hover { border-color: var(--accent); color: var(--accent); }

/* ===== CLOUD MAP ===== */
.cloud-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.cloud-col {
  background: var(--bg2);
}
.cloud-col:not(:last-child) { border-right: 1px solid var(--border); }
.cloud-header {
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  font-size: 1rem;
}
.cloud-badge { font-size: 1.4rem; }
.cloud-category {
  padding: 0.6rem 1.5rem;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--text3);
  background: var(--bg3);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  font-weight: 600;
}
.cloud-service {
  padding: 0.75rem 1.5rem;
  font-size: 0.82rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cloud-service:last-child { border-bottom: none; }
.cloud-service-name { font-weight: 600; color: var(--text); }
.cloud-service-desc { color: var(--text3); font-size: 0.72rem; }

/* ===== K8S SECTION ===== */
.k8s-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
.k8s-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  transition: all 0.2s;
}
.k8s-card:hover { border-color: var(--accent2); transform: translateY(-2px); }
.k8s-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0.75rem;
}
.k8s-icon { font-size: 1.6rem; }
.k8s-name { font-weight: 700; font-size: 0.95rem; }
.k8s-operator { font-size: 0.7rem; color: var(--accent2); font-family: var(--mono); }
.k8s-desc { font-size: 0.82rem; color: var(--text2); line-height: 1.6; margin-bottom: 0.75rem; }
.k8s-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.k8s-tag { font-size: 0.68rem; padding: 3px 8px; border-radius: 4px; background: var(--bg3); border: 1px solid var(--border); color: var(--text3); font-family: var(--mono); }

/* ===== CHEATSHEETS ===== */
.cheat-tabs {
  display: flex;
  gap: 0;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.cheat-tab {
  padding: 12px 20px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--text2);
  background: transparent;
  border: none;
  font-family: var(--font);
  transition: all 0.2s;
}
.cheat-tab:hover { color: var(--text); background: var(--bg3); }
.cheat-tab.active { background: var(--accent); color: #fff; }
.cheat-panel { display: none; }
.cheat-panel.active { display: block; }
.cheat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 1rem;
}
.cheat-block {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.cheat-block-header {
  padding: 10px 16px;
  background: var(--bg3);
  border-bottom: 1px solid var(--border);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text2);
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.copy-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text3);
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.65rem;
  cursor: pointer;
  font-family: var(--font);
  transition: all 0.2s;
}
.copy-btn:hover { border-color: var(--accent); color: var(--accent); }
.cheat-code {
  padding: 1rem 1.25rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  color: var(--accent3);
  line-height: 2;
  overflow-x: auto;
}
.cheat-comment { color: var(--text3); }
.cheat-cmd { color: var(--accent3); }
.cheat-flag { color: var(--accent5); }
.cheat-arg { color: var(--accent); }

/* ===== LEARNING PATHS ===== */
.paths-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}
.path-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
}
.path-number {
  font-family: var(--serif);
  font-size: 5rem;
  font-weight: 900;
  color: var(--border);
  position: absolute;
  top: -1rem;
  right: 1rem;
  line-height: 1;
  user-select: none;
}
.path-level {
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.path-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.5rem;
}
.path-desc {
  font-size: 0.82rem;
  color: var(--text2);
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.path-steps {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.path-step {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.8rem;
  color: var(--text2);
}
.path-step-num {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ===== TOOLS DIRECTORY ===== */
.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
.tool-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-decoration: none;
  transition: all 0.2s;
  display: block;
  position: relative;
  overflow: hidden;
}
.tool-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(79,142,247,0.12);
}
.tool-card::after {
  content: '↗';
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: var(--text3);
  font-size: 0.9rem;
  transition: color 0.2s;
}
.tool-card:hover::after { color: var(--accent); }
.tool-icon { font-size: 1.6rem; margin-bottom: 0.75rem; }
.tool-name { font-weight: 700; font-size: 0.9rem; color: var(--text); margin-bottom: 0.3rem; }
.tool-url { font-family: var(--mono); font-size: 0.68rem; color: var(--accent); margin-bottom: 0.6rem; }
.tool-desc { font-size: 0.78rem; color: var(--text2); line-height: 1.5; }
.tool-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.65rem;
  margin-top: 0.75rem;
  padding: 3px 8px;
  border-radius: 20px;
}
.tool-status.live { background: rgba(0,212,170,0.1); color: var(--accent3); border: 1px solid rgba(0,212,170,0.2); }
.tool-status.soon { background: rgba(247,201,79,0.1); color: var(--accent5); border: 1px solid rgba(247,201,79,0.2); }
.tool-status::before { content: '●'; font-size: 0.5rem; }

/* ===== AI ADVISOR ===== */
.advisor-wrap {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2rem;
  max-width: 800px;
  margin: 0 auto;
}
.advisor-input-row {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.advisor-input {
  flex: 1;
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--radius);
  padding: 14px 18px;
  font-family: var(--font);
  font-size: 0.9rem;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
}
.advisor-input:focus { border-color: var(--accent); }
.advisor-input::placeholder { color: var(--text3); }
.advisor-btn {
  background: var(--accent2);
  color: #fff;
  border: none;
  padding: 14px 24px;
  border-radius: var(--radius);
  font-family: var(--font);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.advisor-btn:hover { background: #6a4fd4; }
.advisor-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.advisor-output {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  font-size: 0.88rem;
  color: var(--text2);
  line-height: 1.8;
  min-height: 80px;
  white-space: pre-wrap;
}
.advisor-output.thinking { color: var(--text3); font-style: italic; }
.advisor-examples {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.advisor-example {
  font-size: 0.75rem;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--border);
  color: var(--text2);
  cursor: pointer;
  transition: all 0.2s;
  background: transparent;
  font-family: var(--font);
}
.advisor-example:hover { border-color: var(--accent2); color: var(--accent2); }

/* ===== FOOTER ===== */
footer {
  position: relative;
  z-index: 1;
  border-top: 1px solid var(--border);
  padding: 3rem 2rem;
  text-align: center;
}
.footer-logo {
  font-family: var(--serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 0.5rem;
}
.footer-sub {
  font-size: 0.8rem;
  color: var(--text3);
  margin-bottom: 1.5rem;
}
.footer-links {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}
.footer-links a {
  font-size: 0.8rem;
  color: var(--text2);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-links a:hover { color: var(--accent); }
.footer-copy {
  margin-top: 1.5rem;
  font-size: 0.72rem;
  color: var(--text3);
  font-family: var(--mono);
}

/* VISITOR COUNTER */
.vc-mount{display:inline-flex;align-items:center;min-width:74px;min-height:26px;justify-content:center}
.vc-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none;border-radius:6px;overflow:hidden;border:1px solid var(--border);transition:border-color .15s}
.vc-link:hover{border-color:var(--accent)}
.vc-badge{height:24px;border-radius:5px;display:block;opacity:0;animation:vcFade .35s ease forwards}
@keyframes vcFade{to{opacity:1}}
/* local fallback chip — styled to match .nav-tag so it never looks foreign */
.vc-local{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.7rem;color:var(--text3);background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:4px 9px;white-space:nowrap;cursor:default;line-height:1}

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeInUp 0.5s ease forwards; }
.hidden-card { display: none; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .nav-links { display: none; }
  .cloud-grid { grid-template-columns: 1fr; }
  .wizard-options { grid-template-columns: 1fr; }
  .advisor-input-row { flex-direction: column; }
}

/* Tools grid */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;}
.tool-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;}
.tool-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 10px 30px rgba(79,142,247,.15);}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius) var(--radius) 0 0;}
.tool-icon{font-size:1.75rem;margin-bottom:.6rem;}
.tool-name{font-weight:700;font-size:.92rem;color:var(--text);margin-bottom:.2rem;}
.tool-desc{font-size:.76rem;color:var(--text2);line-height:1.5;margin-bottom:.75rem;}
.tool-badge{font-size:.62rem;padding:2px 8px;border-radius:20px;font-weight:600;}
.tool-badge-live{background:rgba(0,212,170,.1);color:var(--accent3);border:1px solid rgba(0,212,170,.2);}
.tool-open-hint{position:absolute;top:.75rem;right:.75rem;font-size:.7rem;color:var(--text3);}
.tool-card:hover .tool-open-hint{color:var(--accent);}

/* Modal */
.tool-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem;}
.tool-modal-overlay.open{display:flex;}
.tool-modal{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;}
.tool-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.tool-modal-title{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--text);}
.tool-modal-close{background:transparent;border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.tool-modal-close:hover{border-color:var(--accent4);color:var(--accent4);}
.tool-modal-body{flex:1;overflow-y:auto;padding:1.5rem;}

/* Tool internals */
.tool-row{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;}
.tool-input{flex:1;min-width:200px;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;font-family:var(--font);font-size:.85rem;color:var(--text);outline:none;}
.tool-input:focus{border-color:var(--accent);}
.tool-select{background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;font-family:var(--font);font-size:.85rem;color:var(--text);outline:none;cursor:pointer;}
.tool-btn{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-family:var(--font);font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s;}
.tool-btn:hover{background:#3a7ae8;}
.tool-btn-sec{background:transparent;border:1px solid var(--border2);color:var(--text2);padding:10px 16px;border-radius:8px;font-family:var(--font);font-size:.85rem;cursor:pointer;transition:all .2s;}
.tool-btn-sec:hover{border-color:var(--accent);color:var(--accent);}
.tool-textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;font-family:var(--mono);font-size:.78rem;color:var(--accent3);line-height:1.8;resize:vertical;outline:none;min-height:120px;}
.tool-textarea:focus{border-color:var(--accent);}
.tool-output{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;font-family:var(--mono);font-size:.78rem;color:var(--accent3);line-height:1.9;white-space:pre-wrap;overflow-x:auto;min-height:60px;}
.tool-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-weight:700;margin-bottom:.4rem;}
.tool-result-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.6rem;}
.tool-result-title{font-weight:700;font-size:.88rem;color:var(--text);margin-bottom:.3rem;}
.tool-result-body{font-size:.82rem;color:var(--text2);line-height:1.7;}
.tool-warn{background:rgba(247,201,79,.07);border:1px solid rgba(247,201,79,.2);border-radius:6px;padding:.6rem 1rem;font-size:.8rem;color:var(--accent5);margin:.5rem 0;}
.tool-good{background:rgba(0,212,170,.07);border:1px solid rgba(0,212,170,.2);border-radius:6px;padding:.6rem 1rem;font-size:.8rem;color:var(--accent3);margin:.5rem 0;}
.tool-info{background:rgba(79,142,247,.07);border:1px solid rgba(79,142,247,.2);border-radius:6px;padding:.6rem 1rem;font-size:.8rem;color:var(--accent);margin:.5rem 0;}
.tool-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.tool-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;}
.tool-stat{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;text-align:center;}
.tool-stat-num{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--accent);}
.tool-stat-lbl{font-size:.68rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;}
.tool-copy-btn{background:transparent;border:1px solid var(--border);color:var(--text3);padding:3px 10px;border-radius:4px;font-size:.65rem;cursor:pointer;font-family:var(--font);transition:all .2s;float:right;}
.tool-copy-btn:hover{border-color:var(--accent);color:var(--accent);}
.tool-slider{width:100%;accent-color:var(--accent);}
.checklist-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.83rem;cursor:pointer;}
.checklist-item:last-child{border-bottom:none;}
.checklist-cb{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--accent);}
.checklist-text{color:var(--text2);line-height:1.5;}
.checklist-text.done{text-decoration:line-through;color:var(--text3);}
@media(max-width:600px){.tool-grid-2,.tool-grid-3{grid-template-columns:1fr;}}

.tut-layout{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:start;}
.tut-sidebar{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);position:sticky;top:72px;max-height:calc(100vh - 90px);overflow-y:auto;}
.tut-search-wrap{padding:12px;}
.tut-search{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:9px 14px;font-family:var(--font);font-size:0.8rem;color:var(--text);outline:none;}
.tut-search:focus{border-color:var(--accent);}
.tut-search::placeholder{color:var(--text3);}
.tut-nav-group-label{padding:8px 14px 4px;font-size:0.63rem;text-transform:uppercase;letter-spacing:2px;color:var(--text3);font-weight:700;border-top:1px solid var(--border);}
.tut-nav-item{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:0.82rem;color:var(--text2);cursor:pointer;transition:all 0.15s;border-left:2px solid transparent;}
.tut-nav-item:hover{color:var(--text);background:var(--bg3);}
.tut-nav-item.active{color:var(--accent);background:rgba(79,142,247,0.07);border-left-color:var(--accent);}
.tut-content{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;min-height:600px;}
.tut-welcome{text-align:center;padding:3rem 1rem;}
.tut-welcome-title{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:0.75rem;}
.tut-welcome-sub{color:var(--text2);font-size:0.9rem;line-height:1.7;max-width:500px;margin:0 auto 2rem;}
.tut-welcome-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.tut-quick-tag{padding:8px 16px;border-radius:20px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;font-size:0.82rem;transition:all 0.2s;}
.tut-quick-tag:hover{border-color:var(--accent);color:var(--accent);}
.tut-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.tut-db-title{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--text);margin-bottom:0.5rem;}
.tut-db-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:0.75rem;}
.tut-toc{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:2rem;}
.tut-toc-title{font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);margin-bottom:0.75rem;font-weight:700;}
.tut-toc-list{list-style:none;display:flex;flex-direction:column;gap:6px;}
.tut-toc-list a{font-size:0.82rem;color:var(--accent);text-decoration:none;cursor:pointer;}
.tut-toc-list a:hover{text-decoration:underline;}
.tut-section{margin-bottom:2.5rem;}
.tut-h2{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);}
.tut-h3{font-size:1rem;font-weight:600;color:var(--text);margin:1.25rem 0 0.6rem;}
.tut-p{font-size:0.87rem;color:var(--text2);line-height:1.85;margin-bottom:0.75rem;}
.tut-ul{list-style:none;display:flex;flex-direction:column;gap:5px;margin-bottom:1rem;padding:0;}
.tut-ul li{font-size:0.85rem;color:var(--text2);padding-left:1.2rem;position:relative;line-height:1.65;}
.tut-ul li::before{content:"→";position:absolute;left:0;color:var(--accent);font-size:0.7rem;top:4px;}
.tut-ol{counter-reset:tut-step;list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:1rem;padding:0;}
.tut-ol li{font-size:0.85rem;color:var(--text2);padding-left:2.2rem;position:relative;line-height:1.65;counter-increment:tut-step;}
.tut-ol li::before{content:counter(tut-step);position:absolute;left:0;top:0;width:20px;height:20px;background:rgba(79,142,247,0.15);color:var(--accent);border-radius:50%;font-size:0.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--mono);}
.code-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem;}
.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg3);border-bottom:1px solid var(--border);}
.code-lang{font-family:var(--mono);font-size:0.63rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;}
.code-copy{background:transparent;border:1px solid var(--border);color:var(--text3);padding:3px 10px;border-radius:4px;font-size:0.63rem;cursor:pointer;font-family:var(--font);transition:all 0.2s;}
.code-copy:hover{border-color:var(--accent);color:var(--accent);}
.code-body{padding:1rem 1.25rem;font-family:var(--mono);font-size:0.77rem;line-height:2;overflow-x:auto;white-space:pre;color:var(--accent3);}
.c-comment{color:var(--text3);}
.c-kw{color:var(--accent2);}
.c-str{color:var(--accent4);}
.c-flag{color:var(--accent5);}
.c-out{color:var(--text2);}
.tip-box{background:rgba(0,212,170,0.07);border:1px solid rgba(0,212,170,0.2);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;font-size:0.84rem;color:var(--text2);line-height:1.7;}
.tip-box strong{color:var(--accent3);}
.warn-box{background:rgba(247,201,79,0.07);border:1px solid rgba(247,201,79,0.2);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;font-size:0.84rem;color:var(--text2);line-height:1.7;}
.warn-box strong{color:var(--accent5);}
.info-box{background:rgba(79,142,247,0.07);border:1px solid rgba(79,142,247,0.2);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;font-size:0.84rem;color:var(--text2);line-height:1.7;}
.info-box strong{color:var(--accent);}
.tut-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:0.82rem;}
.tut-table th{background:var(--bg3);padding:10px 14px;text-align:left;font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);border-bottom:1px solid var(--border);white-space:nowrap;}
.tut-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top;font-size:0.81rem;}
.tut-table tr:last-child td{border-bottom:none;}
.tut-table tr:hover td{background:var(--bg3);}
.tut-nav-btns{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.tut-nav-btn{padding:10px 20px;border-radius:8px;font-size:0.82rem;font-weight:600;cursor:pointer;border:1px solid var(--border2);background:transparent;color:var(--text2);font-family:var(--font);transition:all 0.2s;}
.tut-nav-btn:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:900px){.tut-layout{grid-template-columns:1fr;}.tut-sidebar{position:static;max-height:300px;}}

/* ===== QUERY EXPLAINER ===== */
.qex-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.qex-top{display:grid;grid-template-columns:1fr 1fr;min-height:420px;}
.qex-input-side{padding:1.5rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;}
.qex-output-side{padding:1.5rem;overflow-y:auto;}
.qex-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-weight:600;}
.qex-textarea{flex:1;background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius);padding:1rem;font-family:var(--mono);font-size:.78rem;color:var(--accent3);line-height:1.8;resize:none;outline:none;min-height:240px;}
.qex-textarea:focus{border-color:var(--accent);}
.qex-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.qex-examples{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.qex-example-label{font-size:.7rem;color:var(--text3);}
.qex-ex-btn{background:transparent;border:1px solid var(--border);color:var(--text2);padding:4px 10px;border-radius:20px;font-size:.72rem;cursor:pointer;font-family:var(--font);transition:all .2s;}
.qex-ex-btn:hover{border-color:var(--accent2);color:var(--accent2);}
.qex-btn{background:var(--accent2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-family:var(--font);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap;}
.qex-btn:hover{background:#6a4fd4;transform:translateY(-1px);}
.qex-btn:disabled{opacity:.5;cursor:not-allowed;}
.qex-placeholder{text-align:center;padding:3rem 1rem;color:var(--text2);}
.qex-clause{margin-bottom:1.25rem;}
.qex-clause-name{font-family:var(--mono);font-size:.75rem;color:var(--accent);background:rgba(79,142,247,.1);border:1px solid rgba(79,142,247,.2);padding:3px 10px;border-radius:4px;display:inline-block;margin-bottom:.5rem;}
.qex-clause-sql{font-family:var(--mono);font-size:.76rem;color:var(--accent3);background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;margin-bottom:.4rem;white-space:pre-wrap;word-break:break-all;}
.qex-clause-desc{font-size:.83rem;color:var(--text2);line-height:1.7;}
.qex-divider{height:1px;background:var(--border);margin:1rem 0;}
.qex-tag{display:inline-block;font-size:.68rem;padding:2px 8px;border-radius:4px;margin:.2rem .1rem;}
.qex-tag-warn{background:rgba(247,201,79,.1);color:var(--accent5);border:1px solid rgba(247,201,79,.2);}
.qex-tag-good{background:rgba(0,212,170,.1);color:var(--accent3);border:1px solid rgba(0,212,170,.2);}
.qex-tag-info{background:rgba(79,142,247,.1);color:var(--accent);border:1px solid rgba(79,142,247,.2);}
.qex-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-weight:700;margin:.75rem 0 .4rem;}
@media(max-width:768px){.qex-top{grid-template-columns:1fr;}.qex-input-side{border-right:none;border-bottom:1px solid var(--border);}}

/* ===== GLOSSARY ===== */
.glos-search-wrap{margin-bottom:1rem;}
.glos-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;}
.glos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;}
.glos-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all .2s;}
.glos-card:hover{border-color:var(--border2);transform:translateY(-2px);}
.glos-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.6rem;gap:.5rem;}
.glos-term{font-family:var(--mono);font-size:.9rem;font-weight:600;color:var(--accent);line-height:1.3;}
.glos-cat{font-size:.62rem;padding:2px 8px;border-radius:4px;background:var(--bg3);border:1px solid var(--border);color:var(--text3);white-space:nowrap;flex-shrink:0;}
.glos-def{font-size:.82rem;color:var(--text2);line-height:1.7;}
.glos-also{margin-top:.5rem;font-size:.73rem;color:var(--text3);}
.glos-also span{color:var(--accent2);cursor:pointer;}
.glos-also span:hover{text-decoration:underline;}

/* ===== QUIZ ===== */
.quiz-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;min-height:400px;}
.quiz-start{text-align:center;padding:2rem 1rem;}
.quiz-start-title{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:.75rem;}
.quiz-start-sub{color:var(--text2);font-size:.9rem;line-height:1.7;max-width:540px;margin:0 auto 1.5rem;}
.quiz-category-pick{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:inline-block;text-align:left;}
.quiz-cat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);margin-bottom:.6rem;}
.quiz-cats{display:flex;flex-wrap:wrap;gap:.5rem;}
.quiz-cat-btn{background:transparent;border:1px solid var(--border);color:var(--text2);padding:6px 14px;border-radius:20px;font-size:.78rem;cursor:pointer;font-family:var(--font);transition:all .2s;}
.quiz-cat-btn:hover{border-color:var(--accent);color:var(--accent);}
.quiz-cat-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.quiz-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem;}
.quiz-prog-bar{height:6px;background:var(--bg3);border-radius:3px;overflow:hidden;margin-bottom:.4rem;}
.quiz-prog-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s;}
.quiz-prog-text{font-size:.75rem;color:var(--text3);}
.quiz-prog-wrap{flex:1;}
.quiz-score-badge{font-family:var(--mono);font-size:.8rem;padding:6px 14px;border-radius:8px;background:rgba(0,212,170,.1);color:var(--accent3);border:1px solid rgba(0,212,170,.2);white-space:nowrap;}
.quiz-q-wrap{}
.quiz-question{font-size:1.1rem;font-weight:600;color:var(--text);line-height:1.6;margin-bottom:1.5rem;}
.quiz-q-cat{font-family:var(--mono);font-size:.65rem;color:var(--accent2);background:rgba(124,95,230,.1);border:1px solid rgba(124,95,230,.2);padding:2px 8px;border-radius:4px;display:inline-block;margin-bottom:.75rem;}
.quiz-options{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;}
.quiz-opt{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;cursor:pointer;font-size:.87rem;color:var(--text2);text-align:left;font-family:var(--font);transition:all .2s;display:flex;align-items:flex-start;gap:.75rem;}
.quiz-opt:hover:not(:disabled){border-color:var(--accent);color:var(--text);}
.quiz-opt:disabled{cursor:default;}
.quiz-opt.correct{border-color:var(--accent3);background:rgba(0,212,170,.08);color:var(--accent3);}
.quiz-opt.wrong{border-color:var(--accent4);background:rgba(247,114,79,.08);color:var(--accent4);}
.quiz-opt-letter{width:22px;height:22px;border-radius:50%;background:var(--bg4);border:1px solid var(--border);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);}
.quiz-explanation{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;font-size:.84rem;color:var(--text2);line-height:1.7;margin-bottom:1.25rem;}
.quiz-explanation strong{color:var(--accent3);}
.quiz-next-btn{background:var(--accent);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-family:var(--font);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s;}
.quiz-next-btn:hover{background:#3a7ae8;}
.quiz-result{text-align:center;padding:2rem;}
.quiz-result-score{font-family:var(--serif);font-size:4rem;font-weight:900;margin-bottom:.25rem;}
.quiz-result-label{font-size:1rem;color:var(--text2);margin-bottom:1.5rem;}
.quiz-result-stats{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.quiz-stat-item{text-align:center;}
.quiz-stat-num{font-size:1.8rem;font-weight:700;}
.quiz-stat-lbl{font-size:.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;}

/* ===== DAILY CHALLENGE ===== */
.daily-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start;}
.daily-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;}
.daily-badge{font-family:var(--mono);font-size:.65rem;color:var(--accent5);background:rgba(247,201,79,.1);border:1px solid rgba(247,201,79,.2);padding:3px 10px;border-radius:4px;display:inline-block;margin-bottom:1rem;}
.daily-title{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--text);margin-bottom:.5rem;line-height:1.3;}
.daily-meta{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;}
.daily-tag{font-size:.7rem;padding:3px 10px;border-radius:20px;background:var(--bg3);border:1px solid var(--border);color:var(--text3);}
.daily-prompt{font-size:.92rem;color:var(--text2);line-height:1.8;margin-bottom:1.5rem;}
.daily-textarea{width:100%;background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius);padding:1rem;font-family:var(--mono);font-size:.78rem;color:var(--accent3);line-height:1.8;resize:vertical;outline:none;min-height:160px;margin-bottom:1rem;}
.daily-textarea:focus{border-color:var(--accent);}
.daily-btn-row{display:flex;gap:.75rem;flex-wrap:wrap;}
.daily-submit-btn{background:var(--accent);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-family:var(--font);font-weight:600;font-size:.87rem;cursor:pointer;transition:all .2s;}
.daily-submit-btn:hover{background:#3a7ae8;}
.daily-hint-btn{background:transparent;border:1px solid var(--border2);color:var(--text2);padding:10px 18px;border-radius:8px;font-family:var(--font);font-size:.87rem;cursor:pointer;transition:all .2s;}
.daily-hint-btn:hover{border-color:var(--accent5);color:var(--accent5);}
.daily-solution{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-top:1rem;font-size:.84rem;color:var(--text2);line-height:1.7;display:none;}
.daily-solution.show{display:block;}
.daily-solution-code{font-family:var(--mono);font-size:.76rem;color:var(--accent3);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;margin:.5rem 0;white-space:pre-wrap;}
.daily-sidebar{display:flex;flex-direction:column;gap:1rem;}
.daily-streak-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;}
.daily-streak-num{font-family:var(--serif);font-size:3.5rem;font-weight:900;color:var(--accent5);line-height:1;}
.daily-streak-label{font-size:.78rem;color:var(--text3);margin-top:.25rem;}
.daily-history-card,.daily-cats-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;}
.daily-hist-title{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);margin-bottom:.75rem;font-weight:700;}
.daily-hist-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.78rem;}
.daily-hist-item:last-child{border-bottom:none;}
.daily-hist-date{color:var(--text3);}
.daily-hist-status{font-size:.65rem;padding:2px 8px;border-radius:20px;}
.daily-hist-done{background:rgba(0,212,170,.1);color:var(--accent3);}
.daily-hist-skip{background:rgba(247,114,79,.1);color:var(--accent4);}
.daily-topic-grid{display:flex;flex-wrap:wrap;gap:.4rem;}
.daily-topic-tag{font-size:.68rem;padding:3px 9px;border-radius:20px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;transition:all .2s;}
.daily-topic-tag:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:900px){.daily-layout{grid-template-columns:1fr;}}

/* ===== DATA TYPE PICKER ===== */
.dtp-wrap{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start;}
.dtp-left{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;}
.dtp-right{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;min-height:500px;}
.dtp-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-weight:700;}
.dtp-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
.dtp-cat-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;font-size:.78rem;color:var(--text2);cursor:pointer;font-family:var(--font);text-align:left;transition:all .2s;display:flex;align-items:center;gap:.4rem;}
.dtp-cat-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(79,142,247,.07);}
.dtp-cat-btn.active{border-color:var(--accent);background:rgba(79,142,247,.1);color:var(--accent);}
.dtp-divider-label{text-align:center;font-size:.7rem;color:var(--text3);letter-spacing:1px;}
.dtp-search{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:10px 14px;font-family:var(--font);font-size:.85rem;color:var(--text);outline:none;transition:border-color .2s;}
.dtp-search:focus{border-color:var(--accent);}
.dtp-search::placeholder{color:var(--text3);}
.dtp-search-wrap{}
.dtp-quick-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;}
.dtp-quick-label{font-size:.68rem;color:var(--text3);width:100%;}
.dtp-quick{background:transparent;border:1px solid var(--border);border-radius:20px;padding:4px 11px;font-size:.72rem;color:var(--text2);cursor:pointer;font-family:var(--font);transition:all .2s;}
.dtp-quick:hover{border-color:var(--accent2);color:var(--accent2);}
.dtp-placeholder{text-align:center;padding:4rem 1rem;color:var(--text2);}

/* Result cards */
.dtp-result-title{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
.dtp-result-desc{font-size:.86rem;color:var(--text2);line-height:1.7;margin-bottom:1.5rem;}
.dtp-db-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;margin-bottom:1.5rem;}
.dtp-db-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;}
.dtp-db-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;}
.dtp-db-icon{font-size:1.1rem;}
.dtp-db-name{font-weight:700;font-size:.82rem;color:var(--text);}
.dtp-type-badge{font-family:var(--mono);font-size:.72rem;background:rgba(79,142,247,.12);color:var(--accent);border:1px solid rgba(79,142,247,.22);padding:2px 8px;border-radius:4px;display:inline-block;margin-bottom:.45rem;}
.dtp-type-detail{font-size:.78rem;color:var(--text2);line-height:1.6;}
.dtp-caveat{margin-top:.5rem;font-size:.73rem;color:var(--accent5);background:rgba(247,201,79,.07);border:1px solid rgba(247,201,79,.18);border-radius:5px;padding:4px 8px;}
.dtp-good{margin-top:.5rem;font-size:.73rem;color:var(--accent3);background:rgba(0,212,170,.07);border:1px solid rgba(0,212,170,.18);border-radius:5px;padding:4px 8px;}

.dtp-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text3);font-weight:700;margin:1.25rem 0 .6rem;}
.dtp-rules{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;}
.dtp-rules li{font-size:.82rem;color:var(--text2);padding-left:1.1rem;position:relative;line-height:1.6;}
.dtp-rules li::before{content:'→';position:absolute;left:0;color:var(--accent);font-size:.7rem;top:4px;}
.dtp-examples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;}
.dtp-example-tag{font-family:var(--mono);font-size:.72rem;background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:4px 10px;color:var(--text2);}
.dtp-see-also{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;}
.dtp-see-also-tag{font-size:.72rem;padding:3px 10px;border-radius:20px;border:1px solid var(--border);color:var(--accent2);cursor:pointer;transition:all .2s;background:transparent;}
.dtp-see-also-tag:hover{background:rgba(124,95,230,.1);}

@media(max-width:900px){.dtp-wrap{grid-template-columns:1fr;}.dtp-category-grid{grid-template-columns:repeat(3,1fr);}}
/* ============================================================
   ISOLATION LAB
   ============================================================ */
.iso-picker-group{margin-bottom:18px}
.iso-picker-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);margin-bottom:8px}
.iso-chips{display:flex;flex-wrap:wrap;gap:8px}
.iso-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-family:var(--mono);font-size:.8rem;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.iso-chip:hover{border-color:var(--accent);transform:translateY(-1px)}
.iso-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}
.iso-chip-level.active{background:var(--accent2);border-color:var(--accent2)}
.iso-scenario-desc{background:var(--bg2);border-left:3px solid var(--accent);padding:12px 16px;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:12px;font-size:.9rem;line-height:1.6}
.iso-level-note{background:var(--bg3);border:1px solid var(--border);padding:10px 14px;border-radius:var(--radius);margin-bottom:20px;font-size:.82rem;color:var(--text2);display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.iso-level-badge{background:var(--accent2);color:#fff;padding:2px 10px;border-radius:20px;font-family:var(--mono);font-size:.72rem;white-space:nowrap}
.iso-timeline{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.iso-session{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.iso-session-head{padding:10px 14px;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;font-weight:600}
.iso-t1{background:rgba(79,142,247,.14);color:var(--accent);border-bottom:1px solid var(--border)}
.iso-t2{background:rgba(124,95,230,.14);color:var(--accent2);border-bottom:1px solid var(--border)}
.iso-session-body{padding:12px;min-height:120px}
.iso-empty{color:var(--text3);font-family:var(--mono);font-size:.78rem;padding:20px 8px;text-align:center}
.iso-spacer{height:44px}
.iso-step{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;transition:all .2s}
.iso-step-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.iso-step-anomaly{border-color:var(--accent6);box-shadow:0 0 0 1px var(--accent6)}
.iso-step-num{font-family:var(--mono);font-size:.65rem;color:var(--accent5);letter-spacing:.1em;margin-bottom:4px}
.iso-step-sql{display:block;font-family:var(--mono);font-size:.76rem;color:var(--text);line-height:1.5;word-break:break-word;white-space:pre-wrap}
.iso-step-sees{margin-top:8px;padding:6px 8px;border-radius:4px;font-size:.75rem;line-height:1.45}
.iso-step-sees.good{background:rgba(0,212,170,.1);color:var(--accent3);border:1px solid rgba(0,212,170,.25)}
.iso-step-sees.bad{background:rgba(232,79,126,.1);color:var(--accent6);border:1px solid rgba(232,79,126,.3)}
.iso-sees-tag{font-family:var(--mono);font-weight:700;font-size:.68rem;letter-spacing:.06em}
.iso-step-note{margin-top:8px;font-size:.76rem;color:var(--text2);line-height:1.5;font-style:italic}
.iso-ctrls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.iso-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-family:var(--mono);font-size:.78rem;transition:all .15s}
.iso-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.iso-btn:disabled{opacity:.35;cursor:not-allowed}
.iso-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.iso-btn-primary:hover:not(:disabled){opacity:.88;color:#fff}
.iso-progress{font-family:var(--mono);font-size:.75rem;color:var(--text3);margin-left:auto}
.iso-verdict{padding:14px 18px;border-radius:var(--radius);margin-bottom:8px}
.iso-verdict-good{background:rgba(0,212,170,.08);border:1px solid rgba(0,212,170,.35)}
.iso-verdict-bad{background:rgba(232,79,126,.08);border:1px solid rgba(232,79,126,.35)}
.iso-verdict-title{font-family:var(--mono);font-size:.85rem;font-weight:700;margin-bottom:6px}
.iso-verdict-good .iso-verdict-title{color:var(--accent3)}
.iso-verdict-bad .iso-verdict-title{color:var(--accent6)}
.iso-verdict-text{font-size:.84rem;line-height:1.6;color:var(--text)}
.iso-matrix-wrap{margin-top:34px}
.iso-matrix-table{width:100%;border-collapse:collapse;font-size:.8rem}
.iso-matrix-table th{background:var(--bg3);border:1px solid var(--border);padding:10px;font-family:var(--mono);font-size:.75rem;color:var(--accent2);text-align:center}
.iso-th-sub{display:block;font-size:.62rem;color:var(--text3);font-weight:400;margin-top:2px;letter-spacing:0}
.iso-matrix-table td{border:1px solid var(--border);padding:10px;text-align:center;font-family:var(--mono);font-size:.75rem}
.iso-matrix-name{text-align:left !important;color:var(--text);background:var(--bg2)}
.iso-cell-good{background:rgba(0,212,170,.08);color:var(--accent3)}
.iso-cell-bad{background:rgba(232,79,126,.08);color:var(--accent6)}
.iso-matrix-foot{margin-top:12px;font-size:.78rem;color:var(--text2);line-height:1.65}
.iso-matrix-foot code{font-family:var(--mono);background:var(--bg3);padding:1px 5px;border-radius:3px;color:var(--accent5)}
@media(max-width:820px){.iso-timeline{grid-template-columns:1fr}.iso-spacer{display:none}.iso-matrix-table{font-size:.7rem}}
.tool-card-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius) var(--radius) 0 0}


/* ===== THEME TOGGLE ===== */
body, nav, footer, section { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
@media (prefers-reduced-motion: reduce){
  body, nav, footer, section { transition: none; }
}
.theme-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; padding:0;
  background:var(--bg2); border:1px solid var(--border); border-radius:8px;
  color:var(--text2); cursor:pointer; font-size:.85rem; line-height:1;
  transition:all .15s;
}
.theme-toggle:hover{ border-color:var(--accent); color:var(--accent); background:var(--glow); }
.theme-toggle:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.theme-toggle .tt-icon{ pointer-events:none; }


/* ============================================================
   NAV — grouped, decluttered
   ============================================================ */
.nav-links { gap: 2px; }
.nav-links > li { display: flex; align-items: center; }

/* dropdown */
.nav-drop { position: relative; }
.nav-drop-btn{
  display:inline-flex; align-items:center; gap:5px;
  background:none; border:none; cursor:pointer;
  color:var(--text2); font-family:var(--font);
  font-size:.8rem; font-weight:500; padding:6px 12px;
  border-radius:6px; transition:all .2s; white-space:nowrap;
}
.nav-drop-btn:hover, .nav-drop.open .nav-drop-btn{ color:var(--accent); background:var(--glow); }
.nav-caret{ font-size:.6rem; opacity:.7; transition:transform .2s; }
.nav-drop.open .nav-caret{ transform:rotate(180deg); }

.nav-drop-menu{
  position:absolute; top:calc(100% + 8px); left:0;
  min-width:190px; padding:6px;
  background:var(--bg2); border:1px solid var(--border2);
  border-radius:10px; box-shadow:0 12px 32px var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:200;
}
.nav-drop.open .nav-drop-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav-drop-menu a{
  display:flex; align-items:center; gap:9px;
  padding:8px 10px; border-radius:6px;
  color:var(--text2); font-size:.8rem; text-decoration:none; white-space:nowrap;
}
.nav-drop-menu a:hover{ background:var(--glow); color:var(--accent); }
.nd-i{ width:16px; text-align:center; font-size:.85rem; flex:none; }

/* separator + meta cluster */
.nav-sep{ width:1px; height:18px; background:var(--border2); margin:0 8px; }
.nav-meta{ display:flex; align-items:center; gap:8px; }
.nav-home{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:8px;
  color:var(--text3); text-decoration:none; font-size:.8rem;
  border:1px solid transparent; transition:all .15s;
}
.nav-home:hover{ color:var(--accent); background:var(--glow); border-color:var(--border); }
.nav-tag{ white-space:nowrap; }

/* burger (mobile) */
.nav-burger{
  display:none; flex-direction:column; justify-content:center; gap:4px;
  width:34px; height:34px; padding:0 7px;
  background:none; border:1px solid var(--border); border-radius:8px; cursor:pointer;
}
.nav-burger span{ display:block; height:2px; background:var(--text2); border-radius:2px; transition:all .25s; }
.nav-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

@media(max-width:1100px){
  .nav-links > li:not(.nav-meta) .nav-drop-btn,
  .nav-links > li > a { padding:6px 9px; font-size:.76rem; }
}

@media(max-width:900px){
  nav{ padding:0 1rem; }
  .nav-burger{ display:flex; }
  .nav-links{
    display:none;
    position:fixed; top:60px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:2px;
    padding:12px; max-height:calc(100vh - 60px); overflow-y:auto;
    background:var(--bg); border-bottom:1px solid var(--border);
    box-shadow:0 16px 32px var(--shadow);
  }
  .nav-links.open{ display:flex; }
  .nav-links > li{ display:block; }
  .nav-links > li > a, .nav-drop-btn{
    display:flex; width:100%; padding:11px 12px; font-size:.9rem; justify-content:space-between;
  }
  /* dropdowns become inline accordions on mobile */
  .nav-drop-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; background:transparent;
    display:none; padding:0 0 4px 12px; min-width:0;
  }
  .nav-drop.open .nav-drop-menu{ display:block; }
  .nav-drop-menu a{ padding:9px 10px; font-size:.85rem; }
  .nav-sep{ display:none; }
  .nav-meta{
    justify-content:space-between; padding:12px 4px 4px;
    margin-top:6px; border-top:1px solid var(--border);
  }
  .vc-mount{ display:inline-flex; }   /* counter + toggle stay usable on mobile */
}
nav.scrolled{ box-shadow:0 4px 20px var(--shadow); }
