/* ==========================================================================
   PC Game Press — Design tokens + article content
   本文（.pgp-prose）とブロックエディター（.is-root-container）で共通のスタイル
   ========================================================================== */

:root {
	--pgp-bg: #F8F9FA;
	--pgp-surface: #FFFFFF;
	--pgp-surface-2: #F2F4F7;
	--pgp-surface-3: #E7EBF0;
	--pgp-line: #E3E7ED;
	--pgp-line-strong: #CDD4DE;
	--pgp-ink: #0F172A;
	--pgp-text: #1E293B;
	--pgp-muted: #5B6B80;
	--pgp-subtle: #8A98AB;

	--pgp-navy: #1E293B;
	--pgp-accent: #0EA5E9;
	--pgp-accent-ink: #0369A1;
	--pgp-accent-soft: rgba(14, 165, 233, .09);
	--pgp-accent-glow: rgba(14, 165, 233, .45);
	--pgp-on-accent: #031420;
	--pgp-mark: rgba(14, 165, 233, .22);

	--pgp-dark: #12151B;
	--pgp-dark-2: #1A1D24;
	--pgp-dark-3: #232833;

	--pgp-ok: #10B981;
	--pgp-ok-ink: #047857;
	--pgp-ok-soft: rgba(16, 185, 129, .1);
	--pgp-warn: #F59E0B;
	--pgp-warn-ink: #B45309;
	--pgp-warn-soft: rgba(245, 158, 11, .12);
	--pgp-ng: #EF4444;
	--pgp-ng-ink: #B91C1C;
	--pgp-ng-soft: rgba(239, 68, 68, .09);

	--pgp-cat-game: #0EA5E9;
	--pgp-cat-spec: #8B5CF6;
	--pgp-cat-gear: #F59E0B;
	--pgp-cat-howto: #10B981;
	--pgp-cat-other: #94A3B8;

	--pgp-ff-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;
	--pgp-ff-display: "Inter Tight", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;
	--pgp-ff-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	--pgp-radius-sm: 4px;
	--pgp-radius: 6px;
	--pgp-radius-lg: 10px;
	--pgp-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px -16px rgba(15, 23, 42, .18);
	--pgp-ease: cubic-bezier(.2, .7, .2, 1);
}

[data-theme="dark"] {
	--pgp-bg: #1A1D24;
	--pgp-surface: #20242C;
	--pgp-surface-2: #262B34;
	--pgp-surface-3: #2E343F;
	--pgp-line: #2F3540;
	--pgp-line-strong: #3D4552;
	--pgp-ink: #F3F6FA;
	--pgp-text: #D3DBE6;
	--pgp-muted: #9AA7B8;
	--pgp-subtle: #6F7C8E;
	--pgp-navy: #0F1319;
	--pgp-accent-ink: #38BDF8;
	--pgp-accent-soft: rgba(14, 165, 233, .12);
	--pgp-mark: rgba(14, 165, 233, .3);
	--pgp-ok-ink: #34D399;
	--pgp-ok-soft: rgba(16, 185, 129, .14);
	--pgp-warn-ink: #FBBF24;
	--pgp-warn-soft: rgba(245, 158, 11, .14);
	--pgp-ng-ink: #F87171;
	--pgp-ng-soft: rgba(239, 68, 68, .13);
	--pgp-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 36px -16px rgba(0, 0, 0, .6);
	color-scheme: dark;
}

/* ---------- Base text ---------- */
:is(.pgp-prose, .is-root-container) {
	font-family: var(--pgp-ff-sans);
	font-size: 1.0625rem;
	line-height: 1.95;
	letter-spacing: .02em;
	color: var(--pgp-text);
	overflow-wrap: anywhere;
}

.pgp-prose > * + * {
	margin-top: 1.6em;
}

:is(.pgp-prose, .is-root-container) p {
	margin-bottom: 0;
}

