/* Edgebase Components */
.button, .btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: var(--tap-min); min-width: var(--tap-min);
	padding: var(--space-sm) var(--space-lg);
	background: var(--color-brand); color: #fff; text-decoration: none;
	border: 0; border-radius: var(--radius); cursor: pointer;
}
.button:hover, .btn:hover { background: var(--color-link-hover); color: #fff; }

/* ナビ/リンク/ボタンのタップ確保 */
.primary-menu a { display: inline-flex; align-items: center; min-height: var(--tap-min); }

/* モバイルメニュートグル（表示/非表示の切替は layout.css 側） */
.menu-toggle {
	min-height: var(--tap-min);
	padding: var(--space-sm) var(--space-md);
	background: transparent; color: var(--color-text);
	border: 1px solid var(--color-border); border-radius: var(--radius);
	cursor: pointer;
}

/* カード */
.card {
	border: 1px solid var(--color-border); border-radius: var(--radius);
	overflow: hidden; background: var(--color-base);
}
.card__body { padding: var(--space-md); }

/* パンくず */
.breadcrumb { font-size: var(--fs-small); margin-bottom: var(--space-md); }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: 0; padding: 0; }
.breadcrumb li::after { content: "›"; margin-left: var(--space-xs); color: var(--color-text-muted); }
.breadcrumb li:last-child::after { content: ""; }

/* 目次 */
.toc {
	border: 1px solid var(--color-border); border-radius: var(--radius);
	padding: var(--space-md); margin-bottom: var(--space-lg); background: var(--color-surface);
}
.toc__title { font-weight: 700; margin-bottom: var(--space-sm); }
.toc ol { margin: 0; padding-left: var(--space-lg); }

/* 著者・監修者ボックス */
.author-box, .supervisor-box {
	display: flex; gap: var(--space-md); align-items: flex-start;
	border: 1px solid var(--color-border); border-radius: var(--radius);
	padding: var(--space-md); margin-block: var(--space-lg);
	background: var(--color-surface);
}
.author-box__avatar img, .supervisor-box__avatar img { border-radius: 50%; }
.supervisor-box__meta { font-size: var(--fs-small); color: var(--color-text-muted); }
