/* 静室夜读、出版注释与私有同步：只改变阅读环境与展示结构，不写入文章资产。 */
@layer pages {
  html[data-theme="auto"] { color-scheme: light dark; }
  html[data-theme="light"] {
    color-scheme: light;
    --surface-canvas:var(--color-day-paper);
    --surface-subtle:var(--color-day-paper-deep);
    --text-primary:var(--color-day-ink);
    --text-secondary:var(--color-day-ink-soft);
    --text-muted:var(--color-day-muted);
    --border-subtle:var(--color-day-rule);
    --border-strong:var(--color-day-rule-strong);
    --action-primary:var(--color-day-accent);
    --action-subtle:var(--color-day-accent-soft);
    --focus-ring:var(--color-day-accent);
  }
  html[data-theme="night"] { color-scheme: dark; }
  @media (prefers-color-scheme: dark) {
    html[data-theme="auto"] {
      --surface-canvas:var(--color-night-paper);
      --surface-subtle:var(--color-night-paper-deep);
      --text-primary:var(--color-night-ink);
      --text-secondary:var(--color-night-ink-soft);
      --text-muted:var(--color-night-muted);
      --border-subtle:var(--color-night-rule);
      --border-strong:var(--color-night-rule-strong);
      --action-primary:var(--color-night-accent);
      --action-subtle:var(--color-night-accent-soft);
      --focus-ring:var(--color-night-accent);
    }
  }
  /* 纸色只调节明度，不引入暖色主题；强调始终沿用唯一蓝色。 */
  html[data-paper="warm"][data-theme="light"],
  html[data-paper="warm"][data-theme="auto"] {
    --surface-canvas:var(--color-day-paper-deep);
    --surface-subtle:color-mix(in srgb, var(--color-day-paper-deep) 72%, var(--color-day-paper));
    --border-subtle:var(--color-day-rule);
    --action-subtle:var(--color-day-accent-soft);
  }
  @media (prefers-color-scheme: dark) {
    html[data-paper="warm"][data-theme="auto"] {
      --surface-canvas:var(--color-night-paper);
      --surface-subtle:var(--color-night-paper-deep);
      --border-subtle:var(--color-night-rule);
      --action-subtle:var(--color-night-accent-soft);
    }
  }

  .reading-environment-controls { display:flex; align-items:center; gap:3px; }
  .reading-environment-controls .quiet-control {
    position:relative;
    color:var(--text-secondary);
  }
  .reading-environment-controls .quiet-control[aria-pressed="true"] { color:var(--action-primary); }
  .reading-environment-controls .paper-control span { font-size:1.06em; }

  .reading-resume {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:18px 32px;
    align-items:center;
    margin:22px 0 0;
    padding:15px 0 16px;
    border-top:1px solid color-mix(in srgb, var(--action-primary) 30%, transparent);
    border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 84%, transparent);
  }
  .reading-resume p { margin:0; }
  .reading-resume > div > p:nth-child(2) {
    margin-top:4px;
    font-family:var(--font-reading);
    font-size:1rem;
    line-height:1.5;
  }
  .reading-resume-status {
    margin-top:3px!important;
    color:var(--text-muted);
    font:400 .74rem/1.55 var(--font-ui);
  }
  .reading-resume button {
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:var(--action-primary);
    font:600 .77rem/1.2 var(--font-ui);
    letter-spacing:.025em;
    text-decoration:underline;
    text-decoration-color:color-mix(in srgb, currentColor 42%, transparent);
    text-underline-offset:4px;
    cursor:pointer;
  }
  .reading-resume button:hover { text-decoration-thickness:1.5px; }
  .mark-reading-position {
    display:inline-block;
    margin-left:9px;
    padding-left:9px;
    border-left:1px solid var(--border-subtle);
    color:var(--action-primary);
    font:500 .7rem/1.3 var(--font-ui);
    letter-spacing:.02em;
  }

  .article-body blockquote {
    position:relative;
    max-width:34em;
    margin:2.2em 0;
    padding:1.05em 1.25em 1.05em 1.45em;
    border-left:2px solid color-mix(in srgb, var(--action-primary) 66%, var(--border-strong));
    background:linear-gradient(90deg, color-mix(in srgb, var(--action-subtle) 40%, transparent), transparent 80%);
    color:var(--text-secondary);
    font-family:var(--font-reading);
    font-size:.95em;
    line-height:1.82;
  }
  .article-body blockquote::before {
    position:absolute;
    top:-.18em;
    left:.16em;
    color:color-mix(in srgb, var(--action-primary) 56%, transparent);
    font:400 3.5em/.9 var(--font-reading);
    content:"“";
    pointer-events:none;
  }
  .article-body blockquote > :first-child { margin-top:0; }
  .article-body blockquote > :last-child { margin-bottom:0; }

  .sidenote-anchor { scroll-margin-top:9rem; }
  .sidenote-toggle {
    min-width:1.35em;
    border-bottom:1px solid transparent;
    color:var(--action-primary);
    font-size:.64em;
    letter-spacing:.02em;
  }
  .sidenote-toggle:hover,.sidenote-toggle:focus-visible,.sidenote-toggle[aria-expanded="true"] {
    border-bottom-color:currentColor;
    color:var(--text-primary);
    text-decoration:none;
  }
  .publication-note {
    border-left-color:color-mix(in srgb, var(--action-primary) 58%, var(--border-subtle));
    background:color-mix(in srgb, var(--surface-subtle) 86%, transparent);
  }
  .publication-note .sidenote-label {
    color:var(--action-primary);
    font-size:.7em;
    letter-spacing:.11em;
  }
  .publication-references-heading {
    margin-top:3.3em!important;
    padding-top:1em;
    border-top:1px solid var(--border-strong);
  }
  .publication-reference-list {
    max-width:42em;
    margin:1.1em 0 2.5em;
    padding:0;
    list-style:none;
    counter-reset:reference;
  }
  .publication-reference-list li {
    position:relative;
    margin:.72em 0;
    padding-left:2.35em;
    color:var(--text-secondary);
    font:400 .86em/1.72 var(--font-ui);
    counter-increment:reference;
  }
  .publication-reference-list li::before {
    position:absolute;
    left:0;
    color:var(--text-muted);
    content:"[" counter(reference, decimal-leading-zero) "]";
    font-size:.82em;
    letter-spacing:.02em;
  }
  .publication-reference-list a { overflow-wrap:anywhere; }

  @media (min-width:1260px) {
    .publication-note { color:var(--text-secondary); }
    .publication-note .sidenote-label { font-size:.82em; }
  }
  @media (max-width:760px) {
    .reading-resume { grid-template-columns:1fr; align-items:start; }
    .article-body blockquote { margin:1.8em 0; padding:.95em 1em .95em 1.22em; }
    .publication-reference-list li { padding-left:2.15em; }
  }
  @media (prefers-reduced-motion:reduce) {
    .reading-resume *, .sidenote-anchor * { scroll-behavior:auto!important; }
  }
}