:is(.pgp-prose, .is-root-container) a {
	color: var(--pgp-accent-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	transition: text-decoration-thickness .2s, color .2s;
}

:is(.pgp-prose, .is-root-container) a:hover {
	text-decoration-thickness: 2px;
}

:is(.pgp-prose, .is-root-container) strong {
	font-weight: 700;
	color: var(--pgp-ink);
	background: linear-gradient(transparent 62%, var(--pgp-mark) 62%);
}

:is(.pgp-prose, .is-root-container) code {
	font-family: var(--pgp-ff-mono);
	font-size: .875em;
	padding: .15em .4em;
	border-radius: var(--pgp-radius-sm);
	background: var(--pgp-surface-2);
	border: 1px solid var(--pgp-line);
}

/* ---------- Headings (H2〜H4 を視覚的に明確に区別) ---------- */
:is(.pgp-prose, .is-root-container) :is(h2, h3, h4) {
	color: var(--pgp-ink);
	font-feature-settings: "palt";
	word-break: auto-phrase;
	scroll-margin-top: 96px;
}

:is(.pgp-prose, .is-root-container) h2 {
	position: relative;
	margin: 3.4em 0 1.3em;
	padding: .9em 3.6em .9em 1.2em;
	background: var(--pgp-navy);
	color: #fff;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: .02em;
	border-radius: var(--pgp-radius-sm);
	box-shadow: inset 5px 0 0 var(--pgp-accent);
}

:is(.pgp-prose, .is-root-container) h2::after {
	content: "";
	position: absolute;
	right: 1.1em;
	top: 50%;
	width: 26px;
	height: 10px;
	transform: translateY(-50%) skewX(-24deg);
	background: repeating-linear-gradient(90deg, var(--pgp-accent) 0 4px, transparent 4px 8px);
	opacity: .85;
}

:is(.pgp-prose, .is-root-container) h3 {
	margin: 2.6em 0 1em;
	padding: .15em 0 .6em .85em;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.55;
	border-left: 4px solid var(--pgp-accent);
	border-bottom: 1px solid var(--pgp-line);
}

:is(.pgp-prose, .is-root-container) h4 {
	position: relative;
	margin: 2.2em 0 .8em;
	padding-left: 1.2em;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.6;
}

:is(.pgp-prose, .is-root-container) h4::before {
	content: "";
	position: absolute;
	left: .1em;
	top: .55em;
	width: .5em;
	height: .5em;
	background: var(--pgp-accent);
	transform: rotate(45deg);
}

:is(.pgp-prose, .is-root-container) h2 + h3 {
	margin-top: 1.4em;
}

/* ---------- Lead ---------- */
:is(.pgp-prose, .is-root-container) .is-style-lead {
	font-size: 1.125rem;
	line-height: 2;
	color: var(--pgp-ink);
	padding-bottom: 1.4em;
	border-bottom: 1px solid var(--pgp-line);
}

/* ---------- Lists ---------- */
:is(.pgp-prose, .is-root-container) :is(ul, ol) {
	padding-left: 1.5em;
}

:is(.pgp-prose, .is-root-container) li + li {
	margin-top: .45em;
}

:is(.pgp-prose, .is-root-container) ul > li::marker {
	color: var(--pgp-accent);
}

:is(.pgp-prose, .is-root-container) ol > li::marker {
	font-family: var(--pgp-ff-display);
	font-weight: 800;
	color: var(--pgp-accent-ink);
}

/* 良い点 / 気になる点 */
:is(.pgp-prose, .is-root-container) :is(ul, ol):is(.is-style-pros, .is-style-cons) {
	position: relative;
	list-style: none;
	padding: 3.5em 1.4em 1.3em;
	border-radius: var(--pgp-radius-lg);
	border: 1px solid;
	overflow: hidden;
}

:is(.pgp-prose, .is-root-container) .is-style-pros {
	background: var(--pgp-ok-soft);
	border-color: color-mix(in srgb, var(--pgp-ok) 35%, transparent);
}

:is(.pgp-prose, .is-root-container) .is-style-cons {
	background: var(--pgp-ng-soft);
	border-color: color-mix(in srgb, var(--pgp-ng) 30%, transparent);
}

:is(.pgp-prose, .is-root-container) :is(.is-style-pros, .is-style-cons)::before {
	position: absolute;
	inset: 0 0 auto;
	padding: .6em 1.4em;
	font-family: var(--pgp-ff-display);
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: .08em;
	color: #fff;
}

:is(.pgp-prose, .is-root-container) .is-style-pros::before {
	content: "GOOD ─ 高評価のポイント";
	background: var(--pgp-ok);
	color: #04241A;
}

:is(.pgp-prose, .is-root-container) .is-style-cons::before {
	content: "BAD ─ 気になるポイント";
	background: var(--pgp-ng);
}

:is(.pgp-prose, .is-root-container) :is(.is-style-pros, .is-style-cons, .is-style-check) > li {
	position: relative;
	padding-left: 1.9em;
}

:is(.pgp-prose, .is-root-container) :is(.is-style-pros, .is-style-cons, .is-style-check) > li::before {
	position: absolute;
	left: 0;
	top: .38em;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font: 800 .8125rem/1 var(--pgp-ff-display);
	color: #fff;
}

:is(.pgp-prose, .is-root-container) .is-style-pros > li::before {
	content: "+";
	background: var(--pgp-ok);
	color: #04241A;
}

:is(.pgp-prose, .is-root-container) .is-style-cons > li::before {
	content: "−";
	background: var(--pgp-ng);
}

:is(.pgp-prose, .is-root-container) .is-style-check {
	list-style: none;
	padding: 1.3em 1.4em;
	background: var(--pgp-surface);
	border: 1px solid var(--pgp-line);
	border-radius: var(--pgp-radius-lg);
}

:is(.pgp-prose, .is-root-container) .is-style-check > li::before {
	content: "";
	background: var(--pgp-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23031420' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat;
}

:is(.pgp-prose, .is-root-container) .is-style-check > li {
	font-weight: 700;
	color: var(--pgp-ink);
}

/* ---------- Tables ---------- */
:is(.pgp-prose, .is-root-container) .wp-block-table {
	margin-inline: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

:is(.pgp-prose, .is-root-container) table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .9375rem;
	line-height: 1.7;
	letter-spacing: .01em;
	border: 1px solid var(--pgp-line);
	border-radius: var(--pgp-radius-lg);
	overflow: hidden;
	background: var(--pgp-surface);
}

:is(.pgp-prose, .is-root-container) :is(th, td) {
	padding: .8em 1em;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--pgp-line);
}

:is(.pgp-prose, .is-root-container) tr > :is(th, td) + :is(th, td) {
	border-left: 1px solid var(--pgp-line);
}

:is(.pgp-prose, .is-root-container) tbody tr:last-child > * {
	border-bottom: 0;
}

:is(.pgp-prose, .is-root-container) thead {
	border: 0;
}

:is(.pgp-prose, .is-root-container) thead th {
	background: var(--pgp-navy);
	color: #fff;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .06em;
	border-bottom: 0;
	border-color: rgba(255, 255, 255, .12) !important;
}

:is(.pgp-prose, .is-root-container) .wp-block-table figcaption {
	margin-top: .6em;
	font-size: .8125rem;
	color: var(--pgp-muted);
	text-align: left;
}

/* ゲーム基本情報 */
:is(.pgp-prose, .is-root-container) .is-style-gameinfo table {
	table-layout: fixed;
}

:is(.pgp-prose, .is-root-container) .is-style-gameinfo :is(th, td):first-child {
	width: 26%;
}

:is(.pgp-prose, .is-root-container) .is-style-gameinfo :is(th, td):nth-child(3) {
	width: 30%;
}

:is(.pgp-prose, .is-root-container) .is-style-gameinfo tbody td:first-child {
	font-weight: 700;
	color: var(--pgp-ink);
	background: var(--pgp-surface-2);
}

:is(.pgp-prose, .is-root-container) .is-style-gameinfo tbody td:nth-child(2) {
	font-weight: 500;
	color: var(--pgp-ink);
}

:is(.pgp-prose, .is-root-container) .is-style-gameinfo tbody td:nth-child(3) {
	font-size: .8125rem;
	color: var(--pgp-muted);
}

/* スペック比較（推奨列を強調） */
:is(.pgp-prose, .is-root-container) .is-style-spec table {
	min-width: 520px;
	table-layout: fixed;
}

:is(.pgp-prose, .is-root-container) .is-style-spec :is(th, td):first-child {
	width: 22%;
}

:is(.pgp-prose, .is-root-container) .is-style-spec tbody td:first-child {
	font-weight: 700;
	color: var(--pgp-ink);
	background: var(--pgp-surface-2);
}

:is(.pgp-prose, .is-root-container) .is-style-spec thead th:last-child {
	background: var(--pgp-accent);
	color: var(--pgp-on-accent);
}

:is(.pgp-prose, .is-root-container) .is-style-spec tbody td:last-child {
	background: var(--pgp-accent-soft);
	font-weight: 500;
	color: var(--pgp-ink);
}

/* ---------- Boxes (group block styles) ---------- */
:is(.pgp-prose, .is-root-container) .wp-block-group:is(.is-style-point, .is-style-warning, .is-style-memo, .is-style-cta-box) {
	position: relative;
	padding: 1.4em 1.6em;
	border-radius: var(--pgp-radius-lg);
}

:is(.pgp-prose, .is-root-container) .wp-block-group:is(.is-style-point, .is-style-warning, .is-style-memo, .is-style-cta-box) > * + * {
	margin-top: .6em;
}

:is(.pgp-prose, .is-root-container) .wp-block-group:is(.is-style-point, .is-style-warning, .is-style-memo, .is-style-cta-box) > :first-child {
	margin-top: 0;
}

:is(.pgp-prose, .is-root-container) .is-style-point {
	background: var(--pgp-accent-soft);
	border: 1px solid color-mix(in srgb, var(--pgp-accent) 30%, transparent);
	box-shadow: inset 4px 0 0 var(--pgp-accent);
}

:is(.pgp-prose, .is-root-container) .is-style-warning {
	background: var(--pgp-warn-soft);
	border: 1px solid color-mix(in srgb, var(--pgp-warn) 40%, transparent);
	box-shadow: inset 4px 0 0 var(--pgp-warn);
}

:is(.pgp-prose, .is-root-container) .is-style-memo {
	background: var(--pgp-surface-2);
	border: 1px dashed var(--pgp-line-strong);
	font-size: .9375rem;
}

:is(.pgp-prose, .is-root-container) .is-style-memo::before {
	content: "MEMO";
	display: inline-block;
	margin-bottom: .5em;
	padding: .2em .55em;
	font: 800 .6875rem/1.4 var(--pgp-ff-display);
	letter-spacing: .12em;
	color: var(--pgp-muted);
	border: 1px solid var(--pgp-line-strong);
	border-radius: 3px;
}

:is(.pgp-prose, .is-root-container) :is(.is-style-point, .is-style-warning) strong {
	background: none;
	font-size: 1.0625rem;
}

:is(.pgp-prose, .is-root-container) :is(.is-style-point, .is-style-warning) a {
	font-weight: 700;
}

/* CTA box (dark) */
:is(.pgp-prose, .is-root-container) .is-style-cta-box {
	overflow: hidden;
	padding: 2em 1.8em;
	text-align: center;
	color: #CBD5E1;
	background:
		radial-gradient(420px 200px at 0% 0%, rgba(14, 165, 233, .28), transparent 70%),
		radial-gradient(360px 180px at 100% 100%, rgba(139, 92, 246, .22), transparent 70%),
		#12151B;
	border: 1px solid rgba(255, 255, 255, .06);
}

:is(.pgp-prose, .is-root-container) .is-style-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: radial-gradient(circle at 50% 0%, #000, transparent 75%);
	pointer-events: none;
}

:is(.pgp-prose, .is-root-container) .is-style-cta-box > * {
	position: relative;
}

:is(.pgp-prose, .is-root-container) .is-style-cta-box strong {
	display: block;
	font-size: 1.375rem;
	font-weight: 900;
	letter-spacing: .02em;
	color: #fff;
	background: none;
	font-feature-settings: "palt";
}

:is(.pgp-prose, .is-root-container) .is-style-cta-box .wp-block-buttons {
	justify-content: center;
	margin-top: 1.4em;
}

/* ---------- Quote: 海外の口コミ ---------- */
:is(.pgp-prose, .is-root-container) .wp-block-quote {
	margin-inline: 0;
	padding: .2em 0 .2em 1.3em;
	border-left: 3px solid var(--pgp-line-strong);
	color: var(--pgp-muted);
}

:is(.pgp-prose, .is-root-container) .wp-block-quote cite {
	display: block;
	margin-top: .6em;
	font-size: .8125rem;
	font-style: normal;
	color: var(--pgp-subtle);
}

:is(.pgp-prose, .is-root-container) .wp-block-quote.is-style-voice {
	position: relative;
	padding: 1.3em 1.5em 1.2em 4em;
	border: 1px solid var(--pgp-line);
	border-radius: var(--pgp-radius-lg);
	background: var(--pgp-surface);
	color: var(--pgp-text);
	font-size: .9688rem;
}

:is(.pgp-prose, .is-root-container) .wp-block-quote.is-style-voice::before {
	content: "“";
	position: absolute;
	left: .35em;
	top: .05em;
	font: 900 3.6rem/1 Georgia, serif;
	color: var(--pgp-accent);
}

:is(.pgp-prose, .is-root-container) .wp-block-quote.is-style-voice cite::before {
	content: "— ";
}

/* ---------- Buttons ---------- */
:is(.pgp-prose, .is-root-container) .wp-block-buttons {
	gap: .8em;
}

:is(.pgp-prose, .is-root-container) .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	min-height: 3.4em;
	padding: .9em 2em;
	font-family: var(--pgp-ff-sans);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none !important;
	color: #fff;
	background: var(--pgp-navy);
	border-radius: var(--pgp-radius);
	transition: transform .2s var(--pgp-ease), box-shadow .2s var(--pgp-ease), background-color .2s;
}

