/* こまりの日記（blog/・blog/post/）。お知らせ（夜の地の枠）と分けて、生成りの紙に墨の文字で「本人の日記帳」に見せる。
   紙の色・罫線・朱の判子だけを足し、書体・余白の刻みはサイトの体系のまま */
.blog-page,
.blog-post-page {
  --diary-paper: #F3E8D4;
  --diary-paper-deep: #E9DAC0;
  --diary-ink: #2B1B24;
  --diary-ink-soft: #5E4A50;
  --diary-rule: rgb(120 88 72 / .2);
  --diary-seal: #C8392F;
  --diary-line: 2.1rem;
}

/* 記事ページの上の帯は、site.css の共通 .subhero-title を使う。 */

.diary-empty { margin: 0; color: var(--muted); }

/* ---- 一覧：分類とタグ ---- */
.diary-controls { display: grid; gap: 1.1rem; margin-bottom: clamp(2rem, 4vw, 2.75rem); }
.diary-tagbar { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1rem; }
.diary-tagbar-label { margin: 0; color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .16em; }
.diary-tagbar-list { display: flex; flex-wrap: wrap; gap: .2rem .9rem; }
.diary-tagbar-button { display: inline-flex; align-items: baseline; gap: .3rem; min-height: 2rem; padding: .15rem 0; border: 0; border-bottom: 1px solid transparent; color: var(--muted); background: none; font-size: .84rem; letter-spacing: .03em; transition: color .2s var(--ease), border-color .2s var(--ease); }
.diary-tagbar-button:hover { color: var(--paper); }
.diary-tagbar-button[aria-pressed="true"] { border-bottom-color: var(--gold); color: var(--gold); font-weight: 700; }
.diary-tagbar-count { font-size: .7rem; opacity: .7; font-variant-numeric: tabular-nums; }
.diary-tagbar-status { flex-basis: 100%; margin: 0; color: var(--muted); font-size: .78rem; letter-spacing: .06em; }
.diary-tagbar-status:empty { display: none; }
.diary-tagbar-clear { margin-left: .9rem; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--kitsunebi); background: none; font-size: .78rem; }

/* ---- 一覧：日記のカード（紙） ---- */
.diary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.diary-card { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--diary-ink); background: linear-gradient(170deg, var(--diary-paper), var(--diary-paper-deep)); box-shadow: 0 1.1rem 2.4rem rgb(0 0 0 / .32), inset 0 0 0 1px rgb(255 255 255 / .35); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.diary-card:hover { box-shadow: 0 1.4rem 2.8rem rgb(0 0 0 / .4), 0 0 1.8rem rgb(245 195 75 / .16), inset 0 0 0 1px rgb(255 255 255 / .35); transform: translateY(-.25rem); }
.diary-card-link { display: block; color: inherit; text-decoration: none; }
.diary-card-link:focus-visible { outline-offset: -4px; }

/* 貼った写真：白いふちと、上に小さな紙テープ */
.diary-photo { position: relative; margin: 0; padding: .55rem .55rem 0; }
.diary-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: .35rem solid #FBF6EC; box-shadow: 0 .35rem .9rem rgb(43 27 36 / .18); }
.diary-photo::before { position: absolute; z-index: 1; top: .2rem; left: 50%; width: 3.6rem; height: 1.05rem; background: rgb(245 195 75 / .55); box-shadow: 0 1px 2px rgb(43 27 36 / .12); content: ""; transform: translateX(-50%) rotate(-3deg); }

