/**
 * AS-PRO Neo — production design system (silver + cyan glass)
 * Подключать после aspro-silver.css / aspro-lux.css
 */

:root,
[data-workspace-theme="slate"],
[data-theme="slate"] {
  --neo-bg-deep: #1c2128;
  --neo-bg-mid: #252b34;
  --neo-bg-elevated: #2e3640;
  --neo-cyan: #2dd4bf;
  --neo-cyan-dim: #14b8a6;
  --neo-cyan-glow: rgba(45, 212, 191, 0.35);
  --neo-cyan-soft: rgba(45, 212, 191, 0.1);
  --neo-silver-50: #e8edf2;
  --neo-silver-200: #b8c4d0;
  --neo-silver-400: #7a8796;
  --neo-silver-600: #4a5568;
  --neo-glass: rgba(255, 255, 255, 0.07);
  --neo-glass-strong: rgba(255, 255, 255, 0.11);
  --neo-glass-edge: rgba(255, 255, 255, 0.16);
  --neo-glass-highlight: rgba(255, 255, 255, 0.28);
  --neo-white-panel: rgba(255, 255, 255, 0.12);
  --neo-text: #e8edf2;
  --neo-text-muted: #9aa8b8;
  --neo-text-dim: #6b7888;
  --neo-shadow: rgba(0, 0, 0, 0.42);
  --neo-grid: rgba(45, 212, 191, 0.05);
  --neo-orb-1: rgba(45, 212, 191, 0.1);
  --neo-orb-2: rgba(148, 163, 184, 0.1);
  --neo-btn-bg: linear-gradient(165deg, #e2e8f0 0%, #94a3b8 48%, #64748b 100%);
  --neo-btn-text: #0f172a;
  --neo-btn-border: rgba(255, 255, 255, 0.28);
  --neo-scanline: rgba(255, 255, 255, 0.025);
  --neo-vol-blue: rgba(59, 130, 246, 0.6);
  --neo-vol-cyan: rgba(45, 212, 191, 0.75);
  --neo-glare-hot: rgba(255, 255, 255, 0.22);
  --neo-glare-soft: rgba(255, 255, 255, 0.05);
  --neo-glare-opacity: 0.38;
  --neo-sphere-opacity: 0.55;
  /* UI tokens — все кнопки/поля */
  --ui-primary-bg: #465a6e;
  --ui-primary-text: #f4f7fa;
  --ui-primary-border: #5c7084;
  --ui-primary-hover: #526678;
  --ui-secondary-bg: rgba(255, 255, 255, 0.06);
  --ui-secondary-text: #e8edf2;
  --ui-secondary-border: rgba(255, 255, 255, 0.18);
  --ui-ghost-bg: transparent;
  --ui-ghost-text: #9aa8b8;
  --ui-ghost-border: rgba(255, 255, 255, 0.14);
  --ui-danger-bg: #6b3030;
  --ui-danger-text: #fecaca;
  --ui-danger-border: rgba(248, 113, 113, 0.35);
  --ui-input-bg: rgba(0, 0, 0, 0.22);
  --ui-input-border: rgba(255, 255, 255, 0.14);
  --ui-panel-bg: rgba(38, 46, 56, 0.92);
  --ui-panel-border: rgba(255, 255, 255, 0.1);
  --ui-segment-active: rgba(45, 212, 191, 0.14);
  --ui-segment-border: rgba(45, 212, 191, 0.45);
}

[data-workspace-theme="dark"],
[data-theme="dark"] {
  --neo-bg-deep: #040810;
  --neo-bg-mid: #0a1628;
  --neo-bg-elevated: #0f1f35;
  --neo-cyan: #22d3ee;
  --neo-cyan-dim: #0891b2;
  --neo-cyan-glow: rgba(34, 211, 238, 0.45);
  --neo-cyan-soft: rgba(34, 211, 238, 0.12);
  --neo-silver-50: #f4f7fa;
  --neo-silver-200: #c8d0da;
  --neo-silver-400: #8a96a8;
  --neo-silver-600: #4a5568;
  --neo-glass: rgba(255, 255, 255, 0.06);
  --neo-glass-strong: rgba(255, 255, 255, 0.11);
  --neo-glass-edge: rgba(255, 255, 255, 0.18);
  --neo-glass-highlight: rgba(255, 255, 255, 0.38);
  --neo-white-panel: rgba(255, 255, 255, 0.14);
  --neo-text: #eef2f7;
  --neo-text-muted: #94a3b8;
  --neo-text-dim: #64748b;
  --neo-shadow: rgba(0, 0, 0, 0.55);
  --neo-grid: rgba(34, 211, 238, 0.06);
  --neo-orb-1: rgba(34, 211, 238, 0.15);
  --neo-orb-2: rgba(148, 163, 184, 0.12);
  --neo-btn-bg: linear-gradient(165deg, #f0f4f8 0%, #b8c4d4 42%, #7a8796 100%);
  --neo-btn-text: #0a1628;
  --neo-btn-border: rgba(255, 255, 255, 0.35);
  --neo-scanline: rgba(255, 255, 255, 0.03);
  --neo-vol-blue: rgba(59, 130, 246, 0.75);
  --neo-vol-cyan: rgba(34, 211, 238, 0.85);
  --neo-glare-hot: rgba(255, 255, 255, 0.32);
  --neo-glare-soft: rgba(255, 255, 255, 0.06);
  --neo-glare-opacity: 0.42;
  --neo-sphere-opacity: 0.85;
  --ui-primary-bg: #1a4a6e;
  --ui-primary-text: #e8f4fc;
  --ui-primary-border: #2563eb;
  --ui-primary-hover: #1e5080;
  --ui-secondary-bg: rgba(255, 255, 255, 0.07);
  --ui-secondary-text: #e2e8f0;
  --ui-secondary-border: rgba(148, 163, 184, 0.28);
  --ui-ghost-bg: transparent;
  --ui-ghost-text: #94a3b8;
  --ui-ghost-border: rgba(148, 163, 184, 0.22);
  --ui-danger-bg: #7f1d1d;
  --ui-danger-text: #fecaca;
  --ui-danger-border: rgba(248, 113, 113, 0.4);
  --ui-input-bg: rgba(0, 0, 0, 0.35);
  --ui-input-border: rgba(148, 163, 184, 0.25);
  --ui-panel-bg: rgba(15, 31, 53, 0.94);
  --ui-panel-border: rgba(34, 211, 238, 0.18);
  --ui-segment-active: rgba(34, 211, 238, 0.14);
  --ui-segment-border: rgba(34, 211, 238, 0.5);
}
[data-workspace-theme="light"],
[data-theme="light"] {
  --neo-bg-deep: #f1f5f9;
  --neo-bg-mid: #ffffff;
  --neo-bg-elevated: #ffffff;
  --neo-cyan: #0369a1;
  --neo-cyan-dim: #0c4a6e;
  --neo-cyan-glow: rgba(37, 99, 235, 0.18);
  --neo-cyan-soft: #e0f2fe;
  --neo-glass: #ffffff;
  --neo-glass-strong: #ffffff;
  --neo-glass-edge: #e2e8f0;
  --neo-glass-highlight: #f8fafc;
  --neo-white-panel: #ffffff;
  --neo-text: #0f172a;
  --neo-text-muted: #475569;
  --neo-text-dim: #64748b;
  --neo-shadow: rgba(15, 23, 42, 0.08);
  --neo-grid: rgba(37, 99, 235, 0.04);
  --neo-orb-1: transparent;
  --neo-orb-2: transparent;
  --neo-btn-bg: #2563eb;
  --neo-btn-text: #ffffff;
  --neo-btn-border: #1d4ed8;
  --neo-scanline: transparent;
  --neo-vol-blue: rgba(37, 99, 235, 0.35);
  --neo-vol-cyan: rgba(14, 165, 233, 0.4);
  --neo-glare-hot: transparent;
  --neo-glare-soft: transparent;
  --neo-glare-opacity: 0;
  --neo-sphere-opacity: 0;
  --ui-primary-bg: #2563eb;
  --ui-primary-text: #ffffff;
  --ui-primary-border: #1d4ed8;
  --ui-primary-hover: #1d4ed8;
  --ui-secondary-bg: #ffffff;
  --ui-secondary-text: #334155;
  --ui-secondary-border: #cbd5e1;
  --ui-ghost-bg: transparent;
  --ui-ghost-text: #64748b;
  --ui-ghost-border: #cbd5e1;
  --ui-danger-bg: #dc2626;
  --ui-danger-text: #ffffff;
  --ui-danger-border: #b91c1c;
  --ui-input-bg: #ffffff;
  --ui-input-border: #cbd5e1;
  --ui-panel-bg: #ffffff;
  --ui-panel-border: #e2e8f0;
  --ui-segment-active: #eff6ff;
  --ui-segment-border: #2563eb;
}

html {
  scroll-behavior: smooth;
}

body.neo-preview,
body.neo-platform {
  margin: 0;
  min-height: 100vh;
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--neo-text);
  background: var(--neo-bg-deep);
  overflow-x: hidden;
  transition: background 0.5s ease, color 0.4s ease;
}

/* --- Ambient background --- */
.neo-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.neo-bg__gradient {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 20% -10%, var(--neo-orb-1), transparent 55%),
    radial-gradient(ellipse 60% 45% at 90% 80%, var(--neo-orb-2), transparent 50%),
    linear-gradient(180deg, var(--neo-bg-mid) 0%, var(--neo-bg-deep) 100%);
  transition: background 0.5s ease;
}

