/* ═══════════════════════════════════════════════════════════════════════════
   ABGUL — «AURORA» Modern Design System v1.0
   ═══════════════════════════════════════════════════════════════════════════
   Кардинально новый современный дизайн: стеклянные панели (glassmorphism),
   северное сияние на фоне, крупная геометричная типографика, pill-кнопки,
   плавные «подъёмы» карточек и мягкие цветные свечения.

   Палитра «Aurora»:
   • Deep Space — глубокий синевато-чёрный космос #070a12
   • Aurora Violet → Cyan — фирменный градиент #8b5cf6 → #22d3ee
   • Pink Flare — третий луч сияния #f472b6
   • Glass — полупрозрачные панели с backdrop-blur

   БЕЗОПАСНОСТЬ: чисто аддитивный слой поверх существующих стилей.
   Меняются только визуальные свойства. Откат = удалить одну строку
   <link> из templates/base.html.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 0. Современная геометричная типографика без внешнего блокирующего запроса ─── */

/* ─── 1. Токены AURORA (тёмная тема — «глубокий космос») ─── */
:root {
  /* Космос */
  --au-space: #070a12;
  --au-space-2: #0a0f1a;
  --au-glass: rgba(255, 255, 255, 0.045);
  --au-glass-2: rgba(255, 255, 255, 0.07);
  --au-glass-3: rgba(255, 255, 255, 0.1);
  --au-glass-border: rgba(255, 255, 255, 0.09);
  --au-glass-border-strong: rgba(139, 92, 246, 0.45);

  /* Лучи сияния */
  --au-violet: #8b5cf6;
  --au-violet-soft: #a78bfa;
  --au-cyan: #22d3ee;
  --au-cyan-soft: #67e8f9;
  --au-pink: #f472b6;
  --au-gradient: linear-gradient(120deg, #8b5cf6 0%, #6366f1 35%, #22d3ee 100%);
  --au-gradient-soft: linear-gradient(120deg, rgba(139, 92, 246, 0.16), rgba(34, 211, 238, 0.12));
  --au-violet-glow: rgba(139, 92, 246, 0.35);
  --au-cyan-glow: rgba(34, 211, 238, 0.28);

  /* Текст */
  --au-text: #f2f5fa;
  --au-text-dim: #a3aec2;
  --au-text-muted: #98a5bc;

  /* Рамки, тени, радиусы */
  --au-border: rgba(255, 255, 255, 0.08);
  --au-shadow: 0 12px 40px rgba(2, 6, 18, 0.55);
  --au-shadow-lg: 0 24px 70px rgba(2, 6, 18, 0.65);
  --au-shadow-glow: 0 12px 44px rgba(139, 92, 246, 0.18);
  --au-radius: 20px;
  --au-radius-sm: 14px;
  --au-radius-lg: 28px;
  --au-radius-pill: 999px;

  /* Типографика */
  --au-font-display: 'Segoe UI Variable Display', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --au-font-body: 'Segoe UI Variable Text', 'Segoe UI', system-ui, -apple-system, sans-serif;

  /* ── Маппинг на базовые токены style.css ── */
  --bg: var(--au-space-2);
  --panel: rgba(255, 255, 255, 0.05);
  --panel-2: rgba(255, 255, 255, 0.07);
  --panel-3: rgba(255, 255, 255, 0.1);
  --border: var(--au-border);
  --text: var(--au-text);
  --muted: var(--au-text-dim);
  --soft: var(--au-text-muted);
  --blue: var(--au-cyan);
  --blue-2: #0ea5c4;
  --shadow: var(--au-shadow);
  --radius: var(--au-radius);
  --radius-sm: var(--au-radius-sm);

  /* ── Маппинг на токены Aether Forge ── */
  --af-void: var(--au-space);
  --af-void-2: var(--au-space-2);
  --af-void-3: #0d1322;
  --af-void-4: #111a2e;
  --af-void-5: #16223a;
  --af-void-6: #1d2c48;
  --af-forge: var(--au-violet);
  --af-forge-soft: var(--au-violet-soft);
  --af-forge-dim: #7c3aed;
  --af-forge-glow: var(--au-violet-glow);
  --af-forge-glow-strong: rgba(139, 92, 246, 0.55);
  --af-molten: var(--au-cyan);
  --af-molten-soft: var(--au-cyan-soft);
  --af-molten-dim: var(--au-cyan-soft);
  --af-molten-glow: var(--au-cyan-glow);
  --af-spark: var(--au-pink);
  --af-spark-soft: #f9a8d4;
  --af-spark-glow: rgba(244, 114, 182, 0.3);
  --af-steel: #8b96ad;
  --af-steel-dim: #6b7690;
  --af-steel-bright: #b9c2d6;
  --af-text: var(--au-text);
  --af-text-dim: var(--au-text-dim);
  --af-text-muted: var(--au-text-muted);
  --af-border: var(--au-border);
  --af-border-hover: var(--au-glass-border-strong);
  --af-border-active: rgba(34, 211, 238, 0.5);
  --af-surface: linear-gradient(160deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  --af-surface-raised: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04));
  --af-surface-inset: rgba(4, 8, 16, 0.55);
  --af-shadow-forge: var(--au-shadow-glow);
  --af-shadow-molten: 0 8px 32px rgba(34, 211, 238, 0.12);
  --af-radius: var(--au-radius);
  --af-radius-sm: var(--au-radius-sm);
  --af-radius-lg: var(--au-radius-lg);
  --af-font-heading: var(--au-font-display);
  --af-font-body: var(--au-font-body);
}

/* ─── 2. Светлая тема — «утреннее сияние» ─── */
body[data-theme="light"] {
  --au-space: #eef1f8;
  --au-space-2: #f4f6fb;
  --au-glass: rgba(255, 255, 255, 0.65);
  --au-glass-2: rgba(255, 255, 255, 0.8);
  --au-glass-3: rgba(255, 255, 255, 0.95);
  --au-glass-border: rgba(15, 23, 42, 0.08);
  --au-glass-border-strong: rgba(124, 58, 237, 0.4);

  --au-violet: #7c3aed;
  --au-violet-soft: #8b5cf6;
  --au-cyan: #0891b2;
  --au-cyan-soft: #06b6d4;
  --au-pink: #db2777;
  --au-violet-glow: rgba(124, 58, 237, 0.22);
  --au-cyan-glow: rgba(8, 145, 178, 0.18);

  --au-text: #101828;
  --au-text-dim: #475467;
  --au-text-muted: #596980;

  --au-border: rgba(15, 23, 42, 0.09);
  --au-shadow: 0 14px 40px rgba(30, 41, 72, 0.12);
  --au-shadow-lg: 0 26px 70px rgba(30, 41, 72, 0.18);
  --au-shadow-glow: 0 12px 40px rgba(124, 58, 237, 0.14);

  --bg: var(--au-space-2);
  --panel: rgba(255, 255, 255, 0.7);
  --panel-2: rgba(255, 255, 255, 0.85);
  --panel-3: #ffffff;
  --border: var(--au-border);
  --text: var(--au-text);
  --muted: var(--au-text-dim);
  --soft: var(--au-text-muted);
  --shadow: var(--au-shadow);

  --af-void: var(--au-space);
  --af-void-2: var(--au-space-2);
  --af-void-3: #e4e9f4;
  --af-void-4: #d9e0ef;
  --af-void-5: #cdd6e8;
  --af-void-6: #bfcae0;
  --af-forge: var(--au-violet);
  --af-forge-soft: var(--au-violet-soft);
  --af-forge-dim: #6d28d9;
  --af-forge-glow: var(--au-violet-glow);
  --af-forge-glow-strong: rgba(124, 58, 237, 0.38);
  --af-molten: var(--au-cyan);
  --af-molten-soft: var(--au-cyan-soft);
  --af-molten-dim: var(--au-cyan-soft);
  --af-molten-glow: var(--au-cyan-glow);
  --af-spark: var(--au-pink);
  --af-spark-soft: #ec4899;
  --af-spark-glow: rgba(219, 39, 119, 0.22);
  --af-text: var(--au-text);
  --af-text-dim: var(--au-text-dim);
  --af-text-muted: var(--au-text-muted);
  --af-border: var(--au-border);
  --af-border-hover: var(--au-glass-border-strong);
  --af-border-active: rgba(8, 145, 178, 0.45);
  --af-surface: linear-gradient(160deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.6));
  --af-surface-raised: linear-gradient(160deg, #ffffff, rgba(255, 255, 255, 0.75));
  --af-surface-inset: rgba(238, 241, 248, 0.8);
  --af-shadow-forge: var(--au-shadow-glow);
}

/* ─── 3. Фон — северное сияние + зерно ─── */
html { background: var(--au-space); }

body {
  background:
    radial-gradient(900px 600px at 12% -8%, rgba(139, 92, 246, 0.22), transparent 60%),
    radial-gradient(800px 550px at 88% 6%, rgba(34, 211, 238, 0.16), transparent 60%),
    radial-gradient(700px 700px at 50% 115%, rgba(244, 114, 182, 0.1), transparent 60%),
    var(--au-space-2);
  background-attachment: fixed;
  color: var(--au-text);
  font-family: var(--au-font-body);
  letter-spacing: -0.005em;
}

/* Плёночное зерно поверх — современная «киношная» текстура */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}

body[data-theme="light"] {
  background:
    radial-gradient(900px 600px at 12% -8%, rgba(139, 92, 246, 0.14), transparent 60%),
    radial-gradient(800px 550px at 88% 6%, rgba(34, 211, 238, 0.12), transparent 60%),
    radial-gradient(700px 700px at 50% 115%, rgba(244, 114, 182, 0.08), transparent 60%),
    var(--au-space-2);
  background-attachment: fixed;
}

body[data-theme="light"]::after { opacity: 0.035; }

::selection {
  background: rgba(139, 92, 246, 0.4);
  color: #ffffff;
}

body[data-theme="light"] ::selection {
  background: rgba(124, 58, 237, 0.25);
  color: #101828;
}

/* ─── 4. Заголовки — крупный геометричный дисплей ─── */
h1, h2, h3, .brand__title, .modal__header h2 {
  font-family: var(--au-font-display);
  letter-spacing: -0.01em;
}

.mw-card h2, .panel h2, .subpanel h2 {
  font-size: 17px;
  font-weight: 600;
  color: var(--au-text);
}

