* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #0d1117;
  color: #e6edf3;
  line-height: 1.8;
  max-width: 860px;
  margin: 0 auto;
  padding: 20px;
}
.header {
  text-align: center;
  padding: 30px 0;
  border-bottom: 1px solid #30363d;
  margin-bottom: 30px;
}
.header h1 { font-size: 24px; color: #58a6ff; }
.header .subtitle { color: #8b949e; font-size: 14px; margin-top: 5px; }
.report-list { list-style: none; }
.report-list li {
  padding: 15px;
  margin: 8px 0;
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 8px;
  transition: all 0.2s;
}
.report-list li:hover { border-color: #58a6ff; background: #1c2128; }
.report-list a {
  color: #e6edf3;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.report-list .date { color: #58a6ff; font-weight: bold; }
.report-list .tag {
  font-size: 12px; color: #8b949e;
  background: #21262d; padding: 2px 8px; border-radius: 4px;
}
.report-content { padding: 20px 0; }
.report-content h2 { color: #58a6ff; font-size: 20px; margin: 25px 0 10px; padding-bottom: 8px; border-bottom: 1px solid #21262d; }
.report-content h3 { color: #f0883e; font-size: 16px; margin: 20px 0 8px; }
.report-content table { width: 100%; border-collapse: collapse; margin: 15px 0; }
.report-content th, .report-content td { padding: 8px 12px; border: 1px solid #30363d; text-align: left; }
.report-content th { background: #161b22; color: #8b949e; font-weight: normal; }
.report-content .stock-card { background: #161b22; border: 1px solid #30363d; border-radius: 8px; padding: 20px; margin: 15px 0; }
.report-content .stock-card h4 { color: #f0883e; font-size: 18px; margin-bottom: 10px; }
.report-content .stock-card .label { color: #8b949e; font-size: 12px; display: block; margin-top: 10px; }
.report-content .risk-box { background: #2d1f00; border: 1px solid #d29922; border-radius: 8px; padding: 15px; margin: 15px 0; }
.footer { text-align: center; color: #484f58; font-size: 12px; padding: 30px 0; border-top: 1px solid #21262d; margin-top: 40px; }

.search-box {
  margin-top: 20px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.search-box input {
  width: 100%;
  padding: 10px 16px;
  border: 1px solid #30363d;
  border-radius: 8px;
  background: #161b22;
  color: #e6edf3;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.search-box input:focus {
  border-color: #58a6ff;
}
.search-box input::placeholder {
  color: #484f58;
}
.no-result {
  text-align: center;
  padding: 40px;
  color: #8b949e;
  font-size: 14px;
}
