/* ===== CSS VARIABLES ===== */
:root {
	/* Основные цвета (эротичная палитра) */
	--hot-pink: #FF4D8D;
	--deep-purple: #A855F7;
	--passion-red: #FF3366;
	--golden-yellow: #FFAA00;
	--soft-lavender: #D8B4FE;
	--velvet-black: #1A0B2E;
	--rose-gold: #E0B0D5;
	--blush-pink: #FFB6C1;
	--crimson-red: #DC143C;
	--lust-orange: #FF6B35;

	/* Фоны */
	--bg-dark: #0F0519;
	--bg-darker: #0A0312;
	--bg-card: rgba(40, 20, 60, 0.9);
	--bg-glass: rgba(255, 255, 255, 0.08);
	--bg-romantic: rgba(255, 182, 193, 0.1);

	/* Градиенты */
	--gradient-passion: linear-gradient(135deg, var(--hot-pink) 0%, var(--passion-red) 100%);
	--gradient-love: linear-gradient(135deg, var(--deep-purple) 0%, var(--soft-lavender) 100%);
	--gradient-fire: linear-gradient(135deg, var(--lust-orange) 0%, var(--golden-yellow) 100%);
	--gradient-dark: linear-gradient(135deg, rgba(26, 11, 46, 0.95) 0%, rgba(15, 5, 25, 0.95) 100%);
	--gradient-romantic: linear-gradient(135deg, #FF3366 0%, #FF4D8D 50%, #A855F7 100%);
	--gradient-blush: linear-gradient(135deg, var(--blush-pink) 0%, var(--rose-gold) 100%);
	--gradient-lust: linear-gradient(135deg, var(--crimson-red) 0%, var(--lust-orange) 100%);

	/* Эффекты свечения - улучшенные для дизайна */
	--shadow-glow: 0 20px 60px rgba(255, 77, 141, 0.25);
	--shadow-soft: 0 15px 40px rgba(0, 0, 0, 0.3);
	--shadow-hard: 0 8px 25px rgba(0, 0, 0, 0.4);
	--shadow-romantic: 0 0 25px rgba(255, 182, 193, 0.4);
	--shadow-passion: 0 10px 35px rgba(255, 77, 141, 0.25);

	/* Бордеры */
	--border-glow: 1px solid rgba(255, 255, 255, 0.15);
	--border-hot: 2px solid rgba(255, 77, 141, 0.35);
	--border-romantic: 2px solid rgba(224, 176, 213, 0.25);
	--border-passion: 2px solid rgba(255, 77, 141, 0.5);

	/* Скругления */
	--radius-xl: 25px;
	--radius-lg: 20px;
	--radius-md: 15px;
	--radius-sm: 10px;
	--radius-full: 9999px;
	--radius-soft: 12px;

	/* Анимации */
	--transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	--transition-bounce: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	--transition-passion: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* ===== RESET & BASE ===== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	background: var(--bg-dark);
	color: #FFFFFF;
	line-height: 1.6;
	min-height: 100vh;
	position: relative;
	overflow-x: hidden;
	padding-top: 70px;
	/* Отступ для фиксированного хедера */
	/* УБРАНО: padding-bottom для футера */
}

/* Сексуальный фон с градиентами и частицами */
body::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 10% 20%, rgba(255, 77, 141, 0.15) 0%, transparent 40%),
		radial-gradient(circle at 90% 80%, rgba(168, 85, 247, 0.15) 0%, transparent 40%),
		radial-gradient(circle at 50% 50%, rgba(224, 176, 213, 0.1) 0%, transparent 50%),
		radial-gradient(circle at 30% 70%, rgba(255, 107, 53, 0.08) 0%, transparent 40%),
		linear-gradient(135deg, rgba(15, 5, 25, 0.95) 0%, rgba(26, 11, 46, 0.95) 100%);
	z-index: -2;
	pointer-events: none;
}

/* Анимированные частицы для эротичного эффекта */
body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image:
		radial-gradient(circle at 15% 25%, rgba(255, 182, 193, 0.08) 2px, transparent 3px),
		radial-gradient(circle at 85% 65%, rgba(255, 77, 141, 0.08) 2px, transparent 3px),
		radial-gradient(circle at 60% 40%, rgba(168, 85, 247, 0.08) 2px, transparent 3px),
		radial-gradient(circle at 40% 80%, rgba(255, 170, 0, 0.08) 2px, transparent 3px);
	background-size: 300px 300px;
	z-index: -1;
	pointer-events: none;
	animation: floatParticles 20s linear infinite;
}

