:root { --gfmr-code-font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Consolas', 'Courier New', monospace;
--gfmr-code-font-size: 14px;
--gfmr-code-line-height: 1.5;
--gfmr-code-padding: 16px;
--gfmr-code-border-radius: 6px;   --gfmr-shiki-bg-light: #fff;
--gfmr-shiki-border-light: #d0d7de;
--gfmr-shiki-text-light: #1f2328;
--gfmr-shiki-primary-light: #0366d6;
--gfmr-shiki-comment-light: #6e7781;
--gfmr-shiki-keyword-light: #cf222e;
--gfmr-shiki-string-light: #0a3069;
--gfmr-shiki-number-light: #0550ae; --gfmr-shiki-bg-dark: #0d1117;
--gfmr-shiki-border-dark: #30363d;
--gfmr-shiki-text-dark: #e6edf3;
--gfmr-shiki-primary-dark: #79c0ff;
--gfmr-shiki-comment-dark: #8b949e;
--gfmr-shiki-keyword-dark: #ff7b72;
--gfmr-shiki-string-dark: #a5d6ff;
--gfmr-shiki-number-dark: #79c0ff; --gfmr-shiki-bg: var(--gfmr-shiki-bg-light);
--gfmr-shiki-border: var(--gfmr-shiki-border-light);
--gfmr-shiki-text: var(--gfmr-shiki-text-light);
--gfmr-shiki-primary: var(--gfmr-shiki-primary-light);
--gfmr-shiki-comment: var(--gfmr-shiki-comment-light);
--gfmr-shiki-keyword: var(--gfmr-shiki-keyword-light);
--gfmr-shiki-string: var(--gfmr-shiki-string-light);
--gfmr-shiki-number: var(--gfmr-shiki-number-light); --gfmr-code-bg-light: var(--gfmr-shiki-bg-light);
--gfmr-code-border-light: var(--gfmr-shiki-border-light);
--gfmr-code-text-light: var(--gfmr-shiki-text-light);
--gfmr-code-bg-dark: var(--gfmr-shiki-bg-dark);
--gfmr-code-border-dark: var(--gfmr-shiki-border-dark);
--gfmr-code-text-dark: var(--gfmr-shiki-text-dark); --gfmr-copy-btn-size: 32px;
--gfmr-copy-btn-bg: rgba(255, 255, 255, 0.9);
--gfmr-copy-btn-border: rgba(0, 0, 0, 0.1);
--gfmr-copy-btn-hover: rgba(255, 255, 255, 1);
--gfmr-copy-btn-active: rgba(240, 240, 240, 1); --gfmr-mermaid-padding: 20px; --gfmr-transition-normal: 0.25s ease;
--gfmr-transition-slow: 0.35s ease; --gfmr-primary: #0366d6;
--gfmr-text: #1e1e1e;
--gfmr-text-secondary: #666;
--gfmr-background: #fff;
--gfmr-surface: #f6f8fa; --gfmr-border-width: 1px;
--gfmr-border-style: solid;
--gfmr-border-color: #ddd;
--gfmr-border-light: #eee;
--gfmr-border-strong: #d0d7de;
--gfmr-border-radius: 3px;
--gfmr-border-radius-lg: 6px; --gfmr-border: var(--gfmr-border-width) var(--gfmr-border-style) var(--gfmr-border-color);
--gfmr-border-none: 0; --gfmr-font-mono: "Fira Code", "SF Mono", monaco, "Cascadia Code", "Roboto Mono", consolas, "Courier New", monospace;
--gfmr-font-system: -apple-system, blinkmacsystemfont, "Segoe UI", "Noto Sans", helvetica, arial, sans-serif; --gfmr-spacing-xs: 4px;
--gfmr-spacing-sm: 8px;
--gfmr-spacing-md: 12px;
--gfmr-spacing-lg: 16px;
--gfmr-spacing-xl: 24px; --gfmr-code-bg: #f6f8fa;
--gfmr-code-border: var(--gfmr-border-color);
--gfmr-code-text: #1e1e1e;
--gfmr-code-inline-bg: rgba(27, 31, 35, 0.05); --gfmr-table-border: var(--gfmr-border);
--gfmr-table-header-bg: var(--gfmr-surface);
--gfmr-table-stripe-bg: var(--gfmr-surface); --gfmr-copy-text: #24292f;
--gfmr-copy-bg: rgba(255, 255, 255, 0.8);
--gfmr-copy-border: rgba(31, 35, 40, 0.15);
--gfmr-copy-focus: #0969da; --gfmr-mermaid-bg: #fff;
--gfmr-mermaid-border: none;
--gfmr-mermaid-error-bg: #fff5f5;
--gfmr-mermaid-error-border: #feb2b2;
--gfmr-mermaid-error-text: #c53030;
} :root {  --gfmr-color-primary: #238636;
--gfmr-color-primary-hover: #2ea043;
--gfmr-color-primary-active: #1a7f37; --gfmr-color-secondary: #21262d;
--gfmr-color-secondary-hover: #30363d;
--gfmr-color-secondary-active: #161b22; --gfmr-bg-canvas: #fff;
--gfmr-bg-default: #fff;
--gfmr-bg-muted: #f6f8fa;
--gfmr-bg-subtle: #f6f8fa;
--gfmr-bg-overlay: rgba(31, 35, 40, 0.15); --gfmr-bg-code: #f6f8fa;
--gfmr-bg-code-inline: rgba(175, 184, 193, 0.2); --gfmr-text-primary: #24292f;
--gfmr-text-secondary: #656d76;
--gfmr-text-muted: #656d76;
--gfmr-text-inverse: #fff;
--gfmr-text-link: #0969da;
--gfmr-text-link-hover: #0550ae; --gfmr-border-default: #d0d7de;
--gfmr-border-muted: #d8dee4;
--gfmr-border-subtle: #f6f8fa; --gfmr-color-success: #1a7f37;
--gfmr-color-warning: #d1242f;
--gfmr-color-error: #cf222e;
--gfmr-color-info: #0969da; --gfmr-success-bg: #dafbe1;
--gfmr-success-border: #1a7f37;
--gfmr-success-text: #116329; --gfmr-warning-bg: #fff8c5;
--gfmr-warning-border: #d1242f;
--gfmr-warning-text: #633c01; --gfmr-error-bg: #ffebe9;
--gfmr-error-border: #cf222e;
--gfmr-error-text: #82071e; --gfmr-info-bg: #ddf4ff;
--gfmr-info-border: #0969da;
--gfmr-info-text: #0550ae;  --gfmr-dark-color-primary: #238636;
--gfmr-dark-color-primary-hover: #2ea043;
--gfmr-dark-color-primary-active: #1a7f37; --gfmr-dark-bg-canvas: #0d1117;
--gfmr-dark-bg-default: #0d1117;
--gfmr-dark-bg-muted: #161b22;
--gfmr-dark-bg-subtle: #21262d;
--gfmr-dark-bg-overlay: rgba(31, 35, 40, 0.7); --gfmr-dark-bg-code: #161b22;
--gfmr-dark-bg-code-inline: rgba(110, 118, 129, 0.4); --gfmr-dark-text-primary: #f0f6fc;
--gfmr-dark-text-secondary: #8b949e;
--gfmr-dark-text-muted: #7d8590;
--gfmr-dark-text-inverse: #24292f;
--gfmr-dark-text-link: #58a6ff;
--gfmr-dark-text-link-hover: #79c0ff; --gfmr-dark-border-default: #30363d;
--gfmr-dark-border-muted: #21262d;
--gfmr-dark-border-subtle: #161b22;  --gfmr-space-0: 0;
--gfmr-space-1: 4px; --gfmr-space-2: 8px; --gfmr-space-3: 12px; --gfmr-space-4: 16px; --gfmr-space-5: 20px; --gfmr-space-6: 24px; --gfmr-space-8: 32px; --gfmr-space-10: 40px; --gfmr-space-12: 48px; --gfmr-space-16: 64px; --gfmr-space-20: 80px;  --gfmr-padding-button: var(--gfmr-space-2) var(--gfmr-space-4);
--gfmr-padding-input: var(--gfmr-space-2) var(--gfmr-space-3);
--gfmr-padding-modal: var(--gfmr-space-6);
--gfmr-margin-section: var(--gfmr-space-8) 0;  --gfmr-font-family-base: -apple-system, blinkmacsystemfont, "Segoe UI", "Noto Sans", helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
--gfmr-font-family-mono: "SFMono-Regular", "Fira Code", consolas, "Liberation Mono", menlo, courier, monospace; --gfmr-font-size-xs: 12px;
--gfmr-font-size-sm: 14px;
--gfmr-font-size-base: 16px;
--gfmr-font-size-lg: 18px;
--gfmr-font-size-xl: 20px;
--gfmr-font-size-2xl: 24px;
--gfmr-font-size-3xl: 28px; --gfmr-line-height-tight: 1.25;
--gfmr-line-height-base: 1.5;
--gfmr-line-height-relaxed: 1.75; --gfmr-font-weight-normal: 400;
--gfmr-font-weight-medium: 500;
--gfmr-font-weight-semibold: 600;
--gfmr-font-weight-bold: 700;  --gfmr-border-width-thin: 1px;
--gfmr-border-width-thick: 2px; --gfmr-border-radius-sm: 3px;
--gfmr-border-radius-base: 6px;
--gfmr-border-radius-lg: 8px;
--gfmr-border-radius-xl: 12px;
--gfmr-border-radius-full: 50%; --gfmr-shadow-sm: 0 1px 2px rgba(31, 35, 40, 0.04);
--gfmr-shadow-base: 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12);
--gfmr-shadow-lg: 0 4px 12px rgba(31, 35, 40, 0.15), 0 2px 4px rgba(31, 35, 40, 0.12);
--gfmr-shadow-xl: 0 8px 24px rgba(31, 35, 40, 0.2), 0 2px 4px rgba(31, 35, 40, 0.12); --gfmr-shadow-focus: 0 0 0 3px rgba(35, 134, 54, 0.15);  --gfmr-duration-fast: 0.1s;
--gfmr-duration-base: 0.15s;
--gfmr-duration-slow: 0.3s;
--gfmr-duration-slower: 0.5s; --gfmr-ease-out: cubic-bezier(0, 0, 0.2, 1);
--gfmr-ease-in: cubic-bezier(0.4, 0, 1, 1);
--gfmr-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --gfmr-transition-fast: all var(--gfmr-duration-fast) var(--gfmr-ease-out);
--gfmr-transition-base: all var(--gfmr-duration-base) var(--gfmr-ease-out);
--gfmr-transition-slow: all var(--gfmr-duration-slow) var(--gfmr-ease-out); --gfmr-z-index-dropdown: 1000;
--gfmr-z-index-sticky: 1020;
--gfmr-z-index-fixed: 1030;
--gfmr-z-index-modal-backdrop: 1040;
--gfmr-z-index-modal: 1050;
--gfmr-z-index-popover: 1060;
--gfmr-z-index-tooltip: 1070;
--gfmr-z-index-notification: 1080; --gfmr-breakpoint-sm: 576px;
--gfmr-breakpoint-md: 768px;
--gfmr-breakpoint-lg: 992px;
--gfmr-breakpoint-xl: 1200px;
--gfmr-breakpoint-2xl: 1400px;
}   @media (prefers-color-scheme: dark) { :root { --gfmr-shiki-bg: var(--gfmr-shiki-bg-dark);
--gfmr-shiki-border: var(--gfmr-shiki-border-dark);
--gfmr-shiki-text: var(--gfmr-shiki-text-dark);
--gfmr-shiki-primary: var(--gfmr-shiki-primary-dark);
--gfmr-shiki-comment: var(--gfmr-shiki-comment-dark);
--gfmr-shiki-keyword: var(--gfmr-shiki-keyword-dark);
--gfmr-shiki-string: var(--gfmr-shiki-string-dark);
--gfmr-shiki-number: var(--gfmr-shiki-number-dark); --gfmr-code-bg: var(--gfmr-code-bg-dark);
--gfmr-code-border: var(--gfmr-code-border-dark);
--gfmr-code-text: var(--gfmr-code-text-dark);
--gfmr-copy-btn-bg: rgba(36, 41, 46, 0.9);
--gfmr-copy-btn-border: rgba(255, 255, 255, 0.1);
--gfmr-copy-btn-hover: rgba(36, 41, 46, 1);
--gfmr-copy-btn-active: rgba(48, 54, 61, 1);
--gfmr-mermaid-bg: #161b22;
--gfmr-mermaid-border: none; --gfmr-primary: #58a6ff;
--gfmr-text: #f0f6fc;
--gfmr-text-secondary: #8b949e;
--gfmr-background: #0d1117;
--gfmr-surface: #161b22; --gfmr-border-color: #30363d;
--gfmr-border-light: #21262d;
--gfmr-border-strong: #8b949e; --gfmr-border: var(--gfmr-border-width) var(--gfmr-border-style) var(--gfmr-border-color); --gfmr-code-bg: #0d1117;
--gfmr-code-border: var(--gfmr-border-color);
--gfmr-code-text: #f0f6fc;
--gfmr-code-inline-bg: rgba(240, 246, 252, 0.1); --gfmr-table-border: var(--gfmr-border);
--gfmr-table-header-bg: var(--gfmr-surface);
--gfmr-table-stripe-bg: rgba(240, 246, 252, 0.05); --gfmr-copy-text: #f0f6fc;
--gfmr-copy-bg: rgba(240, 246, 252, 0.1);
--gfmr-copy-border: rgba(240, 246, 252, 0.2);
--gfmr-copy-focus: #58a6ff; --gfmr-mermaid-bg: var(--gfmr-surface);
--gfmr-mermaid-border: none;
--gfmr-mermaid-error-bg: rgba(248, 81, 73, 0.1);
--gfmr-mermaid-error-border: rgba(248, 81, 73, 0.3);
--gfmr-mermaid-error-text: #ff7b72;
}
}
@media (prefers-color-scheme: light) {
:root {
--gfmr-code-bg: var(--gfmr-code-bg-light);
--gfmr-code-border: var(--gfmr-code-border-light);
--gfmr-code-text: var(--gfmr-code-text-light);
}
} .gfmr-theme-light { --gfmr-primary: #0366d6;
--gfmr-text: #1e1e1e;
--gfmr-text-secondary: #666;
--gfmr-background: #fff;
--gfmr-surface: #f6f8fa;
--gfmr-border-color: #ddd;
--gfmr-border-light: #eee;
--gfmr-border-strong: #d0d7de;
}
.gfmr-theme-dark { --gfmr-primary: #58a6ff;
--gfmr-text: #f0f6fc;
--gfmr-text-secondary: #8b949e;
--gfmr-background: #0d1117;
--gfmr-surface: #161b22;
--gfmr-border-color: #30363d;
--gfmr-border-light: #21262d;
--gfmr-border-strong: #8b949e;
}  .gfmr-border-reset,
.gfmr-markdown-rendered pre code,
.gfmr-markdown-rendered-preview pre code,
.gfmr-markdown-editor,
.gfmr-markdown-rendered hr {
border: var(--gfmr-border-none) !important;
} .gfmr-border {
border: var(--gfmr-border);
}
.gfmr-border-light {
border: var(--gfmr-border-light);
}
.gfmr-border-strong {
border: var(--gfmr-border-strong);
}
.gfmr-border-bottom {
border-bottom: var(--gfmr-border-light);
}
.gfmr-border-top {
border-top: var(--gfmr-border);
} @media (prefers-contrast: high) {
:root {
--gfmr-border-width: 2px;
--gfmr-border-color: #000;
--gfmr-border-light: #333;
--gfmr-border-strong: #000;
}
} @media print {
:root { --gfmr-border-color: #000;
--gfmr-border-light: #666;
--gfmr-border-strong: #000;
--gfmr-background: #fff;
--gfmr-text: #000; --gfmr-bg-canvas: var(--gfmr-dark-bg-canvas);
--gfmr-bg-default: var(--gfmr-dark-bg-default);
--gfmr-bg-muted: var(--gfmr-dark-bg-muted);
--gfmr-bg-subtle: var(--gfmr-dark-bg-subtle);
--gfmr-bg-overlay: var(--gfmr-dark-bg-overlay);
--gfmr-bg-code: var(--gfmr-dark-bg-code);
--gfmr-bg-code-inline: var(--gfmr-dark-bg-code-inline);
--gfmr-text-primary: var(--gfmr-dark-text-primary);
--gfmr-text-secondary: var(--gfmr-dark-text-secondary);
--gfmr-text-muted: var(--gfmr-dark-text-muted);
--gfmr-text-inverse: var(--gfmr-dark-text-inverse);
--gfmr-text-link: var(--gfmr-dark-text-link);
--gfmr-text-link-hover: var(--gfmr-dark-text-link-hover);
--gfmr-border-default: var(--gfmr-dark-border-default);
--gfmr-border-muted: var(--gfmr-dark-border-muted);
--gfmr-border-subtle: var(--gfmr-dark-border-subtle);
}
} .gfmr-dark {
--gfmr-bg-canvas: var(--gfmr-dark-bg-canvas);
--gfmr-bg-default: var(--gfmr-dark-bg-default);
--gfmr-bg-muted: var(--gfmr-dark-bg-muted);
--gfmr-bg-subtle: var(--gfmr-dark-bg-subtle);
--gfmr-bg-overlay: var(--gfmr-dark-bg-overlay);
--gfmr-bg-code: var(--gfmr-dark-bg-code);
--gfmr-bg-code-inline: var(--gfmr-dark-bg-code-inline);
--gfmr-text-primary: var(--gfmr-dark-text-primary);
--gfmr-text-secondary: var(--gfmr-dark-text-secondary);
--gfmr-text-muted: var(--gfmr-dark-text-muted);
--gfmr-text-inverse: var(--gfmr-dark-text-inverse);
--gfmr-text-link: var(--gfmr-dark-text-link);
--gfmr-text-link-hover: var(--gfmr-dark-text-link-hover);
--gfmr-border-default: var(--gfmr-dark-border-default);
--gfmr-border-muted: var(--gfmr-dark-border-muted);
--gfmr-border-subtle: var(--gfmr-dark-border-subtle);
} .gfmr-light {
--gfmr-bg-canvas: #fff;
--gfmr-bg-default: #fff;
--gfmr-bg-muted: #f6f8fa;
--gfmr-bg-subtle: #f6f8fa;
--gfmr-bg-overlay: rgba(31, 35, 40, 0.15);
--gfmr-bg-code: #f6f8fa;
--gfmr-bg-code-inline: rgba(175, 184, 193, 0.2);
--gfmr-text-primary: #24292f;
--gfmr-text-secondary: #656d76;
--gfmr-text-muted: #656d76;
--gfmr-text-inverse: #fff;
--gfmr-text-link: #0969da;
--gfmr-text-link-hover: #0550ae;
--gfmr-border-default: #d0d7de;
--gfmr-border-muted: #d8dee4;
--gfmr-border-subtle: #f6f8fa;
}  @media (max-width: 767px) {
:root {
--gfmr-padding-modal: var(--gfmr-space-4);
--gfmr-font-size-base: 14px;
}
} @media (min-width: 768px) and (max-width: 991px) {
:root {
--gfmr-padding-modal: var(--gfmr-space-5);
}
} @media (min-width: 992px) {
:root {
--gfmr-padding-modal: var(--gfmr-space-6);
}
}  @media (prefers-reduced-motion: reduce) {
:root {
--gfmr-duration-fast: 0s;
--gfmr-duration-base: 0s;
--gfmr-duration-slow: 0s;
--gfmr-duration-slower: 0s;
--gfmr-transition-fast: none;
--gfmr-transition-base: none;
--gfmr-transition-slow: none;
}
} @media (prefers-contrast: high) {
:root {
--gfmr-border-width-thin: 2px;
--gfmr-border-width-thick: 3px;
--gfmr-shadow-focus: 0 0 0 4px rgba(35, 134, 54, 0.5);
}
}  .gfmr-sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
} .gfmr-sr-only-focusable:focus {
position: static !important;
width: auto !important;
height: auto !important;
padding: inherit !important;
margin: inherit !important;
overflow: visible !important;
clip: auto !important;
white-space: inherit !important;
} .gfmr-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} .gfmr-d-none {
display: none !important;
}
.gfmr-d-block {
display: block !important;
}
.gfmr-d-flex {
display: flex !important;
}
@media (max-width: 767px) {
.gfmr-d-sm-none {
display: none !important;
}
.gfmr-d-sm-block {
display: block !important;
}
.gfmr-d-sm-flex {
display: flex !important;
}
}
@media (min-width: 768px) {
.gfmr-d-md-none {
display: none !important;
}
.gfmr-d-md-block {
display: block !important;
}
.gfmr-d-md-flex {
display: flex !important;
}
} .shiki {
font-family: var(--gfmr-code-font-family);
font-size: var(--gfmr-code-font-size);
line-height: var(--gfmr-code-line-height);
border-radius: var(--gfmr-code-border-radius);
overflow-x: auto;
position: relative;
}
.shiki code {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}  .shiki,
.shiki pre,
.shiki code {  }  .gfmr-code-container {
position: relative;
}
.gfmr-copy-button {
width: var(--gfmr-copy-btn-size);
height: var(--gfmr-copy-btn-size);
background: var(--gfmr-copy-btn-bg);
border: 1px solid var(--gfmr-copy-btn-border);
border-radius: 6px;
transition: all var(--gfmr-transition-fast);
backdrop-filter: blur(8px);
}
.gfmr-copy-button:hover {
background: var(--gfmr-copy-btn-hover);
transform: scale(1.05);
}
.gfmr-copy-button:active {
background: var(--gfmr-copy-btn-active);
transform: scale(0.95);
} @media (max-width: 768px) {
:root {
--gfmr-code-font-size: 13px;
--gfmr-code-padding: 12px;
--gfmr-copy-btn-size: 28px;
}
}