* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", sans-serif; background: #f5f5f0; color: #222; line-height: 1.85; padding: 2rem 1rem; font-size: 16px; }
.page { max-width: 760px; margin: 0 auto; }

/* ナビ */
.back { display: inline-block; font-size: 0.85rem; color: #888; text-decoration: none; margin-bottom: 2rem; }
.back:hover { color: #444; }
.tag { display: inline-block; font-size: 0.72rem; background: #e8f0fe; color: #2563eb; border-radius: 4px; padding: 0.15rem 0.55rem; margin-bottom: 0.8rem; font-weight: 600; }

/* 見出し */
h1 { font-size: 1.55rem; font-weight: 700; color: #111; line-height: 1.4; margin-bottom: 1.5rem; }
h2 { font-size: 1.15rem; font-weight: 700; color: #111; margin: 2.5rem 0 1rem; padding: 0.5rem 0.9rem; background: #fff; border-left: 4px solid #2563eb; border-radius: 0 6px 6px 0; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
h3 { font-size: 0.98rem; font-weight: 700; color: #333; margin: 1.8rem 0 0.6rem; }

/* 本文 */
p { margin-bottom: 1rem; font-size: 0.95rem; color: #333; }
ul, ol { padding-left: 1.6rem; margin-bottom: 1rem; }
li { font-size: 0.95rem; margin-bottom: 0.4rem; color: #333; }
strong { color: #111; font-weight: 700; }
hr { border: none; border-top: 1px solid #ddd; margin: 2.5rem 0; }

/* コード */
code { font-family: "SF Mono", "Fira Code", Consolas, monospace; font-size: 0.83rem; background: #eef0f3; color: #1d4ed8; padding: 0.15rem 0.4rem; border-radius: 3px; }
pre { background: #f0f0eb; border: 1px solid #ddd; border-radius: 8px; padding: 1rem 1.25rem; margin: 0.8rem 0; overflow-x: auto; }
pre code { background: none; padding: 0; color: #1a5c1a; font-size: 0.85rem; line-height: 1.65; }

/* テーブル */
table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.88rem; }
th { background: #f0f0eb; color: #555; font-weight: 700; text-align: left; padding: 0.65rem 0.9rem; border: 1px solid #ddd; }
td { padding: 0.6rem 0.9rem; border: 1px solid #ddd; color: #333; background: #fff; }
tr:nth-child(even) td { background: #fafaf8; }

/* 引用（callout として使う） */
blockquote { background: #eff6ff; border: none; border-left: 4px solid #2563eb; border-radius: 0 8px 8px 0; padding: 0.9rem 1.1rem; margin: 1rem 0; font-size: 0.88rem; color: #1e40af; }
blockquote p { margin: 0; color: #1e40af; font-size: 0.88rem; }

/* フッター */
.footer-note { margin-top: 3rem; padding: 1.2rem 1.5rem; background: #fafaf7; border: 1px solid #e8e8e0; border-radius: 8px; font-size: 0.82rem; color: #888; line-height: 1.8; }
.footer-prayer { margin-top: 1.5rem; padding: 1.6rem 1.8rem; background: #fafaf7; border-top: 1px solid #e8e8e0; border-radius: 8px; text-align: center; font-size: 0.92rem; color: #666; line-height: 2; font-style: italic; }
