/* style.css - Полная версия с поддержкой тёмной темы (содержимое идентично предыдущему) */
:root {
--bg-body: #f4f7fc;
--bg-header: #2c3e50;
--text-primary: #333;
--text-secondary: #7f8c8d;
--card-bg: #ffffff;
--border-color: #e5e5e5;
--shadow: 0 2px 8px rgba(0,0,0,0.1);
--input-bg: #ffffff;
--input-border: #ccc;
--header-text: #ecf0f1;
--header-link-hover: #3498db;
--alert-bg-success: #d4edda;
--alert-text-success: #155724;
--alert-border-success: #c3e6cb;
--alert-bg-danger: #f8d7da;
--alert-text-danger: #721c24;
--alert-border-danger: #f5c6cb;
--alert-bg-info: #d1ecf1;
--alert-text-info: #0c5460;
--alert-border-info: #bee5eb;
--poll-bg: #f8f9fa;
--table-header-bg: #2c3e50;
--table-header-text: #fff;
--table-row-hover: #f8f9fa;
--btn-primary-bg: #3498db;
--btn-primary-hover: #2980b9;
--btn-danger-bg: #e74c3c;
--btn-danger-hover: #c0392b;
--btn-success-bg: #2ecc71;
--btn-success-hover: #27ae60;
--btn-warning-bg: #f39c12;
--btn-warning-hover: #e67e22;
--btn-secondary-bg: #95a5a6;
--btn-secondary-hover: #7f8c8d;
--link-color: #3498db;
--link-hover: #2980b9;
}

.dark-mode {
--bg-body: #1a1a2e;
--bg-header: #0f3460;
--text-primary: #eee;
--text-secondary: #aaa;
--card-bg: #16213e;
--border-color: #2a3a5e;
--shadow: 0 2px 12px rgba(0,0,0,0.6);
--input-bg: #1a2a4e;
--input-border: #3a4a6e;
--header-text: #ecf0f1;
--header-link-hover: #5dade2;
--alert-bg-success: #1e3a2a;
--alert-text-success: #8fbf9f;
--alert-border-success: #2a5a3a;
--alert-bg-danger: #3a1e1e;
--alert-text-danger: #bf8f8f;
--alert-border-danger: #5a2a2a;
--alert-bg-info: #1e2a3a;
--alert-text-info: #8fbfbf;
--alert-border-info: #2a3a5a;
--poll-bg: #1a2a3a;
--table-header-bg: #0a1a2a;
--table-header-text: #ddd;
--table-row-hover: #1a2a3a;
--btn-primary-bg: #2980b9;
--btn-primary-hover: #5dade2;
--btn-danger-bg: #c0392b;
--btn-danger-hover: #e74c3c;
--btn-success-bg: #27ae60;
--btn-success-hover: #2ecc71;
--btn-warning-bg: #d4ac0d;
--btn-warning-hover: #f1c40f;
--btn-secondary-bg: #5d6d7e;
--btn-secondary-hover: #85929e;
--link-color: #5dade2;
--link-hover: #85c1e9;
}

- { margin:0; padding:0; box-sizing:border-box; }
body {
font-family: Arial, sans-serif;
background-color: var(--bg-body);
color: var(--text-primary);
line-height: 1.6;
transition: background-color 0.3s, color 0.3s;
}
.container { max-width:1200px; margin:0 auto; padding:0 15px; }
header {
background: var(--bg-header);
color: var(--header-text);
padding: 15px 0;
box-shadow: var(--shadow);
transition: background 0.3s, box-shadow 0.3s;
}
.header-container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.logo a { color:var(--header-text); font-size:1.8rem; font-weight:bold; text-decoration:none; }
.logo img { max-height:50px; vertical-align:middle; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; }
nav ul li { margin:0 10px; }
nav ul li a { color:var(--header-text); text-decoration:none; font-size:1rem; transition:color 0.3s; }
nav ul li a:hover { color:var(--header-link-hover); }

