/* ============================================================
   每周进展 — Weekly Progress
   暖色编辑风(奶油底 + 一点赤陶色重点色)。设计系统改编自
   同事的 msft-update 站点,字体换成 Google Fonts 上的
   Fraunces / Urbanist / Geist Mono,并为中文补了系统字体回退。
   —— 想换主题:只改下面 :root 里的颜色变量即可。
   ============================================================ */

:root {
  --ease: cubic-bezier(.33, 0, .15, 1);

  /* —— 配色(想整体换风格,主要改这几行)—— */
  --bg:      #faf4e8;   /* 页面底色:奶油白 */
  --panel:   #f2eadb;
  --panel-2: #ece2d1;
  --line:    rgba(60,48,36,.11);
  --line-2:  rgba(60,48,36,.18);
  --text:    #453d33;   /* 正文墨色 */
  --muted:   #6f665a;   /* 次要文字 */
  --dim:     #a89e8c;   /* 更淡的说明文字 */
  --accent:  #bd5a38;   /* 唯一重点色:赤陶 */
  --accent-dim: rgba(189,90,56,.5);

  --panel-fill: #fefaf0;
  --panel-edge: #e7ddc9;
  --panel-lo: rgba(60,48,36,.05);

  /* 终端块(命令/代码)配色:奶油底上的深色卡片 */
  --term-bg:    #16140e;
  --term-fill:  #1b1912;
  --term-edge:  #322e22;
  --term-text:  #ece6d4;
  --term-muted: #a49c88;
  --term-dim:   #6f6a58;
  --term-accent: #ef9d62;

  /* 状态点:已完成 / 进行中 / 下周 */
  --ok:   #5a7d4e;   /* 橄榄绿 —— 已完成 */
  --wip:  #bd5a38;   /* 赤陶 —— 进行中 */
  --next: #7a6f5e;   /* 灰褐 —— 计划中 */

  /* —— 字体(英文/数字用 Google Fonts,中文回退系统字体)—— */
  --serif: 'Fraunces', 'Songti SC', 'STSong', 'Noto Serif SC', Georgia, serif;
  --sans:  'Urbanist', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', -apple-system, system-ui, sans-serif;
  --mono:  'Geist Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --maxw: 1080px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; scrollbar-gutter: stable; }
body {
  margin: 0; color: var(--text);
  background:
    radial-gradient(72% 55% at 86% 0%, rgba(240,206,190,.55), transparent 60%),
    radial-gradient(66% 52% at 4% 6%, rgba(238,210,197,.45), transparent 62%),
    var(--bg);
  background-attachment: fixed;
  font-family: var(--sans); font-size: 16px; line-height: 1.8; font-weight: 450;
  overflow-x: clip; -webkit-font-smoothing: antialiased;
}
::selection { background: var(--accent); color: #f6f2e8; }
a { color: var(--text); text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }

/* ---------- 标题 / 文字层级 ---------- */
.eyebrow {
  font-family: var(--mono); font-size: 11.5px; letter-spacing: 2.5px;
  text-transform: uppercase; color: var(--dim); margin: 0 0 22px;
}
h1 { font-family: var(--serif); font-weight: 350; font-variation-settings: 'opsz' 144, 'wght' 350; font-size: clamp(40px, 5.2vw, 68px); line-height: 1.08; letter-spacing: -0.015em; margin: 0 0 22px; text-wrap: balance; }
h2 { font-family: var(--serif); font-weight: 370; font-variation-settings: 'opsz' 144, 'wght' 370; font-size: clamp(28px, 3.8vw, 44px); line-height: 1.14; letter-spacing: -0.01em; margin: 0 0 20px; }
h3 { font-family: var(--serif); font-weight: 420; font-size: clamp(21px, 2.4vw, 27px); line-height: 1.2; letter-spacing: -0.005em; margin: 0 0 14px; }
h1 em, h2 em, h3 em { font-style: italic; color: var(--accent); }
p { margin: 0 0 16px; }
.lead { font-size: clamp(17px, 1.5vw, 19px); color: var(--muted); max-width: 40em; }
code, .mono { font-family: var(--mono); font-size: .92em; }
:not(pre) > code { background: var(--panel-lo); border: 1px solid var(--line); border-radius: 5px; padding: 1px 6px; color: var(--text); }

/* ---------- 按钮 ---------- */
.btn-solid {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--sans); font-weight: 700; font-size: 15px;
  background: var(--accent); color: #f6f2e8; padding: 11px 24px; border-radius: 999px; border: 0;
  box-shadow: 0 8px 20px -12px rgba(189,90,56,.65);
  transition: transform .14s var(--ease), filter .14s ease, box-shadow .2s var(--ease);
}
.btn-solid:hover { filter: brightness(1.04); transform: translateY(-2px); }
.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--sans); font-weight: 600; font-size: 15px;
  color: var(--text); padding: 11px 24px; border-radius: 999px;
  border: 1px solid var(--panel-edge); background: var(--panel-fill);
  transition: border-color .14s ease, background .14s ease, transform .14s var(--ease);
}
.btn-ghost:hover { border-color: var(--accent-dim); background: #fff; transform: translateY(-1px); }
.btn-ghost.sm, .btn-solid.sm { padding: 7px 17px; font-size: 13.5px; }

/* ---------- 顶部导航 ---------- */
.nav { position: sticky; top: 0; z-index: 100; background: rgba(250,244,232,.72); backdrop-filter: blur(16px) saturate(1.15); border-bottom: 1px solid var(--line); }
.nav-inner { max-width: var(--maxw); margin: 0 auto; padding: 15px 28px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: baseline; gap: 9px; }
.brand-name { font-family: var(--sans); font-weight: 750; font-size: 16.5px; letter-spacing: -0.01em; white-space: nowrap; }
.brand-sub { font-family: var(--mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--dim); }
.nav-links { display: flex; align-items: center; gap: 24px; }
.nav-links a { color: var(--muted); font-size: 14px; font-weight: 550; transition: color .12s ease; }
.nav-links a:hover { color: var(--text); }

/* ---------- 首页 Hero ---------- */
.hero { padding: 68px 0 40px; position: relative; }
.hero .eyebrow { margin-bottom: 18px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; font-family: var(--mono); font-size: 12.5px; color: var(--muted); letter-spacing: .3px; }
.hero-meta b { color: var(--text); font-weight: 600; }
.hero-meta .dot { color: var(--dim); }

/* ---------- 分区骨架 ---------- */
.section { padding: 44px 0; position: relative; }
.section + .section { border-top: 1px solid var(--line); }
.section-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 26px; }
.section-head .num { font-family: var(--mono); font-size: 13px; color: var(--accent); letter-spacing: 1px; }
.section-head h2 { margin: 0; }

