/* Hallmark · macrostructure: Specimen · theme: Almanac
 * diurna.linxiexie.com —— AI 每日一页。窄编号栏 + 宽内容栏的不对称分栏，细线分节，零 JS。
 */

@font-face {
  font-family: "DiurnaGlyph";
  src: local("Menlo"), local("Monaco"), local("Times New Roman"), local("Georgia");
  unicode-range: U+02B0-02BA, U+02BD-02C5, U+02C7-02D9, U+02DB, U+02DD-02FF, U+0370-03FF,
                 U+1D2C-1D6B, U+2010-2012, U+2015-2017, U+201B, U+201F-2021, U+2023-2025,
                 U+2027-2031, U+2034-2038, U+203B-2043, U+2045-205F, U+2070-209F, U+2190,
                 U+2192, U+2194-2211, U+2213-2214, U+2216-23FF, U+2460-257F, U+25A0-25FF,
                 U+2713-2717, U+27F0-27FF;
  font-display: swap;
}

.paper {
  --font-body: "DiurnaGlyph", "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --font-mono: "DiurnaGlyph", "JetBrains Mono", "PingFang SC", ui-monospace, Menlo, monospace;
  font-family: var(--font-body);
  max-width: 52rem;
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md) var(--space-2xl);
}

/* ─────────── 报头 ─────────── */
.num-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  color: var(--color-accent-text);
  margin: 0 0 var(--space-sm);
}
.masthead h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-display);
  line-height: 1.14;
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-md);
}
.masthead h1 em { font-style: normal; font-weight: 600; }
.motto {
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--color-muted);
  max-width: 34rem;
  margin: 0 0 var(--space-lg);
}
.motto em { font-family: var(--font-display); font-style: italic; color: var(--color-ink); }

.rule { border: 0; border-top: var(--rule-hair) solid var(--color-rule-soft); margin: 0 0 var(--space-xl); }
.rule.ink { border-top-color: var(--color-rule); }

/* ─────────── 期号头 ─────────── */
.issue-head { margin-top: var(--space-xl); }
.lede {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-xl);
  line-height: 1.4;
  margin: 0 0 var(--space-xs);
  max-width: 36rem;
}
.issue-meta {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-neutral);
  margin: 0 0 var(--space-md);
}

/* ─────────── 分节：窄编号栏 + 宽内容栏 ─────────── */
.sec { margin-bottom: var(--space-xl); }
.sec-no {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.14em;
  color: var(--color-accent-text);
  margin: 0 0 var(--space-md);
  padding-bottom: var(--space-2xs);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

/* ─────────── 一条 ─────────── */
.item {
  padding: var(--space-md) 0;
  border-bottom: var(--rule-hair) solid var(--color-rule-soft);
}
.item:last-child { border-bottom: 0; }
.item-t {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-md);
  line-height: 1.4;
  margin: 0 0 var(--space-2xs);
}
.digest {
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--color-muted);
  margin: 0 0 var(--space-xs);
}
.tags { margin: 0; display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.tags:empty { display: none; }
.tag {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-neutral);
  background: var(--color-paper-2);
  padding: 0.05rem 0.4rem;
  border-radius: 2px;
}

/* ─────────── 展开（原生 details，零 JS）─────────── */
.more { margin-top: var(--space-xs); }
.more > summary {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  color: var(--color-accent-text);
  cursor: pointer;
  list-style: none;
  display: inline-block;
  padding: 0.15rem 0;
  border-bottom: var(--rule-hair) solid transparent;
}
.more > summary::-webkit-details-marker { display: none; }
.more > summary::after { content: " +"; }
.more[open] > summary::after { content: " −"; }
.more > summary:hover { border-bottom-color: var(--color-accent-text); }
.more-b {
  margin-top: var(--space-sm);
  padding-left: var(--space-md);
  border-left: 2px solid var(--color-paper-3);
}
.more-b p { margin: 0 0 var(--space-sm); line-height: 1.75; }
.more-b p:last-child { margin-bottom: 0; }
.more-b code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--color-paper-2);
  padding: 0.05em 0.3em;
  border-radius: 2px;
}
.src { font-size: var(--text-sm); }
.src a { color: var(--color-accent-text); text-decoration: none; border-bottom: var(--rule-hair) solid transparent; }
.src a:hover { border-bottom-color: var(--color-accent-text); }

/* ─────────── 往期（引导点是本域的签名部件）─────────── */
.past-list { list-style: none; margin: 0; padding: 0; }
.past-list li { border-bottom: var(--rule-hair) solid var(--color-rule-soft); }
.past-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
  padding: var(--space-sm) 0;
  text-decoration: none;
  color: var(--color-ink);
}
.past-row:hover .past-lede { color: var(--color-accent-text); }
.past-no {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-accent-text);
  min-width: 2.5rem;
}
.past-date { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-neutral); }
.leader {
  flex: 1 1 auto;
  min-width: 1.5rem;
  border-bottom: 1px dotted var(--color-rule-soft);
  transform: translateY(-0.25em);
}
.past-lede {
  font-size: var(--text-sm);
  color: var(--color-muted);
  max-width: 22rem;
  text-align: right;
}

/* ─────────── 面包屑 / 页脚 ─────────── */
.crumb {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-neutral);
  letter-spacing: 0.04em;
  margin-bottom: var(--space-xl);
}
.crumb a { color: var(--color-accent-text); text-decoration: none; }
.crumb a:hover { border-bottom: 1px solid var(--color-accent-text); }
.crumb-sep { margin: 0 0.5em; color: var(--color-rule-soft); }

.colophon {
  margin-top: var(--space-2xl);
  padding-top: var(--space-md);
  border-top: var(--rule-hair) solid var(--color-rule);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-neutral);
}
.col-line { display: flex; gap: var(--space-sm); margin-bottom: 0.2rem; }
.cl-k { min-width: 3rem; color: var(--color-rule-soft); }
.cl-v { color: var(--color-muted); }

/* ─────────── 宽屏：拉出真正的窄标签栏 ─────────── */
@media (min-width: 48rem) {
  .paper { padding-left: var(--space-xl); padding-right: var(--space-xl); }
  .sec {
    display: grid;
    grid-template-columns: 8rem 1fr;
    gap: 0 var(--space-xl);
    align-items: start;
  }
  .sec-no {
    grid-column: 1;
    border-bottom: 0;
    padding-bottom: 0;
    text-align: right;
    position: sticky;
    top: var(--space-md);
  }
  .sec > .item, .sec > .past-list {
    grid-column: 2;
    min-width: 0;
  }
  .sec > .item:first-of-type { padding-top: 0; }
  .past-lede { max-width: 26rem; }
}

@media (max-width: 32rem) {
  .past-row { flex-wrap: wrap; }
  .leader { display: none; }
  .past-lede { text-align: left; max-width: 100%; flex-basis: 100%; }
}
