/* 2026-08-26 改版调色板：中性暖灰底 + 珊瑚橙主色 + 按内容类型配色（股票橙 / 概念青 / 板块紫 / 方法论蓝）。
   变量名沿用旧纸感时代的叫法（--paper/--seal…），四个页面模板与站内组件都在引用，只换值不换名。 */
/* 等宽字自托管 JetBrains Mono（参考站同款，OFL 开源，latin 子集 21KB×2）：日期 / 编号 / 代码
   的字形是参考站观感的重要一环，系统 SF Mono 顶不上。unicode-range 限拉丁——中文照走系统字。 */
@font-face{
  font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:"JetBrains Mono"; font-style:normal; font-weight:600; font-display:swap;
  src:url("fonts/jetbrains-mono-latin-600-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --paper:#fafafa; --paper-2:#f0efec; --ink:#2b2926; --ink-2:#45413b; --ink-soft:#6e6a63;
  --muted:#7d786f; --rule:#e7e6e3; --hair:rgba(50,45,38,.08); --seal:#b4543a; --seal-soft:#c97a62; --card:#ffffff;
  --accent-bg:#fbeae4; --err:#b3402c;
  --t-stock:#b4543a; --t-concept:#1f7a68; --t-sector:#6d5bb0; --t-method:#2e6fa8;
  --measure:44rem; /* 内容列宽＝参考站实测 702px（复刻级别），浮动按钮与 .wrap/.topbar-in 都对齐它 */
  --faint:#dddad5; /* 非首条编号的极淡灰（参考站 #ddd 的暖化） */
  --sans:system-ui,-apple-system,"PingFang SC","Noto Sans SC","Hiragino Sans GB","Helvetica Neue",sans-serif;
  /* 标题衬线换宋体打头（参考站同序）：中文字形本就落宋体，改的是拉丁/数字部分——
     原先 Iowan/Palatino 在前，标题里的英文与数字和参考站不是一副面孔 */
  --serif:"Songti SC","Noto Serif SC","Source Han Serif SC",Georgia,serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; /* 日期/编号/代码的等宽字（上方自托管） */
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#1b1a18; --paper-2:#252320; --ink:#ece9e3; --ink-2:#cbc6bd; --ink-soft:#b9b4ab;
    --muted:#8f8a80; --rule:#35322c; --hair:rgba(240,236,228,.08); --seal:#d97e5c; --seal-soft:#c97a62; --card:#242220;
    --faint:#494540;
    --accent-bg:#33261f; --err:#e0735a;
    --t-stock:#d97e5c; --t-concept:#4aa58e; --t-sector:#a495e0; --t-method:#6ea3d1;
  }
}
*{box-sizing:border-box; margin:0; padding:0}
/* hidden 属性必须压过 .chips/.results 的 display:flex（否则搜索时筛选条/容器藏不掉） */
[hidden]{display:none !important}
html{scroll-behavior:smooth}
/* 改版后正文基准改无衬线（衬线只留给标题与 .prose 正文），基准 16px 更接近应用感。
   行高 1.8 + 字距 .05em 照参考站全局实测——这层宽松字距是它「版式感」的底色，逐级继承。 */
body{background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.8; letter-spacing:.05em; line-break:strict;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  /* 移动端：禁双击放大（保留滚动/点击）；电脑端缩放不受影响 */
  touch-action:manipulation; -webkit-text-size-adjust:100%}
.wrap{max-width:var(--measure); margin:0 auto; padding:1.9rem 1.5rem 5.5rem}
/* ── 简报式首页（2026-08-26 晚改版）：细线顶栏 + 居中刊头 ── */
/* 顶栏照参考站：底线是内容列宽的 2px 主色线（不再全宽通栏灰线），品牌名收成无衬线小字。 */
.topbar{background:var(--paper)}
.topbar-in{max-width:var(--measure); margin:0 auto; padding:1.3rem 1.5rem .95rem; display:flex; align-items:center;
  border-bottom:2px solid var(--seal)}
.brand-name{font-family:var(--sans); font-size:.95rem; font-weight:700; color:var(--seal); letter-spacing:.05em}
.topnav{margin-left:auto; display:flex; align-items:center; gap:1.5rem}
.nav-link{display:inline-flex; align-items:center; gap:.35rem; font-family:var(--sans); font-size:.95rem; color:var(--ink-soft);
  background:none; border:0; padding:0; cursor:pointer; line-height:1.5; transition:color .15s}
