/*!
 * bruna-markdown.css  v2
 * Markdown 表示用スタイル（ブルーナカラー限定 / ライト・ダーク・印刷対応）
 *
 * 前提 : Markdown を HTML に変換した結果を <article class="markdown-body"> で包む。
 *        GitHub 形式のアラート（> [!NOTE] など）は
 *        .markdown-alert.markdown-alert-{note|tip|important|warning|caution}
 *        と .markdown-alert-title を出力する変換器を想定（本サイトでは src/plugins/callouts.mjs が
 *        Obsidian 形式の callout を同じ構造に変換する）。
 * 必要機能: light-dark()（Baseline 2024: Chrome/Edge 123, Firefox 120, Safari 17.5）
 *
 * 色の出典: 公式の HEX 値は未公表（確認できず）。dickbruna.jp の表示色を第三者が
 * 採取した値（iaoekaki.blogspot.com「カラーコード再確認 2026年」）を採用。
 * 白 = 絵本の紙色、黒 = 筆線の色。それ以外の色（オレンジ・紫を含む）は使わない。
 *
 * 設計方針（改善案 1〜8 に対応）
 *  1. 色の意味: 青=引き下がる色 → 背景 / 黒=筆線 → 文字と線 / 赤=うれしい → 目印
 *  2. 色数を絞る: 主役は赤・青・黄・緑。茶は引用の帯と IMPORTANT、灰は引用文と区切り線だけ
 *  3. 重ねず並べる: 影・透過・グラデーション・色付き枠と色付き背景の重ねを使わない
 *  4. 筆線の揺らぎ: カード外枠だけ角丸を四隅で変える
 *  5. 画像には枠を付けない（絵の中の線と二重にしない）
 *  6. 段落間の余白を広めにとる
 *  7. 印刷用スタイルを持つ
 *  8. ズームを妨げない（rem 基準。viewport で拡大を禁止しない）
 */
