
:root { --bg:#0d0d0d; --bg-card:#1a1a1a; --bg-card2:#222; --text:#d4c5a9; --text-dim:#8a7a6a; --gold:#b8944b; --gold-bright:#d4a84b; --gold-dim:#6a582a; --border:#2a2a2a; --red:#c0392b; --green:#27ae60; --blue:#2980b9; --font-serif:Georgia,"Times New Roman",serif; --radius-sm:6px; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:var(--font-serif); min-height:100vh; }
header { background:linear-gradient(180deg,#1a1410 0%,#0d0d0d 100%); border-bottom:1px solid var(--border); padding:12px 24px; display:flex; align-items:center; justify-content:space-between; }
header h1 { font-size:1.1rem; letter-spacing:0.1em; color:var(--gold); }
header a { color:var(--gold-dim); text-decoration:none; font-size:0.75rem; }
header a:hover { color:var(--gold); }
.tabs { display:flex; gap:8px; padding:20px 20px 0; max-width:960px; margin:0 auto; flex-wrap:wrap; }
.tab-btn { padding:8px 18px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-dim); cursor:pointer; font-family:var(--font-serif); font-size:0.8rem; }
.tab-btn:hover { border-color:var(--gold-dim); color:var(--gold); }
.tab-btn.active { background:var(--gold-dim); color:var(--bg); border-color:var(--gold-bright); }
.content { max-width:960px; margin:0 auto; padding:20px; }
.card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-sm); padding:20px; margin-bottom:16px; }
.card h3 { color:var(--gold); font-size:0.95rem; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.card p { font-size:0.8rem; line-height:1.7; margin-bottom:8px; }
.card .label { color:var(--gold-dim); font-size:0.7rem; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.info-grid.col3 { grid-template-columns:1fr 1fr 1fr; }
.info-item { background:var(--bg-card2); padding:12px; border-radius:var(--radius-sm); }
.info-item .key { font-size:0.65rem; color:var(--text-dim); }
.info-item .val { font-size:0.85rem; color:var(--gold); margin-top:2px; }
.badge { display:inline-block; padding:2px 8px; border-radius:3px; font-size:0.65rem; margin:2px; }
.badge-gold { background:var(--gold-dim); color:var(--bg); }
.badge-red { background:var(--red); color:white; }
.badge-blue { background:var(--blue); color:white; }
.badge-green { background:var(--green); color:white; }
table { width:100%; border-collapse:collapse; font-size:0.75rem; }
th,td { padding:8px 12px; text-align:left; border-bottom:1px solid var(--border); }
th { color:var(--gold-dim); font-size:0.7rem; }
td { color:var(--text); }
.timeline { position:relative; padding-left:30px; }
.timeline::before { content:''; position:absolute; left:12px; top:0; bottom:0; width:2px; background:var(--gold-dim); }
.timeline-item { position:relative; margin-bottom:24px; }
.timeline-item::before { content:''; position:absolute; left:-24px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--gold); border:2px solid var(--bg-card); }
.timeline-item .tl-year { font-size:0.75rem; color:var(--gold); font-weight:bold; margin-bottom:4px; }
.timeline-item .tl-body { font-size:0.78rem; line-height:1.6; color:var(--text); }
.timeline-item .tl-note { font-size:0.68rem; color:var(--text-dim); margin-top:2px; }
.hall-card { display:flex; gap:16px; align-items:flex-start; }
.hall-avatar { width:60px; height:60px; border-radius:50%; background:var(--bg-card2); border:2px solid var(--gold-dim); display:flex; align-items:center; justify-content:center; font-size:1.8rem; flex-shrink:0; }
.hall-info h4 { color:var(--gold); font-size:0.9rem; margin-bottom:2px; }
.hall-info .hl-title { font-size:0.7rem; color:var(--gold-dim); margin-bottom:6px; }
.hall-info .hl-desc { font-size:0.75rem; line-height:1.6; }
h3 .sub { font-size:0.65rem; color:var(--text-dim); font-weight:normal; }
.footnote { text-align:center; padding:30px 0 10px; font-size:0.65rem; color:var(--text-dim); }
@media(max-width:600px){ .info-grid { grid-template-columns:1fr; } .info-grid.col3 { grid-template-columns:1fr 1fr; } }


/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
  :root {
    font-size: 14px;
  }
  body {
    font-size: 0.9rem;
  }
  h1 { font-size: 1.4rem !important; }
  h2 { font-size: 1.15rem !important; }
  h3 { font-size: 1rem !important; }
  button, .btn-primary, .btn-secondary {
    font-size: 0.85rem !important;
    padding: 10px 16px !important;
  }
  input, select, textarea {
    font-size: 0.85rem !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* 隐藏桌面端大型装饰 */
  .crt-scanlines, .crt-flicker-overlay {
    opacity: 0.3 !important;
  }
}

@media (max-width: 768px) {
  .container, .page-container, .main-container, .content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding: 16px 10px !important;
    box-sizing: border-box;
    margin: 0 !important;
  }
  .panel, .card, .box, .section {
    padding: 14px 10px !important;
    margin: 8px 0 !important;
  }
  table, .table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.75rem !important;
  }
  th, td {
    padding: 6px 8px !important;
    white-space: nowrap;
  }
  .grid-2, .grid-3, .grid-4 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .flex-row {
    flex-direction: column !important;
    gap: 8px !important;
  }
}

