/* SC-ICG Docs｜GitHub Docs layout + Blocksy 配色 + 預設亮色（toggle 切換 dark） */

/* === 預設亮色（Blocksy 風格中性配色 + 秒站品牌藍） === */
:root {
	--sc-docs-bg: #ffffff;
	--sc-docs-bg-soft: #f7f8fa;
	--sc-docs-fg: #2d3a4b;
	--sc-docs-fg-muted: #5a6473;
	--sc-docs-fg-subtle: #8b95a3;
	--sc-docs-border: #e2e6eb;
	--sc-docs-border-soft: #eef0f3;
	--sc-docs-accent: #0a6eb1;
	--sc-docs-accent-soft: rgba(10, 110, 177, 0.08);
	--sc-docs-accent-hover: #084e80;
	--sc-docs-code-bg: rgba(45, 58, 75, 0.06);
	--sc-docs-shadow-sm: 0 1px 2px rgba(45, 58, 75, 0.04);
	--sc-docs-radius: 6px;
	--sc-docs-radius-lg: 10px;
	--sc-docs-sidebar-w: 264px;
	--sc-docs-toc-w: 220px;
	--sc-docs-content-max: 820px;
	/* Hardcoded sticky offset：避免依靠 JS measure header 高度（不穩、Charles 截圖卡住）。
	   Buffer 包含 Blocksy 主 header (108px) + 餘裕空間 + 萬一有 promo bar 出現的容錯。 */
	--sc-docs-header-h: 160px;
	--sc-docs-shell-max: 1600px;
	--sc-docs-font: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Segoe UI", "Microsoft JhengHei", sans-serif;
	--sc-docs-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

/* === Dark mode 透過 data-attribute 切換（不再依系統） === */
:root[data-sc-docs-theme="dark"] {
	--sc-docs-bg: #14181d;
	--sc-docs-bg-soft: #1c2128;
	--sc-docs-fg: #e6edf3;
	--sc-docs-fg-muted: #9aa4b0;
	--sc-docs-fg-subtle: #6e7681;
	--sc-docs-border: #2d333b;
	--sc-docs-border-soft: #21262d;
	--sc-docs-accent: #58a6ff;
	--sc-docs-accent-soft: rgba(88, 166, 255, 0.14);
	--sc-docs-accent-hover: #79c0ff;
	--sc-docs-code-bg: rgba(110, 118, 129, 0.4);
	--sc-docs-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* === Body 級背景，全寬覆蓋 Blocksy === */
body.single-doc,
body.post-type-archive-doc,
body.tax-doc_category {
	background: var(--sc-docs-bg);
}

/* === Embedded mode：從 /help/ 進來的 doc 子頁面 === */
/* 此模式下 templates 不 call get_header/get_footer，全頁都是 docs shell */
body.sc-docs-embedded-page {
	margin: 0;
	padding: 0;
	background: var(--sc-docs-bg);
	color: var(--sc-docs-fg);
}

body.sc-docs-embedded-page .sc-docs-shell {
	min-height: 100vh;
	padding: 24px 32px 64px;
}

/* 嵌入頁面 sticky 不再需要扣 site header（因為沒 header） */
body.sc-docs-embedded-page .sc-docs-sidebar-wrap,
body.sc-docs-embedded-page .sc-docs-toc-wrap {
	top: 24px;
	max-height: calc(100vh - 48px);
}

/* === Shortcode 嵌入到 page（如 /help/）：全寬 escape + 100vh 白色背景 === */
.sc-docs-shell.sc-docs-embedded-shortcode {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 32px 32px 80px;
	box-sizing: border-box;
	background: var(--sc-docs-bg);
	min-height: 100vh;
}

/* /help/ 之類 page 用 shortcode 時，整個 page main 區也保證 100vh 白色，
   避免 footer 提早出現 / 背景缺一截 */
body.page #main-container:has(.sc-docs-embedded-shortcode) {
	background: var(--sc-docs-bg);
	min-height: 100vh;
}

/* === 整體三欄佈局 === */
.sc-docs-shell {
	font-family: var(--sc-docs-font);
	color: var(--sc-docs-fg);
	background: var(--sc-docs-bg);
	display: grid;
	grid-template-columns: var(--sc-docs-sidebar-w) minmax(0, 1fr) var(--sc-docs-toc-w);
	gap: 40px;
	max-width: var(--sc-docs-shell-max);
	margin: 0 auto;
	padding: 32px 32px 80px;
	line-height: 1.65;
	font-size: 16px;
	min-height: 70vh;
}

.sc-docs-shell-landing {
	grid-template-columns: var(--sc-docs-sidebar-w) minmax(0, 1fr);
}

/* === Sidebar === */
.sc-docs-sidebar-wrap {
	position: sticky;
	top: var(--sc-docs-header-h);
	max-height: calc(100vh - var(--sc-docs-header-h) - 24px);
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-gutter: stable;
}

.sc-docs-sidebar-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-sidebar-home {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sc-docs-fg);
	text-decoration: none;
	font-weight: 600;
	font-size: 13.5px;
}

