/* DN Core いいね — .dn-like に前置。色は --dn-like-* で受ける（既定は暗い地でも明るい地でも成立） */
.dn-like { --dn-like-accent: #F0632A; --dn-like-border: rgba(127,127,127,.35); --dn-like-muted: rgba(127,127,127,.95); margin: 2em 0 1em; display: flex; align-items: center; gap: .9em; flex-wrap: wrap; }
.dn-like__btn { display: inline-flex; align-items: center; gap: .55em; padding: .55em 1.1em; border: 1px solid var(--dn-like-border); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .95em; cursor: pointer; transition: border-color .2s, transform .15s; }
.dn-like__btn:hover { border-color: var(--dn-like-accent); }
.dn-like__btn:active { transform: scale(.97); }
.dn-like__btn:focus-visible { outline: 2px solid var(--dn-like-accent); outline-offset: 2px; }
.dn-like__heart { width: 1.05em; height: 1.05em; display: inline-block; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9A5.4 5.4 0 0 1 12 6.3 5.4 5.4 0 0 1 21.6 12c-2.1 4.4-9.6 9-9.6 9z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9A5.4 5.4 0 0 1 12 6.3 5.4 5.4 0 0 1 21.6 12c-2.1 4.4-9.6 9-9.6 9z'/%3E%3C/svg%3E") center/contain no-repeat; color: var(--dn-like-muted); transition: color .2s, transform .2s; }
.dn-like__btn[aria-pressed="true"] { border-color: var(--dn-like-accent); }
.dn-like__btn[aria-pressed="true"] .dn-like__heart { color: var(--dn-like-accent); transform: scale(1.15); }
.dn-like__count { font-variant-numeric: tabular-nums; color: var(--dn-like-muted); }
.dn-like__btn[aria-pressed="true"] .dn-like__count { color: var(--dn-like-accent); }
.dn-like__thanks { font-size: .85em; color: var(--dn-like-muted); }
.dn-like.is-busy .dn-like__btn { opacity: .6; pointer-events: none; }
@keyframes dnLikePop { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1.15); } }
.dn-like.is-pop .dn-like__heart { animation: dnLikePop .35s ease-out; }
