*{box-sizing:border-box}
body{margin:0;background:#f7f2e9;color:#3b2b1f;font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.75}
.wrap{max-width:1120px;margin:auto;padding:0 14px}
.top{background:#8d1f17;border-bottom:4px solid #d9b56f;color:#fff}
.mast{display:flex;align-items:center;gap:18px;min-height:68px}
.brand{font-size:26px;font-weight:700;color:#ffe7a8;text-decoration:none;white-space:nowrap}
nav{display:flex;gap:3px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:3px}
nav a:hover{background:rgba(255,255,255,.14)}
.hero{background:#fff8e8;border:1px solid #e5cf9c;margin:18px 0;padding:26px;text-align:center}
.hero h1{margin:0 0 8px;font-size:34px;color:#8d1f17}
.hero.small{text-align:left}
.clock{display:inline-flex;gap:16px;align-items:center;background:#8d1f17;color:#fff;padding:8px 16px;margin-top:12px}
.clock strong{font-size:24px}
.breadcrumb{font-size:14px;margin:12px 0;color:#7a6a55}
.breadcrumb a{color:#8d1f17}
.calendar-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:14px}
.card{background:#fff;border:1px solid #e2cfaa;margin-bottom:14px;padding:18px}
.card h2,.card h3{margin:0 0 10px;color:#8d1f17}
.card ul{margin:0;padding-left:20px}
.good h2{color:#b40000}
.bad h2{color:#222}
.circle-word{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:3px solid currentColor;border-radius:50%;font-size:30px;font-weight:800;line-height:1;background:#fffdf8}
.date-card{background:#fff;border:3px solid #b33b28;text-align:center;padding:24px}
.big-day{font-size:90px;line-height:1;color:#b40000;font-weight:800}
.date-card h1{font-size:24px;margin:12px 0;color:#8d1f17}
.muted{color:#7b705f}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.day-strip{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 14px}
.day-strip a{background:#fff;border:1px solid #dfc895;padding:7px 11px;color:#7a2a1c;text-decoration:none}
.day-strip a.on{background:#8d1f17;color:#fff}
table{width:100%;border-collapse:collapse;background:#fff}
th{background:#8d1f17;color:#fff}
th,td{border:1px solid #e5d1a8;padding:9px;text-align:left}
.table-wrap{overflow:auto}
.article p{margin:8px 0}
.article h3{font-size:18px;border-left:4px solid #d9b56f;padding-left:10px}
.page-title h1{margin:0 0 8px;color:#8d1f17;font-size:28px}
.filter-panel{padding:12px 16px}
.filter-panel div{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.filter-panel strong{margin-right:4px;color:#8d1f17}
.filter-panel a,.month-links a{border:1px solid #d9bf84;background:#fff8e8;color:#8d1f17;padding:6px 10px;text-decoration:none}
.filter-panel a:hover,.month-links a:hover,.links a:hover{background:#8d1f17;color:#fff}
.month-links h2{font-size:20px}
.month-links div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.month-links a{display:block;text-align:center}
.search{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.search input,.search select{padding:9px;border:1px solid #d3bd8f}
.search button{background:#8d1f17;color:#fff;border:0;padding:10px 24px;cursor:pointer}
.links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.links h1,.links h2{width:100%}
.links a{border:1px solid #d9bf84;background:#fff8e8;color:#8d1f17;padding:8px 12px;text-decoration:none}
.links.dense a{padding:6px 9px}
.footer{color:#776b5c;text-align:center;padding:20px 14px 36px}
.footer a{color:#8d1f17}
@media(max-width:800px){
  .mast{display:block;padding:12px 14px}
  .brand{display:block;margin-bottom:8px}
  .calendar-grid,.cols{grid-template-columns:1fr}
  .hero h1{font-size:26px}
  .big-day{font-size:70px}
  .card{padding:14px}
  nav a{padding:6px 8px}
  .search{display:block}
  .search label,.search button{display:block;width:100%;margin:8px 0}
  .search input,.search select{width:100%}
  .month-links div{grid-template-columns:1fr 1fr}
  .page-title h1{font-size:24px}
}