/* ─── 5. Топ-бар — парящая стеклянная панель ─── */
.topbar {
  position: relative;
  background: rgba(13, 19, 34, 0.72) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  border: 1px solid var(--au-glass-border) !important;
  border-radius: var(--au-radius-pill) !important;
  box-shadow: var(--au-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  /* Menus, profile popovers and notification badges extend outside the bar. */
  overflow: visible;
}

body[data-theme="light"] .topbar {
  background: rgba(255, 255, 255, 0.7) !important;
}

@media (max-width: 720px), (prefers-reduced-motion: reduce) {
  body {
    background-attachment: scroll;
  }

  body::after {
    display: none;
  }
}

/* Тонкая aurora-нить по нижней кромке топ-бара */
.topbar::before {
  content: "";
  position: absolute;
  left: 8%; right: 8%;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--au-gradient);
  opacity: 0.85;
  filter: blur(0.5px);
  pointer-events: none;
}

.brand__title {
  font-weight: 700;
  letter-spacing: 0.1em;
  background: var(--au-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.brand__subtitle {
  color: var(--au-text-dim);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.brand__mark {
  border-radius: 50%;
  background: var(--au-glass-2);
  border: 1px solid var(--au-glass-border);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 0 24px var(--au-violet-glow);
}

/* ─── 6. Навигация — pill-капсулы ─── */
.site-main-nav__link {
  border-radius: var(--au-radius-pill);
  color: var(--au-text-dim);
  font-weight: 600;
  transition: color 0.18s ease, background 0.18s ease, box-shadow 0.2s ease;
}

.site-main-nav__link:hover {
  color: var(--au-text);
  background: var(--au-glass-2);
}

.site-main-nav__link.is-active {
  color: #ffffff;
  background: var(--au-gradient);
  box-shadow: 0 6px 20px var(--au-violet-glow);
}

body[data-theme="light"] .site-main-nav__link:hover {
  background: rgba(255, 255, 255, 0.9);
}

/* ─── 7. Кнопки — pill с aurora-градиентом ─── */
.btn {
  border: 1px solid transparent;
  border-radius: var(--au-radius-pill);
  clip-path: none;
  font-family: var(--au-font-body);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.18s ease, box-shadow 0.22s ease, filter 0.18s ease;
}

.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(0.98); }

/* Перекрытие high-specificity правил Aether Forge теми же селекторами */
.btn:not(.btn--ghost):not(.btn--secondary) {
  background: var(--au-gradient);
  background-size: 180% 180%;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(20, 10, 50, 0.3);
  box-shadow:
    0 8px 26px var(--au-violet-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.btn:not(.btn--ghost):not(.btn--secondary):hover {
  box-shadow:
    0 14px 38px var(--au-violet-glow),
    0 0 46px var(--au-cyan-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  filter: brightness(1.08);
}

.btn:not(.btn--ghost):not(.btn--secondary):active {
  box-shadow: 0 4px 14px var(--au-violet-glow);
}

.btn--ghost {
  background: var(--au-glass);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--au-text);
  border-color: var(--au-glass-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.btn--ghost:hover {
  background: var(--au-glass-2);
  border-color: var(--au-glass-border-strong);
  color: var(--au-text);
  box-shadow: 0 8px 24px rgba(2, 6, 18, 0.35), 0 0 20px var(--au-violet-glow);
}

body[data-theme="light"] .btn--ghost:hover {
  box-shadow: 0 8px 24px rgba(30, 41, 72, 0.14), 0 0 20px var(--au-violet-glow);
}

.btn--secondary {
  background: var(--au-gradient-soft);
  color: var(--au-cyan);
  border-color: rgba(34, 211, 238, 0.3);
}

.btn--secondary:hover {
  background: linear-gradient(120deg, rgba(139, 92, 246, 0.22), rgba(34, 211, 238, 0.18));
  border-color: rgba(34, 211, 238, 0.5);
  box-shadow: 0 8px 24px var(--au-cyan-glow);
}

/* ─── 8. Карточки — стеклянные bento-панели ─── */
.mw-card, .panel, .subpanel, .viewer-card, .builder-card,
.info-card, .hint-card, .selected-model, .template-item,
.community-card, .generative-card, .shop-card,
.auth-card, .stat-card, .request-card {
  background: var(--au-glass);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid var(--au-glass-border);
  border-radius: var(--au-radius);
  box-shadow: var(--au-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: transform 0.22s ease, border-color 0.2s ease, box-shadow 0.25s ease;
}

.mw-card:hover, .panel:hover, .community-card:hover,
.generative-card:hover, .shop-card:hover, .info-card:hover,
.template-item:hover, .selected-model:hover, .stat-card:hover,
.request-card:hover, .hint-card:hover {
  transform: translateY(-3px);
  border-color: var(--au-glass-border-strong);
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.mw-card__header, .panel__header {
  border-bottom: 1px solid var(--au-border);
  padding-bottom: 10px;
}

.selected-model.is-active, .template-item.is-active,
.builder-nav__item.is-active {
  border-color: var(--au-glass-border-strong);
  background: var(--au-gradient-soft);
  box-shadow: var(--au-shadow), 0 0 30px var(--au-violet-glow);
}

/* ─── 9. Поля ввода — стекло + кольцо сияния ─── */
input[type="text"], input[type="search"], input[type="email"],
input[type="password"], input[type="number"], input[type="url"],
input[type="tel"], textarea, select {
  background: rgba(4, 8, 16, 0.45);
  border: 1px solid var(--au-border);
  border-radius: var(--au-radius-sm);
  color: var(--au-text);
  transition: border-color 0.16s ease, box-shadow 0.22s ease, background 0.2s ease;
}

body[data-theme="light"] input[type="text"], body[data-theme="light"] input[type="search"],
body[data-theme="light"] input[type="email"], body[data-theme="light"] input[type="password"],
body[data-theme="light"] input[type="number"], body[data-theme="light"] input[type="url"],
body[data-theme="light"] input[type="tel"], body[data-theme="light"] textarea,
body[data-theme="light"] select {
  background: rgba(255, 255, 255, 0.85);
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--au-violet);
  box-shadow:
    0 0 0 4px rgba(139, 92, 246, 0.18),
    0 0 28px var(--au-violet-glow);
}

input::placeholder, textarea::placeholder { color: var(--au-text-muted); }

.form-stack label, .field label { color: var(--au-text-dim); font-weight: 600; }

/* ─── 10. Пилюли, бейджи, чипы ─── */
.pill {
  background: var(--au-gradient-soft);
  color: var(--au-violet-soft);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: var(--au-radius-pill);
  font-weight: 700;
  letter-spacing: 0.03em;
}

body[data-theme="light"] .pill { color: var(--au-violet); }

.chip.is-active, .generatives-chip.is-active {
  background: var(--au-gradient);
  color: #ffffff;
  border-color: transparent;
  border-radius: var(--au-radius-pill);
  font-weight: 700;
  box-shadow: 0 6px 18px var(--au-violet-glow);
}

/* ─── 11. Модальные окна и выпадающие меню — стекло ─── */
.modal__backdrop {
  background: rgba(4, 7, 14, 0.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.modal__dialog {
  background: rgba(13, 19, 34, 0.86);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  backdrop-filter: blur(24px) saturate(1.4);
  border: 1px solid var(--au-glass-border);
  border-top: 1px solid rgba(139, 92, 246, 0.5);
  border-radius: var(--au-radius-lg);
  box-shadow: var(--au-shadow-lg), 0 0 60px rgba(139, 92, 246, 0.12);
}

body[data-theme="light"] .modal__dialog {
  background: rgba(255, 255, 255, 0.9);
}

.modal__header h2 { color: var(--au-text); }

.modal__close {
  background: var(--au-glass-2);
  border: 1px solid var(--au-glass-border);
  color: var(--au-text);
  border-radius: 50%;
}

.modal__close:hover {
  border-color: var(--au-glass-border-strong);
  color: var(--au-violet-soft);
  box-shadow: 0 0 18px var(--au-violet-glow);
}

.customer-profile-menu, .viewer-toolbar-menu__section,
.extension-install-dialog, .admin-panel-modal {
  background: rgba(13, 19, 34, 0.9);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid var(--au-glass-border);
  border-radius: var(--au-radius);
  box-shadow: var(--au-shadow-lg);
}

body[data-theme="light"] .customer-profile-menu,
body[data-theme="light"] .viewer-toolbar-menu__section,
body[data-theme="light"] .extension-install-dialog,
body[data-theme="light"] .admin-panel-modal {
  background: rgba(255, 255, 255, 0.92);
}

/* ─── 12. Флеш-сообщения ─── */
.flash {
  background: var(--au-glass);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--au-glass-border);
  border-radius: var(--au-radius-sm);
  color: var(--au-text);
}

.flash--success {
  border-color: rgba(52, 211, 153, 0.4);
  box-shadow: inset 3px 0 0 #34d399;
}

.flash--error {
  border-color: rgba(251, 113, 133, 0.4);
  box-shadow: inset 3px 0 0 #fb7185;
}

/* ─── 13. Прелоадер — «зарождение сияния» ─── */
.app-preloader {
  background:
    radial-gradient(circle at 50% 30%, rgba(139, 92, 246, 0.18), transparent 42%),
    radial-gradient(circle at 70% 70%, rgba(34, 211, 238, 0.1), transparent 40%),
    linear-gradient(160deg, #070a12 0%, #0a0f1a 55%, #0d1322 100%) !important;
}

.app-preloader__mark-wrap {
  background: rgba(139, 92, 246, 0.1) !important;
  border: 1px solid rgba(139, 92, 246, 0.35) !important;
  border-radius: 32px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.4), 0 0 54px var(--au-violet-glow) !important;
}

.app-preloader__bar { background: rgba(255, 255, 255, 0.08) !important; }

.app-preloader__bar-fill {
  background: var(--au-gradient) !important;
  box-shadow: 0 0 26px var(--au-violet-glow) !important;
}

/* ─── 14. Скроллбары ─── */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(139, 92, 246, 0.4) transparent;
}

*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }

*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(139, 92, 246, 0.5), rgba(34, 211, 238, 0.4));
  border-radius: 8px;
  border: 2px solid var(--au-space-2);
}

*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(139, 92, 246, 0.75), rgba(34, 211, 238, 0.6));
}

/* ─── 15. Микро-подписи ─── */
.section-kicker, .extension-install-dialog__eyebrow {
  font-family: var(--au-font-body);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 10.5px;
  background: var(--au-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.section-kicker::before { content: none; }

/* ─── 16. Иконочные кнопки топ-бара ─── */
.topbar-icon-btn {
  background: var(--au-glass);
  border: 1px solid var(--au-glass-border);
  border-radius: 50%;
  color: var(--au-text-dim);
  transition: border-color 0.16s ease, color 0.16s ease, box-shadow 0.2s ease, transform 0.16s ease;
}

.topbar-icon-btn:hover {
  border-color: var(--au-glass-border-strong);
  color: var(--au-violet-soft);
  box-shadow: 0 0 20px var(--au-violet-glow);
  transform: translateY(-1px);
}

.topbar-icon-btn__badge {
  background: var(--au-gradient);
  color: #ffffff;
}

/* ─── 17. Подвал ─── */
.site-public-footer {
  border-top: 1px solid var(--au-border);
  color: var(--au-text-muted);
}

.site-public-footer a:hover { color: var(--au-violet-soft); }

/* ─── 18. Ссылки ─── */
a { transition: color 0.16s ease; }

/* ─── 19. Доступность ─── */
@media (prefers-reduced-motion: reduce) {
  .btn, .mw-card, .panel, .topbar-icon-btn, .site-main-nav__link { transition: none; }
  .mw-card:hover, .panel:hover, .community-card:hover, .generative-card:hover,
  .shop-card:hover, .info-card:hover, .template-item:hover,
  .selected-model:hover, .btn:hover { transform: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   AURORA v2 — ENGAGEMENT PACK
   «Чтобы хотели зайти и не хотели уходить»: живой дрейфующий фон,
   каскадное появление карточек при скролле, свечение, следующее за курсором,
   блик на кнопках, мягкие микро-анимации. Всё — прогрессивное улучшение:
   без JS и при reduced-motion сайт выглядит статично, но полноценно.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 20. Живой фон — медленный дрейф сияния ─── */
body {
  animation: auAuroraDrift 36s ease-in-out infinite alternate;
}

@keyframes auAuroraDrift {
  0% {
    background-position: 0% 0%, 0% 0%, 0% 0%, 0 0;
  }
  50% {
    background-position: 6% 4%, -5% 6%, 4% -6%, 0 0;
  }
  100% {
    background-position: -4% 8%, 6% -4%, -6% 5%, 0 0;
  }
}

/* ─── 21. Каскадное появление при скролле (классы добавляет abgul-aurora.js) ─── */
.au-reveal {
  opacity: 0;
  transform: translateY(22px) scale(0.985);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.au-reveal.au-in {
  opacity: 1;
  transform: none;
}

/* ─── 22. Свечение, следующее за курсором (переменные ставит JS) ─── */
.mw-card, .panel, .community-card, .generative-card,
.shop-card, .info-card, .stat-card, .request-card {
  background-color: var(--au-glass);
  background-image: radial-gradient(
    280px circle at var(--au-mx, 50%) var(--au-my, -20%),
    rgba(139, 92, 246, 0.13),
    rgba(244, 114, 182, 0.035) 45%,
    transparent 70%
  );
  background-repeat: no-repeat;
}

body[data-theme="light"] .mw-card, body[data-theme="light"] .panel,
body[data-theme="light"] .community-card, body[data-theme="light"] .generative-card,
body[data-theme="light"] .shop-card, body[data-theme="light"] .info-card,
body[data-theme="light"] .stat-card, body[data-theme="light"] .request-card {
  background-image: radial-gradient(
    280px circle at var(--au-mx, 50%) var(--au-my, -20%),
    rgba(124, 58, 237, 0.09),
    rgba(219, 39, 119, 0.025) 45%,
    transparent 70%
  );
}

/* ─── 23. Кнопки — пробегающий блик при наведении ─── */
.btn:not(.btn--ghost):not(.btn--secondary)::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -70%;
  width: 45%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: skewX(-18deg);
  transition: left 0.55s ease;
  pointer-events: none;
  z-index: 1;
}

.btn:not(.btn--ghost):not(.btn--secondary):hover::after {
  left: 125%;
}

/* AURORA UNIVERSAL BUTTON FEEDBACK
   Every command gets the same tactile response without changing its layout.
   Large media/upload surfaces are deliberately excluded: they are interactive
   work areas, not compact buttons. */
:where(
  button:not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow),
  a.btn,
  a[role="button"],
  .site-main-nav__link
) {
  transform-origin: center;
  transition:
    transform 0.16s ease,
    filter 0.16s ease,
    box-shadow 0.2s ease,
    border-color 0.16s ease;
}

button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):hover,
a.btn:not([aria-disabled="true"]):hover,
a[role="button"]:not([aria-disabled="true"]):hover,
.site-main-nav__link:hover {
  filter: brightness(1.07) saturate(1.08);
  border-color: var(--au-glass-border-strong);
  box-shadow:
    0 0 0 1px rgba(139, 92, 246, 0.16),
    0 8px 24px var(--au-violet-glow);
  transform: translateY(-1px);
}

body[data-theme="light"] button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):hover,
body[data-theme="light"] a.btn:not([aria-disabled="true"]):hover,
body[data-theme="light"] a[role="button"]:not([aria-disabled="true"]):hover,
body[data-theme="light"] .site-main-nav__link:hover {
  box-shadow:
    0 0 0 1px rgba(124, 58, 237, 0.14),
    0 8px 22px rgba(71, 85, 140, 0.18);
}

button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):active,
a.btn:not([aria-disabled="true"]):active,
a[role="button"]:not([aria-disabled="true"]):active,
.site-main-nav__link:active {
  filter: brightness(0.98);
  box-shadow: 0 2px 10px var(--au-violet-glow);
  transform: translateY(0) scale(0.98);
  transition-duration: 0.08s;
}

button:disabled,
button[aria-disabled="true"],
a.btn[aria-disabled="true"],
a[role="button"][aria-disabled="true"] {
  filter: none;
  transform: none;
}

/* ─── 24. Топ-бар — состояние «страница прокручена» (класс от JS) ─── */
.topbar.au-scrolled {
  box-shadow:
    0 18px 50px rgba(2, 6, 18, 0.6),
    0 0 34px rgba(139, 92, 246, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(139, 92, 246, 0.25) !important;
}

body[data-theme="light"] .topbar.au-scrolled {
  box-shadow:
    0 18px 46px rgba(30, 41, 72, 0.18),
    0 0 30px rgba(124, 58, 237, 0.1) !important;
}

/* ─── 25. Карточки сообщества — премиальный отклик ─── */
body.home-page .community-card {
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.2s ease, box-shadow 0.3s ease;
}

body.home-page .community-card:hover {
  transform: translateY(-5px);
}

body.home-page .community-card:hover .community-card__media img {
  filter: brightness(1.08) saturate(1.1);
}

.community-like-btn {
  transition: transform 0.18s ease, color 0.18s ease;
}

.community-like-btn:hover {
  transform: scale(1.18);
  color: var(--au-pink);
}

.community-like-btn:active {
  transform: scale(0.92);
}

/* Теги — стеклянные капсулы */
body.home-page .community-card__tags span {
  background: var(--au-glass-2);
  border: 1px solid var(--au-glass-border);
  border-radius: var(--au-radius-pill);
}

/* ─── 26. Иконка бренда — дыхание сияния ─── */
.brand__mark {
  animation: auBrandBreath 4.5s ease-in-out infinite;
}

@keyframes auBrandBreath {
  0%, 100% { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 0 18px var(--au-violet-glow); }
  50% { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 0 34px var(--au-violet-glow), 0 0 18px var(--au-cyan-glow); }
}

/* ─── 27. Доступность: видимый фокус с клавиатуры ─── */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--au-violet);
  outline-offset: 2px;
}

.btn:focus-visible, .site-main-nav__link:focus-visible,
.topbar-icon-btn:focus-visible {
  outline-color: var(--au-cyan);
}

/* ─── 28. Плавность для интерактива, уважение к reduced-motion ─── */
@media (prefers-reduced-motion: reduce) {
  body { animation: none; }
  .brand__mark { animation: none; }
  .au-reveal { opacity: 1; transform: none; transition: none; }
  .btn:not(.btn--ghost):not(.btn--secondary)::after { content: none; }
  body.home-page .community-card:hover { transform: none; }

  :where(
    button:not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow),
    a.btn,
    a[role="button"],
    .site-main-nav__link
  ) {
    transition: none;
  }

  button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):hover,
  button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):active,
  a.btn:not([aria-disabled="true"]):hover,
  a.btn:not([aria-disabled="true"]):active,
  a[role="button"]:not([aria-disabled="true"]):hover,
  a[role="button"]:not([aria-disabled="true"]):active,
  .site-main-nav__link:hover,
  .site-main-nav__link:active {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   AURORA v2.1 — ORANGE PURGE
   Полное удаление наследия «кузнечного оранжевого» Aether Forge и старых
   оранжевых акцентов style.css. Каждое правило ниже перекрывает конкретный
   хардкод rgba(255,77,0,…) / #f97316 / rgba(249,115,22,…) тем же селектором —
   наш файл загружается последним, поэтому AURORA всегда побеждает.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 29. Декоративные фоны и прелоадер ─── */
.af-forge-bg::before {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(139, 92, 246, 0.09) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(34, 211, 238, 0.07) 0%, transparent 40%),
    radial-gradient(ellipse at 50% 80%, rgba(244, 114, 182, 0.05) 0%, transparent 45%);
}

