/* 怪異録 — horror-j.com */
:root { --night: #090b12; --panel: #141826; --line: #343d55; --mist: #c8cedd; --blood: #e34b5f; --glow: #9a6cff; }
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at top, #252a40 0, var(--night) 48rem); color: var(--mist); font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; font-size: 15px; line-height: 1.8; }
a { color: #e9b7ff; }
.thread-header { padding: 34px 18px 28px; text-align: center; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, rgba(227,75,95,.2), rgba(13,15,27,.95)); }
.thread-header a { color: #aeb8d2; font-size: .82rem; text-decoration: none; }
.thread-header h1 { max-width: 900px; margin: 14px auto 0; color: #fff4f5; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.3rem, 4vw, 2rem); line-height: 1.45; letter-spacing: .06em; text-shadow: 0 0 22px rgba(227,75,95,.4); }
.thread-body { max-width: 860px; margin: 28px auto; padding: 0 14px; }
.post-container { margin: 0 0 14px; padding: 18px 20px; background: linear-gradient(135deg, rgba(31,36,54,.96), rgba(16,19,31,.96)); border: 1px solid var(--line); border-left: 4px solid var(--blood); border-radius: 3px; box-shadow: 0 12px 28px rgba(0,0,0,.22); }
.id-line { margin: 0 0 8px; color: #9da8c5; font-size: .8rem; }
.user-name { color: #ff8896; }
.post-content { margin: 0; color: #e7eaf2; white-space: pre-wrap; word-break: break-word; }
.anker { color: #d7a8ff; text-decoration: none; border-bottom: 1px dotted currentColor; }
.thread-footer { max-width: 860px; margin: 0 auto; padding: 10px 14px 36px; color: #9da8c5; }
.related-articles { margin: 16px 0; padding: 18px; background: rgba(20,24,38,.92); border: 1px solid var(--line); border-radius: 3px; }
.related-label { margin-bottom: 10px; color: #ffb4bf; font-family: Georgia, "Yu Mincho", serif; }
.related-list { margin: 0; padding: 0; list-style: none; }
.related-list li { border-top: 1px solid rgba(200,206,221,.14); }
.related-list a { display: block; padding: 10px 2px; text-decoration: none; }
.thread-nav { display: flex; gap: 10px; margin: 20px 0; }
.nav-card { flex: 1; min-width: 0; padding: 13px; color: var(--mist); background: #1b2030; border: 1px solid var(--line); text-decoration: none; }
.nav-card:hover { border-color: var(--glow); background: #252b42; }
.nav-direction { color: #ff94a2; font-size: .75rem; }
.nav-title { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) { .thread-header { padding: 24px 12px; } .thread-body { margin: 16px auto; padding: 0 8px; } .post-container { padding: 14px; } .thread-nav { gap: 6px; } .nav-card { padding: 10px; } }