/* Markdown Viewer — GFM / export / P1 (TOC, sync, drafts, dark, Mermaid) */

.lc-md-tool {
	--lc-md-surface: #ffffff;
	--lc-md-surface-2: #f7f9fa;
	--lc-md-border: #dce3e7;
	--lc-md-text: #3e4b5b;
	--lc-md-heading: var(--lc-navy-900, #0b1f2a);
	--lc-md-muted: #485769;
	--lc-md-code-bg: #eef3f6;
	--lc-md-code-fg: #17313f;
	--lc-md-pre-bg: #0f1c24;
	--lc-md-pre-fg: #e7eef3;
	--lc-md-table-border: #d0dbe1;
	--lc-md-table-head: #f3f7f9;
	--lc-md-table-stripe: #fafcfd;
	--lc-md-quote-border: #c5d0d6;
	--lc-md-quote-fg: #52606d;
	--lc-md-hr: #d9e2e7;
	--lc-md-editor-bg: #0d2853;
	--lc-md-editor-fg: #dce8f9;
	--lc-md-toc-bg: #fbfcfd;
	--lc-md-status-bg: #eef8f2;
	--lc-md-status-fg: #1f4d38;
	--lc-md-status-border: #b7e0c8;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.lc-md-tool.lc-md--dark {
	--lc-md-surface: #122033;
	--lc-md-surface-2: #0e1a2a;
	--lc-md-border: #243447;
	--lc-md-text: #c5d0db;
	--lc-md-heading: #e8eef5;
	--lc-md-muted: #9aabba;
	--lc-md-code-bg: #1a2b3d;
	--lc-md-code-fg: #d7e4f0;
	--lc-md-pre-bg: #0a1420;
	--lc-md-pre-fg: #e7eef3;
	--lc-md-table-border: #2c3f55;
	--lc-md-table-head: #1a2b3d;
	--lc-md-table-stripe: #152536;
	--lc-md-quote-border: #3a5168;
	--lc-md-quote-fg: #a8b8c7;
	--lc-md-hr: #2c3f55;
	--lc-md-editor-bg: #0a1626;
	--lc-md-editor-fg: #dce8f9;
	--lc-md-toc-bg: #0e1a2a;
	--lc-md-status-bg: #132a22;
	--lc-md-status-fg: #b7e0c8;
	--lc-md-status-border: #2a5a45;
	background: #1a2a3d;
	border-color: #1a2a3d;
}

.lc-md-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 16px;
	background: var(--lc-md-surface-2);
	border-bottom: 1px solid var(--lc-md-border);
	position: relative;
	z-index: 1;
}

