@charset "UTF-8";
/* --- 1. Global & Base Styles --- */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; background-color: #f8f9fa; margin: 0; padding: 0; }

img { max-width: 100%; }

hr { height: 0.25em; padding: 0; margin: 24px 0; background-color: #e1e4e8; border: 0; }

/* --- 2. Layout --- */
.site-header, main, .site-footer { max-width: 800px; margin: 0 auto; padding: 1rem 1.5rem; }

.site-header { padding-top: 1.5rem; padding-bottom: 0.5rem; border-bottom: none; margin-bottom: 0; }

main { background-color: #ffffff; padding: 1rem 3rem; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }

.site-footer { margin-top: 2rem; text-align: center; font-size: 0.9em; color: #888; }

/* --- 3. Typography --- */
a { color: #007bff; font-weight: 500; text-decoration: none; }

a:hover { text-decoration: underline; }

/* --- 7. Page-Specific Styles --- */
/* Styles for numbers added by JavaScript */
.toc-number, .heading-number { font-weight: bold; margin-right: 0.5em; }

/* Keep TOC numbers from being underlined */
#markdown-toc a .toc-number { text-decoration: none; }

h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.3; margin-top: 1.75em; margin-bottom: 0.75em; }

h1 { margin-top: 0; font-size: 2em; }

h2 { font-size: 1.75rem; border-bottom: 1px solid #eee; padding-bottom: 0.3em; }

h3 { font-size: 1.4rem; color: #555; }

p, li { margin: 0; }

ul { padding-left: 20px; }

blockquote { margin: 0; padding: 0 1em; color: #6a737d; border-left: 0.25em solid #dfe2e5; }

.site-title { font-size: 1.75rem; font-weight: 600; line-height: 1.2; margin: 0; }

.site-title a { text-decoration: none; color: #333; }

.site-title a:hover { text-decoration: underline; }

/* --- 4. Code & Blocks --- */
code { font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; background-color: rgba(27, 31, 35, 0.05); padding: 0.2em 0.4em; border-radius: 3px; }

pre { background-color: #f6f8fa; border-radius: 3px; padding: 16px; overflow: auto; }

pre code { background-color: transparent; padding: 0; }

.rss-feed-box { background-color: #f5f5f5; padding: 1em 1.5em; border-radius: 4px; font-family: "Courier New", Courier, monospace; font-size: 0.9em; word-break: break-all; border: 1px solid #ddd; }

/* --- 5. Components --- */
div.highlight { position: relative; }

div.highlight:hover .copy-code-button { opacity: 1; }

.copy-code-button { position: absolute; top: 0.5rem; right: 0.5rem; background: transparent; border: none; padding: 0.5rem; border-radius: 4px; cursor: pointer; color: #888; transition: opacity 0.2s ease, color 0.2s ease, background 0.2s ease; opacity: 0; }

.copy-code-button svg { width: 1.25em; height: 1.25em; stroke: currentColor; stroke-width: 2; fill: none; }

.copy-code-button.copied { color: #4CAF50; opacity: 1; }

.copy-code-button:hover { color: #eee; background: rgba(255, 255, 255, 0.1); }

#markdown-toc { list-style: none; padding-left: 0; }

#markdown-toc li { padding: 5px 0; margin: 0; padding-left: 20px; position: relative; }

#markdown-toc li.has-nested { cursor: pointer; }

#markdown-toc li.has-nested > a::before { content: '▶ '; font-size: 0.8em; position: absolute; left: 0; top: 7px; color: #888; }

#markdown-toc li.has-nested.open > a::before { content: '▼ '; }

#markdown-toc li.has-nested.open > ul { display: block; }

#markdown-toc ul { list-style: none; padding-left: 15px; display: none; }

/* --- Accessibility Helpers --- */
.visually-hidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }

/*# sourceMappingURL=style.css.map */