/* ═══════════════════════════════════════════════════════════
   BrainWave — Custom Theme for EGE Informatics
   Fonts: Inter (body) + Syne (headings)
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Syne:wght@600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

/* ─── DARK SCHEME (#0a0a0a base) ─────────────────────────── */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:           #0a0a0a;
  --md-default-bg-color--light:    #111111;
  --md-default-bg-color--lighter:  #161616;
  --md-default-bg-color--lightest: #1e1e1e;

  --md-default-fg-color:           #f0f0f0;
  --md-default-fg-color--light:    rgba(240,240,240,.75);
  --md-default-fg-color--lighter:  rgba(240,240,240,.45);
  --md-default-fg-color--lightest: rgba(240,240,240,.10);

  --md-primary-fg-color:           #0a0a0a;
  --md-primary-fg-color--light:    #111111;
  --md-primary-fg-color--dark:     #000000;
  --md-primary-bg-color:           #f0f0f0;
  --md-primary-bg-color--light:    rgba(240,240,240,.75);

  --md-accent-fg-color:            #b8ff57;
  --md-accent-fg-color--transparent: rgba(184,255,87,.12);
  --md-accent-bg-color:            #0a0a0a;

  --md-typeset-color:              #f0f0f0;
  --md-typeset-a-color:            #b8ff57;
  --md-typeset-mark-color:         rgba(184,255,87,.3);

  --md-code-bg-color:              #111111;
  --md-code-fg-color:              #e0e0e0;
  --md-code-hl-color:              rgba(184,255,87,.15);

  --md-admonition-bg-color:        #111111;
  --md-footer-bg-color:            #0a0a0a;
  --md-footer-bg-color--dark:      #000000;
  --md-footer-fg-color:            #6b6b6b;

  /* Nav sidebar bg */
  --bw-nav-bg:     #0d0d0d;
  --bw-border:     #1e1e1e;
  --bw-surface:    #111111;
  --bw-accent:     #b8ff57;
  --bw-accent-dim: rgba(184,255,87,.10);
  --bw-muted:      #6b6b6b;
}

/* ─── GLOBAL LIGHT SCHEME TEXT FIX ───────────────────────── */
/* Material с primary:black держит --md-primary-bg-color:#fff,
   что делает текст белым на светлом фоне. Переопределяем всё. */
[data-md-color-scheme="default"] body,
[data-md-color-scheme="default"] .md-header,
[data-md-color-scheme="default"] .md-header__title,
[data-md-color-scheme="default"] .md-header__button,
[data-md-color-scheme="default"] .md-header__button.md-icon,
[data-md-color-scheme="default"] .md-tabs,
[data-md-color-scheme="default"] .md-tabs__link,
[data-md-color-scheme="default"] .md-nav,
[data-md-color-scheme="default"] .md-nav__title,
[data-md-color-scheme="default"] .md-nav__link,
[data-md-color-scheme="default"] .md-typeset,
[data-md-color-scheme="default"] .md-content,
[data-md-color-scheme="default"] .md-sidebar,
[data-md-color-scheme="default"] .md-search__input {
  color: #111827 !important;
}

/* SVG иконки в шапке (toggle, search, menu) */
[data-md-color-scheme="default"] .md-header .md-icon svg {
  fill: #111827 !important;
}

/* ─── LIGHT SCHEME (#f6f7fb base) ────────────────────────── */
[data-md-color-scheme="default"] {
  --md-default-bg-color:           #f6f7fb;
  --md-default-bg-color--light:    #ffffff;
  --md-default-bg-color--lighter:  #f0f1f5;
  --md-default-bg-color--lightest: #e5e7eb;

  --md-default-fg-color:           #111827;
  --md-default-fg-color--light:    rgba(17,24,39,.75);
  --md-default-fg-color--lighter:  rgba(17,24,39,.45);
  --md-default-fg-color--lightest: rgba(17,24,39,.10);

  --md-primary-fg-color:           #111827;
  --md-primary-fg-color--light:    #1f2937;
  --md-primary-fg-color--dark:     #000000;
  --md-primary-bg-color:           #ffffff;
  --md-primary-bg-color--light:    rgba(255,255,255,.75);

  --md-accent-fg-color:            #84d943;
  --md-accent-fg-color--transparent: rgba(132,217,67,.12);
  --md-accent-bg-color:            #ffffff;

  --md-typeset-color:              #111827;
  --md-typeset-a-color:            #4a9e1a;
  --md-typeset-mark-color:         rgba(132,217,67,.3);

  --md-code-bg-color:              #f3f4f6;
  --md-code-fg-color:              #1f2937;
  --md-code-hl-color:              rgba(132,217,67,.2);

  --md-admonition-bg-color:        #ffffff;
  --md-footer-bg-color:            #111827;
  --md-footer-bg-color--dark:      #0a0a0a;
  --md-footer-fg-color:            #667085;

  --bw-nav-bg:     #ffffff;
  --bw-border:     #c9cdd6;
  --bw-surface:    #ffffff;
  --bw-accent:     #84d943;
  --bw-accent-dim: rgba(132,217,67,.10);
  --bw-muted:      #667085;
}