.lc-md-toolbar__group {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.lc-md-tool .lc-md-btn[aria-pressed="true"],
.lc-md-tool .lc-md-btn.is-active {
	color: #fff;
	background: var(--lc-green-500, #22a06b);
	border-color: var(--lc-green-500, #22a06b);
}

.lc-md-status {
	padding: 10px 18px;
	font-size: 12.5px;
	line-height: 1.45;
	font-family: 'Inter', sans-serif;
	background: var(--lc-md-status-bg);
	color: var(--lc-md-status-fg);
	border-bottom: 1px solid var(--lc-md-status-border);
	position: relative;
	z-index: 1;
}

.lc-md-status[hidden] {
	display: none !important;
}

.lc-md-workbench {
	display: grid;
	grid-template-columns: 1fr 1fr minmax(150px, 210px);
	gap: 1px;
	min-height: 0;
	background: inherit;
}

.lc-md-tool .lc-md-pane {
	background: var(--lc-md-surface);
}

.lc-md-tool .lc-md-pane__head {
	color: var(--lc-md-muted);
	background: var(--lc-md-surface-2);
	border-bottom-color: var(--lc-md-border);
}

.lc-md-tool .lc-md-pane textarea {
	flex: 1;
	height: 560px;
	max-height: 70vh;
	min-height: 320px;
	overflow: auto;
	resize: none;
	color: var(--lc-md-editor-fg);
	background: var(--lc-md-editor-bg);
}

.lc-md-tool .lc-md-preview {
	flex: 1;
	height: 560px;
	max-height: 70vh;
	min-height: 320px;
	overflow: auto;
	background: var(--lc-md-surface);
	color: var(--lc-md-text);
}

.lc-md-tool .lc-md-preview h1,
.lc-md-tool .lc-md-preview h2,
.lc-md-tool .lc-md-preview h3,
.lc-md-tool .lc-md-preview h4,
.lc-md-tool .lc-md-preview h5,
.lc-md-tool .lc-md-preview h6 {
	color: var(--lc-md-heading);
	scroll-margin-top: 12px;
}

.lc-md-tool .lc-md-preview p,
.lc-md-tool .lc-md-preview li {
	color: var(--lc-md-text);
}

.lc-md-tool .lc-md-preview strong {
	color: var(--lc-md-heading);
}

/* TOC */
.lc-md-toc {
	min-width: 0;
	display: flex;
	flex-direction: column;
	background: var(--lc-md-toc-bg);
	border-left: 0;
}

.lc-md-toc__head {
	min-height: 54px;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	color: var(--lc-md-muted);
	background: var(--lc-md-surface-2);
	border-bottom: 1px solid var(--lc-md-border);
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.lc-md-toc__nav {
	flex: 1;
	height: 560px;
	max-height: 70vh;
	min-height: 320px;
	overflow: auto;
	padding: 12px 10px 18px;
}

.lc-md-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lc-md-toc__item {
	margin: 0 0 4px;
}

.lc-md-toc__item--h1 .lc-md-toc__link { padding-left: 6px; font-weight: 700; }
.lc-md-toc__item--h2 .lc-md-toc__link { padding-left: 12px; }
.lc-md-toc__item--h3 .lc-md-toc__link { padding-left: 20px; }
.lc-md-toc__item--h4 .lc-md-toc__link { padding-left: 28px; }
.lc-md-toc__item--h5 .lc-md-toc__link { padding-left: 34px; }
.lc-md-toc__item--h6 .lc-md-toc__link { padding-left: 40px; }

.lc-md-toc__link {
	display: block;
	padding: 5px 8px;
	border-radius: 6px;
	color: var(--lc-md-text);
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
}

.lc-md-toc__link:hover {
	color: var(--lc-md-heading);
	background: rgba(34, 160, 107, 0.12);
}

.lc-md-toc__empty {
	margin: 8px 6px;
	color: var(--lc-md-muted);
	font-size: 12px;
	line-height: 1.45;
}

/* Preview content */
.lc-md-preview ol {
	margin: 12px 0;
	padding-left: 22px;
	list-style: decimal;
}

.lc-md-preview ol li,
.lc-md-preview ul li {
	margin-bottom: 6px;
	color: var(--lc-md-text);
	font-size: 14px;
	line-height: 1.65;
}

.lc-md-preview blockquote {
	margin: 14px 0;
	padding: 2px 0 2px 14px;
	border-left: 4px solid var(--lc-md-quote-border);
	color: var(--lc-md-quote-fg);
}

.lc-md-preview blockquote p {
	margin: 8px 0;
}

.lc-md-preview hr {
	border: 0;
	border-top: 1px solid var(--lc-md-hr);
	margin: 22px 0;
}

.lc-md-preview img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 14px 0;
}

.lc-md-preview del {
	color: #7b8794;
}

.lc-md-tool.lc-md--dark .lc-md-preview del {
	color: #8a9aaa;
}

.lc-md-preview table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
	font-size: 13px;
	line-height: 1.5;
	overflow-x: auto;
	display: block;
}

.lc-md-preview thead,
.lc-md-preview tbody,
.lc-md-preview tr {
	width: 100%;
}

.lc-md-preview th,
.lc-md-preview td {
	border: 1px solid var(--lc-md-table-border);
	padding: 8px 10px;
	text-align: left;
	vertical-align: top;
	color: var(--lc-md-text);
}

.lc-md-preview th {
	background: var(--lc-md-table-head);
	color: var(--lc-md-heading);
	font-weight: 600;
}

.lc-md-preview tr:nth-child(even) td {
	background: var(--lc-md-table-stripe);
}

.lc-md-preview :not(pre) > code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
	background: var(--lc-md-code-bg);
	color: var(--lc-md-code-fg);
	padding: 0.12em 0.38em;
	border-radius: 4px;
}

.lc-md-preview pre {
	margin: 14px 0;
	padding: 14px 16px;
	overflow: auto;
	border-radius: 8px;
	background: var(--lc-md-pre-bg);
	color: var(--lc-md-pre-fg);
}

.lc-md-preview pre code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
	line-height: 1.55;
	background: transparent;
	color: inherit;
	padding: 0;
	border-radius: 0;
	display: block;
	white-space: pre;
}

.lc-md-preview pre.mermaid {
	background: transparent;
	color: inherit;
	text-align: center;
	padding: 8px 0;
	overflow: auto;
}

.lc-md-preview pre.mermaid svg {
	max-width: 100%;
	height: auto;
}

.lc-md-mermaid-error {
	margin: 8px 0 0;
	color: #b42318;
	font-size: 12.5px;
}

.lc-md-tool.lc-md--dark .lc-md-mermaid-error {
	color: #f5a8a0;
}

/* Task lists */
.lc-md-preview li:has(> input[type="checkbox"]) {
	list-style: none;
	margin-left: -1.1em;
}