/* ===== ВЕРХНЯЯ НАВИГАЦИЯ ===== */
.main-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: rgba(15, 5, 25, 0.95);
	backdrop-filter: blur(10px);
	border-bottom: var(--border-passion);
	padding: 15px 0;
	transition: var(--transition-smooth);
}

.main-header.scrolled {
	background: rgba(15, 5, 25, 0.98);
	padding: 10px 0;
	box-shadow: var(--shadow-soft);
}

.header-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

.site-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	font-size: 1.8rem;
	font-weight: 800;
	color: white;
	transition: var(--transition-smooth);
	position: relative;
	overflow: hidden;
}

.site-logo i {
	color: var(--hot-pink);
	font-size: 2rem;
	animation: pulse 2s infinite;
	position: relative;
	z-index: 1;
}

.site-logo::before {
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	width: 60px;
	height: 60px;
	background: var(--gradient-romantic);
	border-radius: 50%;
	filter: blur(12px);
	opacity: 0.4;
	animation: pulseGlow 3s infinite;
}

.site-logo span {
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	position: relative;
	z-index: 1;
	text-shadow: 0 0 15px rgba(255, 77, 141, 0.25);
}

.site-logo:hover {
	transform: translateY(-2px);
}

.site-logo:hover i {
	animation: heartbeat 1.5s infinite;
}

.btn-game {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: var(--gradient-romantic);
	color: white;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: var(--radius-full);
	font-weight: 600;
	font-size: 1.1rem;
	transition: var(--transition-smooth);
	border: 2px solid rgba(255, 255, 255, 0.1);
	box-shadow: var(--shadow-passion);
	position: relative;
	overflow: hidden;
}

.btn-game::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.btn-game:hover::before {
	left: 100%;
}

.btn-game:hover {
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 15px 35px rgba(255, 77, 141, 0.3);
	border-color: rgba(255, 255, 255, 0.2);
}

.btn-game i {
	font-size: 1.2rem;
	animation: heartbeat 1.5s infinite;
}

/* ===== TYPOGRAPHY ===== */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

h1 {
	font-size: 3.2rem;
	margin-bottom: 1.5rem;
}

h2 {
	font-size: 2.3rem;
	margin-bottom: 1.25rem;
}

.text-glow {
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: 0 0 25px rgba(255, 77, 141, 0.25);
}

.text-gradient {
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.highlight {
	color: var(--rose-gold);
	font-weight: 600;
}

.emphasis {
	color: var(--hot-pink);
	font-weight: 700;
}

/* ===== LAYOUT ===== */
.container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

.section {
	padding: 90px 0;
	position: relative;
}

/* ===== МОДАЛЬНЫЕ ОКНА ===== */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition-smooth);
}

.modal-overlay.active {
	opacity: 1;
	visibility: visible;
}

.modal-content {
	background: var(--bg-card);
	border-radius: var(--radius-xl);
	padding: 40px;
	max-width: 500px;
	width: 90%;
	border: var(--border-passion);
	box-shadow: var(--shadow-glow);
	transform: translateY(20px) scale(0.9);
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	backdrop-filter: blur(20px);
	position: relative;
	overflow: hidden;
}

.modal-content::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: var(--gradient-romantic);
}

.modal-overlay.active .modal-content {
	transform: translateY(0) scale(1);
}

.modal-header {
	text-align: center;
	margin-bottom: 30px;
}

.modal-icon {
	font-size: 3.5rem;
	color: var(--hot-pink);
	margin-bottom: 15px;
	animation: heartbeat 1.5s infinite;
	filter: drop-shadow(0 0 8px rgba(255, 77, 141, 0.4));
}

