.mcna {
	--mcna-accent: #2563eb;
	--mcna-accent-text: #fff;
	--mcna-border: rgba(0, 0, 0, .12);
	--mcna-muted: rgba(0, 0, 0, .6);
	--mcna-bg: #fff;
	--mcna-radius: 10px;
	--mcna-gap: 20px;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 2rem;
}
.mcna *, .mcna *::before, .mcna *::after { box-sizing: border-box; }
.mcna [hidden] { display: none !important; }
.mcna-sr {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Toolbar */
.mcna-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.mcna-search { display: flex; gap: 8px; flex: 1 1 280px; max-width: 520px; margin: 0; }
.mcna-search-input { flex: 1; min-width: 0; padding: .6em .9em; border: 1px solid var(--mcna-border); border-radius: var(--mcna-radius); font: inherit; background: var(--mcna-bg); color: inherit; }
.mcna-search-input:focus, .mcna-subscribe-form input:focus { outline: 2px solid var(--mcna-accent); outline-offset: 1px; }
.mcna-count { margin: 0 0 .75rem; color: var(--mcna-muted); font-size: .9em; min-height: 1.2em; }

.mcna-btn {
	appearance: none; cursor: pointer; padding: .6em 1.1em; border: 1px solid var(--mcna-border);
	border-radius: var(--mcna-radius); background: var(--mcna-bg); color: inherit; font: inherit; line-height: 1.2;
}
.mcna-btn:hover { border-color: var(--mcna-accent); }
.mcna-btn--primary { background: var(--mcna-accent); border-color: var(--mcna-accent); color: var(--mcna-accent-text); }
.mcna-btn--primary:hover { filter: brightness(1.1); }
.mcna-btn:disabled { opacity: .6; cursor: default; }
.mcna-more-wrap { text-align: center; margin: 1.5rem 0; }

.mcna-switcher { display: inline-flex; border: 1px solid var(--mcna-border); border-radius: var(--mcna-radius); overflow: hidden; }
.mcna-switch { appearance: none; border: 0; background: var(--mcna-bg); color: inherit; font: inherit; font-size: .9em; padding: .55em .9em; cursor: pointer; }
.mcna-switch + .mcna-switch { border-left: 1px solid var(--mcna-border); }
.mcna-switch[aria-pressed="true"] { background: var(--mcna-accent); color: var(--mcna-accent-text); }

/* Item (shared) */
.mcna-item { background: var(--mcna-bg); border: 1px solid var(--mcna-border); border-radius: var(--mcna-radius); overflow: hidden; }
.mcna-thumb { display: block; color: var(--mcna-muted); background: rgba(0, 0, 0, .04); }
.mcna-thumb img { display: block; width: 100%; height: 100%; margin: 0; }
.mcna-thumb-ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 120px; }
.mcna-body { padding: 14px 16px 16px; }
.mcna-date { display: block; font-size: .8em; color: var(--mcna-muted); margin-bottom: 4px; }
.mcna-title { margin: 0 0 .4em; font-size: 1.1em; line-height: 1.3; }
.mcna-title a { text-decoration: none; color: inherit; }
.mcna-title a:hover { color: var(--mcna-accent); text-decoration: underline; }
.mcna-excerpt { margin: 0 0 .8em; font-size: .93em; color: var(--mcna-muted); }

.mcna-share { display: flex; align-items: center; gap: 6px; }
.mcna-share-label { font-size: .75em; text-transform: uppercase; letter-spacing: .05em; color: var(--mcna-muted); margin-right: 2px; }
.mcna-share-link {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;
	border-radius: 50%; border: 1px solid var(--mcna-border); color: inherit; text-decoration: none; box-shadow: none;
}
.mcna-share-link:hover, .mcna-share-link:focus-visible { background: var(--mcna-accent); border-color: var(--mcna-accent); color: var(--mcna-accent-text); }

/* ---------- Layout: list ---------- */
.mcna--list .mcna-items, .mcna--excerpt .mcna-items { display: flex; flex-direction: column; gap: 0; }
.mcna--list .mcna-item, .mcna--excerpt .mcna-item { border-width: 0 0 1px; border-radius: 0; background: transparent; }
.mcna--list .mcna-thumb, .mcna--excerpt .mcna-thumb { display: none; }
.mcna--list .mcna-body, .mcna--excerpt .mcna-body { padding: 16px 0; display: grid; grid-template-columns: 1fr auto; column-gap: 20px; align-items: center; }
.mcna--list .mcna-date, .mcna--excerpt .mcna-date, .mcna--excerpt .mcna-excerpt { grid-column: 1; }
.mcna--list .mcna-title, .mcna--excerpt .mcna-title { grid-column: 1; margin: 0 0 .2em; }
.mcna--list .mcna-share, .mcna--excerpt .mcna-share { grid-column: 2; grid-row: 1 / span 3; }
.mcna--list .mcna-excerpt { display: none; }
.mcna--excerpt .mcna-excerpt { margin: .2em 0 0; }

/* ---------- Layout: gallery ---------- */
.mcna--gallery .mcna-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--mcna-card, 240px)), 1fr)); gap: var(--mcna-gap); }
.mcna--gallery .mcna-item { display: flex; flex-direction: column; }
.mcna--gallery .mcna-thumb { aspect-ratio: 4 / 3; overflow: hidden; }
.mcna--gallery .mcna-thumb img { object-fit: cover; object-position: top center; }
.mcna--gallery .mcna-excerpt { display: none; }
.mcna--gallery .mcna-body { flex: 1; display: flex; flex-direction: column; }
.mcna--gallery .mcna-share { margin-top: auto; padding-top: 8px; }

/* ---------- Layout: mosaic ---------- */
.mcna--mosaic .mcna-items { column-width: var(--mcna-card, 260px); column-gap: var(--mcna-gap); }
.mcna--mosaic .mcna-item { display: inline-block; width: 100%; margin: 0 0 var(--mcna-gap); break-inside: avoid; }
.mcna--mosaic .mcna-thumb img { height: auto; }
.mcna--mosaic .mcna-thumb-ph { aspect-ratio: 16 / 9; }
.mcna--mosaic .mcna-excerpt { display: none; }

/* ---------- Subscribe ---------- */
.mcna-subscribe { margin-top: 3rem; padding: 2rem 1.5rem; text-align: center; border: 1px solid var(--mcna-border); border-radius: var(--mcna-radius); background: rgba(0, 0, 0, .025); }
.mcna-subscribe-title { margin: 0 0 .3em; }
.mcna-subscribe-intro { margin: 0 0 1.2em; color: var(--mcna-muted); }
.mcna-fields { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 640px; margin: 0 auto; }
.mcna-fields input { flex: 1 1 180px; min-width: 0; padding: .65em .9em; border: 1px solid var(--mcna-border); border-radius: var(--mcna-radius); font: inherit; background: var(--mcna-bg); color: inherit; }
.mcna-msg { min-height: 1.4em; margin: .9em 0 0; font-size: .95em; }
.mcna-msg.is-ok { color: #15803d; }
.mcna-msg.is-error { color: #b91c1c; }
.mcna-hp { position: absolute !important; left: -9999px; height: 0; overflow: hidden; }

@media (max-width: 600px) {
	.mcna--list .mcna-body, .mcna--excerpt .mcna-body { grid-template-columns: 1fr; }
	.mcna--list .mcna-share, .mcna--excerpt .mcna-share { grid-column: 1; grid-row: auto; margin-top: 8px; }
}

.mcna-consent { margin: .8em 0 0; font-size: .9em; color: var(--mcna-muted); }
.mcna-item.is-pinned { border-color: var(--mcna-accent); }
