:root { --color-primary: #E84855; --color-primary-dark: #d13c48; --color-secondary: #1a1a1a; --color-text: #333333; --color-text-light: #666666; --color-border: #e0e0e0; --color-bg: #ffffff; --color-bg-light: #f8f8f8;  --font-primary: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-weight-light: 300;
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-bold: 700;
--font-weight-black: 900; --font-size-small: 0.75rem; --font-size-base: 0.875rem; --font-size-medium: 1rem; --font-size-large: 1.125rem; --font-size-h3: 1.25rem; --font-size-h2: 1.5rem; --font-size-h1: 2rem; --font-size-hero: 2.5rem;  --spacing-xs: 0.5rem; --spacing-sm: 0.75rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-2xl: 3rem;  --container-max-width: 1400px;
--sidebar-width: 300px;
--header-height: 60px;
--topbar-height: 50px;
--ticker-height: 40px; --transition-fast: 0.2s ease;
--transition-normal: 0.3s ease;
--transition-slow: 0.5s ease; --shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
--shadow-md: 0 2px 8px rgba(0,0,0,0.1);
--shadow-lg: 0 4px 16px rgba(0,0,0,0.15); --radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 12px;
} body.dark-mode {
--color-bg: #1a1a1a;
--color-bg-light: #2a2a2a;
--color-text: #e0e0e0;
--color-text-light: #a0a0a0;
--color-secondary: #ffffff;
--color-border: #3a3a3a;
} body.dark-mode .news-ticker {
background-color: #2a2a2a;
border-top: 1px solid #3a3a3a;
}
body.dark-mode .ticker-label {
background-color: var(--color-primary);
color: #fff;
}
body.dark-mode .ticker-item {
color: #e0e0e0;
}
body.dark-mode .ticker-item:hover {
color: var(--color-primary);
} body.dark-mode .main-header {
background-color: #1a1a1a;
}
body.dark-mode .main-nav {
background-color: #1a1a1a;
}
body.dark-mode .primary-menu a {
color: #f5f5f5;
}
body.dark-mode .primary-menu a:hover {
color: var(--color-primary);
}
body.dark-mode .current-menu-item a {
color: var(--color-primary);
} body.dark-mode .article-content {
color: #f5f5f5;
}
body.dark-mode .article-content h2,
body.dark-mode .article-content h3 {
color: #ffffff;
}
body.dark-mode .article-content p {
color: #f5f5f5;
}
body.dark-mode .article-title {
color: #ffffff;
}
body.dark-mode .article-main {
background-color: transparent;
}
body.dark-mode .article-header {
background-color: transparent;
}
body.dark-mode .article-author .author-info {
color: #e0e0e0;
}
body.dark-mode .article-author .author-name {
color: #ffffff;
}
body.dark-mode .article-author .author-date {
color: #a0a0a0;
}
body.dark-mode .related-title,
body.dark-mode .sidebar-title {
color: #fff;
}
body.dark-mode .article-card-small-title {
color: #fff;
}
body.dark-mode .article-card-small-meta {
color: #a0a0a0;
}
body.dark-mode .author-box {
background-color: #1a1a1a;
border-color: #3a3a3a;
}
body.dark-mode .author-box-name {
color: #fff;
}
body.dark-mode .author-box-bio,
body.dark-mode .author-box-meta {
color: #a0a0a0;
}
body.dark-mode .post-navigation {
border-color: #3a3a3a;
}
body.dark-mode .nav-label {
color: #a0a0a0;
}
body.dark-mode .nav-title {
color: #fff;
}
body.dark-mode .sidebar {
background-color: #2a2a2a;
}
body.dark-mode .article-card,
body.dark-mode .article-card-small {
background-color: #2a2a2a;
}
body.dark-mode .hero-article-title {
color: #fff;
} * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
scrollbar-gutter: stable; }
body {
font-family: var(--font-primary);
font-size: var(--font-size-base);
font-weight: var(--font-weight-regular);
line-height: 1.6;
color: var(--color-text);
background-color: var(--color-bg);
}
a {
color: var(--color-secondary);
text-decoration: none;
transition: color var(--transition-fast);
}
a:hover {
color: var(--color-primary);
}
img {
max-width: 100%;
height: auto;
display: block;
} .container {
max-width: var(--container-max-width);
margin: 0 auto;
padding: 0 var(--spacing-md);
} .text-center { text-align: center; }
.text-uppercase { text-transform: uppercase; }
.font-bold { font-weight: var(--font-weight-bold); }
.font-medium { font-weight: var(--font-weight-medium); }