/* ==========================================================================
   Inkline Editorial — 組件層 components.css
   頁頭 / 頁腳 / 規格條 / 導覽 / 主題切換 / 目錄 / 分頁 / 表單 / 評論
   全部色值以令牌引用，禁止寫死。
   ========================================================================== */

/* --- 讓 alignfull 在 body 根內距下仍能滿版（WP 的原生行為備援） --- */
.ink-header.alignfull,
.ink-footer.alignfull {
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 0px))
		calc(-1 * var(--wp--style--root--padding-right, 0px));
	width: auto;
	max-width: none;
}

/* ==========================================================================
   1. 頁頭 Header
   ========================================================================== */

.ink-header {
	position: relative;
	z-index: 20;
	background-color: var(--bg);
	border-bottom: var(--rule-structural) solid var(--rule-strong);
}

.ink-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-5);
	max-width: var(--max-wide);
	margin-inline: auto;
	padding: var(--sp-5) var(--wp--style--root--padding-left, 24px) var(--sp-4)
		var(--wp--style--root--padding-right, 24px);
	flex-wrap: wrap;
	/* 披露式面板的定位基準：對齊容器而非觸發器，
	   觸發器在窄屏換行後位置不固定，錨在它身上必有一側溢出。 */
	position: relative;
}

.ink-brand {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ink-brand__name {
	font-family: var(--font-heading);
	font-size: clamp(1.25rem, 2.4vw, 1.6rem);
	line-height: 1.1;
	letter-spacing: 0.01em;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
}

.ink-brand__name:hover,
.ink-brand__name:focus {
	color: var(--accent);
}

.ink-brand__tagline {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

/* --- 主導覽 --- */
.ink-header__actions {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	flex-wrap: wrap;
}

.ink-nav__list {
	display: flex;
	align-items: center;
	gap: var(--sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

.ink-nav__list li {
	margin: 0;
}

.ink-nav__list a {
	position: relative;
	display: inline-block;
	padding-block: var(--sp-1);
	color: var(--ink);
	text-decoration: none;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
}

.ink-nav__list a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: var(--rule-hair);
	background-color: var(--accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--dur-color) linear;
}

.ink-nav__list a:hover::after,
.ink-nav__list a:focus-visible::after,
.ink-nav__list a[aria-current]::after {
	transform: scaleX(1);
}

.ink-nav__list a[aria-current] {
	color: var(--accent);
}

/* 目前分類／頁面高亮（WP 的 current-menu-item 類） */
.ink-nav__list .current-menu-item > a,
.ink-nav__list .current_page_item > a {
	color: var(--accent);
}

.ink-nav__list .current-menu-item > a::after,
.ink-nav__list .current_page_item > a::after {
	transform: scaleX(1);
}

/* --- 披露式選單（原生 details，零 JS、可鍵盤操作） --- */
.ink-disclosure {
	display: none;
	position: relative;
}

.ink-disclosure > summary {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	padding: var(--sp-2) var(--sp-3);
	border: var(--rule-hair) solid var(--rule-strong);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
	list-style: none;
}

.ink-disclosure > summary::-webkit-details-marker {
	display: none;
}

.ink-disclosure > summary::after {
	content: "▾";
	font-size: 10px;
	line-height: 1;
	transition: transform var(--dur-color) linear;
}

.ink-disclosure[open] > summary::after {
	transform: rotate(180deg);
}

.ink-disclosure[open] > summary {
	border-color: var(--accent);
	color: var(--accent);
}

.ink-disclosure__panel {
	position: absolute;
	inset-inline-end: var(--wp--style--root--padding-right, var(--sp-5));
	top: calc(100% + var(--sp-2));
	z-index: 30;
	/* 定位基準為 .ink-header__inner，寬度上限再上鎖一次。 */
	min-width: min(220px, calc(100vw - 2 * var(--wp--style--root--padding-left, var(--sp-5))));
	max-width: calc(100vw - 2 * var(--wp--style--root--padding-left, var(--sp-5)));
	padding: var(--sp-4);
	background-color: var(--bg);
	border: var(--rule-structural) solid var(--rule-strong);
}

/* 面板改以頁頭容器定位，故在該脈絡下不需要自身成為定位祖先 */
.ink-header__inner .ink-disclosure {
	position: static;
}

.ink-disclosure__panel .ink-nav__list {
	flex-direction: column;
	align-items: flex-start;
	gap: var(--sp-3);
}

/* --- 主題切換按鈕 --- */
.ink-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	margin: 0;
	padding: var(--sp-2) var(--sp-3);
	background-color: transparent;
	color: var(--ink);
	border: var(--rule-hair) solid var(--rule-strong);
	border-radius: var(--radius-none);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	line-height: 1.4;
	cursor: pointer;
	transition: color var(--dur-color) linear, border-color var(--dur-color) linear,
		background-color var(--dur-color) linear;
}

.ink-toggle:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.ink-toggle[aria-pressed="true"] {
	background-color: var(--ink);
	color: var(--bg);
	border-color: var(--ink);
}

.ink-toggle__glyph {
	font-size: 12px;
	line-height: 1;
	display: inline-block;
}

/* --- 資料入口按鈕 --- */
.ink-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	padding: var(--sp-2) var(--sp-3);
	background-color: var(--accent);
	color: var(--accent-ink);
	border: var(--rule-hair) solid var(--accent);
	border-radius: var(--radius-none);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear,
		border-color var(--dur-color) linear;
}

.ink-btn:hover,
.ink-btn:focus {
	background-color: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

.ink-btn--ghost {
	background-color: transparent;
	color: var(--ink);
	border-color: var(--rule-strong);
}

.ink-btn--ghost:hover,
.ink-btn--ghost:focus {
	background-color: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

/* --- 響應式：窄屏收合為披露式 --- */
@media (max-width: 900px) {
	.ink-nav--primary {
		display: none;
	}

	.ink-disclosure {
		display: block;
	}

	.ink-header__inner {
		padding-block: var(--sp-4);
		gap: var(--sp-3);
	}
}

@media (max-width: 420px) {
	.ink-toggle__label,
	.ink-btn__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* ==========================================================================
   2. 規格條（5 格等分導覽塊）
   ========================================================================== */

.ink-specbar {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border: var(--rule-structural) solid var(--rule-strong);
	background-color: transparent;
	margin-block: var(--sp-7);
}

.ink-specbar > * {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
	justify-content: space-between;
	min-height: 112px;
	padding: var(--sp-4);
	border-inline-end: var(--rule-structural) solid var(--rule-strong);
	color: var(--ink);
	text-decoration: none;
	background-color: transparent;
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear;
}

.ink-specbar > *:last-child {
	border-inline-end: 0;
}

.ink-specbar > *:hover,
.ink-specbar > *:focus {
	background-color: var(--ink);
	color: var(--bg);
}

.ink-specbar > *:hover .ink-specbar__value,
.ink-specbar > *:focus .ink-specbar__value {
	color: var(--bg);
}

.ink-specbar__label {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: currentColor;
}

.ink-specbar__value {
	font-family: var(--font-heading);
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
	color: var(--accent);
	transition: color var(--dur-color) linear;
}

@media (max-width: 900px) {
	.ink-specbar {
		grid-template-columns: repeat(2, 1fr);
	}

	.ink-specbar > *:nth-child(2n) {
		border-inline-end: 0;
	}

	.ink-specbar > *:not(:nth-last-child(-n + 1)) {
		border-bottom: var(--rule-structural) solid var(--rule-strong);
	}
}

@media (max-width: 480px) {
	.ink-specbar {
		grid-template-columns: 1fr;
	}

	.ink-specbar > * {
		border-inline-end: 0;
		min-height: 0;
	}

	.ink-specbar > *:not(:last-child) {
		border-bottom: var(--rule-structural) solid var(--rule-strong);
	}
}

/* ==========================================================================
   3. 首頁頭條區 Hero
   ========================================================================== */

.ink-hero {
	display: grid;
	gap: var(--sp-6);
	padding-block: var(--sp-8) var(--sp-7);
	border-bottom: var(--rule-hair) solid var(--rule);
}

@media (min-width: 1000px) {
	.ink-hero {
		grid-template-columns: minmax(0, 1fr) 300px;
		column-gap: var(--sp-8);
	}
}

.ink-hero__title {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-h1);
	line-height: 1.12;
}

.ink-hero__note {
	padding-inline-start: var(--sp-5);
	border-inline-start: var(--rule-structural) solid var(--rule-strong);
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: 1.75;
}

.ink-hero__note p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   4. 歸檔頁首與排序條
   ========================================================================== */

.ink-archive-head {
	padding-block: var(--sp-7) var(--sp-5);
	border-bottom: var(--rule-structural) solid var(--rule-strong);
	margin-block-end: var(--sp-6);
}

.ink-archive-head__title {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-h2);
}

.ink-archive-head__desc {
	max-width: var(--measure);
	margin: 0 0 var(--sp-4);
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: 1.75;
}

.ink-archive-head__count {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}

.ink-sortbar {
	display: flex;
	align-items: center;
	gap: var(--sp-4);
	flex-wrap: wrap;
	padding-block: var(--sp-3);
	border-bottom: var(--rule-hair) solid var(--rule);
	margin-block-end: var(--sp-2);
}

.ink-sortbar__label {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

.ink-sortbar__list {
	display: flex;
	gap: var(--sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ink-sortbar__list a {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: var(--rule-hair) solid transparent;
}

.ink-sortbar__list a:hover,
.ink-sortbar__list a:focus {
	color: var(--accent);
}

.ink-sortbar__list a[aria-current="true"] {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

/* ==========================================================================
   5. 分頁（數字）
   ========================================================================== */

.ink-pagination {
	margin-block: var(--sp-7);
	padding-block-start: var(--sp-5);
	border-top: var(--rule-structural) solid var(--rule-strong);
}

.ink-pagination .page-numbers,
.ink-pagination a,
.ink-pagination span {
	display: inline-block;
	min-width: 40px;
	padding: var(--sp-2) var(--sp-3);
	margin-inline-end: var(--sp-2);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	font-variant-numeric: tabular-nums;
	color: var(--ink);
	text-decoration: none;
	border: var(--rule-hair) solid var(--rule);
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear,
		border-color var(--dur-color) linear;
}

.ink-pagination a:hover,
.ink-pagination a:focus {
	border-color: var(--accent);
	color: var(--accent);
}

.ink-pagination .current {
	background-color: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

.ink-pagination .dots {
	border-color: transparent;
}

/* ==========================================================================
   6. 空結果
   ========================================================================== */

.ink-empty {
	padding-block: var(--sp-8);
	border-top: var(--rule-hair) solid var(--rule);
	border-bottom: var(--rule-hair) solid var(--rule);
	color: var(--muted);
}

.ink-empty__title {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-h3);
	color: var(--ink);
}

.ink-empty__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin-block-start: var(--sp-5);
	padding: 0;
	list-style: none;
}

/* ==========================================================================
   7. 文章頁結構
   ========================================================================== */

.ink-single__layout {
	display: grid;
	gap: var(--sp-7);
	max-width: var(--max-wide);
	margin-inline: auto;
}

@media (min-width: 1120px) {
	.ink-single__layout {
		grid-template-columns: minmax(0, var(--max-content)) 220px;
		justify-content: center;
		column-gap: var(--sp-8);
		align-items: start;
	}

	.ink-single__layout--no-toc {
		grid-template-columns: minmax(0, var(--max-content));
	}
}

.ink-entry {
	min-width: 0;
}

.ink-entry__title {
	margin-block: var(--sp-3) var(--sp-4);
	text-wrap: balance;
}

/* 元信息行：上下各 1px 髮絲線 */
.ink-entry__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2) var(--sp-4);
	padding-block: var(--sp-3);
	margin-block-end: var(--sp-7);
	border-top: var(--rule-hair) solid var(--rule);
	border-bottom: var(--rule-hair) solid var(--rule);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}

.ink-entry__meta > * {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
}

.ink-entry__meta-sep {
	color: var(--rule);
}

.ink-entry__meta a {
	color: inherit;
	text-decoration: none;
	border-bottom: var(--rule-hair) solid transparent;
	transition: color var(--dur-color) linear, border-color var(--dur-color) linear;
}

.ink-entry__meta a:hover,
.ink-entry__meta a:focus {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

/* 正文列 */
.ink-entry-content {
	max-width: var(--measure);
	min-width: 0;
}

.ink-entry-content > * {
	max-width: 100%;
}

.ink-entry-content figure,
.ink-entry-content .wp-block-image,
.ink-entry-content .wp-block-table,
.ink-entry-content .wp-block-code,
.ink-entry-content .wp-block-preformatted,
.ink-entry-content .wp-block-gallery,
.ink-entry-content .wp-block-columns,
.ink-entry-content .wp-block-details {
	max-width: var(--measure);
}

/* 標籤行 */
.ink-tag-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2);
	margin-block: var(--sp-7) 0;
	padding-block-start: var(--sp-5);
	border-top: var(--rule-hair) solid var(--rule);
	list-style: none;
	padding-inline-start: 0;
}

.ink-tag {
	display: inline-block;
	padding: 2px var(--sp-2);
	border: var(--rule-hair) solid var(--rule);
	color: var(--muted);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: color var(--dur-color) linear, border-color var(--dur-color) linear;
}

.ink-tag:hover,
.ink-tag:focus {
	color: var(--accent);
	border-color: var(--accent);
}

.ink-tag-row__label {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	margin-inline-end: var(--sp-2);
}

/* --- 作者卡 --- */
.ink-author-card {
	display: grid;
	gap: var(--sp-4);
	margin-block-start: var(--sp-7);
	padding: var(--sp-5) 0;
	border-top: var(--rule-structural) solid var(--rule-strong);
	border-bottom: var(--rule-hair) solid var(--rule);
}

@media (min-width: 600px) {
	.ink-author-card {
		grid-template-columns: 72px minmax(0, 1fr);
		column-gap: var(--sp-5);
	}
}

.ink-author-card__avatar img {
	display: block;
	width: 72px;
	height: 72px;
	border: var(--rule-hair) solid var(--rule);
	border-radius: 0;
	filter: grayscale(1);
}

.ink-author-card__name {
	margin: 0 0 var(--sp-2);
	font-size: var(--fs-h4);
	font-family: var(--font-heading);
}

.ink-author-card__bio {
	margin: 0;
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: 1.75;
}

/* --- 相關文章 --- */
.ink-related {
	margin-block-start: var(--sp-8);
}

.ink-related__heading {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-4);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

.ink-related__heading::after {
	content: "";
	flex: 1;
	height: var(--rule-hair);
	background-color: var(--rule);
}

/* --- 上一篇 / 下一篇 --- */
.ink-prevnext {
	display: grid;
	gap: 0;
	margin-block-start: var(--sp-7);
	border-top: var(--rule-hair) solid var(--rule);
	border-bottom: var(--rule-hair) solid var(--rule);
}

@media (min-width: 700px) {
	.ink-prevnext {
		grid-template-columns: 1fr 1fr;
	}

	.ink-prevnext__item + .ink-prevnext__item {
		border-inline-start: var(--rule-hair) solid var(--rule);
	}
}

.ink-prevnext__item {
	padding: var(--sp-5) 0;
	min-width: 0;
}

@media (min-width: 700px) {
	.ink-prevnext__item + .ink-prevnext__item {
		padding-inline-start: var(--sp-5);
	}
}

.ink-prevnext__label {
	display: block;
	margin-block-end: var(--sp-2);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

.ink-prevnext__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h4);
	line-height: 1.3;
	color: var(--ink);
	text-decoration: none;
}

.ink-prevnext__title:hover,
.ink-prevnext__title:focus {
	color: var(--accent);
}

/* ==========================================================================
   8. 粘性目錄 TOC
   ========================================================================== */

.ink-toc {
	display: none;
}

@media (min-width: 1120px) {
	.ink-toc {
		display: block;
		position: sticky;
		top: 104px;
		max-height: calc(100vh - 136px);
		overflow-y: auto;
		padding-inline-start: var(--sp-4);
		border-inline-start: var(--rule-hair) solid var(--rule);
		font-size: var(--fs-small);
	}
}

.ink-toc__heading {
	margin: 0 0 var(--sp-4);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

.ink-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-toc__list li {
	margin: 0;
}

.ink-toc__list a {
	display: block;
	padding: var(--sp-2) 0;
	color: var(--muted);
	text-decoration: none;
	line-height: 1.5;
	border-bottom: var(--rule-hair) solid var(--rule);
	transition: color var(--dur-color) linear, padding-inline-start var(--dur-color) linear;
}

.ink-toc__list a:hover,
.ink-toc__list a:focus {
	color: var(--ink);
}

.ink-toc__list a[aria-current="true"] {
	color: var(--accent);
	padding-inline-start: var(--sp-2);
}

.ink-toc__list--level-3 a {
	padding-inline-start: var(--sp-4);
	font-size: var(--fs-caption);
}

/* ==========================================================================
   9. 側欄
   ========================================================================== */

.ink-page-with-sidebar {
	display: grid;
	gap: var(--sp-7);
	max-width: var(--max-wide);
	margin-inline: auto;
}

@media (min-width: 1000px) {
	.ink-page-with-sidebar {
		grid-template-columns: 260px minmax(0, 1fr);
		column-gap: var(--sp-8);
		align-items: start;
	}
}

.ink-sidebar {
	position: relative;
	padding-inline-start: var(--sp-4);
	border-inline-start: var(--rule-hair) solid var(--rule);
}

@media (min-width: 1000px) {
	.ink-sidebar {
		position: sticky;
		top: 104px;
	}
}

.ink-sidebar__heading {
	margin: 0 0 var(--sp-4);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

.ink-sidebar__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-sidebar__list li {
	margin: 0;
	padding: var(--sp-3) 0;
	border-bottom: var(--rule-hair) solid var(--rule);
	line-height: 1.5;
}

.ink-sidebar__list a {
	color: var(--ink);
	text-decoration: none;
}

.ink-sidebar__list a:hover,
.ink-sidebar__list a:focus {
	color: var(--accent);
}

.ink-sidebar__count {
	display: block;
	margin-block-start: var(--sp-1);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   10. 搜尋與表單
   ========================================================================== */

.ink-search {
	display: flex;
	align-items: stretch;
	max-width: var(--measure);
	border: var(--rule-hair) solid var(--rule-strong);
	background-color: transparent;
}

.ink-search__field {
	flex: 1 1 auto;
	min-width: 0;
	padding: var(--sp-3) var(--sp-4);
	border: 0;
	background-color: transparent;
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: var(--fs-small);
	line-height: 1.5;
}

.ink-search__field::placeholder {
	color: var(--muted);
	opacity: 1;
}

.ink-search__field:focus-visible {
	outline: var(--focus-width) solid var(--accent);
	outline-offset: -2px;
}

.ink-search__submit {
	flex: none;
	padding: var(--sp-3) var(--sp-4);
	border: 0;
	border-inline-start: var(--rule-hair) solid var(--rule-strong);
	border-radius: 0;
	background-color: transparent;
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear;
}

.ink-search__submit:hover,
.ink-search__submit:focus {
	background-color: var(--ink);
	color: var(--bg);
}

/* 原生核心搜尋塊的視覺對齊 */
.wp-block-search__inside-wrapper {
	border: var(--rule-hair) solid var(--rule-strong) !important;
	border-radius: 0 !important;
	background-color: transparent;
}

.wp-block-search__input {
	border: 0 !important;
	background-color: transparent !important;
	color: var(--ink) !important;
	font-family: var(--font-mono) !important;
	font-size: var(--fs-small) !important;
	padding: var(--sp-3) var(--sp-4) !important;
	border-radius: 0 !important;
}

.wp-block-search__button {
	margin: 0 !important;
	border: 0 !important;
	border-inline-start: var(--rule-hair) solid var(--rule-strong) !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	color: var(--ink) !important;
	font-family: var(--font-mono) !important;
	font-size: var(--fs-meta) !important;
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	padding: var(--sp-3) var(--sp-4) !important;
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear;
}

.wp-block-search__button:hover,
.wp-block-search__button:focus {
	background-color: var(--ink) !important;
	color: var(--bg) !important;
}

/* ==========================================================================
   11. 評論
   ========================================================================== */

.ink-comments {
	margin-block-start: var(--sp-8);
	padding-block-start: var(--sp-6);
	border-top: var(--rule-structural) solid var(--rule-strong);
}

.ink-comments__heading {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-5);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

.ink-comments__heading::after {
	content: "";
	flex: 1;
	height: var(--rule-hair);
	background-color: var(--rule);
}

.ink-comments .comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-comments .comment-list .comment-list {
	padding-inline-start: var(--sp-5);
	border-top: 0;
}

.ink-comments .comment-body {
	padding: var(--sp-5) 0;
	border-bottom: var(--rule-hair) solid var(--rule);
}

.ink-comments .comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--sp-3);
	margin-block-end: var(--sp-3);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

.ink-comments .comment-author img {
	border-radius: 0;
	filter: grayscale(1);
	margin-inline-end: var(--sp-2);
	vertical-align: middle;
}

.ink-comments .comment-author .fn {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink);
}

.ink-comments .comment-content {
	font-size: var(--fs-small);
	line-height: 1.8;
}

.ink-comments .reply a {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--muted);
	border-bottom: var(--rule-hair) solid var(--rule);
}

.ink-comments .reply a:hover,
.ink-comments .reply a:focus {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

.ink-comments .children .comment-body {
	border-bottom: var(--rule-hair) solid var(--rule);
}

/* 表單 */
.ink-comments input[type="text"],
.ink-comments input[type="email"],
.ink-comments input[type="url"],
.ink-comments textarea,
.wp-block-post-comments-form input:not([type="submit"]),
.wp-block-post-comments-form textarea {
	width: 100%;
	padding: var(--sp-3) var(--sp-4);
	border: var(--rule-hair) solid var(--rule-strong);
	border-radius: 0;
	background-color: transparent;
	color: var(--ink);
	font-family: var(--font-mono);
	font-size: var(--fs-small);
	line-height: 1.6;
}

.ink-comments input[type="submit"],
.wp-block-post-comments-form .submit {
	padding: var(--sp-3) var(--sp-5);
	border: var(--rule-hair) solid var(--accent);
	border-radius: 0;
	background-color: var(--accent);
	color: var(--accent-ink);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--dur-color) linear, color var(--dur-color) linear,
		border-color var(--dur-color) linear;
}

.ink-comments input[type="submit"]:hover,
.ink-comments input[type="submit"]:focus,
.wp-block-post-comments-form .submit:hover,
.wp-block-post-comments-form .submit:focus {
	background-color: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

.comment-form label,
.wp-block-post-comments-form label {
	display: block;
	margin-block-end: var(--sp-2);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

/* ==========================================================================
   12. 頁腳 Footer
   ========================================================================== */

.ink-footer {
	margin-block-start: var(--sp-9);
	border-top: var(--rule-structural) solid var(--rule-strong);
	background-color: var(--bg);
}

.ink-footer__inner {
	display: grid;
	gap: var(--sp-6);
	max-width: var(--max-wide);
	margin-inline: auto;
	padding: var(--sp-7) var(--wp--style--root--padding-left, 24px)
		var(--sp-5) var(--wp--style--root--padding-right, 24px);
}

@media (min-width: 800px) {
	.ink-footer__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		column-gap: var(--sp-8);
	}
}

.ink-footer__name {
	font-family: var(--font-heading);
	font-size: var(--fs-h3);
	margin: 0 0 var(--sp-3);
}

.ink-footer__bio {
	max-width: 48ch;
	margin: 0 0 var(--sp-4);
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: 1.75;
}

.ink-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 800px) {
	.ink-footer__nav {
		justify-content: flex-end;
	}
}

.ink-footer__nav a {
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: var(--rule-hair) solid var(--rule);
}

.ink-footer__nav a:hover,
.ink-footer__nav a:focus {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

.ink-footer__colophon {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--sp-3);
	padding-block-start: var(--sp-4);
	border-top: var(--rule-hair) solid var(--rule);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}

.ink-footer__colophon > * {
	margin: 0;
}

.ink-footer__eink {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: var(--muted);
	cursor: pointer;
	border-bottom: var(--rule-hair) solid var(--rule);
}

.ink-footer__eink:hover,
.ink-footer__eink:focus {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

/* ==========================================================================
   13. 程式碼複製按鈕
   ========================================================================== */

.ink-code-wrap {
	position: relative;
}

.ink-copy {
	position: absolute;
	inset-inline-end: var(--sp-2);
	top: var(--sp-2);
	z-index: 2;
	padding: var(--sp-1) var(--sp-2);
	background-color: var(--bg);
	color: var(--muted);
	border: var(--rule-hair) solid var(--rule);
	border-radius: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: 0.08em;
	line-height: 1.5;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity var(--dur-color) linear, color var(--dur-color) linear,
		border-color var(--dur-color) linear;
}

.ink-code-wrap:hover .ink-copy,
.ink-copy:focus-visible {
	opacity: 1;
}

.ink-copy:hover,
.ink-copy:focus-visible {
	color: var(--accent);
	border-color: var(--accent);
}

.ink-copy[data-state="done"] {
	color: var(--accent);
	border-color: var(--accent);
	opacity: 1;
}

/* ==========================================================================
   14. 404
   ========================================================================== */

.ink-404 {
	max-width: var(--measure);
	padding-block: var(--sp-8) var(--sp-7);
}

.ink-404__code {
	display: block;
	margin-block-end: var(--sp-4);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--accent);
}

.ink-404__title {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-h1);
	line-height: 1.12;
}