.neo-bg__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--neo-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--neo-grid) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 20%, transparent 75%);
}

.neo-bg__scan {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    var(--neo-scanline) 2px,
    var(--neo-scanline) 4px
  );
  opacity: 0.5;
}

/* --- Layout --- */
.neo-wrap {
  position: relative;
  z-index: 1;
  max-width: 72rem;
  margin: 0 auto;
  padding: 1.25rem 1.5rem 4rem;
}

.neo-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: var(--neo-glass);
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.neo-topbar__brand {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: var(--neo-text);
}

.neo-topbar__brand strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
}

.neo-topbar__brand span {
  display: block;
  font-size: 0.72rem;
  color: var(--neo-text-dim);
  letter-spacing: 0.04em;
}

.neo-topbar__brand i {
  font-size: 1.35rem;
  color: var(--neo-cyan);
}

.neo-topbar__nav {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1rem;
  font-size: 0.85rem;
}

@media (min-width: 768px) {
  .neo-topbar__nav { display: flex; }
}

.neo-topbar__nav a {
  color: var(--neo-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.neo-topbar__nav a:hover {
  color: var(--neo-cyan);
}

.neo-topbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.neo-topbar__link {
  padding: 0.45rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--neo-text-muted);
  text-decoration: none;
  border-radius: 0.65rem;
  transition: color 0.2s, background 0.2s;
}

.neo-theme-toggle--compact button {
  padding: 0.35rem 0.55rem;
  font-size: 0.65rem;
  min-width: 2rem;
}

.neo-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.25rem;
}

.neo-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--neo-text-muted);
  background: var(--neo-glass);
  border: 1px solid var(--neo-glass-edge);
}

.neo-hero__chip i {
  color: var(--neo-cyan);
  font-size: 0.7rem;
}

.neo-intel--landing {
  position: relative;
}

.neo-intel__connectors-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 6;
  overflow: visible;
}

@media (max-width: 899px) {
  .neo-intel__connectors-overlay { display: none; }
}

.neo-intel__connector-path {
  fill: none;
  stroke: rgba(34, 211, 238, 0.22);
  stroke-width: 1.5;
  stroke-linecap: round;
  transition: stroke 0.4s ease, opacity 0.4s ease;
}

.neo-intel__connector-path.is-active {
  stroke: rgba(34, 211, 238, 0.72);
  filter: drop-shadow(0 0 4px var(--neo-cyan-glow));
}

[data-workspace-theme="light"] .neo-intel__connector-path,
[data-theme="light"] .neo-intel__connector-path {
  stroke: rgba(14, 116, 144, 0.28);
}

[data-workspace-theme="light"] .neo-intel__connector-path.is-active,
[data-theme="light"] .neo-intel__connector-path.is-active {
  stroke: rgba(14, 116, 144, 0.78);
}

.neo-intel__center {
  outline: none;
}

.neo-intel__center.is-wheel-zone:focus-visible {
  box-shadow: 0 0 0 2px var(--neo-cyan-soft);
  border-radius: 1rem;
}

.neo-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--neo-cyan);
  background: var(--neo-cyan-soft);
  border: 1px solid rgba(34, 211, 238, 0.25);
}

.neo-theme-toggle {
  display: inline-flex;
  padding: 0.2rem;
  border-radius: 999px;
  background: var(--neo-glass);
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.neo-theme-toggle button {
  padding: 0.45rem 0.9rem;
  border: none;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--neo-text-muted);
  transition: background 0.25s, color 0.25s;
}

.neo-theme-toggle button.is-active {
  background: var(--neo-white-panel);
  color: var(--neo-text);
  box-shadow: 0 2px 12px var(--neo-shadow);
}

/* --- Glass panel base --- */
.neo-glass {
  position: relative;
  border-radius: 1.25rem;
  background: var(--neo-glass-strong);
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(20px) saturate(1.2);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  box-shadow:
    0 4px 24px var(--neo-shadow),
    inset 0 1px 0 var(--neo-glass-highlight);
  overflow: hidden;
}

.neo-glass::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--neo-glass-highlight), transparent);
  opacity: 0.9;
  pointer-events: none;
}

.neo-glass__shine {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: inherit;
  --glare-x: 50%;
  --glare-y: 50%;
  z-index: 3;
  transform: none !important;
  background:
    radial-gradient(
      circle 38% at var(--glare-x) var(--glare-y),
      var(--neo-glare-hot) 0%,
      var(--neo-glare-soft) 42%,
      transparent 70%
    );
  opacity: 0;
  transition: opacity 0.4s ease;
  will-change: opacity;
}

[data-workspace-theme="light"] .neo-glass__shine,
[data-theme="light"] .neo-glass__shine,
[data-workspace-theme="light"] .glass-shine,
[data-theme="light"] .glass-shine {
  display: none !important;
}

.neo-glass.is-tilt:hover .neo-glass__shine,
.neo-vol-card.is-tilt:hover .neo-glass__shine,
.neo-fan-stack-wrap.is-tilt:hover .neo-glass__shine,
.neo-doc-stack-wrap.is-tilt:hover .neo-glass__shine,
.neo-ubd-stage.is-tilt:hover .neo-glass__shine {
  opacity: var(--neo-glare-opacity);
}

[data-workspace-theme="light"] .neo-glass.is-tilt:hover,
[data-theme="light"] .neo-glass.is-tilt:hover,
[data-workspace-theme="light"] .neo-vol-card.is-tilt:hover,
[data-theme="light"] .neo-vol-card.is-tilt:hover {
  box-shadow:
    0 16px 40px var(--neo-shadow),
    0 0 28px var(--neo-cyan-glow),
    inset 0 1px 0 var(--neo-glass-highlight),
    inset 0 0 0 1px rgba(14, 116, 144, 0.12);
}

.neo-glass.is-tilt {
  transform-style: preserve-3d;
  will-change: transform;
  transition: box-shadow 0.45s ease;
  overflow: hidden;
  isolation: isolate;
}

.neo-glass.is-tilt:hover {
  box-shadow:
    0 20px 50px var(--neo-shadow),
    0 0 40px var(--neo-cyan-glow),
    inset 0 1px 0 var(--neo-glass-highlight);
}

/* --- Hero --- */
.neo-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 3rem;
}

@media (min-width: 900px) {
  .neo-hero {
    grid-template-columns: 1.05fr 0.95fr;
  }
}

.neo-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin: 0 0 1rem;
}

.neo-hero__title span {
  background: linear-gradient(135deg, var(--neo-text) 0%, var(--neo-silver-200) 50%, var(--neo-cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.neo-hero__lead {
  font-size: 1.05rem;
  color: var(--neo-text-muted);
  max-width: 32rem;
  margin: 0 0 1.5rem;
}

.neo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.35rem;
}

.neo-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.65rem 1.35rem;
  border-radius: 0.85rem;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--neo-btn-border);
  background: var(--neo-btn-bg);
  color: var(--neo-btn-text);
  box-shadow: 0 4px 20px var(--neo-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  text-decoration: none;
}

.neo-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px var(--neo-shadow), 0 0 24px var(--neo-cyan-glow), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.neo-btn__glint {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.45) 50%, transparent 60%);
  transform: translateX(-100%);
  pointer-events: none;
}

.neo-btn:hover .neo-btn__glint {
  animation: neo-btn-glint 0.6s ease;
}

@keyframes neo-btn-glint {
  to { transform: translateX(100%); }
}

