/* ============================================================
 *  数学爱好者网 - 主样式表
 *  风格: 复古风格 (致敬 Web 1.0)
 *  说明: 修改此文件可调整全站外观
 * ============================================================ */

/* ---------- 全局重置 ---------- */
* {
  margin: 0;
  padding: 0;
}

body {
  font-family: "SimSun", "宋体", "Microsoft YaHei", serif;
  font-size: 14px;
  color: #333333;
  /* 经典的 tiled 背景图案 */
  background-color: #0a0a2e;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnMvbWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjhGRUM3Q0JBMjVEMTFFMUExQzlDQTkzRUI2RkZGRDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjhGRUM3Q0NBMjVEMTFFMUExQzlDQTkzRUI2RkZGRDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyOEZFQzdDOUIyNUQxMUUxQTFDOUNBOTNFQjZGRkZEOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyOEZFQzdDQUEyNUQxMUUxQTFDOUNBOTNFQjZGRkZEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk2r3vMAAAHJSURBVHjapNQ5S0RRGIbh9zqOOo4L7oK4oIuCGwkKgoWw2AhWdv4Kf4WNlWAjKiIKYqGghYKCYBBcEEVRcBkXFGdcZuYbiWfMZBzBBy5c7nLP835nzoXf+JdfD4B28N4HkBQVFXd3d+f3+31ZJSUleRUVFT+Z6OjoKA4PD+G2myAIANDU1HQ3MDDQ2d/fXw5ANpuFzWZDb2+vDQDW1taQz+dxcHCAwWQyCQDo7e3V7Ha7Nj4+rgGgJEkKAO3s7NQCgQAaGxu1hoYGrb29XQsGg9ra2pp2dnaGyclJTJdKJQRBAAA0Go0Ih8Po7+/HxMQEEokEtra2kM1msby8jFQqhUQiAbfbjdraWoyMjODt7Q2Dg4MAgHg8jitJklQAGB0dVaampnB+fq4CAMvlsry/v4+JiQn5v4TDYXlvb0+OZDLy6empfHZ2JudyObmzs/NXLpfLy9vb27i+vkZtbS0ymQyurq6Qy+Xw8fGBmZkZTExMIBKJYGFhAYFAAA6HA4FAAA6H48ftdsNqtSIQCGBiYgI2mw0ulwterxf9/f2456UFgGg0im5JkjQAaGhoAKUU4XAYPT09JRcWFjA1NfVdX/Da2hpmZmYQi8UQiUSgKAoURcH+/j7m5+exvLyMu7s7dxhKOzk50avVKj4/P2EymcrLysrq+vv7HwQYAJ3JBjvIE7roAAAAAElFTkSuQmCC');
  background-repeat: repeat;
  line-height: 1.8;
}

/* ============================================================
 *  全局容器 - 页面主框架
 *  说明: 最外层表格, 宽度固定居中
 * ============================================================ */
#container {
  width: 820px;
  margin: 20px auto;
  background-color: #f0f5ff;
  border: 3px solid #4466aa;
  border-radius: 0;
  box-shadow: 8px 8px 0px #223366;
}

/* ============================================================
 *  顶部横幅 (Banner)
 * ============================================================ */
#banner {
  background: linear-gradient(180deg, #223366 0%, #3355aa 50%, #4466cc 100%);
  border-bottom: 3px solid #ffcc00;
  text-align: center;
  padding: 20px 0 15px 0;
  color: #ffffff;
  text-shadow: 3px 3px 0px #112244;
}

#banner h1 {
  font-family: "Times New Roman", "SimSun", serif;
  font-size: 42px;
  letter-spacing: 6px;
  color: #ffdd66;
  margin-bottom: 5px;
}

#banner .subtitle {
  font-size: 16px;
  color: #aaccff;
  letter-spacing: 3px;
}

#banner .subtitle span {
  color: #ff9933;
  font-weight: bold;
}

/* ---------- 跑马灯 (Marquee) ---------- */
#marquee-bar {
  background: linear-gradient(90deg, #ffcc00, #ff6600, #ffcc00);
  border-bottom: 2px solid #cc5500;
  padding: 4px 0;
  font-size: 13px;
  color: #331100;
  font-weight: bold;
}

#marquee-bar marquee {
  display: block;
}

/* ============================================================
 *  导航栏 - 表格方式布局
 *  说明: 如需增删导航项, 修改此处的 <td>
 * ============================================================ */