.ink-404__text {
	margin: 0 0 var(--sp-6);
	color: var(--muted);
	max-width: 46ch;
}

/* ==========================================================================
   15. 主內容區塊間距
   ========================================================================== */

.ink-main {
	padding-block: var(--sp-7) var(--sp-8);
}

.ink-main--flush {
	padding-block: 0;
}

/* 巢狀清單在發絲線列表中的排版 */
.ink-list .wp-block-post-excerpt {
	margin-block-start: var(--sp-3);
	max-width: var(--measure);
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: 1.7;
}

.ink-list .wp-block-post-excerpt p {
	margin: 0;
}

/* 查詢分頁（核心）在列表中的外觀 */
.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin-block-start: var(--sp-6);
	padding-block-start: var(--sp-5);
	border-top: var(--rule-structural) solid var(--rule-strong);
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: var(--sp-2) var(--sp-3);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	font-variant-numeric: tabular-nums;
	color: var(--ink);
	text-decoration: none;
	border: var(--rule-hair) solid var(--rule);
	transition: color var(--dur-color) linear, border-color var(--dur-color) linear;
}

.wp-block-query-pagination a:hover,
.wp-block-query-pagination a:focus {
	color: var(--accent);
	border-color: var(--accent);
}

.wp-block-query-pagination .current {
	background-color: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

/* ==========================================================================
   16. 麵包屑
   ========================================================================== */

.ink-breadcrumbs {
	margin-block-end: var(--sp-5);
}

.ink-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--sp-2);
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