.neo-btn--ghost {
  background: var(--neo-glass);
  color: var(--neo-text);
  border-color: var(--neo-glass-edge);
  box-shadow: none;
}

.neo-btn--ghost:hover {
  background: var(--neo-white-panel);
}

/* --- Layer stack (AI visual) --- */
.neo-stack-wrap {
  perspective: 900px;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.neo-stack {
  position: relative;
  width: min(100%, 340px);
  height: 240px;
  transform-style: preserve-3d;
}

.neo-stack__layer {
  position: absolute;
  left: 50%;
  width: 78%;
  height: 52%;
  margin-left: -39%;
  border-radius: 1rem;
  background: var(--neo-glass-strong);
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px var(--neo-shadow);
}

.neo-stack__layer:nth-child(1) {
  bottom: 8%;
  transform: rotateX(52deg) rotateZ(-8deg) translateZ(0);
  opacity: 0.55;
}

.neo-stack__layer:nth-child(2) {
  bottom: 28%;
  transform: rotateX(52deg) rotateZ(-5deg) translateZ(24px);
  opacity: 0.75;
  border-color: rgba(34, 211, 238, 0.25);
}

.neo-stack__layer:nth-child(3) {
  bottom: 48%;
  transform: rotateX(52deg) rotateZ(-2deg) translateZ(48px);
  opacity: 0.95;
  box-shadow: 0 0 30px var(--neo-cyan-glow);
}

.neo-stack__layer:nth-child(3)::after {
  content: "";
  position: absolute;
  inset: 12%;
  border-radius: 0.5rem;
  border: 1px dashed rgba(34, 211, 238, 0.35);
  background: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 8px,
    var(--neo-cyan-soft) 8px,
    var(--neo-cyan-soft) 9px
  );
}

.neo-stack__chip {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotateX(52deg);
  width: 42%;
  height: 18%;
  border-radius: 0.5rem;
  background: linear-gradient(145deg, #e8edf2, #9aa5b3 40%, #5c6672 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 4px 16px var(--neo-shadow);
}

/* --- Cards grid --- */
.neo-section-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--neo-cyan);
  margin: 0 0 0.5rem;
}

.neo-section-head {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 1.25rem;
}

.neo-cards {
  margin-bottom: 3rem;
}

.neo-card {
  padding: 1.25rem;
  min-height: 140px;
}

.neo-card__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
  font-size: 1.1rem;
  color: var(--neo-cyan);
  background: var(--neo-cyan-soft);
  border: 1px solid rgba(34, 211, 238, 0.2);
}

.neo-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
}

.neo-card__desc {
  font-size: 0.82rem;
  color: var(--neo-text-muted);
  margin: 0;
}

/* --- Auth mock + swatches --- */
.neo-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .neo-split {
    grid-template-columns: 1fr 1fr;
  }
}

.neo-auth {
  padding: 1.5rem;
}

.neo-auth label {
  display: block;
  font-size: 0.75rem;
  color: var(--neo-text-muted);
  margin-bottom: 0.35rem;
}

.neo-auth input {
  width: 100%;
  padding: 0.65rem 0.85rem;
  margin-bottom: 0.85rem;
  border-radius: 0.65rem;
  border: 1px solid var(--neo-glass-edge);
  background: var(--neo-glass);
  color: var(--neo-text);
  font-size: 0.9rem;
}

.neo-auth input:focus {
  outline: none;
  border-color: var(--neo-cyan);
  box-shadow: 0 0 0 3px var(--neo-cyan-soft);
}

.neo-swatches {
  padding: 1.25rem;
}

.neo-swatch-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.neo-swatch {
  flex: 1 1 72px;
  min-width: 72px;
  text-align: center;
}

.neo-swatch__chip {
  height: 48px;
  border-radius: 0.65rem;
  border: 1px solid var(--neo-glass-edge);
  margin-bottom: 0.35rem;
}

.neo-swatch__label {
  font-size: 0.65rem;
  color: var(--neo-text-dim);
}

.neo-footer-note {
  text-align: center;
  font-size: 0.8rem;
  color: var(--neo-text-dim);
  padding: 1.5rem;
  border-top: 1px solid var(--neo-glass-edge);
}

.neo-topbar__sub {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  color: var(--neo-text-dim);
}

.neo-topbar__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

/* --- Scene navigation --- */
.neo-scene-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
  padding: 0.35rem;
  border-radius: 1rem;
  background: var(--neo-glass);
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(14px);
}

.neo-scene-nav__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--neo-text-muted);
  transition: background 0.3s, color 0.3s, box-shadow 0.3s;
}

.neo-scene-nav__btn:hover {
  color: var(--neo-text);
  background: var(--neo-glass-strong);
}

.neo-scene-nav__btn.is-active {
  background: var(--neo-white-panel);
  color: var(--neo-text);
  box-shadow: 0 4px 20px var(--neo-shadow), 0 0 20px var(--neo-cyan-soft);
}

.neo-scene {
  display: none;
  animation: neo-scene-in 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.neo-scene.is-active {
  display: block;
}

@keyframes neo-scene-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.neo-scene-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.neo-scene-head__sub {
  font-size: 0.9rem;
  color: var(--neo-text-muted);
  margin: 0.35rem 0 0;
  max-width: 36rem;
}

.neo-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

/* --- Fan stack (landing tabs ref 1) --- */
.neo-fan-stack-wrap {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 800px;
  padding: 1.5rem !important;
  overflow: hidden;
  isolation: isolate;
}

.neo-fan-stack__caption {
  position: absolute;
  top: 1rem;
  left: 1.25rem;
  margin: 0;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--neo-text-dim);
}

.neo-fan-stack {
  position: relative;
  width: 200px;
  height: 200px;
  transform-style: preserve-3d;
}

.neo-fan-card {
  position: absolute;
  width: 140px;
  height: 140px;
  left: 50%;
  top: 50%;
  margin: -70px 0 0 -70px;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(145deg, var(--neo-vol-blue), rgba(37, 99, 235, 0.85));
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 12px 40px var(--neo-shadow);
  backdrop-filter: blur(8px);
  cursor: pointer;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s, background 0.4s;
  transform: rotate(-12deg) translate(-30px, 20px) translateZ(0);
}

.neo-fan-card i { font-size: 1.75rem; opacity: 0.95; }

.neo-fan-card[data-fan="1"] {
  transform: rotate(-4deg) translate(-10px, 8px) translateZ(20px);
  opacity: 0.88;
}

.neo-fan-card[data-fan="2"] {
  transform: rotate(6deg) translate(15px, -5px) translateZ(40px);
  background: linear-gradient(145deg, var(--neo-vol-cyan), rgba(6, 182, 212, 0.9));
  box-shadow: 0 16px 48px var(--neo-shadow), 0 0 32px var(--neo-cyan-glow);
}

.neo-fan-card[data-fan="3"] {
  transform: rotate(14deg) translate(35px, 15px) translateZ(10px);
  opacity: 0.75;
}

.neo-fan-card.is-front,
.neo-fan-card:hover {
  z-index: 5;
}

.neo-fan-stack:hover .neo-fan-card[data-fan="0"] {
  transform: rotate(-18deg) translate(-45px, 28px) translateZ(5px);
}

.neo-fan-stack:hover .neo-fan-card[data-fan="3"] {
  transform: rotate(20deg) translate(50px, 22px) translateZ(15px);
}

/* --- Volumetric project cards --- */
.neo-vol-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  perspective: 1200px;
}

.neo-vol-card {
  position: relative;
  min-height: 200px;
  transform-style: preserve-3d;
  cursor: pointer;
  overflow: hidden;
  border-radius: 1.15rem;
  isolation: isolate;
}

.neo-vol-card__plate {
  position: relative;
  z-index: 2;
  padding: 1.15rem 1.2rem 1.3rem;
  border-radius: 1.1rem;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.18) 0%,
    var(--neo-glass-strong) 40%,
    rgba(59, 130, 246, 0.15) 100%
  );
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  box-shadow:
    0 8px 32px var(--neo-shadow),
    inset 0 1px 0 var(--neo-glass-highlight),
    0 0 0 1px rgba(34, 211, 238, 0.08);
  transform: translateZ(18px);
}

[data-workspace-theme="light"] .neo-vol-card__plate,
[data-theme="light"] .neo-vol-card__plate {
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.65) 0%,
    rgba(255, 255, 255, 0.45) 50%,
    rgba(59, 130, 246, 0.12) 100%
  );
}