.nav-link:hover{color:var(--ink)}
.nav-link:focus-visible{outline:2px solid var(--seal-soft); outline-offset:3px}
.hero{text-align:center; margin:2.5rem 0 .4rem} /* 上沿 2.5rem 照参考站 page-header 的节奏 */
.hero-title{font-family:var(--serif); font-size:2rem; font-weight:800; color:var(--ink); letter-spacing:.05em; line-height:1.35; margin:0} /* 32px，用户在画布上定的；字距对齐参考站标题 */
.hero-sub{font-family:var(--sans); font-size:.95rem; color:var(--muted); margin:.6rem 0 0}
@media (max-width:740px){ .hero-title{font-size:1.5rem} } /* 参考站手机端 page-header h1 同值 */
.kicker{font-family:var(--sans); font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:.55rem}
@media (max-width:430px){ .kicker-en{display:none} } /* 窄屏藏英文副标，防顶栏折行 */
.seal{display:inline-flex; align-items:center; justify-content:center; width:1.7rem; height:1.7rem; background:var(--accent-bg); color:var(--seal); border-radius:8px; font-size:.78rem; font-weight:700; font-family:var(--serif); transform:rotate(-4deg)}
h1.brand{font-family:var(--serif); font-size:1.95rem; font-weight:600; letter-spacing:-.015em; margin:.45rem 0 0}
.search-wrap{position:relative; margin:1.2rem 0 .95rem}
/* 放大镜换成描线 SVG（emoji 是彩色的、与新配色打架）；CSP 已放行 img-src data:。暗色下换浅描边一版。 */
.search-wrap::before{content:""; position:absolute; left:15px; top:50%; transform:translateY(-50%); width:16px; height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%237d786f' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.6'/%3E%3Cpath d='M10.5 10.5 L14 14'/%3E%3C/svg%3E") center/contain no-repeat}
@media (prefers-color-scheme: dark){
  .search-wrap::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%238f8a80' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.6'/%3E%3Cpath d='M10.5 10.5 L14 14'/%3E%3C/svg%3E")}
}
/* 字号定死 1rem(16px)：iOS 聚焦输入框时，字号<16px 会自动放大整页。之前靠 @media
   (pointer:coarse) 才升到 16px、桌面基准只有 .92rem(14.72px)——审计工具/无触控模拟的量法
   量到的正是这个基准值，不如直接把基准定到 16px，不依赖媒体查询是否命中。 */
.search{width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink); background:var(--card);
  border:1px solid var(--rule); border-radius:6px; padding:.65rem .9rem .65rem 2.4rem; outline:none; transition:border-color .2s, box-shadow .2s}
/* 首页搜索框是全圆角胶囊；表单里的输入框/文本域用上面的 6px（2026-08-28 从 12px 收敛，对齐参考站表单的克制圆角） */
.search-wrap .search{border-radius:999px; padding-right:2.4rem; box-shadow:0 1px 2px rgba(50,45,38,.04)} /* 右侧给清除按钮留位 */
.search-clear{position:absolute; right:5px; top:50%; transform:translateY(-50%); width:2rem; height:2rem;
  border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:.82rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:color .18s, background .18s}
.search-clear:hover{color:var(--seal); background:var(--paper-2)}
.search::placeholder{color:var(--muted)}
.search:focus{border-color:var(--seal-soft); box-shadow:0 0 0 3px rgba(180,84,58,.09)}
/* 类型筛选：安静的小胶囊，选中态用深底（参照 ai-digest 的克制点缀），居中排 */
.chips{display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; font-family:var(--sans); font-size:.82rem; margin-bottom:.4rem}
.chip .n{opacity:.55; font-size:.9em; margin-left:.15em} /* chip 里的条数（构建期按数据生成） */
.chip{display:inline-flex; align-items:center; padding:.3rem .8rem; border-radius:999px;
  color:var(--ink-soft); cursor:pointer; transition:color .18s, background .18s; background:transparent; user-select:none}
.chip:hover{color:var(--seal)}
.chip:focus-visible{outline:2px solid var(--seal-soft); outline-offset:2px}
.chip.on{background:var(--ink); color:var(--paper)}
.chip.on .n{opacity:.7}
/* 触控目标 ≥44px（移动端可用性标准，实测原有 31px 高不够）：只加大纵向留白，横向不变，
   避免变胖挤占换行；桌面端鼠标点击精度够，不需要这层加大，保持原本的紧凑密度。 */
