/* 運営からのお知らせ 個別ページ /news/{id} */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --kr-page-max: 760px; }
body {
  font-family: var(--kr-font-sans);
  background: var(--kr-bg);
  color: var(--kr-ink);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
[hidden] { display: none !important; }

.news-main {
  flex: 1;
  width: 100%;
  max-width: 760px;
  margin: 24px auto;
  padding: 0 16px 48px;
}

.news-article {
  background: var(--kr-surface);
  border: 1px solid var(--kr-hair);
  border-radius: var(--kr-radius-lg);
  box-shadow: var(--kr-shadow-card);
  padding: 28px 24px;
}

.news-loading {
  color: var(--kr-ink-dim);
  font-size: 14px;
  text-align: center;
  padding: 32px 0;
}

/* ── error ── */
.news-error {
  text-align: center;
  padding: 32px 0;
  color: var(--kr-ink-dim);
}
.news-error__icon { font-size: 40px; color: var(--kr-ink-dimmer); }
.news-error__msg { margin: 12px 0 16px; font-size: 15px; }
.news-home-link {
  display: inline-block;
  padding: 8px 16px;
  border-radius: var(--kr-radius-sm);
  background: var(--kr-accent);
  color: var(--kr-accent-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

/* ── meta ── */
.news-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.news-sev {
  display: inline-flex;
  align-items: center;
  font-family: var(--kr-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--kr-surface-2);
  color: var(--kr-ink-dim);
  border: 1px solid var(--kr-hair);
}
.news-sev[data-sev="warning"] {
  background: rgba(240, 180, 41, .18);
  color: #8a6200;
  border-color: transparent;
}
.news-sev[data-sev="critical"] {
  background: var(--kr-rec);
  color: #fff;
  border-color: transparent;
}
.news-date {
  font-family: var(--kr-font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--kr-ink-dimmer);
}

.news-title {
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--kr-ink);
  margin-bottom: 18px;
}

/* ── 本文 HTML（admin 入力をそのまま描画） ── */
.news-body {
  font-size: 15px;
  line-height: 1.8;
  color: var(--kr-ink);
  word-break: break-word;
}
.news-body p { margin: 0 0 14px; }
.news-body ul, .news-body ol { margin: 0 0 14px 1.4em; }
.news-body li { margin: 4px 0; }
.news-body h2 { font-size: 1.2rem; font-weight: 700; margin: 22px 0 10px; }
.news-body h3 { font-size: 1.05rem; font-weight: 700; margin: 18px 0 8px; }
.news-body a {
  color: var(--kr-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.news-body img { max-width: 100%; height: auto; border-radius: var(--kr-radius-sm); }
.news-body hr { border: none; border-top: 1px solid var(--kr-hair); margin: 20px 0; }

@media (max-width: 480px) {
  .news-article { padding: 22px 16px; }
  .news-title { font-size: 1.35rem; }
}