.lc-md-preview ul:has(> li > input[type="checkbox"]) {
	padding-left: 1.35em;
	list-style: none;
}

.lc-md-preview li input[type="checkbox"] {
	margin-right: 0.5em;
	vertical-align: middle;
	accent-color: var(--lc-green-500, #22a06b);
}

/* Highlight.js — compact GitHub-adjacent theme for fenced code */
.lc-md-preview .hljs-comment,
.lc-md-preview .hljs-quote {
	color: #8b9bab;
	font-style: italic;
}

.lc-md-preview .hljs-keyword,
.lc-md-preview .hljs-selector-tag,
.lc-md-preview .hljs-addition {
	color: #7dd3a7;
}

.lc-md-preview .hljs-number,
.lc-md-preview .hljs-string,
.lc-md-preview .hljs-meta .hljs-meta-string,
.lc-md-preview .hljs-literal,
.lc-md-preview .hljs-doctag,
.lc-md-preview .hljs-regexp {
	color: #f0c674;
}

.lc-md-preview .hljs-title,
.lc-md-preview .hljs-section,
.lc-md-preview .hljs-name,
.lc-md-preview .hljs-selector-id,
.lc-md-preview .hljs-selector-class {
	color: #8ec7ff;
}

.lc-md-preview .hljs-attribute,
.lc-md-preview .hljs-attr,
.lc-md-preview .hljs-variable,
.lc-md-preview .hljs-template-variable,
.lc-md-preview .hljs-class .hljs-title,
.lc-md-preview .hljs-type {
	color: #e0aaff;
}

.lc-md-preview .hljs-symbol,
.lc-md-preview .hljs-bullet,
.lc-md-preview .hljs-link,
.lc-md-preview .hljs-meta,
.lc-md-preview .hljs-selector-attr,
.lc-md-preview .hljs-selector-pseudo {
	color: #9cdcfe;
}

.lc-md-preview .hljs-built_in,
.lc-md-preview .hljs-deletion {
	color: #ff9f8a;
}

.lc-md-preview .hljs-emphasis {
	font-style: italic;
}

.lc-md-preview .hljs-strong {
	font-weight: 700;
}

/* Off-screen clone used for client-side PDF export */
.lc-md-pdf-export {
	position: fixed;
	left: -10000px;
	top: 0;
	width: 740px;
	padding: 8px 4px;
	background: #fff;
	color: #1f2933;
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.65;
	z-index: -1;
	pointer-events: none;
}

.lc-md-pdf-export h1,
.lc-md-pdf-export h2,
.lc-md-pdf-export h3 {
	color: #0f172a;
	line-height: 1.3;
}

.lc-md-pdf-export table {
	width: 100%;
	border-collapse: collapse;
	display: table;
	font-size: 12px;
}

.lc-md-pdf-export th,
.lc-md-pdf-export td {
	border: 1px solid #cbd5e1;
	padding: 6px 8px;
	text-align: left;
}

.lc-md-pdf-export th {
	background: #f1f5f9;
}

.lc-md-pdf-export pre {
	background: #0f172a;
	color: #e2e8f0;
	padding: 12px 14px;
	border-radius: 6px;
	white-space: pre-wrap;
	word-break: break-word;
}

.lc-md-pdf-export img {
	max-width: 100%;
	height: auto;
}

@media print {
	body * {
		visibility: hidden !important;
	}

	#lc-md-preview,
	#lc-md-preview * {
		visibility: visible !important;
	}

	#lc-md-preview {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		padding: 0 !important;
		overflow: visible !important;
		background: #fff !important;
	}

	.lc-md-tool::before,
	.lc-md-tool::after,
	.lc-md-pane__head,
	.lc-md-toolbar,
	.lc-md-status,
	.lc-md-toc,
	.lc-site-header,
	.lc-site-footer,
	.lc-tools-back,
	.lc-tool-page-head,
	.lc-tools-next {
		display: none !important;
	}
}

@media (max-width: 980px) {
	.lc-md-workbench {
		grid-template-columns: 1fr 1fr;
	}

	.lc-md-toc {
		grid-column: 1 / -1;
		border-top: 1px solid var(--lc-md-border);
	}

	.lc-md-toc__nav {
		height: auto;
		max-height: 220px;
		min-height: 0;
	}
}

@media (max-width: 720px) {
	.lc-md-workbench {
		grid-template-columns: 1fr;
	}

	.lc-md-tool .lc-md-pane textarea,
	.lc-md-tool .lc-md-preview {
		height: 390px;
		max-height: none;
	}

	.lc-md-pane__head .lc-md-actions {
		width: 100%;
	}

	.lc-md-pane__head .lc-md-actions .lc-md-btn {
		flex: 1 1 auto;
	}

	.lc-md-toolbar {
		flex-direction: column;
		align-items: stretch;
	}
}