@media (max-width:520px){ .chip{padding:.7rem .78rem} }
.rule-grad{height:1px; background:linear-gradient(90deg, transparent 0%, var(--hair) 16%, var(--hair) 84%, transparent 100%)}
/* 筛选区：居中，不再吸顶（简报式版面顶栏已常驻）。
   min-height 兜住搜索框高度：chips 被搜索态 display:none 掉时行高也不塌，版面不跳。 */
.filterbar{margin:1.4rem 0 1.6rem; position:relative; min-height:2.75rem;
  display:flex; flex-direction:column; justify-content:center}
/* 搜索框展开不挤压版面：绝对定位悬浮在筛选行位置（不占文档流），展开时筛选行原地
   隐位（visibility 保高度）——原先 hidden 切换会把 chips 和整列卡片往下推、页面跳动。 */
.filterbar .search-wrap{position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  max-width:30rem; margin:0 auto; z-index:5}
.filterbar.searching .chips{visibility:hidden}
.filterbar .chips{margin-bottom:0}
.count{display:inline-flex; align-items:center; font-family:var(--sans); font-size:.75rem; color:var(--muted); opacity:.75; padding-left:.3rem} /* 筛选行末尾的行内计数，不单独占行 */
/* ── 简报式信息流（复刻 ai-digest 实测规格）：一天一张卡，卡内编号列条目、无分割线 ──
   参考值（1280 视口实测）：卡 702px / padding 25.6px 32px / radius 6px / shadow 0 1px 4px 5%；
   首条 18px、编号与加粗段同用强调色；其余条 14.7px、编号极淡灰、粗体段近黑、正文灰。 */
.article-list{list-style:none; margin-top:.2rem; display:flex; flex-direction:column; gap:1rem}
.day-card{background:var(--card); border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.05); padding:1.6rem 2rem;
  transition:box-shadow .3s ease, transform .3s ease}
