/* ==========================================================================
   Neo3 core — единый слой всего портала neo3.ru
   --------------------------------------------------------------------------
   SOURCE OF TRUTH: neo3-hub/shared/neo3.css
   Правится ТОЛЬКО здесь. Копии по origin'ам раскладывает shared/sync.sh,
   расхождения ловит shared/check-drift.mjs. Канон визуала — neo3-hub/DESIGN.md.

   Файл содержит только то, что должно меняться на всём портале сразу:
   токены цвета, шрифтов и движения + фирменные @keyframes.
   Компонентный CSS (карточки, секции, hero) остаётся в своей странице —
   он у каждой страницы законно свой.

   ВАЖНО: подключать ДО собственного <style> страницы, иначе страница
   не сможет переопределить базу там, где ей это нужно.
   ========================================================================== */

:root {
  /* --- цвет ------------------------------------------------------------- */
  --bg: #070504;                        /* тёплый почти-чёрный фон */
  --fg: #fff4ea;                        /* тёплый белый текст */
  --muted: #a4937f;                     /* приглушённый песочный */
  --card: rgba(255, 255, 255, .04);     /* поверхность карточки */
  --line: rgba(255, 255, 255, .08);     /* волосяная граница */
  --a: #f7931a;                         /* акцент — оранжевый биткоина */
  --a2: #ffb866;                        /* светлый акцент */
  --gold: #ffd9a0;                      /* только внутри градиентов */
  --glow: rgba(247, 147, 26, .55);      /* свечение */
  --glow-soft: rgba(247, 147, 26, .22); /* мягкое свечение */

  /* --- шрифты ----------------------------------------------------------- */
  /* Роль → семейство. Смена шрифта портала = правка одной строки здесь.
     Литеральное font-family:'Jura',sans-serif в страницах — регресс. */
  --font-logo: 'Russo One', sans-serif;
  --font-display: 'Roboto Flex', sans-serif;
  --font-head: 'Jura', sans-serif;
  --font-body: 'Golos Text', -apple-system, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;

  /* --- движение --------------------------------------------------------- */
  /* Резкий старт, мягкое торможение. Bounce и elastic запрещены. */
  --ease-surface: cubic-bezier(.16, 1, .3, 1); /* поверхности: карточки, reveal */
  --ease-control: cubic-bezier(.2, .8, .2, 1); /* управление: кнопки, чипы */
}

/* ==========================================================================
   Выход на портал.
   Бейдж в шапке КАЖДОЙ не-главной страницы: гарантированный путь на neo3.ru
   в один клик, без прокрутки до подвала. Логотип не трогаем — на хабе на нём
   висит секретный жест (5 тапов), а на портфолио он уже ведёт на портал.
   Разметка: <div class="nav-left"> логотип + бейдж </div>
   ========================================================================== */

.nav-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.home-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--muted);
  background: rgba(255, 255, 255, .04);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 11px;
  transition: color .18s var(--ease-control),
              border-color .18s var(--ease-control),
              background .18s var(--ease-control);
}

.home-badge:hover {
  color: var(--a);
  border-color: var(--a);
  background: rgba(247, 147, 26, .08);
}

/* Стрелка — акцентом: направление «назад» читается раньше, чем текст. */
.home-badge::first-letter { color: var(--a) }

/* На узких экранах бейдж поджимается — место в шапке дороже разрядки. */
@media (max-width: 560px) {
  .home-badge { padding: 5px 9px; letter-spacing: 1px; font-size: 10px }
}

/* ==========================================================================
   Фирменные анимации портала.
   Живут здесь, потому что должны звучать одинаково на всех страницах.
   Уникальные для одной страницы (arrowFly, speedDash, waveEq, orbit)
   остаются в самой странице.
   ========================================================================== */

/* Пульс главной CTA. Значения приглушённые — решение от 2026-07-12
   «пересветы уменьшить». Яркая версия (20px/-2px → 34px/2px var(--glow))
   отвергнута, возвращать нельзя. */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 6px 16px -4px var(--glow-soft) }
  50%      { box-shadow: 0 8px 24px -2px rgba(247, 147, 26, .38) }
}

/* Белый блик, пробегающий по кнопке. */
@keyframes shine {
  0%        { left: -160% }
  55%, 100% { left: 170% }
}

/* Мерцание точки-индикатора. */
@keyframes blink {
  50% { opacity: .28 }
}

/* Появление блока снизу. */
@keyframes rise {
  from { opacity: 0; transform: translateY(20px) }
  to   { opacity: 1; transform: none }
}

/* Переливающийся градиентный текст (hero-заголовки). */
@keyframes flow {
  to { background-position: -200% 0 }
}

/* Дыхание ореола у крупных иконок. */
@keyframes breathe {
  0%, 100% { filter: drop-shadow(0 0 20px rgba(247, 147, 26, .22)) }
  50%      { filter: drop-shadow(0 0 44px rgba(247, 147, 26, .6)) }
}

/* Неоновая вывеска: мерцание логотипной «3». Приглушено там же, 2026-07-12. */
@keyframes neonFlicker {
  0%, 4%, 8%, 44%, 48%, 100% {
    opacity: 1;
    text-shadow: 0 0 26px rgba(247, 147, 26, .42), 0 0 12px rgba(247, 147, 26, .35)
  }
  6%, 46% { opacity: .55; text-shadow: 0 0 6px var(--glow-soft) }
}

/* Блик по логотипу. */
@keyframes logoSheen {
  0%        { background-position: 130% 50% }
  22%, 100% { background-position: -30% 50% }
}

/* Бегущая градиентная обводка карточки. */
@keyframes borderFlow {
  to { background-position: 200% 50% }
}

/* Перелив по заголовку карточки. */
@keyframes titleSheen {
  to { background-position: -250% 50% }
}
