h1.title::before { content: "✒︎"; }
/* 禁止所有图片响应指针事件 */
img {
  pointer-events: none;
}

/* 但确保 logo 区域内的图片可以响应指针事件 */
.logo img {
  pointer-events: all;
}
.main {
  line-height: 1.75;
}
.archive {
  max-width: none;
  width: 100%;
}
.archive > ul > li {
  list-style: none;
}
.cn .archive > ul > li {
  display: inline-block;
  margin-right: 1em;
}
.main h2 {
  line-height: 1.25;
}
.main h1, .main h2 {
  text-align: center;
  margin: 2em 0 1em;
}
dl, fieldset {
  background-color: lightyellow;
  font-size: .9em;
  border-width: 1px;
}
dt, legend {
  font-weight: bold;
}
.archive > h2 {
  text-align: initial;
}
.main > ul > li > span:first-child, .main > p > span:first-child, .main > p .subtitle, .hash-note, .post-nav, .stats {
  color: #666;
  font-size: .9em;
}
.stats {
  text-align: right;
}
.cn .post-nav {
  font-size: initial;
}
.en .main > p:first-of-type::first-line {
  font-variant: small-caps;
  letter-spacing: .05em;
  font-size: 1.1em;
}
.en .main > p:first-of-type::first-letter {
  font-size: 3em;
  padding: .1em .1em 0 0;
  float: left;
  line-height: 1em;
  font-family: cursive;
}
blockquote {
  margin: 1em 0;
  padding: 0 2em;
}
.single blockquote {
  background: none;
  border-left-width: 3px;
  padding: 0 2em;
}
.home blockquote, .cn blockquote:not(:hover) {
  border-left-color: transparent;
}
ol, ul {
  padding: 0 0 0 20px;
}
ol ol {
  list-style: lower-roman;
}
code[class="fullwidth"] {
  background: none;
}
.fullwidth {
  width: 100%;
  margin: auto;
}
.comments {
  margin-top: 1em;
}
.cn del {
  background-color: #444;
}
.cn del:hover {
  background-color: inherit;
  text-decoration: inherit;
}
.hash-note, .side { background: lightyellow; }
.hash-note a { color: inherit; }
span.hash-note::before { content: "　# "; }
.hide-notes .hash-note, .unlist { display: none !important; }
.side { padding: 1em 2em; }
.side > p:first-child { margin-top: 0; }
.side > p:last-child { margin-bottom: 0; }
.bg-number, .note-ref:has(+ .side:hover) {
  background: var(--bg-body);
  filter: invert(1);
  opacity: .6;
}
.bg-number {
  padding: .1em;
}

@media only screen and (min-width: 768px) {
  pre, table {
    width: auto;
    max-width: none;
    margin-left: auto;
  }
  .cn #TableOfContents {
    columns: 2;
  }
  .nav-next {
    border-right: 1px solid;
    padding-right: 1em;
  }
  .nav-prev {
    border-left: 1px solid;
    padding-left: 1em;
  }
}

@media print {
  del, footer, .nav-top, #TableOfContents, .comments, h1.title::before {
    display: none;
  }
}

@media only screen and (min-width: 992px) {
  .has-sidenotes .main, .has-sidenotes .fullwidth {
    margin-left: 0;
  }
  .side-right {
    float: right;
    clear: right;
    background: none;
    padding: 0 0 1em 0;
    width: calc(var(--body-width) - var(--text-width) - 2.5rem * 2 - 2rem);
    margin-right: calc(var(--text-width) + 2.5rem * 2 - var(--body-width));
  }
  blockquote .side-right {
    margin-right: calc(var(--text-width) + 2.5rem * 2 - var(--body-width) - 2rem);
  }
}