/* 参考站的卡片手感：悬浮抬起加深投影、按下轻微收缩、卡内灰字整体加深一档 */
.day-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1); transform:translateY(-2px)}
.day-card:active{transform:translateY(0) scale(.985); box-shadow:0 1px 3px rgba(0,0,0,.06); transition:box-shadow .1s, transform .1s}
.day-card:hover .eline{color:var(--ink-soft)}
.day-card.hide{display:none}
@media (max-width:740px){ .day-card{padding:1.4rem 1.5rem} } /* 参考站手机端卡 padding */
.day-head{display:flex; align-items:baseline; gap:.6rem; margin-bottom:.1rem}
.day-date{font-family:var(--mono); font-size:.88rem; color:var(--muted); letter-spacing:.02em}
.day-meta{margin-left:auto; font-family:var(--mono); font-size:.75rem; color:var(--muted); opacity:.65; letter-spacing:.02em}
/* 条目编号用 CSS 计数器：只数没被筛掉的条目，筛选后自动 01 02… 重排、不留空号 */
.day-entries{margin-top:.6rem; counter-reset:entry}
.article-card{display:block}
.article-card.hide{display:none}
.article-card:not(.hide){counter-increment:entry}
.entry{display:flex; gap:.8rem; align-items:baseline; padding:.38rem 0; text-decoration:none; color:inherit}
.num{flex:none; font-family:var(--mono); font-size:1.1rem; font-weight:600; color:var(--faint); width:1.8rem; text-align:right} /* 编号列右对齐（参考站规格），条目文字左缘因此齐成一条线 */
.num::before{content:counter(entry, decimal-leading-zero)}
.eline{font-family:var(--sans); font-size:.92rem; line-height:1.7; color:var(--muted);
  display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ehead{font-weight:650; color:var(--ink); transition:color .18s}
.entry:hover .ehead{color:var(--seal)}
/* 每天的第一条整级放大：18px + 编号与加粗段同用主色、正文深一档（参考站的 01 强调层级） */
.day-entries .article-card:first-child .entry{padding:.3rem 0 .45rem}
.day-entries .article-card:first-child .num{color:var(--seal); font-size:1.1rem}
.day-entries .article-card:first-child .eline{font-size:1.13rem; line-height:1.6; color:var(--ink-2)}
.day-entries .article-card:first-child .ehead{color:var(--seal)}
.day-entries .article-card:first-child .entry:hover .ehead{color:var(--err)}
.code{font-family:var(--mono); font-size:.74rem; font-weight:400; color:var(--muted); opacity:.7; letter-spacing:0; white-space:nowrap}
/* 行尾标注：股票是涨跌小字，少数派类型（概念/板块…）是彩色类型字（颜色按 data-type 走） */
.dir{font-family:var(--sans); font-size:.76rem; font-weight:600; white-space:nowrap}
.tprefix{font-family:var(--sans); font-size:.76rem; font-weight:600; color:var(--seal); white-space:nowrap}
.article-card[data-type="概念"] .tprefix{color:var(--t-concept)}
.article-card[data-type="板块"] .tprefix{color:var(--t-sector)}
.article-card[data-type="方法论"] .tprefix{color:var(--t-method)}
/* 同一标的多份报告（2026-08-28 起旧篇不再单独出条目）：最新条目行尾挂「第 N 次 · X 天后」，
   历史各篇收进条目下方的「历史调研」小字行，日期链到当次报告。 */
.series-badge{font-family:var(--sans); font-size:.68rem; letter-spacing:.02em;
  color:var(--seal); background:var(--accent-bg); border-radius:999px; padding:.1rem .5rem; white-space:nowrap}
.series-history{font-family:var(--sans); font-size:.72rem; color:var(--muted);
  padding:0 0 .55rem 2.6rem; margin-top:-.3rem} /* 左缩进=编号列 1.8rem+间隙 .8rem，与条目文字对齐 */
.series-history a{font-family:var(--mono); color:var(--muted); text-decoration:none; letter-spacing:.02em; transition:color .2s ease}
.series-history a:hover{color:var(--seal)}
.series-history-dot{color:var(--faint)}
.series-history a.series-archive{font-family:var(--sans); color:var(--seal); letter-spacing:.02em}
.series-history a.series-archive:hover{color:var(--err)}
/* 滚动逐条浮现（feed.js 的 bindReveal；隐藏态只在 JS 启动后才加，脚本不跑时内容直接可见） */
body.js-reveal .day-card{opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s ease}
body.js-reveal .day-card.shown{opacity:1; transform:none}
/* 首屏同时可见的头几张卡按参考站加阶梯延迟，逐张浮现而非一齐弹出 */
body.js-reveal .day-card:nth-child(2){transition-delay:.06s}
body.js-reveal .day-card:nth-child(3){transition-delay:.12s}
body.js-reveal .day-card:nth-child(4){transition-delay:.18s}
@media (prefers-reduced-motion: reduce){ body.js-reveal .day-card{opacity:1; transform:none; transition:none} }
/* （2026-08-28 移除了 .is-superseded / .series-newer 那套「旧篇压暗 + 已有更新版」样式：
   旧报告不再出现在首页与搜索，历史入口收进最新条目下的 .series-history 行。） */
/* 窄屏收起「X 天后」：标题 + 角标 + 日期三项挤在一行，「第 N 次」才是必须看见的那半截 */
@media (max-width:480px){ .series-gap{display:none} }

/* 方向标记颜色：从股票导语开头的固定句式提炼，红绿一眼分涨跌；简报式下是行尾小字、不带底色。
   绿/琥珀站内无变量，此处专用（与 check 页 vchip 同策略）。 */
.dir.down{color:var(--err)}
.dir.up{color:#2f7d54}
.dir.flat{color:#9a7420}
@media (prefers-color-scheme: dark){
  .dir.up{color:#5aa87e}
  .dir.flat{color:#c9a04a}
}
.results{margin-top:1rem; display:flex; flex-direction:column; gap:.7rem}
.result a{display:block; text-decoration:none; color:inherit; background:var(--card); border-radius:16px;
  border:1px solid var(--hair); padding:1.1rem 1.4rem; box-shadow:0 1px 2px rgba(0,0,0,.03); transition:box-shadow .25s ease, transform .18s ease}
.result a:hover{box-shadow:0 12px 26px rgba(0,0,0,.1); transform:translateY(-3px)}
.result h3{font-family:var(--serif); font-size:1.2rem; font-weight:600; margin-bottom:.3rem}
.result .ex{color:var(--ink-soft); font-size:.92rem; line-height:1.55}
.result .ex mark{background:rgba(180,84,58,.18); color:inherit; padding:0 .1em; border-radius:2px}
.result .rmeta{font-family:var(--sans); font-size:.7rem; color:var(--muted); margin-top:.4rem}
.empty{margin-top:2rem; text-align:center; color:var(--muted); font-family:var(--sans); font-size:.9rem}
/* 页脚（参考站规格：居中 .8rem 灰字，链接点隔）：首页原先滚到底就戛然而止，补一个收束 */
.site-foot{text-align:center; padding:3.5rem 0 0; font-size:.8rem; color:var(--muted)}
.foot-links{display:flex; justify-content:center; align-items:center; gap:.6rem; margin-bottom:.6rem}
.foot-links a, .foot-links .linklike{color:var(--muted); font-size:.8rem; text-decoration:none; transition:color .15s}
.foot-links a:hover, .foot-links .linklike:hover{color:var(--ink-soft); border-bottom:0}
.foot-dot{color:var(--faint)}
/* 右下角浮动按钮：刷新（常驻）+ 回到顶部（滚动后浮现），共用外观 */
.to-top, .to-refresh{position:fixed; right:max(20px, calc((100vw - var(--measure)) / 2 - 56px)); width:44px; height:44px; border-radius:50%;
  background:var(--card); border:1px solid var(--rule); color:var(--seal); font-size:1.15rem;
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:50;
  box-shadow:0 4px 14px rgba(0,0,0,.1);
  transition:opacity .3s ease, transform .3s ease, box-shadow .2s ease, border-color .2s ease}
.to-top:hover, .to-refresh:hover{transform:translateY(-3px); box-shadow:0 9px 22px rgba(0,0,0,.15); border-color:var(--seal-soft)}
.to-top:active, .to-refresh:active{transform:translateY(-1px) scale(.95)}
.to-refresh{bottom:20px}                                                          /* 常驻最底 */
.to-top{bottom:74px; opacity:0; transform:translateY(10px); pointer-events:none}  /* 叠其上方，滚动后浮现 */
.to-top.show{opacity:1; transform:none; pointer-events:auto}
/* 窄屏下按钮会压住正文列：向下滚（阅读）时藏起，向上滚/近顶时再浮现（feed.js 切 body.fab-hide） */
@media (max-width:900px){
  body.fab-hide .to-top, body.fab-hide .to-refresh{opacity:0; transform:translateY(14px); pointer-events:none}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .article-card{animation:none}
  .card-link, .card-title{transition:none !important; transform:none !important}
}

/* ── 提交表单页（M2a） ── */
.submit-form{margin-top:1.4rem; display:flex; flex-direction:column; gap:1.05rem}
.field{display:flex; flex-direction:column; gap:.4rem}
.field-label{font-family:var(--sans); font-size:.78rem; letter-spacing:.04em; color:var(--ink-soft)}
.field-label em{color:var(--seal); font-style:normal}
.search.ta{line-height:1.55; resize:vertical; min-height:2.6rem; font-family:var(--sans)}
/* 提交按钮照参考站表单按钮的手感：小圆角实心块、hover 只加深底色不上浮（原为胶囊+上浮大阴影） */
.submit-btn{align-self:flex-start; font-family:var(--sans); font-size:.95rem; font-weight:500; color:#fff;
  background:var(--seal); border:0; border-radius:6px;
  padding:.55rem 1.4rem; cursor:pointer; transition:background .15s}
.submit-btn:hover:not(:disabled){background:#9c4630}
.submit-btn:active{transform:scale(.98)}
@media (prefers-color-scheme: dark){ .submit-btn:hover:not(:disabled){background:#c46a4a} }
/* 禁用态（未授权 / 查重拦截 / 请求在途）：一眼可辨不可点，去掉悬浮动效。写在 hover/active 之后以覆盖之 */
.submit-btn:disabled{opacity:.45; cursor:not-allowed; transform:none; box-shadow:none}
/* 提交状态：横幅式（带底色 + 左侧色条），比纯文字更难被忽略 */
.form-status{font-family:var(--sans); font-size:.9rem; line-height:1.5; margin:0;
  padding:.6rem .85rem; border-radius:6px; border-left:3px solid currentColor; font-weight:500}
.form-status[data-kind="success"]{color:var(--seal); background:rgba(180,84,58,.1)}
.form-status[data-kind="error"]{color:var(--err); background:rgba(179,64,44,.1)}
.form-status[data-kind="pending"]{color:var(--ink-soft); background:var(--paper-2)}
/* warn = 提交成功但服务端降级（没记下邮箱）：比 error 弱、比 success 显眼。
   落点在 done 面板（#done-warn），不是表单里的 #form-status——后者随表单隐藏、写了也看不见。 */
.done-warn{margin:.6rem 0 0; padding:.55rem .7rem; border-radius:6px;
  color:var(--seal); background:rgba(180,84,58,.12); font-size:.92rem; line-height:1.6; text-align:left}
.fineprint{font-family:var(--sans); font-size:.74rem; color:var(--muted); margin:0}
.dup-notice{font-family:var(--sans); font-size:.82rem; line-height:1.5; color:var(--ink-soft); margin:-.2rem 0 .2rem;
  padding:.55rem .7rem; background:var(--paper-2); border:1px solid var(--rule); border-left:3px solid var(--seal); border-radius:6px}
.dup-notice a{color:var(--seal); border-bottom:1px solid transparent; transition:border-color .2s}
.dup-notice a:hover{border-bottom-color:var(--seal-soft)}
@media (prefers-reduced-motion: reduce){ .submit-btn{transition:none !important} }
/* 提交入口在顶栏（.nav-link），不再需要单独的 CTA 按钮样式 */

/* ── 提交弹窗（入口在首页内）── */
.modal-backdrop{position:fixed; inset:0; z-index:100; background:rgba(20,16,10,.46);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  display:flex; align-items:flex-start; justify-content:center; padding:4.5vh 1rem; overflow-y:auto;
  animation:backdropIn .22s ease}
@keyframes backdropIn{from{opacity:0} to{opacity:1}}
.modal-card{position:relative; width:min(34rem,100%); margin:0 auto;
  background:var(--paper); border:1px solid var(--rule); border-radius:8px;
  padding:1.7rem 1.7rem 1.5rem; box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:riseIn .42s cubic-bezier(.2,.7,.2,1) backwards} /* 圆角 16→8：对齐 2026-08-28 参考站口径（卡 6 / 浮层 8） */
.modal-close{position:absolute; top:.8rem; right:.85rem; width:2rem; height:2rem; border-radius:50%;
  background:transparent; border:1px solid var(--rule); color:var(--ink-soft); font-size:.85rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:color .18s ease, border-color .18s ease, transform .25s ease}
.modal-close:hover{color:var(--seal); border-color:var(--seal-soft); transform:rotate(90deg)}
.modal-title{font-family:var(--serif); font-size:1.5rem; font-weight:600; letter-spacing:-.01em; margin:.4rem 0 0}
.modal-lead{color:var(--ink-soft); font-size:.92rem; line-height:1.6; margin:.5rem 0 0}
.modal-hint{background:var(--accent-bg); border-left:3px solid var(--seal); border-radius:0 6px 6px 0;
  padding:.5rem .8rem; margin:.7rem 0 0; font-size:.84rem; line-height:1.5; color:var(--ink-soft)}
/* 未授权提示是阻断性信息，必须与普通贴士拉开层级 */
.modal-hint[data-kind="error"]{border-left-color:var(--err); color:var(--err); background:rgba(179,64,44,.08)}
.modal-card .submit-form{margin-top:1.1rem}
.ts-widget{min-height:65px}
.linklike{background:none; border:0; padding:0; font:inherit; color:var(--seal); cursor:pointer}
.linklike:hover{border-bottom:1px solid var(--seal-soft)}
body.modal-lock{overflow:hidden}
@media (max-width:520px){
  /* 手机端：收紧留白 + 字号，并让卡片不超过视口高度（内部滚动），关键操作尽量一屏可见 */
  .modal-backdrop{padding:1.4vh .6rem; align-items:stretch}
  .modal-card{width:100%; padding:1.2rem 1rem 1.1rem; max-height:97vh; overflow-y:auto;
    overscroll-behavior:contain; -webkit-overflow-scrolling:touch}
  .modal-title{font-size:1.28rem; margin-top:.3rem}
  .modal-lead{font-size:.85rem; line-height:1.5; margin-top:.4rem}
  .modal-hint{font-size:.8rem; line-height:1.45; padding:.45rem .65rem; margin-top:.55rem}
  .modal-card .submit-form{margin-top:.85rem; gap:.7rem}
  .field{gap:.3rem}
  .search.ta{min-height:2.1rem}
  .fineprint{display:none}   /* 同样的话术 modal-lead 已经说过，手机端省一行 */
}
@media (max-width:344px){
  .modal-card{padding:1.2rem .7rem 1.1rem}
  .ts-widget{transform:scale(.86); transform-origin:left top}
}
@media (prefers-reduced-motion: reduce){
  .modal-backdrop, .modal-card{animation:none !important}
  .modal-close{transition:none !important}
}

/* 提交成功确认卡（M2a） */
.submit-done{margin-top:2.2rem; text-align:center; animation:riseIn .5s cubic-bezier(.2,.7,.2,1) backwards}
.done-seal{width:3rem; height:3rem; margin:0 auto .9rem; border:1.6px solid var(--seal); color:var(--seal);
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; transform:rotate(-4deg)}
.done-title{font-family:var(--serif); font-size:1.7rem; font-weight:600; color:var(--ink); margin:0 0 .5rem}
.done-text{color:var(--ink-soft); font-size:1rem; line-height:1.65; margin:0 auto; max-width:24rem}
.done-text a{color:var(--seal); text-decoration:none; border-bottom:1px solid var(--seal-soft)}
.done-sub{margin-top:1.3rem; font-family:var(--sans); font-size:.85rem}
.done-sub a{color:var(--seal); text-decoration:none}
.done-sub a:hover{border-bottom:1px solid var(--seal-soft)}
@media (prefers-reduced-motion: reduce){ .submit-done{animation:none} }

/* ── 事实核查结果正文（check.html 专用；裁定条 / 列表卡片等其余组件在 check.css）── */
.prose{font-family:var(--serif); color:var(--ink); font-size:1.06rem; line-height:1.7} /* body 基准降到 16px 后，正文阅读区补回一点字号 */
.prose h2{font-size:1.24rem; font-weight:600; margin:1.5rem 0 .55rem; padding-bottom:.28rem; border-bottom:1px solid var(--hair)}
.prose h3{font-size:1.06rem; font-weight:600; margin:1.05rem 0 .4rem}
.prose p{margin:.55rem 0}
.prose ul,.prose ol{margin:.55rem 0 .55rem 1.4rem}
.prose li{margin:.28rem 0}
.prose a{color:var(--seal); border-bottom:1px solid var(--seal-soft); text-decoration:none}
.prose a:hover{border-bottom-width:2px}
.prose strong{font-weight:600}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.88em; background:var(--paper-2); padding:.05rem .3rem; border-radius:4px}
.prose blockquote{margin:.55rem 0; padding:.15rem 0 .15rem .9rem; border-left:3px solid var(--seal-soft); color:var(--ink-soft)}
.prose table{width:100%; border-collapse:collapse; margin:.8rem 0; font-family:var(--sans); font-size:.82rem; display:block; overflow-x:auto}
.prose th,.prose td{border:1px solid var(--rule); padding:.4rem .55rem; text-align:left; vertical-align:top}
.prose thead th{background:var(--paper-2); font-weight:600; white-space:nowrap}

/* ── 判断档案页（/s/<代码>/，2026-09-23）：走势图 + 判断表 + 时间线，版式沿用首页白卡 ── */
.arch .arch-head{margin:2.2rem 0 1.2rem}
.arch-title{font-family:var(--serif); font-size:1.7rem; font-weight:800; letter-spacing:.05em; line-height:1.35; margin:0; color:var(--ink)}
.arch-title .code{font-size:.85rem; opacity:.8; margin-left:.3rem; vertical-align:middle}
.arch-sub{font-size:.85rem; color:var(--muted); margin:.4rem 0 0; line-height:1.6}
.arch-card{background:var(--card); border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.05); padding:1.4rem 1.6rem; margin:0 0 1rem}
@media (max-width:740px){ .arch-card{padding:1.1rem 1rem} }
.arch-h{font-family:var(--sans); font-size:.95rem; font-weight:650; color:var(--ink); margin:0 0 .8rem; letter-spacing:.05em}
.arch-chart{display:block; width:100%; height:auto}
.arch-chart .arch-axis{stroke:var(--rule); stroke-width:1}
.arch-chart .arch-line{fill:none; stroke:var(--muted); stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round}
.arch-chart .arch-tick{font-family:var(--mono); font-size:11px; fill:var(--muted)}
.arch-chart .arch-now{fill:var(--muted)}
.arch-mk circle{stroke:var(--card); stroke-width:2}
.arch-mk text{font-family:var(--mono); font-size:10px; font-weight:600; fill:#fff}
.arch-mk.flat circle{fill:#9a7420} .arch-mk.up circle{fill:#2f7d54} .arch-mk.down circle{fill:var(--err)} .arch-mk.latest circle{fill:var(--seal)}
@media (prefers-color-scheme: dark){
  .arch-mk.flat circle{fill:#c9a04a} .arch-mk.up circle{fill:#5aa87e}
  .arch-mk text{fill:#1b1a18}
}
.arch-cap{font-size:.75rem; color:var(--muted); margin:.5rem 0 0; line-height:1.6}
/* 手机上整张图缩到约一半，按 viewBox 写的字号只剩 5px：放大点和字，纵轴两个价位收起（价格表里都有） */
@media (max-width:480px){
  .arch-chart .arch-tick{font-size:20px}
  .arch-chart .arch-tick.y{display:none}
  .arch-chart .arch-line{stroke-width:2.5}
  .arch-mk circle{r:15px}
  .arch-mk text{font-size:17px}
  .arch-chart .arch-now{r:5px}
}
.arch-table{width:100%; border-collapse:collapse; font-size:.86rem; line-height:1.5}
.arch-table th{font-weight:400; font-size:.74rem; color:var(--muted); text-align:left; padding:.35rem .4rem; border-bottom:1px solid var(--rule); white-space:nowrap}
.arch-table td{padding:.55rem .4rem; border-bottom:1px solid var(--rule); vertical-align:baseline}
.arch-table tr:last-child td{border-bottom:0}
.arch-table td a{color:var(--ink); text-decoration:none; white-space:nowrap}
.arch-table td a:hover{color:var(--seal)}
.arch-table tr.latest td a{color:var(--seal)}
.arch-table .mono,.arch-tl .mono{font-family:var(--mono); letter-spacing:.02em}
.arch-table td.up{color:#2f7d54} .arch-table td.down{color:var(--err)}
@media (prefers-color-scheme: dark){ .arch-table td.up{color:#5aa87e} }
.arch-n{display:inline-block; min-width:1.3rem; font-family:var(--mono); font-size:.75rem; color:var(--muted); margin-right:.25rem}
.arch-cd{display:block; font-size:.68rem; color:var(--muted); line-height:1.3}
.arch-conf{display:inline-block; font-size:.74rem; color:var(--muted); margin-left:.45rem; white-space:nowrap}
.arch-muted{color:var(--muted)}
@media (max-width:480px){ .arch-conf{display:block; margin-left:0} .arch-table{font-size:.8rem} .arch-table td,.arch-table th{padding-left:.25rem; padding-right:.25rem} .arch-table th{white-space:normal} }
.arch-tl{list-style:none; margin:0; padding:0 0 0 1rem; border-left:2px solid var(--rule)}
.arch-tl-item{position:relative; padding:0 0 1.1rem .4rem}
.arch-tl-item:last-child{padding-bottom:.2rem}
.arch-tl-item::before{content:""; position:absolute; left:calc(-1rem - 6px); top:.55rem; width:10px; height:10px; border-radius:50%; background:var(--faint); border:2px solid var(--card)}
.arch-tl-item.latest::before{background:var(--seal)}
.arch-tl-meta{display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .6rem; font-size:.82rem}
.arch-tl-meta a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--rule)}
.arch-tl-meta a:hover{color:var(--seal); border-color:var(--seal-soft)}
.arch-tl-item.latest .arch-tl-meta a{color:var(--seal)}
.arch-n-text{font-size:.75rem; color:var(--muted)}
.arch-tl-meta .arch-conf{margin-left:0}
.arch-tl-lead{font-size:.9rem; line-height:1.75; color:var(--ink-2); margin:.25rem 0 0}
.arch-tl-item:not(.latest) .arch-tl-lead{color:var(--ink-soft)}
.arch-tl-diff{font-size:.75rem; color:var(--muted); margin:.15rem 0 0}
.arch-foot{font-size:.74rem; color:var(--muted); line-height:1.7; margin:1.2rem 0 0}
a.brand-name{text-decoration:none}
/* 搜索结果卡片下的档案入口（卡片本身是 <a>，入口在链接之外单独一行） */
/* 选择器要压过 .result a（整卡链接的白底圆角投影），否则入口会被画成第二张卡 */
.result a.rarchive{display:inline-block; background:none; border:0; box-shadow:none; border-radius:0; padding:0; transform:none;
  font-size:.75rem; color:var(--seal); text-decoration:none; margin:.35rem 0 0 .4rem}
.result a.rarchive:hover{color:var(--err); box-shadow:none; transform:none}