.sc-docs-sidebar-home:hover {
	color: var(--sc-docs-accent);
}

/* Theme toggle button */
.sc-docs-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: transparent;
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: 6px;
	cursor: pointer;
	color: var(--sc-docs-fg-muted);
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	padding: 0;
}

.sc-docs-theme-toggle:hover {
	background: var(--sc-docs-bg-soft);
	color: var(--sc-docs-fg);
	border-color: var(--sc-docs-border);
}

.sc-docs-icon-sun { display: none; }
.sc-docs-icon-moon { display: block; }
:root[data-sc-docs-theme="dark"] .sc-docs-icon-sun { display: block; }
:root[data-sc-docs-theme="dark"] .sc-docs-icon-moon { display: none; }

.sc-docs-sidebar-tree {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13.5px;
}

.sc-docs-sidebar-cat { margin: 0 0 2px; }

.sc-docs-sidebar-cat-row {
	display: flex;
	align-items: center;
	gap: 2px;
}

.sc-docs-sidebar-chevron,
.sc-docs-sidebar-chevron-placeholder {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.sc-docs-sidebar-chevron {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
	color: var(--sc-docs-fg-subtle);
	border-radius: 4px;
	transition: transform 0.15s, background 0.15s, color 0.15s;
}

.sc-docs-sidebar-chevron:hover {
	background: var(--sc-docs-bg-soft);
	color: var(--sc-docs-fg);
}

.sc-docs-sidebar-cat.is-expanded > .sc-docs-sidebar-cat-row > .sc-docs-sidebar-chevron {
	transform: rotate(90deg);
}

/* 折疊：未展開時隱藏子分類與文章清單 */
.sc-docs-sidebar-cat:not(.is-expanded) > .sc-docs-sidebar-subcats,
.sc-docs-sidebar-cat:not(.is-expanded) > .sc-docs-sidebar-docs {
	display: none;
}

.sc-docs-sidebar-cat-link {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 10px;
	color: var(--sc-docs-fg);
	text-decoration: none;
	border-radius: var(--sc-docs-radius);
	font-weight: 600;
	transition: background 0.15s;
}

.sc-docs-sidebar-cat-link:hover {
	background: var(--sc-docs-bg-soft);
	color: var(--sc-docs-accent);
}

.sc-docs-sidebar-cat.is-open > .sc-docs-sidebar-cat-row > .sc-docs-sidebar-cat-link {
	color: var(--sc-docs-accent);
}

.sc-docs-sidebar-count {
	font-size: 11.5px;
	font-weight: 400;
	color: var(--sc-docs-fg-subtle);
	background: var(--sc-docs-bg-soft);
	padding: 1px 7px;
	border-radius: 10px;
}

.sc-docs-sidebar-docs {
	list-style: none;
	margin: 4px 0 6px;
	padding: 0 0 0 6px;
	border-left: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-sidebar-doc a {
	display: block;
	padding: 5px 10px;
	color: var(--sc-docs-fg-muted);
	text-decoration: none;
	border-radius: var(--sc-docs-radius);
	font-weight: 400;
	border-left: 2px solid transparent;
	margin-left: -1px;
	font-size: 13px;
	line-height: 1.5;
	transition: background 0.15s, color 0.15s;
}

.sc-docs-sidebar-doc a:hover {
	background: var(--sc-docs-bg-soft);
	color: var(--sc-docs-fg);
}

.sc-docs-sidebar-doc.is-current a {
	color: var(--sc-docs-accent);
	background: transparent;
	border-left-color: transparent;
	font-weight: 600;
}

/* 子分類巢狀清單 */
.sc-docs-sidebar-subcats {
	list-style: none;
	margin: 2px 0 4px;
	padding: 0 0 0 10px;
	border-left: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-sidebar-cat-depth-1 > .sc-docs-sidebar-cat-row > .sc-docs-sidebar-cat-link {
	font-size: 12.5px;
	font-weight: 500;
	padding: 5px 8px;
	color: var(--sc-docs-fg-muted);
}

.sc-docs-sidebar-cat-depth-1 > .sc-docs-sidebar-cat-row > .sc-docs-sidebar-cat-link:hover {
	color: var(--sc-docs-accent);
}

.sc-docs-sidebar-cat-depth-1.is-open > .sc-docs-sidebar-cat-row > .sc-docs-sidebar-cat-link {
	color: var(--sc-docs-accent);
	font-weight: 600;
}

.sc-docs-sidebar-cat-depth-1 .sc-docs-sidebar-count {
	font-size: 10.5px;
	padding: 0 6px;
}

/* === Main 內容 === */
.sc-docs-main {
	min-width: 0;
	max-width: var(--sc-docs-content-max);
}

.sc-docs-breadcrumb {
	font-size: 13px;
	color: var(--sc-docs-fg-muted);
	margin-bottom: 16px;
}

.sc-docs-breadcrumb a {
	color: var(--sc-docs-fg-muted);
	text-decoration: none;
}

.sc-docs-breadcrumb a:hover {
	color: var(--sc-docs-accent);
	text-decoration: underline;
}

.sc-docs-breadcrumb-sep {
	margin: 0 8px;
	color: var(--sc-docs-fg-subtle);
}

.sc-docs-article-header {
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-article-title {
	font-size: 28px;
	line-height: 1.3;
	margin: 0;
	color: var(--sc-docs-fg);
	font-weight: 700;
}

.sc-docs-article-body {
	font-size: 16px;
	line-height: 1.75;
}

.sc-docs-article-body h2 {
	font-size: 22px;
	margin: 36px 0 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--sc-docs-border-soft);
	font-weight: 700;
	color: var(--sc-docs-fg);
	scroll-margin-top: calc(var(--sc-docs-header-h) + 16px);
	position: relative;
}

.sc-docs-article-body h3 {
	font-size: 18px;
	margin: 28px 0 10px;
	font-weight: 700;
	color: var(--sc-docs-fg);
	scroll-margin-top: calc(var(--sc-docs-header-h) + 16px);
	position: relative;
}

/* Heading anchor copy 按鈕（GitHub Docs 風格 hash icon） */
.sc-docs-heading-anchor {
	display: inline-block;
	margin-left: 8px;
	color: var(--sc-docs-fg-subtle);
	text-decoration: none;
	font-weight: 400;
	font-size: 0.78em;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.15s, color 0.15s, transform 0.15s;
	vertical-align: middle;
	user-select: none;
}

.sc-docs-article-body h2:hover .sc-docs-heading-anchor,
.sc-docs-article-body h3:hover .sc-docs-heading-anchor,
.sc-docs-heading-anchor:focus {
	opacity: 1;
}

.sc-docs-heading-anchor:hover {
	color: var(--sc-docs-accent);
	transform: scale(1.15);
}

.sc-docs-heading-anchor.is-copied {
	color: var(--sc-docs-accent);
	opacity: 1;
}

@media (max-width: 768px) {
	/* Mobile 無 hover，永遠半透明顯示 */
	.sc-docs-heading-anchor { opacity: 0.5; }
}

.sc-docs-article-body h4 {
	font-size: 16px;
	margin: 24px 0 8px;
	font-weight: 700;
}

.sc-docs-article-body p { margin: 0 0 16px; }

/* 文章內 link 顏色，但排除 Greenshift / WP block 按鈕（這些是 button 類元件，不該套 link 樣式） */
.sc-docs-article-body a:not(.wp-element-button):not(.gspb-buttonbox):not(.wp-block-button__link) {
	color: var(--sc-docs-accent);
	text-decoration: none;
}

.sc-docs-article-body a:not(.wp-element-button):not(.gspb-buttonbox):not(.wp-block-button__link):hover {
	text-decoration: underline;
}

/* button 類元件保留各自原樣式，不繼承 article-body 文字色 */
.sc-docs-article-body .gspb_button_wrapper a,
.sc-docs-article-body a.wp-element-button,
.sc-docs-article-body a.gspb-buttonbox,
.sc-docs-article-body a.wp-block-button__link {
	color: inherit;
}

.sc-docs-article-body code {
	font-family: var(--sc-docs-font-mono);
	font-size: 0.92em;
	background: var(--sc-docs-code-bg);
	padding: 2px 6px;
	border-radius: 4px;
}

.sc-docs-article-body pre {
	background: var(--sc-docs-bg-soft);
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: var(--sc-docs-radius);
	padding: 16px;
	overflow-x: auto;
	font-family: var(--sc-docs-font-mono);
	font-size: 13.5px;
	line-height: 1.55;
	margin: 16px 0;
}

.sc-docs-article-body pre code {
	background: transparent;
	padding: 0;
	font-size: inherit;
}

.sc-docs-article-body img,
.sc-docs-article-body figure {
	max-width: 100%;
	height: auto;
	border-radius: var(--sc-docs-radius);
}

.sc-docs-article-body blockquote {
	border-left: 4px solid var(--sc-docs-border);
	color: var(--sc-docs-fg-muted);
	padding: 0 16px;
	margin: 16px 0;
}

.sc-docs-article-body table {
	border-collapse: collapse;
	width: 100%;
	margin: 16px 0;
	font-size: 14px;
}

.sc-docs-article-body th,
.sc-docs-article-body td {
	border: 1px solid var(--sc-docs-border-soft);
	padding: 8px 12px;
	text-align: left;
}

.sc-docs-article-body th {
	background: var(--sc-docs-bg-soft);
	font-weight: 600;
}

.sc-docs-article-body ul,
.sc-docs-article-body ol {
	padding-left: 24px;
	margin: 0 0 16px;
}

.sc-docs-article-body li { margin-bottom: 4px; }

/* === TOC（右側） === */
.sc-docs-toc-wrap {
	position: sticky;
	top: var(--sc-docs-header-h);
	max-height: calc(100vh - var(--sc-docs-header-h) - 24px);
	overflow-y: auto;
	font-size: 13px;
}

.sc-docs-toc {
	border-left: 1px solid var(--sc-docs-border-soft);
	padding-left: 16px;
}

.sc-docs-toc-title {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: var(--sc-docs-fg-subtle);
	margin-bottom: 10px;
}

.sc-docs-toc-list,
.sc-docs-toc-sub {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-docs-toc-sub {
	padding-left: 12px;
	margin: 4px 0;
}

.sc-docs-toc-h2 > a,
.sc-docs-toc-h3 > a {
	display: block;
	padding: 4px 0;
	color: var(--sc-docs-fg-muted);
	text-decoration: none;
	line-height: 1.45;
	border-left: 2px solid transparent;
	padding-left: 8px;
	margin-left: -10px;
	transition: color 0.15s, border-color 0.15s;
}

.sc-docs-toc-h2 > a:hover,
.sc-docs-toc-h3 > a:hover {
	color: var(--sc-docs-fg);
}

.sc-docs-toc a.is-active {
	color: var(--sc-docs-accent);
	border-left-color: var(--sc-docs-accent);
	font-weight: 600;
}

/* === 上下篇 === */
.sc-docs-prev-next {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-prev,
.sc-docs-next {
	display: flex;
	flex-direction: column;
	padding: 16px;
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: var(--sc-docs-radius);
	text-decoration: none;
	color: var(--sc-docs-fg);
	transition: border-color 0.15s, background 0.15s;
}

.sc-docs-prev:hover,
.sc-docs-next:hover {
	border-color: var(--sc-docs-accent);
	background: var(--sc-docs-accent-soft);
}

.sc-docs-next {
	text-align: right;
	align-items: flex-end;
}

.sc-docs-prev-next-empty { visibility: hidden; }

.sc-docs-prev-next-label {
	font-size: 12px;
	color: var(--sc-docs-fg-muted);
	margin-bottom: 4px;
}

.sc-docs-prev-next-title {
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.35;
}

/* === FAQ === */
.sc-docs-faq {
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-faq-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 16px;
}

.sc-docs-faq-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sc-docs-faq-item {
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: var(--sc-docs-radius);
	background: var(--sc-docs-bg);
	padding: 18px 20px;
}

.sc-docs-article-body .sc-docs-faq-q,
.sc-docs-faq-q {
	font-weight: 700;
	font-size: 16px;
	color: var(--sc-docs-fg);
	margin: 0 0 8px;
	padding: 0;
	border-bottom: none;
	line-height: 1.5;
	scroll-margin-top: 0;
}

.sc-docs-faq-a {
	color: var(--sc-docs-fg-muted);
	font-size: 14.5px;
	line-height: 1.7;
}

.sc-docs-faq-a p { margin: 0 0 8px; }
.sc-docs-faq-a p:last-child { margin: 0; }

/* === Landing（精緻化、字小） === */
.sc-docs-main-landing { max-width: none; }

.sc-docs-landing-header {
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--sc-docs-border-soft);
}

.sc-docs-landing-title {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 6px;
	color: var(--sc-docs-fg);
}

.sc-docs-landing-subtitle {
	font-size: 14.5px;
	color: var(--sc-docs-fg-muted);
	margin: 0;
	line-height: 1.6;
}

.sc-docs-landing-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.sc-docs-landing-card {
	display: block;
	padding: 20px;
	background: var(--sc-docs-bg);
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: var(--sc-docs-radius-lg);
	text-decoration: none;
	color: var(--sc-docs-fg);
	transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}

.sc-docs-landing-card:hover {
	border-color: var(--sc-docs-accent);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(10, 110, 177, 0.08);
}

.sc-docs-landing-card-title {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 6px;
}

.sc-docs-landing-card-desc {
	font-size: 13.5px;
	color: var(--sc-docs-fg-muted);
	margin: 0 0 12px;
	line-height: 1.55;
}

.sc-docs-landing-card-count {
	font-size: 12px;
	color: var(--sc-docs-fg-subtle);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* === Category 列表 === */
.sc-docs-category-header { margin-bottom: 24px; }

.sc-docs-category-title {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 6px;
}

.sc-docs-category-desc {
	color: var(--sc-docs-fg-muted);
	margin: 0;
	font-size: 14.5px;
}

.sc-docs-category-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sc-docs-category-item { margin: 0; }

.sc-docs-category-link {
	display: block;
	padding: 14px 18px;
	border: 1px solid var(--sc-docs-border-soft);
	border-radius: var(--sc-docs-radius);
	text-decoration: none;
	color: var(--sc-docs-fg);
	transition: border-color 0.15s, background 0.15s;
}

.sc-docs-category-link:hover {
	border-color: var(--sc-docs-accent);
	background: var(--sc-docs-accent-soft);
}

.sc-docs-category-link-title {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 4px;
}

.sc-docs-category-link-desc {
	font-size: 13.5px;
	color: var(--sc-docs-fg-muted);
	margin: 0;
	line-height: 1.55;
}

.sc-docs-category-empty {
	padding: 48px;
	text-align: center;
	color: var(--sc-docs-fg-muted);
	background: var(--sc-docs-bg-soft);
	border-radius: var(--sc-docs-radius-lg);
}

/* === Mobile FAB group：兩個垂直 tab，右側中間貼邊（全部教學 / 本頁目錄） === */
.sc-docs-mobile-fab-group {
	display: none;
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	flex-direction: column;
	gap: 4px;
	z-index: 100;
}

/* 兩個 button 完全相同尺寸，只差顏色 */
.sc-docs-mobile-fab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	min-height: 96px;
	color: #fff;
	border: none;
	border-radius: 8px 0 0 8px;
	padding: 10px 6px;
	font-size: 11px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	box-shadow: -2px 2px 12px rgba(0, 0, 0, 0.16);
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 1px;
	line-height: 1.25;
	text-decoration: none;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: background 0.15s;
}

.sc-docs-mobile-fab:hover {
	color: #fff;
	text-decoration: none;
}

/* 全部教學：秒站藍半透明 */
.sc-docs-mobile-fab-sidebar { background: rgba(10, 110, 177, 0.7); }
.sc-docs-mobile-fab-sidebar:hover { background: rgba(10, 110, 177, 0.9); }

/* 本頁目錄：深灰半透明（次要顏色） */
.sc-docs-mobile-fab-toc { background: rgba(45, 58, 75, 0.7); }
.sc-docs-mobile-fab-toc:hover { background: rgba(45, 58, 75, 0.9); }

/* 文字切換：未展開顯示主標籤、展開顯示「收合」 */
.sc-docs-mobile-fab .sc-docs-mobile-fab-label-open { display: inline; }
.sc-docs-mobile-fab .sc-docs-mobile-fab-label-close { display: none; }
.sc-docs-mobile-fab[aria-expanded="true"] .sc-docs-mobile-fab-label-open { display: none; }
.sc-docs-mobile-fab[aria-expanded="true"] .sc-docs-mobile-fab-label-close { display: inline; }

/* === 響應式 === */
@media (max-width: 1200px) {
	.sc-docs-shell { grid-template-columns: var(--sc-docs-sidebar-w) minmax(0, 1fr); }
	.sc-docs-toc-wrap { display: none; }
}

@media (max-width: 768px) {
	:root { --sc-docs-header-h: 80px; }

	.sc-docs-shell,
	.sc-docs-shell-landing {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 20px;
	}
	.sc-docs-sidebar-wrap {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 85%;
		max-width: 320px;
		max-height: 100vh;
		background: var(--sc-docs-bg);
		border-right: 1px solid var(--sc-docs-border);
		padding: 24px 16px;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 99;
		overflow-y: auto;
	}
	.sc-docs-sidebar-wrap.is-open {
		transform: translateX(0);
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.2);
	}

	/* Mobile right TOC：fixed slide-in 從右側 */
	.sc-docs-toc-wrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: 85%;
		max-width: 320px;
		max-height: 100vh;
		background: var(--sc-docs-bg);
		border-left: 1px solid var(--sc-docs-border);
		padding: 24px 16px;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		z-index: 99;
		overflow-y: auto;
	}
	.sc-docs-toc-wrap.is-open {
		transform: translateX(0);
		box-shadow: -4px 0 24px rgba(0, 0, 0, 0.2);
	}

	.sc-docs-mobile-fab-group { display: flex; }
	.sc-docs-article-title { font-size: 22px; }
	.sc-docs-prev-next { grid-template-columns: 1fr; }
	.sc-docs-landing-title { font-size: 22px; }
}

/* Mobile overlay when sidebar open */
.sc-docs-sidebar-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 98;
}

.sc-docs-sidebar-overlay.is-visible { display: block; }

/* === Toast 提示（複製連結成功） === */
.sc-docs-toast {
	position: fixed;
	bottom: 32px;
	left: 50%;
	transform: translate(-50%, 80px);
	background: var(--sc-docs-fg);
	color: var(--sc-docs-bg);
	padding: 10px 18px;
	border-radius: 24px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	z-index: 200;
	transition: transform 0.3s ease, opacity 0.3s;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
	white-space: nowrap;
}
.sc-docs-toast.is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
}

/* === Body scroll lock 當 mobile panel 打開（修 sidebar/TOC 無法上下滑） === */
body.sc-docs-panel-open {
	overflow: hidden;
	touch-action: none;
}

@media (max-width: 768px) {
	.sc-docs-sidebar-wrap,
	.sc-docs-toc-wrap {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}
}