.diary-card-body { padding: 1.1rem 1.35rem .4rem; }
.diary-card-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.diary-date { margin: 0; }
.diary-date time { display: flex; align-items: center; gap: .6rem; }
.diary-day { font-family: var(--mincho); font-size: 2.3rem; font-weight: 600; line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.diary-ym { display: grid; color: var(--diary-ink-soft); font-size: .72rem; line-height: 1.45; letter-spacing: .08em; }
.diary-weekday { color: var(--diary-seal); font-weight: 700; }
.diary-category { flex: none; margin: 0; padding: .12rem .6rem; border: 1px solid rgb(200 57 47 / .55); color: var(--diary-seal); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.diary-card-title { margin: .95rem 0 .55rem; font-family: var(--mincho); font-size: 1.22rem; font-weight: 600; line-height: 1.55; letter-spacing: .02em; }
.diary-excerpt { display: -webkit-box; margin: 0; overflow: hidden; color: var(--diary-ink-soft); font-size: .86rem; line-height: 1.85; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

.diary-tags { display: flex; flex-wrap: wrap; gap: .25rem .8rem; margin: 0; padding: .6rem 1.35rem 1.25rem; list-style: none; }
.diary-tags a { color: #7A5A3A; font-size: .78rem; text-decoration: none; }
.diary-tags a:hover { color: var(--diary-seal); text-decoration: underline; }

/* ---- 記事：一枚の日記帳 ---- */
.diary-post-shell { max-width: 48rem; }
.diary-sheet { position: relative; padding: clamp(1.4rem, 5vw, 3.2rem) clamp(1.25rem, 5vw, 3.4rem) clamp(1.6rem, 5vw, 3rem); color: var(--diary-ink); background: linear-gradient(170deg, var(--diary-paper), var(--diary-paper-deep)); box-shadow: 0 1.6rem 3.6rem rgb(0 0 0 / .4), inset 0 0 0 1px rgb(255 255 255 / .35); }
.diary-sheet > .diary-empty { color: var(--diary-ink-soft); }
.diary-post-header { padding-bottom: 1.3rem; border-bottom: 1px solid var(--diary-rule); }
.diary-date--post .diary-day { font-size: 3rem; }
.diary-post-title { margin: 1.1rem 0 0; font-family: var(--mincho); font-size: clamp(1.6rem, 3.6vw, 2.35rem); font-weight: 600; line-height: 1.45; letter-spacing: .03em; }
.diary-photo--post { margin: 1.9rem 0 .4rem; padding: 0; }
.diary-photo--post::before { top: -.45rem; width: 4.4rem; height: 1.25rem; }

/* 本文：罫線の上に書く（行の高さ＝罫線の間隔。段落の間は1行あける） */
.diary-post-body { margin-top: var(--diary-line); background: repeating-linear-gradient(to bottom, transparent 0 calc(var(--diary-line) - 1px), var(--diary-rule) calc(var(--diary-line) - 1px) var(--diary-line)); font-size: 1rem; line-height: var(--diary-line); }
.diary-post-body p,
.diary-post-body ul { margin: 0 0 var(--diary-line); }
.diary-list { padding: 0; list-style: none; }
.diary-post-body .diary-sign { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; margin: 0 0 0 auto; border: 2px solid var(--diary-seal); border-radius: 50%; color: var(--diary-seal); font-family: var(--mincho); font-size: .82rem; font-weight: 700; line-height: 1; letter-spacing: .06em; transform: rotate(-8deg); opacity: .85; }
.diary-sheet > .diary-tags { margin-top: 1.2rem; padding: 1rem 0 0; border-top: 1px solid var(--diary-rule); }

/* 前後の日記と、一覧へ */
.diary-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
.diary-pager:empty { display: none; }
.diary-pager-link { display: grid; gap: .3rem; min-width: 0; padding: 1rem 1.2rem; border: 1px solid var(--line); background: linear-gradient(145deg, rgb(59 32 56 / .5), rgb(26 14 20 / .85)); text-decoration: none; transition: border-color .25s var(--ease); }
.diary-pager-link:hover { border-color: rgb(245 195 75 / .6); }
.diary-pager-link.is-next { text-align: right; }
.diary-pager-label { color: var(--gold); font-size: .76rem; font-weight: 700; letter-spacing: .08em; }
.diary-pager-title { font-family: var(--mincho); font-size: .98rem; line-height: 1.55; }
.diary-back { margin: 2rem 0 0; }
/* 最後の段落のすぐ次の行に判子を押す */
.diary-post-body > :has(+ .diary-sign) { margin-bottom: 0; }
/* 箇条の前置きの行と箇条は続けて書く。箇条が折り返したら行頭の記号の分だけ下げる */
.diary-post-body p:has(+ .diary-list) { margin-bottom: 0; }
.diary-list li { padding-left: 1em; text-indent: -1em; }

/* 日記の題名が1〜2文字だけ次の行に落ちないように、行の長さをそろえる（QK 総点検）。
   vendor/heading-polish.js が見出しに書き込む折り返しの指定より優先させるため !important */
.diary-post-title,
.diary-card-title { text-wrap: balance !important; word-break: auto-phrase !important; }