:is(.pgp-prose, .is-root-container) .wp-block-button__link:hover {
	transform: translateY(-2px);
}

:is(.pgp-prose, .is-root-container) .is-style-steam .wp-block-button__link {
	color: #fff;
	background: linear-gradient(135deg, #1B2838 0%, #2A475E 100%);
	box-shadow: inset 0 0 0 1px rgba(102, 192, 244, .35), 0 10px 24px -12px rgba(27, 40, 56, .8);
}

:is(.pgp-prose, .is-root-container) .is-style-steam .wp-block-button__link::before {
	content: "";
	width: 1.15em;
	height: 1.15em;
	flex: none;
	background: #66C0F4;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is(.pgp-prose, .is-root-container) .is-style-steam .wp-block-button__link:hover {
	box-shadow: inset 0 0 0 1px rgba(102, 192, 244, .7), 0 14px 28px -12px rgba(27, 40, 56, .9);
}

:is(.pgp-prose, .is-root-container) :is(.is-style-cta, .is-style-internal) .wp-block-button__link::after {
	content: "";
	width: 1.1em;
	height: 1.1em;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s var(--pgp-ease);
}

:is(.pgp-prose, .is-root-container) :is(.is-style-cta, .is-style-internal) .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

:is(.pgp-prose, .is-root-container) .is-style-cta .wp-block-button__link {
	color: var(--pgp-on-accent);
	background: var(--pgp-accent);
	font-weight: 800;
	box-shadow: 0 12px 28px -12px var(--pgp-accent-glow), inset 0 -2px 0 rgba(0, 0, 0, .12);
}

:is(.pgp-prose, .is-root-container) .is-style-cta .wp-block-button__link:hover {
	background: #38BDF8;
	box-shadow: 0 16px 32px -12px var(--pgp-accent-glow), inset 0 -2px 0 rgba(0, 0, 0, .12);
}

:is(.pgp-prose, .is-root-container) .is-style-internal .wp-block-button__link {
	color: var(--pgp-ink);
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--pgp-ink);
}