.app-preloader::before {
  background:
    radial-gradient(circle at 50% 40%, rgba(139, 92, 246, 0.1) 0%, transparent 40%),
    radial-gradient(circle at 30% 60%, rgba(34, 211, 238, 0.06) 0%, transparent 35%);
}

.app-preloader__mark-wrap::after {
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    rgba(139, 92, 246, 0.18) 25%,
    rgba(34, 211, 238, 0.12) 50%,
    transparent 75%
  );
}

.app-preloader__bar::before {
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.25), transparent);
}

.app-preloader__bar-fill {
  box-shadow:
    0 0 20px var(--au-violet-glow),
    0 0 40px var(--au-cyan-glow) !important;
}

/* ─── 30. Бренд и навигация ─── */
.brand__mark::after {
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.25);
}

.site-main-nav__link.is-active {
  border: 1px solid transparent;
}

.topbar-icon-btn:hover {
  border-color: var(--au-glass-border-strong);
  box-shadow: 0 0 20px var(--au-violet-glow);
}

/* The legacy 40px corner tile has a visible rectangular edge in both themes.
   Keep the existing border/shadow hover without painting over card contents. */
.mw-card::after, .panel::after, .subpanel::after, .generative-card::after {
  content: none;
}

body.generatives-page .generative-card__badges span {
  background: #1f2937;
  color: #f8fafc;
  border-color: #475569;
  backdrop-filter: none;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  max-width: 100%;
}

