@charset "UTF-8"; :root { --color-primary: #5454f8; --color-secondary: #267B54; --color-accent: #4088b8; --color-success: #22c55e; --color-warning: #f59e0b; --color-danger: #ef4444; --text-primary: #2c3e50; /* Main text - WCAG AA compliant on white */ --text-secondary: #64748b; /* Supporting text - improved contrast */ --text-tertiary: #94a3b8; /* Muted text */ --text-inverse: #ffffff; /* Text on dark backgrounds */ --surface-background: #ffffff; --surface-elevated: #f8fafc; /* Cards, dropdowns */ --surface-overlay: #f1f5f9; /* Modals, overlays */ --surface-interactive: #e2e8f0; /* Hover states */ --border-primary: #e2e8f0; /* Main borders */ --border-secondary: #cbd5e1; /* Subtle borders */ --border-interactive: var(--color-primary); /* Focus, active borders */ --code-background: #f8fafc; --code-text: #475569; --code-keyword: #e96900; /* Light theme uses orange */ --code-string: #22c55e; --code-number: #8b5cf6; --code-comment: #94a3b8; --color-primary-hover: color-mix(in srgb, var(--color-primary) 85%, black); --color-secondary-hover: color-mix(in srgb, var(--color-secondary) 85%, black); --surface-interactive-hover: color-mix(in srgb, var(--surface-interactive) 80%, var(--color-primary)); --font-size-body: clamp(1.125rem, 1rem + 0.6vw, 1.375rem); /* ~18px to 22px */ --spacing-paragraph: clamp(1rem, 0.8rem + 0.4vw, 1.5rem); /* 1rem to 1.5rem */ --font-size-h1: clamp(2.25rem, 1.75rem + 2.8vw, 3.5rem); /* ~36px to 56px */ --font-size-h2-h3: clamp(1.5rem, 1.3rem + 1vw, 2.125rem); /* ~24px to 34px */ --font-size-h4-h6: clamp(1.25rem, 1.1rem + 0.75vw, 1.625rem); /* ~20px to 26px */ --font-size-nav: clamp(1rem, 0.95rem + 0.15vw, 1.125rem); /* ~16px to 18px */ --font-size-small: clamp(0.875rem, 0.8rem + 0.3vw, 1rem); /* ~14px to 16px */ --font-size-code: clamp(1rem, 0.95rem + 0.4vw, 1.25rem); /* Increased to match body text better */ } [data-theme=dark] { --color-primary: #818cf8; /* Higher contrast on dark */ --color-secondary: #34d399; --color-accent: #60a5fa; --color-success: #10b981; --color-warning: #f59e0b; --color-danger: #f87171; --text-primary: #f1f5f9; /* 15.3:1 contrast ratio */ --text-secondary: #cbd5e1; /* 10.4:1 contrast ratio */ --text-tertiary: #94a3b8; /* 6.1:1 contrast ratio */ --text-inverse: #0f172a; --surface-background: #0f172a; /* Dark navy for better contrast */ --surface-elevated: #1e293b; /* Elevated surfaces */ --surface-overlay: #334155; /* Overlays and modals */ --surface-interactive: #475569; /* Interactive elements */ --border-primary: #334155; /* Visible borders */ --border-secondary: #1e293b; /* Subtle separators */ --code-background: #1e293b; --code-text: #e2e8f0; --code-keyword: #60a5fa; --code-string: #34d399; --code-number: #a78bfa; --code-comment: #64748b; --color-primary-hover: color-mix(in srgb, var(--color-primary) 80%, white); --color-secondary-hover: color-mix(in srgb, var(--color-secondary) 80%, white); --surface-interactive-hover: color-mix(in srgb, var(--surface-interactive) 70%, var(--color-primary)); } ::-moz-selection { color: var(--surface-background); background-color: var(--color-primary); } ::selection { color: var(--surface-background); background-color: var(--color-primary); } ::-moz-selection { color: var(--surface-background); background-color: var(--color-primary); } html { font-family: "Georgia", "Times New Roman", "Times", "Source Han Serif CN", "Source Han Serif JP", "Noto Serif SC", "Source Han Serif SC", "Noto Serif JP", "Songti SC", "SimSun", serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } html, html body { width: 100%; height: 100%; } body { margin: 0; color: var(--text-primary); font-size: var(--font-size-body); line-height: 1.8; background-color: var(--surface-background); font-family: "Georgia", "Times New Roman", "Times", "Source Han Serif CN", "Source Han Serif JP", "Noto Serif SC", "Source Han Serif SC", "Noto Serif JP", "Songti SC", "SimSun", serif; } article, aside, figcaption, figure, footer, header, hgroup, main, menu, nav, section { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; color: var(--color-primary); text-decoration: none; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } u { text-decoration: underline; -webkit-text-decoration-style: wavy; text-decoration-style: wavy; -webkit-text-decoration-color: currentColor; text-decoration-color: currentColor; text-underline-offset: clamp(4px, 0.1em, 6px); } dfn { font-style: italic; } .emphasis, .em { -webkit-text-emphasis: filled circle; text-emphasis: filled circle; font-weight: normal; line-height: inherit; /* 保持原有行高 */ display: inline; /* 确保行内显示 */ } .emphasis-dot { -webkit-text-emphasis: filled dot; text-emphasis: filled dot; -webkit-text-emphasis-color: var(--color-primary); text-emphasis-color: var(--color-primary); line-height: inherit; display: inline; } .emphasis-circle { -webkit-text-emphasis: filled circle; text-emphasis: filled circle; -webkit-text-emphasis-color: var(--color-primary); text-emphasis-color: var(--color-primary); line-height: inherit; display: inline; } .emphasis-triangle { -webkit-text-emphasis: filled triangle; text-emphasis: filled triangle; -webkit-text-emphasis-color: var(--color-primary); text-emphasis-color: var(--color-primary); line-height: inherit; display: inline; } .emphasis-sesame { -webkit-text-emphasis: filled sesame; text-emphasis: filled sesame; -webkit-text-emphasis-color: var(--color-primary); text-emphasis-color: var(--color-primary); line-height: inherit; display: inline; } mark { background: var(--color-warning); color: var(--text-inverse); } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } p { margin: var(--spacing-paragraph) 0; } ul, ol { margin: 1rem 0; } ul.nav, ul.post-list, ol.nav, ol.post-list { margin: 0; padding: 0; list-style-type: none; } img { border: 0; max-width: 100%; margin: 1rem auto; display: block; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { box-sizing: content-box; height: 1px; border: 0; border-top: 1px solid var(--color-border, #e1e4e8); margin: 1.5rem 0; } pre { overflow: auto; color: var(--code-text); font-size: var(--font-size-code); background-color: var(--code-background); font-family: "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", Menlo, "Courier New", "Source Han Sans SC", "Source Han Code JP", monospace; } code { margin: 0 2px; padding: 3px 5px; color: var(--code-keyword); border-radius: 2px; white-space: inherit; font-size: var(--font-size-code); background-color: var(--code-background); font-family: "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", Menlo, "Courier New", "Source Han Sans SC", "Source Han Code JP", monospace; } h1 code { font-size: 0.65em; } h2 code, h3 code { font-size: 0.75em; } h4 code, h5 code, h6 code { font-size: 0.8em; } h1, h2, h3, h4, h5, h6 { font-family: "Open Sans", "Open Sans Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "Noto Sans JP", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important; } body, p, article, section, li, dd, dt { font-family: "Georgia", "Times New Roman", "Times", "Source Han Serif CN", "Source Han Serif JP", "Noto Serif SC", "Source Han Serif SC", "Noto Serif JP", "Songti SC", "SimSun", serif; } nav, button, input, select, textarea, .nav, .button, .menu, .site-nav, .nav-link { font-family: "Open Sans", "Open Sans Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "Noto Sans JP", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; } button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } button { overflow: visible; text-transform: none; } button, html input[type=button], input[type=reset], input[type=submit] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[type=button][disabled], input[type=reset][disabled], input[type=submit][disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type=checkbox], input[type=radio] { box-sizing: border-box; padding: 0; } input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { height: auto; } input[type=search] { -webkit-appearance: textfield; box-sizing: content-box; } input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { -webkit-appearance: none; } table { width: 100%; margin: 1em auto; border-collapse: collapse; border-spacing: 0; } table thead { background-color: var(--surface-interactive); } table thead th { padding: 5px; min-width: 20px; } table tbody tr:nth-child(2n) { background-color: var(--surface-elevated); } table tbody td { padding: 5px; vertical-align: text-top; } fieldset { border: 1px solid var(--border-primary); margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } .container { margin: 0 10px 2em; } .hidden { display: none !important; } /* ruby { ruby-align: center; position: relative; display: inline-block; rt { font-size: 0.6em; color: var(--text-secondary); line-height: 1; text-align: center; font-weight: normal; // 强制设置正确的 ruby 位置 ruby-position: over; -webkit-ruby-position: over; -moz-ruby-position: over; // 确保显示为 ruby 文本 display: ruby-text; // 防止继承 text-emphasis 样式 text-emphasis: none; text-emphasis-style: none; } } */ img.emoji { width: 1em !important; height: 1em !important; vertical-align: -0.1em !important; margin: 0 !important; display: inline-block !important; }