:is(.pgp-prose, .is-root-container) .is-style-internal .wp-block-button__link:hover {
	color: var(--pgp-bg);
	background: var(--pgp-ink);
}

@media (max-width: 600px) {
	:is(.pgp-prose, .is-root-container) .wp-block-button {
		width: 100%;
	}

	:is(.pgp-prose, .is-root-container) .wp-block-button__link {
		width: 100%;
	}
}

/* ---------- Status badges（日本語対応・Deck互換性） ---------- */
.pgp-badge {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: .2em .75em .2em .6em;
	font-family: var(--pgp-ff-sans);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .02em;
	border-radius: 999px;
	white-space: nowrap;
	vertical-align: .08em;
	background: var(--pgp-surface-2);
	color: var(--pgp-muted);
}

.pgp-badge::before {
	content: "";
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background: currentColor;
}

.pgp-badge--ok {
	background: var(--pgp-ok-soft);
	color: var(--pgp-ok-ink);
}

.pgp-badge--warn {
	background: var(--pgp-warn-soft);
	color: var(--pgp-warn-ink);
}

.pgp-badge--ng {
	background: var(--pgp-ng-soft);
	color: var(--pgp-ng-ink);
}

/* ---------- Media ---------- */
:is(.pgp-prose, .is-root-container) :is(.wp-block-image, .wp-block-embed) {
	margin-inline: 0;
}