body[data-theme="light"].generatives-page .generative-card__badges span {
  background: #ffffff;
  color: #344054;
  border-color: #cbd5e1;
}

body.generatives-page .generative-card__badges .generative-card__badge--featured {
  background: #342452;
  color: #e1d3ff;
  border-color: #8561b8;
}

body[data-theme="light"].generatives-page .generative-card__badges .generative-card__badge--featured {
  background: #f1eaff;
  color: #5925ba;
  border-color: #c5b0e8;
}

/* ─── 32. Фокусы полей с классами .input/.textarea ─── */
.input:focus, .textarea:focus, select.input:focus {
  border-color: var(--au-violet);
  box-shadow:
    0 0 0 3px rgba(139, 92, 246, 0.16),
    inset 0 2px 4px rgba(2, 6, 18, 0.15),
    0 0 22px var(--au-violet-glow);
}

/* ─── 33. Табы, пилюли, чипы, теги ─── */
.tab-button.active {
  background: var(--au-gradient-soft);
  border-color: rgba(139, 92, 246, 0.35);
  color: var(--au-violet-soft);
  box-shadow: 0 2px 10px var(--au-violet-glow);
}

body[data-theme="light"] .tab-button.active {
  color: var(--au-violet);
}

.pill {
  background: var(--au-gradient-soft);
  border-color: rgba(139, 92, 246, 0.3);
  color: var(--au-violet-soft);
}

body[data-theme="light"] .pill { color: var(--au-violet); }

.generatives-chip:hover {
  border-color: rgba(139, 92, 246, 0.35);
  color: var(--au-text);
  background: var(--au-glass-2);
}

body[data-theme="light"] .generatives-chip.is-active {
  background: var(--au-gradient);
  color: #ffffff;
}

/* ─── 34. Ховеры стат-карт, шаблонов, выбранной модели ─── */
.stat-card:hover {
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow: 0 8px 24px var(--au-violet-glow);
}

.template-item.active,
.template-item.is-active {
  border-color: rgba(139, 92, 246, 0.45);
  background: var(--au-gradient-soft);
  box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.12), 0 6px 20px var(--au-violet-glow);
}

.selected-model:hover {
  border-color: rgba(139, 92, 246, 0.3);
}

/* ─── 35. Модальные окна и auth-страницы ─── */
.modal__dialog {
  box-shadow: var(--au-shadow-lg), 0 0 0 1px rgba(139, 92, 246, 0.1);
}

.modal__dialog::before, .auth-card::before, .generatives-hero::before {
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.35), rgba(34, 211, 238, 0.25), transparent);
}

.auth-hero {
  background:
    radial-gradient(circle at top left, rgba(139, 92, 246, 0.14), transparent 42%),
    radial-gradient(circle at bottom right, rgba(34, 211, 238, 0.1), transparent 38%),
    var(--af-surface);
}

.auth-hero__badge {
  color: var(--au-violet-soft);
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.22);
}

body[data-theme="light"] .auth-hero__badge { color: var(--au-violet); }

.auth-feature:hover {
  border-color: rgba(139, 92, 246, 0.25);
  background: rgba(139, 92, 246, 0.05);
}

.auth-feature__dot {
  background: var(--au-gradient);
  box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.14);
}

/* ─── 36. Ошибки — холодный красный вместо оранжевого ─── */
.toast--error {
  border-color: rgba(251, 113, 133, 0.35);
  box-shadow: var(--au-shadow-lg), 0 0 20px rgba(251, 113, 133, 0.12);
}

.flash--error {
  border-color: rgba(251, 113, 133, 0.3);
  background: linear-gradient(180deg, rgba(251, 113, 133, 0.08), rgba(251, 113, 133, 0.03));
  color: #fda4af;
}

body[data-theme="light"] .flash--error { color: #be123c; }

/* ─── 37. Админ-панель ─── */
.admin-toolbar__btn:hover {
  border-color: rgba(139, 92, 246, 0.3);
  background: var(--au-gradient-soft);
  box-shadow: 0 4px 16px var(--au-violet-glow);
}

.admin-toolbar__badge {
  background: var(--au-gradient);
  color: #fff;
  box-shadow: 0 4px 12px var(--au-violet-glow);
}

/* ─── 38. Страница «Генеративки» ─── */
.generatives-hero::after {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(139, 92, 246, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(34, 211, 238, 0.05) 0%, transparent 40%);
}

.generatives-hero__flow span:hover {
  border-color: rgba(139, 92, 246, 0.3);
  box-shadow: 0 4px 16px var(--au-violet-glow);
}

.generatives-search:focus-within {
  border-color: var(--au-violet);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.14);
}

.generatives-note__icon {
  background: var(--au-gradient-soft);
  border: 1px solid rgba(139, 92, 246, 0.25);
}

