/* 灯下电台 — site stylesheet
 * Aesthetic target: 2000s amateur Chinese small-business site.
 * Keep it ugly-on-purpose. Don't modernize. Don't add transitions.
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&display=swap');

html, body {
  margin: 0;
  padding: 0;
  background: #f7f1e3;
  color: #222;
  font-family: SimSun, "宋体", "Noto Serif SC", serif;
  font-size: 14px;
  line-height: 1.55;
}

a {
  color: #1a3eaf;
  text-decoration: underline;
}
a:visited { color: #6b1a8a; }
a:hover { color: #c2185b; background: #fff8c4; }

.wrap {
  max-width: 800px;
  margin: 0 auto;
  background: #fffdf6;
  border: 1px solid #c8b48a;
  padding: 0;
}

/* Header */
.site-header {
  background: #7a1c1c;
  color: #fff8e1;
  padding: 12px 16px 8px;
  border-bottom: 3px double #c8b48a;
}
.site-header h1 {
  margin: 0;
  font-size: 26px;
  letter-spacing: 2px;
  font-weight: 700;
}
.site-header .tagline {
  font-size: 12px;
  color: #f0d9a8;
  margin-top: 2px;
}
.site-header .meta {
  font-size: 11px;
  color: #f0d9a8;
  margin-top: 4px;
}

/* Nav bar */
.nav {
  background: #efe1c0;
  border-bottom: 1px solid #c8b48a;
  padding: 4px 8px;
  font-size: 13px;
}
.nav a {
  margin-right: 6px;
  padding: 2px 4px;
}
.nav .sep { color: #999; margin-right: 6px; }

/* Body content */
.content {
  padding: 14px 18px 24px;
  min-height: 320px;
}

h2 {
  color: #7a1c1c;
  border-bottom: 1px solid #c8b48a;
  padding-bottom: 3px;
  font-size: 18px;
  margin-top: 22px;
}
h3 {
  color: #5a1313;
  font-size: 15px;
  margin-top: 16px;
}

/* Two-column layout */
.cols {
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.col-main {
  display: table-cell;
  vertical-align: top;
  padding-right: 14px;
}
.col-side {
  display: table-cell;
  vertical-align: top;
  width: 200px;
  border-left: 1px dashed #c8b48a;
  padding-left: 12px;
  font-size: 12px;
  color: #555;
}

/* Inline thumbnails — keep them small + awkward */
.thumb {
  border: 2px ridge #c8b48a;
  padding: 2px;
  background: #fff;
  margin: 4px;
}
.thumb-left  { float: left;  margin-right: 10px; }
.thumb-right { float: right; margin-left: 10px; }

/* Retro "new" / "recommended" badges (CSS only, no GIFs) */
.badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 4px;
  margin: 0 3px;
  vertical-align: middle;
  border: 1px solid;
  font-family: Verdana, sans-serif;
}
.badge-new {
  color: #fff;
  background: #d72631;
  border-color: #7a1c1c;
  /* poor man's blink */
  animation: blink 1.2s step-end infinite;
}
.badge-rec {
  color: #fff;
  background: #1a8c3b;
  border-color: #0c5020;
}
.badge-hot {
  color: #fff200;
  background: #7a1c1c;
  border-color: #fff200;
}
@keyframes blink {
  50% { opacity: 0.35; }
}

/* Tables — used for inventory, faux-spreadsheet vibe */
table.data {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
  margin: 10px 0;
}
table.data th, table.data td {
  border: 1px solid #c8b48a;
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
}
table.data th {
  background: #efe1c0;
  color: #5a1313;
}
table.data tr:nth-child(even) td { background: #fbf6e6; }

/* Forms */
input[type="text"], input[type="search"], textarea {
  font-family: SimSun, "宋体", serif;
  font-size: 13px;
  background: #fffdf6;
  border: 1px inset #b8a06a;
  padding: 3px 5px;
}
button, input[type="submit"] {
  font-family: SimSun, "宋体", serif;
  font-size: 12px;
  background: #efe1c0;
  border: 1px outset #b8a06a;
  padding: 2px 8px;
  cursor: pointer;
}
button:active, input[type="submit"]:active {
  border-style: inset;
}

/* Footer */
.footer {
  border-top: 3px double #c8b48a;
  background: #efe1c0;
  padding: 10px 16px;
  font-size: 11px;
  color: #555;
  text-align: center;
}
.footer .counter {
  display: inline-block;
  margin-top: 6px;
  background: #000;
  color: #00ff66;
  font-family: "Courier New", monospace;
  padding: 2px 6px;
  letter-spacing: 2px;
  border: 1px solid #555;
}
.footer .lie-stamp {
  color: #888;
  font-size: 10px;
}

/* Blog */
.post {
  border-bottom: 1px dashed #c8b48a;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.post .date {
  color: #888;
  font-size: 11px;
}

/* Testimonial blocks */
.testimonial {
  background: #fbf6e6;
  border: 1px solid #c8b48a;
  padding: 8px 10px;
  margin: 10px 0;
  font-size: 13px;
}
.testimonial .who {
  display: block;
  font-size: 11px;
  color: #555;
  margin-top: 4px;
  text-align: right;
}

/* Audio gallery */
.audio-item {
  border: 1px solid #c8b48a;
  background: #fbf6e6;
  padding: 8px 10px;
  margin: 8px 0;
}
.audio-item .controls {
  margin-top: 6px;
  font-size: 11px;
  color: #555;
}
.audio-item .controls label { margin-right: 8px; }

/* Marquee fallback (CSS-only horizontal scroll banner) */
.marquee {
  overflow: hidden;
  background: #fff8c4;
  border: 1px solid #c8b48a;
  color: #7a1c1c;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 0;
  margin: 8px 0;
}
.marquee span {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  animation: marquee 18s linear infinite;
}
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* Search box on inventory */
.search-box {
  background: #efe1c0;
  border: 1px solid #c8b48a;
  padding: 8px 10px;
  margin: 8px 0 14px;
}
.search-result {
  margin-top: 8px;
  font-size: 13px;
  color: #5a1313;
  min-height: 1.4em;
}

/* 404 + hidden pages */
.error-page {
  text-align: center;
  padding: 40px 20px;
}
.error-page h2 {
  color: #7a1c1c;
  border: none;
  font-size: 32px;
}

/* Utility */
.clear { clear: both; }
.small { font-size: 11px; color: #666; }
.center { text-align: center; }
hr.fancy {
  border: none;
  border-top: 1px solid #c8b48a;
  border-bottom: 1px solid #efe1c0;
  height: 0;
  margin: 14px 0;
}