/* ═══════════════════════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════════════════════ */

body,
.md-typeset,
.md-nav,
.md-search__input {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
}

/* Увеличенный базовый размер для контента */
.md-typeset {
  font-size: 1rem;
  line-height: 1.75;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.md-typeset h1 { font-size: 2.2rem; }
.md-typeset h2 { font-size: 1.55rem; }
.md-typeset h3 { font-size: 1.2rem; }

.md-typeset p,
.md-typeset li {
  font-size: 1rem;
}

.md-typeset code,
.md-typeset pre,
.md-code__content {
  font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
  font-size: 0.88em;
}

/* ═══════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════ */

.md-header {
  background-color: var(--md-default-bg-color) !important;
  border-bottom: 1px solid var(--bw-border) !important;
  box-shadow: none !important;
}

/* Header text & icons — make sure they're visible in both schemes */
.md-header,
.md-header .md-header__title,
.md-header .md-header__button,
.md-header .md-search__input {
  color: var(--md-default-fg-color) !important;
}

[data-md-color-scheme="slate"] .md-header,
[data-md-color-scheme="slate"] .md-header .md-header__button {
  color: #f0f0f0 !important;
}

[data-md-color-scheme="default"] .md-header,
[data-md-color-scheme="default"] .md-header .md-header__button {
  color: #111827 !important;
}

.md-header__title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
}

/* Убираем GitHub ссылку из шапки */
.md-header__source { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   NAVIGATION TABS
   ═══════════════════════════════════════════════════════════ */

.md-tabs {
  background-color: var(--md-default-bg-color) !important;
  border-bottom: 1px solid var(--bw-border) !important;
}

/* Force tab text to be visible in both schemes */
[data-md-color-scheme="default"] .md-tabs__link {
  color: #111827 !important;
}

[data-md-color-scheme="slate"] .md-tabs__link {
  color: #f0f0f0 !important;
}

.md-tabs__link {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  opacity: 0.55;
  transition: opacity 0.2s, color 0.2s;
}

.md-tabs__link:hover,
.md-tabs__link--active {
  opacity: 1 !important;
  color: var(--bw-accent) !important;
}

.md-tabs__link--active::after {
  background-color: var(--bw-accent) !important;
  height: 2px;
  border-radius: 2px 2px 0 0;
}

/* ═══════════════════════════════════════════════════════════
   LEFT SIDEBAR NAVIGATION
   ═══════════════════════════════════════════════════════════ */

.md-sidebar--primary {
  background-color: var(--md-default-bg-color) !important;
  border-right: 1px solid var(--bw-border) !important;
}

/* Section titles */
.md-nav__title {
  font-family: 'Syne', sans-serif !important;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bw-muted) !important;
  padding: 0.6rem 0.8rem 0.3rem;
}

/* Nav items */
.md-nav__item .md-nav__link {
  font-size: 0.84rem;
  font-weight: 400;
  border-radius: 8px;
  padding: 0.42rem 0.75rem;
  margin: 1px 4px;
  transition: background 0.15s ease, color 0.15s ease;
  color: var(--md-default-fg-color--light) !important;
}

.md-nav__item .md-nav__link:hover {
  background: var(--bw-accent-dim) !important;
  color: var(--bw-accent) !important;
}

/* Active nav item */
.md-nav__item--active > .md-nav__link,
.md-nav__link--active {
  background: var(--bw-accent-dim) !important;
  color: var(--bw-accent) !important;
  font-weight: 600 !important;
}

/* Nested nav indent */
.md-nav--secondary .md-nav__link {
  font-size: 0.8rem;
  padding-left: 1.2rem;
  border-left: 2px solid transparent;
  border-radius: 0 8px 8px 0;
  margin-left: 8px;
}

.md-nav--secondary .md-nav__link--active {
  border-left-color: var(--bw-accent) !important;
}

/* TOC headings in left nav (toc.integrate) */
.md-nav--secondary > .md-nav__title {
  display: none;
}

/* ═══════════════════════════════════════════════════════════
   MAIN CONTENT
   ═══════════════════════════════════════════════════════════ */

.md-main {
  background-color: var(--md-default-bg-color) !important;
}

.md-content__inner {
  padding: 1.5rem 1.5rem 2rem;
  max-width: 860px;
}

/* Links */
.md-typeset a {
  color: var(--bw-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s;
}

.md-typeset a:hover {
  border-bottom-color: var(--bw-accent);
}

/* Tables */
.md-typeset table:not([class]) {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--bw-border);
  font-size: 0.85rem;
}

.md-typeset table:not([class]) th {
  background: var(--bw-surface);
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--bw-border);
}

.md-typeset table:not([class]) tr:hover td {
  background: var(--bw-accent-dim);
}

/* Code blocks */
.md-typeset pre {
  border-radius: 12px;
  border: 1px solid var(--bw-border);
}

.md-typeset code {
  border-radius: 5px;
  padding: 0.15em 0.4em;
  background: var(--md-code-bg-color) !important;
  color: var(--bw-accent) !important;
  font-size: 0.83em;
}

.md-typeset pre code {
  color: var(--md-code-fg-color) !important;
}

