:root{
  --bg:#f0fdf4;--card:#fff;--line:#dcfce7;--line-strong:#bbf7d0;
  --green-900:#14532d;--green-800:#166534;--green-700:#15803d;--green-600:#16a34a;
  --green-500:#22c55e;--muted:#4b7a5a;--muted-2:#6b8f7b;
  --shadow:0 10px 30px rgba(22,101,52,.08);--radius:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--green-900);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.7;font-size:15px;}
a{color:var(--green-700);text-decoration:none}
a:hover{color:var(--green-900)}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}
/* 顶栏 */
.topbar{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(8px)}
.topbar-inner{display:flex;align-items:center;gap:18px;min-height:58px}
.brand{font-weight:800;font-size:19px;color:var(--green-800);letter-spacing:.5px;white-space:nowrap}
.brand span{color:var(--green-500);font-weight:600;margin-left:2px}
.nav{display:flex;gap:16px;flex:1;font-size:14px;overflow:auto}
.nav a{color:var(--muted);white-space:nowrap}
.nav a:hover,.nav a.cur{color:var(--green-700)}
/* 页头 */
.page-head{margin:20px 0 14px}
.page-head h1{margin:0;font-size:clamp(20px,4.5vw,27px);color:var(--green-800)}
.page-head .sub{margin:6px 0 0;color:var(--muted);font-size:13.5px}
.crumbs{font-size:12.5px;color:var(--muted-2);margin:14px 0 0}
.crumbs a{color:var(--muted-2)}
.crumbs a:hover{color:var(--green-700)}
/* 工具条：搜索 + 日期选择 */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}
.search-form{display:flex;flex:1;min-width:220px;gap:0}
.search-form input{flex:1;border:1px solid var(--line-strong);border-right:none;border-radius:999px 0 0 999px;
  padding:10px 16px;font-size:14px;font-family:inherit;background:#fff;color:var(--green-900);outline:none}
.search-form input:focus{border-color:var(--green-500)}
.search-form button{border:1px solid var(--green-600);background:var(--green-600);color:#fff;border-radius:0 999px 999px 0;
  padding:0 22px;font-size:14px;font-family:inherit;cursor:pointer}
.search-form button:hover{background:var(--green-700)}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:#fff;color:var(--green-700);
  border-radius:999px;padding:9px 18px;font-size:14px;font-family:inherit;cursor:pointer;white-space:nowrap}