/* ---------- 滚动出现动画(需要 js,无 js 时也照常显示)---------- */
.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.js .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

/* ============================================================
   首页 —— 周报列表(“列表模板”的核心)
   ============================================================ */
.week-list { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.week {
  display: grid; grid-template-columns: 160px 1fr auto; align-items: baseline; gap: 20px;
  padding: 26px 8px; border-top: 1px solid var(--line);
  transition: background .16s ease;
}
.week:last-child { border-bottom: 1px solid var(--line); }
.week:hover { background: rgba(255,255,255,.4); }
.week-date { font-family: var(--mono); font-size: 13px; color: var(--muted); letter-spacing: .5px; }
.week-date .yr { color: var(--dim); }
.week-body h3 { margin: 0 0 6px; }
.week-body p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.7; }
.week-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 11px; }
.tag { font-family: var(--mono); font-size: 11px; letter-spacing: .5px; color: var(--muted); background: var(--panel-lo); border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px; }
.week-go { font-family: var(--mono); font-size: 13px; color: var(--accent); white-space: nowrap; opacity: 0; transform: translateX(-4px); transition: opacity .16s ease, transform .16s ease; }
.week:hover .week-go { opacity: 1; transform: none; }
.week.upcoming { opacity: .5; }
.week.upcoming .week-go { display: none; }

/* ============================================================
   单期周报 —— 正文骨架
   ============================================================ */
.report-wrap { max-width: 720px; margin: 0 auto; padding: 64px 28px 40px; }
.report-wrap p.report-meta { font-family: var(--mono); font-size: 11.5px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--dim); margin: 0 0 18px; }
.report-wrap h1 { font-weight: 350; font-size: clamp(34px, 4.4vw, 52px); font-variation-settings: 'opsz' 144, 'wght' 350; letter-spacing: -0.02em; line-height: 1.12; color: var(--text); margin: 0 0 20px; }
.report-lead { color: var(--muted); font-size: clamp(16.5px, 1.6vw, 18.5px); line-height: 1.75; margin: 0 0 6px; }
.report-lead b { color: var(--text); font-weight: 600; }