/* ─── 39. Магазин и маркетплейс: герои, цены, кнопки ─── */
.shop-hero {
  border: 1px solid var(--au-glass-border);
  background:
    radial-gradient(circle at 82% 16%, rgba(34, 211, 238, 0.16), transparent 32%),
    radial-gradient(circle at 12% 84%, rgba(139, 92, 246, 0.18), transparent 34%),
    linear-gradient(135deg, #0d1322, #111a2e);
}

body[data-theme="light"] .shop-hero {
  background:
    radial-gradient(circle at 82% 16%, rgba(8, 145, 178, 0.12), transparent 32%),
    radial-gradient(circle at 12% 84%, rgba(124, 58, 237, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3f0ff);
  border-color: var(--au-border);
  box-shadow: 0 26px 70px rgba(30, 41, 72, 0.12);
}

.marketplace-hero {
  background:
    radial-gradient(circle at 90% 10%, rgba(139, 92, 246, 0.22), transparent 32%),
    radial-gradient(circle at 12% 100%, rgba(34, 211, 238, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(10, 15, 26, 0.98), rgba(17, 26, 46, 0.96));
}

body[data-theme="light"] .marketplace-hero {
  background:
    radial-gradient(circle at 90% 10%, rgba(124, 58, 237, 0.14), transparent 30%),
    radial-gradient(circle at 12% 100%, rgba(8, 145, 178, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff, #f3f0ff);
  border-color: var(--au-border);
  box-shadow: 0 26px 70px rgba(30, 41, 72, 0.1);
}

.marketplace-hero__badge {
  background: rgba(139, 92, 246, 0.14);
  color: var(--au-violet-soft);
}

body[data-theme="light"] .marketplace-hero__badge { color: var(--au-violet); }

.shop-product-price strong,
.marketplace-card__price strong,
.shop-cart-item__info strong,
.shop-cart-summary strong,
.shop-favorite-item__price strong {
  color: var(--au-violet-soft);
}

body[data-theme="light"] .shop-product-price strong,
body[data-theme="light"] .marketplace-card__price strong,
body[data-theme="light"] .shop-cart-item__info strong,
body[data-theme="light"] .shop-cart-summary strong,
body[data-theme="light"] .shop-favorite-item__price strong {
  color: var(--au-violet);
}

.marketplace-cart-btn, .marketplace-add-cart {
  background: var(--au-gradient);
  box-shadow: 0 14px 30px var(--au-violet-glow);
}

.marketplace-cart-btn:hover, .marketplace-add-cart:hover {
  box-shadow: 0 18px 38px var(--au-violet-glow), 0 0 30px var(--au-cyan-glow);
}

/* ─── 40. Заказы: семантические статусы (предупреждение → розовый луч) ─── */
.order-progress--cancelled .order-progress__bar i {
  background: linear-gradient(90deg, #ef4444, #fb7185);
}

.order-badge--due-soon {
  background: rgba(244, 114, 182, 0.14);
  border-color: rgba(244, 114, 182, 0.35);
  color: #f9a8d4;
}

body[data-theme="light"] .order-badge--due-soon {
  color: #be185d;
  background: rgba(219, 39, 119, 0.1);
  border-color: rgba(219, 39, 119, 0.25);
}

.order-card--due-soon {
  box-shadow: inset 3px 0 0 rgba(244, 114, 182, 0.75);
}

.compare-card.is-high {
  border-color: rgba(139, 92, 246, 0.45);
}










.catalog-product-favorite.is-active {
  border-color: rgba(244, 114, 182, 0.6) !important;
  color: var(--au-pink) !important;
}

/* ─── 42. Добивка остатков тёплых цветов (янтарь/золото → лучи AURORA) ─── */

.subpanel:hover {
  border-color: var(--au-glass-border-strong);
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow);
}

.auth-hero::before {
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.35), rgba(34, 211, 238, 0.25), transparent);
}

/* Избранное и «звёзды» — розовый луч */
.profile-favorite__body button {
  color: var(--au-pink);
}

.catalog-model-card__favorite.is-active {
  color: var(--au-pink);
  border-color: rgba(244, 114, 182, 0.45);
  background: rgba(244, 114, 182, 0.12);
}

body[data-theme="light"] .catalog-model-card__favorite.is-active {
  color: #be185d;
  border-color: rgba(219, 39, 119, 0.4);
  background: rgba(219, 39, 119, 0.08);
}

body.builder-page .catalog-model-card__favorite:hover,
body.builder-page .field__pin-btn:hover {
  color: #f9a8d4 !important;
}

body.builder-page .catalog-model-card__favorite.is-active,
body.builder-page .field__pin-btn.is-active {
  color: var(--au-pink) !important;
}

body.builder-page .catalog-model-card__favorite:focus-visible,
body.builder-page .field__pin-btn:focus-visible {
  outline-color: rgba(244, 114, 182, 0.6) !important;
}

body[data-theme="light"].builder-page .catalog-model-card__favorite.is-active,
body[data-theme="light"].builder-page .field__pin-btn.is-active {
  color: #db2777 !important;
}

/* Калькулятор фрезеровки: итог и точность — фирменный фиолет */
.milling-accuracy {
  border: 1px solid rgba(139, 92, 246, 0.4);
  background: rgba(139, 92, 246, 0.12);
  color: var(--au-violet-soft) !important;
}

.milling-result-total {
  border-left: 3px solid var(--au-violet);
  background: rgba(139, 92, 246, 0.1);
}

.milling-result-total strong {
  color: var(--au-violet-soft);
}

body[data-theme="light"] .milling-accuracy { color: var(--au-violet) !important; }
body[data-theme="light"] .milling-result-total strong { color: var(--au-violet); }

/* Семантические предупреждения — единый «розовый луч» вместо янтаря */
.milling-warnings p, .makerworld-result-warning {
  border-left: 2px solid var(--au-pink);
  background: rgba(244, 114, 182, 0.08);
  color: var(--au-text-dim);
}

.order-timeline__item--warning .order-timeline__dot {
  background: var(--au-pink);
  box-shadow: 0 0 0 4px rgba(244, 114, 182, 0.16);
}

body.admin-mode .admin-community-print-state--pending,
body.admin-mode .admin-community-status--publication-review,
body.admin-mode .admin-community-status--print-pending {
  color: #f9a8d4;
  border-color: rgba(244, 114, 182, 0.45);
}

.order-card--payment-locked {
  border-color: var(--au-pink) !important;
}





/* 3D-вьюер: центральная метка размеров — циан AURORA */
.viewer-dimensions__anchor--center {
  fill: var(--au-cyan) !important;
}

/* ─── 43. Финальные акценты: колокольчик уведомлений и doctor-заметки ─── */

/* Колокольчик: жёлтый → циан AURORA (селекторы с !important как у оригинала) */
body.builder-page .topbar-notification-btn {
  color: var(--au-cyan) !important;
}

body.builder-page .topbar-notification-btn .bell2d-icon {
  fill: var(--au-cyan) !important;
}

body.builder-page .topbar-notification-btn:hover {
  color: var(--au-violet-soft) !important;
}

body.builder-page .topbar-notification-btn:hover .bell2d-icon {
  fill: var(--au-violet-soft) !important;
}

/* Doctor-режим: янтарные заметки → розовый луч / стекло AURORA */
.doctor-insole-report-warning {
  border: 1px solid rgba(244, 114, 182, 0.35);
  background: rgba(244, 114, 182, 0.09);
  color: #f9a8d4;
}

body[data-theme="light"] .doctor-insole-report-warning {
  color: #be185d;
  background: rgba(219, 39, 119, 0.07);
}

.doctor-vault-privacy-note__mark {
  border: 1px solid rgba(139, 92, 246, 0.5);
  color: var(--au-violet-soft);
}

body[data-theme="light"] .doctor-vault-privacy-note__mark {
  color: var(--au-violet);
}

.doctor-save-design-empty {
  border: 1px solid rgba(139, 92, 246, 0.3);
  background: var(--au-glass-2);
  color: var(--au-violet-soft);
}

.doctor-save-design-empty span {
  color: var(--au-text-dim);
}

body[data-theme="light"] .doctor-save-design-empty {
  border-color: rgba(124, 58, 237, 0.35);
  background: rgba(124, 58, 237, 0.06);
  color: var(--au-violet);
}

/* ─── 44. Семантические «янтарные» статусы → единый розовый луч AURORA ─── */

/* Колокольчик — полные селекторы с !important (как у оригинала) */
body.builder-page .topbar-notification-btn,
body.user-mode.builder-page .topbar-notification-btn,
body.admin-mode.builder-page .topbar-notification-btn {
  color: var(--au-cyan) !important;
}

body.builder-page .topbar-notification-btn .bell2d-icon,
body.user-mode.builder-page .topbar-notification-btn .bell2d-icon,
body.admin-mode.builder-page .topbar-notification-btn .bell2d-icon {
  fill: var(--au-cyan) !important;
}

body.builder-page .topbar-notification-btn:hover,
body.user-mode.builder-page .topbar-notification-btn:hover,
body.admin-mode.builder-page .topbar-notification-btn:hover {
  color: var(--au-violet-soft) !important;
}

body.builder-page .topbar-notification-btn:hover .bell2d-icon,
body.user-mode.builder-page .topbar-notification-btn:hover .bell2d-icon,
body.admin-mode.builder-page .topbar-notification-btn:hover .bell2d-icon {
  fill: var(--au-violet-soft) !important;
}

/* Избранное в ленте сообщества */
body.home-page .community-favorite-btn.is-active {
  border-color: rgba(244, 114, 182, 0.8);
  background: rgba(120, 24, 74, 0.85);
  color: #f9a8d4;
}

body[data-theme="light"].home-page .community-favorite-btn.is-active {
  background: rgba(219, 39, 119, 0.12);
  color: #be185d;
}

/* Предупреждения в конструкторах и профиле */
.mold-inline-warnings div {
  background: rgba(244, 114, 182, 0.1);
  color: #f9a8d4;
}

.profile-status--warning {
  background: rgba(244, 114, 182, 0.12);
  color: #f9a8d4;
}

body[data-theme="light"] .profile-status--warning {
  color: #be185d;
}

.order-badge--priority-hold {
  background: rgba(244, 114, 182, 0.14);
  border-color: rgba(244, 114, 182, 0.32);
  color: #f9a8d4;
}

body[data-theme="light"] .order-badge--priority-hold {
  color: #be185d;
  background: rgba(219, 39, 119, 0.1);
  border-color: rgba(219, 39, 119, 0.26);
}

.checkout-readiness__item.is-warn::before {
  color: #f9a8d4;
}

.print-preflight-score.is-warn {
  background: rgba(244, 114, 182, 0.13);
  border-color: rgba(244, 114, 182, 0.36);
  color: #f9a8d4;
}

body[data-theme="light"] .print-preflight-score.is-warn {
  color: #be185d;
}

.print-preflight-warning {
  background: rgba(244, 114, 182, 0.09);
  border: 1px solid rgba(244, 114, 182, 0.26);
  color: #f9a8d4;
}

body[data-theme="light"] .print-preflight-warning {
  color: #be185d;
}

/* Индикатор сохранения черновика — циан */
.viewer-toolbar__draft.is-saving {
  color: var(--au-cyan-soft);
  border-color: rgba(94, 234, 212, 0.4);
}

body.builder-page .viewer-toolbar__draft.is-saving {
  color: var(--au-cyan) !important;
  border-color: rgba(34, 211, 238, 0.4) !important;
}

body[data-theme="light"].builder-page .viewer-toolbar__draft.is-saving {
  color: #0e7490 !important;
}

/* Статусы «в ожидании» */
body.shop-page .community-print-status--pending {
  border-color: rgba(244, 114, 182, 0.4);
  background: rgba(244, 114, 182, 0.09);
}

.request-card__meta--warning {
  color: #be185d;
  background: rgba(219, 39, 119, 0.08);
  border: 1px solid rgba(244, 114, 182, 0.4);
}

.order-payment-lock {
  border: 1px solid rgba(244, 114, 182, 0.4);
  background: rgba(219, 39, 119, 0.08);
  color: #be185d;
}

.order-badge--payment-lock {
  background: rgba(244, 114, 182, 0.14) !important;
  color: #be185d !important;
  border-color: rgba(244, 114, 182, 0.4) !important;
}

/* Doctor-хранилище: приватность и архив */
.doctor-vault-privacy-note {
  border: 1px solid rgba(139, 92, 246, 0.3);
  background: var(--au-glass);
}

.doctor-vault-privacy-note strong {
  color: var(--au-violet-soft);
}

.doctor-vault-privacy-note span {
  color: var(--au-text-dim);
}

body[data-theme="light"].doctor-vault-page .doctor-vault-privacy-note {
  border-color: rgba(124, 58, 237, 0.35);
  background: rgba(124, 58, 237, 0.05);
}

body[data-theme="light"].doctor-vault-page .doctor-vault-privacy-note strong {
  color: var(--au-violet);
}

body[data-theme="light"].doctor-vault-page .doctor-vault-privacy-note span {
  color: var(--au-text-dim);
}

.vault-patient-detail__status.is-archived {
  border-color: rgba(139, 92, 246, 0.35);
  background: rgba(139, 92, 246, 0.1);
  color: var(--au-violet-soft);
}

body[data-theme="light"] .vault-patient-detail__status.is-archived {
  color: var(--au-violet);
}

/* Админка: заявки в ожидании */
body.admin-mode .admin-customer-access-card--pending {
  border-color: rgba(244, 114, 182, 0.45) !important;
  box-shadow: inset 3px 0 0 rgba(244, 114, 182, 0.85);
}

body.admin-mode .admin-customer-access-card--pending .status-pill--doctor,
body.admin-mode .status-pill--access-pending {
  border-color: rgba(244, 114, 182, 0.45) !important;
  background: rgba(244, 114, 182, 0.13) !important;
  color: #f9a8d4 !important;
}

.doctor-pending-panel {
  border: 1px solid rgba(244, 114, 182, 0.35);
  background: linear-gradient(135deg, rgba(244, 114, 182, 0.12), rgba(34, 211, 238, 0.07));
}

body.admin-mode .admin-customers-stat--pending {
  border-color: rgba(244, 114, 182, 0.35);
  background: linear-gradient(135deg, rgba(244, 114, 182, 0.12), rgba(34, 211, 238, 0.07));
}

/* Лицензионные заметки MakerWorld */
.makerworld-license-note {
  border: 1px solid rgba(244, 114, 182, 0.3);
  background: rgba(244, 114, 182, 0.07);
}

/* ═══════════════════════════════════════════════════════════════════════════
   AURORA COMPLETE PAGE COVERAGE
   Specialized pages used their own legacy palettes. These mappings keep
   semantic status colours intact while bringing every application surface
   into the same violet/cyan/pink visual system.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Community and public catalogue: green is no longer a decorative accent. */
body.home-page,
body.community-page {
  --community-accent: var(--au-violet);
  --community-accent-2: var(--au-cyan);
}

body.home-page .community-hero,
body.home-page .community-author-strip,
body.home-page .community-feed-toolbar {
  border-color: var(--au-glass-border) !important;
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.12), rgba(34, 211, 238, 0.07)),
    var(--au-glass) !important;
  box-shadow: var(--au-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Layout only: a shared surface shows through child radii and the grid gap. */
body.home-page .community-discovery {
  background: none !important;
  border: 0;
  box-shadow: none;
}

body.home-page .community-discovery__side {
  border-color: var(--au-glass-border) !important;
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(34, 211, 238, 0.05)),
    var(--au-glass) !important;
}

body.home-page .community-discovery__tiles i {
  background: var(--au-gradient) !important;
  box-shadow: 0 6px 16px var(--au-violet-glow);
}

body.home-page .community-topic-strip button:hover,
body.home-page .community-discovery__tiles button:hover,
body.home-page .community-card:hover {
  border-color: var(--au-glass-border-strong) !important;
}

body.home-page .community-builder-cta,
body.home-page .community-banner-dots button.is-active {
  border-color: transparent !important;
  background: var(--au-gradient) !important;
  color: #fff !important;
  box-shadow: 0 8px 24px var(--au-violet-glow);
}

body.home-page .community-card__badge,
body.home-page .community-banner__badge,
body.home-page .community-spotlight__content > span,
body.home-page .community-spotlight__placeholder-copy span {
  background: var(--au-gradient) !important;
  color: #fff !important;
}

body.home-page .community-topic-strip {
  --topic-hover-bg: #28223d;
  --topic-hover-border: #8561b8;
  --topic-active-bg: linear-gradient(120deg, #6d28d9, #4f46c9 45%, #0e7490);
}

body[data-theme="light"].home-page .community-topic-strip {
  --topic-hover-bg: #eee8fa;
  --topic-hover-border: #bda4e8;
}

body.home-page .community-topic-strip button {
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
  filter: none;
}

body.home-page .community-topic-strip button:hover,
body.home-page .community-topic-strip button:focus-visible {
  background: var(--topic-hover-bg) !important;
  color: var(--au-text) !important;
  box-shadow: inset 0 0 0 1px var(--topic-hover-border) !important;
  filter: none;
}

body.home-page .community-topic-strip button.is-active {
  background: var(--topic-active-bg) !important;
  color: #fff !important;
}

body.home-page .community-topic-strip button.is-active > span {
  background: rgba(255, 255, 255, .15);
  color: #fff;
}

body.home-page .community-topic-strip button:focus-visible {
  outline: 2px solid var(--au-violet) !important;
  outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .community-topic-strip button { transition: none; }
}

body.home-page .community-section-heading span,
body.home-page .community-card__meta strong {
  color: var(--au-cyan-soft) !important;
}

body[data-theme="light"].home-page .community-section-heading span,
body[data-theme="light"].home-page .community-card__meta strong {
  color: var(--au-cyan) !important;
}

.community-asset-row.is-primary {
  border-color: rgba(139, 92, 246, 0.46) !important;
  background: rgba(139, 92, 246, 0.1) !important;
}

.community-asset-row.is-primary .community-asset-row__mark {
  background: var(--au-gradient-soft) !important;
  color: var(--au-cyan-soft) !important;
}

/* Profile and personal cabinet. */
body.profile-page {
  --profile-surface: rgba(13, 19, 34, 0.82);
  --profile-surface-soft: var(--au-glass-2);
  --profile-line: var(--au-glass-border);
  --profile-muted: var(--au-text-dim);
  --profile-accent: var(--au-cyan);
}

.profile-shell,
.profile-dialog__window {
  border-color: var(--au-glass-border);
  background: rgba(13, 19, 34, 0.82);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: var(--au-shadow-lg), 0 0 46px rgba(139, 92, 246, 0.1);
}

.profile-cover__fallback {
  background:
    linear-gradient(112deg, rgba(50, 25, 110, 0.9), rgba(8, 105, 135, 0.74)),
    var(--au-space-2);
}

.profile-avatar {
  background: var(--au-gradient);
  box-shadow: 0 12px 34px var(--au-violet-glow);
}

.profile-role,
.profile-status:not(.profile-status--success):not(.profile-status--warning):not(.profile-status--danger) {
  border-color: rgba(139, 92, 246, 0.34);
  background: rgba(139, 92, 246, 0.11);
  color: var(--au-violet-soft);
}

.profile-tabs button.is-active::after {
  background: var(--au-gradient);
}

.profile-sidebar,
.profile-model-card,
.profile-list-item,
.profile-favorite {
  border-color: var(--au-glass-border);
  background: var(--au-glass);
}

.profile-model-card:hover,
.profile-list-item:hover,
.profile-favorite:hover {
  border-color: var(--au-glass-border-strong);
  box-shadow: var(--au-shadow-glow);
}

.profile-text-action,
.profile-panel__head > div > span,
.profile-about__details dt,
.profile-about__details a,
.profile-favorite__body strong,
.profile-order-details summary {
  color: var(--au-cyan-soft);
}

.profile-toast {
  border-color: rgba(139, 92, 246, 0.36);
  background: rgba(13, 19, 34, 0.94);
  color: var(--au-text);
  box-shadow: var(--au-shadow-lg);
}

body[data-theme="light"].profile-page {
  --profile-surface: rgba(255, 255, 255, 0.9);
  --profile-surface-soft: rgba(255, 255, 255, 0.74);
  --profile-line: var(--au-border);
  --profile-muted: var(--au-text-dim);
}

body[data-theme="light"] .profile-shell,
body[data-theme="light"] .profile-dialog__window,
body[data-theme="light"] .profile-toast {
  background: rgba(255, 255, 255, 0.9);
  color: var(--au-text);
}

body[data-theme="light"] .profile-sidebar,
body[data-theme="light"] .profile-model-card,
body[data-theme="light"] .profile-list-item,
body[data-theme="light"] .profile-favorite {
  background: rgba(255, 255, 255, 0.7);
}

/* Generative catalogue. */
.generatives-hero,
.generatives-toolbar,
.generatives-search,
.generatives-chip,
.generative-card,
.generatives-empty,
.generatives-note {
  border-color: var(--au-glass-border);
  background: var(--au-glass);
  color: var(--au-text);
}

.generatives-hero {
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.13), rgba(34, 211, 238, 0.07)),
    var(--au-glass);
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow);
}