.neo-vol-card__base {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 0;
  height: 12px;
  border-radius: 0 0 1rem 1rem;
  background: linear-gradient(180deg, rgba(100, 116, 139, 0.35), rgba(30, 41, 59, 0.5));
  transform: translateZ(0) rotateX(65deg);
  transform-origin: top center;
  filter: blur(1px);
  opacity: 0.7;
}

.neo-vol-card__kind {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 0.35rem;
  margin-bottom: 0.5rem;
  color: var(--neo-cyan);
  background: var(--neo-cyan-soft);
  border: 1px solid rgba(34, 211, 238, 0.25);
}

.neo-vol-card[data-kind="estimate"] .neo-vol-card__kind {
  color: #a78bfa;
  background: rgba(167, 139, 250, 0.15);
  border-color: rgba(167, 139, 250, 0.3);
}

.neo-vol-card__title {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  line-height: 1.3;
}

.neo-vol-card__meta {
  font-size: 0.75rem;
  color: var(--neo-text-muted);
  margin: 0 0 0.65rem;
}

.neo-vol-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.neo-vol-chip {
  font-size: 0.65rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.35rem;
  background: var(--neo-glass);
  border: 1px solid var(--neo-glass-edge);
  color: var(--neo-text-muted);
}

.neo-vol-chip--ok {
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.35);
  background: rgba(52, 211, 153, 0.1);
}

.neo-vol-chip--warn {
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.35);
  background: rgba(251, 191, 36, 0.1);
}

.neo-vol-card--new .neo-vol-card__plate--center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  border-style: dashed;
}

.neo-vol-card__plus {
  font-size: 1.5rem;
  color: var(--neo-cyan);
  margin-bottom: 0.35rem;
}

/* --- Document stack ref 2 --- */
.neo-doc-stack-wrap {
  perspective: 900px;
  overflow: hidden;
  isolation: isolate;
}

.neo-doc-stack {
  position: relative;
  height: 180px;
  max-width: 280px;
  margin: 1rem auto 0;
  transform-style: preserve-3d;
}

.neo-doc-sheet {
  position: absolute;
  left: 10%;
  width: 80%;
  height: 140px;
  border-radius: 0.75rem;
  background: var(--neo-glass-strong);
  border: 1px solid rgba(34, 211, 238, 0.2);
  box-shadow: 0 8px 24px var(--neo-shadow);
  transform: rotateX(48deg) rotateZ(-6deg) translateZ(0);
  opacity: 0.5;
}

.neo-doc-sheet:nth-child(2) {
  transform: rotateX(48deg) rotateZ(-3deg) translateZ(16px);
  opacity: 0.72;
}

.neo-doc-sheet--front {
  transform: rotateX(48deg) rotateZ(0deg) translateZ(32px);
  opacity: 1;
  box-shadow: 0 0 28px var(--neo-cyan-glow), 0 12px 32px var(--neo-shadow);
  padding: 1rem;
}

.neo-doc-sheet__lines {
  height: 60%;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 10px,
    var(--neo-cyan-soft) 10px,
    var(--neo-cyan-soft) 11px
  );
  border-radius: 0.35rem;
  opacity: 0.8;
}

.neo-doc-sheet__label {
  margin-top: 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--neo-cyan);
}

/* --- UBD HUD stage ref 3 --- */
.neo-ubd-stage {
  position: relative;
  min-height: 420px;
  border-radius: 1.5rem;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse 80% 70% at 50% 50%, #0a1628 0%, #040810 70%);
  border: 1px solid rgba(34, 211, 238, 0.28);
  box-shadow:
    inset 0 0 80px rgba(34, 211, 238, 0.1),
    0 12px 40px rgba(0, 0, 0, 0.35);
}

.neo-ubd-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(34, 211, 238, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, 0.07) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse 75% 65% at 50% 48%, black 15%, transparent 78%);
  opacity: 0.85;
}

[data-workspace-theme="light"] .neo-ubd-stage,
[data-theme="light"] .neo-ubd-stage {
  /* HUD остаётся тёмным «окном» на светлой странице */
  background: radial-gradient(ellipse 85% 75% at 50% 45%, #1e4976 0%, #0f2744 42%, #061018 100%);
  border: 1px solid rgba(14, 116, 144, 0.55);
  box-shadow:
    inset 0 0 100px rgba(34, 211, 238, 0.15),
    0 16px 48px rgba(15, 23, 42, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.35);
}

[data-workspace-theme="light"] .neo-ubd-stage::before,
[data-theme="light"] .neo-ubd-stage::before {
  background-image:
    linear-gradient(rgba(34, 211, 238, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, 0.14) 1px, transparent 1px);
  opacity: 1;
}

[data-workspace-theme="light"] .neo-ubd-hud,
[data-theme="light"] .neo-ubd-hud {
  color: #22d3ee;
  opacity: 1;
}

[data-workspace-theme="light"] .neo-ubd-hud__svg circle,
[data-theme="light"] .neo-ubd-hud__svg circle {
  stroke: #38bdf8;
}

[data-workspace-theme="light"] .neo-ubd-hud__svg circle:nth-child(1),
[data-theme="light"] .neo-ubd-hud__svg circle:nth-child(1) { opacity: 0.45; }
[data-workspace-theme="light"] .neo-ubd-hud__svg circle:nth-child(2),
[data-theme="light"] .neo-ubd-hud__svg circle:nth-child(2) { opacity: 0.62; }
[data-workspace-theme="light"] .neo-ubd-hud__svg circle:nth-child(3),
[data-theme="light"] .neo-ubd-hud__svg circle:nth-child(3) { opacity: 0.78; }
[data-workspace-theme="light"] .neo-ubd-hud__svg circle:nth-child(4),
[data-theme="light"] .neo-ubd-hud__svg circle:nth-child(4) { opacity: 0.95; }

[data-workspace-theme="light"] .neo-ubd-hud__lock,
[data-theme="light"] .neo-ubd-hud__lock {
  color: #e0f2fe;
  text-shadow: 0 0 20px rgba(34, 211, 238, 0.8), 0 0 40px rgba(34, 211, 238, 0.45);
}

[data-workspace-theme="light"] .neo-ubd-panel,
[data-theme="light"] .neo-ubd-panel {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(16px);
  color: #e2e8f0;
}

[data-workspace-theme="light"] .neo-ubd-panel__text,
[data-theme="light"] .neo-ubd-panel__text {
  color: #cbd5e1;
}

[data-workspace-theme="light"] .neo-ubd-hud__pulse,
[data-theme="light"] .neo-ubd-hud__pulse {
  border-color: #22d3ee;
  opacity: 0.55;
  box-shadow: 0 0 24px rgba(34, 211, 238, 0.35);
}

.neo-ubd-hud {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--neo-cyan);
  pointer-events: none;
}

.neo-ubd-hud__svg {
  width: min(90%, 420px);
  height: auto;
  animation: neo-hud-spin 48s linear infinite;
}

@keyframes neo-hud-spin {
  to { transform: rotate(360deg); }
}

.neo-ubd-hud__lock {
  position: absolute;
  font-size: 2.5rem;
  color: #fff;
  text-shadow: 0 0 24px var(--neo-cyan-glow), 0 0 48px var(--neo-cyan);
  animation: neo-hud-pulse 3s ease-in-out infinite;
}

