/**
 * Design tokens — source: teya-memory/design/AURADESIGN.md (grok.org.ru)
 * Strict 8px spacing scale — EN-safe layout via tokenized padding/min-heights.
 */

:root {
	/* Colors */
	--teya-color-primary: #7B2FFF;
	--teya-color-primary-hover: #6920E8;
	--teya-color-primary-active: #5A1AD0;
	--teya-color-on-primary: #FFFFFF;
	--teya-color-secondary: #00D4FF;
	--teya-color-secondary-hover: #00BFE6;
	--teya-color-on-secondary: #0A0A0A;
	--teya-color-background: #0A0A0A;
	--teya-color-background-elevated: #111111;
	--teya-color-on-background: #FFFFFF;
	--teya-color-on-background-muted: #A3A3A3;
	--teya-color-on-background-subtle: #737373;
	--teya-color-surface-low: #141414;
	--teya-color-surface-container: #1A1A1A;
	--teya-color-surface-high: #222222;
	--teya-color-surface-overlay: rgba(17, 17, 17, 0.92);
	--teya-color-outline: rgba(255, 255, 255, 0.12);
	--teya-color-outline-variant: rgba(255, 255, 255, 0.06);
	--teya-color-outline-focus: #00D4FF;
	--teya-color-glow-purple: rgba(123, 47, 255, 0.35);
	--teya-color-glow-cyan: rgba(0, 212, 255, 0.25);
	--teya-color-error: #F87171;
	--teya-color-success: #34D399;
	--teya-color-muted: var(--teya-color-on-background-muted);
	--teya-color-accent: var(--teya-color-secondary);

	--teya-gradient-hero: linear-gradient(135deg, #7B2FFF 0%, #00D4FF 100%);
	--teya-gradient-card-border: linear-gradient(135deg, rgba(123, 47, 255, 0.6), rgba(0, 212, 255, 0.4));

	/* Typography */
	--teya-font-display: "Manrope", "Inter", system-ui, sans-serif;
	--teya-font-body: "Inter", system-ui, sans-serif;
	--teya-font-mono: "JetBrains Mono", ui-monospace, monospace;

	--teya-text-display-xl: clamp(2.5rem, 5vw + 1rem, 4.5rem);
	--teya-text-display-lg: clamp(2rem, 3.5vw + 0.75rem, 3.5rem);
	--teya-text-headline-md: clamp(1.5rem, 2vw + 0.5rem, 2rem);
	--teya-text-headline-sm: clamp(1.125rem, 1vw + 0.75rem, 1.375rem);
	--teya-text-body-lg: clamp(1.0625rem, 0.25vw + 0.95rem, 1.1875rem);
	--teya-text-body-md: clamp(1rem, 0.2vw + 0.9rem, 1.0625rem);
	--teya-text-body-sm: 0.875rem;
	--teya-text-label-md: 0.875rem;
	--teya-text-label-sm: 0.75rem;

	/* Spacing — strict 8px base scale */
	--teya-space-base: 8px;
	--teya-space-xs: 4px;
	--teya-space-sm: 8px;
	--teya-space-md: 16px;
	--teya-space-lg: 24px;
	--teya-space-xl: 32px;
	--teya-space-2xl: 48px;
	--teya-space-3xl: 64px;
	--teya-space-4xl: 96px;

	--teya-gutter-mobile: 16px;
	--teya-gutter-desktop: 24px;
	--teya-margin-mobile: 16px;
	--teya-margin-desktop: 48px;
	--teya-section-y-mobile: 64px;
	--teya-section-y-desktop: 96px;
	--teya-card-padding: 24px;
	--teya-card-gap: 16px;
	--teya-stack-gap-sm: 8px;
	--teya-stack-gap-md: 16px;
	--teya-stack-gap-lg: 24px;

	--teya-gutter: var(--teya-gutter-desktop);
	--teya-margin: clamp(var(--teya-margin-mobile), 4vw, var(--teya-margin-desktop));
	--teya-section-y: clamp(var(--teya-section-y-mobile), 10vw, var(--teya-section-y-desktop));

	/* Radii */
	--teya-radius-sm: 6px;
	--teya-radius-md: 12px;
	--teya-radius-lg: 16px;
	--teya-radius-xl: 20px;
	--teya-radius-2xl: 24px;
	--teya-radius-full: 9999px;

	/* Borders & shadows */
	--teya-border-hairline: 1px solid rgba(255, 255, 255, 0.08);
	--teya-border-subtle: 1px solid rgba(255, 255, 255, 0.12);
	--teya-border-accent: 1px solid rgba(123, 47, 255, 0.4);
	--teya-shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 32px rgba(0, 0, 0, 0.45);
	--teya-shadow-glow-purple: 0 0 48px rgba(123, 47, 255, 0.25);
	--teya-shadow-glow-cyan: 0 0 32px rgba(0, 212, 255, 0.18);
	--teya-shadow-header: 0 1px 0 rgba(255, 255, 255, 0.06);

	/* Layout */
	--teya-container-max: 1200px;
	--teya-content-max: 720px;
	--teya-header-height: 72px;
	--teya-z-sticky-header: 10;
	--teya-z-cookie-banner: 90;

	/* i18n-safe component sizing */
	--teya-btn-min-height: 48px;
	--teya-btn-padding-x: 24px;
	--teya-btn-padding-y: 14px;
	--teya-btn-min-width: 11.25rem;
	--teya-btn-min-width-secondary: 8.75rem;
	--teya-nav-link-padding-x: 8px;
	--teya-nav-link-padding-y: 8px;
	--teya-touch-target: 48px;

	/* Motion */
	--teya-duration-fast: 150ms;
	--teya-duration-base: 250ms;
	--teya-duration-slow: 400ms;
	--teya-easing: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--teya-duration-fast: 0ms;
		--teya-duration-base: 0ms;
		--teya-duration-slow: 0ms;
	}
}

/* EN: slightly tighter nav typography, same token padding */
.teya-lang-en,
html[lang="en"] body {
	--teya-nav-font-size: var(--teya-text-body-sm);
	--teya-btn-padding-x: 16px;
}
