/* 召集详情 · 本地设计版（只作用于 summon-detail.html） */
.summon-detail-page { padding:64px 0 104px; color:var(--folio-ink); }
.summon-detail-page button { border-radius:0; }

/* 覆盖全站正文 section 的 112px 通用留白；召集详情使用自己的紧凑章节节奏。 */
html body #root main.summon-detail-page > section.summon-detail-conditions:not(#cta) {
  padding-top:28px !important;
  padding-bottom:18px !important;
}
html body #root main.summon-detail-page > section.summon-detail-brief:not(#cta) {
  padding-top:40px !important;
  padding-bottom:0 !important;
}
html body #root main.summon-detail-page > section.summon-detail-references:not(#cta) {
  padding-top:40px !important;
  padding-bottom:0 !important;
}
html body #root main.summon-detail-page > section.summon-detail-flow:not(#cta) {
  padding-top:40px !important;
  padding-bottom:0 !important;
}
html body #root main.summon-detail-page > section.summon-detail-deliveries:not(#cta) {
  padding-top:40px !important;
  padding-bottom:0 !important;
}
html body #root main.summon-detail-page > section.summon-detail-submit:not(#cta) {
  padding-top:32px !important;
  padding-bottom:0 !important;
}
html body #root main.summon-detail-page > section.summon-detail-comments:not(#cta) {
  padding-top:40px !important;
  padding-bottom:0 !important;
}

.summon-detail-hero { padding-top:38px; }
.summon-detail-back {
  display:inline-block; margin-bottom:34px; color:var(--folio-ink-2);
  font:13px 'Noto Serif SC','Fraunces',serif; text-decoration:underline;
  text-decoration-color:var(--folio-ink); text-underline-offset:8px;
}
.summon-detail-eyebrow {
  display:flex; align-items:center; gap:12px; color:var(--folio-ink-2);
  font-size:11px; letter-spacing:.12em;
}
.summon-detail-eyebrow i { width:3px; height:3px; border-radius:50%; background:var(--folio-seal); }
.summon-detail-hero h1 {
  max-width:980px; margin:24px 0 16px; font-size:clamp(42px,5vw,68px);
  line-height:1.06; letter-spacing:-.035em;
}
.summon-detail-summary {
  max-width:760px; margin:0; color:var(--folio-ink-2);
  font-size:16px; line-height:1.75;
}
.summon-detail-raiser { display:flex; align-items:center; gap:12px; margin-top:28px; font-size:13px; }

.summon-detail-participation {
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  margin-top:34px; padding:18px 0; border-top:1px solid var(--folio-rule);
  border-bottom:1px solid var(--folio-rule);
}
.summon-detail-counts { display:flex; flex-wrap:wrap; gap:22px; color:var(--folio-ink-2); font-size:12px; }
.summon-detail-counts b { margin-right:4px; color:var(--folio-ink); font-size:15px; font-weight:500; }
.summon-detail-hero-actions { display:flex; align-items:center; gap:28px; flex-shrink:0; }
.summon-detail-hero-actions button,
.summon-detail-text-button {
  padding:7px 0; color:var(--folio-ink); background:transparent; border:0;
  border-bottom:1px solid transparent; font:13px 'Noto Serif SC','Fraunces',serif; cursor:pointer;
}
.summon-detail-hero-actions button:first-child,
/* 「已想要」用站点黄 token。原为硬编码 #efcc31，与 --folio-yellow(#F2D853) 略有色差，
   列表页也是这个状态，同一状态不该出现两个黄。 */
.summon-detail-hero-actions button.is-on { border-bottom:2px solid var(--folio-yellow); }
.summon-detail-error { color:var(--folio-seal); font-size:13px; }