@keyframes neo-hud-pulse {
  0%, 100% { opacity: 0.85; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}

.neo-ubd-hud__pulse {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 1px solid var(--neo-cyan);
  opacity: 0.4;
  animation: neo-hud-ring 2.5s ease-out infinite;
}

@keyframes neo-hud-ring {
  0% { transform: scale(0.6); opacity: 0.6; }
  100% { transform: scale(2.2); opacity: 0; }
}

.neo-ubd-panel {
  position: relative;
  z-index: 2;
  max-width: 22rem;
  margin: 2.5rem auto;
  padding: 1.5rem;
  text-align: center;
}

.neo-ubd-panel__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.neo-ubd-panel__text {
  font-size: 0.85rem;
  color: var(--neo-text-muted);
  margin: 0 0 1rem;
}

.neo-ubd-stats {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}

.neo-ubd-stats div {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.neo-ubd-stats strong {
  font-size: 1.25rem;
  color: var(--neo-cyan);
}

.neo-ubd-stats span {
  font-size: 0.65rem;
  color: var(--neo-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* --- Intel layout ref 4 --- */
.neo-intel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 900px) {
  .neo-intel {
    grid-template-columns: 1fr 1.1fr 1fr;
  }
}

.neo-intel__panel {
  padding: 1.25rem;
  min-height: 280px;
}

.neo-intel__panel-title {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--neo-cyan);
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--neo-glass-edge);
}

.neo-intel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.neo-intel__item {
  padding: 0.65rem 0.85rem;
  border-radius: 0.65rem;
  font-size: 0.85rem;
  color: var(--neo-text-muted);
  background: rgba(0, 0, 0, 0.15);
  border: 1px solid transparent;
  transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
}

[data-workspace-theme="light"] .neo-intel__item,
[data-theme="light"] .neo-intel__item {
  background: rgba(255, 255, 255, 0.25);
}

.neo-intel__item.is-active,
.neo-intel__item:hover {
  color: var(--neo-text);
  background: var(--neo-cyan-soft);
  border-color: rgba(34, 211, 238, 0.3);
  box-shadow: 0 0 16px var(--neo-cyan-soft);
}

.neo-intel__center-caption {
  text-align: center;
  font-size: 0.75rem;
  color: var(--neo-text-dim);
  margin: 0.75rem 0 0;
}

/* --- Landing Intel hero --- */
.neo-landing-hero {
  display: block;
  margin-bottom: 2rem;
}

.neo-landing-hero__copy {
  max-width: 42rem;
}

.neo-landing-hero__badge {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1.15rem;
  font-size: 0.85rem;
  color: var(--neo-text-muted);
  white-space: nowrap;
}

.neo-landing-hero__badge i {
  font-size: 1.35rem;
  color: var(--neo-cyan);
}

.neo-btn--compact {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.neo-intel__wheel-hint {
  text-align: center;
  font-size: 0.72rem;
  color: var(--neo-text-dim);
  margin: 0.65rem 0 0;
}

.neo-landing-foot {
  margin: 1.5rem 0 2rem;
}

.neo-landing-foot__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

.neo-landing-foot__links a {
  font-size: 0.82rem;
  color: var(--neo-text-muted);
  text-decoration: none;
}

.neo-landing-foot__links a:hover {
  color: var(--neo-cyan);
}

a.neo-video {
  display: block;
  text-decoration: none;
  color: inherit;
}

a.neo-landing-hero__badge {
  text-decoration: none;
  color: inherit;
}

.neo-intel--landing {
  margin-bottom: 1rem;
}

.neo-intel__stage {
  position: relative;
  min-height: 340px;
  padding: 1.25rem 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}

/* --- Pain layer stack (center) --- */
.neo-pain-stack {
  position: relative;
  z-index: 1;
  width: min(100%, 300px);
  height: 270px;
  margin: 0 auto;
  transform-style: preserve-3d;
  perspective: 900px;
}

.neo-pain-layer {
  position: absolute;
  left: 50%;
  width: 76%;
  margin-left: -38%;
  border-radius: 0.85rem;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.16) 0%,
    var(--neo-glass-strong) 45%,
    rgba(34, 211, 238, 0.08) 100%
  );
  border: 1px solid rgba(34, 211, 238, 0.22);
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
  box-shadow: 0 10px 28px var(--neo-shadow);
  transition:
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease,
    filter 0.55s ease,
    box-shadow 0.55s ease;
  animation: neo-layer-float 7s ease-in-out infinite;
}

[data-workspace-theme="light"] .neo-pain-layer,
[data-theme="light"] .neo-pain-layer {
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.72) 0%,
    rgba(255, 255, 255, 0.48) 55%,
    rgba(56, 189, 248, 0.12) 100%
  );
  border-color: rgba(14, 116, 144, 0.28);
}

.neo-pain-layer__circuit {
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 11px,
      rgba(34, 211, 238, 0.07) 11px,
      rgba(34, 211, 238, 0.07) 12px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 11px,
      rgba(34, 211, 238, 0.05) 11px,
      rgba(34, 211, 238, 0.05) 12px
    );
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, black 20%, transparent 75%);
}

.neo-pain-layer__body {
  position: relative;
  z-index: 1;
  padding: 0.65rem 0.75rem;
  display: grid;
  gap: 0.2rem;
  font-size: 0.72rem;
  line-height: 1.35;
}

.neo-pain-layer__body strong {
  font-size: 0.82rem;
  color: var(--neo-text);
}

.neo-pain-layer__body em {
  font-style: normal;
  color: var(--neo-cyan);
  font-weight: 600;
}

.neo-pain-layer__tag {
  display: inline-block;
  width: fit-content;
  padding: 0.1rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.neo-pain-layer__tag--pain {
  background: rgba(251, 146, 60, 0.15);
  color: #fb923c;
}

.neo-pain-layer__tag--fix {
  background: var(--neo-cyan-soft);
  color: var(--neo-cyan);
}

.neo-pain-layer[data-layer="0"] {
  bottom: 6%;
  transform: rotateX(58deg) rotateZ(-7deg) translateZ(0);
  animation-delay: 0s;
}

.neo-pain-layer[data-layer="1"] {
  bottom: 18%;
  transform: rotateX(58deg) rotateZ(-4deg) translateZ(18px);
  animation-delay: -1.2s;
}

.neo-pain-layer[data-layer="2"] {
  bottom: 30%;
  transform: rotateX(58deg) rotateZ(-1deg) translateZ(36px);
  animation-delay: -2.4s;
}

.neo-pain-layer[data-layer="3"] {
  bottom: 42%;
  transform: rotateX(58deg) rotateZ(2deg) translateZ(54px);
  animation-delay: -3.6s;
}

.neo-pain-layer[data-layer="4"] {
  bottom: 54%;
  transform: rotateX(58deg) rotateZ(5deg) translateZ(72px);
  animation-delay: -4.8s;
}

@keyframes neo-layer-float {
  0%, 100% { box-shadow: 0 10px 28px var(--neo-shadow); }
  50% { box-shadow: 0 14px 36px var(--neo-shadow), 0 0 20px var(--neo-cyan-soft); }
}

.neo-pain-stack[data-active="0"] .neo-pain-layer[data-layer="0"],
.neo-pain-stack[data-active="1"] .neo-pain-layer[data-layer="1"],
.neo-pain-stack[data-active="2"] .neo-pain-layer[data-layer="2"],
.neo-pain-stack[data-active="3"] .neo-pain-layer[data-layer="3"],
.neo-pain-stack[data-active="4"] .neo-pain-layer[data-layer="4"] {
  opacity: 1;
  filter: brightness(1.12);
  box-shadow:
    0 16px 40px var(--neo-shadow),
    0 0 32px var(--neo-cyan-glow);
  z-index: 8;
}

.neo-pain-stack[data-active="0"] .neo-pain-layer[data-layer="0"] {
  transform: rotateX(54deg) rotateZ(-2deg) translateZ(88px) scale(1.03);
}

.neo-pain-stack[data-active="1"] .neo-pain-layer[data-layer="1"] {
  transform: rotateX(54deg) rotateZ(-1deg) translateZ(88px) scale(1.03);
}

.neo-pain-stack[data-active="2"] .neo-pain-layer[data-layer="2"] {
  transform: rotateX(54deg) rotateZ(0deg) translateZ(88px) scale(1.03);
}

.neo-pain-stack[data-active="3"] .neo-pain-layer[data-layer="3"] {
  transform: rotateX(54deg) rotateZ(1deg) translateZ(88px) scale(1.03);
}

.neo-pain-stack[data-active="4"] .neo-pain-layer[data-layer="4"] {
  transform: rotateX(54deg) rotateZ(2deg) translateZ(88px) scale(1.03);
}

.neo-pain-stack[data-active] .neo-pain-layer:not(.is-active-layer) {
  opacity: 0.42;
}

.neo-pain-stack__core {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotateX(58deg);
  width: 38%;
  height: 16%;
  border-radius: 0.45rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #334155;
  background: linear-gradient(145deg, #eef2f7, #9aa5b3 45%, #5c6672 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 6px 18px var(--neo-shadow);
}

.neo-pain-stack__core i {
  font-size: 0.85rem;
  color: var(--neo-cyan-dim);
}

/* --- Video block --- */
.neo-video {
  margin-top: 1rem;
  padding: 0.85rem;
  overflow: hidden;
  isolation: isolate;
}

.neo-video__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 0.75rem;
  overflow: hidden;
  background: radial-gradient(ellipse 80% 80% at 50% 40%, #0f2744, #040810);
  border: 1px solid rgba(34, 211, 238, 0.2);
}

[data-workspace-theme="light"] .neo-video__frame,
[data-theme="light"] .neo-video__frame {
  background: radial-gradient(ellipse 85% 80% at 50% 35%, #1e4976, #0a1628);
}

.neo-video__poster {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(34, 211, 238, 0.35);
  font-size: 2.5rem;
}

.neo-video__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(34, 211, 238, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, 0.08) 1px, transparent 1px);
  background-size: 28px 28px;
}

.neo-video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
  transition: transform 0.35s, box-shadow 0.35s, background 0.35s;
  z-index: 2;
}