.report-sec { scroll-margin-top: 80px; }
.report-h2 { font-family: var(--serif); font-weight: 370; font-size: clamp(22px, 2.6vw, 28px); color: var(--text); letter-spacing: -0.015em; line-height: 1.2; margin: 58px 0 12px; }
.report-h2 .n { font-weight: 400; color: var(--muted); margin-right: 12px; }
.report-h3 { font-family: var(--serif); font-weight: 470; font-size: clamp(20px, 2.1vw, 22px); color: var(--text); letter-spacing: -0.01em; line-height: 1.25; margin: 42px 0 8px; scroll-margin-top: 80px; }
.report-h3 .n { font-weight: 400; color: var(--muted); margin-right: 10px; }
/* h4:小节里的“子标题”,做成 mono 眉标,和 serif 的大标题明显区分 */
.report-h4 { font-family: var(--mono); font-weight: 600; font-size: 12px; letter-spacing: 1.8px; text-transform: uppercase; color: var(--accent); margin: 40px 0 12px; scroll-margin-top: 80px; }
.report-wrap p { color: var(--muted); font-size: 16.5px; line-height: 1.85; margin: 0 0 20px; text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
/* 列表项也一并两端对齐，和段落保持一致 */
.report-wrap li { text-align: justify; text-justify: inter-word; hyphens: auto; -webkit-hyphens: auto; }
.report-wrap p b, .report-wrap li b { color: var(--text); font-weight: 650; }
.report-wrap p a, .report-wrap li a { color: var(--accent); }
.report-wrap p a:hover, .report-wrap li a:hover { text-decoration: underline; }
.report-wrap ul { color: var(--muted); font-size: 16px; line-height: 1.7; padding-left: 20px; margin: 0 0 20px; }
.report-wrap li { margin-bottom: 9px; }
.report-wrap :not(pre) > code { font-family: var(--mono); font-size: 13.5px; background: var(--panel-2); border: 1px solid var(--line); padding: 1px 6px; border-radius: 5px; color: var(--text); }

/* 行内状态小药丸 */
.status { font-family: var(--mono); font-size: 10.5px; letter-spacing: 1px; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--muted); white-space: nowrap; }
.status.done { color: var(--ok); border-color: rgba(90,125,78,.4); background: rgba(90,125,78,.06); }
.status.wip  { color: var(--accent); border-color: var(--accent-dim); background: rgba(189,90,56,.06); }
.status.plan { color: var(--next); border-style: dashed; }

/* ---------- 目录 TOC ---------- */
.toc { background: var(--panel-fill); border: 1px solid var(--panel-edge); border-radius: 14px; padding: 18px 22px 20px; margin: 30px 0 8px; }
.toc-t { font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--dim); margin: 0 0 10px; }
.toc ol { list-style: none; margin: 0; padding: 0; }
.report-wrap .toc a { display: inline-flex; gap: 11px; color: var(--text); font-size: 15px; padding: 5px 0; font-weight: 550; }
.toc a:hover { color: var(--accent); }
.toc .tnum { font-family: var(--mono); font-size: 12.5px; color: var(--accent); min-width: 24px; }
.toc ol ol { padding-left: 35px; }
.report-wrap .toc ol ol a { font-weight: 450; font-size: 14px; color: var(--muted); }
.toc ol ol a:hover { color: var(--accent); }

/* ---------- 本周概览:已完成 / 进行中 / 下周 三栏 ---------- */
.cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 24px 0; }
.col { background: var(--panel-fill); border: 1px solid var(--panel-edge); border-radius: 14px; padding: 20px 20px 22px; }
.col-head { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.col-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.col-title { font-family: var(--mono); font-size: 11.5px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); }
.col.done   .col-dot { background: var(--ok); }
.col.wip    .col-dot { background: var(--wip); box-shadow: 0 0 0 3px rgba(189,90,56,.15); }
.col.next   .col-dot { background: var(--next); }
.col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; font-size: 14.5px; }
.col li { position: relative; padding-left: 18px; line-height: 1.6; color: var(--text); margin: 0; }
.col li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 5px; height: 5px; border-radius: 50%; background: var(--dim); }
.col li .sub { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }

/* ---------- 关键数字 ---------- */
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin: 24px 0; }
.metric { background: var(--panel-fill); border: 1px solid var(--panel-edge); border-radius: 14px; padding: 20px 22px; }
.metric-n { font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 4vw, 42px); line-height: 1; letter-spacing: -0.02em; color: var(--text); }
.metric-n em { font-style: italic; color: var(--accent); }
.metric-k { font-family: var(--mono); font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); margin-top: 10px; }
.metric-d { font-size: 13px; color: var(--muted); margin-top: 6px; line-height: 1.6; }