.modal-title {
	font-size: 1.8rem;
	margin-bottom: 10px;
	color: white;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.modal-message {
	color: rgba(255, 255, 255, 0.95);
	line-height: 1.6;
	margin-bottom: 25px;
	font-size: 1.1rem;
}

.modal-actions {
	display: flex;
	gap: 15px;
	justify-content: center;
	margin-top: 30px;
}

.modal-btn {
	padding: 14px 28px;
	border-radius: var(--radius-md);
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: var(--transition-passion);
	min-width: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 1rem;
	position: relative;
	overflow: hidden;
}

.modal-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.modal-btn:hover::before {
	left: 100%;
}

.modal-btn.confirm {
	background: var(--gradient-romantic);
	color: white;
	box-shadow: var(--shadow-passion);
}

.modal-btn.cancel {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(224, 176, 213, 0.12) 100%);
	color: white;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.modal-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(255, 77, 141, 0.25);
}

.modal-btn.cancel:hover {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(224, 176, 213, 0.18) 100%);
	border-color: rgba(255, 77, 141, 0.25);
}

/* ===== УВЕДОМЛЕНИЯ ===== */
.notification {
	position: fixed;
	top: 100px;
	right: 20px;
	background: rgba(40, 20, 60, 0.95);
	color: white;
	padding: 20px 25px;
	border-radius: var(--radius-md);
	max-width: 350px;
	z-index: 9998;
	animation: slideInRight 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: var(--shadow-soft);
	border-left: 4px solid var(--hot-pink);
	backdrop-filter: blur(20px);
	border: var(--border-romantic);
	transform-origin: right;
}

.notification-content {
	display: flex;
	align-items: center;
	gap: 12px;
}

.notification-close {
	background: none;
	border: none;
	color: white;
	font-size: 1.5rem;
	cursor: pointer;
	margin-left: auto;
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.notification-close:hover {
	opacity: 1;
}

@keyframes slideInRight {
	from {
		transform: translateX(100%);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideOutRight {
	from {
		transform: translateX(0);
		opacity: 1;
	}

	to {
		transform: translateX(100%);
		opacity: 0;
	}
}

/* ===== INFO BOX СТИЛИ ===== */
.info-box {
	background: linear-gradient(135deg, rgba(255, 77, 141, 0.12) 0%, rgba(168, 85, 247, 0.12) 100%);
	border: var(--border-romantic);
	border-radius: var(--radius-xl);
	padding: 40px;
	text-align: center;
	transition: var(--transition-passion);
	margin: 40px auto;
	backdrop-filter: blur(20px);
	position: relative;
	overflow: hidden;
	max-width: 800px;
}

.info-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="none" stroke="%23FF4D8D" stroke-width="0.5" opacity="0.15" d="M0,50 Q25,25 50,50 T100,50"/></svg>');
	z-index: 0;
}

.info-box::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
	transition: 0.8s;
}

.info-box:hover::after {
	left: 100%;
}

.info-box:hover {
	border-color: rgba(255, 77, 141, 0.5);
	transform: translateY(-8px) scale(1.02);
	box-shadow: var(--shadow-glow);
}

.info-box i {
	font-size: 3.5rem;
	color: var(--hot-pink);
	margin-bottom: 25px;
	display: block;
	position: relative;
	z-index: 1;
	animation: float 3s ease-in-out infinite;
	filter: drop-shadow(0 0 8px rgba(255, 77, 141, 0.4));
}

.info-box h3 {
	font-size: 1.8rem;
	margin-bottom: 20px;
	color: white;
	position: relative;
	z-index: 1;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: 0 0 15px rgba(255, 77, 141, 0.25);
}

.info-box p {
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 30px;
	line-height: 1.7;
	font-size: 1.15rem;
	position: relative;
	z-index: 1;
}

/* ===== КНОПКИ ===== */
.btn-same-device {
	background: var(--gradient-romantic);
	color: white;
	text-decoration: none;
	padding: 20px 35px;
	border-radius: var(--radius-md);
	font-size: 1.2rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 15px;
	transition: var(--transition-passion);
	border: 2px solid transparent;
	position: relative;
	z-index: 1;
	box-shadow: var(--shadow-passion);
	overflow: hidden;
}

.btn-same-device::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.btn-same-device:hover::before {
	left: 100%;
}

.btn-same-device:hover {
	transform: translateY(-5px) scale(1.05);
	box-shadow: 0 20px 40px rgba(255, 77, 141, 0.3);
	border-color: rgba(255, 255, 255, 0.2);
}

.btn-same-device i {
	animation: heartbeat 1.5s infinite;
}

.btn-copy {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(224, 176, 213, 0.12) 100%);
	color: white;
	border: 2px solid rgba(255, 255, 255, 0.2);
	padding: 16px 32px;
	border-radius: var(--radius-md);
	font-size: 1.1rem;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: var(--transition-passion);
	backdrop-filter: blur(10px);
	position: relative;
	overflow: hidden;
}

