:root{
  --font: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans JP, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --width: 1080px; --fg: #1f2937; --muted:#6b7280; --accent:#2563eb; --bg:#ffffff; --codebg:#0b1021; --codefg:#e5e7eb; --border:#e5e7eb;
  --callout:#f8fafc; --info:#e0f2fe; --warn:#fef9c3; --danger:#fee2e2;
}
html,body{background:var(--bg);color:var(--fg);margin:0;padding:0}
body{font:16px/1.75 var(--font);-webkit-font-smoothing:antialiased}
main{max-width:var(--width);margin:48px auto;padding:0 24px}
h1,h2,h3,h4{line-height:1.25;margin:1.6em 0 .6em}
h1{font-size:2.1rem} h2{font-size:1.6rem;border-bottom:1px solid var(--border);padding-bottom:.25em}
h3{font-size:1.25rem;color:#111827} h4{font-size:1.05rem;color:#111827}
p,li{color:var(--fg)}
p.lead{font-size:1.1rem;color:#111827}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
img,video{max-width:100%;border-radius:8px}
blockquote{margin:1em 0;padding:1em 1.25em;border-left:4px solid var(--accent);background:#f8fafc;color:#111827}
code{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono","Noto Sans Mono", monospace;}
pre code{display:block;white-space:pre-wrap;word-break:break-word}
pre{background:var(--codebg);color:var(--codefg);padding:16px 18px;border-radius:10px;overflow:auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
table{border-collapse:collapse;width:100%;margin:1.25em 0;font-size:.95rem}
th,td{border:1px solid var(--border);padding:.6em .8em;text-align:left}
thead th{background:#f8fafc}
/* 目次（自動生成部分を<div id="toc">で囲うと想定） */
#toc{position:sticky;top:16px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;margin:24px 0}
#toc .title{font-weight:700;margin-bottom:.5em}
#toc a{display:block;padding:.15em 0;color:#374151}
#toc a:hover{color:var(--accent)}
/* 警告/情報のコールアウト: > [!NOTE] などを変換後にclassをつける想定 */
.callout{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:1em 0;background:var(--callout)}
.callout.info{background:var(--info)}
.callout.warn{background:var(--warn)}
.callout.danger{background:var(--danger)}
.callout .label{font-weight:700;display:block;margin-bottom:.25em}
/* フッタ/小さめ文字 */
.muted{color:var(--muted)}
/* 印刷用（PDF化きれい） */
@media print{
  main{max-width:none;margin:0;padding:0}
  a{text-decoration:underline}
  pre{page-break-inside:avoid}
}