/* ---------- 数据表 ---------- */
.tbl-block { margin: 22px 0; }
.tbl-wrap { overflow-x: auto; border: 1px solid var(--panel-edge); border-radius: 12px; background: var(--panel-fill); }
table.rt { border-collapse: collapse; width: 100%; font-size: 14.5px; min-width: 460px; }
table.rt th, table.rt td { text-align: left; padding: 11px 18px; border-bottom: 1px solid var(--line); vertical-align: top; }
table.rt thead th { font-family: var(--mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); font-weight: 500; background: var(--panel-2); }
table.rt thead th.lite { color: var(--accent); }
table.rt tbody tr:last-child td { border-bottom: 0; }
table.rt td:first-child, table.rt th:first-child { color: var(--text); font-weight: 550; }
table.rt tbody td { color: var(--muted); }
table.rt td.col-lite { color: var(--text); font-weight: 550; }
table.rt td.col-lift { color: var(--accent); font-weight: 700; }
table.rt td .u { color: var(--dim); font-family: var(--mono); font-size: 12px; }
table.rt tr.key td { background: rgba(189,90,56,.07); }
table.rt tr.key td:first-child { font-weight: 700; color: var(--text); }
table.rt tr.key td.col-lite { color: var(--accent); font-weight: 700; }

/* ---------- 终端 / 代码块(机器的声音,奶油底上的深色卡片)---------- */
.term { background: var(--term-bg); border: 1px solid var(--term-edge); border-radius: 12px; overflow: hidden; box-shadow: 0 20px 40px -28px rgba(60,48,36,.5); margin: 22px 0; }
.term-bar { display: flex; align-items: center; gap: 7px; padding: 11px 15px; background: var(--term-fill); border-bottom: 1px solid var(--term-edge); }
.term-bar .d { width: 11px; height: 11px; border-radius: 50%; background: #3a3527; }
.term-title { font-family: var(--mono); font-size: 12px; color: var(--term-dim); margin-left: 8px; }
.term-body { padding: 16px 18px; font-family: var(--mono); font-size: 13px; line-height: 1.75; color: var(--term-text); overflow-x: auto; white-space: pre; margin: 0; }
.term-body .c-p { color: var(--term-accent); }
.term-body .c-dim { color: var(--term-dim); }
.term-body .c-flag { color: var(--term-muted); }

/* ---------- 提示 / 注解 ---------- */
.report-call { border-left: 3px solid var(--accent); background: rgba(189,90,56,.05); padding: 14px 18px; border-radius: 0 10px 10px 0; margin: 0 0 22px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.report-call b { color: var(--text); font-weight: 650; }
.report-call .co-k { display: block; color: var(--accent); font-weight: 650; margin-bottom: 5px; }
.report-note { border-left: 2px solid var(--line-2); padding: 3px 16px; margin: -4px 0 22px; color: var(--dim); font-size: 13.5px; line-height: 1.7; }
.report-note b { color: var(--muted); }

/* ---------- 图片 / 图注 / 占位 ---------- */
.figure { border: 1px solid var(--panel-edge); border-radius: 14px; overflow: hidden; background: var(--panel-fill); margin: 22px 0; }
.figure img { display: block; width: 100%; height: auto; }
.figure figcaption { font-family: var(--sans); font-size: 14.5px; color: var(--muted); padding: 14px 16px; border-top: 1px solid var(--line); line-height: 1.7; }
.ph {
  display: grid; place-items: center; min-height: 220px; color: var(--dim);
  font-family: var(--mono); font-size: 12.5px; letter-spacing: 1px; text-transform: uppercase;
  background: repeating-linear-gradient(45deg, transparent, transparent 11px, rgba(60,48,36,.03) 11px, rgba(60,48,36,.03) 22px);
}

/* ---------- 未写完的占位块 ---------- */
.todo { border: 1px dashed var(--line-2); border-radius: 12px; padding: 18px 20px; color: var(--dim); font-size: 14.5px; line-height: 1.7; margin: 22px 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 11px, rgba(60,48,36,.02) 11px, rgba(60,48,36,.02) 22px); }
.todo b { color: var(--muted); font-family: var(--mono); font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; display: block; margin-bottom: 7px; }

/* ---------- 结尾 ---------- */
.report-close { border-top: 1px solid var(--line); margin-top: 44px; padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--mono); font-size: 12px; color: var(--dim); }
.report-close a { color: var(--dim); }
.report-close a:hover { color: var(--accent); }