#nav {
  width: 100%;
  background: linear-gradient(90deg, #2a4a7a, #3a6aaa, #2a4a7a);
  border-bottom: 2px solid #ffcc00;
}

#nav td {
  text-align: center;
  padding: 8px 0;
  border-right: 1px solid #1a3a6a;
}

#nav td:last-child {
  border-right: none;
}

#nav a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  padding: 4px 12px;
  font-family: "SimHei", "微软雅黑", sans-serif;
}

#nav a:hover {
  color: #ffdd66;
  background-color: #1a3a6a;
  text-decoration: underline;
}

/* ---------- 导航栏 "当前页" 高亮 ---------- */
#nav a.active {
  color: #ffcc00;
  background-color: #1a2a4a;
}

/* ============================================================
 *  主体内容 - 经典三栏/两栏表格布局
 *  说明: 左右边栏 + 中间主内容区
 * ============================================================ */
#main-content {
  width: 100%;
  background-color: #e8eef8;
}

/* ---------- 左边栏 ---------- */
#sidebar-left {
  width: 180px;
  background-color: #dce6f5;
  vertical-align: top;
  padding: 10px;
  border-right: 2px solid #b0c4de;
}

/* ---------- 中间主内容 ---------- */
#content-center {
  vertical-align: top;
  padding: 15px;
  background-color: #ffffff;
}

/* ---------- 右边栏 ---------- */
#sidebar-right {
  width: 160px;
  background-color: #dce6f5;
  vertical-align: top;
  padding: 10px;
  border-left: 2px solid #b0c4de;
}

/* ============================================================
 *  边栏盒子 (Sidebar Box)
 *  说明: 通用边栏模块, 复制 .sidebar-box 即可新增
 * ============================================================ */