:root{--bruna-red:#f26522;--bruna-blue:#059;--bruna-green:#247033;--bruna-yellow:#ffc80b;--bruna-brown:#914e25;--bruna-gray:#656565;--bruna-black:#231f20;--bruna-white:#fff;--bruna-grey:var(--bruna-gray);color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--page-bg:var(--bruna-blue);--surface:light-dark(var(--bruna-white),var(--bruna-black));--text:light-dark(var(--bruna-black),var(--bruna-white));--line-color:light-dark(var(--bruna-black),var(--bruna-white));--frame:light-dark(var(--bruna-black),var(--bruna-white));--accent:light-dark(var(--bruna-red),var(--bruna-yellow));--link:light-dark(var(--bruna-blue),var(--bruna-yellow));--quote-text:var(--bruna-grey);--quote-bar:light-dark(var(--bruna-brown),var(--bruna-white));--rule:light-dark(var(--bruna-grey),var(--bruna-white));--chip-bg:var(--bruna-yellow);--chip-text:var(--bruna-black);--code-bg:var(--bruna-black);--code-text:var(--bruna-white);--check:light-dark(var(--bruna-green),var(--bruna-yellow));--r-block:16px;--r-inline:6px;--line:3px}html{background:var(--page-bg)}body{background:var(--page-bg);color:var(--text)}.markdown-body{box-sizing:border-box;background:var(--surface);max-inline-size:100ch;color:var(--text);border:var(--line) solid var(--frame);overflow-wrap:anywhere;border-radius:30px 24px 32px 26px/26px 32px 24px 30px;margin:0 auto 1.5rem;padding:clamp(20px,5vw,56px);font-family:system-ui,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:1rem;line-height:1.9}:where(.markdown-body)>:first-child{margin-block-start:0}:where(.markdown-body)>:last-child{margin-block-end:0}:where(.markdown-body) :where(h1,h2,h3,h4,h5,h6){color:var(--text);margin-block:2.2em .7em;font-weight:800;line-height:1.35}:where(.markdown-body) h1{border-block-end:var(--line) solid var(--line-color);padding-block-end:.3em;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem)}:where(.markdown-body) h2{align-items:center;gap:.5em;font-size:1.6rem;display:flex}:where(.markdown-body) h2:before{content:"";background:var(--accent);border:2px solid var(--line-color);border-radius:50%;flex:none;block-size:.55em;inline-size:.55em}:where(.markdown-body) h3{font-size:1.3rem}:where(.markdown-body) :where(h4,h5,h6){font-size:1.05rem}:where(.markdown-body) :where(p,ul,ol,blockquote,pre,table,details,.markdown-alert){margin-block:0 1.6em}:where(.markdown-body) :where(ul,ol){padding-inline-start:1.5em}:where(.markdown-body) li::marker{color:var(--accent);font-weight:700}:where(.markdown-body) li+li{margin-block-start:.4em}:where(.markdown-body) li:has(>input[type=checkbox]:first-child){list-style:none}:where(.markdown-body) a{color:var(--link);text-decoration-line:underline;text-decoration-color:var(--accent);text-underline-offset:.2em;font-weight:600;text-decoration-thickness:.15em}:where(.markdown-body) a:hover{text-decoration-thickness:.3em}:where(.markdown-body) :focus-visible{outline:var(--line) solid var(--accent);outline-offset:3px;border-radius:var(--r-inline)}:where(.markdown-body) :where(strong,b){font-weight:800}:where(.markdown-body) mark{background:var(--chip-bg);color:var(--chip-text);border-radius:var(--r-inline);padding:0 .2em}:where(.markdown-body) blockquote{color:var(--quote-text);border-inline-start:6px solid var(--quote-bar);margin-inline:0;padding:.2em 0 .2em 1.2em}:where(.markdown-body) blockquote>:last-child{margin-block-end:0}:where(.markdown-body) hr{border:0;border-block-start:var(--line) dotted var(--rule);block-size:0;margin-block:2.8em}:where(.markdown-body) img{border-radius:var(--r-block);block-size:auto;max-inline-size:100%}:where(.markdown-body) :where(code,kbd,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}:where(.markdown-body) :not(pre)>code{background:var(--chip-bg);color:var(--chip-text);border-radius:var(--r-inline);padding:.1em .4em}:where(.markdown-body) kbd{border:2px solid var(--line-color);border-radius:var(--r-inline);border-block-end-width:4px;padding:.05em .4em}:where(.markdown-body) pre{background:var(--code-bg);color:var(--code-text);border:2px solid var(--line-color);border-block-start:10px solid var(--bruna-yellow);border-radius:var(--r-block);tab-size:2;padding:1.1em 1.3em;line-height:1.6;overflow-x:auto}:where(.markdown-body) pre code{color:inherit;background:0 0;padding:0}:where(.markdown-body) table{border-collapse:separate;border-spacing:0;border:2px solid var(--line-color);border-radius:var(--r-block);inline-size:max-content;max-inline-size:100%;display:block;overflow-x:auto}:where(.markdown-body) :where(th,td){border-block-end:2px solid var(--line-color);text-align:start;padding:.55em .9em}:where(.markdown-body) tr:last-child>td{border-block-end:0}:where(.markdown-body) th{background:var(--bruna-blue);color:var(--bruna-white);font-weight:700}:where(.markdown-body) input[type=checkbox]{appearance:none;vertical-align:-.15em;border:2px solid var(--line-color);border-radius:var(--r-inline);background:var(--surface);block-size:1.1em;inline-size:1.1em;margin:0 .4em 0 0}:where(.markdown-body) input[type=checkbox]:checked{background:var(--check);box-shadow:inset 0 0 0 3px var(--surface)}:where(.markdown-body) details{border:2px solid var(--line-color);border-radius:var(--r-block);padding:.6em 1em}:where(.markdown-body) summary{cursor:pointer;font-weight:700}:where(.markdown-body) .markdown-alert{--alert-bg:var(--bruna-blue);--alert-fg:var(--bruna-white);border:2px solid var(--line-color);border-radius:var(--r-block);padding:0 1.2em .2em;overflow:hidden}:where(.markdown-body) .markdown-alert-note{--alert-bg:light-dark(var(--bruna-blue),var(--bruna-white));--alert-fg:light-dark(var(--bruna-white),var(--bruna-blue))}:where(.markdown-body) .markdown-alert-tip{--alert-bg:var(--bruna-green);--alert-fg:var(--bruna-white)}:where(.markdown-body) .markdown-alert-important{--alert-bg:var(--bruna-brown);--alert-fg:var(--bruna-white)}:where(.markdown-body) .markdown-alert-warning{--alert-bg:var(--bruna-yellow);--alert-fg:var(--bruna-black)}:where(.markdown-body) .markdown-alert-caution{--alert-bg:var(--bruna-red);--alert-fg:var(--bruna-black)}:where(.markdown-body) .markdown-alert-title{background:var(--alert-bg);color:var(--alert-fg);border-block-end:2px solid var(--line-color);align-items:center;gap:.5em;margin:0 -1.2em .8em;padding:.45em 1.2em;font-weight:800;line-height:1.4;display:flex}:where(.markdown-body) .markdown-alert-title svg{fill:currentColor;flex:none}:where(.markdown-body) .markdown-alert>:last-child{margin-block-end:.9em}:where(.markdown-body) details.markdown-alert:not([open]){padding-block-end:0}:where(.markdown-body) details.markdown-alert:not([open])>.markdown-alert-title{border-block-end:0;margin-block-end:0}:where(.markdown-body) summary.markdown-alert-title{list-style:none}:where(.markdown-body) summary.markdown-alert-title::-webkit-details-marker{display:none}:where(.markdown-body) summary.markdown-alert-title:after{content:"";border-block-end:2px solid;border-inline-end:2px solid;block-size:.5em;inline-size:.5em;margin-inline-start:auto;rotate:-45deg}:where(.markdown-body) details.markdown-alert[open]>summary.markdown-alert-title:after{rotate:45deg}.markdown-body ::selection{background:var(--bruna-yellow);color:var(--bruna-black)}@media (prefers-reduced-motion:no-preference){:where(.markdown-body) a{transition:text-decoration-thickness .15s}}@media print{:root,:root[data-theme]{color-scheme:light}html,body{background:var(--bruna-white);padding:0}.markdown-body{border:0;border-radius:0;max-inline-size:none;padding:0;font-size:10.5pt}:where(.markdown-body) pre{background:var(--bruna-white);color:var(--bruna-black);border:2px solid var(--bruna-black);white-space:pre-wrap}:where(.markdown-body) .markdown-alert-title,:where(.markdown-body) th{color:var(--bruna-black);background:0 0}:where(.markdown-body) :where(pre,table,figure,img,.markdown-alert,blockquote){break-inside:avoid}:where(.markdown-body) :where(h1,h2,h3){break-after:avoid}:where(.markdown-body) a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;font-weight:400}}
