:root {
  --color-primary: #97a531;
  --color-primary-hover: #7a8628;
  --color-primary-active: #484e17;
  --color-primary-light: #6c7623;
  --color-on-primary: #ffffff;
  --color-secondary: #2d2376;
  --color-secondary-hover: #211a57;
  --color-on-secondary: #ffffff;
  --color-accent: #236c76;
  --color-accent-hover: #1a4f57;
  --color-on-accent: #ffffff;
  --color-background: #090b0b;
  --color-background-secondary: #121616;
  --color-surface: #1b2122;
  --color-surface-hover: #232d2e;
  --color-text-primary: #ffffff;
  --color-text-secondary: #cccccc;
  --color-text-muted: #999999;
  --color-text-disabled: #666666;
  --color-border: #333333;
  --color-border-hover: #444444;
  --color-border-focus: #97a531;
  --color-success: #10b981;
  --color-success-hover: #0d9367;
  --color-error: #ef4444;
  --color-error-hover: #ec1e1e;
  --color-warning: #f59e0b;
  --color-warning-hover: #cf8508;
  --color-info: #3b82f6;
  --color-info-hover: #1469f4;
}

/* =====================================================
   СПИСКИ (BULLETED & NUMBERED LISTS)
   ===================================================== */

/* Маркований список (ul) - exclude TOC */
.page-content ul:not(.toc-list ul) {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1.5rem 0 !important;
}

.page-content ul:not(.toc-list ul) li {
  position: relative;
  padding-left: 2rem !important;
  margin-bottom: 0.75rem !important;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.page-content ul:not(.toc-list ul) li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
  border-radius: 50%;
  box-shadow: 0 0 8px var(--color-primary);
}

.page-content ul:not(.toc-list ul) li:hover::before {
  background: linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-active));
  box-shadow: 0 0 12px var(--color-primary);
  transform: scale(1.2);
  transition: all 0.2s ease;
}

/* Вкладені списки */
.page-content ul:not(.toc-list ul) ul {
  margin: 0.5rem 0 !important;
}

.page-content ul:not(.toc-list ul) ul li::before {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));
  box-shadow: 0 0 6px var(--color-accent);
}

.page-content ul:not(.toc-list ul) ul li:hover::before {
  box-shadow: 0 0 10px var(--color-accent);
}

/* Нумерований список (ol) - exclude TOC */
.page-content ol:not(.toc-list ol) {
  list-style: none !important;
  counter-reset: list-counter;
  padding-left: 0 !important;
  margin: 1.5rem 0 !important;
}

.page-content ol:not(.toc-list ol) li {
  position: relative;
  counter-increment: list-counter;
  padding-left: 3rem !important;
  margin-bottom: 1rem !important;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.page-content ol:not(.toc-list ol) li::before {
  content: counter(list-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
  color: var(--color-on-primary);
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
}

.page-content ol:not(.toc-list ol) li:hover::before {
  background: linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-active));
  box-shadow: 0 4px 12px var(--color-primary);
  transform: scale(1.1);
}

/* Вкладені нумеровані списки */
.page-content ol:not(.toc-list ol) ol {
  margin: 0.5rem 0 !important;
  counter-reset: nested-counter;
}

.page-content ol:not(.toc-list ol) ol li {
  counter-increment: nested-counter;
  padding-left: 2.5rem !important;
}

.page-content ol:not(.toc-list ol) ol li::before {
  content: counter(nested-counter, lower-alpha);
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.8rem;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-hover));
}

.page-content ol:not(.toc-list ol) ol li:hover::before {
  background: linear-gradient(135deg, var(--color-secondary-hover), var(--color-secondary));
  box-shadow: 0 4px 12px var(--color-secondary);
}

/* Списки в темних блоках (якщо потрібно) */
.dark-section ul li::before,
.surface-block ul li::before {
  box-shadow: 0 0 10px var(--color-primary);
}

.dark-section ol li::before,
.surface-block ol li::before {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
}