.neo-video__play:hover {
  transform: translate(-50%, -50%) scale(1.06);
  box-shadow: 0 0 28px var(--neo-cyan-glow);
  background: rgba(34, 211, 238, 0.25);
}

.neo-video.is-playing .neo-video__play {
  opacity: 0;
  pointer-events: none;
}

.neo-video__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem;
  margin-top: 0.65rem;
  font-size: 0.78rem;
}

.neo-video__meta strong {
  color: var(--neo-text);
}

.neo-video__meta span {
  color: var(--neo-text-dim);
}

.neo-video__hint {
  margin: 0.45rem 0 0;
  font-size: 0.72rem;
  color: var(--neo-text-dim);
}

/* --- Fix panels (right) --- */
.neo-fix-block {
  display: none;
  padding: 0.15rem 0;
}

.neo-fix-block.is-active {
  display: block;
  animation: neo-fix-in 0.45s ease;
}

@keyframes neo-fix-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.neo-fix-block h4 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  color: var(--neo-text);
}

.neo-fix-block__bullets {
  margin: 0;
  padding: 0 0 0 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  font-size: 0.82rem;
  color: var(--neo-text-muted);
}

.neo-fix-block__bullets li::marker {
  color: var(--neo-cyan);
}

.neo-intel__item-kicker {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--neo-cyan);
  margin-bottom: 0.15rem;
}

button.neo-intel__item {
  width: 100%;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
}

.neo-vol-card.is-tilt,
.neo-fan-stack-wrap.is-tilt,
.neo-doc-stack-wrap.is-tilt,
.neo-ubd-stage.is-tilt {
  transform-style: preserve-3d;
  will-change: transform;
  overflow: hidden;
  isolation: isolate;
}

/* --- Animated doc stack (workspace background) --- */
.neo-doc-stack {
  position: absolute;
  right: -4%;
  bottom: 8%;
  width: min(520px, 55vw);
  height: min(420px, 50vh);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.6s ease;
}

body.app-workspace-host .neo-doc-stack {
  opacity: 1;
}

.neo-doc-layer {
  position: absolute;
  width: 72%;
  height: 78%;
  border-radius: 0.65rem;
  border: 1px solid rgba(34, 211, 238, 0.35);
  background:
    linear-gradient(145deg, rgba(34, 211, 238, 0.12) 0%, rgba(15, 23, 42, 0.55) 45%, rgba(4, 8, 16, 0.75) 100%);
  box-shadow:
    0 0 40px rgba(34, 211, 238, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 0 60px rgba(34, 211, 238, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transform-origin: center center;
  animation: neoDocFloat 9s ease-in-out infinite;
}

.neo-doc-layer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2.2rem;
  height: 2.2rem;
  background: linear-gradient(135deg, rgba(34, 211, 238, 0.25), transparent 60%);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  border-top-right-radius: 0.65rem;
}

.neo-doc-layer::after {
  content: "";
  position: absolute;
  inset: 1.1rem 1rem 1rem 1.4rem;
  border-radius: 0.35rem;
  background:
    repeating-linear-gradient(
      180deg,
      rgba(34, 211, 238, 0.14) 0,
      rgba(34, 211, 238, 0.14) 2px,
      transparent 2px,
      transparent 14px
    );
  opacity: 0.55;
  mask-image: linear-gradient(180deg, black 0%, transparent 92%);
}

.neo-doc-layer--1 {
  left: 8%;
  top: 18%;
  --neo-doc-rot: -14deg;
  --neo-doc-delay: 0s;
  z-index: 1;
  opacity: 0.45;
}

.neo-doc-layer--2 {
  left: 14%;
  top: 10%;
  --neo-doc-rot: -8deg;
  --neo-doc-delay: -1.5s;
  z-index: 2;
  opacity: 0.55;
}

.neo-doc-layer--3 {
  left: 20%;
  top: 4%;
  --neo-doc-rot: -2deg;
  --neo-doc-delay: -3s;
  z-index: 3;
  opacity: 0.65;
  border-color: rgba(34, 211, 238, 0.5);
  box-shadow:
    0 0 50px rgba(34, 211, 238, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.neo-doc-layer--4 {
  left: 26%;
  top: 0;
  --neo-doc-rot: 4deg;
  --neo-doc-delay: -4.5s;
  z-index: 4;
  opacity: 0.75;
}

.neo-doc-layer--5 {
  left: 32%;
  top: -4%;
  --neo-doc-rot: 10deg;
  --neo-doc-delay: -6s;
  z-index: 5;
  opacity: 0.85;
  border-color: rgba(103, 232, 249, 0.55);
}

@keyframes neoDocFloat {
  0%, 100% {
    transform: rotate(var(--neo-doc-rot, -6deg)) translateY(0) translateX(0);
  }
  50% {
    transform: rotate(calc(var(--neo-doc-rot, -6deg) + 2deg)) translateY(-14px) translateX(-6px);
  }
}

.neo-doc-layer {
  animation-delay: var(--neo-doc-delay, 0s);
}

@media (max-width: 900px) {
  .neo-doc-stack {
    opacity: 0.35;
    right: -18%;
    bottom: 2%;
    transform: scale(0.75);
  }
}

/* --- HUD-карточки документов (лендинг, LANDING-2) ---
   Принцип «лобовой проекции»: стеклянная панель, цифры читаются сквозь стекло.
   Карточка кликабельна — увеличивается поверх страницы без потери ориентира. */

.neo-hud-section {
  margin: 3.5rem 0 1rem;
}

.neo-hud-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--neo-glass-edge);
}

.neo-hud-section__head h2 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--neo-text);
}

.neo-hud-section__hint {
  font-size: 0.9rem;
  color: var(--neo-text-muted);
}

.neo-hud-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 900px) {
  .neo-hud-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.neo-hud-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.4rem 1.5rem 1.5rem;
  border-radius: 1.1rem;
  text-align: left;
  font: inherit;
  color: var(--neo-text);
  cursor: zoom-in;
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.13) 0%,
    var(--neo-glass) 38%,
    rgba(34, 211, 238, 0.05) 100%
  );
  border: 1px solid var(--neo-glass-edge);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  box-shadow:
    0 10px 32px var(--neo-shadow),
    inset 0 1px 0 var(--neo-glass-highlight),
    inset 0 -1px 0 rgba(34, 211, 238, 0.12);
  transition: transform 0.25s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

/* объёмная грань: светлая кромка сверху, циановое свечение контура при наведении */
.neo-hud-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(115deg, var(--neo-glare-soft) 0%, transparent 35%);
  opacity: 0.8;
}

.neo-hud-card:hover {
  transform: translateY(-4px);
  border-color: rgba(34, 211, 238, 0.45);
  box-shadow:
    0 16px 44px var(--neo-shadow),
    0 0 28px var(--neo-cyan-glow),
    inset 0 1px 0 var(--neo-glass-highlight);
}

.neo-hud-card:focus-visible {
  outline: 2px solid var(--neo-cyan);
  outline-offset: 3px;
}

.neo-hud-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.neo-hud-card__kicker {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--neo-cyan);
}

.neo-hud-card__step {
  font-size: 0.78rem;
  color: var(--neo-text-dim);
  white-space: nowrap;
}

/* главная цифра — «проекция на стекле» */
.neo-hud-card__value {
  font-size: clamp(2.1rem, 3.2vw, 2.7rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--neo-text);
  text-shadow: 0 0 18px var(--neo-cyan-glow);
  font-variant-numeric: tabular-nums;
}

.neo-hud-card__value small {
  font-size: 0.55em;
  font-weight: 600;
  color: var(--neo-text-muted);
  text-shadow: none;
}

.neo-hud-card__label {
  font-size: 0.95rem;
  color: var(--neo-text-muted);
  line-height: 1.45;
}

.neo-hud-card__bar {
  position: relative;
  height: 6px;
  border-radius: 3px;
  background: rgba(148, 163, 184, 0.18);
  overflow: hidden;
}

