/* 受験ノート — exams-j.com */
:root { --navy: #102a43; --blue: #2369a6; --gold: #d89c2b; --paper: #fffdf5; --rule: #d8e2ea; }
* { box-sizing: border-box; }
body { margin: 0; background: #edf3f6; color: #1e3448; font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; line-height: 1.85; }
a { color: var(--blue); }
.thread-header { padding: 28px 18px; color: white; text-align: center; background: var(--navy); border-bottom: 5px solid var(--gold); }
.thread-header a { color: #dceaf5; font-size: .82rem; text-decoration: none; }
.thread-header h1 { max-width: 920px; margin: 12px auto 0; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.25rem, 4vw, 2rem); line-height: 1.5; }
.thread-body { max-width: 860px; margin: 28px auto; padding: 0 14px; }
.post-container { margin: 0; padding: 18px 20px; background: var(--paper); border: 1px solid var(--rule); border-bottom: 0; }
.post-container:first-child { border-radius: 8px 8px 0 0; }
.post-container:last-child { border-bottom: 1px solid var(--rule); border-radius: 0 0 8px 8px; }
.id-line { margin: 0 0 8px; color: #6f8292; font-size: .8rem; }
.user-name { color: var(--blue); font-weight: bold; }
.post-content { margin: 0; white-space: pre-wrap; word-break: break-word; }
.anker { color: #a76e13; font-weight: bold; text-decoration: none; }
.thread-footer { max-width: 860px; margin: 0 auto; padding: 10px 14px 38px; }
.related-articles { margin: 20px 0; padding: 18px 20px; background: white; border: 1px solid var(--rule); border-top: 4px solid var(--gold); border-radius: 8px; }
.related-label { margin-bottom: 8px; color: var(--navy); font-family: Georgia, "Yu Mincho", serif; font-weight: bold; }
.related-list { margin: 0; padding: 0; list-style: none; }
.related-list li + li { border-top: 1px dashed #cbd7df; }
.related-list a { display: block; padding: 10px 0; text-decoration: none; }
.thread-nav { display: flex; gap: 12px; margin: 20px 0; }
.nav-card { flex: 1; min-width: 0; padding: 14px; color: #294760; background: white; border: 1px solid var(--rule); border-radius: 7px; text-decoration: none; }
.nav-card:hover { color: white; background: var(--blue); border-color: var(--blue); }
.nav-direction { color: #a76e13; font-size: .76rem; }
.nav-card:hover .nav-direction { color: #f8dfaa; }
.nav-title { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) { .thread-header { padding: 23px 12px; } .thread-body { margin: 16px auto; padding: 0 8px; } .post-container { padding: 14px; } .thread-nav { gap: 6px; } .nav-card { padding: 10px; } }