.sidebar-box {
  background: linear-gradient(180deg, #f8fbff, #e0ecff);
  border: 2px solid #99bbee;
  margin-bottom: 12px;
  font-size: 12px;
}

.sidebar-box .box-title {
  background: linear-gradient(90deg, #3355aa, #5577cc);
  color: #ffffff;
  font-weight: bold;
  font-size: 13px;
  text-align: center;
  padding: 4px 6px;
  border-bottom: 2px solid #ffcc00;
  font-family: "SimHei", sans-serif;
}

.sidebar-box .box-content {
  padding: 8px;
  color: #334466;
}

.sidebar-box .box-content ul {
  list-style: none;
  padding-left: 4px;
}

.sidebar-box .box-content li {
  padding: 3px 0;
  border-bottom: 1px dashed #c0d0e8;
}

.sidebar-box .box-content li:last-child {
  border-bottom: none;
}

.sidebar-box .box-content a {
  color: #2255aa;
  text-decoration: none;
}

.sidebar-box .box-content a:hover {
  color: #ff6600;
  text-decoration: underline;
}

/* ============================================================
 *  内容盒子 (Content Box)
 *  说明: 用于主内容区的模块化区块
 * ============================================================ */
.content-box {
  border: 2px solid #99bbee;
  margin-bottom: 15px;
  background-color: #fafcff;
}

.content-box .box-header {
  background: linear-gradient(90deg, #eeeeee, #dddddd);
  padding: 6px 12px;
  border-bottom: 2px solid #99bbee;
  font-weight: bold;
  font-size: 16px;
  color: #223366;
  font-family: "SimHei", sans-serif;
}

.content-box .box-header .more-link {
  float: right;
  font-size: 12px;
  font-weight: normal;
}

.content-box .box-body {
  padding: 12px;
  line-height: 2;
}

/* ============================================================
 *  页面底部 (Footer)
 * ============================================================ */
#footer {
  background: linear-gradient(180deg, #223366, #112244);
  border-top: 3px solid #ffcc00;
  color: #8899bb;
  text-align: center;
  padding: 15px 10px;
  font-size: 12px;
}

#footer a {
  color: #ffcc66;
  text-decoration: none;
}

#footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

#footer .footer-counter {
  margin: 8px 0;
  font-size: 14px;
  color: #ffdd88;
}

/* ============================================================
 *  装饰性分割线
 * ============================================================ */
.divider {
  text-align: center;
  padding: 8px 0;
  color: #99aacc;
  font-size: 16px;
  letter-spacing: 6px;
}

.divider-dashed {
  border: none;
  border-top: 2px dashed #b0c4de;
  margin: 10px 0;
}

/* ============================================================
 *  友情链接 / 网站徽章
 * ============================================================ */
.badge {
  display: inline-block;
  margin: 3px;
  padding: 3px 8px;
  border: 1px solid #4466aa;
  background: #dde8ff;
  color: #224488;
  font-size: 11px;
  font-family: "Arial", sans-serif;
  text-decoration: none;
}

.badge:hover {
  background: #ffcc00;
  border-color: #cc6600;
  color: #331100;
}

/* ============================================================
 *  公式展示
 *  说明: 数学公式样式, 如需支持 LaTeX 可在此扩展
 * ============================================================ */
.formula {
  text-align: center;
  padding: 10px;
  margin: 8px 0;
  font-family: "Times New Roman", "SimSun", serif;
  font-size: 18px;
  color: #112244;
  background: #f8fbff;
  border: 1px dashed #6688bb;
}

.formula .frac {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
}

.formula .frac .num {
  display: block;
  border-bottom: 2px solid #333;
  padding: 0 6px 2px;
}

.formula .frac .den {
  display: block;
  padding: 2px 6px 0;
}

/* ============================================================
 *  公告板 / 最新消息
 * ============================================================ */
.news-item {
  padding: 6px 0;
  border-bottom: 1px dotted #c0d0e8;
}

.news-item .news-date {
  color: #888888;
  font-size: 12px;
  margin-right: 8px;
}

.news-item .news-tag {
  display: inline-block;
  background: #ff6600;
  color: #ffffff;
  font-size: 10px;
  padding: 1px 5px;
  margin-right: 6px;
  font-weight: bold;
}

/* ============================================================
 *  留言板样式
 * ============================================================ */
.guestbook-entry {
  border: 1px solid #c0d0e8;
  padding: 10px;
  margin-bottom: 10px;
  background: #f8fbff;
}

.guestbook-entry .entry-header {
  font-weight: bold;
  color: #3355aa;
  border-bottom: 1px solid #d0d8e8;
  padding-bottom: 4px;
  margin-bottom: 6px;
}

.guestbook-entry .entry-time {
  font-weight: normal;
  font-size: 12px;
  color: #888888;
  margin-left: 10px;
}

/* ============================================================
 *  工具类
 * ============================================================ */
.text-center { text-align: center; }
.text-right { text-align: right; }
.clearfix { clear: both; }
.hidden { display: none; }

/* ---------- "正在建设中" 动画 ---------- */
.under-construction {
  text-align: center;
  padding: 20px;
  font-size: 18px;
  color: #ff6600;
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ---------- 发光文字 ---------- */
.glow-text {
  color: #ffdd00;
  text-shadow: 0 0 10px #ff8800, 0 0 20px #ff4400;
}

/* ---------- 彩色的链接分类标签 ---------- */
.tag {
  display: inline-block;
  padding: 2px 8px;
  margin: 2px;
  font-size: 11px;
  font-weight: bold;
  border-radius: 0;
  color: #ffffff;
  text-decoration: none;
}

.tag-red { background: #cc3333; }
.tag-green { background: #339933; }
.tag-blue { background: #3366cc; }
.tag-orange { background: #ff6600; }
.tag-purple { background: #8844aa; }

/* ============================================================
 *  暗色模式
 *  说明: 在 <body> 上添加 data-theme="dark" 属性触发
 * ============================================================ */
body[data-theme="dark"] {
  background-color: #0d1117;
  background-image: none;
  color: #c9d1d9;
}

body[data-theme="dark"] #container {
  background-color: #161b22;
  border-color: #30363d;
  box-shadow: 8px 8px 0 #000000;
}

body[data-theme="dark"] #banner {
  background: linear-gradient(180deg, #0d1117 0%, #161b22 50%, #1c2333 100%);
  border-bottom-color: #58a6ff;
}

body[data-theme="dark"] #banner h1 {
  color: #58a6ff;
}

body[data-theme="dark"] #banner .subtitle {
  color: #8b949e;
}

body[data-theme="dark"] #marquee-bar {
  background: linear-gradient(90deg, #1f3a5f, #0d419d, #1f3a5f);
  border-bottom-color: #58a6ff;
  color: #c9d1d9;
}

body[data-theme="dark"] #nav {
  background: linear-gradient(90deg, #0d1117, #1c2333, #0d1117);
  border-bottom-color: #58a6ff;
}

body[data-theme="dark"] #nav td {
  border-right-color: #21262d;
}

body[data-theme="dark"] #nav a {
  color: #c9d1d9;
}

body[data-theme="dark"] #nav a:hover {
  color: #58a6ff;
  background-color: #0d1117;
}

body[data-theme="dark"] #nav a.active {
  color: #58a6ff;
  background-color: #0d1117;
}