.neo-hud-card__bar span {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--hud-bar, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--neo-cyan-dim), var(--neo-cyan));
  box-shadow: 0 0 12px var(--neo-cyan-glow);
}

.neo-hud-card__rows {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.92rem;
  color: var(--neo-text-muted);
}

.neo-hud-card__rows li {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.neo-hud-card__rows b {
  font-weight: 600;
  color: var(--neo-text);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.neo-hud-card__zoom-hint {
  position: absolute;
  top: 1.1rem;
  right: 1.2rem;
  font-size: 0.8rem;
  color: var(--neo-text-dim);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.neo-hud-card:hover .neo-hud-card__zoom-hint {
  opacity: 1;
}

/* раскрытая карточка: поверх страницы, ориентир не теряется (фон виден, заголовок на месте) */
.neo-hud-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(4, 8, 16, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

[data-workspace-theme="light"] .neo-hud-backdrop,
[data-theme="light"] .neo-hud-backdrop {
  background: rgba(148, 163, 184, 0.4);
}

.neo-hud-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.neo-hud-card.is-zoomed {
  position: fixed;
  z-index: 71;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 620px);
  max-height: 86vh;
  overflow-y: auto;
  cursor: default;
  font-size: 1.12rem;
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.6),
    0 0 40px var(--neo-cyan-glow),
    inset 0 1px 0 var(--neo-glass-highlight);
}

.neo-hud-card.is-zoomed:hover {
  transform: translate(-50%, -50%);
}

.neo-hud-card.is-zoomed .neo-hud-card__value {
  font-size: 3.4rem;
}

.neo-hud-card.is-zoomed .neo-hud-card__zoom-hint,
.neo-hud-card.is-zoomed .neo-hud-card__step {
  display: none;
}

.neo-hud-card__close {
  display: none;
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  width: 2.2rem;
  height: 2.2rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--neo-glass-edge);
  background: var(--neo-glass-strong);
  color: var(--neo-text);
  font-size: 1rem;
  cursor: pointer;
}

.neo-hud-card.is-zoomed .neo-hud-card__close {
  display: inline-flex;
}

.neo-hud-card__more {
  display: none;
  border-top: 1px solid var(--neo-glass-edge);
  padding-top: 0.9rem;
  font-size: 0.95rem;
  color: var(--neo-text-muted);
  line-height: 1.5;
}

.neo-hud-card.is-zoomed .neo-hud-card__more {
  display: block;
}

/* --- Полоса «было → стало» (корпоративная строгость) --- */
.neo-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin: 2.5rem 0;
  padding: 1.6rem 2rem;
  border-radius: 1.1rem;
}

.neo-strip__item {
  text-align: center;
}

.neo-strip__num {
  display: block;
  font-size: 1.9rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--neo-text);
  font-variant-numeric: tabular-nums;
}

.neo-strip__num em {
  font-style: normal;
  color: var(--neo-cyan);
}

.neo-strip__cap {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.85rem;
  color: var(--neo-text-muted);
}

.neo-strip__arrow {
  font-size: 1.5rem;
  color: var(--neo-cyan);
}

.neo-strip__note {
  flex-basis: 100%;
  text-align: center;
  font-size: 0.82rem;
  color: var(--neo-text-dim);
  margin: 0.25rem 0 0;
}

/* --- Финальный CTA-блок --- */
.neo-cta-final {
  margin: 2.5rem 0 3rem;
  padding: 2.4rem 2rem;
  border-radius: 1.25rem;
  text-align: center;
}

.neo-cta-final h2 {
  margin: 0 0 0.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--neo-text);
}

.neo-cta-final p {
  margin: 0 auto 1.4rem;
  max-width: 36rem;
  font-size: 1rem;
  color: var(--neo-text-muted);
  line-height: 1.55;
}

.neo-cta-final .neo-actions {
  justify-content: center;
}

/* --- Лендинг: крупнее базовая типографика (аудитория старшего поколения) --- */
body.silver-landing .neo-intel__item {
  font-size: 0.95rem;
}

body.silver-landing .neo-intel__panel-title {
  font-size: 0.9rem;
}

body.silver-landing .neo-intel__wheel-hint,
body.silver-landing .neo-intel__center-caption {
  font-size: 0.82rem;
}

body.silver-landing .neo-landing-foot__links a {
  font-size: 0.95rem;
}

body.silver-landing .neo-hero__lead {
  font-size: 1.18rem;
  line-height: 1.6;
}

/* --- WORKZONE-1: шар УБД + стеклянные карточки проектов --- */

.workspace-projects-stage {
  position: relative;
  min-height: min(520px, 70vh);
  isolation: isolate;
}

.neo-core-sphere {
  position: absolute;
  right: clamp(0.5rem, 4vw, 2.5rem);
  top: 50%;
  transform: translateY(-42%);
  width: min(360px, 44vw);
  height: min(360px, 44vw);
  z-index: 0;
  pointer-events: none;
  opacity: 0.92;
}

.neo-core-sphere__aura {
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--neo-cyan-glow) 0%, transparent 68%);
  filter: blur(18px);
  animation: neo-core-pulse 4s ease-in-out infinite;
}

@keyframes neo-core-pulse {
  0%, 100% { opacity: 0.45; transform: scale(0.96); }
  50% { opacity: 0.85; transform: scale(1.04); }
}

.neo-core-sphere__svg {
  width: 100%;
  height: 100%;
  display: block;
}

.neo-core-sphere__wire--a {
  transform-origin: 120px 120px;
  animation: neo-core-spin 36s linear infinite;
}

.neo-core-sphere__wire--b {
  transform-origin: 120px 120px;
  animation: neo-core-spin-rev 22s linear infinite;
}

@keyframes neo-core-spin {
  to { transform: rotate(360deg); }
}

@keyframes neo-core-spin-rev {
  to { transform: rotate(-360deg); }
}

.neo-core-sphere__liquid {
  animation: neo-core-fill 5s ease-in-out infinite alternate;
  transform-origin: center bottom;
}

.neo-core-sphere__liquid-shine {
  animation: neo-core-fill 5s ease-in-out infinite alternate;
}

@keyframes neo-core-fill {
  0% { transform: translateY(18px) scaleY(0.55); opacity: 0.35; }
  100% { transform: translateY(0) scaleY(1); opacity: 0.75; }
}

.neo-core-sphere__packet--1 {
  animation: neo-core-orbit-a 7s linear infinite;
  transform-origin: 120px 120px;
}

.neo-core-sphere__packet--2 {
  animation: neo-core-orbit-b 5.5s linear infinite;
  transform-origin: 120px 120px;
}

.neo-core-sphere__packet--3 {
  animation: neo-core-orbit-c 4.2s linear infinite;
  transform-origin: 120px 120px;
}

@keyframes neo-core-orbit-a {
  from { transform: rotate(0deg) translateX(92px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(92px) rotate(-360deg); }
}

@keyframes neo-core-orbit-b {
  from { transform: rotate(120deg) translateX(72px) rotate(-120deg); }
  to { transform: rotate(480deg) translateX(72px) rotate(-480deg); }
}

@keyframes neo-core-orbit-c {
  from { transform: rotate(240deg) translateX(58px) rotate(-240deg); }
  to { transform: rotate(600deg) translateX(58px) rotate(-600deg); }
}

.neo-core-sphere__cap {
  position: absolute;
  left: 50%;
  bottom: -0.15rem;
  transform: translateX(-50%);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--neo-cyan);
  text-shadow: 0 0 12px var(--neo-cyan-glow);
  white-space: nowrap;
}

.workspace-projects-stage > :not(.neo-core-sphere) {
  position: relative;
  z-index: 1;
}

/* Пустое состояние — стекло, шар виден сзади */
.neo-welcome-glass {
  position: relative;
  max-width: 34rem;
  margin: 2rem auto 2.5rem;
  padding: 2.25rem 2rem;
  text-align: center;
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(34, 211, 238, 0.32);
  backdrop-filter: blur(6px) saturate(1.1);
  -webkit-backdrop-filter: blur(6px) saturate(1.1);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 32px rgba(34, 211, 238, 0.08);
}

.neo-welcome-glass__kicker {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--neo-cyan);
}

.neo-welcome-glass__title {
  margin: 0 0 0.65rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--neo-text);
}

.neo-welcome-glass__hint {
  margin: 0 0 1.35rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--neo-text-muted);
}