:is(.pgp-prose, .is-root-container) .wp-block-image img {
	border-radius: var(--pgp-radius);
}

:is(.pgp-prose, .is-root-container) .wp-block-embed__wrapper iframe {
	border-radius: var(--pgp-radius);
}

:is(.pgp-prose, .is-root-container) :is(.wp-block-image, .wp-block-embed) figcaption {
	margin-top: .7em;
	font-size: .8125rem;
	color: var(--pgp-muted);
	text-align: center;
}

:is(.pgp-prose, .is-root-container) .wp-block-separator {
	border: 0;
	height: 1px;
	margin-block: 3em;
	background: var(--pgp-line);
	overflow: visible;
	position: relative;
}

/* FAQ（詳細ブロック） */
:is(.pgp-prose, .is-root-container) .wp-block-details {
	padding: 0;
	border: 1px solid var(--pgp-line);
	border-radius: var(--pgp-radius-lg);
	background: var(--pgp-surface);
}

:is(.pgp-prose, .is-root-container) .wp-block-details summary {
	padding: 1em 1.3em;
	font-weight: 700;
	color: var(--pgp-ink);
	cursor: pointer;
}

:is(.pgp-prose, .is-root-container) .wp-block-details > :not(summary) {
	margin: 0 1.3em 1.1em;
}