.btn-copy::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
	transition: 0.5s;
}

.btn-copy:hover::before {
	left: 100%;
}

.btn-copy:hover {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(224, 176, 213, 0.18) 100%);
	transform: translateY(-2px);
	border-color: rgba(255, 77, 141, 0.25);
	box-shadow: 0 8px 20px rgba(255, 77, 141, 0.15);
}

.btn-share {
	background: var(--gradient-romantic);
	color: white;
	border: none;
	padding: 16px 32px;
	border-radius: var(--radius-md);
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: var(--transition-passion);
	box-shadow: var(--shadow-passion);
	position: relative;
	overflow: hidden;
}

.btn-share::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.btn-share:hover::before {
	left: 100%;
}

.btn-share:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(255, 77, 141, 0.3);
}

/* Кнопки соцсетей */
.btn-share-social {
	background: var(--gradient-romantic);
	color: white;
	border: none;
	padding: 18px 30px;
	border-radius: var(--radius-md);
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: var(--transition-passion);
	box-shadow: var(--shadow-passion);
	position: relative;
	overflow: hidden;
	flex: 1;
	min-width: 180px;
	justify-content: center;
	font-size: 1.1rem;
}

.btn-share-social::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.btn-share-social:hover::before {
	left: 100%;
}

.btn-share-social:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(255, 77, 141, 0.3);
}

.btn-share-social.whatsapp {
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

.btn-share-social.telegram {
	background: linear-gradient(135deg, #0088cc 0%, #005580 100%);
}

.btn-share-social.link {
	background: linear-gradient(135deg, var(--hot-pink) 0%, var(--deep-purple) 100%);
}

/* ===== ЗАГОЛОВОК ТЕСТА ===== */
.test-header-section {
	text-align: center;
	padding: 80px 0 50px;
	position: relative;
	margin-top: 25px;
}

.test-header-section::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(255, 77, 141, 0.08) 0%, transparent 70%);
	filter: blur(40px);
	z-index: -1;
}

.test-main-title {
	font-size: 3.2rem;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 25px;
	text-shadow: 0 0 30px rgba(255, 77, 141, 0.25);
	position: relative;
	z-index: 1;
}

.test-description {
	font-size: 1.3rem;
	color: rgba(255, 255, 255, 0.95);
	max-width: 700px;
	margin: 0 auto 40px;
	line-height: 1.7;
	position: relative;
	z-index: 1;
}

.test-meta {
	display: flex;
	justify-content: center;
	gap: 40px;
	color: var(--rose-gold);
	font-size: 1rem;
	position: relative;
	z-index: 1;
}

.test-meta i {
	margin-right: 8px;
	color: var(--hot-pink);
}

/* ===== АНИМАЦИИ ===== */
@keyframes pulse {
	0% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 77, 141, 0.6);
	}

	70% {
		transform: scale(1.05);
		box-shadow: 0 0 0 15px rgba(255, 77, 141, 0);
	}

	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(255, 77, 141, 0);
	}
}

@keyframes pulseGlow {

	0%,
	100% {
		opacity: 0.4;
		transform: scale(1);
	}

	50% {
		opacity: 0.6;
		transform: scale(1.1);
	}
}

@keyframes heartbeat {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.1);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

