/* 子页共用骨架 · Academic Edition */

.page-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: var(--font-sans-en);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--ink-gray);
    padding-bottom: var(--s-3);
    border-bottom: var(--line-thin);
}

.page-top .vol {
    font-family: var(--font-serif-en);
    font-style: italic;
    letter-spacing: 0.1em;
}

.page-top a {
    color: var(--ink-gray);
    text-decoration: none;
}

.page-top a:hover {
    color: var(--ink-black);
}

.page-hero {
    padding: var(--s-10) 0 var(--s-8);
    border-bottom: var(--line-medium);
    margin-bottom: var(--s-8);
}

.page-kicker {
    font-family: var(--font-sans-en);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--ink-gray);
    margin-bottom: var(--s-3);
}

.page-title {
    font-family: var(--font-serif-cn);
    font-weight: 900;
    font-size: var(--fs-2xl);
    letter-spacing: 0.08em;
    line-height: 1.2;
    margin-bottom: var(--s-2);
}

.page-en {
    font-family: var(--font-serif-en);
    font-style: italic;
    font-size: var(--fs-md);
    color: var(--ink-gray);
}

.page-lead {
    max-width: 42em;
    margin-top: var(--s-5);
    color: var(--ink-soft);
    font-size: var(--fs-md);
}

.back-home {
    display: inline-block;
    margin-top: var(--s-4);
    font-family: var(--font-sans-en);
    font-size: var(--fs-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-gray);
    text-decoration: none;
    border-bottom: 1px solid var(--paper-line);
}

.back-home:hover {
    color: var(--ink-black);
    border-color: var(--ink-black);
}

.stub-note {
    border: var(--line-thin);
    background: var(--paper-warm);
    padding: var(--s-5);
    margin-bottom: var(--s-8);
    color: var(--ink-soft);
    font-size: var(--fs-sm);
}

.stub-note strong {
    font-weight: 700;
    letter-spacing: 0.08em;
}

.entry-list {
    border-top: var(--line-medium);
}

.entry {
    display: grid;
    grid-template-columns: 7rem 1fr auto;
    gap: var(--s-5);
    align-items: baseline;
    padding: var(--s-5) 0;
    border-bottom: var(--line-thin);
}

.entry-no,
.entry-meta {
    font-family: var(--font-serif-en);
    font-style: italic;
    font-size: var(--fs-sm);
    color: var(--ink-light);
}

.entry h2 {
    font-family: var(--font-serif-cn);
    font-size: var(--fs-lg);
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: var(--s-2);
}

.entry p {
    color: var(--ink-soft);
    font-size: var(--fs-sm);
}

.tag {
    display: inline-block;
    font-family: var(--font-sans-en);
    font-size: var(--fs-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 2px 8px;
    border: 1px solid var(--paper-line);
    color: var(--ink-gray);
}

.nav-six {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: var(--s-10);
    border-top: var(--line-thin);
}

.nav-six a {
    padding: var(--s-4) var(--s-3);
    border-right: var(--line-thin);
    border-bottom: var(--line-thin);
    text-decoration: none;
    color: var(--ink-gray);
    font-size: var(--fs-sm);
}

.nav-six a:nth-child(3n) {
    border-right: none;
}

.nav-six a:hover {
    color: var(--ink-black);
    background: var(--paper-warm);
}

.nav-six .here {
    color: var(--ink-black);
}

.colophon a {
    color: var(--ink-gray);
    text-decoration: none;
}

.colophon a:hover {
    color: var(--ink-black);
}

@media (max-width: 768px) {
    .page-title { font-size: var(--fs-xl); }
    .entry { grid-template-columns: 1fr; gap: var(--s-2); }
    .nav-six { grid-template-columns: 1fr 1fr; }
    .nav-six a:nth-child(3n) { border-right: var(--line-thin); }
    .nav-six a:nth-child(2n) { border-right: none; }
}
