*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:#F6F1EA;color:#2A1520;min-height:100vh;overflow-x:hidden;line-height:1.5;
}
.wrap{max-width:720px;margin:0 auto;padding:20px 14px 40px}
h1{font-size:21px;font-weight:700;margin-bottom:4px;line-height:1.35}
.sub{font-size:13px;color:#907985;margin-bottom:24px;line-height:1.6}

.date-group{margin-bottom:28px}
.date-group-today{margin-bottom:32px}
.date-group-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #E8E0D8;
}
.date-group-head h2{
  font-size:12px;color:#907985;letter-spacing:0.06em;line-height:1.5;margin:0;
}
.date-group-today .date-group-head h2{color:#BC6C25;font-size:13px;font-weight:700}
.date-group-today .date-group-head{border-bottom-color:#E8DCC8}

.share-day-btn{
  flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:600;
  color:#501A42;background:#FFF;border:1px solid #E8E0D8;border-radius:20px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.share-day-btn-today{color:#BC6C25;border-color:#DDA15E;background:#FFFBF5}
.share-day-btn:active{opacity:0.85}

.card-grid{display:grid;grid-template-columns:1fr;gap:12px}
.card-grid-today{grid-template-columns:1fr;gap:14px}
@media(min-width:520px){
  .card-grid{grid-template-columns:1fr 1fr}
  .card-grid-today{grid-template-columns:1fr}
}

.article-card-wrap{position:relative}
.article-card-wrap.card-today .article-card{
  border-color:#DDA15E;box-shadow:0 4px 16px rgba(188,108,37,0.12);
}
.article-card-wrap.card-today .info strong{font-size:17px}
.article-card-wrap.card-today .info{padding:14px 16px 16px}

.article-card{
  display:block;background:#FFF;border:1px solid #E8E0D8;border-radius:8px;
  overflow:hidden;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;
}
.article-card:active{border-color:#672052}
@media(hover:hover){.article-card:hover{border-color:#672052}}
.article-card .thumb{
  width:100%;aspect-ratio:2.35/1;height:auto;min-height:0;
  background:#EDE8E2 center/cover no-repeat;background-size:cover;
}
.article-card .thumb.placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:2.35/1;font-size:26px;font-weight:700;color:#672052;opacity:0.35}
.article-card .info{padding:12px 14px 14px}
.article-card .info strong{
  display:block;font-size:15px;color:#501A42;line-height:1.45;margin-bottom:4px;word-break:break-word;
}
.article-card .info span{display:block;font-size:12px;color:#907985;line-height:1.55;word-break:break-word}
.article-card .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:600;border-radius:3px;letter-spacing:0.04em;line-height:1.5}
.badge-pub{color:#FFF;background:#2D6A4F}

/* ── 分享卡片弹层 ── */
body.share-open{overflow:hidden}
.share-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.share-modal[hidden]{display:none!important}
.share-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5)}
.share-modal-inner{
  position:relative;width:100%;max-width:420px;background:#F6F1EA;border-radius:16px 16px 0 0;
  padding:18px 16px 22px;max-height:92vh;overflow-y:auto;
  box-shadow:0 -8px 32px rgba(0,0,0,0.18);
}
@media(min-width:520px){
  .share-modal{align-items:center;padding:24px}
  .share-modal-inner{border-radius:16px;max-width:440px}
}
.share-close{
  position:absolute;top:10px;right:12px;width:32px;height:32px;border:none;background:#FFF;
  border-radius:50%;font-size:20px;line-height:1;color:#907985;cursor:pointer;z-index:2;
}
.share-modal-label{font-size:12px;color:#907985;margin-bottom:12px;padding-right:32px}
.share-card-frame{
  background:#FFF;border-radius:10px;overflow:hidden;
  box-shadow:0 4px 20px rgba(80,26,66,0.12);margin-bottom:10px;
}
.share-card-iframe{
  width:100%;height:420px;border:none;display:block;background:#F6F1EA;
}
.share-hint{font-size:11px;color:#907985;margin-bottom:12px;line-height:1.5;text-align:center}
.share-card-preview{width:100%;height:auto;display:block;vertical-align:top}
.share-actions{display:flex;gap:10px}
.share-action{
  flex:1;padding:13px;border:1px solid #E8E0D8;border-radius:10px;
  background:#FFF;font-size:14px;font-weight:600;color:#501A42;cursor:pointer;
}
.share-action.primary{background:#501A42;color:#FAFAFA;border-color:#501A42}
.share-status{margin-top:10px;font-size:12px;color:#2D6A4F;text-align:center;min-height:18px}

.back{
  display:block;padding:12px 14px;font-size:13px;color:#672052;text-decoration:none;
  background:#FFF;border-bottom:1px solid #E8E0D8;position:sticky;top:0;z-index:11;
}

.copy-bar{
  position:sticky;top:41px;z-index:10;padding:10px 14px 12px;
  background:#FFFBF5;border-bottom:1px solid #E8DCC8;
}
.copy-meta{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.copy-meta-item{background:#FFF;border:1px solid #E8DCC8;border-radius:8px;padding:10px 12px}
.copy-meta-label{display:block;font-size:11px;font-weight:600;color:#907985;margin-bottom:4px;letter-spacing:.04em}
.copy-meta-text{margin:0 0 8px;font-size:13px;line-height:1.55;color:#2A1520;word-break:break-word}
.copy-btn-row{display:flex;gap:8px}
.copy-btn-secondary{
  width:100%;padding:9px 10px;border:1px solid #C9B8A8;border-radius:6px;cursor:pointer;
  background:#FFF;color:#501A42;font-size:12px;font-weight:600;
  -webkit-tap-highlight-color:transparent;
}
.copy-btn-primary{
  width:100%;padding:12px 14px;border:none;border-radius:8px;cursor:pointer;
  background:#501A42;color:#FAFAFA;font-size:14px;font-weight:600;
  -webkit-tap-highlight-color:transparent;
}
.copy-btn-secondary:active,.copy-btn-primary:active{opacity:.88}
.copy-hint{margin:8px 0 0;font-size:11px;color:#907985;line-height:1.5;text-align:center}
.copy-status{margin:4px 0 0;font-size:12px;color:#2D6A4F;text-align:center;min-height:18px}

/* ── 正文页移动端适配 ── */
.article{
  max-width:680px;margin:0 auto;background:#F6F1EA;
  overflow-x:hidden;width:100%;box-sizing:border-box;
}
.article section{
  max-width:100%!important;width:100%!important;
  box-sizing:border-box;overflow-x:hidden;
}
.article section,
.article section table,
.article section td,
.article section th{
  box-sizing:border-box;
}
.article img{
  max-width:100%!important;width:100%!important;height:auto!important;display:block;
}
.article td[style*="aspect-ratio"] img,
.article td[style*="aspect-ratio:2.35"] img,
.article td[style*="aspect-ratio:16"] img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
.article table{
  width:100%!important;max-width:100%!important;
  table-layout:fixed;border-collapse:collapse;box-sizing:border-box;
}
.article td,.article th{
  word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;
  vertical-align:top;box-sizing:border-box;
}
.article p,.article span{max-width:100%;overflow-wrap:break-word}
.article td[width="33%"]{width:33.33%!important}
.article td[width="28%"]{width:28%!important}
.article td[width="32%"]{width:32%!important}
.article td[width="48"]{width:40px!important;min-width:40px!important}
.article td[width="52"],.article td[width="44"],.article td[width="72"]{width:auto!important}

@media(max-width:560px){
  .article table.scroll-table,
  .article table.wide-table{
    display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
    max-width:100%;width:100%!important;
  }
  .article table.scroll-table tbody,
  .article table.wide-table tbody{
    display:table;width:100%;min-width:300px;
  }
  .article table.stat-block td[width="33%"] p[style*="font-size:24px"]{
    font-size:18px!important;
  }
}

@media(max-width:480px){
  .wrap{padding:16px 12px 32px}
  h1{font-size:19px}
  .sub{font-size:12px}
  .article-card .info strong{font-size:14px}
  .back{padding:10px 12px;font-size:12px}
  .copy-bar{top:38px;padding:8px 10px 10px}
  .copy-meta-text{font-size:12px}
  .copy-btn-secondary{font-size:11px;padding:8px 9px}
  .copy-btn-primary{font-size:13px;padding:11px 12px}
  .copy-hint{font-size:10px}
  .article td[style*="padding:26px"]{padding:12px 8px!important}
  .article td[style*="padding:0 0 0 14px"]{padding:0 0 0 10px!important}
  .article td[style*="padding:16px 18px"]{padding:12px 10px!important}
  .article td[style*="padding:24px 16px"]{padding:16px 10px 0!important}
  .article td[style*="padding:0 16px"]{padding-left:8px!important;padding-right:8px!important}
  .article > section > table > tbody > tr > td{padding-left:8px!important;padding-right:8px!important}
  .article td[style*="padding:16px"]{padding-top:12px!important;padding-bottom:20px!important}
  .article td[style*="padding:14px 16px"]{padding:10px 10px!important}
  .article td[style*="padding:12px 14px"]{padding:8px 8px!important}
  .article td[style*="padding:12px 8px"]{padding:8px 4px!important}
  .article td[width="33%"]{padding:10px 2px!important}
  .article td[width="33%"] p[style*="font-size:24px"],
  .article td[width="33%"] p[style*="font-size:22px"]{font-size:16px!important}
  .article td[width="33%"] p[style*="font-size:18px"]{font-size:15px!important}
  .article td[width="33%"] p[style*="font-size:10px"],
  .article td[width="33%"] p[style*="font-size:11px"]{font-size:9px!important;line-height:1.35!important}
  .article td[width="28%"] p,
  .article td[width="32%"] p{font-size:10px!important;line-height:1.45!important}
  .article p[style*="font-size:28px"]{font-size:22px!important}
  .article p[style*="font-size:20px"]{font-size:17px!important;line-height:1.4!important}
  .article p[style*="font-size:18px"]{font-size:16px!important;line-height:1.45!important}
  .article p[style*="font-size:17px"]{font-size:15px!important;line-height:1.85!important}
  .article p[style*="font-size:16px"]{font-size:14px!important;line-height:1.9!important}
  .article p[style*="font-size:15px"]{font-size:13px!important;line-height:1.85!important}
  .article p[style*="font-size:14px"]{font-size:13px!important}
  .article p[style*="font-size:13px"]{font-size:12px!important}
  .article p[style*="font-size:12px"]{font-size:11px!important}
  .article p[style*="font-size:10px"]{font-size:9px!important}
  .article td[width="52"] p{font-size:10px!important}
  .article table.stat-block td[width="33%"]{
    display:block;width:100%!important;border-left:none!important;
    border-top:1px solid #E8E4DF!important;padding:12px 10px!important;
  }
  .article table.stat-block tr{display:block}
  .article table.stat-block td[width="33%"]:first-child{border-top:none!important}
  .article table.wide-table > tbody > tr:first-child > td[colspan="3"] p{
    color:rgba(255,255,255,.95)!important;
  }
  .article table.wide-table > tbody > tr:nth-child(2) td p{
    font-size:10px!important;
  }
  .article table.wide-table > tbody > tr:not(:first-child):not(:nth-child(2)){
    display:block;margin-bottom:10px;border:1px solid #E8E4DF;background:#FFF;
  }
  .article table.wide-table > tbody > tr:not(:first-child):not(:nth-child(2)) td{
    display:block;width:100%!important;border:none!important;
    padding:6px 12px!important;text-align:left!important;
  }
  .article table.wide-table > tbody > tr:not(:first-child):not(:nth-child(2)) td p{
    text-align:left!important;font-size:12px!important;line-height:1.55!important;
  }
  .article table.wide-table > tbody > tr:nth-child(2){display:none}
}