@keyframes floatParticles {
	0% {
		transform: translateY(0) translateX(0);
	}

	100% {
		transform: translateY(-300px) translateX(300px);
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes shimmer {
	0% {
		background-position: -200% center;
	}

	100% {
		background-position: 200% center;
	}
}

/* ===== АДАПТИВНОСТЬ ===== */
@media (max-width: 1024px) {
	h1 {
		font-size: 2.8rem;
	}

	.test-main-title {
		font-size: 2.8rem;
	}

	.game-banner-content {
		flex-direction: column;
		text-align: center;
	}

	.game-banner-icon {
		font-size: 3.5rem;
		order: -1;
	}

	.section {
		padding: 70px 0;
	}

	.game-banner-bottom-content {
		flex-direction: column;
		text-align: center;
		gap: 15px;
	}

	.btn-game-bottom {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	body {
		padding-top: 60px;
	}

	.container {
		padding: 0 20px;
	}

	h1 {
		font-size: 2.3rem;
	}

	h2 {
		font-size: 1.8rem;
	}

	.test-main-title {
		font-size: 2.3rem;
	}

	.main-header {
		padding: 12px 0;
	}

	.header-content {
		padding: 0 20px;
	}

	.site-logo {
		font-size: 1.5rem;
	}

	.site-logo i {
		font-size: 1.8rem;
	}

	.btn-game {
		padding: 12px 20px;
		font-size: 1rem;
	}

	.modal-content {
		padding: 30px 20px;
		width: 95%;
	}

	.modal-actions {
		flex-direction: column;
	}

	.modal-btn {
		width: 100%;
	}

	.game-banner-promo {
		margin: 25px 15px;
		padding: 20px;
	}

	.game-banner-text h3 {
		font-size: 1.5rem;
	}

	.btn-game-promo {
		padding: 12px 24px;
		font-size: 1rem;
	}

	.info-box {
		padding: 30px 20px;
		margin: 30px 15px;
	}

	.info-box i {
		font-size: 3rem;
	}

	.info-box h3 {
		font-size: 1.5rem;
	}

	.btn-same-device {
		padding: 18px 25px;
		font-size: 1.1rem;
		width: 100%;
		justify-content: center;
	}

	.test-header-section {
		padding: 70px 0 40px;
		margin-top: 20px;
	}

	.test-description {
		font-size: 1.1rem;
	}

	.btn-share-social {
		min-width: 140px;
		padding: 16px 20px;
		font-size: 1rem;
	}

	.game-banner-bottom {
		padding: 10px 0;
	}

	.game-banner-bottom-text h4 {
		font-size: 1rem;
	}

	.game-banner-bottom-text p {
		font-size: 0.8rem;
	}
}

@media (max-width: 480px) {
	body {
		padding-top: 50px;
	}

	h1 {
		font-size: 1.9rem;
	}

	.test-main-title {
		font-size: 1.9rem;
	}

	.site-logo {
		font-size: 1.3rem;
	}

	.site-logo i {
		font-size: 1.5rem;
	}

	.btn-game {
		padding: 10px 16px;
		font-size: 0.9rem;
	}

	.test-header-section {
		padding: 60px 0 30px;
		margin-top: 15px;
	}

	.test-description {
		font-size: 1.1rem;
	}

	.game-banner-promo {
		padding: 15px;
		margin: 20px 10px;
	}

	.game-banner-text h3 {
		font-size: 1.3rem;
	}

	.info-box {
		padding: 25px 15px;
		margin: 25px 10px;
	}

	.notification {
		right: 10px;
		left: 10px;
		max-width: calc(100% - 20px);
	}

	.btn-share-social {
		min-width: 100%;
		margin-bottom: 10px;
	}

	.game-banner-bottom-content {
		padding: 0 15px;
	}

	.btn-game-bottom {
		padding: 10px 20px;
		font-size: 0.9rem;
	}
}

/* Стили для состояния загрузки */
.loading {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: var(--hot-pink);
	animation: spin 1s ease-in-out infinite;
}

/* Эффект свечения для важных элементов */
.glow-effect {
	position: relative;
}

.glow-effect::after {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	background: var(--gradient-romantic);
	border-radius: inherit;
	z-index: -1;
	filter: blur(8px);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.glow-effect:hover::after {
	opacity: 0.4;
}

/* Стили для разделителей */
.separator {
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 77, 141, 0.25), transparent);
	margin: 40px 0;
	border: none;
}

/* Кастомный скроллбар */
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: rgba(15, 5, 25, 0.5);
	border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
	background: var(--gradient-romantic);
	border-radius: var(--radius-full);
	border: 2px solid var(--bg-dark);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--gradient-lust);
}

/* Выделение текста */
::selection {
	background: rgba(255, 77, 141, 0.25);
	color: white;
}

::-moz-selection {
	background: rgba(255, 77, 141, 0.25);
	color: white;
}

