:root {
	--bunsai-deco-primary: #4f46e5;
	--bunsai-deco-on-primary: #fff;
	--bunsai-deco-danger: #dc2626;
	--bunsai-deco-neutral: #475569;
	--bunsai-deco-outline: #cbd5e1;
	--bunsai-deco-surface: #f8fafc;
	--bunsai-deco-plain-surface: #fff;
	--bunsai-deco-primary-outline: #c7d2fe;
	--bunsai-deco-primary-surface: #eef2ff;
	--bunsai-deco-danger-outline: #fecaca;
	--bunsai-deco-danger-surface: #fff1f2;
	--bunsai-inline-highlight-surface: #e0e7ff;
}

body mark.bunsai-inline-highlight {
	padding-inline: 0.1em;
	border-radius: 0.15em;
	color: inherit;
	background: var(--bunsai-inline-highlight-surface);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

body .wp-block-group.bunsai-deco-note,
body .wp-block-group.bunsai-deco-warning,
body .wp-block-group.bunsai-deco-point,
body .wp-block-group.bunsai-deco-steps,
body .wp-block-group.bunsai-deco-checklist {
	margin-block: 1.5em;
	padding: 1em 1.125em;
	border: 1px solid var(--bunsai-deco-outline);
	border-inline-start: 4px solid var(--bunsai-deco-neutral);
	border-radius: 0;
	background: var(--bunsai-deco-surface);
	overflow-wrap: break-word;
}

body .wp-block-group.bunsai-deco-note {
	border-inline-start-color: var(--bunsai-deco-neutral);
}

body .wp-block-group.bunsai-deco-warning {
	border-color: var(--bunsai-deco-danger-outline);
	border-inline-start-color: var(--bunsai-deco-danger);
	background: var(--bunsai-deco-danger-surface);
}

body .wp-block-group.bunsai-deco-point {
	border-color: var(--bunsai-deco-primary-outline);
	border-inline-start-color: var(--bunsai-deco-primary);
	background: var(--bunsai-deco-primary-surface);
}

body .wp-block-group.bunsai-deco-note::before,
body .wp-block-group.bunsai-deco-warning::before,
body .wp-block-group.bunsai-deco-point::before,
body .wp-block-group.bunsai-deco-steps::before,
body .wp-block-group.bunsai-deco-checklist::before {
	display: block;
	width: max-content;
	margin-block-end: 0.625em;
	font-size: 0.8em;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	color: var(--bunsai-deco-neutral);
}

body .wp-block-group.bunsai-deco-note::before {
	content: "補足";
}

body .wp-block-group.bunsai-deco-warning::before {
	content: "注意";
	color: var(--bunsai-deco-danger);
}

body .wp-block-group.bunsai-deco-point::before {
	content: "ポイント";
	color: var(--bunsai-deco-primary);
}

body .wp-block-group.bunsai-deco-steps::before {
	content: "手順";
	color: var(--bunsai-deco-primary);
}

body .wp-block-group.bunsai-deco-checklist::before {
	content: "チェック";
	color: var(--bunsai-deco-primary);
}

body .wp-block-group.bunsai-deco-note > :first-child,
body .wp-block-group.bunsai-deco-warning > :first-child,
body .wp-block-group.bunsai-deco-point > :first-child,
body .wp-block-group.bunsai-deco-steps > :first-child,
body .wp-block-group.bunsai-deco-checklist > :first-child {
	margin-block-start: 0;
}

body .wp-block-group.bunsai-deco-note > :last-child,
body .wp-block-group.bunsai-deco-warning > :last-child,
body .wp-block-group.bunsai-deco-point > :last-child,
body .wp-block-group.bunsai-deco-steps > :last-child,
body .wp-block-group.bunsai-deco-checklist > :last-child {
	margin-block-end: 0;
}

body .wp-block-group.bunsai-deco-steps,
body .wp-block-group.bunsai-deco-checklist {
	border-color: var(--bunsai-deco-primary-outline);
	border-inline-start-color: var(--bunsai-deco-primary);
	background: var(--bunsai-deco-plain-surface);
}

body .wp-block-group.bunsai-deco-steps li::marker {
	font-weight: 700;
	color: var(--bunsai-deco-primary);
}

body .wp-block-group.bunsai-deco-checklist ul {
	padding-inline-start: 0;
	list-style: none;
}

body .wp-block-group.bunsai-deco-checklist li {
	position: relative;
	padding-inline-start: 1.5em;
}

body .wp-block-group.bunsai-deco-checklist li::before {
	position: absolute;
	inset-inline-start: 0;
	content: "✓";
	font-weight: 700;
	color: var(--bunsai-deco-primary);
}

body .wp-block-buttons.bunsai-deco-button {
	margin-block: 1.5em;
}

body .wp-block-buttons.bunsai-deco-button .wp-block-button__link {
	background: var(--bunsai-deco-primary);
	color: var(--bunsai-deco-on-primary);
}