.generatives-hero h1,
.generatives-section__head h2,
.generative-card h3,
.generatives-empty strong,
.generatives-note h2,
.generatives-search input {
  color: var(--au-text);
}

.generatives-eyebrow,
.generatives-section__head > div > span,
.generative-card__action {
  color: var(--au-cyan-soft);
}

.generatives-hero p,
.generative-card p,
.generatives-empty,
.generatives-note p {
  color: var(--au-text-dim);
}

.generative-card__meta span,
.generatives-section__head strong {
  background: var(--au-glass-2);
  color: var(--au-text-dim);
}

body[data-theme="light"] .generatives-hero,
body[data-theme="light"] .generatives-toolbar,
body[data-theme="light"] .generatives-search,
body[data-theme="light"] .generatives-chip,
body[data-theme="light"] .generative-card,
body[data-theme="light"] .generatives-empty,
body[data-theme="light"] .generatives-note {
  background-color: rgba(255, 255, 255, 0.74);
}

/* Calculator: milling and model-link modes share one visual language. */
.calculator-mode-switch,
.milling-config-panel,
.milling-results-panel,
.makerworld-input-panel,
.makerworld-result-panel,
.milling-model-preview {
  border-color: var(--au-glass-border);
  background: rgba(13, 19, 34, 0.76);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  backdrop-filter: blur(16px) saturate(1.3);
  box-shadow: var(--au-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.calculator-mode-switch__button.is-active,
.milling-preview-rotation button.is-active {
  background: var(--au-gradient);
  color: #fff;
  box-shadow: 0 6px 18px var(--au-violet-glow);
}

.milling-page__eyebrow,
.milling-results-panel__head span,
.makerworld-section-head > span,
.makerworld-result-head > div > span,
.milling-model-preview__head span {
  color: var(--au-cyan-soft);
}

.milling-empty-result__mark,
.makerworld-empty-result__mark {
  border-color: rgba(139, 92, 246, 0.35);
  background: var(--au-gradient-soft);
  color: var(--au-cyan-soft);
}

.makerworld-total {
  border-left-color: var(--au-violet);
  background: rgba(139, 92, 246, 0.1);
}

.makerworld-total strong {
  color: var(--au-violet-soft);
}

body[data-theme="light"] .calculator-mode-switch,
body[data-theme="light"] .milling-config-panel,
body[data-theme="light"] .milling-results-panel,
body[data-theme="light"] .makerworld-input-panel,
body[data-theme="light"] .makerworld-result-panel,
body[data-theme="light"] .milling-model-preview {
  background: rgba(255, 255, 255, 0.82);
  border-color: var(--au-border);
}

body[data-theme="light"] .calculator-mode-switch__button.is-active {
  background: var(--au-gradient);
}






















/* Model search: neutral discovery surfaces with Aurora navigation accents. */
.model-search-hero {
  border-color: var(--au-glass-border);
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.14), rgba(34, 211, 238, 0.08)),
    var(--au-glass);
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow);
}

.model-search-form,
.model-search-filters,
.model-search-status-card,
.model-search-card,
.model-search-shortcuts,
.model-search-order-dialog {
  border-color: var(--au-glass-border);
  background: var(--au-glass);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  backdrop-filter: blur(16px) saturate(1.25);
}

.model-search-form:focus-within,
.model-search-card:hover,
.model-search-source-preset.is-active {
  border-color: var(--au-glass-border-strong);
  box-shadow: var(--au-shadow-glow);
}

.model-search-eyebrow,
.model-search-filters__head span,
.model-search-results__head span,
.model-search-shortcuts > header span,
.model-search-card__original {
  color: var(--au-cyan-soft);
}

.model-search-source-preset.is-active,
.model-search-query-variants span {
  background: var(--au-gradient-soft);
}

body[data-theme="light"] .model-search-hero,
body[data-theme="light"] .model-search-form,
body[data-theme="light"] .model-search-filters,
body[data-theme="light"] .model-search-status-card,
body[data-theme="light"] .model-search-card,
body[data-theme="light"] .model-search-shortcuts,
body[data-theme="light"] .model-search-order-dialog {
  background-color: rgba(255, 255, 255, 0.78);
}

