.blog-article-body{background:#f8fdfb}.page-html{overflow-wrap:anywhere}.page-html img{max-width:100%;height:auto}.page-html:has(.md2png-tool){padding:0;overflow:hidden}.md2png-tool .main-wrapper{height:var(--page-workspace-height,680px);max-height:none}.md2png-tool .control-row:has(#range-workspace-height){display:none}.md2png-tool .editor-area{overflow:hidden}.md2png-tool .CodeMirror{flex:1;min-height:0;height:0!important}.md2png-tool .CodeMirror-scroll{overflow:auto!important}.page-html{--page-ink:#315a61;--page-muted:#587175;--page-accent:#1f6a5a;--page-accent-soft:#e3f4ee;--page-pink:#d44b7a;--page-pink-soft:#fff0f5;--page-sky:#eaf7fb;--page-yellow:#fff8d0;--page-line:#b9d9d0;--page-paper:#f8fdfb}.page-surface{padding:12px;color:var(--page-ink);background:var(--page-paper);border:1px solid var(--page-line);box-shadow:2px 2px rgba(31,106,90,.16)}.page-surface--sky{background:var(--page-sky)}.page-surface--warm{background:#fffdf0}.page-surface--pink{background:var(--page-pink-soft)}.page-text-muted{color:var(--page-muted)}.page-text-accent{color:var(--page-accent)}.page-text-pink{color:var(--page-pink)}.page-emphasis{padding:0 2px;color:var(--page-accent);background:linear-gradient(transparent 58%,#d8f0df 58%)}.page-note{margin:12px 0;padding:8px 10px;color:var(--page-muted);background:var(--page-yellow);border:1px dashed #dbbd68}.page-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;background:var(--page-accent-soft);border:1px solid var(--page-line)}.page-button{padding:6px 10px;color:#fff;background:#2fa888;border:1px solid var(--page-accent);box-shadow:1px 1px rgba(31,106,90,.25)}.page-button--secondary{color:var(--page-accent);background:#fff}.page-button--pink{background:#d96286;border-color:var(--page-pink)}.blog-meta{margin-bottom:12px;padding-bottom:5px;color:#6a8a7a;border-bottom:1px dashed #9fcfc4;font-size:10px}.blog-meta span{margin-left:6px;color:#c8456a}.blog-tag-link{display:inline-block;margin-left:6px;padding:0 4px;color:#c8456a;line-height:1.45;background:#fff1f5;border:1px dotted #dc96aa}.blog-tag-link:hover{color:#fff;text-decoration:none;background:#d96286;border-style:solid}.blog-post-nav{display:flex;justify-content:space-between;margin-bottom:12px;padding:6px 10px;background:#fff;border:2px solid #2a8a78;box-shadow:2px 2px #1f6a5a}.blog-prose{overflow-wrap:anywhere;font-size:13px}.blog-prose h2,.blog-prose h3{color:#1f6a5a;border-bottom:1px dashed #72b9a8}.blog-prose img{max-width:100%;height:auto}.blog-prose pre{overflow:auto;padding:9px;color:#eafff8;background:#173f38;border:2px inset #72b9a8}.blog-prose code{font-family:ms gothic,monospace}.blog-prose{color:#315a61;line-height:1.85}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose p{margin:9px 0}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose h5,.blog-prose h6{clear:both;color:#1f6a5a;font-family:ＭＳ Ｐゴシック,ms pgothic,sans-serif;font-weight:700;line-height:1.35}.blog-prose h1{margin:24px 0 10px;padding:3px 8px;font-size:21px;background:#e3f4ee;border-left:5px solid #d44b7a;border-bottom:2px solid #72b9a8}.blog-prose h2{margin:22px 0 9px;padding:2px 0 3px 8px;font-size:18px;border-left:4px solid #f0b82f;border-bottom:2px dotted #72b9a8}.blog-prose h3{margin:18px 0 8px;padding-bottom:3px;font-size:15px;border-bottom:1px dashed #72b9a8}.blog-prose h4{margin:15px 0 6px;font-size:14px}.blog-prose h5{margin:13px 0 5px;font-size:13px}.blog-prose h6{margin:12px 0 5px;color:#57757f;font-size:12px}.blog-prose a{color:#c8456a;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.blog-prose a:hover{color:#e05b87;text-decoration-style:solid}.blog-prose a:focus-visible{outline:2px dashed #d44b7a;outline-offset:2px}.blog-prose strong{padding:0 2px;color:#1d7163;background:linear-gradient(transparent 57%,#d8f0df 57%)}.blog-prose em{color:#8e6385}.blog-prose del{color:#84989a;text-decoration-color:#d44b7a}.blog-prose mark{padding:0 2px;color:inherit;background:#fff1a9}.blog-prose blockquote{position:relative;margin:13px 0;padding:9px 12px 9px 31px;color:#587175;background:#fffdf0;border:1px dashed #dbbd68;box-shadow:2px 2px rgba(194,154,67,.16)}.blog-prose blockquote::before{position:absolute;top:1px;left:8px;color:#e2af43;content:"\201C";font:30px/1 Georgia,serif}.blog-prose blockquote>:first-child{margin-top:0}.blog-prose blockquote>:last-child{margin-bottom:0}.blog-prose ul,.blog-prose ol{margin:10px 0;padding-left:28px}.blog-prose li{margin:4px 0}.blog-prose li>ul,.blog-prose li>ol{margin:4px 0 5px}.blog-prose ul ::marker{color:#d44b7a;content:"✿  "}.blog-prose ol ::marker{color:#2a8a78;font-weight:700}.blog-prose input[type=checkbox]{width:13px;height:13px;margin:0 6px 0 0;accent-color:#d44b7a;vertical-align:-2px}.blog-prose hr{height:7px;margin:20px 0;border:0;background:radial-gradient(circle,#e8a248 0 2px,transparent 2.5px)0/12px 7px repeat-x}.blog-prose :not(pre)>code{padding:1px 4px;color:#9a4664;background:#fff0f5;border:1px dotted #d99bad;font-size:12px}.blog-prose pre{margin:13px 0;padding:10px 12px;line-height:1.6;box-shadow:2px 2px #b9d9d0}.blog-prose pre code{padding:0;color:inherit;background:0 0;border:0;font-size:12px}.blog-prose kbd{padding:1px 4px;color:#315a61;background:#fff;border:1px solid #8bc4b8;border-bottom-width:2px;font:11px ms gothic,monospace}.blog-prose table{display:block;max-width:100%;margin:13px 0;overflow-x:auto;border-collapse:collapse;background:#fff;border:1px solid #8bc4b8}.blog-prose th,.blog-prose td{padding:5px 8px;border:1px solid #b9ddd4;text-align:left}.blog-prose th{color:#1f675b;background:#daf0e9}.blog-prose tr:nth-child(even) td{background:#f8fdfb}.blog-prose img{display:block;margin:13px auto;padding:3px;background:#fff;border:1px solid #72b9a8;box-shadow:2px 2px rgba(49,120,105,.2)}.blog-prose figure{margin:13px 0}.blog-prose figure img{margin:0 auto}.blog-prose figcaption{margin-top:4px;color:#6a8a7a;font-size:11px;text-align:center}.blog-prose .footnotes{margin-top:24px;padding-top:8px;color:#688;border-top:1px dashed #9fcfc4;font-size:11px}.blog-prose sup{line-height:0}.blog-prose .footnote-ref{padding:0 2px;color:#c8456a;font-weight:700}.blog-prose .code-wrapper{margin:10px 0;overflow:hidden;background:#173f38;border:1px solid #2a8a78;box-shadow:2px 2px #b9d9d0}.code-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:25px;padding:3px 5px 3px 7px;color:#315a61;background:#e4f3ed;border-bottom:1px solid #72b9a8;font:9px/1.2 courier new,monospace}.code-language{color:#39705f;font-weight:700;text-transform:uppercase}.code-tools{display:flex;gap:3px}.code-tools button,.code-toggle{min-height:18px;padding:1px 5px;color:#315a61;background:#fffdf0;border:1px solid #8bc4b8;cursor:pointer;font:9px/14px courier new,monospace}.code-tools button:hover,.code-tools button[aria-pressed=true],.code-toggle:hover{color:#fff;background:#d46b91;border-color:#a94468}.code-content{max-height:176px;overflow:auto}.code-wrapper.is-expanded .code-content{max-height:none}.code-content .highlight,.code-content pre{margin:0;border:0;box-shadow:none}.code-content pre{min-width:max-content;padding:7px 9px;color:#eafff8;background:#173f38!important;font-size:11px;line-height:1.45}.code-content pre code{font-size:inherit}.code-wrapper.is-wrapped .code-content{overflow-x:hidden}.code-wrapper.is-wrapped .code-content pre{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.code-toggle{display:block;width:100%;color:#39705f;background:#e4f3ed;border-width:1px 0 0}.blog-prose .mermaid{overflow:auto;margin:10px 0;padding:7px;color:#173f38;background:#fff;border:1px dashed #72b9a8}.livecode{margin:10px 0;overflow:hidden;border:1px solid #72b9a8;background:#fff}.livecode-toolbar{padding:3px 6px;font-size:10px;background:#e8f7f1;border-bottom:1px solid #9fcfc4}.livecode-panels{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);min-height:280px}.livecode-source{min-width:0;min-height:280px;padding:7px;color:#eafff8;resize:vertical;background:#173f38;border:0;border-right:1px solid #72b9a8;font:11px/1.45 ms gothic,monospace}.livecode-preview{min-width:0;border:0;background:#fff}.asciinema-player{margin:10px 0;overflow:auto}@media(max-width:680px){.livecode-panels{grid-template-columns:1fr}.livecode-source{border-right:0;border-bottom:1px solid #72b9a8}.livecode-preview{min-height:280px}}