.ink-breadcrumbs__item {
	display: inline-flex;
	align-items: baseline;
	gap: var(--sp-2);
	margin: 0;
}

.ink-breadcrumbs__item + .ink-breadcrumbs__item::before {
	content: "/";
	color: var(--rule);
}

.ink-breadcrumbs__item a {
	color: inherit;
	text-decoration: none;
	border-bottom: var(--rule-hair) solid transparent;
	transition: color var(--dur-color) linear, border-color var(--dur-color) linear;
}

.ink-breadcrumbs__item a:hover,
.ink-breadcrumbs__item a:focus {
	color: var(--accent);
	border-bottom-color: var(--accent);
}

.ink-breadcrumbs__item [aria-current="page"] {
	color: var(--ink);
	max-width: 42ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ==========================================================================
   17. 文章內文容器與註解模板
   ========================================================================== */

/* core/post-content 是否輸出外層，兩種情況都要對齊欄寬 */
.ink-entry-content > .wp-block-post-content,
.ink-entry-content > .entry-content {
	max-width: var(--measure);
}

.ink-entry-content > .wp-block-post-content > *,
.ink-entry-content > .entry-content > * {
	max-width: 100%;
}

/* 文章頁的元信息包裝 */
.ink-entry__meta-wrap {
	margin-block-end: 0;
}

/* 核心評論模板（ol）沿用髮絲線列表語言 */
.ink-comments .wp-block-comment-template,
.ink-comments ol.wp-block-comment-template {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-comments .wp-block-comment-template > li {
	padding: var(--sp-5) 0;
	border-bottom: var(--rule-hair) solid var(--rule);
}

.ink-comments .wp-block-comment-template > li > ol {
	margin: 0;
	padding-inline-start: var(--sp-5);
	list-style: none;
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-comments .wp-block-comment-template .wp-block-comment-author-name,
.ink-comments .wp-block-comment-template .wp-block-comment-date {
	display: inline-block;
	margin-inline-end: var(--sp-3);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
}

.ink-comments .wp-block-comment-template .wp-block-comment-author-name a {
	color: var(--ink);
	text-decoration: none;
}

.ink-comments .wp-block-comment-template .wp-block-comment-author-name a:hover,
.ink-comments .wp-block-comment-template .wp-block-comment-author-name a:focus {
	color: var(--accent);
}

.ink-comments .wp-block-comment-template .wp-block-comment-content,
.ink-comments .wp-block-comment-template .wp-block-comment-reply-link {
	margin-block-start: var(--sp-3);
}

.ink-comments .wp-block-comments-title {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-5);
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--track-meta);
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 400;
}

.ink-comments .wp-block-comments-title::after {
	content: "";
	flex: 1;
	height: var(--rule-hair);
	background-color: var(--rule);
}

/* ==========================================================================
   18. 補充：列表項元信息包裝與 404
   ========================================================================== */

.ink-list__meta {
	margin-block-start: var(--sp-2);
}

.ink-404 .ink-search {
	margin-block: var(--sp-6);
	max-width: 420px;
}

.ink-404 .ink-related__heading {
	margin-block-start: var(--sp-8);
}

.ink-404 .ink-list {
	border-top: var(--rule-hair) solid var(--rule);
}

.ink-404 .ink-list__title {
	font-size: var(--fs-h4);
}

/* 首頁末端的數據入口列 */
.ink-data__export .ink-related__heading,
.ink-data__export .ink-data__heading {
	flex: 1 1 100%;
	margin-block-end: var(--sp-2);
}

.ink-data__export .ink-related__heading::after,
.ink-data__export .ink-data__heading::after {
	display: none;
}

/* ==========================================================================
   19. 歸檔標題在無描述時的間距收斂
   ========================================================================== */

.ink-archive-head .wp-block-term-description:empty,
.ink-archive-head .wp-block-query-title:empty {
	display: none;
}

/* 未被選單使用時 footer 導覽的對齊 */
.ink-footer .ink-nav__list {
	gap: var(--sp-5);
}
