:root {
   /* Основные цвета */
   --primary-color: #2c7873;
   --primary-hover: #1f5a56;
   --secondary-color: #f8f9fa;
   --accent-color: #ffd700;
   --text-primary: #2c3e50;
   --text-secondary: #6c757d;
   --border-color: #dee2e6;
   --background-light: #f8f9fa;
   --background-card: #ffffff;
   --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   --shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);

   /* Размеры и отступы */
   --border-radius: 8px;
   --border-radius-lg: 12px;
   --spacing-xs: 0.5rem;
   --spacing-sm: 1rem;
   --spacing-md: 1.5rem;
   --spacing-lg: 2rem;
   --spacing-xl: 3rem;

   /* Типография */
   --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
   --font-size-sm: 0.7rem;
   --font-size-base: 1rem;
   --font-size-lg: 1.125rem;
   --font-size-xl: 1.5rem;
   --font-weight-normal: 400;
   --font-weight-medium: 500;
   --font-weight-bold: 600;
}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: var(--font-family);
   font-size: var(--font-size-base);
   color: var(--text-primary);
   background-color: var(--background-light);
   line-height: 1.6;
   min-height: 100vh;
   padding: var(--spacing-md);
}

/* Заголовок */
.header {
   text-align: center;
   margin-bottom: var(--spacing-xl);
}

.header-title {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: var(--spacing-sm);
   font-size: var(--font-size-xl);
   font-weight: var(--font-weight-bold);
   color: var(--text-primary);
   margin-bottom: var(--spacing-sm);
   text-decoration: none;
}

.trophy-icon {
   font-size: 1.8rem;
   color: var(--accent-color);
}

.header-subtitle {
   color: var(--text-secondary);
   font-size: var(--font-size-base);
   max-width: 600px;
   margin: 0 auto;
}

.error-text {
   color: red;
   text-align: center;
   width: 100%;
}

.success-text {
   color: green;
   text-align: center;
   width: 100%;
}

@media (max-width: 768px) { 
   body {
      margin: 0;
      padding: 0;
   }
}