/* Admonitions (blockquotes / notes) */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 10px;
  border: 1px solid var(--bw-border);
  border-left-width: 3px;
}

/* Blockquotes */
.md-typeset blockquote {
  border-left: 3px solid var(--bw-accent);
  background: var(--bw-accent-dim);
  border-radius: 0 10px 10px 0;
  padding: 0.8rem 1rem;
  color: var(--md-default-fg-color--light);
}

/* ═══════════════════════════════════════════════════════════
   SEARCH
   ═══════════════════════════════════════════════════════════ */

.md-search__input {
  background: var(--bw-surface) !important;
  border: 1px solid var(--bw-border);
  border-radius: 10px !important;
  font-size: 0.85rem;
  color: var(--md-default-fg-color) !important;
}

.md-search__input::placeholder {
  color: var(--md-default-fg-color--lighter) !important;
}

.md-search__input:focus {
  border-color: var(--bw-accent) !important;
  box-shadow: 0 0 0 3px var(--bw-accent-dim);
}

/* Результаты поиска */
[data-md-color-scheme="default"] .md-search-result__meta,
[data-md-color-scheme="default"] .md-search-result__title,
[data-md-color-scheme="default"] .md-search-result__teaser,
[data-md-color-scheme="default"] .md-search__output {
  color: #111827 !important;
  background-color: #ffffff !important;
}

[data-md-color-scheme="default"] .md-search-result__item {
  background-color: #ffffff !important;
}

[data-md-color-scheme="default"] .md-search-result__link:hover,
[data-md-color-scheme="default"] .md-search-result__link:focus {
  background-color: var(--bw-accent-dim) !important;
}

/* ═══════════════════════════════════════════════════════════
   LOGO
   ═══════════════════════════════════════════════════════════ */

.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 2rem;
  width: auto;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */

.md-footer {
  background-color: var(--md-default-bg-color) !important;
  border-top: 1px solid var(--bw-border);
}

.md-footer-meta {
  background-color: var(--md-default-bg-color) !important;
}

.md-footer__link {
  color: var(--bw-muted) !important;
  font-size: 0.82rem;
}

.md-footer__link:hover { color: var(--bw-accent) !important; }

/* Copyright */
.md-footer-copyright {
  font-size: 0.78rem;
  color: var(--bw-muted);
}

.md-footer-copyright strong {
  color: var(--bw-accent);
  font-weight: 600;
}

/* Убираем "Made with Material for MkDocs" */
.md-footer-copyright__highlight {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   SCROLLBAR (modern thin style)
   ═══════════════════════════════════════════════════════════ */

::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--bw-border);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--bw-muted); }

/* ═══════════════════════════════════════════════════════════
   CONTENT CARDS (task cards look)
   ═══════════════════════════════════════════════════════════ */

/* First h1 accent underline */
.md-typeset h1::after {
  content: '';
  display: block;
  width: 3rem;
  height: 3px;
  background: var(--bw-accent);
  border-radius: 2px;
  margin-top: 0.5rem;
}

/* Highlight checkboxes */
.md-typeset .task-list-control .task-list-indicator::before {
  border-color: var(--bw-border);
}

.md-typeset [type="checkbox"]:checked + .task-list-control .task-list-indicator::before {
  background-color: var(--bw-accent);
  border-color: var(--bw-accent);
}

/* ═══════════════════════════════════════════════════════════
   HOME PAGE — HERO (первый h1 + подзаголовок + кнопки)
   ═══════════════════════════════════════════════════════════ */

/* Крупный h1 на главной */
.md-content__inner > .md-typeset h1:first-child {
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  margin-bottom: 0.5rem !important;
}

/* Подзаголовок (первый <p> после h1) */
.md-content__inner > .md-typeset h1:first-child + p strong {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--md-default-fg-color--light);
}

/* Кнопки — разделить горизонтально */
.md-typeset .md-button {
  margin: 0.25rem 0.35rem 1rem 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   HOME PAGE — STATS ROW
   ═══════════════════════════════════════════════════════════ */

.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.stat-card {
  background: var(--bw-surface);
  border: 1px solid var(--bw-border);
  border-radius: 14px;
  padding: 1.4rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  transition: border-color 0.2s, transform 0.2s;
}

.stat-card:hover {
  border-color: var(--bw-accent);
  transform: translateY(-2px);
}

.stat-number {
  font-family: 'Syne', sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--bw-accent);
  line-height: 1;
  white-space: nowrap;
}

.stat-label {
  font-size: 0.82rem;
  color: var(--bw-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ═══════════════════════════════════════════════════════════
   HOME PAGE — GRID CARDS (Material built-in, overrides)
   ═══════════════════════════════════════════════════════════ */

.md-typeset .grid.cards > ul > li,
.md-typeset .grid.cards > ol > li {
  border: 1px solid var(--bw-border) !important;
  border-radius: 14px !important;
  padding: 1.4rem !important;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  background: var(--bw-surface) !important;
}

.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid.cards > ol > li:hover {
  border-color: var(--bw-accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.md-typeset .grid.cards .lg {
  font-size: 2rem;
}