.summon-detail-conditions { padding-top:28px; padding-bottom:18px; }
.summon-detail-anchor {
  display:flex; align-items:center; gap:12px; font:500 18px/1.2 'Fraunces','Noto Serif SC',serif;
}
.summon-detail-anchor i { width:8px; height:8px; flex:0 0 8px; background:var(--folio-ink); }
.summon-detail-anchor small {
  margin-left:1px; color:var(--folio-ink-2); font:10px 'Inter','Noto Sans SC',sans-serif;
  letter-spacing:.13em;
}
.summon-detail-anchor.is-yellow i { background:#efc526; }
.summon-detail-anchor.is-blue i { background:#80b9eb; }
.summon-detail-anchor.is-rose i { background:#ef8790; }
.summon-detail-anchor.is-green i { background:#69a979; }
.summon-detail-anchor.is-ink i { background:var(--folio-ink); }
.summon-detail-conditions dl {
  display:grid; grid-template-columns:1.35fr repeat(4,1fr); margin:23px 0 0;
}
.summon-detail-conditions dl > div { min-width:0; padding:2px 24px; text-align:center; }
.summon-detail-conditions dl > div:first-child { padding-left:0; }
.summon-detail-conditions dl > div + div { border-left:1px dotted var(--folio-rule); }
.summon-detail-conditions dt { color:var(--folio-ink-2); font:11px 'Noto Sans SC',sans-serif; }
.summon-detail-conditions dd {
  margin:13px 0 0; font:500 clamp(16px,1.55vw,21px)/1.35 'Fraunces','Noto Serif SC',serif;
}

.summon-detail-brief { padding-top:40px; }
.summon-detail-body {
  max-width:880px; margin:18px 0 0; white-space:pre-line;
  font:15.5px/1.95 'Noto Serif SC','Fraunces',serif;
}

.summon-detail-references { padding-top:40px; }
.summon-detail-anchor-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.summon-reference-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:22px; }
.summon-reference-item {
  position:relative; min-height:150px; overflow:hidden; border:0; background:#f5f2ea; cursor:pointer;
}
.summon-reference-item img { width:100%; height:100%; object-fit:contain; }
.summon-reference-item span {
  position:absolute; left:10px; top:10px; padding:3px 7px;
  color:#fff; background:rgba(21,21,21,.62); font:10px 'Inter',sans-serif;
}
.summon-reference-item::before,
.summon-reference-item::after { content:""; position:absolute; }
.summon-reference-item.mock-1 { background:linear-gradient(145deg,#eee7da 0 62%,#d8b56d 62% 64%,#f7f3ea 64%); }
.summon-reference-item.mock-1::before { inset:18% 12%; border-top:1px solid #877; border-bottom:1px solid #aaa; transform:rotate(-3deg); }
.summon-reference-item.mock-2 { background:linear-gradient(180deg,#dbeaf0,#f1e4c9); }
.summon-reference-item.mock-2::before { width:48%; height:70%; left:26%; top:15%; background:#fff; box-shadow:0 2px 9px rgba(0,0,0,.08); }
.summon-reference-item.mock-2::after { width:28%; height:1px; left:36%; top:43%; background:#777; box-shadow:0 10px #aaa,0 20px #aaa,0 30px #aaa; }
.summon-reference-item.mock-3 { background:linear-gradient(135deg,#efe5d1,#f8f6f0); }
.summon-reference-item.mock-3::before { inset:16% 10%; background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(50,50,50,.2) 14px); transform:rotate(2deg); }

.summon-detail-flow { padding-top:40px; }
.summon-response-list { margin-top:18px !important; }
.summon-response-list ul { margin:0; padding:0; list-style:none; }
.summon-response-list li {
  display:grid;
  grid-template-columns:minmax(180px,1.25fr) minmax(90px,.65fr) minmax(150px,.9fr) minmax(180px,1.2fr);
  gap:28px; align-items:center; padding:15px 0; border-bottom:1px dotted var(--folio-rule);
}
.summon-response-person { display:flex; align-items:center; gap:14px; min-width:0; }
.summon-response-name { font-size:14px; }
.summon-response-state { color:var(--folio-seal); font-size:12px; }
.summon-response-time { color:var(--folio-ink-2); font-size:11px; }
.summon-response-eta { color:var(--folio-ink-2); font-size:13px; }
.summon-detail-empty {
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  min-height:118px; margin:18px 0 0; padding:0;
}
.summon-detail-empty h3 { margin:0 0 10px; font:500 24px 'Fraunces','Noto Serif SC',serif; }
.summon-detail-empty p { margin:0; color:var(--folio-ink-2); font-size:13px; }
.summon-detail-empty button {
  padding:8px 0; background:transparent; border:0; border-bottom:2px solid #75b8ea;
  font:14px 'Noto Serif SC','Fraunces',serif; cursor:pointer;
}
.summon-delivery-hint {
  margin:10px 0 0; padding-top:16px; color:var(--folio-ink-2);
  border-top:1px solid var(--folio-rule); font-size:12px;
}

.summon-detail-deliveries { padding-top:40px; }
.summon-delivery-list { margin-top:18px; }
.summon-delivery-row {
  display:grid; grid-template-columns:132px minmax(280px,1.35fr) minmax(260px,.9fr) 104px;
  gap:30px; align-items:center; padding:0 0 22px;
}
.summon-delivery-row + .summon-delivery-row { padding-top:22px; border-top:1px dotted var(--folio-rule); }
.summon-delivery-cover-link { display:block; width:132px; text-decoration:none; }
.summon-delivery-cover { position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; }
.summon-delivery-cover .tag-pick { position:absolute; left:8px; top:8px; z-index:2; }
.summon-delivery-version { position:absolute; right:8px; top:8px; z-index:2; font-size:10px; }
.summon-delivery-folio { position:absolute; right:8px; bottom:7px; font-size:9px; letter-spacing:.16em; }
.summon-delivery-copy { min-width:0; }
.summon-delivery-creator { display:flex; align-items:center; gap:8px; font:12px 'Noto Serif SC',serif; }
.summon-delivery-copy h3 { margin:9px 0 6px; font-size:20px; }
.summon-delivery-copy p { margin:0; color:var(--folio-ink-2); font-size:13px; line-height:1.6; }
.summon-delivery-meta { margin-top:9px; color:var(--folio-ink-2); font-size:10px; }
.summon-delivery-facts {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0;
}
.summon-delivery-facts > div { min-width:0; padding:0 18px; text-align:center; }
.summon-delivery-facts > div + div { border-left:1px dotted var(--folio-rule); }
.summon-delivery-facts dt { color:var(--folio-ink-2); font:10px 'Noto Sans SC',sans-serif; }
.summon-delivery-facts dd {
  margin:8px 0 0; color:var(--folio-ink);
  font:500 15px/1.2 'Fraunces','Noto Serif SC',serif;
}
.summon-delivery-link { justify-self:end; color:var(--folio-ink); font-size:13px; text-decoration:none; }
.summon-delivery-pick { margin-top:9px; padding:0; color:var(--folio-seal); background:transparent; border:0; font-size:11px; cursor:pointer; }

.summon-detail-submit { padding-top:32px; }
.summon-detail-submit > section { margin-top:0 !important; border-radius:0 !important; }
.summon-detail-comments { padding-top:40px; }
.summon-detail-comments .comment-section-actions {
  display:flex; align-items:center; justify-content:flex-end; gap:28px;
}
.summon-detail-comments .comment-section-actions p { margin:0; }
.summon-detail-comments .comment-composer { width:100%; max-width:none; }
.summon-detail-comments .comment-box { border-radius:18px !important; }
.summon-detail-comments .comment-box .community-tool-icon {
  width:26px !important; height:26px !important;
}
.summon-submit-inline { position:relative; flex:0 0 auto; }
.summon-submit-popover {
  position:absolute; z-index:12; right:0; top:38px; width:min(430px,82vw);
  padding:20px; border:1px solid var(--folio-rule); background:#fff;
  box-shadow:0 18px 44px rgba(21,21,21,.1);
}
.summon-claim-layer {
  position:fixed; inset:0; z-index:100; display:grid; place-items:center;
  padding:18px; background:rgba(21,21,21,.38); backdrop-filter:blur(2px);
}
.summon-claim-modal {
  position:relative; width:min(478px,100%); padding:26px 28px 23px;
  border:1px solid var(--folio-ink); background:#fff;
  box-shadow:0 18px 48px rgba(21,21,21,.14);
}
.summon-claim-close {
  position:absolute; top:17px; right:20px; padding:0 0 4px;
  border:0; border-bottom:1px solid var(--folio-ink); background:none;
  color:var(--folio-ink-2); font-size:12px; cursor:pointer;
}
.summon-claim-kicker { color:var(--folio-ink-2); font-size:9px; letter-spacing:.24em; }
.summon-claim-modal h2 { margin:9px 0 6px; font-size:27px; font-weight:400; }
.summon-claim-copy { margin:0; color:var(--folio-ink-2); font-size:11px; line-height:1.65; }
.summon-claim-schedule { margin-top:18px; }
.summon-claim-label { margin-bottom:8px; color:var(--folio-ink); font-size:12px; }
.summon-claim-label b { color:var(--folio-seal); font-weight:400; }
/* 时间选项：不做分段控件那种带框的按钮组，就是一行文字。
   选中用校样黄下划线——首页大标题下划线用的就是这个语言。 */
.summon-claim-options { display:flex; flex-wrap:wrap; gap:26px; margin-top:2px; }
.summon-claim-options button {
  padding:5px 0; border:0; border-bottom:2px solid transparent; background:none;
  color:var(--folio-ink-2); font:13px 'Noto Serif SC','Fraunces',serif; cursor:pointer;
  transition:color .16s ease;
}
.summon-claim-options button:hover { color:var(--folio-ink); }
.summon-claim-options button.is-active { color:var(--folio-ink); border-bottom-color:#f2d853; }

/* 自绘日历：细线 + 衬线数字；选中是墨黑方块，今天是印章红点。无圆角、无阴影。 */
.summon-claim-cal { margin-top:16px; padding-top:14px; border-top:1px solid var(--folio-rule); }
.summon-claim-cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.summon-claim-cal-month { font:400 15px/1 'Fraunces','Noto Serif SC',serif; color:var(--folio-ink); }
.summon-claim-cal-nav { display:flex; gap:14px; }
.summon-claim-cal-nav button {
  padding:0; border:0; background:none; color:var(--folio-ink-2); font-size:13px; cursor:pointer;
}
.summon-claim-cal-nav button:hover:not(:disabled) { color:var(--folio-ink); }
/* 全站有一条 button:disabled 涂灰底的 !important 规则（给普通按钮用的）。
   日历的翻页箭头和不可选日期不是"禁用控件"，只是当前不可点，
   被涂成灰块会变成一片色斑，所以在日历范围内定向还原。 */
.summon-claim-cal-nav button:disabled {
  background:none !important; border-color:transparent !important;
  opacity:.22; cursor:default;
}
.summon-claim-cal-week,
.summon-claim-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.summon-claim-cal-week span {
  padding-bottom:8px; color:var(--folio-ink-2); font-size:10px; letter-spacing:.1em; text-align:center;
}
.summon-claim-cal-grid button {
  position:relative; height:34px; border:0; background:none; color:var(--folio-ink);
  font:400 13px/1 'Fraunces',Georgia,serif; cursor:pointer; transition:background-color .16s ease;
}
.summon-claim-cal-grid button:hover:not(:disabled) { background:#f6f5f1; }
.summon-claim-cal-grid button:disabled {
  background:none !important; border-color:transparent !important;
  color:#cbc7bd !important; cursor:default;
}
.summon-claim-cal-grid button.is-today::after {
  content:''; position:absolute; left:50%; bottom:6px; width:3px; height:3px;
  margin-left:-1.5px; border-radius:50%; background:var(--folio-seal);
}
.summon-claim-cal-grid button.is-picked { background:var(--folio-ink); color:#fff; }
.summon-claim-cal-grid button.is-picked.is-today::after { background:#fff; }
.summon-claim-hint { margin:12px 0 0; color:var(--folio-ink-2); font-size:11px; line-height:1.6; }
.summon-claim-hint b { color:var(--folio-ink); font-weight:400; }
/* 已认领状态条：文字 + 两个次级文字操作，不用大按钮 */
.summon-claim-state { display:flex; align-items:center; gap:14px; font-size:12px; }
.summon-claim-state-done { color:var(--folio-ink-2); }
.summon-detail-text-button.is-quiet { color:var(--folio-ink-2); }
.summon-detail-text-button.is-quiet:hover { color:var(--folio-ink); }
.summon-detail-text-button.is-danger { color:var(--folio-seal); }
.summon-claim-act-error { margin:8px 0 0; color:var(--folio-seal); font-size:12px; }
.summon-claim-preview.is-ready i { background:#d5ad19; }
.summon-claim-error { margin:8px 0 0; color:var(--folio-seal); font-size:12px; }
.summon-claim-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.summon-claim-actions button {
  min-width:78px; padding:8px 13px; border:1px solid var(--folio-rule);
  background:#fff; color:var(--folio-ink); cursor:pointer;
}
.summon-claim-actions button.is-primary { border-color:var(--folio-ink); background:var(--folio-ink); color:#fff; }
.summon-claim-actions button:disabled { cursor:wait; opacity:.55; }

@media (max-width:900px) {
  .summon-detail-participation { align-items:flex-start; flex-direction:column; }
  .summon-detail-conditions dl { grid-template-columns:repeat(2,1fr); row-gap:24px; }
  .summon-detail-conditions dl > div:nth-child(3) { border-left:0; }
  .summon-response-list li { grid-template-columns:1.2fr .7fr 1fr; gap:16px; }
  .summon-response-eta { grid-column:1/-1; padding-left:46px; }
  .summon-delivery-row { grid-template-columns:112px minmax(0,1fr) 96px; gap:20px; }
  .summon-delivery-cover-link { width:112px; }
  .summon-delivery-facts { grid-column:2/4; }
}
@media (max-width:640px) {
  .summon-detail-page { padding-top:58px; }
  .summon-detail-hero { padding-top:26px; }
  .summon-detail-hero h1 { font-size:40px; }
  .summon-detail-counts { gap:10px 16px; }
  .summon-detail-conditions dl { grid-template-columns:1fr; }
  .summon-detail-conditions dl > div { padding:12px 0; text-align:left; border-left:0 !important; border-bottom:1px dotted var(--folio-rule); }
  .summon-reference-strip { grid-template-columns:1fr; }
  .summon-detail-empty { align-items:flex-start; flex-direction:column; margin-inline:0; }
  .summon-delivery-row { grid-template-columns:96px 1fr; }
  .summon-delivery-cover-link { width:96px; }
  .summon-delivery-facts { grid-column:1/-1; }
  .summon-delivery-link { grid-column:2; justify-self:start; }
  .summon-detail-comments .comment-section-actions {
    align-items:flex-start; flex-direction:column; gap:10px;
  }
  .summon-claim-modal { padding:24px 19px 19px; }
  .summon-claim-modal h2 { padding-right:54px; font-size:24px; }
  /* 小屏时四个时间选项换成两行两列，避免文字被压到换行 */
  .summon-claim-options { gap:18px; }
  .summon-claim-actions button { flex:1; }
  .summon-claim-state { flex-wrap:wrap; gap:10px; }
}
