/* 每日大赛 · 文件15（全新骨架）· 高级“议题书/档案夹”风格：浅石材底色 + 标签页 + 议程式信息结构 */
:root{
  color-scheme: light;
  --bg:#f4f1ea;
  --bg2:#ffffff;
  --paper: rgba(255,255,255,.86);
  --ink:#111216;
  --muted:#424651;
  --muted2:#6a7280;
  --line: rgba(17,18,22,.16);
  --line2: rgba(17,18,22,.10);
  --shadow: 0 18px 50px rgba(17,18,22,.10);
  --r: 18px;
  --wrap: 1180px;

  --cobalt:#1d4ed8;
  --verm:#c0262d;
  --amber:#b45309;
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;
  color: var(--ink);
  line-height: 1.85;
  background:
    radial-gradient(1000px 520px at 14% 0%, rgba(29,78,216,.08), transparent 55%),
    radial-gradient(900px 520px at 92% 10%, rgba(192,38,45,.07), transparent 58%),
    linear-gradient(180deg, var(--bg), var(--bg2));
}
body:before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  opacity: .26;
  background-image:
    radial-gradient(rgba(17,18,22,.06) 1px, transparent 1px);
  background-size: 4px 4px;
  mix-blend-mode: multiply;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ width:100%; max-width: var(--wrap); margin:0 auto; padding:0 18px; }
.sr-only{ position:absolute!important; width:1px;height:1px; overflow:hidden; clip: rect(1px,1px,1px,1px); white-space:nowrap; }
.skip{
  position:absolute; left:-999px; top:10px;
  padding:10px 12px; border-radius: 12px;
  background: rgba(255,255,255,.96); border:1px solid var(--line); box-shadow: var(--shadow);
}
.skip:focus{ left:12px; z-index: 90; }

/* 顶部：档案夹抬头 + 标签页导航 */
.mast{
  position: sticky;
  top:0;
  z-index: 70;
  background: rgba(244,241,234,.82);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line2);
}
.mast-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  padding: 16px 0 10px;
}
.brand{
  display:flex;
  align-items:flex-end;
  gap: 12px;
}
.seal{
  width: 46px; height:46px;
  border-radius: 16px;
  border:1px solid var(--line);
  background:
    radial-gradient(18px 18px at 35% 35%, rgba(29,78,216,.22), transparent 60%),
    radial-gradient(18px 18px at 70% 65%, rgba(192,38,45,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.72));
  box-shadow: 0 12px 30px rgba(17,18,22,.10);
  display:grid; place-items:center;
  font-weight: 1000;
  letter-spacing:.4px;
  color: var(--verm);
}
.brand strong{
  font-family: ui-serif, "STSong","SimSun","Songti SC","Noto Serif SC", serif;
  font-size: 18px;
  letter-spacing: .8px;
}
.brand small{
  display:block;
  margin-top:2px;
  font-size: 12px;
  color: var(--muted2);
  letter-spacing:.3px;
}
.tools{
  display:flex;
  align-items:center;
  gap: 10px;
}
.tools input{
  width: min(520px, 52vw);
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.86);
  outline:none;
}
.tools input:focus{
  border-color: rgba(29,78,216,.30);
  box-shadow: 0 0 0 4px rgba(29,78,216,.12);
}
.tools button{
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.86);
  cursor:pointer;
}
.tools button:hover{ background: rgba(255,255,255,.98); }

.tabs{
  display:flex;
  gap: 10px;
  align-items:flex-end;
  padding: 0 0 12px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}
.tab{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px 16px 12px 12px;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.58);
  color: rgba(0,0,0,.78);
  font-size: 13px;
  letter-spacing:.2px;
  white-space:nowrap;
}
.tab:hover{ background: rgba(255,255,255,.84); }
.tab.on{
  border-color: rgba(192,38,45,.24);
  background: linear-gradient(180deg, rgba(192,38,45,.10), rgba(29,78,216,.06));
  color: rgba(0,0,0,.92);
}
.chip{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(29,78,216,.20);
  background: rgba(29,78,216,.08);
  color: rgba(29,78,216,.92);
  font-weight: 950;
  font-size: 12px;
}
.chip.red{ border-color: rgba(192,38,45,.22); background: rgba(192,38,45,.08); color: rgba(192,38,45,.92); }
.chip.amber{ border-color: rgba(180,83,9,.22); background: rgba(180,83,9,.08); color: rgba(120,53,15,.92); }

main{ padding: 18px 0 56px; }
.paper{
  border-radius: var(--r);
  border:1px solid var(--line2);
  background: var(--paper);
  box-shadow: var(--shadow);
}
.grid{
  display:grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}
.col12{ grid-column: span 12; }
.col8{ grid-column: span 8; }
.col4{ grid-column: span 4; }
.col6{ grid-column: span 6; }

/* 首页：议题书封面 + 议程板 */
.cover{ padding: 16px; }
.kicker{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
  color: rgba(0,0,0,.70);
  font-size: 12px;
  letter-spacing:.28px;
}
.dot{
  width: 9px; height:9px; border-radius: 999px;
  background: rgba(192,38,45,.88);
  box-shadow: 0 0 0 4px rgba(192,38,45,.12);
}
.cover h1{
  margin: 10px 0 10px;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: .9px;
  font-family: ui-serif, "STSong","SimSun","Songti SC","Noto Serif SC", serif;
}
.lede{
  margin:0;
  color: rgba(0,0,0,.76);
  max-width: 82ch;
}
.cta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 14px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.92);
  font-weight: 950;
  letter-spacing:.2px;
}
.btn.primary{
  border-color: rgba(192,38,45,.26);
  background: linear-gradient(180deg, rgba(192,38,45,.10), rgba(29,78,216,.06));
}
.btn.ghost{ background: rgba(255,255,255,.62); }
.btn:hover{ background: rgba(255,255,255,.99); }