.user-area { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.user-area a { color:var(--header-text); text-decoration:none; font-size:0.9rem; transition:color 0.3s; }
.user-area a:hover { color:var(--header-link-hover); }
.user-info { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.mini-avatar { width:30px; height:30px; border-radius:50%; object-fit:cover; vertical-align:middle; }
.coins { background:#f1c40f; color:#2c3e50; padding:2px 10px; border-radius:12px; font-weight:bold; font-size:0.9rem; }
.admin-link { background:#e67e22; padding:4px 12px; border-radius:12px; color:#fff !important; }
.admin-link:hover { background:#d35400; }
.logout-link { color:#e74c3c !important; }
.login-link, .register-link { padding:4px 12px; border-radius:12px; background:var(--btn-primary-bg); color:#fff !important; }
.login-link:hover, .register-link:hover { background:var(--btn-primary-hover); }

.theme-toggle { background:none; border:none; font-size:1.5rem; cursor:pointer; color:var(--header-text); padding:0 5px; transition:transform 0.3s; }
.theme-toggle:hover { transform:scale(1.1); }

main { padding:20px 0; min-height:70vh; }

.news-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; margin-top:20px; }
.news-card { background:var(--card-bg); border-radius:8px; box-shadow:var(--shadow); overflow:hidden; transition:transform 0.2s, background 0.3s, box-shadow 0.3s; }
.news-card:hover { transform:translateY(-3px); }
.news-card img { width:100%; height:180px; object-fit:cover; }
.news-card .card-body { padding:15px; }
.news-card h3 { font-size:1.2rem; margin-bottom:8px; }
.news-card .meta { font-size:0.85rem; color:var(--text-secondary); margin-bottom:10px; }
.news-card .excerpt { font-size:0.95rem; margin-bottom:12px; }
.news-card .read-more { display:inline-block; background:var(--btn-primary-bg); color:#fff; padding:6px 14px; border-radius:20px; text-decoration:none; font-size:0.9rem; transition:background 0.3s; }
.news-card .read-more:hover { background:var(--btn-primary-hover); }

.news-full { background:var(--card-bg); padding:25px; border-radius:8px; box-shadow:var(--shadow); margin-bottom:20px; transition:background 0.3s, box-shadow 0.3s; }
.news-full h1 { font-size:2rem; margin-bottom:10px; }
.news-full .meta { color:var(--text-secondary); font-size:0.9rem; margin-bottom:15px; }
.news-full img { max-width:100%; height:auto; border-radius:8px; margin:15px 0; }
.news-full .content { font-size:1.05rem; line-height:1.8; }

.poll-container { background:var(--poll-bg); padding:20px; border-radius:8px; margin:20px 0; transition:background 0.3s; }
.poll-container h3 { margin-bottom:15px; }
.poll-options { list-style:none; padding:0; }
.poll-options li { margin-bottom:8px; }
.poll-options label { display:block; padding:10px 15px; background:var(--card-bg); border:1px solid var(--border-color); border-radius:6px; cursor:pointer; transition:background 0.2s, border-color 0.2s; }
.poll-options label:hover { background:var(--table-row-hover); }
.poll-options input[type="radio"] { margin-right:10px; }

.poll-results .result-item { display:flex; align-items:center; margin-bottom:6px; }
.poll-results .result-bar { flex:1; height:20px; background:var(--border-color); border-radius:10px; overflow:hidden; margin:0 10px; }
.poll-results .result-bar .fill { height:100%; background:var(--btn-primary-bg); border-radius:10px; transition:width 0.5s; }
.poll-results .result-percent { font-weight:bold; width:50px; text-align:right; color:var(--text-primary); }

.form-group { margin-bottom:15px; }
.form-group label { display:block; font-weight:600; margin-bottom:5px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 12px; border:1px solid var(--input-border); border-radius:6px; font-size:1rem; background:var(--input-bg); color:var(--text-primary); transition:background 0.3s, border-color 0.3s, color 0.3s; }
.form-group textarea { min-height:120px; resize:vertical; }

.btn { display:inline-block; background:var(--btn-primary-bg); color:#fff; padding:10px 20px; border:none; border-radius:6px; cursor:pointer; font-size:1rem; transition:background 0.3s, transform 0.1s; }
.btn:hover { background:var(--btn-primary-hover); }
.btn-danger { background:var(--btn-danger-bg); }
.btn-danger:hover { background:var(--btn-danger-hover); }
.btn-success { background:var(--btn-success-bg); }
.btn-success:hover { background:var(--btn-success-hover); }
.btn-warning { background:var(--btn-warning-bg); }
.btn-warning:hover { background:var(--btn-warning-hover); }
.btn-secondary { background:var(--btn-secondary-bg); }
.btn-secondary:hover { background:var(--btn-secondary-hover); }

.alert { padding:12px 18px; border-radius:6px; margin-bottom:15px; border:1px solid transparent; }
.alert-success { background:var(--alert-bg-success); color:var(--alert-text-success); border-color:var(--alert-border-success); }
.alert-danger { background:var(--alert-bg-danger); color:var(--alert-text-danger); border-color:var(--alert-border-danger); }
.alert-info { background:var(--alert-bg-info); color:var(--alert-text-info); border-color:var(--alert-border-info); }

.profile-header { display:flex; align-items:center; gap:30px; background:var(--card-bg); padding:25px; border-radius:8px; box-shadow:var(--shadow); margin-bottom:20px; flex-wrap:wrap; transition:background 0.3s, box-shadow 0.3s; }
.profile-avatar img { width:150px; height:150px; border-radius:50%; object-fit:cover; border:4px solid var(--btn-primary-bg); }
.profile-info h2 { font-size:2rem; }
.profile-info .stats { margin-top:10px; color:var(--text-secondary); }

.profile-gifts { background:var(--card-bg); padding:20px; border-radius:8px; box-shadow:var(--shadow); transition:background 0.3s, box-shadow 0.3s; }
.gift-item { display:flex; align-items:center; gap:15px; padding:10px 0; border-bottom:1px solid var(--border-color); }
.gift-item img { width:50px; height:50px; object-fit:contain; border-radius:8px; background:var(--bg-body); }
.gift-item .gift-info { flex:1; }
.gift-item .gift-info .name { font-weight:bold; }
.gift-item .gift-info .meta { font-size:0.85rem; color:var(--text-secondary); }

.gifts-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; margin-top:20px; }
.gift-card { background:var(--card-bg); border-radius:8px; box-shadow:var(--shadow); padding:15px; text-align:center; transition:transform 0.2s, background 0.3s, box-shadow 0.3s; }
.gift-card:hover { transform:translateY(-5px); }
.gift-card img { width:100%; height:150px; object-fit:contain; border-radius:8px; background:var(--bg-body); transition:background 0.3s; }
.gift-card h4 { margin:10px 0 5px; }
.gift-card .price { color:#f39c12; font-weight:bold; }
.gift-card .btn-gift { margin-top:10px; }

.admin-tabs { display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.admin-tabs a { padding:8px 18px; background:var(--card-bg); border-radius:20px; text-decoration:none; color:var(--text-primary); box-shadow:var(--shadow); transition:background 0.3s, color 0.3s; }
.admin-tabs a.active { background:var(--btn-primary-bg); color:#fff; }
.admin-tabs a:hover { background:var(--btn-secondary-bg); color:#fff; }

.admin-table { width:100%; border-collapse:collapse; background:var(--card-bg); border-radius:8px; overflow:hidden; box-shadow:var(--shadow); transition:background 0.3s, box-shadow 0.3s; }
.admin-table th, .admin-table td { padding:12px 15px; text-align:left; border-bottom:1px solid var(--border-color); }
.admin-table th { background:var(--table-header-bg); color:var(--table-header-text); }
.admin-table tr:hover { background:var(--table-row-hover); }

.users-table td { vertical-align:middle; }
.users-table .btn { padding:4px 12px; font-size:0.85rem; }

.admin-form { background:var(--card-bg); padding:20px; border-radius:8px; box-shadow:var(--shadow); margin-top:20px; transition:background 0.3s, box-shadow 0.3s; }

.pagination { margin-top:20px; text-align:center; }
.pagination .btn { margin:0 3px; }

footer { background:var(--bg-header); color:var(--header-text); padding:20px 0; text-align:center; margin-top:30px; transition:background 0.3s; }

@media (max-width:768px) {
.header-container { flex-direction:column; align-items:stretch; }
.logo { text-align:center; margin-bottom:10px; }
nav ul { justify-content:center; }
nav ul li { margin:0 5px; }
.user-area { justify-content:center; margin-top:10px; }
.profile-header { flex-direction:column; text-align:center; }
.profile-avatar img { width:120px; height:120px; }
.news-grid, .gifts-grid { grid-template-columns:1fr; }
.admin-tabs { justify-content:center; }
.admin-table { font-size:0.85rem; }
.admin-table th, .admin-table td { padding:8px 10px; }
.theme-toggle { font-size:1.2rem; }
}
@media (max-width:480px) {
nav ul li a { font-size:0.85rem; }
.logo a { font-size:1.4rem; }
.user-area a { font-size:0.8rem; }
.coins { font-size:0.8rem; padding:1px 8px; }
}