/* Jingrow 自定义主题 */ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap'); .jingrow-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; margin-right: 0.2em; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0.00 0.00 128.00 128.00'%3E%3Cg stroke-width='2.00' fill='none' stroke-linecap='butt'%3E%3Cpath stroke='%238fe3b1' vector-effect='non-scaling-stroke' d='M 64.04 34.07 Q 64.93 34.07 65.55 34.69 Q 74.55 43.60 82.91 51.96 C 87.46 56.52 91.92 55.95 98.45 55.81 A 2.52 2.52 0.0 0 0 100.92 53.29 L 100.92 49.89 A 2.56 2.55 -1.5 0 0 98.23 47.34 C 95.84 47.46 91.15 47.62 89.22 45.67 Q 81.61 37.99 68.36 24.99 Q 66.43 23.09 64.04 23.09 Q 61.66 23.09 59.72 24.99 Q 46.47 37.98 38.85 45.66 C 36.92 47.61 32.23 47.45 29.84 47.32 A 2.56 2.55 1.5 0 0 27.15 49.87 L 27.15 53.27 A 2.52 2.52 0.0 0 0 29.62 55.79 C 36.15 55.94 40.61 56.51 45.16 51.95 Q 53.53 43.60 62.53 34.69 Q 63.15 34.07 64.04 34.07'%3E%3C/path%3E%3Cpath stroke='%238fe3b1' vector-effect='non-scaling-stroke' d='M 64.04 101.46 C 66.42 101.46 68.47 101.10 68.47 98.24 Q 68.49 75.28 68.49 72.56 A 0.61 0.61 0.0 0 1 69.10 71.95 L 89.64 71.95 A 2.50 2.50 0.0 0 0 92.14 69.45 L 92.14 65.73 A 2.28 2.28 0.0 0 0 89.86 63.45 L 69.10 63.45 A 0.61 0.61 0.0 0 1 68.49 62.84 L 68.49 50.37 A 3.05 3.03 2.1 0 0 65.67 47.34 Q 65.14 47.31 64.03 47.31 Q 62.93 47.31 62.40 47.34 A 3.05 3.03 -2.1 0 0 59.58 50.37 L 59.58 62.84 A 0.61 0.61 0.0 0 1 58.97 63.45 L 38.21 63.45 A 2.28 2.28 0.0 0 0 35.93 65.73 L 35.93 69.45 A 2.50 2.50 0.0 0 0 38.43 71.95 L 58.97 71.95 A 0.61 0.61 0.0 0 1 59.58 72.56 Q 59.58 75.28 59.60 98.24 C 59.60 101.10 61.65 101.46 64.04 101.46'%3E%3C/path%3E%3C/g%3E%3Cpath fill='%231fc76f' d='M 115.34 95.08 A 19.82 19.82 0.0 0 1 95.52 114.90 L 32.48 114.90 A 19.82 19.82 0.0 0 1 12.66 95.08 L 12.66 32.88 A 19.82 19.82 0.0 0 1 32.48 13.06 L 95.52 13.06 A 19.82 19.82 0.0 0 1 115.34 32.88 L 115.34 95.08 Z M 64.04 34.07 Q 64.93 34.07 65.55 34.69 Q 74.55 43.60 82.91 51.96 C 87.46 56.52 91.92 55.95 98.45 55.81 A 2.52 2.52 0.0 0 0 100.92 53.29 L 100.92 49.89 A 2.56 2.55 -1.5 0 0 98.23 47.34 C 95.84 47.46 91.15 47.62 89.22 45.67 Q 81.61 37.99 68.36 24.99 Q 66.43 23.09 64.04 23.09 Q 61.66 23.09 59.72 24.99 Q 46.47 37.98 38.85 45.66 C 36.92 47.61 32.23 47.45 29.84 47.32 A 2.56 2.55 1.5 0 0 27.15 49.87 L 27.15 53.27 A 2.52 2.52 0.0 0 0 29.62 55.79 C 36.15 55.94 40.61 56.51 45.16 51.95 Q 53.53 43.60 62.53 34.69 Q 63.15 34.07 64.04 34.07 Z M 64.04 101.46 C 66.42 101.46 68.47 101.10 68.47 98.24 Q 68.49 75.28 68.49 72.56 A 0.61 0.61 0.0 0 1 69.10 71.95 L 89.64 71.95 A 2.50 2.50 0.0 0 0 92.14 69.45 L 92.14 65.73 A 2.28 2.28 0.0 0 0 89.86 63.45 L 69.10 63.45 A 0.61 0.61 0.0 0 1 68.49 62.84 L 68.49 50.37 A 3.05 3.03 2.1 0 0 65.67 47.34 Q 65.14 47.31 64.03 47.31 Q 62.93 47.31 62.40 47.34 A 3.05 3.03 -2.1 0 0 59.58 50.37 L 59.58 62.84 A 0.61 0.61 0.0 0 1 58.97 63.45 L 38.21 63.45 A 2.28 2.28 0.0 0 0 35.93 65.73 L 35.93 69.45 A 2.50 2.50 0.0 0 0 38.43 71.95 L 58.97 71.95 A 0.61 0.61 0.0 0 1 59.58 72.56 Q 59.58 75.28 59.60 98.24 C 59.60 101.10 61.65 101.46 64.04 101.46 Z'%3E%3C/path%3E%3Cpath fill='%23fffef2' d='M 64.04 23.09 Q 66.43 23.09 68.36 24.99 Q 81.61 37.99 89.22 45.67 C 91.15 47.62 95.84 47.46 98.23 47.34 A 2.56 2.55 -1.5 0 1 100.92 49.89 L 100.92 53.29 A 2.52 2.52 0.0 0 1 98.45 55.81 C 91.92 55.95 87.46 56.52 82.91 51.96 Q 74.55 43.60 65.55 34.69 Q 64.93 34.07 64.04 34.07 Q 63.15 34.07 62.53 34.69 Q 53.53 43.60 45.16 51.95 C 40.61 56.51 36.15 55.94 29.62 55.79 A 2.52 2.52 0.0 0 1 27.15 53.27 L 27.15 49.87 A 2.56 2.55 1.5 0 1 29.84 47.32 C 32.23 47.45 36.92 47.61 38.85 45.66 Q 46.47 37.98 59.72 24.99 Q 61.66 23.09 64.04 23.09 Z'%3E%3C/path%3E%3Cpath fill='%23fffef2' d='M 64.03 47.31 Q 65.14 47.31 65.67 47.34 A 3.05 3.03 2.1 0 1 68.49 50.37 L 68.49 62.84 A 0.61 0.61 0.0 0 0 69.10 63.45 L 89.86 63.45 A 2.28 2.28 0.0 0 1 92.14 65.73 L 92.14 69.45 A 2.50 2.50 0.0 0 1 89.64 71.95 L 69.10 71.95 A 0.61 0.61 0.0 0 0 68.49 72.56 Q 68.49 75.28 68.47 98.24 C 68.47 101.10 66.42 101.46 64.04 101.46 C 61.65 101.46 59.60 101.10 59.60 98.24 Q 59.58 75.28 59.58 72.56 A 0.61 0.61 0.0 0 0 58.97 71.95 L 38.43 71.95 A 2.50 2.50 0.0 0 1 35.93 69.45 L 35.93 65.73 A 2.28 2.28 0.0 0 1 38.21 63.45 L 58.97 63.45 A 0.61 0.61 0.0 0 0 59.58 62.84 L 59.58 50.37 A 3.05 3.03 -2.1 0 1 62.40 47.34 Q 62.93 47.31 64.03 47.31 Z'%3E%3C/path%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; } .jingrow-icon-large { width: 2em; height: 2em; } section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { color: #fff; } /********************************************* * GLOBAL STYLES *********************************************/ :root { --r-background-color: #fff; --r-main-font: "Noto Sans SC", Manrope, Helvetica, sans-serif; --r-main-font-size: 36px; --r-main-color: #1A1A1A; --r-block-margin: 20px; --r-heading-margin: 0 0 20px 0; --r-heading-font: "Noto Sans SC", Manrope, Helvetica, sans-serif; --r-heading-color: #1A1A1A; --r-heading-line-height: 1.2; --r-heading-letter-spacing: normal; --r-heading-text-transform: none; --r-heading-text-shadow: none; --r-heading-font-weight: 700; --r-heading1-text-shadow: none; --r-heading1-size: 2.5em; --r-heading2-size: 1.6em; --r-heading3-size: 1.3em; --r-heading4-size: 1em; --r-code-font: monospace; --r-link-color: #1A1A1A; --r-link-color-dark: rgb(30.7720647773, 99.5566801619, 192.7779352227); --r-link-color-hover: rgb(73.95, 138.55, 226.1); --r-selection-background-color: rgb(95.25, 152.25, 229.5); --r-selection-color: #fff; --r-overlay-element-bg-color: 0, 0, 0; --r-overlay-element-fg-color: 240, 240, 240; } .reveal-viewport { background: #fff; background-color: var(--r-background-color); } .reveal { font-family: var(--r-main-font); font-size: var(--r-main-font-size); font-weight: normal; color: var(--r-main-color); } .reveal ::selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal ::-moz-selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal .slides section, .reveal .slides section > section { line-height: 1.3; font-weight: inherit; } /********************************************* * HEADERS *********************************************/ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { margin: var(--r-heading-margin); color: var(--r-heading-color); font-family: var(--r-heading-font); font-weight: var(--r-heading-font-weight); line-height: var(--r-heading-line-height); letter-spacing: var(--r-heading-letter-spacing); text-transform: var(--r-heading-text-transform); text-shadow: var(--r-heading-text-shadow); word-wrap: break-word; } .reveal h1 { font-size: var(--r-heading1-size); } .reveal h1 { display: flex; align-items: center; justify-content: center; } .reveal h2 { font-size: var(--r-heading2-size); } .reveal h3 { font-size: var(--r-heading3-size); } .reveal h4 { font-size: var(--r-heading4-size); } .reveal h1 { text-shadow: var(--r-heading1-text-shadow); } /********************************************* * OTHER *********************************************/ .reveal p { margin: var(--r-block-margin) 0; line-height: 1.3; } /* Remove trailing margins after titles */ .reveal h1:last-child, .reveal h2:last-child, .reveal h3:last-child, .reveal h4:last-child, .reveal h5:last-child, .reveal h6:last-child { margin-bottom: 0; } /* Ensure certain elements are never larger than the slide itself */ .reveal img, .reveal video, .reveal iframe { max-width: 95%; max-height: 95%; } .reveal strong, .reveal b { font-weight: bold; } .reveal em { font-style: italic; } .reveal ol, .reveal dl, .reveal ul { display: inline-block; text-align: left; margin: 0 0 0 1em; } .reveal ol { list-style-type: decimal; } .reveal ul { list-style-type: disc; } .reveal ul ul { list-style-type: square; } .reveal ul ul ul { list-style-type: circle; } .reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul { display: block; margin-left: 40px; } .reveal dt { font-weight: bold; } .reveal dd { margin-left: 40px; } .reveal blockquote { display: block; position: relative; width: 70%; margin: var(--r-block-margin) auto; padding: 5px; font-style: italic; background: rgba(255, 255, 255, 0.05); box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } .reveal blockquote p:first-child, .reveal blockquote p:last-child { display: inline-block; } .reveal q { font-style: italic; } .reveal pre { display: block; position: relative; width: 90%; margin: var(--r-block-margin) auto; text-align: left; font-size: 0.55em; font-family: var(--r-code-font); line-height: 1.2em; word-wrap: break-word; box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } .reveal code { font-family: var(--r-code-font); text-transform: none; tab-size: 2; } .reveal pre code { display: block; padding: 5px; overflow: auto; max-height: 400px; word-wrap: normal; } .reveal .code-wrapper { white-space: normal; } .reveal .code-wrapper code { white-space: pre; } .reveal table { margin: auto; border-collapse: collapse; border-spacing: 0; } .reveal table th { font-weight: bold; } .reveal table th, .reveal table td { text-align: left; padding: 0.2em 0.5em 0.2em 0.5em; border-bottom: 1px solid; } .reveal table th[align=center], .reveal table td[align=center] { text-align: center; } .reveal table th[align=right], .reveal table td[align=right] { text-align: right; } .reveal table tbody tr:last-child th, .reveal table tbody tr:last-child td { border-bottom: none; } .reveal sup { vertical-align: super; font-size: smaller; } .reveal sub { vertical-align: sub; font-size: smaller; } .reveal small { display: inline-block; font-size: 0.6em; line-height: 1.2em; vertical-align: top; } .reveal small * { vertical-align: top; } .reveal img { margin: var(--r-block-margin) 0; } /********************************************* * LINKS *********************************************/ .reveal a { color: var(--r-link-color); text-decoration: none; transition: color 0.15s ease; } .reveal a:hover { color: var(--r-link-color-hover); text-shadow: none; border: none; } .reveal .roll span:after { color: #fff; background: var(--r-link-color-dark); } /********************************************* * Frame helper *********************************************/ .reveal .r-frame { border: 4px solid var(--r-main-color); box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } .reveal a .r-frame { transition: all 0.15s linear; } .reveal a:hover .r-frame { border-color: var(--r-link-color); box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } /********************************************* * NAVIGATION CONTROLS *********************************************/ .reveal .controls { color: var(--r-link-color); } /********************************************* * PROGRESS BAR *********************************************/ .reveal .progress { background: rgba(0, 0, 0, 0.2); color: var(--r-link-color); } /********************************************* * PRINT BACKGROUND *********************************************/ @media print { .backgrounds { background-color: var(--r-background-color); } } /********************************************* * 字体颜色类 *********************************************/ /* 白色字体 - 适用于深色背景 */ .text-white { color: #ffffff !important; } .text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6 { color: #ffffff !important; } /* 黑色字体 - 适用于浅色背景 */ .text-black { color: #000000 !important; } .text-black h1, .text-black h2, .text-black h3, .text-black h4, .text-black h5, .text-black h6 { color: #000000 !important; } /* 深灰色字体 */ .text-gray-dark { color: #333333 !important; } /* 中灰色字体 */ .text-gray { color: #666666 !important; } /* 浅灰色字体 */ .text-gray-light { color: #999999 !important; } /* 红色字体 */ .text-red { color: #dc3545 !important; } /* 绿色字体 */ .text-green { color: #28a745 !important; } /* 蓝色字体 */ .text-blue { color: #007bff !important; } /* 黄色字体 */ .text-yellow { color: #ffc107 !important; } /* 橙色字体 */ .text-orange { color: #fd7e14 !important; } /* 紫色字体 */ .text-purple { color: #6f42c1 !important; } /* 青色字体 */ .text-cyan { color: #17a2b8 !important; } /* 粉色字体 */ .text-pink { color: #e83e8c !important; } /* 棕色字体 */ .text-brown { color: #795548 !important; } /* 金色字体 */ .text-gold { color: #ffd700 !important; } /* 银色字体 */ .text-silver { color: #c0c0c0 !important; } /* 半透明白色 - 适用于深色背景的次要文字 */ .text-white-75 { color: rgba(255, 255, 255, 0.75) !important; } .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; } /* 半透明黑色 - 适用于浅色背景的次要文字 */ .text-black-75 { color: rgba(0, 0, 0, 0.75) !important; } .text-black-50 { color: rgba(0, 0, 0, 0.5) !important; } /* 渐变文字效果 */ .text-gradient { background: linear-gradient(45deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .text-gradient-primary { background: linear-gradient(45deg, #007bff 0%, #0056b3 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .text-gradient-success { background: linear-gradient(45deg, #28a745 0%, #1e7e34 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* 文字阴影效果 - 增强可读性 */ .text-shadow { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); } .text-shadow-light { text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); } .text-shadow-white { text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.5); } /* 高对比度文字类 */ .text-high-contrast { color: #000000 !important; text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8); } .text-high-contrast-inverse { color: #ffffff !important; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); } .reveal .controls button { color: #000000 !important; } .reveal .slides { width: 1200px !important; }