/**
 * Markdown印刷用スタイル
 *
 * @since 2025.10.21 Markdown対応
 * @copyright Kodama & Company, Inc.
 */

@media print {
	/* ========================================
	   ページ設定
	   ======================================== */

	@page {
		margin: 2cm;
		size: A4;
	}

	/* ========================================
	   不要な要素を非表示
	   ======================================== */

	.content-tree,
	.toolbar,
	.footer-panel,
	.edit-button,
	.print-button,
	nav,
	header,
	.sidebar,
	.navigation,
	.EasyMDEContainer .editor-toolbar,
	.EasyMDEContainer .editor-statusbar,
	button,
	.no-print {
		display: none !important;
	}

	/* ========================================
	   基本設定
	   ======================================== */

	body {
		font-size: 12pt;
		line-height: 1.6;
		color: #000;
		background: #fff;
		margin: 0;
		padding: 0;
	}

	/* ========================================
	   Markdown コンテンツ
	   ======================================== */

	.markdown-content {
		max-width: 100%;
		padding: 0;
		margin: 0;
		background: #fff;
		color: #000;
	}

	/* ========================================
	   見出し
	   ======================================== */

	.markdown-content h1 {
		font-size: 24pt;
		page-break-after: avoid;
		border-bottom: 2pt solid #000;
		padding-bottom: 0.3em;
		margin-top: 0;
		margin-bottom: 12pt;
	}

	.markdown-content h2 {
		font-size: 18pt;
		page-break-after: avoid;
		border-bottom: 1pt solid #000;
		padding-bottom: 0.3em;
		margin-top: 18pt;
		margin-bottom: 12pt;
	}

	.markdown-content h3 {
		font-size: 14pt;
		page-break-after: avoid;
		margin-top: 14pt;
		margin-bottom: 10pt;
	}

	.markdown-content h4 {
		font-size: 12pt;
		page-break-after: avoid;
		margin-top: 12pt;
		margin-bottom: 8pt;
	}

	.markdown-content h5,
	.markdown-content h6 {
		font-size: 11pt;
		page-break-after: avoid;
		margin-top: 10pt;
		margin-bottom: 6pt;
	}

	/* ========================================
	   改ページ制御
	   ======================================== */

	.markdown-content h1 {
		page-break-before: always;
	}

	.markdown-content h1:first-child {
		page-break-before: avoid;
	}

	.markdown-content h2,
	.markdown-content h3,
	.markdown-content h4 {
		page-break-after: avoid;
	}

	.markdown-content p,
	.markdown-content ul,
	.markdown-content ol {
		orphans: 3;
		widows: 3;
	}

	/* ========================================
	   段落とテキスト
	   ======================================== */

	.markdown-content p {
		margin-top: 0;
		margin-bottom: 8pt;
	}

	.markdown-content strong {
		font-weight: bold;
	}

	.markdown-content em {
		font-style: italic;
	}

	/* ========================================
	   リスト
	   ======================================== */

	.markdown-content ul,
	.markdown-content ol {
		margin-top: 0;
		margin-bottom: 8pt;
		padding-left: 1.5em;
	}

	.markdown-content li {
		margin-top: 2pt;
		page-break-inside: avoid;
	}

	/* ========================================
	   コードブロック
	   ======================================== */

	.markdown-content code {
		font-family: 'Courier New', Courier, monospace;
		font-size: 10pt;
		background-color: #f5f5f5;
		padding: 1pt 3pt;
		border-radius: 2pt;
	}

	.markdown-content pre {
		background-color: #f5f5f5;
		border: 1pt solid #ccc;
		padding: 10pt;
		page-break-inside: avoid;
		font-size: 9pt;
		white-space: pre-wrap;
		word-wrap: break-word;
		margin-top: 8pt;
		margin-bottom: 8pt;
		overflow: visible;
	}

	.markdown-content pre code {
		background-color: transparent;
		padding: 0;
		font-size: 9pt;
	}

	/* highlight.js のスタイル調整 */
	.markdown-content pre code.hljs {
		background-color: transparent;
		color: #000;
	}

	/* ========================================
	   引用
	   ======================================== */

	.markdown-content blockquote {
		border-left: 3pt solid #ccc;
		padding-left: 1em;
		margin-left: 0;
		margin-right: 0;
		color: #333;
		page-break-inside: avoid;
	}

	/* ========================================
	   テーブル
	   ======================================== */

	.markdown-content table {
		page-break-inside: avoid;
		border-collapse: collapse;
		font-size: 10pt;
		width: 100%;
		margin-top: 8pt;
		margin-bottom: 8pt;
	}

	.markdown-content table th,
	.markdown-content table td {
		border: 1pt solid #000;
		padding: 4pt 8pt;
	}

	.markdown-content table th {
		background-color: #f0f0f0;
		font-weight: bold;
	}

	.markdown-content table tr {
		page-break-inside: avoid;
	}

	/* ========================================
	   リンク
	   ======================================== */

	.markdown-content a {
		color: #000;
		text-decoration: underline;
	}

	/* リンク先URLを表示 */
	.markdown-content a[href]:after {
		content: " (" attr(href) ")";
		font-size: 9pt;
		color: #666;
		word-break: break-all;
	}

	/* 内部リンク（#で始まる）はURL表示しない */
	.markdown-content a[href^="#"]:after {
		content: "";
	}

	/* 画像内のリンクはURL表示しない */
	.markdown-content a[href] img:after {
		content: "";
	}

	/* ========================================
	   画像
	   ======================================== */

	.markdown-content img {
		max-width: 100%;
		height: auto;
		page-break-inside: avoid;
		display: block;
		margin: 8pt auto;
	}

	/* ========================================
	   水平線
	   ======================================== */

	.markdown-content hr {
		border: none;
		border-top: 1pt solid #000;
		margin: 12pt 0;
	}

	/* ========================================
	   ヘッダー・フッター（将来対応）
	   ======================================== */

	@page {
		@top-right {
			content: counter(page);
		}
	}

	/* ========================================
	   その他の調整
	   ======================================== */

	/* 背景色を削除（印刷時は不要） */
	* {
		background-color: transparent !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/* コードブロックとテーブルのみ背景色を許可 */
	.markdown-content pre,
	.markdown-content table th {
		background-color: #f5f5f5 !important;
	}

	/* カラーをモノクロに調整 */
	.markdown-content {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}