/* Эффект параллакса для глубины */
.parallax-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	z-index: -1;
	opacity: 0.3;
}

/* Стили для тултипов */
.tooltip {
	position: relative;
	cursor: help;
}

.tooltip::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 12px;
	background: var(--bg-card);
	color: white;
	font-size: 0.9rem;
	border-radius: var(--radius-sm);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition-smooth);
	border: var(--border-romantic);
	z-index: 1000;
	pointer-events: none;
	margin-bottom: 5px;
}

.tooltip:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-5px);
}

/* Эффект мерцания для важных уведомлений */
.blink {
	animation: blink 1.5s infinite;
}

@keyframes blink {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}
}

/* Эффект дрожания для кнопок */
.shake {
	animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both;
}

@keyframes shake {

	10%,
	90% {
		transform: translateX(-1px);
	}

	20%,
	80% {
		transform: translateX(2px);
	}

	30%,
	50%,
	70% {
		transform: translateX(-2px);
	}

	40%,
	60% {
		transform: translateX(2px);
	}
}

/* Для всех контейнеров с контентом добавляем min-height */
.test-container,
.container,
.test-start,
.share-page,
.results-page {
	min-height: calc(100vh - 150px);
	position: relative;
	z-index: 1;
}

/* Для страниц с формами добавляем padding-bottom */
.test-start,
.share-page,
.results-page,
.container {
	padding-bottom: 40px;
}

/* Для секций с кнопками внизу страницы */
.navigation-buttons,
.results-actions,
.share-footer {
	margin-bottom: 60px;
}

/* Для мобильных устройств корректируем отступы */
@media (max-width: 768px) {
	body {
		padding-bottom: 70px;
	}

	.test-container,
	.container,
	.test-start,
	.share-page,
	.results-page {
		min-height: calc(100vh - 140px);
		padding-bottom: 30px;
	}

	.navigation-buttons,
	.results-actions,
	.share-footer {
		margin-bottom: 50px;
	}

	/* Уменьшение отступов для мобильных */
	.container {
		padding: 0 15px;
	}

	.section {
		padding: 60px 0;
	}
}

@media (max-width: 480px) {
	body {
		padding-bottom: 65px;
	}

	.container {
		padding: 0 10px;
	}

	.test-container,
	.container,
	.test-start,
	.share-page,
	.results-page {
		min-height: calc(100vh - 130px);
		padding-bottom: 25px;
	}
}


/* Дополнительные стили для главной страницы */
.hero-section {
	min-height: 80vh;
	display: flex;
	align-items: center;
	padding: 80px 0 40px;
	position: relative;
	overflow: hidden;
}

.hero-content {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 2;
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, rgba(255, 77, 141, 0.2) 0%, rgba(168, 85, 247, 0.2) 100%);
	color: var(--hot-pink);
	padding: 14px 28px;
	border-radius: var(--radius-full);
	margin-bottom: 25px;
	font-weight: 600;
	border: var(--border-romantic);
	backdrop-filter: blur(10px);
	animation: pulse 2s infinite;
}

.hero-title {
	font-size: 4rem;
	margin-bottom: 25px;
	line-height: 1.1;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: 0 0 40px rgba(255, 77, 141, 0.3);
}

.hero-subtitle {
	font-size: 1.3rem;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 40px;
	max-width: 650px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.7;
}

.hero-stats {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 40px 0;
}

.stat-number {
	font-size: 2.8rem;
	font-weight: 800;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	line-height: 1;
	text-shadow: 0 0 25px rgba(255, 77, 141, 0.3);
}

.stat-label {
	font-size: 1rem;
	color: var(--rose-gold);
	margin-top: 8px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.btn-hero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	background: var(--gradient-romantic);
	color: white;
	padding: 22px 50px;
	border-radius: var(--radius-xl);
	font-size: 1.3rem;
	font-weight: 700;
	text-decoration: none;
	margin: 35px 0 25px;
	transition: var(--transition-bounce);
	border: 3px solid transparent;
	box-shadow: var(--shadow-glow);
	position: relative;
	overflow: hidden;
}

.btn-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: 0.5s;
}

.btn-hero:hover::before {
	left: 100%;
}