.btn:hover{background:#ecfdf3;border-color:var(--green-500)}
.btn.primary{background:var(--green-600);border-color:var(--green-600);color:#fff}
.btn.primary:hover{background:var(--green-700)}
.day-nav{display:flex;gap:8px}
/* 两栏布局 */
.layout{display:grid;grid-template-columns:1fr 310px;gap:18px;align-items:start}
.col-main{min-width:0}
.col-side{position:sticky;top:74px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:16px 18px 18px;margin-bottom:18px}
.panel>h2{margin:0 0 13px;font-size:17px;color:var(--green-800);display:flex;align-items:center;gap:8px}
.panel>h2::before{content:"";width:6px;height:17px;border-radius:3px;background:linear-gradient(180deg,#86efac,#22c55e)}
.panel>h2 .cnt{font-size:12px;color:var(--muted-2);font-weight:400;margin-left:auto}
/* 日期大标题 */
.day-hero{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);
  padding:20px 20px 18px;margin-bottom:18px}
.day-hero .big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.day-hero .md{font-size:clamp(26px,7vw,40px);font-weight:800;color:var(--green-700);line-height:1.1}
.day-hero .wk{font-size:14px;color:var(--muted)}
.day-hero .tip{margin:8px 0 0;font-size:13.5px;color:var(--muted)}
.day-hero .ops{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
/* 事件列表 */
.ev-list{list-style:none;margin:0;padding:0}
.ev-item{display:flex;gap:12px;padding:11px 4px;border-bottom:1px dashed var(--line-strong);align-items:baseline}
.ev-item:last-child{border-bottom:none}
.ev-year{flex:none;min-width:74px;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;color:var(--green-600);font-size:14px}
.ev-year.bce{color:#b45309}
.ev-item .t{min-width:0}
.ev-item .t a{color:#23402e;font-size:15px}
.ev-item .t a:hover{color:var(--green-700)}
.ev-item .t a:hover .t{text-decoration:underline}
/* 侧栏推荐 */
.side-list{list-style:none;margin:0;padding:0}
.side-item{padding:9px 2px;border-bottom:1px dashed var(--line-strong)}
.side-item:last-child{border-bottom:none}
.side-item .d{font-size:12px;color:var(--muted-2);font-variant-numeric:tabular-nums;display:block}
.side-item a{font-size:13.5px;color:#2c4a38;line-height:1.5;display:block}
.side-item a:hover{color:var(--green-700)}
.side-more{display:block;margin-top:12px;text-align:center;font-size:13px;color:var(--green-600)}
/* 详情 */
.detail-card .d-year{display:inline-block;font-weight:700;color:#fff;background:var(--green-600);border-radius:999px;
  padding:3px 14px;font-size:13.5px;font-variant-numeric:tabular-nums;margin-bottom:12px}
.detail-card .d-year.bce{background:#b45309}
.detail-card h1.d-title{margin:0 0 8px;font-size:clamp(20px,5vw,26px);line-height:1.4;color:var(--green-800)}
.detail-card .d-meta{font-size:13px;color:var(--muted)}
.detail-card .d-body{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-strong);
  color:#2c4a38;font-size:15px;line-height:1.95}
/* 内链 chip 网格 */
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.link-chip{display:block;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fbfefc;transition:all .15s;min-width:0}
.link-chip span{display:block;font-size:13.5px;font-weight:600;color:var(--green-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-chip em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.link-chip:hover{border-color:var(--line-strong);background:#f0fdf4;transform:translateY(-1px)}
/* 月份快选（首页） */
.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:4px}
.month-grid a{display:block;text-align:center;border:1px solid var(--line);border-radius:10px;padding:9px 0;
  font-size:14px;color:var(--green-700);background:#fbfefc}
.month-grid a:hover{background:#f0fdf4;border-color:var(--green-500)}
@media (max-width:560px){.month-grid{grid-template-columns:repeat(4,1fr)}}
/* 弹窗：日期选择 */
.modal-mask{position:fixed;inset:0;background:rgba(20,83,45,.42);display:none;align-items:center;justify-content:center;
  z-index:60;padding:18px}
.modal-mask.show{display:flex}
.modal{background:#fff;border-radius:18px;width:100%;max-width:380px;box-shadow:0 24px 60px rgba(0,0,0,.22);overflow:hidden}
.modal-h{padding:15px 18px;font-size:16px;font-weight:700;color:var(--green-800);border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center}
.modal-h .x{cursor:pointer;color:var(--muted-2);font-size:22px;line-height:1;border:none;background:none}
.modal-b{padding:18px}
.modal-b .row{display:flex;gap:10px;margin-bottom:14px}
.modal-b select{flex:1;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;
  background:#fff;color:var(--green-900)}
.modal-b .quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.modal-b .ok{width:100%;margin-top:6px}
/* 返回顶部 */
.back-top{position:fixed;right:18px;bottom:26px;width:46px;height:46px;border-radius:50%;
  background:var(--green-600);color:#fff;border:none;cursor:pointer;font-size:20px;line-height:46px;
  text-align:center;box-shadow:0 6px 18px rgba(22,163,74,.4);opacity:0;visibility:hidden;
  transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s;z-index:40}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{background:var(--green-700)}
@media (max-width:640px){.back-top{right:14px;bottom:20px;width:42px;height:42px;line-height:42px}}
/* 页脚 */
.foot{border-top:1px solid var(--line);margin-top:24px;padding:20px 0 30px;text-align:center;font-size:12px;color:#9ab8a7}
.foot .fl{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:8px}
.foot .fl a{color:var(--muted-2)}
/* 响应式 */
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .col-side{position:static}
}