.frame{
  border-radius: calc(var(--r) + 6px);
  border:1px solid var(--line2);
  background: rgba(255,255,255,.72);
  overflow:hidden;
  box-shadow: 0 18px 46px rgba(17,18,22,.12);
}
.frame img{ width:100%; height: 360px; object-fit: cover; }
.cap{ margin: 10px 0 0; font-size: 12px; color: var(--muted2); }

.agenda{ padding: 14px; }
.agenda h2{ margin:0; font-size: 15px; letter-spacing:.2px; }
.rule{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(17,18,22,.18), transparent);
  margin: 10px 0 12px;
}
.slot{
  padding: 12px;
  border-radius: 16px;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.70);
  display:grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  align-items:start;
  margin-top: 10px;
}
.time{
  font-weight: 1000;
  letter-spacing:.3px;
  color: rgba(0,0,0,.76);
  font-size: 12px;
}
.slot b{ display:block; font-size: 14px; }
.slot span{ display:block; margin-top: 4px; font-size: 12px; color: var(--muted2); }

/* 列表页：折叠面板目录（非瀑布/非控台流） */
.accordion{
  display:grid;
  gap: 12px;
}
details{
  border-radius: 18px;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 34px rgba(17,18,22,.08);
  overflow:hidden;
}
summary{
  list-style:none;
  cursor:pointer;
  padding: 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
summary::-webkit-details-marker{ display:none; }
.sum-left{ display:flex; align-items:center; gap: 10px; flex-wrap:wrap; }
.sum-left b{ font-size: 14px; }
.sum-left span{ font-size: 12px; color: var(--muted2); }
.caret{
  width: 12px; height:12px;
  border-right: 2px solid rgba(0,0,0,.55);
  border-bottom: 2px solid rgba(0,0,0,.55);
  transform: rotate(-45deg);
  transition: transform .15s ease;
}
details[open] .caret{ transform: rotate(45deg); }
.panel{
  border-top: 1px solid var(--line2);
  padding: 14px;
  display:grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: 12px;
}
.panel img{
  width:100%;
  height: 150px;
  object-fit: cover;
  border-radius: 14px;
  border:1px solid var(--line2);
}
.panel h3{ margin:0 0 6px; font-size: 15px; line-height: 1.25; }
.panel p{ margin:0; font-size: 12px; color: var(--muted2); }
.meta2{ margin-top: 10px; display:flex; flex-wrap:wrap; gap: 8px; }

/* 内容页：正文 + 侧栏“名片卡/风险提示” */
.crumb{
  display:flex; flex-wrap:wrap; gap: 8px;
  font-size: 12px;
  color: var(--muted2);
}
.doc{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 12px;
  align-items:start;
}
.article{ padding: 16px; }
.article h1{
  margin: 8px 0 10px;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing:.6px;
  font-family: ui-serif, "STSong","SimSun","Songti SC","Noto Serif SC", serif;
}
.article h2{ margin: 16px 0 8px; font-size: 16px; }
.article p{ margin: 10px 0; color: rgba(0,0,0,.78); }
.article ul{ margin: 10px 0 10px 18px; color: rgba(0,0,0,.78); }
.pull{
  padding: 12px;
  border-radius: 16px;
  border:1px solid rgba(180,83,9,.26);
  background: rgba(180,83,9,.08);
  color: rgba(95,60,7,.92);
  font-weight: 1000;
  letter-spacing:.2px;
  margin: 12px 0;
}
.side{ padding: 14px; }
.side h3{ margin:0 0 10px; font-size: 14px; }
.kv{ display:grid; gap: 10px; }
.kv div{
  padding: 10px;
  border-radius: 16px;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.72);
  font-size: 12px;
  color: rgba(0,0,0,.76);
}
.side .img{
  margin-top: 10px;
  border-radius: 16px;
  overflow:hidden;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.70);
}

/* 页脚 + 移动端底部页签 */
.foot{
  margin-top: 22px;
  border-top: 1px solid var(--line2);
  background: rgba(255,255,255,.56);
}
.footrow{
  padding: 18px 0;
  display:flex; align-items:center; justify-content:space-between;
  gap: 12px; flex-wrap:wrap;
  color: rgba(0,0,0,.66);
}
.bottom{
  display:none;
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  z-index: 80;
  border-radius: 16px;
  border:1px solid var(--line2);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  padding: 10px;
  gap: 10px;
}
.bottom a{
  flex:1 1 0;
  display:flex; align-items:center; justify-content:center;
  padding: 10px;
  border-radius: 14px;
  border:1px solid transparent;
  font-size: 12px;
  font-weight: 1000;
  color: rgba(0,0,0,.70);
}
.bottom a.on{
  border-color: rgba(192,38,45,.22);
  background: rgba(192,38,45,.08);
  color: rgba(192,38,45,.92);
}

@media (max-width: 1060px){
  .col8, .col4, .col6{ grid-column: span 12; }
  .frame img{ height: 320px; }
  .doc{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .tools{ display:none; }
  main{ padding-bottom: 92px; }
  .panel{ grid-template-columns: 1fr; }
  .bottom{ display:flex; }
}