.btn-hero:hover {
	transform: translateY(-8px) scale(1.05);
	box-shadow: 0 25px 60px rgba(255, 77, 141, 0.5);
	border-color: rgba(255, 255, 255, 0.3);
}

.cta-note {
	color: var(--rose-gold);
	font-size: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.cta-note i {
	color: var(--hot-pink);
	animation: heartbeat 1.5s infinite;
}

.tests-section {
	padding: 100px 0;
	background: var(--gradient-dark);
	position: relative;
}

.tests-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="%23FF4D8D" opacity="0.03" d="M0,0 L100,0 L100,100 L0,100 Z M20,20 L80,20 L80,80 L20,80 Z"/></svg>');
	pointer-events: none;
}

.section-header {
	text-align: center;
	margin-bottom: 70px;
	position: relative;
	z-index: 1;
}

.section-header h2 {
	font-size: 3.2rem;
	margin-bottom: 20px;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: 0 0 40px rgba(255, 77, 141, 0.3);
}

.section-header p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.2rem;
	max-width: 700px;
	margin: 0 auto;
}

.tests-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
	gap: 30px;
	position: relative;
	z-index: 1;
}

.test-card {
	background: var(--bg-card);
	border-radius: var(--radius-xl);
	padding: 35px;
	border: var(--border-romantic);
	transition: var(--transition-bounce);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: white;
	backdrop-filter: blur(10px);
}

.test-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: var(--gradient-romantic);
	transform: scaleX(0);
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	transform-origin: left;
}

.test-card:hover::before {
	transform: scaleX(1);
}

.test-card:hover {
	transform: translateY(-12px) scale(1.03);
	box-shadow: var(--shadow-glow);
	border-color: rgba(255, 77, 141, 0.6);
}

.card-icon {
	width: 80px;
	height: 80px;
	margin-bottom: 25px;
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	background: var(--gradient-romantic);
	color: white;
	transition: var(--transition-smooth);
	box-shadow: 0 10px 25px rgba(255, 77, 141, 0.3);
}

.test-card:hover .card-icon {
	transform: rotateY(180deg) scale(1.2);
	box-shadow: 0 15px 35px rgba(255, 77, 141, 0.4);
}

.card-title {
	font-size: 1.6rem;
	margin-bottom: 20px;
	color: white;
	font-weight: 700;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.card-description {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 25px;
	flex-grow: 1;
	line-height: 1.7;
	font-size: 1.1rem;
}

.card-info {
	display: flex;
	gap: 25px;
	margin-bottom: 25px;
	color: var(--rose-gold);
	font-size: 0.95rem;
}

.info-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.info-item i {
	color: var(--hot-pink);
}

.btn-test-main {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: var(--gradient-romantic);
	color: white;
	padding: 18px;
	border-radius: var(--radius-md);
	text-decoration: none;
	font-weight: 600;
	transition: var(--transition-smooth);
	border: 2px solid transparent;
	margin-top: auto;
	font-size: 1.1rem;
	box-shadow: 0 8px 25px rgba(255, 77, 141, 0.3);
}

.btn-test-main:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(255, 77, 141, 0.4);
	border-color: rgba(255, 255, 255, 0.2);
}

.game-promo {
	padding: 100px 0;
	background: var(--bg-dark);
	position: relative;
}

.game-banner {
	background: linear-gradient(135deg, rgba(255, 77, 141, 0.15) 0%, rgba(168, 85, 247, 0.15) 100%);
	border-radius: var(--radius-xl);
	padding: 60px;
	position: relative;
	overflow: hidden;
	border: var(--border-romantic);
	box-shadow: var(--shadow-romantic);
	backdrop-filter: blur(10px);
}

.game-banner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="none" stroke="%23FF4D8D" stroke-width="0.5" opacity="0.1" d="M0,50 Q25,25 50,50 T100,50 M50,0 Q75,25 50,50 T50,100"/></svg>');
	z-index: 0;
}

.game-content {
	position: relative;
	z-index: 1;
	text-align: center;
}

.game-title {
	font-size: 2.8rem;
	margin-bottom: 20px;
	line-height: 1.2;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-shadow: 0 0 40px rgba(255, 77, 141, 0.3);
}

.game-description {
	font-size: 1.3rem;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 40px;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.7;
}

.game-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 30px;
	margin: 40px 0;
}

