﻿:root{
  --max:960px;
  --bg:#EFE4D4;
  --ink:#2C2118;
  --ink-soft:#5C4A3A;
  --muted:#8A7460;
  --accent:#A66B2E;
  --accent-deep:#7A4A1E;
  --accent-soft:rgba(166,107,46,.14);
  --wood:#3A2A1C;
  --cream:#F7F0E4;
  --sand-warm:#E8D9C4;
  --sand:#EDE0CC;
  --paper:#FFFCFA;
  --gold:#C4924A;
  --gold-soft:#E8C98A;
  --zhu:#B84A2E;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--sand-warm)}
*::-webkit-scrollbar-thumb{background:rgba(122,74,30,.45);border-radius:6px;border:2px solid var(--sand-warm)}
*::-webkit-scrollbar-thumb:hover{background:rgba(122,74,30,.65)}
*{scrollbar-color:rgba(122,74,30,.45) var(--sand-warm)}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100dvh;color:var(--ink);background:var(--bg);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",sans-serif;
  font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
::selection{background:#E4D0B4;color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent-deep)}
.skip{
  position:absolute;left:12px;top:-40px;z-index:50;
  background:var(--wood);color:#F7F0E4;padding:8px 12px;border-radius:8px;
}
.skip:focus{top:12px}
.nav{position:relative;z-index:20;padding:14px 0;background:#3A2A1C;border-bottom:1px solid rgba(166,107,46,.4)}
.nav::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#C4924A,#E0B86A,#C4924A,transparent)}
.nav-inner,.top-inner,.wrap,
main#content > .panel,
main#content > footer{width:min(var(--max),calc(100% - 32px));margin-left:auto;margin-right:auto}
.nav-inner{display:flex;justify-content:space-between;align-items:stretch;position:relative;z-index:2}
.brand-title{display:flex;align-items:center;margin:0;min-width:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.brand-logo{display:flex;align-items:center;--brand-gap:18px;gap:var(--brand-gap);text-decoration:none;color:inherit;min-width:0}
.brand-logo-name{position:relative;display:inline-block;font-size:26px;font-weight:700;letter-spacing:.06em;color:#E0B86A;white-space:nowrap;line-height:1}
.brand-logo-sep{display:inline-block;width:1px;height:.9em;background:rgba(232,201,138,.55);transform:translateY(.07em);flex:none}
.brand-logo-tag{display:inline-flex;align-items:center;transform:translateY(.07em);font-size:16px;font-weight:400;letter-spacing:.1em;color:rgba(247,240,228,.58);white-space:nowrap;line-height:1}
.nav-toggle{display:none;align-self:center;width:28px;height:28px;padding:0;border:none;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:#E8C98A;border-radius:1px;transition:transform .2s,opacity .2s}
.nav.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-open .nav-toggle span:nth-child(2){opacity:0}
.nav.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-menu{display:flex;gap:34px;align-items:center;align-self:stretch}
.nav-menu>a:not(.nav-btn):not(.nav-plate-cta){position:relative;display:inline-flex;align-items:center;font-size:14px;color:rgba(247,240,228,.7);text-decoration:none;transition:color .2s}
.nav-menu>a:not(.nav-btn):not(.nav-plate-cta):hover{color:#E8C98A}
.nav-menu>a.is-active{color:#E8C98A;font-weight:600;align-self:stretch;padding-block:14px;margin-block:-14px}
.nav-menu>a.is-active::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:100%;height:2px;background:#C4924A}
.nav-btn{display:inline-flex;align-items:center;border:1px solid #C4924A;color:#E8C98A;background:rgba(166,107,46,.2);border-radius:999px;text-decoration:none;font-size:14px;padding:7px 16px;transition:.25s}
.nav-btn:hover{background:var(--accent);color:#fff}
.nav-btn:active{transform:scale(.98)}
.nav-plate-cta{display:none}
.top-query-slot{position:relative}
.top-query.panel-test{background:none;box-shadow:none;padding:20px 0 6px;border-radius:0}
.top-query.panel-test .query-row{display:flex;align-items:center;width:100%;background:#fff;border:1px solid #654423;border-radius:12px;padding:4px;overflow:visible}
.top-query.panel-test .query-type{position:relative;z-index:2;display:flex;flex:0 0 auto;align-self:stretch;margin:-4px 0 -4px -4px}
.top-query.panel-test .query-type-btn{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:none;border-right:1px solid rgba(196,146,74,.28);border-radius:11px 0 0 11px;background:var(--wood);color:#E8C98A;font:inherit;font-size:14px;font-weight:600;letter-spacing:.08em;cursor:pointer}
.top-query.panel-test .query-type-btn .caret{width:8px;height:8px;border-right:1.5px solid #E8C98A;border-bottom:1.5px solid #E8C98A;transform:rotate(45deg) translateY(-2px)}
.top-query.panel-test .query-type.open .query-type-btn .caret{transform:rotate(225deg) translateY(-1px)}
.top-query.panel-test .query-type-menu{display:none;position:absolute;left:0;top:calc(100% + 6px);min-width:100%;margin:0;padding:6px;list-style:none;flex-direction:column;gap:4px;border:1px solid rgba(196,146,74,.4);border-radius:12px;background:var(--wood);z-index:50}
.top-query.panel-test .query-type.open .query-type-menu{display:flex}
.top-query.panel-test .query-type.is-drop-up .query-type-menu{top:auto;bottom:calc(100% + 6px)}
.top-query.panel-test .query-type-menu li{padding:10px 12px;border-radius:8px;color:#F0E4D0;font-size:14px;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.top-query.panel-test .query-type-menu li:hover,.top-query.panel-test .query-type-menu li[aria-selected="true"]{background:rgba(166,107,46,.28);color:#E8C98A}
.top-query.panel-test .input-box{flex:1;min-width:0;height:38px;padding:0 14px;border:none;background:#fff;color:var(--ink);font:inherit;font-size:14px}
.top-query.panel-test .input-box:focus{outline:none}
.top-query.panel-test .query-btn{height:38px;margin:0 0 0 4px;padding:0 18px;border:none;border-radius:9px;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;cursor:pointer;white-space:nowrap}
.top-query.panel-test .query-btn:hover{background:var(--accent-deep)}
.crumb{position:relative;z-index:1;width:min(var(--max),calc(100% - 32px));margin:14px auto 0;font-size:13px;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--accent-deep)}
.crumb-current{color:var(--ink-soft)}
main{position:relative;z-index:1;padding:10px 0 48px}
/* 仅主内容卡；热门/最新用 _shared，勿套本站 .panel 内边距 */
article.wrap.panel{
  position:relative;background:var(--cream);border-radius:16px;
  border:1px solid rgba(166,107,46,.2);padding:28px 28px 32px;overflow:visible;
  box-shadow:0 12px 32px rgba(58,42,28,.09);
  animation:ls-rise .55s var(--ease) both;
}
/* 勿盖掉 _shared hotlinks/latest 的背景与阴影；仅去掉本站主卡动画/内边距继承 */
.panel-hotlinks,
.panel-latest{
  padding:0;animation:none;
}
/* 勿用 transform：会让 date-wheel 的 position:fixed 弹层相对面板错位并被裁切 */
@keyframes ls-rise{
  from{opacity:0}
  to{opacity:1}
}
/* 对齐 jieqi .se-article-title */
.article-title{
  margin:0 0 10px;padding:0;text-align:center;
  font-family:STKaiti,KaiTi,"Songti SC",SimSun,serif;
  font-size:clamp(28px,5vw,40px);font-weight:700;letter-spacing:.18em;line-height:1.2;
  color:var(--accent-deep);text-wrap:balance;
}
/* 对齐 jieqi .se-article-meta */
.article-meta{
  margin:0 0 18px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:4px 0;font-size:13px;color:var(--accent);letter-spacing:.02em;
}
.article-meta > span{white-space:nowrap}
.article-meta > span + span::before{
  content:"·";margin:0 8px;color:rgba(166,107,46,.45);
}
.article-meta a{color:var(--accent);text-decoration:none}
.article-meta a:hover{text-decoration:underline}
/* 查询区：宽度 720，底色保持首页同款 #E8D9C4 */
.query-box{
  margin:0 auto 18px;max-width:720px;padding:18px 18px 16px;
  border:1px solid rgba(166,107,46,.2);border-radius:14px;background:#E8D9C4;
  box-shadow:inset 0 1px 0 rgba(255,252,248,.45),0 8px 22px rgba(58,42,28,.05);
}
.select-row{
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;
}
.query-inline-label{
  flex:none;margin:0;padding:0;border:0;background:none;font:inherit;
  font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--accent-deep);
  white-space:nowrap;cursor:pointer;
}
.query-inline-label:hover{color:var(--accent)}
.select-row .date-wheel{flex:1 1 auto;min-width:0;max-width:420px}
.date-wheel-mode{display:none !important}
.date-wheel-cols{margin-top:14px}
.btn-query{
  flex:none;height:42px;padding:0 18px;border:none;border-radius:10px;
  background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:700;
  letter-spacing:.06em;cursor:pointer;white-space:nowrap;
  transition:background .2s,transform .2s var(--ease);
}
.btn-query:hover{background:var(--accent-deep)}
.btn-query:active{transform:translateY(1px)}
/* 对齐 jieqi .se-article-body：透底全宽、无嵌套卡片 */
.article-body{
  margin:0;padding:0;width:100%;max-width:none;
  border:none;border-radius:0;background:transparent;box-shadow:none;
  font-size:15px;line-height:1.9;color:var(--accent-deep);
}
.article-body p{
  margin:0 0 14px;text-indent:0;text-wrap:pretty;
  text-align:justify;text-align-last:left;color:var(--accent-deep);
}
.article-body p.lead{font-weight:500}
.article-body p:last-child{margin-bottom:0}
.article-body h3{
  margin:22px 0 10px;padding:0;text-indent:0;text-align:left;
  font-family:inherit;font-size:16px;font-weight:700;
  letter-spacing:.04em;line-height:1.5;color:var(--accent);
  background:none;border:none;border-radius:0;box-shadow:none;
}
.article-body .sign{
  margin:18px 0 0;text-align:right;text-indent:0;
  color:var(--ink-soft);font-size:14px;line-height:1.75;
}
/* 对齐 jieqi .se-source */
.copyright-tip{
  margin:22px 0 0;padding:14px 16px;border-radius:10px;
  border:1px solid rgba(166,107,46,.22);background:var(--accent-soft);
  color:var(--accent-deep);font-size:13px;line-height:1.75;
}
.block{margin-top:36px}
/* 查询后锚点：标题贴近视口顶（移动端 fixed 导航另加） */
#sibling-title,
.ls-div:has(#sibling-title){scroll-margin-top:10px}
@media (max-width:860px){
  #sibling-title,
  .ls-div:has(#sibling-title){scroll-margin-top:calc(var(--nav-bottom,56px) + 10px)}
}
.ls-div{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin:0 0 14px;padding:6px 0;position:relative;
}
.ls-div::before,
.ls-div::after{
  content:"";width:min(80px,18vw);height:1px;flex:0 0 auto;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.ls-div h2{
  margin:0;min-width:0;max-width:min(100%,30em);padding:0;
  font-family:STKaiti,KaiTi,"Songti SC",SimSun,serif;
  font-size:15px;font-weight:600;letter-spacing:.12em;
  color:var(--accent-deep);text-align:center;line-height:1.45;text-wrap:balance;
}
.ls-div .jie-em,
.ls-div em{
  font-style:normal;color:var(--zhu);font-weight:700;letter-spacing:.04em;
}
.ls-div:has(.toggle){padding-left:28px;padding-right:28px}
.ls-div:has(.toggle) h2{padding:0}
.ls-div .toggle{
  position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;width:22px;height:24px;padding:0;border:1px solid rgba(166,107,46,.28);
  border-radius:6px;background:#EBDDCA;color:var(--accent-deep);
  font:inherit;line-height:1;cursor:pointer;
  transition:background .2s,border-color .2s;
}
.ls-div .toggle:hover{background:var(--accent-soft);border-color:rgba(166,107,46,.45)}
.ls-div .toggle .sort-up,
.ls-div .toggle .sort-down{
  display:block;width:0;height:0;opacity:.28;
  border-left:3.5px solid transparent;border-right:3.5px solid transparent;
  transition:opacity .15s,border-color .15s;
}
.ls-div .toggle .sort-up{border-bottom:4px solid currentColor;border-top:0}
.ls-div .toggle .sort-down{border-top:4px solid currentColor;border-bottom:0}
.ls-div .toggle.is-asc .sort-up,
.ls-div .toggle.is-desc .sort-down{
  opacity:1;color:var(--accent-deep);
}
.event-list{
  margin:0;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:8px;
  border:none;background:transparent;
}
.event-item{margin:0}
.event-item a{
  display:flex;align-items:center;gap:12px;
  padding:13px 14px;border:none;border-radius:10px;
  background:#F5EBDA;color:var(--ink);text-decoration:none;
  font-size:14px;line-height:1.5;
  transition:background .2s,color .2s,box-shadow .2s,transform .2s var(--ease);
}
.event-item:nth-child(even) a{background:#EDE0CC}
.event-item a:hover{
  background:var(--accent-soft);color:var(--accent-deep);
  box-shadow:0 4px 12px rgba(58,42,28,.08);
  transform:translateY(-1px);
}
.event-item a.is-current{
  background:var(--accent-soft);color:var(--accent-deep);font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(166,107,46,.28);
  pointer-events:none;
}
.event-year{
  flex:none;min-width:4.6em;padding:3px 9px;border-radius:6px;
  background:rgba(184,74,46,.12);color:var(--zhu);
  font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;
  letter-spacing:.02em;text-align:center;line-height:1.4;
}
.event-md{
  flex:none;color:var(--muted);font-size:13px;font-weight:500;
  letter-spacing:.02em;white-space:nowrap;
}
.event-text{
  flex:1;min-width:0;color:var(--ink-soft);font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.event-item a:hover .event-text,
.event-item a.is-current .event-text{color:var(--accent-deep)}
.event-go{
  width:6px;height:6px;flex:none;color:rgba(166,107,46,.4);
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);margin-right:2px;
  transition:color .2s,transform .2s var(--ease);
}
.event-item a:hover .event-go{color:var(--accent);transform:rotate(-45deg) translate(1px,1px)}
.event-empty{
  padding:28px 16px;text-align:center;color:var(--muted);font-size:14px;
  border-radius:10px;background:#F5EBDA;
}
.date-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;
  margin:0;padding:0;border:none;background:transparent;
}
.date-btn{
  appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;width:100%;min-width:0;padding:10px 4px 9px;border:none;border-radius:6px;
  background:#EBDDCA;color:var(--muted);text-decoration:none;
  font:inherit;font-size:13px;font-weight:500;letter-spacing:.02em;
  cursor:pointer;text-align:center;line-height:1.35;
  transition:background .2s,color .2s;
}
.date-btn .ls-day-n{display:block;font-weight:600;letter-spacing:.04em;color:inherit}
.date-btn .ls-day-lab{display:block;font-size:11px;font-weight:500;opacity:.88;color:inherit}
.date-btn:hover{background:var(--accent-soft);color:var(--accent-deep)}
.date-btn.is-active{background:var(--accent);color:#fff;font-weight:700}
.date-btn.is-active:hover{background:var(--accent-deep);color:#fff}
.date-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.img-intro-wrap{
  display:flex;align-items:flex-start;gap:18px;overflow:visible;margin:28px 0 0;padding-top:22px;
  border-top:1px solid rgba(166,107,46,.16);
}
.img-intro-pic{
  width:320px;max-width:100%;flex-shrink:0;display:block;
  height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;
  border:1px solid rgba(166,107,46,.25);border-radius:12px;background:#EBDDCA;
  box-shadow:0 6px 16px rgba(58,42,28,.06);
}
.img-intro{flex:1;min-width:0}
.img-intro p{
  margin:0 0 6px;font-size:15px;line-height:1.75;color:var(--ink-soft);
  text-align:left;
}
.img-intro p.intro-meta{margin:0 0 4px;color:var(--ink)}
.img-intro p.intro-blurb{
  margin-top:8px;text-align:justify;text-justify:inter-ideograph;text-align-last:left;
}
.img-intro p:last-child{margin-bottom:0}
.img-intro strong{color:var(--accent-deep);font-weight:700}
footer{
  position:relative;z-index:1;margin-top:18px;padding:14px 16px 8px;text-align:center;
  color:var(--muted);font-size:12px;line-height:1.9;letter-spacing:.04em;border-top:none;
}
footer a{color:inherit;text-decoration:underline}
.back-to-top{
  --btt-size:44px;position:fixed;right:max(14px,env(safe-area-inset-right,0px));
  bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:65;
  width:var(--btt-size);height:var(--btt-size);padding:0;margin:0;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;border-radius:12px;
  border:1px solid rgba(196,146,74,.5);
  background:linear-gradient(160deg,#4A3726,#2E2218);
  box-shadow:0 10px 22px rgba(20,12,6,.32);color:#E8C98A;cursor:pointer;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);
  transition:opacity .22s,transform .22s,visibility .22s,box-shadow .2s;
}
.back-to-top.is-show{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.back-to-top:hover{box-shadow:0 12px 26px rgba(20,12,6,.42);border-color:rgba(232,201,138,.65)}
.back-to-top svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){
  body{padding-top:var(--nav-bottom,56px)}
  .nav{position:fixed;top:0;left:0;right:0;padding:10px 0}
  .nav-inner,.top-inner,.wrap,.crumb{max-width:calc(100% - 12px)}
  .nav-toggle{display:inline-flex}
  .nav-menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:4px 0 8px;background:#3A2A1C;box-shadow:0 18px 40px rgba(20,12,6,.55)}
  .nav.is-open .nav-menu{display:flex;max-height:calc(100dvh - var(--nav-bottom,56px));overflow-y:auto}
  .nav-menu>a:not(.nav-btn):not(.nav-plate-cta),.nav-menu>.nav-btn{display:block;width:100%;padding:10px 16px;border-radius:0;border-bottom:1px solid rgba(196,146,74,.18);color:rgba(247,240,228,.9);text-align:left}
  .nav-menu>a.is-active{margin:0;padding:10px 16px;background:rgba(166,107,46,.18);box-shadow:inset 3px 0 0 #C4924A}
  .nav-menu>a.is-active::after{display:none}
  .nav-menu>.nav-btn{display:none}
  .nav-plate-cta{display:block;width:calc(100% - 32px);margin:10px 16px 8px;padding:9px 12px;border:1px solid #C4924A;border-radius:8px;background:rgba(166,107,46,.28);color:#E8C98A;font-size:13px;font-weight:600;text-align:center;text-decoration:none}
  .brand-logo{--brand-gap:14px;gap:var(--brand-gap);flex:1;min-width:0}
  .brand-logo-name{font-size:22px}
  .brand-logo-tag{font-size:13px;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}
  .top-query.panel-test .query-type-btn{min-height:34px;padding:0 8px;font-size:12px}
  .top-query.panel-test .input-box,.top-query.panel-test .query-btn{height:34px;font-size:12px}
}
@media (max-width:720px){
  main#content > article.wrap.panel{width:calc(100% - 16px);padding:16px 12px 20px}
  .article-title{font-size:22px;letter-spacing:.04em;line-height:1.35;text-wrap:wrap}
  .article-meta{font-size:12px}
  .article-meta > span + span::before{margin:0 6px}
  .query-box{padding:12px 10px 14px}
  .select-row{gap:8px}
  .query-inline-label{font-size:13px}
  .select-row .date-wheel{max-width:none}
  .btn-query{height:38px;padding:0 12px;font-size:13px}
  .article-body{font-size:14px;line-height:1.85}
  .ls-div{gap:8px}
  .ls-div::before,.ls-div::after{width:16px}
  .ls-div h2{font-size:15px;letter-spacing:.02em;padding:0;text-wrap:wrap}
  .ls-div:has(.toggle){padding-left:28px;padding-right:28px}
  .ls-div:has(.toggle) h2{padding:0}
  .ls-div .toggle{right:0}
  .event-list{gap:6px}
  .event-item a{padding:11px 12px;font-size:13px;gap:10px}
  .event-year{min-width:4.2em;padding:2px 7px;font-size:12px}
  .event-md{font-size:12px}
  .date-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 4px}
  .date-btn{padding:10px 2px 9px;font-size:12px}
  .img-intro-wrap{flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}
  .img-intro-pic{width:100%;aspect-ratio:16/9}
}
@media (max-width:420px){
  .date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ls-div h2{font-size:14px}
  .btn-query{height:36px;padding:0 10px;font-size:12px}
}

main#content{position:relative;z-index:1;padding:10px 0 48px;width:auto;max-width:none;margin:0}
a.date-btn{text-decoration:none;color:var(--muted);box-sizing:border-box}
a.date-btn:hover{color:var(--accent-deep)}
a.date-btn.is-active,a.date-btn.is-active:hover{color:#fff}
a.date-btn.is-today:not(.is-active){color:var(--zhu)}

.crumb-current{color:var(--ink-soft)}

