.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding-bottom:17px;
}

.section-heading h2 {
  font-size:19px;
}

.section-heading>span {
  font-size:12px;
  color:var(--muted);
}

.card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
}

.content-card {
  min-width:0;
  padding:24px 0;
}

.content-card h3 {
  font-size:19px;
  margin:12px 0;
}

.content-card p,.note-row p,.paper-row p,.library-card p {
  color:var(--muted);
  font-size:14px;
  line-height:1.9;
  overflow-wrap:anywhere;
}

.card-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  font-size:12px;
  color:var(--muted);
}

.recent-list .content-card {
  border-bottom:1px solid var(--line);
}

.recent-list .content-card:last-child {
  border-bottom:0;
}

.tag-list {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:13px 0 0;
  padding:0;
}

.tag-list li {
  font-size:11px;
  line-height:1.8;
  color:var(--muted);
  background:var(--soft);
  border-radius:3px;
  padding:2px 7px;
  overflow-wrap:anywhere;
  max-width:100%;
}

.section-note {
  font-size:13px;
  color:var(--muted);
  margin:20px 0 6px;
}

.ongoing-item {
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.ongoing-item h3 {
  font-size:14px;
  font-weight:500;
  margin-top:6px;
}

.ongoing>.muted {
  margin-block:24px;
}

.aside-links {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:25px;
  font-size:13px;
  color:var(--accent);
}

.empty-state {
  padding:50px 0;
  color:var(--muted);
  grid-column:1/-1;
}

.empty-state span {
  display:block;
  font-size:13px;
  margin-top:8px;
}

.article-list,.paper-list {
  border-top:1px solid var(--line);
}

.note-row {
  padding:28px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:28px;
  align-items:center;
}

.note-main {
  min-width:0;
  flex:1;
}

.note-row h2,.paper-row h2 {
  font-size:21px;
  margin:12px 0;
}

.note-cover {
  flex-shrink:0;
  object-fit:cover;
  border-radius:4px;
}

.paper-row {
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.paper-row .paper-source {
  font-size:12px;
  margin-bottom:10px;
}

.status-pill {
  color:var(--accent);
  background:#f0f6f3;
  padding:2px 8px;
  border-radius:4px;
}

.pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:35px;
  font-size:13px;
  color:var(--muted);
}

.pagination a {
  color:var(--accent);
}

.library-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 30px;
}

.library-card {
  min-width:0;
}

.cover-link {
  display:block;
  border-radius:5px;
  overflow:hidden;
}

.cover-link>img {
  width:100%;
  height:220px;
  object-fit:cover;
}

.cover-placeholder {
  height:220px;
  background:#f6f7f7;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#69777a;
  font-size:12px;
}

.placeholder-mark {
  font-size:46px;
  font-family:serif;
  color:#7b8e8b;
  line-height:1.5;
}

.library-card-body {
  padding:18px 0 0;
}

.library-card h2 {
  font-size:18px;
  margin:12px 0;
}

.library-card .muted {
  font-size:12px;
  margin-top:8px;
}

.rating {
  color:var(--accent);
  font-weight:600;
}

.rating small {
  font-weight:400;
  font-size:11px;
  color:var(--muted);
}

.metadata {
  margin:0 0 32px;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:14px;
}

.metadata>div {
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:12px;
  margin:7px 0;
}

.metadata dt {
  color:var(--muted);
}

.metadata dd {
  margin:0;
  overflow-wrap:anywhere;
}

.metadata a,.contact-line a {
  color:var(--accent);
}

.metadata:empty {
  display:none;
}

.work-overview {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:32px;
  margin-bottom:40px;
}

.work-cover {
  width:180px;
  max-height:270px;
  object-fit:contain;
  object-position:top;
  border-radius:4px;
}

.detail-placeholder {
  height:240px;
  border-radius:4px;
}

.work-overview .metadata {
  border:0;
  padding:0;
  margin:0;
}

.spoiler {
  border:1px solid var(--line);
  border-radius:5px;
  padding:18px 22px;
}

.spoiler summary {
  cursor:pointer;
  color:var(--accent);
  font-size:14px;
}

.spoiler[open] summary {
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line);
}

.contact-line {
  border-top:1px solid var(--line);
  padding-top:24px;
  margin-top:40px;
  font-size:14px;
}

@media(max-width:900px) {
  .library-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .card-grid {
    gap:20px;
  }
  .content-card h3 {
    font-size:17px;
  }
}

@media(max-width:600px) {
  .card-grid {
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .pinned-grid .content-card {
    border-bottom:1px solid var(--line);
  }
  .section-heading>span {
    display:none;
  }
  .note-row h2,.paper-row h2 {
    font-size:19px;
  }
  .note-row {
    gap:16px;
  }
  .note-cover {
    width:90px;
    height:90px;
  }
  .library-grid {
    gap:28px 18px;
  }
  .cover-link>img,.cover-placeholder {
    height:170px;
  }
  .library-card h2 {
    font-size:16px;
  }
  .library-card .card-meta {
    gap:6px;
    font-size:11px;
  }
  .library-card p {
    font-size:13px;
  }
  .work-overview {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  .work-cover,.detail-placeholder {
    width:150px;
  }
  .metadata>div {
    grid-template-columns:80px minmax(0,1fr);
  }
  .spoiler {
    padding:16px;
  }
}