/* Doctor vault and admin-specific panels. */
.doctor-vault-stat,
.doctor-vault-security-state,
.doctor-vault-toolbar,
.doctor-vault-patient,
.vault-modal__dialog,
.vault-patient-detail__comment,
.admin-generative-row,
.admin-generative-publish-box,
.admin-generative-params,
.admin-generative-param {
  border-color: var(--au-glass-border);
  background: var(--au-glass);
  box-shadow: var(--au-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.doctor-vault-segments button.is-active,
.doctor-vault-icon-btn:hover,
.doctor-vault-patient__summary:hover {
  border-color: rgba(139, 92, 246, 0.4);
  background: var(--au-gradient-soft);
  color: var(--au-cyan-soft);
}

.doctor-vault-eyebrow,
.doctor-vault-patient__chevron,
.vault-patient-detail__section-head span {
  color: var(--au-cyan-soft);
}

body[data-theme="light"] .doctor-vault-stat,
body[data-theme="light"] .doctor-vault-security-state,
body[data-theme="light"] .doctor-vault-toolbar,
body[data-theme="light"] .doctor-vault-patient,
body[data-theme="light"] .vault-modal__dialog,
body[data-theme="light"] .vault-patient-detail__comment,
body[data-theme="light"] .admin-generative-row,
body[data-theme="light"] .admin-generative-publish-box,
body[data-theme="light"] .admin-generative-params,
body[data-theme="light"] .admin-generative-param {
  background: rgba(255, 255, 255, 0.82);
}

/* Documents and compact account pages. */
.doc-card,
.auth-card,
.auth-card--premium {
  border-color: var(--au-glass-border);
  background: rgba(13, 19, 34, 0.78);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
  backdrop-filter: blur(20px) saturate(1.3);
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow);
}

.doc-section + .doc-section {
  border-top: 1px solid var(--au-border);
  padding-top: 18px;
}

body[data-theme="light"] .doc-card,
body[data-theme="light"] .auth-card,
body[data-theme="light"] .auth-card--premium {
  background: rgba(255, 255, 255, 0.84);
}

/* ═══════════════════════════════════════════════════════════════════════════
   AURORA OUTLINE AND PRIMARY ACTION NORMALIZATION
   Legacy pages used green or turquoise outlines with higher-specificity
   selectors. Keep semantic success colours intact, but make navigation,
   discovery cards and command feedback consistently violet/pink.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --au-command-border: rgba(139, 92, 246, 0.56);
  --au-command-border-soft: rgba(139, 92, 246, 0.3);
  --au-command-shadow: 0 8px 24px rgba(139, 92, 246, 0.24);
}

body[data-theme="light"] {
  --au-command-border: rgba(124, 58, 237, 0.48);
  --au-command-border-soft: rgba(124, 58, 237, 0.26);
  --au-command-shadow: 0 8px 22px rgba(124, 58, 237, 0.18);
}

button:not(:disabled):not([aria-disabled="true"]):not([class*="backdrop"]):not(.community-cover-editor__frame):not(.community-model-detail__visual-button):not(.community-card__media):not(.viewer-view-cube__face):not(.viewer-view-cube__arrow):hover,
a.btn:not([aria-disabled="true"]):hover,
a[role="button"]:not([aria-disabled="true"]):hover {
  border-color: var(--au-command-border);
  box-shadow:
    0 0 0 1px var(--au-command-border-soft),
    var(--au-command-shadow);
}

/* Navigation keeps a stable footprint: no outline is added on hover. */
.site-main-nav__link,
.site-main-nav__link:hover {
  border-color: transparent !important;
  outline: 0 !important;
}

.site-main-nav__link:hover {
  background: rgba(139, 92, 246, 0.1) !important;
  box-shadow: 0 6px 18px rgba(139, 92, 246, 0.18) !important;
}

.site-main-nav__link.is-active {
  border-color: rgba(139, 92, 246, 0.26) !important;
  background: var(--au-gradient) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px var(--au-violet-glow) !important;
}

.site-main-nav__link.is-active::before {
  background: linear-gradient(90deg, transparent, var(--au-violet), var(--au-pink), transparent) !important;
}

body[data-theme="light"] .site-main-nav__link:hover {
  background: rgba(124, 58, 237, 0.08) !important;
}

body.home-page .community-discovery__tiles a:hover,
body.home-page .community-discovery__tiles button:hover,
body.home-page .community-topic-strip button:hover,
body.home-page .community-card:hover,
.mw-card:hover,
.panel:hover,
.generative-card:hover,
.shop-card:hover,
.info-card:hover,
.template-item:hover,
.selected-model:hover,
.stat-card:hover,
.request-card:hover,
.hint-card:hover {
  border-color: var(--au-command-border) !important;
  outline: 0 !important;
}

.community-model-detail__visual-button:focus-visible {
  outline: 3px solid var(--au-command-border) !important;
  outline-offset: 3px;
}

/* Generatives had a separate teal/green dark theme with stronger selectors. */
html[data-theme="dark"] body.generatives-page {
  background: var(--au-space-2) !important;
  color: var(--au-text) !important;
}

html[data-theme="dark"] body.generatives-page .generatives-hero {
  border-color: var(--au-glass-border) !important;
  background:
    linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(244, 114, 182, 0.055)),
    rgba(13, 19, 34, 0.82) !important;
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow) !important;
}

html[data-theme="dark"] body.generatives-page .generatives-toolbar,
html[data-theme="dark"] body.generatives-page .generatives-search,
html[data-theme="dark"] body.generatives-page .generatives-chip,
html[data-theme="dark"] body.generatives-page .generative-card,
html[data-theme="dark"] body.generatives-page .generatives-empty,
html[data-theme="dark"] body.generatives-page .generatives-note {
  border-color: var(--au-glass-border) !important;
  background: rgba(13, 19, 34, 0.8) !important;
  color: var(--au-text) !important;
}

html[data-theme="dark"] body.generatives-page .generatives-eyebrow,
html[data-theme="dark"] body.generatives-page .generatives-section__head > div > span,
html[data-theme="dark"] body.generatives-page .generative-card__action {
  color: var(--au-violet-soft) !important;
}

html[data-theme="dark"] body.generatives-page .generatives-chip:hover,
html[data-theme="dark"] body.generatives-page .generatives-chip.is-active {
  border-color: var(--au-command-border) !important;
  background: var(--au-gradient) !important;
  color: #fff !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.generatives-page .generative-card:hover {
  border-color: var(--au-command-border) !important;
  box-shadow: var(--au-shadow-lg), var(--au-shadow-glow) !important;
}

html[data-theme="dark"] body.generatives-page .generatives-note__icon {
  background: var(--au-gradient-soft) !important;
  color: var(--au-violet-soft) !important;
}

/* The builder order button shares the regular .btn feedback with Save design.
   Clip the common sheen to the pill; legacy layout CSS used overflow: visible. */
body.builder-page #open-order-modal-btn {
  overflow: hidden !important;
}

/* Keep the existing payment form submit feedback. */
.checkout-submit {
  background-position: 0% 50% !important;
  background-size: 180% 100% !important;
  transform: none !important;
  transition:
    background-position 0.34s ease,
    filter 0.18s ease,
    box-shadow 0.22s ease !important;
}

.checkout-submit::after {
  display: none !important;
}

