/* echo-desk：すべて ecd- プレフィックス。色は変数で持つ */
.ecd-desk, .ecd-list {
	--ecd-ink: #3b2f2a;
	--ecd-sub: #7a6d65;
	--ecd-line: #e4dbd2;
	--ecd-paper: #fffdf9;
	--ecd-stamp: #7d4a3a;
	--ecd-seed: #4f7a4a;
	--ecd-bud: #2f6b57;
}

/* ---- 机の上 ---- */
.ecd-desk { max-width: 720px; margin: 32px auto; padding: 20px 24px; background: var(--ecd-paper); border: 1px solid var(--ecd-line); border-radius: 6px; color: var(--ecd-ink); box-sizing: border-box; }
.ecd-desk__h { margin: 0 0 12px; font-size: 18.5px; letter-spacing: .12em; border: 0; padding: 0; }
.ecd-desk__list { list-style: none; margin: 0; padding: 0; }
.ecd-desk__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9.5px; padding: 11px 0; border-top: 1px dashed var(--ecd-line); line-height: 1.6; }
.ecd-desk__item:first-child { border-top: 0; }
.ecd-desk__label { font-size: 12px; padding: 1px 9px; border: 1px solid var(--ecd-stamp); border-radius: 999px; color: var(--ecd-stamp); white-space: nowrap; }
.ecd-desk__item.is-writing .ecd-desk__label { background: var(--ecd-stamp); color: var(--ecd-paper); }
.ecd-desk__cat { font-size: 12px; color: var(--ecd-sub); }
.ecd-desk__title { flex-basis: 100%; font-weight: 600; }
.ecd-desk__empty { margin: 0; color: var(--ecd-sub); }

/* ---- 新着記事 ---- */
.ecd-list { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); color: var(--ecd-ink); }
.ecd-list.ecd-cols-1 { grid-template-columns: 1fr; }
.ecd-list.ecd-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ecd-list.ecd-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 600px) { .ecd-list { gap: 14.5px; } .ecd-list.ecd-cols-3, .ecd-list.ecd-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ecd-card { margin: 0; }
.ecd-card__link { display: block; color: inherit; text-decoration: none; }
.ecd-card__thumb { position: relative; aspect-ratio: 16 / 9; background: var(--ecd-line); border-radius: 6px; }
.ecd-card__thumb img, .ecd-card__noimg { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.ecd-card__body { padding: 9.5px 1.5px 0; }
.ecd-card__cat { display: inline-block; font-size: 11.5px; color: var(--ecd-sub); margin-bottom: 3px; }
.ecd-card__title { margin: 0 0 4px; font-size: 15.5px; line-height: 1.5; font-weight: 600; border: 0; padding: 0; }
.ecd-card__date { font-size: 12.5px; color: var(--ecd-sub); }

/* ---- 消印（カード右上に重ねる） ---- */
.ecd-stamp { position: absolute; top: -8px; right: -6px; width: 64px; height: 64px; transform: rotate(-4deg); color: var(--ecd-stamp); pointer-events: none; filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); }
.ecd-stamp svg { display: block; width: 100%; height: 100%; }
.ecd-stamp--seedling { color: var(--ecd-seed); }
.ecd-stamp--budding { color: var(--ecd-bud); }
.ecd-stamp--wax { width: 68px; height: 68px; transform: rotate(-6deg); }
