* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system, 'Microsoft YaHei', 'PingFang SC', sans-serif; background:#f0f2f5; color:#222; min-height:100vh; }
.wrapper { max-width:1100px; margin:0 auto; }

/* Header - 深蓝主题，更专业清晰 */
.header { background:linear-gradient(135deg,#1a2744,#0f1a2e); color:#fff; }
.header .inner { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; max-width:1100px; margin:0 auto; }
.logo a { text-decoration:none; color:#fff; display:flex; align-items:center; gap:8px; }
.logo strong { font-size:20px; letter-spacing:1px; }
.logo span { font-size:13px; opacity:0.7; }
.nav-menu { display:flex; gap:4px; }
.nav-menu a { color:#b8c7e0; text-decoration:none; padding:7px 14px; border-radius:6px; font-size:14px; transition:all 0.2s; }
.nav-menu a:hover { background:rgba(255,255,255,0.1); color:#fff; }

/* Container */
.container { padding:15px 0; }
.inner { max-width:1100px; margin:0 auto; padding:0 15px; }

/* Breadcrumb - 加深颜色 */
.breadcrumb { padding:8px 0; font-size:13px; color:#555; }
.breadcrumb a { color:#1a5276; text-decoration:none; font-weight:500; }
.breadcrumb a:hover { text-decoration:underline; }
.breadcrumb span { color:#222; font-weight:500; }

/* Section Title */
.section-title { font-size:17px; color:#1a2744; padding:12px 0 8px; border-bottom:2px solid #1a2744; margin-bottom:15px; display:flex; align-items:center; gap:8px; }
.section-title a { color:inherit; text-decoration:none; }

/* Lottery Cards - 加大字体 */
.lottery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:15px; }
.lottery-card { background:#fff; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,0.06); overflow:hidden; transition:box-shadow 0.2s; }
.lottery-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.1); }
.card-header { display:flex; align-items:center; padding:14px 16px; border-bottom:1px solid #f0f0f0; }
.card-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-right:14px; flex-shrink:0; }
.card-icon.fucai { background:linear-gradient(135deg,#c0392b,#962d22); color:#fff; }
.card-icon.ticai { background:linear-gradient(135deg,#1a5276,#0f3563); color:#fff; }
.card-info { flex:1; min-width:0; }
.card-info h3 { font-size:16px; font-weight:600; }
.card-info h3 a { color:#222; text-decoration:none; }
.card-info h3 a:hover { color:#c0392b; }
.card-info .issue { font-size:13px; color:#888; margin-top:2px; }
.card-time { font-size:13px; color:#888; white-space:nowrap; }
.card-body { padding:14px 16px; }
.card-body .numbers { display:flex; flex-wrap:wrap; align-items:center; gap:3px; margin-bottom:8px; }
.card-body .tag { display:inline-block; font-size:12px; color:#888; margin-left:10px; }
.card-body .tag.today { color:#c0392b; font-weight:bold; }
.ball-table { width:100%; border-collapse:collapse; margin-top:8px; font-size:13px; color:#444; }
.ball-table th { background:#f5f6fa; padding:5px 8px; text-align:center; color:#666; font-weight:500; }
.ball-table td { padding:5px 8px; text-align:center; font-weight:500; }
.card-footer { display:flex; border-top:1px solid #f0f0f0; }
.card-footer a { flex:1; text-align:center; padding:10px; font-size:13px; color:#555; text-decoration:none; border-right:1px solid #f0f0f0; transition:color 0.2s; }
.card-footer a:last-child { border-right:none; }
.card-footer a:hover { color:#c0392b; background:#fef9f7; }

/* 号码球 - 加大 */
.ball-red { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#e74c3c,#c0392b); color:#fff; font-weight:bold; font-size:15px; margin:1px; box-shadow:inset -2px -2px 3px rgba(0,0,0,0.15); }
.ball-blue { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#2980b9,#1a5276); color:#fff; font-weight:bold; font-size:15px; margin:1px; box-shadow:inset -2px -2px 3px rgba(0,0,0,0.15); }
.ball-yellow { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#e67e22,#d35400); color:#fff; font-weight:bold; font-size:15px; margin:1px; box-shadow:inset -2px -2px 3px rgba(0,0,0,0.15); }
.ball-lg { width:42px; height:42px; font-size:18px; }

/* Schedule Table */
.schedule { width:100%; border-collapse:collapse; margin:15px 0; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.schedule th { background:#1a2744; color:#fff; padding:10px 12px; font-size:14px; text-align:center; }
.schedule td { padding:10px 12px; text-align:center; border-bottom:1px solid #f0f0f0; font-size:14px; color:#444; }
.schedule tr:hover td { background:#f0f4ff; }
.schedule .checked { color:#27ae60; font-weight:bold; font-size:15px; }
.schedule .checked-today { color:#fff; font-weight:bold; background:#c0392b; padding:2px 10px; border-radius:4px; font-size:12px; }
.schedule .time { color:#c0392b; font-weight:bold; }
.schedule .lottery-name a { color:#222; text-decoration:none; font-weight:500; }
.schedule .lottery-name a:hover { color:#c0392b; }

/* Detail Page */
.detail-header { background:#fff; border-radius:10px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:15px; }
.detail-header h1 { font-size:20px; margin-bottom:4px; color:#222; }
.detail-header .meta { color:#666; font-size:14px; display:flex; gap:18px; flex-wrap:wrap; }
.detail-numbers { display:flex; flex-wrap:wrap; align-items:center; gap:5px; padding:15px 0; }
.detail-stats { margin-top:8px; }

/* History Table */
.data-table { width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.data-table th { background:#1a2744; color:#fff; padding:10px 12px; font-size:14px; text-align:center; }
.data-table td { padding:9px 12px; text-align:center; border-bottom:1px solid #f0f0f0; font-size:14px; color:#444; }
.data-table tr:hover td { background:#f0f4ff; }
.data-table .issue-cell { color:#c0392b; font-weight:600; }

/* Trend Chart */
.chart-container { background:#fff; border-radius:10px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:15px; overflow-x:auto; }
.chart-container h2 { font-size:16px; margin-bottom:12px; color:#222; }
.trend-table { border-collapse:collapse; font-size:12px; }
.trend-table th { background:#f5f6fa; padding:5px 6px; border:1px solid #e0e0e0; text-align:center; white-space:nowrap; color:#666; font-weight:500; }
.trend-table td { padding:5px 6px; border:1px solid #e0e0e0; text-align:center; font-size:13px; }
.trend-table .hit { background:#c0392b; color:#fff; font-weight:bold; border-radius:50%; display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; }

/* Page Content */
.page-content { background:#fff; border-radius:10px; padding:25px; box-shadow:0 2px 8px rgba(0,0,0,0.06); line-height:1.9; }
.page-content h2 { color:#1a2744; margin:24px 0 10px; font-size:17px; border-left:4px solid #c0392b; padding-left:12px; }
.page-content p { margin:8px 0; font-size:14px; color:#444; }
.page-content ul { padding-left:24px; }
.page-content li { font-size:14px; margin:5px 0; color:#444; }

/* Tabs */
.tabs { display:flex; gap:0; margin-bottom:15px; }
.tabs a { padding:10px 22px; background:#fff; border:1px solid #ddd; text-decoration:none; color:#555; font-size:14px; border-radius:6px 6px 0 0; margin-right:-1px; font-weight:500; }
.tabs a.active { background:#1a2744; color:#fff; border-color:#1a2744; }
.tabs a:hover:not(.active) { background:#f0f4ff; }

/* Pagination */
.pagination { display:flex; justify-content:center; gap:5px; margin:20px 0; }
.pagination a, .pagination span { padding:8px 14px; border:1px solid #ddd; border-radius:6px; text-decoration:none; font-size:14px; color:#555; }
.pagination a:hover { background:#f0f4ff; }
.pagination .active { background:#1a2744; color:#fff; border-color:#1a2744; }

/* Analysis Card */
.analysis-card { background:#fff; border-radius:10px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,0.06); margin-bottom:15px; }
.analysis-card h3 { font-size:15px; color:#1a2744; margin-bottom:10px; border-bottom:1px solid #f0f0f0; padding-bottom:8px; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; }
.stat-item { text-align:center; padding:12px; background:#f0f4ff; border-radius:8px; }
.stat-item .label { font-size:12px; color:#666; }
.stat-item .value { font-size:22px; font-weight:bold; color:#c0392b; margin-top:4px; }

/* Footer */
.footer { background:#1a2744; color:#b8c7e0; padding:25px 0; margin-top:30px; }
.footer .inner { max-width:1100px; margin:0 auto; padding:0 15px; text-align:center; }
.footer .notice { color:#f39c12; font-size:14px; margin-bottom:12px; padding:10px; border:1px solid rgba(243,156,18,0.3); border-radius:6px; }
.footer .links { margin:10px 0; }
.footer .links a { color:#8aa4d0; text-decoration:none; margin:0 8px; font-size:14px; }
.footer .links a:hover { color:#fff; }
.footer .copyright { font-size:13px; margin-top:10px; color:#7a94c0; }
.footer .copyright p { margin:3px 0; }

/* Responsive */
@media (max-width:768px) {
    .lottery-grid { grid-template-columns:1fr; }
    .header .inner { flex-direction:column; gap:10px; }
    .nav-menu { flex-wrap:wrap; justify-content:center; }
    .nav-menu a { font-size:13px; padding:6px 10px; }
    .schedule { font-size:13px; }
    .schedule th, .schedule td { padding:6px 4px; font-size:12px; }
    .detail-numbers { gap:3px; }
}

/* Messages */
.no-data { text-align:center; padding:40px 20px; color:#999; font-size:14px; }
.loading { text-align:center; padding:20px; color:#999; }

/* 导航 - 仅2种颜色 */
.nav-menu a { color:#b8c7e0; text-decoration:none; padding:7px 14px; border-radius:6px; font-size:14px; transition:all 0.2s; }
.nav-menu a:hover { background:rgba(255,255,255,0.1); color:#fff; }
.nav-vip { color:#f39c12 !important; font-weight:bold; }
.nav-vip:hover { background:rgba(243,156,18,0.15) !important; }
.nav-login { background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25); border-radius:6px; padding:7px 16px !important; font-weight:500; }
.nav-login:hover { background:rgba(255,255,255,0.2) !important; border-color:rgba(255,255,255,0.4); }

/* ===== 暗黑模式 ===== */
body.dark-mode { background:#1a1a2e; color:#e0e0e0; }
.dark-mode .header { background:linear-gradient(135deg,#16213e,#0f3460); }
.dark-mode .lottery-card { background:#1e1e36; box-shadow:0 2px 8px rgba(0,0,0,0.3); }
.dark-mode .card-header { border-color:#2a2a4a; }
.dark-mode .card-info h3 a { color:#e0e0e0; }
.dark-mode .card-footer { border-color:#2a2a4a; }
.dark-mode .card-footer a { color:#999; }
.dark-mode .card-footer a:hover { background:#2a2a4a; color:#fff; }
.dark-mode .ball-table th { background:#2a2a4a; color:#999; }
.dark-mode .ball-table td { color:#ccc; }
.dark-mode .schedule { background:#1e1e36; box-shadow:0 2px 8px rgba(0,0,0,0.3); }
.dark-mode .schedule td { border-color:#2a2a4a; color:#ccc; }
.dark-mode .schedule tr:hover td { background:#2a2a4a; }
.dark-mode .schedule .lottery-name a { color:#e0e0e0; }
.dark-mode .detail-header { background:#1e1e36; }
.dark-mode .detail-header h1 { color:#e0e0e0; }
.dark-mode .chart-container { background:#1e1e36; }
.dark-mode .chart-container h2 { color:#e0e0e0; }
.dark-mode .analysis-card { background:#1e1e36; }
.dark-mode .analysis-card h3 { color:#e0e0e0; border-color:#2a2a4a; }
.dark-mode .page-content { background:#1e1e36; }
.dark-mode .page-content h2 { color:#e0e0e0; }
.dark-mode .page-content p,
.dark-mode .page-content li { color:#bbb; }
.dark-mode .breadcrumb a { color:#6a9bd2; }
.dark-mode .breadcrumb span { color:#e0e0e0; }
.dark-mode .section-title { color:#e0e0e0; border-color:#4a6fa5; }
.dark-mode .stat-item { background:#2a2a4a; }
.dark-mode .stat-item .value { color:#e74c3c; }
.dark-mode .stat-item .label { color:#999; }
.dark-mode .tabs a { background:#1e1e36; border-color:#2a2a4a; color:#999; }
.dark-mode .tabs a.active { background:#0f3460; color:#fff; border-color:#0f3460; }
.dark-mode .data-table { background:#1e1e36; }
.dark-mode .footer { background:#0f0f23; }
.dark-mode .schedule th { background:#0f3460; }
.dark-mode .data-table th { background:#0f3460; }
.dark-mode .trend-table th { background:#2a2a4a; color:#999; }
.dark-mode .trend-table td { border-color:#2a2a4a; color:#ccc; }
.dark-mode .no-data { color:#666; }
.dark-mode select { background:#2a2a4a; color:#e0e0e0; border-color:#3a3a5a; }
.dark-mode input { background:#2a2a4a; color:#e0e0e0; border-color:#3a3a5a; }

/* 暗黑模式切换按钮 */
.dark-toggle { position:fixed; bottom:20px; right:20px; z-index:999; width:44px; height:44px; border-radius:50%; background:#1a2744; color:#fff; border:2px solid rgba(255,255,255,0.2); cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,0.2); transition:all 0.3s; }
.dark-toggle:hover { transform:scale(1.1); }
.dark-mode .dark-toggle { background:#f39c12; border-color:rgba(0,0,0,0.2); }