/* Карточки проектов: прозрачность → наполнение по --glass-fill */
body.neo-platform .glass-document-card {
  --glass-fill: 0;
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, calc(0.03 + var(--glass-fill) * 0.001)) 0%,
    rgba(15, 28, 48, calc(0.08 + var(--glass-fill) * 0.004)) 55%,
    rgba(34, 211, 238, calc(0.02 + var(--glass-fill) * 0.0004)) 100%
  );
  backdrop-filter: blur(calc(4px + var(--glass-fill) * 0.14px)) saturate(calc(1 + var(--glass-fill) * 0.002));
  -webkit-backdrop-filter: blur(calc(4px + var(--glass-fill) * 0.14px)) saturate(calc(1 + var(--glass-fill) * 0.002));
  border: 1px solid rgba(34, 211, 238, calc(0.22 + var(--glass-fill) * 0.004));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, calc(0.08 + var(--glass-fill) * 0.003)),
    0 calc(8px + var(--glass-fill) * 0.06px) calc(28px + var(--glass-fill) * 0.1px) var(--neo-shadow);
}

body.neo-platform .glass-document-card__edge {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 1px rgba(103, 232, 249, calc(0.15 + var(--glass-fill) * 0.004)),
    0 0 calc(12px + var(--glass-fill) * 0.2px) rgba(34, 211, 238, calc(0.08 + var(--glass-fill) * 0.003));
}

body.neo-platform .glass-document-card--empty {
  border-style: dashed;
  background: rgba(255, 255, 255, 0.025);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

body.neo-platform .glass-document-card__hud-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(34, 211, 238, calc(0.12 + var(--glass-fill) * 0.003));
}

body.neo-platform .glass-document-card__hud-m {
  text-align: center;
}

body.neo-platform .glass-document-card__hud-m .val {
  display: block;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: var(--neo-text);
  text-shadow: 0 0 calc(8px + var(--glass-fill) * 0.15px) var(--neo-cyan-glow);
}

body.neo-platform .glass-document-card--empty .glass-document-card__hud-m .val {
  color: var(--neo-cyan);
}

body.neo-platform .glass-document-card__hud-m .lbl {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--neo-text-dim);
}

body.neo-platform .glass-document-card__content {
  opacity: calc(0.42 + var(--glass-fill) * 0.006);
  transition: opacity 0.45s ease;
}

body.neo-platform .glass-document-card--ready .glass-document-card__content,
body.neo-platform .glass-document-card--analyzed .glass-document-card__content {
  opacity: 1;
}

body.neo-platform .workspace-tender-grid {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .neo-core-sphere {
    right: 50%;
    transform: translate(50%, -30%);
    width: min(280px, 72vw);
    height: min(280px, 72vw);
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .neo-scene { animation: none; }
  .neo-ubd-hud__svg { animation: none; }
  .neo-ubd-hud__pulse { animation: none; }
  .neo-hud-pulse { animation: none; }
  .neo-btn:hover .neo-btn__glint { animation: none; }
  .neo-glass.is-tilt,
  .neo-vol-card.is-tilt { transform: none !important; }
  .neo-glass__shine { display: none; }
  .neo-pain-layer { animation: none; }
  .neo-doc-layer { animation: none; }
  .neo-hud-card,
  .neo-hud-card:hover { transform: none; transition: none; }
  .neo-hud-card.is-zoomed,
  .neo-hud-card.is-zoomed:hover { transform: translate(-50%, -50%); }
  .neo-core-sphere__wire--a,
  .neo-core-sphere__wire--b,
  .neo-core-sphere__liquid,
  .neo-core-sphere__liquid-shine,
  .neo-core-sphere__packet--1,
  .neo-core-sphere__packet--2,
  .neo-core-sphere__packet--3,
  .neo-core-sphere__aura { animation: none; }
}

/* LANDING-3: три двери (DM-012) */
.neo-hero__doors-hint {
  margin-top: 1rem;
  font-size: 0.875rem;
  opacity: 0.75;
}
.neo-hero__doors-hint a { color: inherit; text-decoration: underline; }

.neo-audience-doors-section {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto 3rem;
  padding: 0 1.25rem;
}
.neo-audience-doors-section__title {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  margin: 0 0 0.35rem;
  text-align: center;
}
.neo-audience-doors-section__lead {
  text-align: center;
  opacity: 0.8;
  margin: 0 0 1.5rem;
  font-size: 0.95rem;
}
.neo-audience-doors {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) {
  .neo-audience-doors { grid-template-columns: 1fr; }
}
.neo-audience-door {
  padding: 1.25rem 1.35rem;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 100%;
}
.neo-audience-door h2,
.neo-audience-door h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}
.neo-audience-door p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  opacity: 0.85;
  flex: 1;
}
.neo-audience-door__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.08);
  font-size: 1.1rem;
}
.neo-audience-door__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.neo-audience-doors--hub { max-width: 960px; margin: 0 auto; }

/* DEMO-MULTI */
.demo-page .neo-wrap { min-height: 100vh; }
.demo-hub {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin: 2rem auto 4rem;
  padding: 0 1.25rem;
  text-align: center;
}
.demo-hub__title { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 0.5rem; }
.demo-hub__lead { opacity: 0.85; margin: 0 0 2rem; }
.demo-topbar { justify-content: space-between; gap: 1rem; }
.demo-topbar__title { font-weight: 600; font-size: 0.95rem; opacity: 0.9; }
.demo-stage {
  position: relative;
  z-index: 2;
  max-width: 960px;
  margin: 1rem auto 3rem;
  padding: 0 1rem;
}
.demo-progress {
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.demo-progress__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
}
.demo-progress__dot.is-active { background: var(--neo-accent, #6ee7ff); }
.demo-screen {
  padding: 1.5rem;
  border-radius: 16px;
}
.demo-h2 { font-size: 1.15rem; margin: 0 0 0.75rem; line-height: 1.35; }
.demo-lead { opacity: 0.85; margin: 0 0 1rem; font-size: 0.9rem; }
.demo-table-wrap { overflow-x: auto; margin: 1rem 0; }
.demo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}
.demo-table th, .demo-table td {
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  text-align: left;
}
.demo-badge {
  display: inline-block;
  font-size: 0.65rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: rgba(110,231,255,0.15);
  margin-left: 0.25rem;
}
.demo-price { transition: opacity 0.35s ease; }
.demo-totals {
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: rgba(110,231,255,0.08);
  font-weight: 600;
  font-size: 0.9rem;
}
.demo-totals--hero { font-size: 1rem; }
.demo-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.demo-chips, .demo-radios { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0; }
.demo-chip, .demo-radio-card {
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.15);
  background: transparent;
  color: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}
.demo-chip.is-active { border-color: var(--neo-accent, #6ee7ff); background: rgba(110,231,255,0.12); }
.demo-radio-card { display: block; border-radius: 10px; text-align: left; }
.demo-radio-card input { margin-right: 0.5rem; }
.demo-cap-row { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.5rem 0; }
.demo-cap-label, .demo-q-label { font-size: 0.8rem; opacity: 0.75; margin: 0.75rem 0 0.25rem; }
.demo-disclaimer { font-size: 0.75rem; opacity: 0.7; margin-top: 0.5rem; }
.demo-footnote, .demo-tagline { font-size: 0.8rem; opacity: 0.75; margin-top: 0.75rem; }
.demo-list { text-align: left; margin: 1rem 0; padding-left: 1.25rem; line-height: 1.5; }
.demo-kac-result { margin-top: 1rem; padding: 1rem; border-radius: 10px; background: rgba(255,255,255,0.05); }
.demo-margin-vitrine { margin: 0.75rem 0; padding: 0.75rem; border-radius: 8px; background: rgba(255,255,255,0.06); font-size: 0.85rem; }
.demo-error { color: #f87171; }

.demo-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.demo-modal.hidden { display: none; }
.demo-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}
.demo-modal__card {
  position: relative;
  z-index: 1;
  max-width: 28rem;
  width: 100%;
  padding: 1.35rem;
  border-radius: 16px;
}
.demo-modal__title { margin: 0 0 0.75rem; font-size: 1.05rem; font-weight: 700; }
.demo-modal__body { font-size: 0.875rem; line-height: 1.45; opacity: 0.9; }
.demo-modal__body p { margin: 0 0 0.5rem; }
.demo-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.demo-discovery-input {
  width: 100%;
  margin-top: 0.75rem;
  padding: 0.65rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(0,0,0,0.25);
  color: inherit;
  font-family: inherit;
  font-size: 0.85rem;
  resize: vertical;
}