.checkout-submit:hover {
  background-position: 100% 50% !important;
  border-color: transparent !important;
  filter: brightness(1.06) saturate(1.04) !important;
  transform: none !important;
  box-shadow:
    0 10px 28px rgba(139, 92, 246, 0.34),
    0 0 24px rgba(244, 114, 182, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

.checkout-submit:active {
  transform: scale(0.985) !important;
  transition-duration: 0.08s !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   V629 TOPBAR NAVIGATION ANIMATION AND SEPARATION
   Inactive navigation items use a contained glass-pill hover so their glow
   cannot cover neighbouring buttons. The selected page keeps a calm Aurora
   motion at rest and uses the primary registration-button feedback on hover.
   ═══════════════════════════════════════════════════════════════════════════ */
html body > header.topbar .site-main-nav.site-main-nav.site-main-nav {
  column-gap: 10px !important;
  row-gap: 8px !important;
}

@property --au-nav-active-x {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --au-nav-sweep-x {
  syntax: "<percentage>";
  inherits: false;
  initial-value: -70%;
}

@property --au-nav-sweep-opacity {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

.topbar .site-main-nav__link {
  position: relative !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: var(--au-radius-pill) !important;
  outline: 0 !important;
  isolation: isolate !important;
  overflow: hidden !important;
  transform: none !important;
  filter: none !important;
  background-clip: padding-box !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    background-position 0.55s ease,
    border-color 0.18s ease,
    box-shadow 0.22s ease,
    transform 0.18s ease,
    filter 0.18s ease !important;
}

/* Disable Aether Forge's generic underline before defining the clean one. */
.topbar .site-main-nav__link::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
}

.topbar .site-main-nav__link:not(.is-active) {
  color: var(--au-text-dim) !important;
  -webkit-text-fill-color: var(--au-text-dim) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.topbar .site-main-nav__link:not(.is-active):hover {
  color: var(--au-text) !important;
  -webkit-text-fill-color: var(--au-text) !important;
  border-color: transparent !important;
  background: var(--au-glass-2) !important;
  box-shadow:
    inset 0 0 0 1px var(--au-glass-border-strong),
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 6px 14px rgba(2, 6, 18, 0.26) !important;
  text-shadow: none !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
}

.topbar .site-main-nav__link:not(.is-active):active {
  color: var(--au-text) !important;
  -webkit-text-fill-color: var(--au-text) !important;
  border-color: var(--au-glass-border-strong) !important;
  background: var(--au-glass-2) !important;
  box-shadow: 0 4px 14px var(--au-violet-glow) !important;
  transform: translateY(0) scale(0.98) !important;
  filter: none !important;
}

.topbar .site-main-nav__link.is-active,
.topbar .site-main-nav__link.is-active:hover,
.topbar .site-main-nav__link.is-active:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: transparent !important;
  background: var(--au-gradient) !important;
  background-size: 180% 100% !important;
  background-position: var(--au-nav-active-x) 50% !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    0 8px 26px var(--au-violet-glow) !important;
  transform: none !important;
  filter: none !important;
}

.topbar .site-main-nav__link.is-active {
  --au-nav-active-x: 0%;
  animation: auTopbarSelectedAurora 4s ease infinite !important;
}

.topbar .site-main-nav__link.is-active:hover {
  border-color: var(--au-command-border) !important;
  box-shadow:
    0 0 0 1px var(--au-command-border-soft),
    var(--au-command-shadow) !important;
  filter: brightness(1.07) saturate(1.08) !important;
  transform: translateY(-1px) !important;
}

.topbar .site-main-nav__link.is-active:active {
  box-shadow: 0 4px 14px var(--au-violet-glow) !important;
  filter: brightness(1.02) !important;
  transform: translateY(0) scale(0.98) !important;
}

@keyframes auTopbarSelectedAurora {
  0%, 100% {
    --au-nav-active-x: 0%;
  }
  50% {
    --au-nav-active-x: 100%;
  }
}

/* The active item gets the same contained sweep as the registration button. */
.topbar .site-main-nav__link.is-active::after {
  --au-nav-sweep-x: -70%;
  --au-nav-sweep-opacity: 0;
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 auto 0 var(--au-nav-sweep-x) !important;
  width: 45% !important;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.35), transparent) !important;
  transform: skewX(-18deg) !important;
  opacity: var(--au-nav-sweep-opacity) !important;
  transition: none !important;
  animation: none !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.topbar .site-main-nav__link.is-active:hover::after {
  animation: auTopbarPrimarySweep 0.7s ease both !important;
}

@keyframes auTopbarPrimarySweep {
  0% {
    --au-nav-sweep-x: -70%;
    --au-nav-sweep-opacity: 0;
  }
  14% {
    --au-nav-sweep-opacity: 1;
  }
  100% {
    --au-nav-sweep-x: 125%;
    --au-nav-sweep-opacity: 0;
  }
}

.topbar .site-main-nav__link.is-active::before {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  background: linear-gradient(
    90deg,
    transparent,
    var(--au-violet),
    var(--au-cyan),
    transparent
  ) !important;
}

body[data-theme="light"] .topbar .site-main-nav__link:not(.is-active):hover {
  color: var(--au-text) !important;
  -webkit-text-fill-color: var(--au-text) !important;
  border-color: transparent !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow:
    inset 0 0 0 1px var(--au-glass-border-strong),
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 6px 14px rgba(30, 41, 72, 0.12) !important;
}

/* Keep the cart counter above the icon and the topbar frame. */
.topbar .topbar__right-cluster,
.topbar .topbar__quick-actions {
  overflow: visible !important;
}

.topbar .topbar-cart-btn {
  position: relative !important;
  z-index: 4 !important;
  overflow: visible !important;
  contain: none !important;
  clip-path: none !important;
}

.topbar .topbar-cart-btn .topbar-icon-btn__badge {
  top: -7px !important;
  right: -7px !important;
  z-index: 12 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background: #ef4444 !important;
  border-color: var(--au-space-2) !important;
  box-shadow: 0 3px 10px rgba(2, 6, 18, 0.42) !important;
  pointer-events: none !important;
}

.topbar .topbar-cart-btn .topbar-icon-btn__badge.hidden {
  display: none !important;
}

/* V658: shared controls retain readable native menus in both themes. */
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
body.site-layout :is(input, select, textarea) { min-width: 0; max-width: 100%; }
body.site-layout select option,
body.site-layout select optgroup {
  background: var(--au-space-2);
  color: var(--au-text);
}
body.site-layout :is(input, textarea)::placeholder {
  color: var(--au-text-muted);
  opacity: 1;
}
body.site-layout :is(.btn, .viewer-toolbar__btn, .generatives-chip) {
  letter-spacing: 0;
}
body.site-layout .viewer-toolbar__btn--menu {
  color: var(--au-text) !important;
  -webkit-text-fill-color: var(--au-text) !important;
}
body.site-layout .viewer-toolbar-menu__popover {
  color: var(--au-text);
  background: var(--au-space-2) !important;
}
body.site-layout .viewer-toolbar-menu__item strong { color: var(--au-text) !important; }
body.site-layout .viewer-toolbar-menu__item small { color: var(--au-text-dim) !important; }
body.site-layout :is(.doc-section p, .doc-intro) {
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

/* Keep the title, description and icon in their own grid cells. */
body.home-page .community-discovery__tiles :is(a, button) {
  grid-template-columns: minmax(0, 1fr) 32px;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: 9px 8px;
  min-width: 0;
  padding: 15px;
}
body.home-page .community-discovery__tiles b {
  grid-column: 1 / -1;
  grid-row: 1;
  line-height: 1.3;
}
body.home-page .community-discovery__tiles span {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}
body.home-page .community-discovery__tiles i {
  position: static;
  grid-column: 2;
  grid-row: 2;
  width: 32px;
  height: 32px;
  align-self: end;
}

/* Product photos must show the object, including landscape images. */
body.site-layout :is(.marketplace-card__image, .shop-product-card__image, .product-mini-card__image) {
  aspect-ratio: 4 / 3 !important;
  background: var(--au-glass-2);
}
body.site-layout :is(.marketplace-card__image, .shop-product-card__image, .product-mini-card__image) img,
body.site-layout .generative-card__media img {
  object-fit: contain !important;
}
body.site-layout .marketplace-card__body { min-width: 0; }
body.site-layout .marketplace-card__body h3 { line-height: 1.4; }
body.site-layout .marketplace-card__body .btn {
  min-height: 44px;
  height: auto;
  white-space: normal;
}
body.site-layout.product-page .product-gallery__main {
  aspect-ratio: 1 / 1 !important;
}
@media (max-width: 720px) {
  body.site-layout.product-page .product-gallery__main {
    aspect-ratio: 4 / 3 !important;
  }
}

/* Keep checkout sections unframed and the sticky actions opaque. */
body.site-layout #order-modal .checkout-card,
body.site-layout #order-modal .checkout-model-line,
body.site-layout #order-modal .checkout-customer {
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;
}
body.site-layout #order-modal .checkout-card__title {
  letter-spacing: 0;
  color: var(--au-text-muted);
}
body.site-layout #order-modal .checkout-model-line {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--au-border);
}
body.site-layout #order-modal .checkout-spec {
  background: transparent !important;
  border-radius: 0;
  padding: 10px 0;
}
body.site-layout #order-modal .checkout-price-main {
  font-size: 20px;
  font-weight: 800;
  color: var(--au-text);
}
body.site-layout #order-modal .checkout-actions {
  background: var(--au-space-2) !important;
  border-top: 1px solid var(--au-border);
  padding: 12px 0 4px;
  z-index: 2;
}
@media (max-width: 720px) {
  body.site-layout #order-modal .checkout-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  body.site-layout #order-modal .checkout-step { flex-direction: column; gap: 4px; padding: 8px 4px; text-align: center; }
  body.site-layout #order-modal .checkout-step span { font-size: 12px; }
  body.site-layout #order-modal .checkout-spec-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.site-layout #order-modal .checkout-spec:first-child { grid-column: 1 / -1; }
  body.site-layout #order-modal .checkout-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  body.site-layout #order-modal .checkout-actions .btn { min-width: 0; min-height: 48px; white-space: normal; padding: 10px; }
}

/* The generator catalogue starts with a compact heading, not a second landing page. */
html body.site-layout.generatives-page .generatives-hero {
  display: block;
  padding: 0 0 20px;
  border: 0;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
}
html body.site-layout.generatives-page .generatives-hero h1 {
  font-size: 34px;
  line-height: 1.15;
  letter-spacing: 0;
}
html body.site-layout.generatives-page .generatives-hero p {
  margin-top: 10px;
  font-size: 16px;
}
body.site-layout .generatives-toolbar {
  top: 92px;
  flex-wrap: wrap;
  min-width: 0;
}
body.site-layout .generatives-search {
  flex: 1 1 260px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body.site-layout .generatives-search input {
  min-width: 0;
  flex: 1 1 0;
  width: 0;
  font: inherit;
  font-size: 14px;
}

/* One input surface shared by the shop and generator catalogue. */
body.site-layout .catalog-search {
  --catalog-search-bg: var(--au-space-2);
  --catalog-search-border: rgba(148, 163, 184, .28);
  position: relative;
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body[data-theme="light"].site-layout .catalog-search {
  --catalog-search-bg: rgba(255, 255, 255, .94);
  --catalog-search-border: rgba(15, 23, 42, .14);
}
html body.site-layout .generatives-search.catalog-search {
  background: transparent !important;
}
body.site-layout .catalog-search > span {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  color: var(--au-text-muted);
  font-size: 18px;
  pointer-events: none;
}
body.site-layout .catalog-search input[type="search"] {
  min-width: 0;
  height: 42px;
  min-height: 42px;
  padding: 0 16px 0 42px;
  border: 1px solid var(--catalog-search-border);
  border-color: var(--catalog-search-border) !important;
  border-radius: var(--au-radius-sm) !important;
  background: var(--catalog-search-bg) !important;
  color: var(--au-text) !important;
  font: 650 14px/1.4 var(--au-font-body);
  letter-spacing: 0;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
body.site-layout .catalog-search input[type="search"]::placeholder {
  color: var(--au-text-muted);
  opacity: 1;
}
body.site-layout .catalog-search input[type="search"]:focus {
  border-color: var(--au-violet) !important;
  box-shadow: 0 0 0 3px var(--au-violet-glow);
}
body.site-layout .generatives-categories { min-width: 0; max-width: 100%; }
body.site-layout .generatives-chip {
  box-shadow: none !important;
  transform: none !important;
}
body.site-layout .generative-card__meta span { font-size: 12px; }
body.site-layout .generative-card__badges span { font-size: 12px; }
body.site-layout .generatives-eyebrow { letter-spacing: 0; }

@media (max-width: 1180px) {
  body.site-layout .generatives-toolbar { top: 84px; }
  body.site-layout .catalog-search input[type="search"] {
    height: 44px;
    min-height: 44px !important;
    font-size: 16px !important;
  }
}
@media (max-width: 860px) {
  body.site-layout .generatives-search { flex: 0 0 auto; }
}
@media (max-width: 560px) {
  html body.site-layout.generatives-page .generatives-hero h1 { font-size: 28px; }
  body.site-layout .generatives-main { padding-top: 16px; }
  body.site-layout .generatives-toolbar { margin-top: 0; }
}

body[data-theme="light"] .topbar .topbar-cart-btn .topbar-icon-btn__badge {
  border-color: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
  .topbar .site-main-nav__link {
    transition: none !important;
  }

  .topbar .site-main-nav__link.is-active {
    animation: none !important;
  }

  .topbar .site-main-nav__link.is-active::after {
    display: none !important;
  }
}