body[data-theme="dark"] #main-content {
  background-color: #0d1117;
}

body[data-theme="dark"] #sidebar-left {
  background-color: #161b22;
  border-right-color: #21262d;
}

body[data-theme="dark"] #sidebar-right {
  background-color: #161b22;
  border-left-color: #21262d;
}

body[data-theme="dark"] #content-center {
  background-color: #0d1117;
}

body[data-theme="dark"] .sidebar-box {
  background: linear-gradient(180deg, #1c2333, #161b22);
  border-color: #30363d;
}

body[data-theme="dark"] .sidebar-box .box-title {
  background: linear-gradient(90deg, #1f3a5f, #0d419d);
  border-bottom-color: #58a6ff;
  color: #c9d1d9;
}

body[data-theme="dark"] .sidebar-box .box-content {
  color: #8b949e;
}

body[data-theme="dark"] .sidebar-box .box-content li {
  border-bottom-color: #21262d;
}

body[data-theme="dark"] .sidebar-box .box-content a {
  color: #58a6ff;
}

body[data-theme="dark"] .content-box {
  border-color: #30363d;
  background-color: #161b22;
}

body[data-theme="dark"] .content-box .box-header {
  background: linear-gradient(90deg, #1c2333, #161b22);
  border-bottom-color: #30363d;
  color: #c9d1d9;
}

body[data-theme="dark"] .content-box .box-body {
  color: #c9d1d9;
}

body[data-theme="dark"] .formula {
  background: #1c2333;
  border-color: #30363d;
  color: #c9d1d9;
}

body[data-theme="dark"] .formula .frac .num {
  border-bottom-color: #8b949e;
}

body[data-theme="dark"] .news-item {
  border-bottom-color: #21262d;
}

body[data-theme="dark"] .news-item .news-date {
  color: #8b949e;
}

body[data-theme="dark"] .guestbook-entry {
  border-color: #30363d;
  background: #1c2333;
}

body[data-theme="dark"] .guestbook-entry .entry-header {
  color: #58a6ff;
  border-bottom-color: #30363d;
}

body[data-theme="dark"] #footer {
  background: linear-gradient(180deg, #0d1117, #000000);
  border-top-color: #30363d;
  color: #8b949e;
}

body[data-theme="dark"] #footer a {
  color: #58a6ff;
}

body[data-theme="dark"] .puzzle-question {
  background: #1c2333;
  border-color: #30363d;
}

body[data-theme="dark"] .puzzle-answer {
  background: #0d2818;
  border-color: #238636;
}

body[data-theme="dark"] .badge {
  border-color: #30363d;
  background: #1c2333;
  color: #8b949e;
}

body[data-theme="dark"] table[border="1"] {
  border-color: #30363d;
}

body[data-theme="dark"] td[style*="background:#d0ddf0"],
body[data-theme="dark"] tr[style*="background:#d0ddf0"],
body[data-theme="dark"] th {
  background: #1c2333 !important;
  color: #c9d1d9;
}

body[data-theme="dark"] td[style*="background:#f0f4ff"],
body[data-theme="dark"] tr[style*="background:#f0f4ff"] {
  background: #161b22 !important;
}

body[data-theme="dark"] .divider-dashed {
  border-top-color: #30363d;
}

body[data-theme="dark"] .divider {
  color: #30363d;
}

body[data-theme="dark"] .article-content {
  color: #c9d1d9;
}

body[data-theme="dark"] .article-content code {
  background: #1c2333;
  color: #c9d1d9;
}

body[data-theme="dark"] .article-content pre {
  background: #1c2333;
  border-color: #30363d;
}

body[data-theme="dark"] .article-content blockquote {
  border-left-color: #30363d;
  color: #8b949e;
}

body[data-theme="dark"] .preview-box {
  background: #161b22;
  border-color: #30363d;
}

body[data-theme="dark"] .preview-box code {
  background: #1c2333;
}

body[data-theme="dark"] .preview-box pre {
  background: #1c2333;
  border-color: #30363d;
}
