Perl (обсуждение | вклад) (Отмена версии 14639, сделанной Perl (обсуждение)) Метка: отмена |
Perl (обсуждение | вклад) Нет описания правки |
||
| Строка 2401: | Строка 2401: | ||
.social-grid { | .social-grid { | ||
display: grid; | |||
grid-template-columns: 1fr 1fr; | |||
gap: 15px; | |||
} | } | ||
.social-link { | .social-link { | ||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(var(--color-primary-rgb), 0.05); | |||
border: 1px solid rgba(var(--color-primary-rgb), 0.1); | |||
border-radius: var(--radius-md); | |||
padding: 10px; | |||
min-height: 80px; | |||
transition: all 0.3s ease; | |||
} | } | ||
.social-link:hover { | .social-link:hover { | ||
transform: translateY(-3px); | |||
box-shadow: 0 5px 15px rgba(var(--color-primary-rgb), 0.2); | |||
border-color: rgba(var(--color-primary-rgb), 0.3); | |||
background: rgba(var(--color-primary-rgb), 0.1); | |||
} | } | ||
.social-link img { | .social-link img { | ||
max-width: 100%; | |||
max-height: 60px; | |||
object-fit: contain; | |||
transition: transform 0.3s ease; | |||
} | |||
.social-link:hover img { | |||
transform: scale(1.05); | |||
} | |||
@media (max-width: 500px) { | |||
.social-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
} | } | ||
Версия от 18:56, 2 августа 2025
:root {
/* Primitive Color Tokens */
--color-white: rgba(255, 255, 255, 1);
--color-black: rgba(0, 0, 0, 1);
--color-cream-50: rgba(252, 252, 249, 1);
--color-cream-100: rgba(255, 255, 253, 1);
--color-gray-200: rgba(245, 245, 245, 1);
--color-gray-300: rgba(167, 169, 169, 1);
--color-gray-400: rgba(119, 124, 124, 1);
--color-slate-500: rgba(98, 108, 113, 1);
--color-brown-600: rgba(94, 82, 64, 1);
--color-charcoal-700: rgba(31, 33, 33, 1);
--color-charcoal-800: rgba(38, 40, 40, 1);
--color-slate-900: rgba(19, 52, 59, 1);
--color-teal-300: rgba(50, 184, 198, 1);
--color-teal-400: rgba(45, 166, 178, 1);
--color-teal-500: rgba(33, 128, 141, 1);
--color-teal-600: rgba(29, 116, 128, 1);
--color-teal-700: rgba(26, 104, 115, 1);
--color-teal-800: rgba(41, 150, 161, 1);
--color-red-400: rgba(255, 84, 89, 1);
--color-red-500: rgba(192, 21, 47, 1);
--color-orange-400: rgba(230, 129, 97, 1);
--color-orange-500: rgba(168, 75, 47, 1);
/* RGB versions for opacity control */
--color-brown-600-rgb: 94, 82, 64;
--color-teal-500-rgb: 33, 128, 141;
--color-slate-900-rgb: 19, 52, 59;
--color-slate-500-rgb: 98, 108, 113;
--color-red-500-rgb: 192, 21, 47;
--color-red-400-rgb: 255, 84, 89;
--color-orange-500-rgb: 168, 75, 47;
--color-orange-400-rgb: 230, 129, 97;
/* Background color tokens (Light Mode) */
--color-bg-1: rgba(59, 130, 246, 0.08); /* Light blue */
--color-bg-2: rgba(245, 158, 11, 0.08); /* Light yellow */
--color-bg-3: rgba(34, 197, 94, 0.08); /* Light green */
--color-bg-4: rgba(239, 68, 68, 0.08); /* Light red */
--color-bg-5: rgba(147, 51, 234, 0.08); /* Light purple */
--color-bg-6: rgba(249, 115, 22, 0.08); /* Light orange */
--color-bg-7: rgba(236, 72, 153, 0.08); /* Light pink */
--color-bg-8: rgba(6, 182, 212, 0.08); /* Light cyan */
/* Semantic Color Tokens (Light Mode) */
--color-background: var(--color-cream-50);
--color-surface: var(--color-cream-100);
--color-text: var(--color-slate-900);
--color-text-secondary: var(--color-slate-500);
--color-primary: var(--color-teal-500);
--color-primary-hover: var(--color-teal-600);
--color-primary-active: var(--color-teal-700);
--color-secondary: rgba(var(--color-brown-600-rgb), 0.12);
--color-secondary-hover: rgba(var(--color-brown-600-rgb), 0.2);
--color-secondary-active: rgba(var(--color-brown-600-rgb), 0.25);
--color-border: rgba(var(--color-brown-600-rgb), 0.2);
--color-btn-primary-text: var(--color-cream-50);
--color-card-border: rgba(var(--color-brown-600-rgb), 0.12);
--color-card-border-inner: rgba(var(--color-brown-600-rgb), 0.12);
--color-error: var(--color-red-500);
--color-success: var(--color-teal-500);
--color-warning: var(--color-orange-500);
--color-info: var(--color-slate-500);
--color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
--color-select-caret: rgba(var(--color-slate-900-rgb), 0.8);
/* Common style patterns */
--focus-ring: 0 0 0 3px var(--color-focus-ring);
--focus-outline: 2px solid var(--color-primary);
--status-bg-opacity: 0.15;
--status-border-opacity: 0.25;
--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
/* RGB versions for opacity control */
--color-success-rgb: 33, 128, 141;
--color-error-rgb: 192, 21, 47;
--color-warning-rgb: 168, 75, 47;
--color-info-rgb: 98, 108, 113;
/* Typography */
--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system,
BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo,
Monaco, Consolas, monospace;
--font-size-xs: 11px;
--font-size-sm: 12px;
--font-size-base: 14px;
--font-size-md: 14px;
--font-size-lg: 16px;
--font-size-xl: 18px;
--font-size-2xl: 20px;
--font-size-3xl: 24px;
--font-size-4xl: 30px;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 550;
--font-weight-bold: 600;
--line-height-tight: 1.2;
--line-height-normal: 1.5;
--letter-spacing-tight: -0.01em;
/* Spacing */
--space-0: 0;
--space-1: 1px;
--space-2: 2px;
--space-4: 4px;
--space-6: 6px;
--space-8: 8px;
--space-10: 10px;
--space-12: 12px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-32: 32px;
/* Border Radius */
--radius-sm: 6px;
--radius-base: 8px;
--radius-md: 10px;
--radius-lg: 12px;
--radius-full: 9999px;
/* Shadows */
--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.04),
0 2px 4px -1px rgba(0, 0, 0, 0.02);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.04),
0 4px 6px -2px rgba(0, 0, 0, 0.02);
--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.15),
inset 0 -1px 0 rgba(0, 0, 0, 0.03);
/* Animation */
--duration-fast: 150ms;
--duration-normal: 250ms;
--ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
/* Layout */
--container-sm: 640px;
--container-md: 768px;
--container-lg: 1024px;
--container-xl: 1280px;
}
/* Dark mode colors */
@media (prefers-color-scheme: dark) {
:root {
/* RGB versions for opacity control (Dark Mode) */
--color-gray-400-rgb: 119, 124, 124;
--color-teal-300-rgb: 50, 184, 198;
--color-gray-300-rgb: 167, 169, 169;
--color-gray-200-rgb: 245, 245, 245;
/* Background color tokens (Dark Mode) */
--color-bg-1: rgba(29, 78, 216, 0.15); /* Dark blue */
--color-bg-2: rgba(180, 83, 9, 0.15); /* Dark yellow */
--color-bg-3: rgba(21, 128, 61, 0.15); /* Dark green */
--color-bg-4: rgba(185, 28, 28, 0.15); /* Dark red */
--color-bg-5: rgba(107, 33, 168, 0.15); /* Dark purple */
--color-bg-6: rgba(194, 65, 12, 0.15); /* Dark orange */
--color-bg-7: rgba(190, 24, 93, 0.15); /* Dark pink */
--color-bg-8: rgba(8, 145, 178, 0.15); /* Dark cyan */
/* Semantic Color Tokens (Dark Mode) */
--color-background: var(--color-charcoal-700);
--color-surface: var(--color-charcoal-800);
--color-text: var(--color-gray-200);
--color-text-secondary: rgba(var(--color-gray-300-rgb), 0.7);
--color-primary: var(--color-teal-300);
--color-primary-hover: var(--color-teal-400);
--color-primary-active: var(--color-teal-800);
--color-secondary: rgba(var(--color-gray-400-rgb), 0.15);
--color-secondary-hover: rgba(var(--color-gray-400-rgb), 0.25);
--color-secondary-active: rgba(var(--color-gray-400-rgb), 0.3);
--color-border: rgba(var(--color-gray-400-rgb), 0.3);
--color-error: var(--color-red-400);
--color-success: var(--color-teal-300);
--color-warning: var(--color-orange-400);
--color-info: var(--color-gray-300);
--color-focus-ring: rgba(var(--color-teal-300-rgb), 0.4);
--color-btn-primary-text: var(--color-slate-900);
--color-card-border: rgba(var(--color-gray-400-rgb), 0.2);
--color-card-border-inner: rgba(var(--color-gray-400-rgb), 0.15);
--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.1),
inset 0 -1px 0 rgba(0, 0, 0, 0.15);
--button-border-secondary: rgba(var(--color-gray-400-rgb), 0.2);
--color-border-secondary: rgba(var(--color-gray-400-rgb), 0.2);
--color-select-caret: rgba(var(--color-gray-200-rgb), 0.8);
/* Common style patterns - updated for dark mode */
--focus-ring: 0 0 0 3px var(--color-focus-ring);
--focus-outline: 2px solid var(--color-primary);
--status-bg-opacity: 0.15;
--status-border-opacity: 0.25;
--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
/* RGB versions for dark mode */
--color-success-rgb: var(--color-teal-300-rgb);
--color-error-rgb: var(--color-red-400-rgb);
--color-warning-rgb: var(--color-orange-400-rgb);
--color-info-rgb: var(--color-gray-300-rgb);
}
}
/* Data attribute for manual theme switching */
[data-color-scheme="dark"] {
/* RGB versions for opacity control (dark mode) */
--color-gray-400-rgb: 119, 124, 124;
--color-teal-300-rgb: 50, 184, 198;
--color-gray-300-rgb: 167, 169, 169;
--color-gray-200-rgb: 245, 245, 245;
/* Colorful background palette - Dark Mode */
--color-bg-1: rgba(29, 78, 216, 0.15); /* Dark blue */
--color-bg-2: rgba(180, 83, 9, 0.15); /* Dark yellow */
--color-bg-3: rgba(21, 128, 61, 0.15); /* Dark green */
--color-bg-4: rgba(185, 28, 28, 0.15); /* Dark red */
--color-bg-5: rgba(107, 33, 168, 0.15); /* Dark purple */
--color-bg-6: rgba(194, 65, 12, 0.15); /* Dark orange */
--color-bg-7: rgba(190, 24, 93, 0.15); /* Dark pink */
--color-bg-8: rgba(8, 145, 178, 0.15); /* Dark cyan */
/* Semantic Color Tokens (Dark Mode) */
--color-background: var(--color-charcoal-700);
--color-surface: var(--color-charcoal-800);
--color-text: var(--color-gray-200);
--color-text-secondary: rgba(var(--color-gray-300-rgb), 0.7);
--color-primary: var(--color-teal-300);
--color-primary-hover: var(--color-teal-400);
--color-primary-active: var(--color-teal-800);
--color-secondary: rgba(var(--color-gray-400-rgb), 0.15);
--color-secondary-hover: rgba(var(--color-gray-400-rgb), 0.25);
--color-secondary-active: rgba(var(--color-gray-400-rgb), 0.3);
--color-border: rgba(var(--color-gray-400-rgb), 0.3);
--color-error: var(--color-red-400);
--color-success: var(--color-teal-300);
--color-warning: var(--color-orange-400);
--color-info: var(--color-gray-300);
--color-focus-ring: rgba(var(--color-teal-300-rgb), 0.4);
--color-btn-primary-text: var(--color-slate-900);
--color-card-border: rgba(var(--color-gray-400-rgb), 0.15);
--color-card-border-inner: rgba(var(--color-gray-400-rgb), 0.15);
--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.1),
inset 0 -1px 0 rgba(0, 0, 0, 0.15);
--color-border-secondary: rgba(var(--color-gray-400-rgb), 0.2);
--color-select-caret: rgba(var(--color-gray-200-rgb), 0.8);
/* Common style patterns - updated for dark mode */
--focus-ring: 0 0 0 3px var(--color-focus-ring);
--focus-outline: 2px solid var(--color-primary);
--status-bg-opacity: 0.15;
--status-border-opacity: 0.25;
--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
/* RGB versions for dark mode */
--color-success-rgb: var(--color-teal-300-rgb);
--color-error-rgb: var(--color-red-400-rgb);
--color-warning-rgb: var(--color-orange-400-rgb);
--color-info-rgb: var(--color-gray-300-rgb);
}
[data-color-scheme="light"] {
/* RGB versions for opacity control (light mode) */
--color-brown-600-rgb: 94, 82, 64;
--color-teal-500-rgb: 33, 128, 141;
--color-slate-900-rgb: 19, 52, 59;
/* Semantic Color Tokens (Light Mode) */
--color-background: var(--color-cream-50);
--color-surface: var(--color-cream-100);
--color-text: var(--color-slate-900);
--color-text-secondary: var(--color-slate-500);
--color-primary: var(--color-teal-500);
--color-primary-hover: var(--color-teal-600);
--color-primary-active: var(--color-teal-700);
--color-secondary: rgba(var(--color-brown-600-rgb), 0.12);
--color-secondary-hover: rgba(var(--color-brown-600-rgb), 0.2);
--color-secondary-active: rgba(var(--color-brown-600-rgb), 0.25);
--color-border: rgba(var(--color-brown-600-rgb), 0.2);
--color-btn-primary-text: var(--color-cream-50);
--color-card-border: rgba(var(--color-brown-600-rgb), 0.12);
--color-card-border-inner: rgba(var(--color-brown-600-rgb), 0.12);
--color-error: var(--color-red-500);
--color-success: var(--color-teal-500);
--color-warning: var(--color-orange-500);
--color-info: var(--color-slate-500);
--color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
/* RGB versions for light mode */
--color-success-rgb: var(--color-teal-500-rgb);
--color-error-rgb: var(--color-red-500-rgb);
--color-warning-rgb: var(--color-orange-500-rgb);
--color-info-rgb: var(--color-slate-500-rgb);
}
/* Base styles */
html {
font-size: var(--font-size-base);
font-family: var(--font-family-base);
line-height: var(--line-height-normal);
color: var(--color-text);
background-color: var(--color-background);
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
font-weight: var(--font-weight-semibold);
line-height: var(--line-height-tight);
color: var(--color-text);
letter-spacing: var(--letter-spacing-tight);
}
h1 {
font-size: var(--font-size-4xl);
}
h2 {
font-size: var(--font-size-3xl);
}
h3 {
font-size: var(--font-size-2xl);
}
h4 {
font-size: var(--font-size-xl);
}
h5 {
font-size: var(--font-size-lg);
}
h6 {
font-size: var(--font-size-md);
}
p {
margin: 0 0 var(--space-16) 0;
}
a {
color: var(--color-primary);
text-decoration: none;
transition: color var(--duration-fast) var(--ease-standard);
}
a:hover {
color: var(--color-primary-hover);
}
code,
pre {
font-family: var(--font-family-mono);
font-size: calc(var(--font-size-base) * 0.95);
background-color: var(--color-secondary);
border-radius: var(--radius-sm);
}
code {
padding: var(--space-1) var(--space-4);
}
pre {
padding: var(--space-16);
margin: var(--space-16) 0;
overflow: auto;
border: 1px solid var(--color-border);
}
pre code {
background: none;
padding: 0;
}
/* Buttons */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--space-8) var(--space-16);
border-radius: var(--radius-base);
font-size: var(--font-size-base);
font-weight: 500;
line-height: 1.5;
cursor: pointer;
transition: all var(--duration-normal) var(--ease-standard);
border: none;
text-decoration: none;
position: relative;
}
.btn:focus-visible {
outline: none;
box-shadow: var(--focus-ring);
}
.btn--primary {
background: var(--color-primary);
color: var(--color-btn-primary-text);
}
.btn--primary:hover {
background: var(--color-primary-hover);
}
.btn--primary:active {
background: var(--color-primary-active);
}
.btn--secondary {
background: var(--color-secondary);
color: var(--color-text);
}
.btn--secondary:hover {
background: var(--color-secondary-hover);
}
.btn--secondary:active {
background: var(--color-secondary-active);
}
.btn--outline {
background: transparent;
border: 1px solid var(--color-border);
color: var(--color-text);
}
.btn--outline:hover {
background: var(--color-secondary);
}
.btn--sm {
padding: var(--space-4) var(--space-12);
font-size: var(--font-size-sm);
border-radius: var(--radius-sm);
}
.btn--lg {
padding: var(--space-10) var(--space-20);
font-size: var(--font-size-lg);
border-radius: var(--radius-md);
}
.btn--full-width {
width: 100%;
}
.btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
/* Form elements */
.form-control {
display: block;
width: 100%;
padding: var(--space-8) var(--space-12);
font-size: var(--font-size-md);
line-height: 1.5;
color: var(--color-text);
background-color: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-base);
transition: border-color var(--duration-fast) var(--ease-standard),
box-shadow var(--duration-fast) var(--ease-standard);
}
textarea.form-control {
font-family: var(--font-family-base);
font-size: var(--font-size-base);
}
select.form-control {
padding: var(--space-8) var(--space-12);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-image: var(--select-caret-light);
background-repeat: no-repeat;
background-position: right var(--space-12) center;
background-size: 16px;
padding-right: var(--space-32);
}
/* Add a dark mode specific caret */
@media (prefers-color-scheme: dark) {
select.form-control {
background-image: var(--select-caret-dark);
}
}
/* Also handle data-color-scheme */
[data-color-scheme="dark"] select.form-control {
background-image: var(--select-caret-dark);
}
[data-color-scheme="light"] select.form-control {
background-image: var(--select-caret-light);
}
.form-control:focus {
border-color: var(--color-primary);
outline: var(--focus-outline);
}
.form-label {
display: block;
margin-bottom: var(--space-8);
font-weight: var(--font-weight-medium);
font-size: var(--font-size-sm);
}
.form-group {
margin-bottom: var(--space-16);
}
/* Card component */
.card {
background-color: var(--color-surface);
border-radius: var(--radius-lg);
border: 1px solid var(--color-card-border);
box-shadow: var(--shadow-sm);
overflow: hidden;
transition: box-shadow var(--duration-normal) var(--ease-standard);
}
.card:hover {
box-shadow: var(--shadow-md);
}
.card__body {
padding: var(--space-16);
}
.card__header,
.card__footer {
padding: var(--space-16);
border-bottom: 1px solid var(--color-card-border-inner);
}
/* Status indicators - simplified with CSS variables */
.status {
display: inline-flex;
align-items: center;
padding: var(--space-6) var(--space-12);
border-radius: var(--radius-full);
font-weight: var(--font-weight-medium);
font-size: var(--font-size-sm);
}
.status--success {
background-color: rgba(
var(--color-success-rgb, 33, 128, 141),
var(--status-bg-opacity)
);
color: var(--color-success);
border: 1px solid
rgba(var(--color-success-rgb, 33, 128, 141), var(--status-border-opacity));
}
.status--error {
background-color: rgba(
var(--color-error-rgb, 192, 21, 47),
var(--status-bg-opacity)
);
color: var(--color-error);
border: 1px solid
rgba(var(--color-error-rgb, 192, 21, 47), var(--status-border-opacity));
}
.status--warning {
background-color: rgba(
var(--color-warning-rgb, 168, 75, 47),
var(--status-bg-opacity)
);
color: var(--color-warning);
border: 1px solid
rgba(var(--color-warning-rgb, 168, 75, 47), var(--status-border-opacity));
}
.status--info {
background-color: rgba(
var(--color-info-rgb, 98, 108, 113),
var(--status-bg-opacity)
);
color: var(--color-info);
border: 1px solid
rgba(var(--color-info-rgb, 98, 108, 113), var(--status-border-opacity));
}
/* Container layout */
.container {
width: 100%;
margin-right: auto;
margin-left: auto;
padding-right: var(--space-16);
padding-left: var(--space-16);
}
@media (min-width: 640px) {
.container {
max-width: var(--container-sm);
}
}
@media (min-width: 768px) {
.container {
max-width: var(--container-md);
}
}
@media (min-width: 1024px) {
.container {
max-width: var(--container-lg);
}
}
@media (min-width: 1280px) {
.container {
max-width: var(--container-xl);
}
}
/* Utility classes */
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.items-center {
align-items: center;
}
.justify-center {
justify-content: center;
}
.justify-between {
justify-content: space-between;
}
.gap-4 {
gap: var(--space-4);
}
.gap-8 {
gap: var(--space-8);
}
.gap-16 {
gap: var(--space-16);
}
.m-0 {
margin: 0;
}
.mt-8 {
margin-top: var(--space-8);
}
.mb-8 {
margin-bottom: var(--space-8);
}
.mx-8 {
margin-left: var(--space-8);
margin-right: var(--space-8);
}
.my-8 {
margin-top: var(--space-8);
margin-bottom: var(--space-8);
}
.p-0 {
padding: 0;
}
.py-8 {
padding-top: var(--space-8);
padding-bottom: var(--space-8);
}
.px-8 {
padding-left: var(--space-8);
padding-right: var(--space-8);
}
.py-16 {
padding-top: var(--space-16);
padding-bottom: var(--space-16);
}
.px-16 {
padding-left: var(--space-16);
padding-right: var(--space-16);
}
.block {
display: block;
}
.hidden {
display: none;
}
/* Accessibility */
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
:focus-visible {
outline: var(--focus-outline);
outline-offset: 2px;
}
/* Dark mode specifics */
[data-color-scheme="dark"] .btn--outline {
border: 1px solid var(--color-border-secondary);
}
@font-face {
font-family: 'FKGroteskNeue';
src: url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2')
format('woff2');
}
@font-face {
font-family: 'FKGroteskNeue';
src: url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2') format('woff2');
}
/* Remove custom color variables and use design system */
:root {
/* Legacy space theme variables mapped to design system */
--space-primary: var(--color-primary);
--space-secondary: var(--color-primary-hover);
--space-accent: var(--color-primary-active);
--space-dark: var(--color-background);
--space-darker: var(--color-surface);
--space-purple: var(--color-surface);
--space-blue: var(--color-surface);
--space-orange: var(--color-warning);
--space-glow: rgba(var(--color-teal-500-rgb), 0.6);
--space-text: var(--color-text);
--space-text-bright: var(--color-text);
--space-bg-primary: var(--color-surface);
--space-bg-secondary: var(--color-surface);
--space-border: var(--color-border);
}
/* Базовые стили */
* {
box-sizing: border-box;
}
body {
background: var(--color-background);
background-attachment: fixed;
color: var(--color-text);
font-family: var(--font-family-base);
font-size: var(--font-size-base);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
letter-spacing: var(--letter-spacing-tight);
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100vh;
}
/* Основной контейнер MediaWiki */
.mw-body {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
backdrop-filter: blur(20px);
padding: var(--space-32) var(--space-32);
margin: var(--space-32);
position: relative;
overflow: hidden;
}
.mw-body::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
opacity: 0.5;
}
.mw-body-content {
font-family: var(--font-family-base);
font-size: var(--font-size-base);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
color: var(--color-text);
word-wrap: break-word;
overflow-wrap: break-word;
}
/* Исправление переполнения текста */
.mw-body-content p {
margin: var(--space-20) 0;
line-height: var(--line-height-normal);
color: var(--color-text);
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
}
/* Улучшенный код */
code {
background: var(--color-secondary);
border: 1px solid var(--color-border);
color: var(--color-text);
padding: var(--space-8) var(--space-12);
border-radius: var(--radius-base);
font-size: 90%;
font-family: var(--font-family-mono);
box-shadow: var(--shadow-inset-sm);
font-weight: var(--font-weight-medium);
letter-spacing: 0.5px;
word-break: break-all;
white-space: pre-wrap;
}
pre {
background: var(--color-surface);
border: 2px solid var(--color-border);
border-radius: var(--radius-md);
padding: var(--space-32);
overflow-x: auto;
box-shadow: var(--shadow-inset-sm);
font-family: var(--font-family-mono);
font-size: var(--font-size-sm);
line-height: var(--line-height-normal);
letter-spacing: 0.5px;
position: relative;
}
pre::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
border-radius: var(--radius-md) var(--radius-md) 0 0;
}
/* Улучшенные цитаты */
blockquote {
overflow: hidden;
margin: var(--space-32) 0;
padding: var(--space-32) var(--space-32);
border-left: 5px solid var(--color-primary);
background: var(--color-secondary);
border-radius: 0 var(--radius-md) var(--radius-md) 0;
box-shadow: var(--shadow-md);
font-style: italic;
position: relative;
font-family: var(--font-family-base);
font-size: var(--font-size-lg);
line-height: var(--line-height-normal);
}
blockquote::before {
content: '"';
font-size: 5em;
color: rgba(var(--color-primary-rgb), 0.3);
position: absolute;
top: -15px;
left: 15px;
font-family: var(--font-family-base);
font-weight: var(--font-weight-bold);
}
/* Улучшенные изображения */
img {
image-rendering: optimizeSpeed;
max-width: 100%;
height: auto;
border-radius: var(--radius-base);
box-shadow: var(--shadow-md);
transition: all var(--duration-normal) var(--ease-standard);
}
img:hover {
transform: scale(1.03);
box-shadow: var(--shadow-lg);
filter: brightness(1.1);
}
/* Улучшенные ссылки */
a,
a:visited {
color: var(--color-primary);
text-decoration: none;
transition: all var(--duration-normal) var(--ease-standard);
position: relative;
font-weight: var(--font-weight-medium);
word-wrap: break-word;
}
a:not(.image):not(.thumbimage):not(.mw-file-description)::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
transition: width var(--duration-normal) var(--ease-standard);
border-radius: 2px;
}
a:not(.image):not(.thumbimage):not(.mw-file-description):hover::after {
width: 100%;
}
a:hover,
a:visited:hover {
color: var(--color-primary-hover);
text-shadow: 0 0 15px rgba(var(--color-primary-rgb), 0.7);
transform: translateX(2px);
}
/* Исключения для изображений */
.thumb a::after,
.gallery a::after,
a[href*="File:"]::after,
a[href*="Файл:"]::after,
a[title*="File:"]::after,
a[title*="Файл:"]::after {
display: none !important;
}
/* Улучшенные таблицы */
.wikitable {
background: var(--color-surface);
border: 1px solid var(--color-border);
color: var(--color-text);
border-collapse: separate;
border-spacing: 0;
margin: var(--space-32) 0;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-md);
position: relative;
font-family: var(--font-family-base);
width: 100%;
max-width: 100%;
word-wrap: break-word;
}
.wikitable::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
}
.wikitable > tr > th,
.wikitable > tr > td,
.wikitable > * > tr > th,
.wikitable > * > tr > td {
border: 1px solid var(--color-border);
padding: var(--space-16) var(--space-20);
transition: all var(--duration-fast) var(--ease-standard);
font-family: var(--font-family-base);
line-height: var(--line-height-normal);
word-wrap: break-word;
overflow-wrap: break-word;
max-width: 0;
min-width: 100px;
}
.wikitable > * > tr > th {
background: var(--color-secondary);
color: var(--color-text);
font-weight: var(--font-weight-bold);
text-transform: uppercase;
letter-spacing: 1px;
font-size: var(--font-size-sm);
text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
position: relative;
}
.wikitable > * > tr > th::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
}
.wikitable > * > tr:hover > td {
background: var(--color-secondary-hover);
transform: scale(1.01);
}
/* Улучшенный поиск */
#simpleSearch {
background: var(--color-surface);
border: 2px solid var(--color-border);
border-radius: var(--radius-full);
transition: all var(--duration-normal) var(--ease-standard);
box-shadow: var(--shadow-inset-sm);
position: relative;
overflow: hidden;
}
#simpleSearch::before {
content: '';
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: linear-gradient(45deg, var(--color-primary), var(--color-primary-hover), var(--color-primary));
border-radius: var(--radius-full);
opacity: 0;
transition: opacity var(--duration-fast) var(--ease-standard);
z-index: -1;
}
#simpleSearch:focus-within::before {
opacity: 1;
}
#simpleSearch:focus-within {
border-color: transparent;
box-shadow: var(--focus-ring);
transform: scale(1.02);
}
#searchInput {
color: var(--color-text);
background: transparent;
border: none;
padding: var(--space-16) var(--space-24);
font-size: var(--font-size-base);
outline: none;
width: 100%;
box-sizing: border-box;
font-family: var(--font-family-base);
font-weight: var(--font-weight-normal);
}
#searchInput::placeholder {
color: var(--color-text-secondary);
opacity: 0.8;
font-style: italic;
}
/* Улучшенные вкладки */
.vector-menu-tabs {
background: transparent;
}
.vector-menu-tabs li {
background: var(--color-surface);
border-radius: var(--radius-md) var(--radius-md) 0 0;
margin-right: var(--space-4);
transition: all var(--duration-normal) var(--ease-standard);
border: 1px solid var(--color-border);
border-bottom: none;
position: relative;
overflow: hidden;
}
.vector-menu-tabs li::before {
content: '';
position: absolute;
top: -1px;
left: -1px;
right: -1px;
height: 3px;
background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
opacity: 0;
transition: opacity var(--duration-fast) var(--ease-standard);
}
.vector-menu-tabs li:hover::before {
opacity: 1;
}
.vector-menu-tabs li:hover {
background: var(--color-secondary);
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}
.vector-menu-tabs .selected {
background: var(--color-secondary-active);
border-color: var(--color-primary);
box-shadow: 0 -6px 20px rgba(var(--color-primary-rgb), 0.5);
}
.vector-menu-tabs .selected::before {
opacity: 1;
}
.vector-menu-tabs .selected a,
.vector-menu-tabs .selected a:visited {
color: var(--color-primary);
font-weight: var(--font-weight-bold);
text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
}
/* Улучшенная боковая панель */
#mw-site-navigation .sidebar-chunk,
#mw-related-navigation .sidebar-chunk,
.portlet,
.pBody,
#mw-panel,
.mw-panel,
#sidebar,
.sidebar,
.vector-menu-portal,
.vector-legacy-sidebar,
#p-navigation,
#p-tb,
#p-lang {
background: var(--color-surface);
color: var(--color-text);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
margin-bottom: var(--space-32);
box-shadow: var(--shadow-sm);
overflow: hidden;
backdrop-filter: blur(10px);
}
.vector-menu-portal h3,
#mw-panel .portal h3,
.sidebar h3 {
background: var(--color-secondary);
color: var(--color-text);
padding: var(--space-16) var(--space-20);
margin: 0;
border-radius: var(--radius-md) var(--radius-md) 0 0;
font-weight: var(--font-weight-bold);
text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
text-transform: uppercase;
letter-spacing: 0.8px;
font-size: var(--font-size-sm);
position: relative;
}
.vector-menu-portal h3::after,
#mw-panel .portal h3::after,
.sidebar h3::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
}
.vector-menu-portal .vector-menu-content ul li a,
#mw-panel .portal .body ul li a {
color: var(--color-primary);
padding: var(--space-16) var(--space-20);
display: block;
transition: all var(--duration-normal) var(--ease-standard);
border-radius: var(--radius-sm);
margin: var(--space-4) var(--space-8);
position: relative;
word-wrap: break-word;
}
.vector-menu-portal .vector-menu-content ul li a::before,
#mw-panel .portal .body ul li a::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 0;
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
transition: width var(--duration-fast) var(--ease-standard);
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}
.vector-menu-portal .vector-menu-content ul li a:hover::before,
#mw-panel .portal .body ul li a:hover::before {
width: 4px;
}
.vector-menu-portal .vector-menu-content ul li a:hover,
#mw-panel .portal .body ul li a:hover {
background: var(--color-secondary);
color: var(--color-primary-hover);
transform: translateX(10px);
text-shadow: 0 0 12px rgba(var(--color-primary-rgb), 0.6);
}
/* Улучшенные формы */
.mw-editform #wpTextbox1,
textarea {
background: var(--color-surface);
border: 2px solid var(--color-border);
color: var(--color-text);
border-radius: var(--radius-md);
font-family: var(--font-family-mono);
padding: var(--space-32);
font-size: var(--font-size-sm);
line-height: var(--line-height-normal);
transition: all var(--duration-normal) var(--ease-standard);
box-shadow: var(--shadow-inset-sm);
resize: vertical;
font-weight: var(--font-weight-normal);
letter-spacing: 0.5px;
word-wrap: break-word;
}
.mw-editform #wpTextbox1:focus,
textarea:focus {
border-color: var(--color-primary);
outline: var(--focus-outline);
}
/* Улучшенные кнопки */
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button {
background: var(--color-surface);
border: 2px solid var(--color-border);
color: var(--color-text);
border-radius: var(--radius-base);
transition: all var(--duration-normal) var(--ease-standard);
font-weight: var(--font-weight-semibold);
padding: var(--space-16) var(--space-24);
box-shadow: var(--shadow-sm);
position: relative;
overflow: hidden;
text-transform: uppercase;
letter-spacing: 0.8px;
font-family: var(--font-family-base);
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button::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: left 0.5s ease;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover::before {
left: 100%;
}
.oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover {
background: var(--color-secondary);
border-color: var(--color-primary);
transform: translateY(-3px);
box-shadow: var(--shadow-lg);
text-shadow: 0 0 12px rgba(var(--color-primary-rgb), 0.6);
}
/* Улучшенные скроллбары */
::-webkit-scrollbar {
width: 14px;
height: 14px;
}
::-webkit-scrollbar-track {
background: var(--color-surface);
border-radius: var(--radius-base);
border: 1px solid var(--color-border);
}
::-webkit-scrollbar-thumb {
background: var(--color-border);
border-radius: var(--radius-base);
border: 2px solid var(--color-surface);
transition: all var(--duration-fast) var(--ease-standard);
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
box-shadow: 0 0 12px rgba(var(--color-primary-rgb), 0.6);
}
::-webkit-scrollbar-corner {
background: var(--color-surface);
}
/* Скрытие скроллбаров для Firefox */
* {
scrollbar-width: thin;
scrollbar-color: var(--color-border) transparent;
}
/* Заголовки */
h1, h2, h3, h4, h5, h6 {
color: var(--color-text);
font-family: var(--font-family-base);
font-weight: var(--font-weight-semibold);
text-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);
border-bottom: 3px solid var(--color-border);
padding-bottom: var(--space-12);
margin-top: var(--space-32);
position: relative;
letter-spacing: var(--letter-spacing-tight);
word-wrap: break-word;
}
h1::after, h2::after, h3::after, h4::after, h5::after, h6::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 80px;
height: 3px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
border-radius: 3px;
}
h1 {
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: var(--font-size-4xl);
font-weight: var(--font-weight-bold);
}
h2 {
font-size: var(--font-size-3xl);
font-weight: var(--font-weight-semibold);
}
h3 {
font-size: var(--font-size-2xl);
font-weight: var(--font-weight-semibold);
}
h4 {
font-size: var(--font-size-xl);
font-weight: var(--font-weight-medium);
}
h5 {
font-size: var(--font-size-lg);
font-weight: var(--font-weight-medium);
}
h6 {
font-size: var(--font-size-base);
font-weight: var(--font-weight-medium);
}
/* Первый заголовок страницы */
.firstHeading {
font-family: var(--font-family-base);
font-weight: var(--font-weight-bold);
font-size: var(--font-size-4xl);
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: var(--space-16);
text-align: center;
word-wrap: break-word;
}
/* Личное меню */
#p-personal ul li a {
color: var(--color-primary);
padding: var(--space-16) var(--space-20);
border-radius: var(--radius-base);
transition: all var(--duration-fast) var(--ease-standard);
margin: 0 var(--space-4);
font-weight: var(--font-weight-medium);
}
#p-personal ul li a:hover {
background: var(--color-secondary);
color: var(--color-primary-hover);
text-shadow: 0 0 12px rgba(var(--color-primary-rgb), 0.6);
transform: translateY(-2px);
}
/* Выпадающие меню */
.vector-menu-dropdown .vector-menu-content {
background: var(--color-surface);
border: 2px solid var(--color-border);
border-radius: var(--radius-md);
box-shadow: var(--shadow-lg);
padding: var(--space-16);
backdrop-filter: blur(15px);
}
/* Скрытие элементов */
#pt-createaccount,
#site-tools,
.flaggedrevs_draft_synced,
.flaggedrevs_stable_synced,
#t-upload {
display: none;
}
/* Ссылки на источники */
.reference {
background-color: transparent;
}
.references li:target,
sup.reference:target {
background: var(--color-secondary-hover);
border-radius: var(--radius-sm);
box-shadow: 0 0 15px rgba(var(--color-primary-rgb), 0.6);
}
/* Футер */
#footer {
background: var(--color-surface);
border-top: 3px solid var(--color-border);
border-radius: var(--radius-md) var(--radius-md) 0 0;
margin-top: var(--space-32);
padding: var(--space-32);
color: var(--color-text-secondary);
box-shadow: var(--shadow-sm);
position: relative;
}
#footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
}
/* Результаты поиска */
.mw-search-result-heading a {
color: var(--color-primary);
font-weight: var(--font-weight-semibold);
}
.mw-search-result-data {
color: var(--color-text-secondary);
font-style: italic;
}
/* Списки изменений */
.mw-changeslist-line {
border-left: 3px solid var(--color-border);
padding-left: var(--space-20);
margin-bottom: var(--space-16);
transition: all var(--duration-fast) var(--ease-standard);
}
.mw-changeslist-line:hover {
border-left-color: var(--color-primary);
background: var(--color-secondary);
transform: translateX(5px);
}
/* Списки */
li {
line-height: var(--line-height-normal);
margin-bottom: var(--space-12);
word-wrap: break-word;
}
/* Жирный и курсивный текст */
strong, b {
font-weight: var(--font-weight-semibold);
color: var(--color-text);
}
em, i {
font-style: italic;
color: var(--color-text-secondary);
}
/* Навигационные блоки */
.navbox {
border: 1px solid var(--color-border);
width: 100%;
clear: both;
font-size: 90%;
text-align: center;
padding: 0;
margin: var(--space-32) auto 0;
background: var(--color-surface);
color: var(--color-text);
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
overflow: hidden;
}
.navbox::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
}
/* Информационные блоки */
.infobox {
border: 1px solid var(--color-border);
border-spacing: 0;
background: var(--color-surface);
color: var(--color-text);
margin: var(--space-20) 0 var(--space-20) var(--space-32);
padding: 0;
float: right;
clear: right;
font-size: 90%;
line-height: var(--line-height-normal);
width: 28em;
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-md);
position: relative;
word-wrap: break-word;
}
.infobox::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
}
.infobox tr {
transition: all var(--duration-fast) var(--ease-standard);
}
.infobox tr:hover {
background: var(--color-secondary);
transform: translateX(8px);
}
.infobox th,
.infobox td {
padding: var(--space-16) var(--space-20);
word-wrap: break-word;
overflow-wrap: break-word;
}
/* ===== СТИЛИ ДЛЯ ГЛАВНОЙ СТРАНИЦЫ ===== */
/* Новая hero-секция с космическими эффектами */
.sunrise-hero-new {
position: relative;
background: var(--color-surface);
border-radius: var(--radius-lg);
padding: var(--space-32) var(--space-32);
margin: var(--space-32) 0;
overflow: hidden;
min-height: 500px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: var(--shadow-lg);
clear: both;
}
/* Анимированный звездный фон */
.hero-background {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
}
.stars {
position: absolute;
width: 100%;
height: 100%;
background-image:
radial-gradient(2px 2px at 20px 30px, var(--color-text), transparent),
radial-gradient(2px 2px at 40px 70px, rgba(var(--color-text-rgb, 245, 245, 245), 0.8), transparent),
radial-gradient(1px 1px at 90px 40px, var(--color-text), transparent),
radial-gradient(1px 1px at 130px 80px, rgba(var(--color-text-rgb, 245, 245, 245), 0.6), transparent),
radial-gradient(2px 2px at 160px 30px, var(--color-text-secondary), transparent);
background-repeat: repeat;
background-size: 200px 100px;
animation: sparkle 25s linear infinite;
}
@keyframes sparkle {
from { transform: translateX(0); }
to { transform: translateX(-200px); }
}
.nebula {
position: absolute;
width: 100%;
height: 100%;
background: radial-gradient(ellipse at center, rgba(var(--color-primary-rgb), 0.15) 0%, transparent 70%);
animation: nebula-glow 10s ease-in-out infinite alternate;
}
@keyframes nebula-glow {
0% { opacity: 0.4; }
100% { opacity: 0.8; }
}
/* Контент героя */
.hero-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
width: 100%;
max-width: 100%;
}
.hero-logo {
margin-bottom: var(--space-32);
}
.logo-text {
font-family: var(--font-family-base);
font-size: var(--font-size-4xl);
font-weight: var(--font-weight-bold);
background: linear-gradient(45deg, var(--color-primary), var(--color-warning), var(--color-primary-hover));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
display: block;
text-shadow: 0 0 40px rgba(var(--color-primary-rgb), 0.6);
animation: glow-pulse 4s ease-in-out infinite alternate;
}
@keyframes glow-pulse {
0% { filter: drop-shadow(0 0 25px rgba(var(--color-primary-rgb), 0.6)); }
100% { filter: drop-shadow(0 0 50px rgba(var(--color-primary-rgb), 0.6)); }
}
.logo-subtext {
font-family: var(--font-family-base);
font-size: var(--font-size-xl);
color: var(--color-primary-active);
font-weight: var(--font-weight-normal);
letter-spacing: 0.4em;
text-transform: uppercase;
display: block;
margin-top: var(--space-16);
}
.hero-description {
font-size: var(--font-size-xl);
color: var(--color-text);
margin-bottom: var(--space-32);
opacity: 0.95;
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
word-wrap: break-word;
}
.hero-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
max-width: 800px;
margin: 32px auto;
padding: 0 20px;
justify-content: center;
align-items: stretch;
width: 100%;
}
.stat-item {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
padding: 24px;
text-align: center;
transition: all 0.3s ease;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 140px;
box-sizing: border-box;
width: 100%;
}
.stat-item::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: conic-gradient(transparent, rgba(var(--color-primary-rgb), 0.1), transparent);
animation: rotate-slow 8s linear infinite;
opacity: 0;
transition: opacity var(--duration-fast) var(--ease-standard);
}
.stat-item:hover::before {
opacity: 1;
}
@keyframes rotate-slow {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.stat-item:hover {
transform: translateY(-8px) scale(1.05);
box-shadow: 0 15px 50px rgba(var(--color-primary-rgb), 0.4);
background: var(--color-secondary-hover);
}
.stat-number {
font-size: 2.5em;
font-weight: bold;
color: #ffffff;
line-height: 1.1;
margin-bottom: 8px;
}
.stat-label {
font-size: 0.95em;
color: rgba(255, 255, 255, 0.8);
font-weight: 500;
line-height: 1.3;
}
/* Обновленный контейнер */
.sunrise-container-new {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
gap: var(--space-32);
margin: var(--space-32) 0;
clear: both;
}
/* Новые секции с правильным переносом текста */
.sunrise-section-new {
background: var(--color-surface);
border-radius: var(--radius-lg);
padding: var(--space-32);
box-shadow: var(--shadow-md);
border: 1px solid var(--color-border);
position: relative;
overflow: hidden;
transition: all var(--duration-normal) var(--ease-standard);
/* Убираем скроллбары и правильно обрабатываем текст */
overflow-x: hidden;
overflow-y: auto;
max-height: none;
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
}
.sunrise-section-new::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(var(--color-primary-rgb), 0.1), transparent);
transition: left 0.6s ease;
}
.sunrise-section-new:hover::before {
left: 100%;
}
.sunrise-section-new:hover {
transform: translateY(-10px) scale(1.02);
box-shadow: var(--shadow-lg);
border-color: var(--color-primary);
}
.section-header {
margin-bottom: var(--space-24);
text-align: center;
}
.section-header h2 {
color: var(--color-text);
font-size: var(--font-size-2xl);
margin-bottom: var(--space-16);
font-weight: var(--font-weight-semibold);
word-wrap: break-word;
}
.section-header p {
color: var(--color-primary);
opacity: 0.9;
font-size: var(--font-size-lg);
word-wrap: break-word;
}
/* Секция особенностей */
.sunrise-features {
margin: var(--space-32) 0;
padding: var(--space-32) 0;
background: var(--color-secondary);
border-radius: var(--radius-lg);
border: 1px solid var(--color-border);
clear: both;
}
.features-header {
text-align: center;
margin-bottom: var(--space-32);
}
.features-header h2 {
font-size: var(--font-size-3xl);
color: var(--color-text);
margin-bottom: var(--space-16);
font-weight: var(--font-weight-semibold);
word-wrap: break-word;
}
.features-header p {
color: var(--color-primary);
font-size: var(--font-size-xl);
opacity: 0.9;
word-wrap: break-word;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-32);
padding: 0 var(--space-24);
}
.feature-card {
background: var(--color-surface);
border-radius: var(--radius-lg);
padding: var(--space-32) var(--space-24);
text-align: center;
border: 1px solid var(--color-border);
backdrop-filter: blur(15px);
transition: all var(--duration-normal) var(--ease-standard);
position: relative;
overflow: hidden;
word-wrap: break-word;
overflow-wrap: break-word;
}
.feature-card::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: conic-gradient(transparent, rgba(var(--color-primary-rgb), 0.1), transparent);
animation: rotate-slow 8s linear infinite;
opacity: 0;
transition: opacity var(--duration-normal) var(--ease-standard);
}
.feature-card:hover::before {
opacity: 1;
}
.feature-card:hover {
transform: translateY(-15px) scale(1.05);
box-shadow: 0 25px 80px rgba(var(--color-primary-rgb), 0.3);
border-color: var(--color-primary);
}
.feature-icon {
font-size: 4em;
margin-bottom: var(--space-20);
filter: drop-shadow(0 0 25px rgba(var(--color-primary-rgb), 0.6));
position: relative;
z-index: 1;
}
.feature-card h3 {
color: var(--color-text);
font-size: var(--font-size-xl);
margin-bottom: var(--space-16);
font-weight: var(--font-weight-semibold);
position: relative;
z-index: 1;
word-wrap: break-word;
}
.feature-card p {
color: var(--color-text);
opacity: 0.95;
line-height: var(--line-height-normal);
position: relative;
z-index: 1;
font-size: var(--font-size-lg);
word-wrap: break-word;
overflow-wrap: break-word;
}
/* Обновленные блоки с правильным переносом текста */
.sunrise-blocks-new {
background: var(--color-surface);
border-radius: var(--radius-lg);
padding: var(--space-32);
margin: var(--space-32) 0;
box-shadow: var(--shadow-md);
border: 1px solid var(--color-border);
position: relative;
overflow: hidden;
clear: both;
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
}
.sunrise-blocks-new::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
}
.blocks-header {
text-align: center;
margin-bottom: var(--space-32);
}
.blocks-header h2 {
font-size: var(--font-size-3xl);
color: var(--color-text);
margin-bottom: var(--space-16);
font-weight: var(--font-weight-semibold);
word-wrap: break-word;
}
.blocks-header p {
color: var(--color-primary);
font-size: var(--font-size-xl);
opacity: 0.9;
word-wrap: break-word;
}
/* Космические частицы */
.space-particles {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: -1;
}
.particle {
position: absolute;
width: 3px;
height: 3px;
background: var(--color-primary);
border-radius: 50%;
animation: float 12s infinite linear;
opacity: 0.7;
box-shadow: 0 0 6px rgba(var(--color-primary-rgb), 0.8);
}
.particle:nth-child(1) {
left: 10%;
animation-delay: 0s;
animation-duration: 10s;
}
.particle:nth-child(2) {
left: 25%;
animation-delay: 3s;
animation-duration: 12s;
}
.particle:nth-child(3) {
left: 60%;
animation-delay: 6s;
animation-duration: 8s;
}
.particle:nth-child(4) {
left: 80%;
animation-delay: 9s;
animation-duration: 14s;
}
.particle:nth-child(5) {
left: 95%;
animation-delay: 12s;
animation-duration: 11s;
}
@keyframes float {
0% {
transform: translateY(100vh) rotate(0deg);
opacity: 0;
}
10% {
opacity: 0.7;
}
90% {
opacity: 0.7;
}
100% {
transform: translateY(-100px) rotate(360deg);
opacity: 0;
}
}
/* Улучшенные ссылки в секциях главной страницы */
.sunrise-section-new a,
.sunrise-blocks-new a {
color: var(--color-primary);
text-decoration: none;
transition: all var(--duration-fast) var(--ease-standard);
position: relative;
padding: var(--space-4) var(--space-6);
border-radius: var(--radius-sm);
word-wrap: break-word;
overflow-wrap: break-word;
display: inline-block;
max-width: 100%;
}
.sunrise-section-new a:hover,
.sunrise-blocks-new a:hover {
color: var(--color-primary-hover);
background: var(--color-secondary);
transform: translateX(5px);
text-shadow: 0 0 8px rgba(var(--color-primary-rgb), 0.5);
}
/* Заголовки в секциях главной страницы */
.sunrise-section-new h1,
.sunrise-section-new h2,
.sunrise-section-new h3,
.sunrise-blocks-new h1,
.sunrise-blocks-new h2,
.sunrise-blocks-new h3 {
color: var(--color-text);
border-bottom: 2px solid var(--color-border);
padding-bottom: var(--space-16);
margin-bottom: var(--space-20);
position: relative;
word-wrap: break-word;
overflow-wrap: break-word;
}
.sunrise-section-new h1::after,
.sunrise-section-new h2::after,
.sunrise-section-new h3::after,
.sunrise-blocks-new h1::after,
.sunrise-blocks-new h2::after,
.sunrise-blocks-new h3::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 80px;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));
border-radius: 2px;
}
/* Параграфы в секциях с правильным переносом */
.sunrise-section-new p,
.sunrise-blocks-new p {
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
line-height: var(--line-height-normal);
margin-bottom: var(--space-20);
}
/* Адаптивность */
@media (max-width: 1024px) {
.sunrise-container-new {
grid-template-columns: 1fr;
gap: var(--space-24);
}
.features-grid {
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--space-24);
}
.mw-body {
padding: var(--space-24) var(--space-24);
margin: var(--space-20);
}
}
@media (max-width: 768px) {
.sunrise-container-new {
grid-template-columns: 1fr;
gap: var(--space-20);
}
.features-grid {
grid-template-columns: 1fr;
gap: var(--space-20);
padding: 0 var(--space-16);
}
.hero-stats {
grid-template-columns: 1fr;
gap: var(--space-20);
}
.sunrise-hero-new {
padding: var(--space-32) var(--space-24);
min-height: 400px;
}
.mw-body {
padding: var(--space-20) var(--space-20);
margin: var(--space-16);
border-radius: var(--radius-md);
}
.sunrise-section-new,
.sunrise-blocks-new {
padding: var(--space-24);
border-radius: var(--radius-md);
}
.feature-card {
padding: var(--space-32) var(--space-20);
}
}
@media (max-width: 480px) {
.sunrise-section-new,
.sunrise-blocks-new {
padding: var(--space-20);
border-radius: var(--radius-base);
margin: var(--space-16) 0;
}
.feature-card {
padding: var(--space-24) var(--space-16);
border-radius: var(--radius-base);
}
.sunrise-hero-new {
padding: var(--space-24) var(--space-16);
min-height: 350px;
border-radius: var(--radius-base);
margin: var(--space-16) 0;
}
.mw-body {
padding: var(--space-16) var(--space-16);
margin: var(--space-8);
border-radius: var(--radius-base);
}
.hero-stats {
margin-top: var(--space-24);
gap: var(--space-16);
}
.stat-item {
padding: var(--space-20) var(--space-12);
border-radius: var(--radius-base);
}
.sunrise-container-new {
gap: var(--space-16);
margin: var(--space-16) 0;
}
.features-grid {
gap: var(--space-16);
padding: 0 var(--space-12);
}
.sunrise-features {
margin: var(--space-16) 0;
padding: var(--space-24) 0;
border-radius: var(--radius-base);
}
.features-header {
margin-bottom: var(--space-24);
}
.blocks-header {
margin-bottom: var(--space-24);
}
.logo-text {
font-size: var(--font-size-3xl);
}
.logo-subtext {
font-size: var(--font-size-lg);
margin-top: var(--space-12);
}
.hero-description {
font-size: var(--font-size-lg);
margin-bottom: var(--space-24);
}
.stat-number {
font-size: 2.5em;
font-weight: bold;
color: #ffffff;
line-height: 1.1;
margin-bottom: 8px;
white-space: nowrap;
overflow: visible;
text-overflow: initial;
text-align: center;
}
.stat-label {
font-size: 0.95em;
color: rgba(255, 255, 255, 0.8);
font-weight: 500;
line-height: 1.3;
white-space: nowrap;
overflow: visible;
text-overflow: initial;
text-align: center;
}
.section-header h2 {
font-size: var(--font-size-xl);
margin-bottom: var(--space-12);
}
.section-header p {
font-size: var(--font-size-base);
}
.features-header h2 {
font-size: var(--font-size-2xl);
margin-bottom: var(--space-12);
}
.features-header p {
font-size: var(--font-size-lg);
}
.blocks-header h2 {
font-size: var(--font-size-2xl);
margin-bottom: var(--space-12);
}
.blocks-header p {
font-size: var(--font-size-lg);
}
.feature-card h3 {
font-size: var(--font-size-lg);
margin-bottom: var(--space-12);
}
.feature-card p {
font-size: var(--font-size-base);
}
.feature-icon {
font-size: 3em;
margin-bottom: var(--space-16);
}
}
/* Исправления для текста - предотвращение обрыва слов */
.sunrise-section-new *,
.sunrise-blocks-new *,
.hero-content *,
.feature-card * {
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
}
/* Специальные правила для длинных слов */
.sunrise-section-new,
.sunrise-blocks-new {
word-break: break-word;
overflow-wrap: anywhere;
}
/* Убираем скроллбары из всех блоков главной страницы */
.sunrise-section-new,
.sunrise-blocks-new,
.stat-item,
.feature-card {
overflow: hidden;
overflow-wrap: break-word;
word-wrap: break-word;
}
/* Исправления для статистических блоков */
.stat-item {
min-height: auto;
height: auto;
max-height: none;
}
/* Плавные переходы для всех элементов */
* {
transition: transform var(--duration-fast) var(--ease-standard),
box-shadow var(--duration-fast) var(--ease-standard),
border-color var(--duration-fast) var(--ease-standard),
background-color var(--duration-fast) var(--ease-standard);
}
/* Оптимизация производительности */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* Печать */
@media print {
.space-particles,
.hero-background {
display: none;
}
body {
background: var(--color-background);
color: var(--color-text);
}
.mw-body {
background: var(--color-surface);
box-shadow: none;
border: 1px solid var(--color-border);
}
}
/* Контейнер MainMenuAbout */
.mainmenu-about-container {
display: flex;
flex-direction: column;
gap: 15px;
height: auto;
}
/* Секция сообщества */
.community-links {
overflow: hidden; /* Убираем любые скроллбары */
padding: 10px 0;
}
.social-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
}
.social-link {
display: flex;
justify-content: center;
align-items: center;
background: rgba(var(--color-primary-rgb), 0.05);
border: 1px solid rgba(var(--color-primary-rgb), 0.1);
border-radius: var(--radius-md);
padding: 10px;
min-height: 80px;
transition: all 0.3s ease;
}
.social-link:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(var(--color-primary-rgb), 0.2);
border-color: rgba(var(--color-primary-rgb), 0.3);
background: rgba(var(--color-primary-rgb), 0.1);
}
.social-link img {
max-width: 100%;
max-height: 60px;
object-fit: contain;
transition: transform 0.3s ease;
}
.social-link:hover img {
transform: scale(1.05);
}
@media (max-width: 500px) {
.social-grid {
grid-template-columns: 1fr;
}
}
/* Контент секций */
.about-content,
.help-content,
.other-projects {
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
line-height: 1.6;
overflow: visible;
max-height: none;
}
/* Убираем скроллбары везде где они могут появиться */
.mainmenu-about-container *,
.community-links *,
.social-grid *,
.social-link * {
/* Для WebKit браузеров (Chrome, Safari) */
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE и Edge */
}
.mainmenu-about-container *::-webkit-scrollbar,
.community-links *::-webkit-scrollbar,
.social-grid *::-webkit-scrollbar,
.social-link *::-webkit-scrollbar {
display: none; /* Chrome, Safari, Opera */
}
/* Адаптивность для мобильных */
@media (max-width: 768px) {
.social-grid {
grid-template-columns: 1fr;
gap: 10px;
}
.social-link {
min-height: 120px;
}
}
/* Улучшенное предупреждение о доработке страницы */
.sunrise-warning-banner {
background: linear-gradient(135deg, #fbbf24, #f97316);
color: #1f2937;
border-radius: 12px;
padding: 16px 24px;
margin: 24px auto;
box-shadow: 0 10px 25px rgba(251, 191, 36, 0.3);
display: flex;
justify-content: center;
align-items: center;
position: relative;
animation: pulse-warning 3s ease-in-out infinite alternate;
font-weight: 600;
font-size: 16px;
max-width: 860px;
border: 2px solid rgba(255, 255, 255, 0.2);
}
.warning-content {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
}
.warning-icon {
font-size: 28px;
animation: bounce-warning 2s ease-in-out infinite;
}
.warning-text {
flex-grow: 1;
line-height: 1.4;
}
.warning-close {
background: transparent;
border: none;
font-size: 24px;
font-weight: bold;
cursor: pointer;
color: #1f2937;
transition: all 0.3s ease;
padding: 4px 8px;
border-radius: 6px;
transform: rotate(0deg);
}
.warning-close:hover {
color: #dc2626;
background: rgba(255, 255, 255, 0.2);
transform: rotate(180deg);
}
@keyframes pulse-warning {
0% {
box-shadow: 0 10px 25px rgba(251, 191, 36, 0.3);
}
100% {
box-shadow: 0 15px 35px rgba(251, 191, 36, 0.5);
}
}
@keyframes bounce-warning {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-8px);
}
60% {
transform: translateY(-4px);
}
}
/* Улучшения для блока статистики (четвертый элемент) */
.hero-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 20px;
max-width: 600px;
margin: 0 auto;
}
.stat-item:last-child {
background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.2));
border-color: rgba(139, 92, 246, 0.4);
animation: infinity-glow 4s ease-in-out infinite alternate;
}
.stat-item:last-child .stat-number {
background: linear-gradient(45deg, #fbbf24, #f472b6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-size: 2.2em;
}
@keyframes infinity-glow {
0% {
box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
}
100% {
box-shadow: 0 0 25px rgba(59, 130, 246, 0.5);
}
}
/* Адаптивность для статистики */
@media (max-width: 768px) {
.hero-stats {
grid-template-columns: repeat(2, 1fr);
gap: 15px;
}
}
@media (max-width: 480px) {
.hero-stats {
grid-template-columns: 1fr;
gap: 12px;
}
}
.mw-collapsible-toggle a {
color: var(--color-primary);
text-decoration: none;
font-weight: var(--font-weight-medium);
transition: color var(--duration-fast) var(--ease-standard);
}
.mw-collapsible-toggle a:hover {
color: var(--color-primary-hover);
}
.mw-collapsed .mw-collapsible-content {
display: none;
}
/* Альтернативное решение для details/summary */
details.abbreviation-list {
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 16px;
margin: 16px 0;
}
details.abbreviation-list summary {
cursor: pointer;
font-weight: bold;
color: #3b82f6;
margin-bottom: 12px;
user-select: none;
}
details.abbreviation-list summary:hover {
color: #1d4ed8;
}
details.abbreviation-list[open] summary {
margin-bottom: 16px;
border-bottom: 1px solid #e2e8f0;
padding-bottom: 8px;
}
/* Адаптивность для предупреждения */
@media (max-width: 768px) {
.sunrise-warning-banner {
margin: 16px 12px;
padding: 14px 18px;
font-size: 15px;
}
.warning-icon {
font-size: 24px;
}
.warning-close {
font-size: 20px;
}
}
@media (max-width: 480px) {
.sunrise-warning-banner {
margin: 12px 8px;
padding: 12px 16px;
font-size: 14px;
}
.warning-content {
gap: 8px;
}
}
@media (max-width: 900px) {
.hero-stats {
grid-template-columns: repeat(2, minmax(180px, 1fr));
gap: 18px;
max-width: 450px;
padding: 0 16px;
}
}
@media (max-width: 600px) {
.hero-stats {
grid-template-columns: repeat(2, minmax(140px, 1fr));
gap: 16px;
max-width: 350px;
padding: 0 12px;
}
.stat-item {
padding: 20px 16px;
min-width: 120px;
}
.stat-number {
font-size: 2.2em;
}
.stat-label {
font-size: 0.9em;
}
}
@media (max-width: 400px) {
.hero-stats {
grid-template-columns: 1fr;
gap: 14px;
max-width: 200px;
}
.stat-item {
padding: 18px 16px;
min-width: auto;
}
.stat-number {
font-size: 2em;
}
.stat-label {
font-size: 0.85em;
}
}
@media (max-width: 768px) {
.hero-stats {
grid-template-columns: repeat(2, 1fr);
gap: 15px;
justify-items: center;
}
}
@media (max-width: 480px) {
.hero-stats {
grid-template-columns: 1fr;
gap: 12px;
justify-items: center;
}
}
.mw-collapsible-toggle {
cursor: pointer;
color: var(--color-primary, #3b82f6);
font-weight: bold;
user-select: none;
text-decoration: none;
border: none;
background: transparent;
padding: 4px 8px;
border-radius: 4px;
transition: all 0.3s ease;
}
.mw-collapsible-toggle:hover {
color: var(--color-primary-hover, #1d4ed8);
background-color: var(--color-secondary, rgba(59, 130, 246, 0.1));
text-decoration: none;
}
.mw-collapsed .mw-collapsible-content {
display: none !important;
}
.mw-collapsible-content {
display: block;
}
.mw-customtoggle {
cursor: pointer;
color: var(--color-primary, #3b82f6);
font-weight: bold;
user-select: none;
text-decoration: none;
}
.mw-customtoggle:hover {
color: var(--color-primary-hover, #1d4ed8);
text-decoration: underline;
}
@keyframes infinity-glow {
0% {
box-shadow: 0 0 15px rgba(139, 92, 246, 0.3);
}
100% {
box-shadow: 0 0 25px rgba(59, 130, 246, 0.5);
}
}
.recentchanges-frame .mw-collapsible-content {
max-height: 400px;
overflow-y: auto;
}