/* ---------- 页脚 ---------- */
.footer { border-top: 1px solid var(--line); margin-top: 40px; padding: 40px 0; }
.footer-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.foot-tag { color: var(--muted); font-size: 14px; max-width: 30em; line-height: 1.8; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links a { color: var(--muted); font-size: 14px; }
.footer-links a:hover { color: var(--accent); }
.foot-copy { color: var(--dim); font-family: var(--mono); font-size: 11.5px; letter-spacing: .5px; margin-top: 24px; }

/* ---------- 响应式 ---------- */
@media (max-width: 760px) {
  .cols { grid-template-columns: 1fr; }
  .week { grid-template-columns: 1fr; gap: 8px; padding: 22px 6px; }
  .week-go { display: none; }
  .hero { padding: 48px 0 32px; }
}
@media (max-width: 520px) {
  table.rt { min-width: 0; font-size: 12.5px; }
  table.rt th, table.rt td { padding: 8px 10px; }
  table.rt td .u { display: none; }
}

/* ============================================================
   借鉴 Zhanhui 周报的三个手法(2026-07-19 增补):
   ① 小节以「一句话结论」起头(不是话题,是结果)
   ② 悬停 / 聚焦展开的 case(表面简洁,细节藏在一次 hover 后)
   ③ tease:指向「下周 / 后续」的轻量指针
   ============================================================ */

/* ① 结论式小标题:紧跟在 .report-h2 后面,用完整一句话说清「结果」 */
.sec-lead { font-family: var(--serif); font-size: clamp(18px, 1.9vw, 20px); font-weight: 560;
  color: var(--text); line-height: 1.42; letter-spacing: -0.01em; margin: 0 0 16px; }
.sec-lead em { font-style: italic; color: var(--accent); }
.sec-lead b { color: var(--accent); font-weight: 620; }

/* ② 悬停 / 聚焦展开的 case 列表 */
.cases { border: 1px solid var(--panel-edge); border-radius: 12px; background: var(--panel-fill);
  overflow: hidden; margin: 16px 0; box-shadow: 0 16px 34px -30px rgba(60,48,36,.4); }
.case { border-top: 1px solid var(--line); }
.case:first-child { border-top: 0; }
.case-row { display: flex; align-items: baseline; gap: 13px; padding: 13px 16px; cursor: default;
  transition: background .16s var(--ease); }
.case:hover > .case-row, .case:focus-within > .case-row { background: var(--panel-2); }
.case-badge { flex: none; font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--accent);
  width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--accent-dim);
  border-radius: 6px; background: rgba(189,90,56,.06); }
.case-body { flex: 1; min-width: 0; }
.case-title { font-size: 15px; color: var(--text); font-weight: 650; }
.case-desc { font-size: 14px; color: var(--muted); line-height: 1.55; margin-top: 3px; }
.case-desc code, .cd-cell code { font-family: var(--mono); font-size: 12px; background: var(--panel-2);
  border: 1px solid var(--line); padding: 0 4px; border-radius: 3px; color: var(--text); }
.case-hint { flex: none; font-family: var(--mono); font-size: 10px; color: var(--dim); letter-spacing: .5px;
  white-space: nowrap; transition: color .16s ease; }
.case:hover .case-hint, .case:focus-within .case-hint { color: var(--accent); }
.case:hover .case-hint .arw, .case:focus-within .case-hint .arw { transform: rotate(90deg); }
.case-hint .arw { display: inline-block; transition: transform .3s var(--ease); }
.case-detail { max-height: 0; overflow: hidden; transition: max-height .42s var(--ease); }
.case:hover .case-detail, .case:focus-within .case-detail { max-height: 460px; }
.cd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.cd-grid.two { grid-template-columns: 1fr 1fr; }
.cd-cell { background: var(--panel-fill); padding: 13px 16px; }
.cd-k { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--dim); margin: 0 0 5px; }
.cd-cell.bad .cd-k { color: #b2543b; }
.cd-cell.fix .cd-k { color: #3f8a4f; }
.cd-cell p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
.cd-cell p b { color: var(--text); }
@media (max-width: 600px) {
  .cd-grid, .cd-grid.two { grid-template-columns: 1fr; }
  .case:hover .case-detail, .case:focus-within .case-detail { max-height: 900px; }
  .case-hint { display: none; }
}

/* ③ tease:指向后续的虚线小卡 */
.tease { display: flex; align-items: center; gap: 10px; margin: 16px 0; padding: 12px 16px;
  border: 1px dashed var(--line-2); border-radius: 10px; font-size: 14px; color: var(--muted);
  background: repeating-linear-gradient(45deg, transparent, transparent 11px, rgba(60,48,36,.02) 11px, rgba(60,48,36,.02) 22px); }
.tease .tz { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--accent); border: 1px solid var(--accent-dim); border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