.feature {
	display: flex;
	align-items: center;
	gap: 20px;
	background: rgba(255, 255, 255, 0.08);
	padding: 25px;
	border-radius: var(--radius-lg);
	transition: var(--transition-smooth);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.feature:hover {
	background: rgba(255, 255, 255, 0.12);
	transform: translateY(-8px);
	border-color: rgba(255, 77, 141, 0.3);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.feature-icon {
	font-size: 2.2rem;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gradient-romantic);
	border-radius: var(--radius-md);
	flex-shrink: 0;
	color: white;
	box-shadow: 0 10px 25px rgba(255, 77, 141, 0.3);
}

.feature-text {
	text-align: left;
}

.feature-text strong {
	display: block;
	margin-bottom: 8px;
	color: white;
	font-size: 1.2rem;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.feature-text span {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1rem;
	line-height: 1.5;
}

/* Футер главной страницы */
.main-footer {
	background: linear-gradient(135deg, rgba(26, 11, 46, 0.95) 0%, rgba(15, 5, 25, 0.95) 100%);
	padding: 50px 0 25px;
	border-top: var(--border-romantic);
	margin-top: 70px;
}

.footer-content {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 50px;
	margin-bottom: 40px;
}

.footer-brand {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.footer-logo {
	font-size: 2.3rem;
	font-weight: 800;
	text-decoration: none;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.footer-tagline {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.1rem;
	line-height: 1.6;
}

.footer-links {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
}

.links-group h4 {
	font-size: 1.2rem;
	margin-bottom: 20px;
	color: white;
	background: var(--gradient-romantic);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.links-group ul {
	list-style: none;
	padding: 0;
}

.links-group li {
	margin-bottom: 12px;
}

.links-group a {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.3s ease;
	font-size: 1rem;
}

.links-group a:hover {
	color: var(--hot-pink);
	padding-left: 5px;
}

.footer-bottom {
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	text-align: center;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.9rem;
}

.footer-warning {
	margin-top: 15px;
	color: var(--rose-gold);
	font-size: 0.95rem;
}

.footer-warning i {
	color: var(--hot-pink);
	margin-right: 8px;
}

/* Адаптивность */
@media (max-width: 1024px) {
	.hero-title {
		font-size: 3.2rem;
	}

	.hero-subtitle {
		font-size: 1.2rem;
	}

	.tests-grid {
		grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	}

	.game-banner {
		padding: 45px;
	}

	.game-title {
		font-size: 2.3rem;
	}

	.footer-content {
		grid-template-columns: 1fr;
		gap: 35px;
	}
}

@media (max-width: 768px) {
	.hero-section {
		padding: 80px 0 40px;
	}

	.hero-title {
		font-size: 2.5rem;
	}

	.hero-subtitle {
		font-size: 1.1rem;
		margin-bottom: 35px;
	}

	.hero-stats {
		flex-direction: column;
		gap: 25px;
	}

	.stat-number {
		font-size: 2.3rem;
	}

	.btn-hero {
		width: 100%;
		justify-content: center;
		padding: 20px 35px;
		font-size: 1.2rem;
	}

	.tests-section {
		padding: 70px 0;
	}

	.section-header h2 {
		font-size: 2.5rem;
	}

	.tests-grid {
		grid-template-columns: 1fr;
	}

	.game-banner {
		padding: 35px 20px;
	}

	.game-title {
		font-size: 2rem;
	}

	.game-description {
		font-size: 1.1rem;
	}

	.game-features {
		grid-template-columns: 1fr;
	}

	.footer-links {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}

@media (max-width: 480px) {
	.hero-title {
		font-size: 2rem;
	}

	.hero-badge {
		padding: 12px 20px;
		font-size: 0.9rem;
	}

	.btn-hero {
		padding: 18px 25px;
		font-size: 1.1rem;
	}

	.test-card {
		padding: 25px 20px;
	}

	.card-title {
		font-size: 1.4rem;
	}

	.btn-test-main {
		padding: 16px;
		font-size: 1rem;
	}

	.game-banner {
		padding: 25px 15px;
	}

	.game-title {
		font-size: 1.7rem;
	}

	.feature {
		flex-direction: column;
		text-align: center;
		padding: 20px;
	}

	.feature-text {
		text-align: center;
	}
}