标签: typora

  • 修改Typora主题使用“霞骛文楷”字体

    修改Typora主题使用“霞骛文楷”字体

    之前分享了一份使用霞骛文楷字体的Typora主题,但和日常习惯使用的主题差异比较大,美观度欠佳。

    @include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);
    
    /* open-sans-regular - latin-ext_latin */
    @font-face {
        font-family: '霞鹜文楷';
        font-style: normal;
        font-weight: normal;
        /* src: local('霞鹜文楷'), local('霞鹜文楷'), url('./github/open-sans-v17-latin-ext_latin-regular.woff2') format('woff2'); */
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* open-sans-italic - latin-ext_latin */
      @font-face {
        font-family: '霞鹜文楷';
        font-style: italic;
        font-weight: normal;
        /* src: local('霞鹜文楷'), local('霞鹜文楷'), url('./github/open-sans-v17-latin-ext_latin-italic.woff2') format('woff2'); */
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* open-sans-700 - latin-ext_latin */
      @font-face {
        font-family: '霞鹜文楷';
        font-style: normal;
        font-weight: bold;
        /* src: local('霞鹜文楷'), local('霞鹜文楷'), url('./github/open-sans-v17-latin-ext_latin-700.woff2') format('woff2');  */
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
      /* open-sans-700italic - latin-ext_latin */
      @font-face {
        font-family: '霞鹜文楷';
        font-style: italic;
        font-weight: bold;
        /* src: local('霞鹜文楷'), local('霞鹜文楷'), url('./github/open-sans-v17-latin-ext_latin-700italic.woff2') format('woff2'); */
        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
      }
    
    html {
        font-size: 16px;
    }
    
    body {
        font-family: "霞鹜文楷","Hannotate SC","Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: rgb(51, 51, 51);
        line-height: 1.6;
    }

    可以将以上代码替换到正在使用的主题CSS文件对应的位置,然后重启Typora实现更换字体。

  • 在Typora中使用“霞骛文楷”字体

    在Typora中使用“霞骛文楷”字体

    一直非常喜欢霞骛文楷的字体,这个站点为了使用这个字体甚至不惜牺牲了加载速度。现在终于找到了在Typora中使用这个字体的方法。

    步骤如下:

    • 在Typora的主题文件夹中新建一个==xiawu.css==文件;
    • 将以下代码复制到文件中保存;
    • 主题选择==xiawu==
    :root {
      /* dark color for background*/
      /* default color */
      --bg-color1: hsl(220, 13%, 18%);
      /* for most panel, context, header, etc */
      --bg-color2: rgb(33, 37, 43);
      /* for toc and table edit panel */
      --bg-color3: rgba(16, 17, 20, 0.5);
      /* for tips */
      --bg-color4: black;
      /* for blockquote, codeblock, input, etc */
      --bg-color5: rgb(29, 31, 35);
      /* light color for text and icon*/
      /* default color */
      --text-color1: hsl(220, 6%, 71%);
      /* for text on panel */
      --text-color2: rgb(220, 220, 220);
      /* for checkbox and radio */
      --text-color3: hsl(192, 6%, 40%);
      /* for tips */
      --text-color4: white;
      /* for focus mode */
      --text-color5: rgba(170, 178, 180, 0.5);
      /* link color */
      --link-color: rgb(197, 202, 210);
      /* table color */
      --table-border-color: rgb(100, 104, 116);
      --table-thead-color: rgb(31, 35, 40);
      --table-bg-color: rgb(40, 44, 52);
      --table-bg-darker-color: rgb(35, 40, 46);
      /* hover color */
      /* default hover background color */
      --hover-bg-color1: rgb(62, 66, 73);
      /* for input item */
      --hover-bg-color2: hsl(220, 9%, 14%);
      /* for button on toc and table edit panel */
      --hover-bg-color3: rgba(62, 66, 73, 0.8);
      /* default hover text color */
      --hover-text-color: white;
      /* active color */
      --active-color: var(--hover-bg-color1);
      /* input color */
      --input-color: rgb(29, 31, 35);
      /* menu divider color */
      /*   --menu-divider-color: rgb(95, 97, 101); */
      --menu-divider-color: hsl(220, 5%, 40%);
      /* scrollbar color */
      --scrollbar-thumb-color: var(--menu-divider-color);
      --scrollbar-track-color: rgba(95, 97, 101, 0.3);
      /* theme select color */
      --theme-select-color: rgba(255, 255, 255, 0.5);
      --button-color: rgb(62, 66, 73);
      --select-color: rgb(33, 37, 43);
      /* focus color */
      --focus-color: rgba(100, 100, 100, 0.8);
      --focus-ring-color: var(--focus-color);
      /* codeblock color */
      --code-red-color: hsl(355, 65%, 65%);
      --code-yellow-color: hsl(39, 67%, 69%);
      --code-cyan-color: hsl(187, 47%, 55%);
      --code-blue-color: hsl(207, 82%, 66%);
      --code-purple-color: hsl(286, 60%, 67%);
      --code-orange-color: hsl(29, 54%, 61%);
      --code-green-color: hsl(95, 38%, 62%);
      --code-grey-color: hsl(220, 9%, 55%);
    
      --code-select-bg-color: rgb(59,68,84);
      --code-cursor-color: hsl(220, 100%, 66%);
      /* implicit selecttion text bg color */
      --select-text-bg-color: rgb(64,72,89);
      /* implicit button color */
      --primary-color: var(--button-color);
      --primary-btn-border-color: transparent;
      --primary-btn-text-color: var(--text-color2);
      /* implicit sidebar color */
      --side-bar-bg-color: var(--bg-color2);
      --control-text-color: var(--text-color2);
      /* implicit text color */
      --text-color: var(--text-color1);
      /* implicit background color for setting menu */
      --bg-color: var(--bg-color1);
      /* implicit hover color */
      --item-hover-bg-color: var(--hover-bg-color1);
      --item-hover-text-color: var(--hover-text-color);
      /* implicit active color */
      --active-file-bg-color: var(--hover-bg-color);
      /* implicit mathjax edit panel background color */
      --rawblock-edit-panel-bd: var(--bg-color5);
      /* implicit focus mode color */
      --blur-text-color: var(--text-color5);
      /* implicit search result select color */
      --search-select-bg-color: rgb(56, 71, 95);
    
      --control-text-hover-color: var(--hover-text-color);
      /* implicit active file color in sidebar file menu treeview */
      --active-file-text-color: var(--hover-text-color);
      --active-file-border-color: var(--hover-text-color);
    
      --node-border: var(--menu-divider-color);
      --node-fill: var(--bg-color2);
      /* implicit border color in export menu of setting */
      --border-color: var(--menu-divider-color);
    }
    
    /* font */
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: normal;
      font-weight: normal;
      src: local("Open Sans Regular"), url("./onedark/400.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: italic;
      font-weight: normal;
      src: local("Open Sans Italic"), url("./onedark/400i.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: normal;
      font-weight: bold;
      src: local("Open Sans Bold"), url("./onedark/700.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: italic;
      font-weight: bold;
      src: local("Open Sans Bold Italic"), url("./onedark/700i.woff") format("woff");
    }
    
    /* basic style */
    html {
      font-size: 16px;
    }
    
    body {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;, "Clear Sans", "Helvetica Neue", Helvetica, Arial,
        sans-serif;
      color: var(--text-color1);
      background: var(--bg-color1);
      line-height: 1.6;
    }
    
    /* text selection background color */
    .in-text-selection {
      background-color: --select-text-bg-color;
    }
    
    /* link */
    #write a:not([role="menuitem"]) {
      color: var(--link-color) !important;
    }
    
    #write a:not([role="menuitem"]):hover {
      color: var(--hover-text-color) !important;
    }
    
    /* h1-h6 */
    #write h1,
    #write h2,
    #write h3,
    #write h4,
    #write h5,
    #write h6 {
      margin-top: 0.5em;
      margin-bottom: 0em;
      line-height: 1em;
      text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
      padding-top: 0.3em;
    }
    
    #write h1 {
      font-size: 2.5em;
      padding-bottom: 0.5em;
      border-bottom: 3px double var(--text-color5);
    
    }
    
    /* #write h1:before {
      content: "\00A7  ";
    }
     */
    #write h2 {
      font-size: 2em;
      padding-bottom: 0.5em;
      border-bottom: 3px double var(--text-color5);
    }
    
    /* #write h2:before {
      content: "\00A7  ";
    }
     */
    #write h3 {
      font-size: 1.75em;
      padding-bottom: 0.5em;
      border-bottom: 1px solid var(--text-color5);
    }
    
    #write h4 {
      font-size: 1.55em;
    }
    
    #write h5 {
      font-size: 1.35em;
    }
    
    #write h6 {
      font-size: 1.2em;
    }
    
    /* horizontal divider */
    hr {
      height: 1px;
      background-color: var(--text-color5);
      border: 0px;
    }
    
    /* list */
    ul,
    ol {
      padding-left: 30px;
    }
    
    /* blockquote */
    blockquote {
      border-left: 4px solid var(--text-color1);
      padding: 4px 15px;
      color: var(--text-color1);
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    blockquote blockquote {
      padding-right: 0em;
    }
    
    /* table */
    .md-rawblock > .md-rawblock-container table,
    .md-table-fig,
    .md-table-fig:active {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    table thead tr {
      background-color: var(--table-thead-color);
    }
    
    table tr th {
      font-weight: bold;
      border-left: 1px solid var(--table-border-color);
      border-right: 1px solid var(--table-border-color);
      text-align: left;
      margin: 0;
      padding: 6px 13px;
    }
    
    table tbody tr {
      border-top: 1px solid var(--table-border-color);
      margin: 0;
      padding: 0;
    }
    
    table tbody tr:nth-child(2n) {
      background-color: var(--table-bg-darker-color);
    }
    
    table tbody tr:nth-child(2n + 1) {
      background-color: var(--table-bg-color);
    }
    
    table tr td {
      border-left: 1px solid var(--table-border-color);
      border-right: 1px solid var(--table-border-color);
      text-align: left;
      margin: 0;
      padding: 6px 13px;
    }
    
    table tr th:first-child,
    table tr td:first-child {
      border-left-width: 0px;
    }
    
    table tr th:last-child,
    table tr td:last-child {
      border-right-width: 0px;
    }
    
    /* table edit panel */
    .ty-table-edit {
      background-color: var(--bg-color3);
      border: 0px;
      border-radius: 6px;
      padding-top: 2px;
      padding-bottom: 2px;
      padding-left: 6px;
      padding-right: 6px;
      margin-top: -29px !important;
    }
    
    /* button on table edit panel */
    .ty-table-edit button {
      background-color: transparent;
      color: var(--text-color2);
      border: 0px;
      margin-left: 0px !important;
    }
    
    /* button hover on table edit panel */
    .ty-table-edit button:hover {
      background-color: var(--hover-bg-color3);
      color: var(--hover-text-color);
    }
    
    /* adjusting table panel */
    .popover {
      background-color: var(--bg-color2);
      box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* arrow of adjusting table panel */
    .popover.bottom > .arrow:after {
      border-bottom-color: var(--bg-color2);
    }
    
    /* divider in adjust table panel */
    .md-grid-board-wrap .popover-title {
      border-top-color: var(--menu-divider-color);
    }
    
    /* grid size */
    .md-grid-board a {
      width: 15px;
      height: 15px;
    }
    
    /* existing thread grid */
    .md-grid-board tr[row="1"] .md-grid-ext {
      background-color: rgb(60, 60, 60);
    }
    
    /* not existing thread grid */
    .md-grid-board tr[row="1"] {
      background-color: rgb(220, 220, 220);
    }
    
    /* existing grid */
    .md-grid-board .md-grid-ext {
      background-color: rgb(120, 120, 120);
    }
    
    /* selected thread grid */
    .md-grid-board tr[row="1"] a.md-active,
    .md-grid-board tr[row="1"] a:hover {
      background-color: rgb(60, 60, 60);
    }
    
    /* selected grid */
    .md-grid-board a.md-active,
    .md-grid-board a:hover {
      border-color: var(--menu-divider-color);
      background-color: rgb(120, 120, 120);
    }
    
    /* task */
    .md-task-list-item > input {
      margin-left: -1.3em;
    }
    
    /* footnote */
    sup.md-footnote {
      color: var(--text-color1);
      background-color: var(--bg-color2);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* mathjax */
    /* .mathjax-block>.code-tooltip {
        bottom: .375rem;
    }
    .md-mathjax-midline {
        background: #fafafa;
    } */
    .md-inline-math script {
      color: var(--text-color1);
    }
    
    .on-focus-mode #write svg {
      opacity: 1;
    }
    
    .md-rawblock > .md-rawblock-container {
      transition: 0.5s;
    }
    
    .md-rawblock > .md-rawblock-tooltip {
      transition: 0.5s;
      display: block;
      visibility: hidden;
      opacity: 0;
    }
    
    .md-rawblock:hover > .md-rawblock-tooltip {
      transition: 0.5s;
      visibility: visible;
      opacity: 1;
      animation: none;
    }
    
    /* meta information of image */
    .md-image > .md-meta {
      border: 0px;
      padding: 2px 0px 0px 4px;
      font-size: 0.9em;
      color: var(--text-color1);
    }
    
    /* input */
    input {
      background-color: var(--input-color) !important;
      border: 0px !important;
      border-radius: 6px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* input hover */
    /* input:hover {
        background-color: var(--hover-bg-color2) !important;
    } */
    /* checkbox */
    input[type="checkbox"]:before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      vertical-align: middle;
      text-align: center;
      border: 0px;
      border-radius: 3px;
      background-color: var(--input-color);
      margin-top: -0.5rem;
      margin-left: -0.2rem;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* checkbox hover */
    input[type="checkbox"]:not([disabled]):not(:checked):hover:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--text-color3);
    }
    
    /* checkbox checked*/
    input[type="checkbox"]:checked:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--text-color2);
    }
    
    /* checkbox checked hover*/
    input[type="checkbox"]:checked:hover:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--hover-text-color);
    }
    
    /* radio */
    input[type="radio"]:before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      vertical-align: middle;
      text-align: center;
      border: 0px;
      border-radius: 0.55rem;
      background-color: var(--input-color);
      margin-top: -0.4rem;
      margin-left: -0.1rem;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* radio hover */
    input[type="radio"]:not([disabled]):not(:checked):hover:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--text-color3);
    }
    
    /* radio checked */
    input[type="radio"]:checked:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--text-color2);
    }
    
    /* radio checked hover*/
    input[type="radio"]:checked:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--hover-text-color);
    }
    
    /* default focus style */
    :focus {
      outline-color: var(--focus-color);
    }
    
    /* exit source view button */
    .typora-sourceview-on #toggle-sourceview-btn {
      background-color: var(--bg-color2);
    }
    
    .typora-sourceview-on #toggle-sourceview-btn:hover {
      background-color: var(--hover-bg-color1);
    }
    
    /* shadow for image item*/
    .md-image img {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc */
    .md-toc {
      background-color: var(--bg-color3);
      border-radius: 6px;
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 0px 0px;
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc content */
    .md-toc-content {
      padding-top: 5px;
      padding-bottom: 8px;
      margin-top: 15px;
      margin-bottom: 0px;
    }
    
    /* remove outline when toc is selected */
    .md-toc:focus .md-toc-content {
      border: 0px;
      margin: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc item */
    .md-toc-item {
      margin: 2px;
    }
    
    /* toc edit panel */
    #write div.md-toc-tooltip {
      border: 0px;
      padding-left: 10px;
      padding-right: 10px;
      background-color: var(--bg-color3);
      border-top-left-radius: 6px;
      border-top-right-radius: 6px;
      opacity: 0;
      visibility: hidden;
      display: block !important;
      transition: 0.3s;
    }
    
    #write .md-toc:focus div.md-toc-tooltip {
      visibility: visible;
      opacity: 1;
    }
    
    #write .md-toc:focus {
      border-top-left-radius: 0px;
      border-top-right-radius: 0px;
    }
    
    /* toc delete button */
    .md-delete-toc {
      background-color: transparent;
    }
    
    /* html block */
    .md-htmlblock:hover .md-htmlblock-container {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
      border-top-right-radius: 0px;
    }
    
    /* search panel */
    #md-searchpanel {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* ignore case button and find whole word button */
    .searchpanel-search-option-btn {
      border: 0px;
    }
    
    /* button on search panel */
    #md-searchpanel .btn:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1) !important;
    }
    
    /* remove shadow around input in search panel*/
    #md-searchpanel input {
      box-shadow: none;
    }
    
    /* search option button hover */
    .searchpanel-search-option-btn:not(.active):hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1);
    }
    
    /* close button in search panel */
    #md-searchpanel .input-group-addon.close-btn {
      padding-left: 16px;
      padding-right: 16px;
    }
    
    /* replaceall button */
    .ty-replace-panel-row #search-panel-replaceall-btn {
      padding-left: 8px;
      padding-right: 6px !important;
    }
    
    /* replace button */
    .ty-replace-panel-row #search-panel-replace-btn {
      padding-left: 16px;
      padding-right: 16px;
    }
    
    /* sidebar */
    .sidebar-menu {
      color: var(--text-color2);
    }
    
    /* sidebar shadow */
    #typora-sidebar,
    .typora-node #typora-sidebar {
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* divider between file item and search */
    .ty-sidebar-search-panel {
      border-color: var(--menu-divider-color);
    }
    
    /* file item in sidebar */
    #file-library .file-list-item {
      border-bottom: 0px;
      opacity: 1;
      border-left: 4px solid;
      border-color: var(--bg-color2);
    }
    
    /* file item hover */
    #file-library .file-list-item:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
      border-color: var(--hover-bg-color1);
    }
    
    /* file item active */
    #file-library .file-list-item.active {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
      border-color: var(--hover-text-color);
    }
    
    /* suffix of file item*/
    .file-list-item-file-ext-part {
      opacity: 0.8;
    }
    
    /* sidebar file menu */
    #sidebar-files-menu {
      border: 0px;
      box-shadow: -2px -2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* sidebar file menu item */
    .dropdown-menu > li > a {
      color: var(--text-color2);
    }
    
    .dropdown-menu > li > a:hover {
      color: var(--hover-text-color);
    }
    
    /* sidebar file menu close button */
    #close-sidebar-menu-btn:hover {
      color: var(--hover-text-color);
    }
    
    /* sidebar file nemu divider */
    #sidebar-files-menu > .show + .menuitem-group-label.show {
      border-color: var(--menu-divider-color);
    }
    
    /* sidebar osx tab */
    .html-for-mac .sidebar-osx-tab > .sidebar-tabs {
      border: 0px;
      box-shadow: 0 4px 10px -5px rgba(0, 0, 0, 0.5);
    }
    
    .html-for-mac .sidebar-content {
      z-index: -1; /* so that the background doesn't overlap with the shadow */
    }
    
    /* sidebar footer */
    .sidebar-footer {
      border: 0px;
      box-shadow: 0 -4px 10px -5px rgba(0, 0, 0, 0.5);
    }
    
    /* remove outline when file item in treeview is selected*/
    .file-library-node:not(.file-node-root):focus > .file-node-content {
      outline: none;
    }
    
    /* sort button on sidebar file menu */
    .ty-side-sort-btn.active,
    .ty-side-sort-btn:hover {
      color: var(--hover-text-color);
    }
    
    /* setting */
    /* header in setting */
    .window-header {
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5) !important;
    }
    
    /* sidebar in setting */
    .sidebar {
      background-color: var(--bg-color2) !important;
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    .list-group-content {
      margin-left: 10px !important;
    }
    
    /* sidebar button in setting menu */
    .nav-group-item {
      color: var(--text-color2) !important;
      border-top-left-radius: 6px !important;
      border-bottom-left-radius: 6px !important;
      border-top-right-radius: 0px !important;
      border-bottom-right-radius: 0px !important;
    }
    
    /* sidebar button hover in setting menu */
    .nav-group-item:hover,
    .nav-group-item:active,
    .nav-group-item.active {
      background-color: var(--hover-bg-color1) !important;
      color: var(--hover-text-color) !important;
    }
    
    /* remove up and down button from number type input*/
    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none !important;
    }
    
    /* the indent example in setting.editor */
    div[data-index="2"] .label-input-group td:last-child div {
      border: 0px !important;
      border-radius: 6px;
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      margin: 10px !important;
    }
    
    /* button in setting menu */
    .ty-preferences button.btn-default {
      border: 0px;
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
    }
    
    /* button hover in setting menu */
    .ty-preferences .btn-default:not([disabled]):hover {
      background-color: var(--hover-bg-color1) !important;
    }
    
    /* return button in setting menu */
    .window-header button:hover {
      color: var(--text-color2) !important;
    }
    
    /* search input in setting menu */
    .search-input {
      border-top-left-radius: 6px !important;
      border-bottom-left-radius: 6px !important;
      border-top-right-radius: 0px !important;
      border-bottom-right-radius: 0px !important;
      margin-top: 10px !important;
      margin-bottom: 10px !important;
      margin-left: 10px !important;
    }
    
    .search-input:focus {
      border: none !important;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* select item (mostly in setting menu) */
    select {
      border: 0px;
      border-radius: 6px;
      background-color: var(--input-color) !important;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* enabled select item hover */
    select:not([disabled]):hover {
      color: var(--text-color2);
      opacity: 1;
    }
    
    /* disabled select item hover */
    select[disabled]:hover {
      opacity: 0.5;
    }
    
    /* mega menu */
    .megamenu-content,
    .megamenu-opened header {
      background: var(--bg-color1);
    }
    
    .megamenu-content {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .megamenu-opened .megamenu-content {
      visibility: visible;
      opacity: 1;
      animation: none;
    }
    
    /* mega menu sidebar*/
    .megamenu-menu {
      background-color: var(--bg-color2);
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* return button in mega menu */
    #megamenu-menu-sidebar .menu-style-btn {
      border: 0px;
    }
    
    /* remove divider in mega menu */
    .megamenu-menu-header {
      border-color: var(--menu-divider-color);
    }
    
    /* return button color in mega menu */
    .megamenu-menu-header #megamenu-menu-header-title {
      color: var(--text-color2);
    }
    
    /* return button hover in mega menu */
    .megamenu-menu-header:hover {
      background-color: var(--hover-bg-color1);
    }
    
    /* return button hover in mega menu */
    .megamenu-menu-header:hover #megamenu-menu-header-title {
      color: var(--hover-text-color);
    }
    
    /* long button in mega menu */
    .long-btn {
      border: 0px;
      background-color: var(--bg-color5);
      color: var(--text-color1);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      margin-bottom: 10px;
      margin-left: 10px;
    }
    
    /* recent file in mega menu */
    #recent-file-panel {
      padding: 10px;
    }
    
    #recent-document-table {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    #recent-file-panel-action-btn {
      background: var(--bg-color5);
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    #recent-file-panel thead tr {
      background-color: var(--table-thead-color);
    }
    
    #recent-file-panel tbody tr:nth-child(2n) {
      background-color: var(--table-bg-darker-color);
    }
    
    #recent-file-panel tbody tr:nth-child(2n + 1) {
      background-color: var(--table-bg-color);
    }
    
    #recent-file-panel-action-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--text-color2);
    }
    
    /* theme preview */
    .theme-preview-div {
      box-shadow: 10px 0px 10px rgba(0, 0, 0, 0.8);
    }
    
    /* theme preview hover */
    .theme-preview-div:hover {
      border-color: var(--theme-select-color);
    }
    
    /* context menu and spell check panel */
    .dropdown-menu:not(.megamenu-menu-list) {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* divider in context menu and spell check panel */
    .dropdown-menu .divider {
      border-color: var(--menu-divider-color);
    }
    
    /* remove divider outline */
    .dropdown-menu {
      border: 0px;
    }
    
    /* footer */
    footer.ty-footer {
      border-top: 0px !important;
      background-color: var(--bg-color2) !important;
      /*     color: var(--text-color2); */
      box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* footer item */
    .footer-item,
    #outline-btn,
    #footer-word-count {
      color: var(--text-color2);
      opacity: 1;
    }
    
    /* footer item hover */
    .footer-item:hover,
    #outline-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* button on some panel */
    .btn {
      border: 0px;
      outline-width: 0px !important;
    }
    
    .btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* traffic button hover */
    #top-titlebar .toolbar-icon.btn:hover {
      color: var(--text-color2);
      background-color: var(--hover-bg-color1);
    }
    
    /* traffic button hover */
    #top-titlebar #w-close:hover {
      background-color: #e81123 !important;
    }
    
    /* adjust maxmize restore button height */
    .typora-maxmized #w-restore {
      height: 24px;
    }
    
    /* left upper button hover */
    .ty-menu-btn-area:hover .ty-menu-btn-area-sub {
      color: var(--text-color2) !important;
    }
    
    /* scrollbar */
    ::-webkit-scrollbar {
      width: 8px;
      padding-right: 10px;
      background-color: rgba(0, 0, 0, 0);
    }
    
    /* scrollbar track */
    ::-webkit-scrollbar-track:hover {
      background-color: var(--scrollbar-track-color) !important;
      border-radius: 4px;
    }
    
    /* scrollbar thumb */
    ::-webkit-scrollbar-thumb,
    ::-webkit-scrollbar-thumb:active {
      background-color: var(--scrollbar-thumb-color) !important;
      border-radius: 4px;
    }
    
    /* tip when hover on a button */
    #ty-tooltip {
      background-color: var(--bg-color4);
      color: var(--text-color4);
    }
    
    /* item container hover in context menu */
    .menu-item-container:hover {
      background-color: var(--bg-color2);
    }
    
    /* item in context menu */
    .menu-item-container .menu-style-btn {
      border-color: var(--menu-divider-color);
    }
    
    /* mathjax edit panel*/
    .md-rawblock-before {
      border-top-left-radius: 6px;
    }
    
    .md-rawblock-after {
      border-bottom-left-radius: 6px;
      border-bottom-right-radius: 6px;
    }
    
    /* mathjax focus */
    .MathJax_SVG:focus {
      outline: none;
      background-color: transparent;
    }
    
    /* notification panel */
    #md-notification {
      background-color: var(--bg-color2) !important;
      color: var(--text-color2);
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    #ty-surpress-mode-warning-close-btn {
      float: unset !important;
      margin: 0px !important;
    }
    
    .unibody-window #md-notification p {
      bottom: -4px !important;
    }
    
    /* inline codeblock */
    code {
      font-size: 0.9em;
      background-color: var(--bg-color5);
      border-radius: 6px;
      padding: 4px 4px 4px 4px;
      margin: 0px 0px 0px 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* codeblock */
    .md-fences,
    .md-fences:active {
      background-color: var(--bg-color5);
      border-radius: 6px;
      padding: 8px 4px 8px 4px !important;
      margin-top: 15px;
      margin-bottom: 15px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    .md-fences .code-tooltip {
      display: block !important;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
      background-color: var(--bg-color3);
    }
    
    .md-fences.md-focus .code-tooltip {
      opacity: 1;
      visibility: visible;
    }
    
    .CodeMirror-lines {
      padding-left: 4px;
    }
    
    /* selected text and cursor */
    .CodeMirror-selected,
    .CodeMirror-selectedtext {
      background: var(--code-select-bg-color) !important;
    }
    
    .CodeMirror div.CodeMirror-cursor {
      border-left: 2px solid var(--code-cursor-color);
      z-index: 3;
    }
    
    .CodeMirror.cm-s-typora-default div.CodeMirror-cursor {
      border-left: 3px solid var(--code-cursor-color);
    }
    
    /* highlight */
    .cm-s-inner .cm-property {
      color: var(--code-blue-color) !important;
    }
    
    .cm-s-inner .cm-operator {
      color: var(--code-cyan-color) !important;
    }
    
    .cm-s-inner .cm-keyword {
      color: var(--code-purple-color) !important;
    }
    
    .cm-s-inner .cm-tag {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-inner .cm-attribute {
      color: var(--code-orange-color) !important;
    }
    
    .cm-s-inner .cm-string {
      color: var(--code-green-color) !important;
    }
    
    .cm-s-inner .cm-comment,
    .cm-s-inner.cm-comment {
      /*     color: var(--code-orange-color) !important; */
      color: var(--code-grey-color) !important;
      font-style: italic;
    }
    
    .cm-s-inner .cm-header,
    .cm-s-inner .cm-def,
    .cm-s-inner.cm-header,
    .cm-s-inner.cm-def {
      /*     color: var(--code-red-color) !important; */
      color: var(--code-blue-color) !important;
    }
    
    .cm-s-inner .cm-meta,
    .cm-s-inner .cm-qualifier {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-inner .cm-builtin {
      /*     color: var(--code-blue-color) !important; */
      color: var(--code-cyan-color) !important;
    }
    
    .cm-s-inner .cm-bracket {
      color: var(--text-color1) !important;
    }
    
    .cm-s-inner .cm-number {
      color: var(--code-orange-color) !important;
    }
    
    .cm-s-inner .cm-variable {
      color: var(--text-color1) !important;
    }
    
    .cm-s-inner .cm-variable-2 {
      /*     color: var(--code-blue-color) !important; */
      color: var(--code-yellow-color) !important;
    }
    
    .cm-s-typora-default .cm-header,
    .cm-s-typora-default .cm-property {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-typora-default .cm-string {
      /*     color: var(--code-blue-color); */
      color: var(--code-purple-color);
    }
    
    .cm-s-typora-default .cm-atom {
      color: var(--code-grey-color);
      font-style: italic;
    }
    
    .cm-s-typora-default .cm-number {
      color: var(--code-orange-color);
      font-style: normal !important;
    }
    
    .cm-s-typora-default .cm-link {
      color: var(--code-blue-color);
    }
    
    .cm-s-typora-default .CodeMirror-activeline-background {
      background: var(--hover-bg-color1);
    }
    
    .cm-s-typora-default .cm-comment,
    .cm-s-typora-default .cm-code {
      color: var(--code-purple-color);
    }
    
    .cm-s-typora-default .cm-tag {
      /*     color: var(--code-red-color); */
      color: var(--code-blue-color);
    }
    
    .cm-s-typora-default .cm-strong,
    .cm-s-typora-default .cm-em,
    .cm-s-typora-default .cm-del {
      /*     color: var(--code-green-color); */
      color: var(--code-orange-color);
    }
    
    .cm-s-typora-default .cm-block-start.cm-variable-2 {
      /*     color: var(--code-orange-color); */
      color: var(--code-red-color);
    }
    
    .cm-formatting-task .cm-formatting-task {
      color: var(--code-red-color);
    }
    
    /* math formula tag */
    .cm-s-inner .cm-atom,
    .cm-s-inner.cm-atom {
      color: var(--code-blue-color);
    }
    
    /* inline codeblock in source mode */
    .cm-s-typora-default .cm-comment {
      color: var(--code-green-color);
    }
    
    /* horizontal divider when language is markdown */
    .cm-s-inner .cm-hr {
      color: var(--text-color1);
    }
    
    /* variable type when language is c/cpp */
    .cm-s-inner .cm-variable-3 {
      color: var(--code-purple-color);
    }
    
    /* in pie chart and flowchart */
    .cm-s-inner .cm-quote,
    .cm-s-inner.cm-quote {
      color: var(--code-green-color);
    }
    
    /* unknown highlight keyword */
    .cm-s-inner .cm-link {
      color: var(--code-blue-color);
    }
    
    .cm-s-inner .cm-negative {
      color: #d95050;
    }
    
    .cm-s-inner .cm-positive {
      color: #50e650;
    }
    
    .cm-s-inner .cm-string-2 {
      color: #f50;
    }
    
    .CodeMirror-gutters {
      border-right: none;
    }
    
    /* focus mode */
    .on-focus-mode .md-end-block:not(.md-focus) .md-toc-item {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h1:not(.md-focus):before {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h2:not(.md-focus):before {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h1:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    .on-focus-mode #write h2:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    .on-focus-mode #write h3:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    /* YAML block */
    pre.md-meta-block,
    pre.md-meta-block:active {
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
      padding: 10px;
      padding-left: 20px;
      padding-right: 20px;
    }
    
    /* switch between different mode */
    #typora-source {
      display: block !important;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .typora-sourceview-on #typora-source {
      visibility: visible;
      opacity: 1;
    }
    
    #typora-source .CodeMirror-lines {
      max-width: 1200px;
      padding-left: 70px;
      padding-right: 70px;
    }
    
    #write {
      display: block !important;
      visibility: visible;
      opacity: 1;
      transition: 0.3s;
      max-width: 1200px;
      padding-left: 70px;
      padding-right: 70px;
    }
    
    .typora-sourceview-on #write {
      visibility: hidden;
      opacity: 0;
    }
    
    /* #md-searchpanel {
        visibility: hidden;
        opacity: 0;
        transition: 0.3s !important;
    }
    
    .on-search-panel-open #md-searchpanel {
        visibility: visible;
        opacity: 1;
    } */
    
    .uni-preference-panel {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .show-preference-panel .uni-preference-panel {
      visibility: visible;
      opacity: 1;
    }
    
    /* quick open menu */
    .typora-quick-open-item:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* insert table panel */
    .modal-content {
      border: 0px !important;
      border-radius: 6px !important;
    }
    
    .modal-content .btn-primary {
      background-color: transparent;
      color: var(--text-color1);
      outline-width: 0px;
      border: none;
      border-radius: 3px;
    }
    
    .modal-content .btn-default {
      background-color: var(--hover-bg-color1);
      border: none;
      border-radius: 3px;
    }
    
    .modal-content .btn-primary:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1);
    }
    
    .modal-content .form-control,
    .modal-content .form-control:focus {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* zoom  */
    #zoom-hint #zoom-hint-reset {
      color: var(--text-color1);
    }
    
    #zoom-hint .zoom-hint-button:hover {
      color: var(--hover-text-color) !important;
    }
    
    /* word count */
    #footer-word-count-info {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .ty-show-word-count #footer-word-count-info {
      visibility: visible;
      opacity: 1;
    }
    
    /* spell check */
    #spell-check-panel {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .ty-show-spell-check #spell-check-panel {
      visibility: visible;
      opacity: 1;
    }
    
    /* search result */
    .md-search-select {
      border: 2px solid rgb(69, 125, 255);
      box-sizing: content-box;
      color: var(--text-color1) !important;
    }
    
    .md-search-hit {
      background-color: var(--search-select-bg-color);
    }
    
    /* search panel message */
    #searchpanel-msg {
      background-color: var(--bg-color2);
      color: var(--text-color2);
    }
    
    .searchpanel-msg-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* language selection for codeblock */
    .auto-suggest-container {
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      background-color: var(--bg-color2);
    }
    
    /* sidebar outline item hover and active */
    .outline-item:hover {
      color: var(--hover-text-color);
    }
    
    .outline-label:hover {
      text-decoration: none;
    }
    
    .pin-outline .outline-active {
      color: var(--hover-text-color);
    }
    
    /* sidebar title hover */
    .info-panel-tab:hover {
      color: var(--hover-text-color) !important;
    }
    
    /* active file in sidebar file menu treeview */
    .file-tree-node.active > .file-node-background {
      background-color: var(--hover-bg-color1);
    }
    
    /* hover file in sidebar file menu treeview */
    .file-node-content:hover {
      cursor: pointer;
    }
    
    /* saved button in megamenu */
    #m-saved:hover {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      cursor: default;
    }
    
    /* mermaid flowchart */
    .node rect,
    .node circle,
    .node ellipse,
    .node polygon,
    .node path {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .edgePath .path {
      stroke: var(--menu-divider-color) !important;
    }
    
    .edgePath .arrowheadPath {
      fill: var(--menu-divider-color) !important;
    }
    
    .label {
      color: var(--text-color1) !important;
    }
    
    .edgeLabel rect {
      fill: transparent !important;
    }
    
    .cluster rect {
      fill: var(--bg-color5) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    /* mermaid sequence*/
    rect.actor {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    text.actor tspan {
      fill: var(--text-color1) !important;
    }
    
    #crosshead path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    #arrowhead path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .messageLine0,
    .messageLine1 {
      stroke: var(--menu-divider-color) !important;
    }
    
    .messageText {
      fill: var(--text-color1) !important;
    }
    
    rect[class*="activation"] {
      fill: var(--bg-color2) !important;
    }
    
    .actor-line {
      stroke-width: 1px !important;
    }
    
    .labelBox {
      fill: var(--bg-color2) !important;
      stroke: rgb(150, 150, 150) !important;
    }
    
    .labelText {
      fill: var(--text-color1) !important;
    }
    
    .loopText,
    .loopText tspan
    {
      fill: var(--text-color1) !important;
    }
    
    .loopLine {
      stroke: rgb(180, 180, 180) !important;
    }
    
    .note {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .noteText tspan {
      fill: var(--text-color1) !important;
    }
    
    rect.rect {
      fill: var(--bg-color3);
    }
    
    /* mermaid class */
    g.classGroup text {
      fill: var(--text-color1) !important;
    }
    
    g.classGroup rect {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color2) !important;
    }
    
    g.classGroup line {
      stroke: var(--menu-divider-color) !important;
    }
    
    .classLabel .label {
      fill: var(--text-color1) !important;
    }
    
    .relation {
      stroke: var(--menu-divider-color) !important;
    }
    
    #compositionStart path,
    #compositionEnd path,
    #aggregationStart path,
    #aggregationEnd path,
    #dependencyStart path,
    #dependencyStart path,
    #extensionStart path,
    #extensionEnd path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .cardinality text {
      fill: var(--text-color1) !important;
    }
    
    .classLabel rect {
      fill: var(--bg-color3) !important;
    }
    
    /* mermaid state v1 */
    .stateGroup rect,
    .stateGroup line {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .stateGroup text {
      fill: var(--text-color1) !important;
    }
    
    .stateGroup circle {
      fill: var(--bg-color4) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .stateGroup .composit {
      /*   fill: rgb(36,40,47) !important; */
      fill: hsl(218, 13%, 17%) !important;
    }
    
    .stateGroup .alt-composit {
      /*   fill: rgb(36,40,47) !important; */
      fill: hsl(218, 13%, 16.5%) !important;
    }
    
    .state-note rect {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .state-note text {
      fill: var(--text-color1) !important;
    }
    
    .stateLabel text {
      fill: var(--text-color1) !important;
    }
    
    .stateLabel rect {
      fill: var(--bg-color3) !important;
    }
    
    #dependencyEnd {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    /* mermaid state v2 */
    circle.state-start {
      fill: var(--bg-color4) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    circle.state-end {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color4) !important;
    }
    
    .divider {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color5) !important;
      fill: hsl(218, 13%, 13.5%) !important;
    }
    
    rect.fork-join {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .title-state {
      fill: var(--bg-color2) !important;
    }
    
    .statediagram-cluster .outer {
      fill: var(--bg-color3) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .cluster-label span {
      color: var(--text-color1);
    }
    
    .statediagram-cluster .inner {
      /*   fill: var(--bg-color2) !important; */
      fill: hsl(218, 13%, 16.5%) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .statediagram-cluster-alt .inner {
      /*   fill: var(--bg-color5) !important; */
      fill: hsl(218, 13%, 16%) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .transition {
      stroke: var(--menu-divider-color) !important;
    }
    
    #statediagram-barbEnd {
      fill: var(--menu-divider-color) !important;
    }
    
    /* mermaid erDiagram */
    rect.er.entityBox {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    text.er.entityLabel {
      fill: var(--text-color1) !important;
    }
    
    #ONLY_ONE_START path,
    #ONLY_ONE_END path,
    #ZERO_OR_ONE_START path,
    #ZERO_OR_ONE_END path,
    #ONE_OR_MORE_START path,
    #ONE_OR_MORE_END path,
    #ZERO_OR_MORE_START path,
    #ZERO_OR_MORE_END path {
      stroke: var(--menu-divider-color) !important;
    }
    
    #ZERO_OR_ONE_START circle,
    #ZERO_OR_ONE_END circle,
    #ZERO_OR_MORE_START circle,
    #ZERO_OR_MORE_END circle {
      fill: var(--bg-color) !important;
    }
    
    path.er.relationshipLine {
      stroke: var(--menu-divider-color) !important;
    }
    
    rect.er.relationshipLabelBox {
      fill: var(--bg-color3) !important;
    }
    
    text.er.relationshipLabel {
      fill: var(--text-color1) !important;
    }
    
    /* mermaid journey */
    .journey-section {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .task {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1px !important;
    }
    
    #arrowhead {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 0.3px !important;
    }
    
    text.legend {
      fill: var(--text-color1) !important;
    }
    
    pre[mermaid-type="journey"] svg > line {
      stroke: var(--menu-divider-color) !important;
      stroke-width: 2px !important;
    }
    
    pre[mermaid-type="journey"] svg > text {
      fill: var(--text-color1) !important;
    }
    
    .task-line {
      stroke: var(--menu-divider-color) !important;
    }
    
    circle.face {
      fill: var(--bg-color1) !important;
      stroke: var(--text-color1) !important;
    }
    
    circle.face + g > circle {
      fill: var(--text-color1) !important;
      stroke: var(--text-color1) !important;
    }
    
    path.mouth,
    line.mouth {
      stroke: var(--text-color1) !important;
    }
    
    /* mermaid gantt */
    text.sectionTitle tspan{
      fill: var(--text-color1) !important;
    }
    
    .section0,
    .section2 {
      fill: var(--bg-color4) !important;
    }
    
    .section1,
    .section3 {
      fill: var(--table-bg-color) !important;
    }
    
    .task0,
    .task1,
    .task2,
    .task3 {
      fill: rgb(80, 84, 90) !important;
      stroke: rgb(80, 84, 90) !important;
    }
    
    taskText0,
    .taskText1,
    .taskText2,
    .taskText3 {
      fill: var(--text-color2) !important;
    }
    
    .active0,
    .active1,
    .active2,
    .active3 {
      fill: rgb(100, 104, 110) !important;
      stroke: rgb(100, 104, 110) !important;
    }
    
    .activeText0,
    .activeText1,
    .activeText2,
    .activeText3 {
      fill: var(--text-color2) !important;
    }
    
    .done0,
    .done1,
    .done2,
    .done3 {
      fill: rgb(48, 51, 58) !important;
      stroke: rgb(48, 51, 58) !important;
    }
    
    .crit0,
    .crit1,
    .crit2,
    .crit3 {
      fill: rgb(150, 150, 150) !important;
      stroke: var(--text-color1) !important;
    }
    
    .activeCrit0,
    .activeCrit1,
    .activeCrit2,
    .activeCrit3 {
      fill: rgb(100, 104, 110) !important;
      stroke: var(--text-color1) !important;
    }
    
    .doneCrit0,
    .doneCrit1,
    .doneCrit2,
    .doneCrit3 {
      fill: rgb(48, 51, 58) !important;
      stroke: var(--text-color1) !important;
    }
    
    .taskTextOutside0,
    .taskTextOutside1,
    .taskTextOutside2,
    .taskTextOutside3 {
      fill: var(--text-color1) !important;
    }
    
    .grid text {
      fill: var(--text-color1) !important;
    }
    
    .today {
      stroke: var(--text-color1) !important;
    }
    
    /* mermaid pie chart */
    .pieTitleText {
      fill: var(--text-color1) !important;
    }
    
    
    g.legend > text {
      fill: var(--text-color1) !important;
    }
    
    g.legend > rect {
      stroke: var(--bg-color) !important;
    }
    
    g > path {
      stroke: var(--bg-color) !important;
    }
    
    g > text.slice {
      fill: var(--bg-color) !important;
    }
    
    /* flow diagram */
    .md-fences[lang="flow"] .md-diagram-panel-preview rect {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="flow"] .md-diagram-panel-preview path {
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="flow"] #cond {
      fill: var(--bg-color2) !important;
    }
    
    /* sequence diagram */
    .md-fences[lang="sequence"] .md-diagram-panel-preview rect:not([fill="none"]) {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="sequence"] .md-diagram-panel-preview path {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="sequence"] text,
    .md-fences[lang="flow"] text {
      font-family: "Consolas" !important;
    }
    
    /* remove box shadow when not edit graph */
    .md-fences[lang="sequence"]:not(.md-focus),
    .md-fences[lang="mermaid"]:not(.md-focus),
    .md-fences[lang="flow"]:not(.md-focus) {
      box-shadow: none;
    }
    
    /* remove border when edit graph */
    .md-diagram-panel {
      border: none !important;
    }
    
    kbd {
      background: var(--bg-color5);
      color: var(--text-color1);
      font-family: "Lucida Console";
      border-color: var(--menu-divider-color);
      box-shadow: 0 2px 0 var(--menu-divider-color);
    }
    
    /* new export menu in setting */
    .export-detail {
      color: var(--text-color1) !important;
      background: transparent !important;
    }
    
    .export-item.active {
      background: var(--hover-bg-color1) !important;
      border-radius: 6px !important;
    }
    
    .export-detail textarea{
      background: var(--bg-color5);
      border: none;
      border-radius: 6px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    .export-items-list-control {
      background: var(--bg-color2) !important;
      border-radius: 6px !important;
    }
    
    .icon-dot-3:before {
      color: var(--text-color1);
      z-index: 1;
    }
    
    .row.text-input select {
      width: 510px !important;
    }
  • 在Typora中使用“霞骛文楷”字体

    在Typora中使用“霞骛文楷”字体

    一直非常喜欢霞骛文楷的字体,这个站点为了使用这个字体甚至不惜牺牲了加载速度。现在终于找到了在Typora中使用这个字体的方法。

    步骤如下:

    • 在Typora的主题文件夹中新建一个==xiawu.css==文件;
    • 将以下代码复制到文件中保存;
    • 主题选择==xiawu==
    :root {
      /* dark color for background*/
      /* default color */
      --bg-color1: hsl(220, 13%, 18%);
      /* for most panel, context, header, etc */
      --bg-color2: rgb(33, 37, 43);
      /* for toc and table edit panel */
      --bg-color3: rgba(16, 17, 20, 0.5);
      /* for tips */
      --bg-color4: black;
      /* for blockquote, codeblock, input, etc */
      --bg-color5: rgb(29, 31, 35);
      /* light color for text and icon*/
      /* default color */
      --text-color1: hsl(220, 6%, 71%);
      /* for text on panel */
      --text-color2: rgb(220, 220, 220);
      /* for checkbox and radio */
      --text-color3: hsl(192, 6%, 40%);
      /* for tips */
      --text-color4: white;
      /* for focus mode */
      --text-color5: rgba(170, 178, 180, 0.5);
      /* link color */
      --link-color: rgb(197, 202, 210);
      /* table color */
      --table-border-color: rgb(100, 104, 116);
      --table-thead-color: rgb(31, 35, 40);
      --table-bg-color: rgb(40, 44, 52);
      --table-bg-darker-color: rgb(35, 40, 46);
      /* hover color */
      /* default hover background color */
      --hover-bg-color1: rgb(62, 66, 73);
      /* for input item */
      --hover-bg-color2: hsl(220, 9%, 14%);
      /* for button on toc and table edit panel */
      --hover-bg-color3: rgba(62, 66, 73, 0.8);
      /* default hover text color */
      --hover-text-color: white;
      /* active color */
      --active-color: var(--hover-bg-color1);
      /* input color */
      --input-color: rgb(29, 31, 35);
      /* menu divider color */
      /*   --menu-divider-color: rgb(95, 97, 101); */
      --menu-divider-color: hsl(220, 5%, 40%);
      /* scrollbar color */
      --scrollbar-thumb-color: var(--menu-divider-color);
      --scrollbar-track-color: rgba(95, 97, 101, 0.3);
      /* theme select color */
      --theme-select-color: rgba(255, 255, 255, 0.5);
      --button-color: rgb(62, 66, 73);
      --select-color: rgb(33, 37, 43);
      /* focus color */
      --focus-color: rgba(100, 100, 100, 0.8);
      --focus-ring-color: var(--focus-color);
      /* codeblock color */
      --code-red-color: hsl(355, 65%, 65%);
      --code-yellow-color: hsl(39, 67%, 69%);
      --code-cyan-color: hsl(187, 47%, 55%);
      --code-blue-color: hsl(207, 82%, 66%);
      --code-purple-color: hsl(286, 60%, 67%);
      --code-orange-color: hsl(29, 54%, 61%);
      --code-green-color: hsl(95, 38%, 62%);
      --code-grey-color: hsl(220, 9%, 55%);
    
      --code-select-bg-color: rgb(59,68,84);
      --code-cursor-color: hsl(220, 100%, 66%);
      /* implicit selecttion text bg color */
      --select-text-bg-color: rgb(64,72,89);
      /* implicit button color */
      --primary-color: var(--button-color);
      --primary-btn-border-color: transparent;
      --primary-btn-text-color: var(--text-color2);
      /* implicit sidebar color */
      --side-bar-bg-color: var(--bg-color2);
      --control-text-color: var(--text-color2);
      /* implicit text color */
      --text-color: var(--text-color1);
      /* implicit background color for setting menu */
      --bg-color: var(--bg-color1);
      /* implicit hover color */
      --item-hover-bg-color: var(--hover-bg-color1);
      --item-hover-text-color: var(--hover-text-color);
      /* implicit active color */
      --active-file-bg-color: var(--hover-bg-color);
      /* implicit mathjax edit panel background color */
      --rawblock-edit-panel-bd: var(--bg-color5);
      /* implicit focus mode color */
      --blur-text-color: var(--text-color5);
      /* implicit search result select color */
      --search-select-bg-color: rgb(56, 71, 95);
    
      --control-text-hover-color: var(--hover-text-color);
      /* implicit active file color in sidebar file menu treeview */
      --active-file-text-color: var(--hover-text-color);
      --active-file-border-color: var(--hover-text-color);
    
      --node-border: var(--menu-divider-color);
      --node-fill: var(--bg-color2);
      /* implicit border color in export menu of setting */
      --border-color: var(--menu-divider-color);
    }
    
    /* font */
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: normal;
      font-weight: normal;
      src: local("Open Sans Regular"), url("./onedark/400.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: italic;
      font-weight: normal;
      src: local("Open Sans Italic"), url("./onedark/400i.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: normal;
      font-weight: bold;
      src: local("Open Sans Bold"), url("./onedark/700.woff") format("woff");
    }
    
    @font-face {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;;
      font-style: italic;
      font-weight: bold;
      src: local("Open Sans Bold Italic"), url("./onedark/700i.woff") format("woff");
    }
    
    /* basic style */
    html {
      font-size: 16px;
    }
    
    body {
      font-family: "霞骛文楷","LXGW WenKai GB Screen", sans-serif;, "Clear Sans", "Helvetica Neue", Helvetica, Arial,
        sans-serif;
      color: var(--text-color1);
      background: var(--bg-color1);
      line-height: 1.6;
    }
    
    /* text selection background color */
    .in-text-selection {
      background-color: --select-text-bg-color;
    }
    
    /* link */
    #write a:not([role="menuitem"]) {
      color: var(--link-color) !important;
    }
    
    #write a:not([role="menuitem"]):hover {
      color: var(--hover-text-color) !important;
    }
    
    /* h1-h6 */
    #write h1,
    #write h2,
    #write h3,
    #write h4,
    #write h5,
    #write h6 {
      margin-top: 0.5em;
      margin-bottom: 0em;
      line-height: 1em;
      text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
      padding-top: 0.3em;
    }
    
    #write h1 {
      font-size: 2.5em;
      padding-bottom: 0.5em;
      border-bottom: 3px double var(--text-color5);
    
    }
    
    /* #write h1:before {
      content: "\00A7  ";
    }
     */
    #write h2 {
      font-size: 2em;
      padding-bottom: 0.5em;
      border-bottom: 3px double var(--text-color5);
    }
    
    /* #write h2:before {
      content: "\00A7  ";
    }
     */
    #write h3 {
      font-size: 1.75em;
      padding-bottom: 0.5em;
      border-bottom: 1px solid var(--text-color5);
    }
    
    #write h4 {
      font-size: 1.55em;
    }
    
    #write h5 {
      font-size: 1.35em;
    }
    
    #write h6 {
      font-size: 1.2em;
    }
    
    /* horizontal divider */
    hr {
      height: 1px;
      background-color: var(--text-color5);
      border: 0px;
    }
    
    /* list */
    ul,
    ol {
      padding-left: 30px;
    }
    
    /* blockquote */
    blockquote {
      border-left: 4px solid var(--text-color1);
      padding: 4px 15px;
      color: var(--text-color1);
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    blockquote blockquote {
      padding-right: 0em;
    }
    
    /* table */
    .md-rawblock > .md-rawblock-container table,
    .md-table-fig,
    .md-table-fig:active {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    table thead tr {
      background-color: var(--table-thead-color);
    }
    
    table tr th {
      font-weight: bold;
      border-left: 1px solid var(--table-border-color);
      border-right: 1px solid var(--table-border-color);
      text-align: left;
      margin: 0;
      padding: 6px 13px;
    }
    
    table tbody tr {
      border-top: 1px solid var(--table-border-color);
      margin: 0;
      padding: 0;
    }
    
    table tbody tr:nth-child(2n) {
      background-color: var(--table-bg-darker-color);
    }
    
    table tbody tr:nth-child(2n + 1) {
      background-color: var(--table-bg-color);
    }
    
    table tr td {
      border-left: 1px solid var(--table-border-color);
      border-right: 1px solid var(--table-border-color);
      text-align: left;
      margin: 0;
      padding: 6px 13px;
    }
    
    table tr th:first-child,
    table tr td:first-child {
      border-left-width: 0px;
    }
    
    table tr th:last-child,
    table tr td:last-child {
      border-right-width: 0px;
    }
    
    /* table edit panel */
    .ty-table-edit {
      background-color: var(--bg-color3);
      border: 0px;
      border-radius: 6px;
      padding-top: 2px;
      padding-bottom: 2px;
      padding-left: 6px;
      padding-right: 6px;
      margin-top: -29px !important;
    }
    
    /* button on table edit panel */
    .ty-table-edit button {
      background-color: transparent;
      color: var(--text-color2);
      border: 0px;
      margin-left: 0px !important;
    }
    
    /* button hover on table edit panel */
    .ty-table-edit button:hover {
      background-color: var(--hover-bg-color3);
      color: var(--hover-text-color);
    }
    
    /* adjusting table panel */
    .popover {
      background-color: var(--bg-color2);
      box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* arrow of adjusting table panel */
    .popover.bottom > .arrow:after {
      border-bottom-color: var(--bg-color2);
    }
    
    /* divider in adjust table panel */
    .md-grid-board-wrap .popover-title {
      border-top-color: var(--menu-divider-color);
    }
    
    /* grid size */
    .md-grid-board a {
      width: 15px;
      height: 15px;
    }
    
    /* existing thread grid */
    .md-grid-board tr[row="1"] .md-grid-ext {
      background-color: rgb(60, 60, 60);
    }
    
    /* not existing thread grid */
    .md-grid-board tr[row="1"] {
      background-color: rgb(220, 220, 220);
    }
    
    /* existing grid */
    .md-grid-board .md-grid-ext {
      background-color: rgb(120, 120, 120);
    }
    
    /* selected thread grid */
    .md-grid-board tr[row="1"] a.md-active,
    .md-grid-board tr[row="1"] a:hover {
      background-color: rgb(60, 60, 60);
    }
    
    /* selected grid */
    .md-grid-board a.md-active,
    .md-grid-board a:hover {
      border-color: var(--menu-divider-color);
      background-color: rgb(120, 120, 120);
    }
    
    /* task */
    .md-task-list-item > input {
      margin-left: -1.3em;
    }
    
    /* footnote */
    sup.md-footnote {
      color: var(--text-color1);
      background-color: var(--bg-color2);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* mathjax */
    /* .mathjax-block>.code-tooltip {
        bottom: .375rem;
    }
    .md-mathjax-midline {
        background: #fafafa;
    } */
    .md-inline-math script {
      color: var(--text-color1);
    }
    
    .on-focus-mode #write svg {
      opacity: 1;
    }
    
    .md-rawblock > .md-rawblock-container {
      transition: 0.5s;
    }
    
    .md-rawblock > .md-rawblock-tooltip {
      transition: 0.5s;
      display: block;
      visibility: hidden;
      opacity: 0;
    }
    
    .md-rawblock:hover > .md-rawblock-tooltip {
      transition: 0.5s;
      visibility: visible;
      opacity: 1;
      animation: none;
    }
    
    /* meta information of image */
    .md-image > .md-meta {
      border: 0px;
      padding: 2px 0px 0px 4px;
      font-size: 0.9em;
      color: var(--text-color1);
    }
    
    /* input */
    input {
      background-color: var(--input-color) !important;
      border: 0px !important;
      border-radius: 6px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* input hover */
    /* input:hover {
        background-color: var(--hover-bg-color2) !important;
    } */
    /* checkbox */
    input[type="checkbox"]:before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      vertical-align: middle;
      text-align: center;
      border: 0px;
      border-radius: 3px;
      background-color: var(--input-color);
      margin-top: -0.5rem;
      margin-left: -0.2rem;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* checkbox hover */
    input[type="checkbox"]:not([disabled]):not(:checked):hover:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--text-color3);
    }
    
    /* checkbox checked*/
    input[type="checkbox"]:checked:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--text-color2);
    }
    
    /* checkbox checked hover*/
    input[type="checkbox"]:checked:hover:before {
      content: "\2713";
      font-size: 0.9rem;
      line-height: 1.2rem;
      color: var(--hover-text-color);
    }
    
    /* radio */
    input[type="radio"]:before {
      content: "";
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      vertical-align: middle;
      text-align: center;
      border: 0px;
      border-radius: 0.55rem;
      background-color: var(--input-color);
      margin-top: -0.4rem;
      margin-left: -0.1rem;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* radio hover */
    input[type="radio"]:not([disabled]):not(:checked):hover:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--text-color3);
    }
    
    /* radio checked */
    input[type="radio"]:checked:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--text-color2);
    }
    
    /* radio checked hover*/
    input[type="radio"]:checked:before {
      content: "\25CF";
      font-size: 1rem;
      line-height: 1rem;
      color: var(--hover-text-color);
    }
    
    /* default focus style */
    :focus {
      outline-color: var(--focus-color);
    }
    
    /* exit source view button */
    .typora-sourceview-on #toggle-sourceview-btn {
      background-color: var(--bg-color2);
    }
    
    .typora-sourceview-on #toggle-sourceview-btn:hover {
      background-color: var(--hover-bg-color1);
    }
    
    /* shadow for image item*/
    .md-image img {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc */
    .md-toc {
      background-color: var(--bg-color3);
      border-radius: 6px;
      padding: 0px 0px 0px 0px;
      margin: 0px 0px 0px 0px;
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc content */
    .md-toc-content {
      padding-top: 5px;
      padding-bottom: 8px;
      margin-top: 15px;
      margin-bottom: 0px;
    }
    
    /* remove outline when toc is selected */
    .md-toc:focus .md-toc-content {
      border: 0px;
      margin: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* toc item */
    .md-toc-item {
      margin: 2px;
    }
    
    /* toc edit panel */
    #write div.md-toc-tooltip {
      border: 0px;
      padding-left: 10px;
      padding-right: 10px;
      background-color: var(--bg-color3);
      border-top-left-radius: 6px;
      border-top-right-radius: 6px;
      opacity: 0;
      visibility: hidden;
      display: block !important;
      transition: 0.3s;
    }
    
    #write .md-toc:focus div.md-toc-tooltip {
      visibility: visible;
      opacity: 1;
    }
    
    #write .md-toc:focus {
      border-top-left-radius: 0px;
      border-top-right-radius: 0px;
    }
    
    /* toc delete button */
    .md-delete-toc {
      background-color: transparent;
    }
    
    /* html block */
    .md-htmlblock:hover .md-htmlblock-container {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
      border-top-right-radius: 0px;
    }
    
    /* search panel */
    #md-searchpanel {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* ignore case button and find whole word button */
    .searchpanel-search-option-btn {
      border: 0px;
    }
    
    /* button on search panel */
    #md-searchpanel .btn:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1) !important;
    }
    
    /* remove shadow around input in search panel*/
    #md-searchpanel input {
      box-shadow: none;
    }
    
    /* search option button hover */
    .searchpanel-search-option-btn:not(.active):hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1);
    }
    
    /* close button in search panel */
    #md-searchpanel .input-group-addon.close-btn {
      padding-left: 16px;
      padding-right: 16px;
    }
    
    /* replaceall button */
    .ty-replace-panel-row #search-panel-replaceall-btn {
      padding-left: 8px;
      padding-right: 6px !important;
    }
    
    /* replace button */
    .ty-replace-panel-row #search-panel-replace-btn {
      padding-left: 16px;
      padding-right: 16px;
    }
    
    /* sidebar */
    .sidebar-menu {
      color: var(--text-color2);
    }
    
    /* sidebar shadow */
    #typora-sidebar,
    .typora-node #typora-sidebar {
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* divider between file item and search */
    .ty-sidebar-search-panel {
      border-color: var(--menu-divider-color);
    }
    
    /* file item in sidebar */
    #file-library .file-list-item {
      border-bottom: 0px;
      opacity: 1;
      border-left: 4px solid;
      border-color: var(--bg-color2);
    }
    
    /* file item hover */
    #file-library .file-list-item:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
      border-color: var(--hover-bg-color1);
    }
    
    /* file item active */
    #file-library .file-list-item.active {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
      border-color: var(--hover-text-color);
    }
    
    /* suffix of file item*/
    .file-list-item-file-ext-part {
      opacity: 0.8;
    }
    
    /* sidebar file menu */
    #sidebar-files-menu {
      border: 0px;
      box-shadow: -2px -2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* sidebar file menu item */
    .dropdown-menu > li > a {
      color: var(--text-color2);
    }
    
    .dropdown-menu > li > a:hover {
      color: var(--hover-text-color);
    }
    
    /* sidebar file menu close button */
    #close-sidebar-menu-btn:hover {
      color: var(--hover-text-color);
    }
    
    /* sidebar file nemu divider */
    #sidebar-files-menu > .show + .menuitem-group-label.show {
      border-color: var(--menu-divider-color);
    }
    
    /* sidebar osx tab */
    .html-for-mac .sidebar-osx-tab > .sidebar-tabs {
      border: 0px;
      box-shadow: 0 4px 10px -5px rgba(0, 0, 0, 0.5);
    }
    
    .html-for-mac .sidebar-content {
      z-index: -1; /* so that the background doesn't overlap with the shadow */
    }
    
    /* sidebar footer */
    .sidebar-footer {
      border: 0px;
      box-shadow: 0 -4px 10px -5px rgba(0, 0, 0, 0.5);
    }
    
    /* remove outline when file item in treeview is selected*/
    .file-library-node:not(.file-node-root):focus > .file-node-content {
      outline: none;
    }
    
    /* sort button on sidebar file menu */
    .ty-side-sort-btn.active,
    .ty-side-sort-btn:hover {
      color: var(--hover-text-color);
    }
    
    /* setting */
    /* header in setting */
    .window-header {
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5) !important;
    }
    
    /* sidebar in setting */
    .sidebar {
      background-color: var(--bg-color2) !important;
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    .list-group-content {
      margin-left: 10px !important;
    }
    
    /* sidebar button in setting menu */
    .nav-group-item {
      color: var(--text-color2) !important;
      border-top-left-radius: 6px !important;
      border-bottom-left-radius: 6px !important;
      border-top-right-radius: 0px !important;
      border-bottom-right-radius: 0px !important;
    }
    
    /* sidebar button hover in setting menu */
    .nav-group-item:hover,
    .nav-group-item:active,
    .nav-group-item.active {
      background-color: var(--hover-bg-color1) !important;
      color: var(--hover-text-color) !important;
    }
    
    /* remove up and down button from number type input*/
    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none !important;
    }
    
    /* the indent example in setting.editor */
    div[data-index="2"] .label-input-group td:last-child div {
      border: 0px !important;
      border-radius: 6px;
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      margin: 10px !important;
    }
    
    /* button in setting menu */
    .ty-preferences button.btn-default {
      border: 0px;
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
    }
    
    /* button hover in setting menu */
    .ty-preferences .btn-default:not([disabled]):hover {
      background-color: var(--hover-bg-color1) !important;
    }
    
    /* return button in setting menu */
    .window-header button:hover {
      color: var(--text-color2) !important;
    }
    
    /* search input in setting menu */
    .search-input {
      border-top-left-radius: 6px !important;
      border-bottom-left-radius: 6px !important;
      border-top-right-radius: 0px !important;
      border-bottom-right-radius: 0px !important;
      margin-top: 10px !important;
      margin-bottom: 10px !important;
      margin-left: 10px !important;
    }
    
    .search-input:focus {
      border: none !important;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* select item (mostly in setting menu) */
    select {
      border: 0px;
      border-radius: 6px;
      background-color: var(--input-color) !important;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* enabled select item hover */
    select:not([disabled]):hover {
      color: var(--text-color2);
      opacity: 1;
    }
    
    /* disabled select item hover */
    select[disabled]:hover {
      opacity: 0.5;
    }
    
    /* mega menu */
    .megamenu-content,
    .megamenu-opened header {
      background: var(--bg-color1);
    }
    
    .megamenu-content {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .megamenu-opened .megamenu-content {
      visibility: visible;
      opacity: 1;
      animation: none;
    }
    
    /* mega menu sidebar*/
    .megamenu-menu {
      background-color: var(--bg-color2);
      box-shadow: 3px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* return button in mega menu */
    #megamenu-menu-sidebar .menu-style-btn {
      border: 0px;
    }
    
    /* remove divider in mega menu */
    .megamenu-menu-header {
      border-color: var(--menu-divider-color);
    }
    
    /* return button color in mega menu */
    .megamenu-menu-header #megamenu-menu-header-title {
      color: var(--text-color2);
    }
    
    /* return button hover in mega menu */
    .megamenu-menu-header:hover {
      background-color: var(--hover-bg-color1);
    }
    
    /* return button hover in mega menu */
    .megamenu-menu-header:hover #megamenu-menu-header-title {
      color: var(--hover-text-color);
    }
    
    /* long button in mega menu */
    .long-btn {
      border: 0px;
      background-color: var(--bg-color5);
      color: var(--text-color1);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      margin-bottom: 10px;
      margin-left: 10px;
    }
    
    /* recent file in mega menu */
    #recent-file-panel {
      padding: 10px;
    }
    
    #recent-document-table {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    #recent-file-panel-action-btn {
      background: var(--bg-color5);
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    #recent-file-panel thead tr {
      background-color: var(--table-thead-color);
    }
    
    #recent-file-panel tbody tr:nth-child(2n) {
      background-color: var(--table-bg-darker-color);
    }
    
    #recent-file-panel tbody tr:nth-child(2n + 1) {
      background-color: var(--table-bg-color);
    }
    
    #recent-file-panel-action-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--text-color2);
    }
    
    /* theme preview */
    .theme-preview-div {
      box-shadow: 10px 0px 10px rgba(0, 0, 0, 0.8);
    }
    
    /* theme preview hover */
    .theme-preview-div:hover {
      border-color: var(--theme-select-color);
    }
    
    /* context menu and spell check panel */
    .dropdown-menu:not(.megamenu-menu-list) {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* divider in context menu and spell check panel */
    .dropdown-menu .divider {
      border-color: var(--menu-divider-color);
    }
    
    /* remove divider outline */
    .dropdown-menu {
      border: 0px;
    }
    
    /* footer */
    footer.ty-footer {
      border-top: 0px !important;
      background-color: var(--bg-color2) !important;
      /*     color: var(--text-color2); */
      box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.5);
    }
    
    /* footer item */
    .footer-item,
    #outline-btn,
    #footer-word-count {
      color: var(--text-color2);
      opacity: 1;
    }
    
    /* footer item hover */
    .footer-item:hover,
    #outline-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* button on some panel */
    .btn {
      border: 0px;
      outline-width: 0px !important;
    }
    
    .btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* traffic button hover */
    #top-titlebar .toolbar-icon.btn:hover {
      color: var(--text-color2);
      background-color: var(--hover-bg-color1);
    }
    
    /* traffic button hover */
    #top-titlebar #w-close:hover {
      background-color: #e81123 !important;
    }
    
    /* adjust maxmize restore button height */
    .typora-maxmized #w-restore {
      height: 24px;
    }
    
    /* left upper button hover */
    .ty-menu-btn-area:hover .ty-menu-btn-area-sub {
      color: var(--text-color2) !important;
    }
    
    /* scrollbar */
    ::-webkit-scrollbar {
      width: 8px;
      padding-right: 10px;
      background-color: rgba(0, 0, 0, 0);
    }
    
    /* scrollbar track */
    ::-webkit-scrollbar-track:hover {
      background-color: var(--scrollbar-track-color) !important;
      border-radius: 4px;
    }
    
    /* scrollbar thumb */
    ::-webkit-scrollbar-thumb,
    ::-webkit-scrollbar-thumb:active {
      background-color: var(--scrollbar-thumb-color) !important;
      border-radius: 4px;
    }
    
    /* tip when hover on a button */
    #ty-tooltip {
      background-color: var(--bg-color4);
      color: var(--text-color4);
    }
    
    /* item container hover in context menu */
    .menu-item-container:hover {
      background-color: var(--bg-color2);
    }
    
    /* item in context menu */
    .menu-item-container .menu-style-btn {
      border-color: var(--menu-divider-color);
    }
    
    /* mathjax edit panel*/
    .md-rawblock-before {
      border-top-left-radius: 6px;
    }
    
    .md-rawblock-after {
      border-bottom-left-radius: 6px;
      border-bottom-right-radius: 6px;
    }
    
    /* mathjax focus */
    .MathJax_SVG:focus {
      outline: none;
      background-color: transparent;
    }
    
    /* notification panel */
    #md-notification {
      background-color: var(--bg-color2) !important;
      color: var(--text-color2);
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);
    }
    
    #ty-surpress-mode-warning-close-btn {
      float: unset !important;
      margin: 0px !important;
    }
    
    .unibody-window #md-notification p {
      bottom: -4px !important;
    }
    
    /* inline codeblock */
    code {
      font-size: 0.9em;
      background-color: var(--bg-color5);
      border-radius: 6px;
      padding: 4px 4px 4px 4px;
      margin: 0px 0px 0px 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* codeblock */
    .md-fences,
    .md-fences:active {
      background-color: var(--bg-color5);
      border-radius: 6px;
      padding: 8px 4px 8px 4px !important;
      margin-top: 15px;
      margin-bottom: 15px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    .md-fences .code-tooltip {
      display: block !important;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
      background-color: var(--bg-color3);
    }
    
    .md-fences.md-focus .code-tooltip {
      opacity: 1;
      visibility: visible;
    }
    
    .CodeMirror-lines {
      padding-left: 4px;
    }
    
    /* selected text and cursor */
    .CodeMirror-selected,
    .CodeMirror-selectedtext {
      background: var(--code-select-bg-color) !important;
    }
    
    .CodeMirror div.CodeMirror-cursor {
      border-left: 2px solid var(--code-cursor-color);
      z-index: 3;
    }
    
    .CodeMirror.cm-s-typora-default div.CodeMirror-cursor {
      border-left: 3px solid var(--code-cursor-color);
    }
    
    /* highlight */
    .cm-s-inner .cm-property {
      color: var(--code-blue-color) !important;
    }
    
    .cm-s-inner .cm-operator {
      color: var(--code-cyan-color) !important;
    }
    
    .cm-s-inner .cm-keyword {
      color: var(--code-purple-color) !important;
    }
    
    .cm-s-inner .cm-tag {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-inner .cm-attribute {
      color: var(--code-orange-color) !important;
    }
    
    .cm-s-inner .cm-string {
      color: var(--code-green-color) !important;
    }
    
    .cm-s-inner .cm-comment,
    .cm-s-inner.cm-comment {
      /*     color: var(--code-orange-color) !important; */
      color: var(--code-grey-color) !important;
      font-style: italic;
    }
    
    .cm-s-inner .cm-header,
    .cm-s-inner .cm-def,
    .cm-s-inner.cm-header,
    .cm-s-inner.cm-def {
      /*     color: var(--code-red-color) !important; */
      color: var(--code-blue-color) !important;
    }
    
    .cm-s-inner .cm-meta,
    .cm-s-inner .cm-qualifier {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-inner .cm-builtin {
      /*     color: var(--code-blue-color) !important; */
      color: var(--code-cyan-color) !important;
    }
    
    .cm-s-inner .cm-bracket {
      color: var(--text-color1) !important;
    }
    
    .cm-s-inner .cm-number {
      color: var(--code-orange-color) !important;
    }
    
    .cm-s-inner .cm-variable {
      color: var(--text-color1) !important;
    }
    
    .cm-s-inner .cm-variable-2 {
      /*     color: var(--code-blue-color) !important; */
      color: var(--code-yellow-color) !important;
    }
    
    .cm-s-typora-default .cm-header,
    .cm-s-typora-default .cm-property {
      color: var(--code-red-color) !important;
    }
    
    .cm-s-typora-default .cm-string {
      /*     color: var(--code-blue-color); */
      color: var(--code-purple-color);
    }
    
    .cm-s-typora-default .cm-atom {
      color: var(--code-grey-color);
      font-style: italic;
    }
    
    .cm-s-typora-default .cm-number {
      color: var(--code-orange-color);
      font-style: normal !important;
    }
    
    .cm-s-typora-default .cm-link {
      color: var(--code-blue-color);
    }
    
    .cm-s-typora-default .CodeMirror-activeline-background {
      background: var(--hover-bg-color1);
    }
    
    .cm-s-typora-default .cm-comment,
    .cm-s-typora-default .cm-code {
      color: var(--code-purple-color);
    }
    
    .cm-s-typora-default .cm-tag {
      /*     color: var(--code-red-color); */
      color: var(--code-blue-color);
    }
    
    .cm-s-typora-default .cm-strong,
    .cm-s-typora-default .cm-em,
    .cm-s-typora-default .cm-del {
      /*     color: var(--code-green-color); */
      color: var(--code-orange-color);
    }
    
    .cm-s-typora-default .cm-block-start.cm-variable-2 {
      /*     color: var(--code-orange-color); */
      color: var(--code-red-color);
    }
    
    .cm-formatting-task .cm-formatting-task {
      color: var(--code-red-color);
    }
    
    /* math formula tag */
    .cm-s-inner .cm-atom,
    .cm-s-inner.cm-atom {
      color: var(--code-blue-color);
    }
    
    /* inline codeblock in source mode */
    .cm-s-typora-default .cm-comment {
      color: var(--code-green-color);
    }
    
    /* horizontal divider when language is markdown */
    .cm-s-inner .cm-hr {
      color: var(--text-color1);
    }
    
    /* variable type when language is c/cpp */
    .cm-s-inner .cm-variable-3 {
      color: var(--code-purple-color);
    }
    
    /* in pie chart and flowchart */
    .cm-s-inner .cm-quote,
    .cm-s-inner.cm-quote {
      color: var(--code-green-color);
    }
    
    /* unknown highlight keyword */
    .cm-s-inner .cm-link {
      color: var(--code-blue-color);
    }
    
    .cm-s-inner .cm-negative {
      color: #d95050;
    }
    
    .cm-s-inner .cm-positive {
      color: #50e650;
    }
    
    .cm-s-inner .cm-string-2 {
      color: #f50;
    }
    
    .CodeMirror-gutters {
      border-right: none;
    }
    
    /* focus mode */
    .on-focus-mode .md-end-block:not(.md-focus) .md-toc-item {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h1:not(.md-focus):before {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h2:not(.md-focus):before {
      opacity: 0.5;
    }
    
    .on-focus-mode #write h1:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    .on-focus-mode #write h2:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    .on-focus-mode #write h3:not(.md-focus) {
      border-color: var(--text-color5);
    }
    
    /* YAML block */
    pre.md-meta-block,
    pre.md-meta-block:active {
      background-color: var(--bg-color5);
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      border-radius: 6px;
      padding: 10px;
      padding-left: 20px;
      padding-right: 20px;
    }
    
    /* switch between different mode */
    #typora-source {
      display: block !important;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .typora-sourceview-on #typora-source {
      visibility: visible;
      opacity: 1;
    }
    
    #typora-source .CodeMirror-lines {
      max-width: 1200px;
      padding-left: 70px;
      padding-right: 70px;
    }
    
    #write {
      display: block !important;
      visibility: visible;
      opacity: 1;
      transition: 0.3s;
      max-width: 1200px;
      padding-left: 70px;
      padding-right: 70px;
    }
    
    .typora-sourceview-on #write {
      visibility: hidden;
      opacity: 0;
    }
    
    /* #md-searchpanel {
        visibility: hidden;
        opacity: 0;
        transition: 0.3s !important;
    }
    
    .on-search-panel-open #md-searchpanel {
        visibility: visible;
        opacity: 1;
    } */
    
    .uni-preference-panel {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .show-preference-panel .uni-preference-panel {
      visibility: visible;
      opacity: 1;
    }
    
    /* quick open menu */
    .typora-quick-open-item:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* insert table panel */
    .modal-content {
      border: 0px !important;
      border-radius: 6px !important;
    }
    
    .modal-content .btn-primary {
      background-color: transparent;
      color: var(--text-color1);
      outline-width: 0px;
      border: none;
      border-radius: 3px;
    }
    
    .modal-content .btn-default {
      background-color: var(--hover-bg-color1);
      border: none;
      border-radius: 3px;
    }
    
    .modal-content .btn-primary:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-bg-color1);
    }
    
    .modal-content .form-control,
    .modal-content .form-control:focus {
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* zoom  */
    #zoom-hint #zoom-hint-reset {
      color: var(--text-color1);
    }
    
    #zoom-hint .zoom-hint-button:hover {
      color: var(--hover-text-color) !important;
    }
    
    /* word count */
    #footer-word-count-info {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .ty-show-word-count #footer-word-count-info {
      visibility: visible;
      opacity: 1;
    }
    
    /* spell check */
    #spell-check-panel {
      display: block;
      visibility: hidden;
      opacity: 0;
      transition: 0.3s;
    }
    
    .ty-show-spell-check #spell-check-panel {
      visibility: visible;
      opacity: 1;
    }
    
    /* search result */
    .md-search-select {
      border: 2px solid rgb(69, 125, 255);
      box-sizing: content-box;
      color: var(--text-color1) !important;
    }
    
    .md-search-hit {
      background-color: var(--search-select-bg-color);
    }
    
    /* search panel message */
    #searchpanel-msg {
      background-color: var(--bg-color2);
      color: var(--text-color2);
    }
    
    .searchpanel-msg-btn:hover {
      background-color: var(--hover-bg-color1);
      color: var(--hover-text-color);
    }
    
    /* language selection for codeblock */
    .auto-suggest-container {
      border: 0px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
      background-color: var(--bg-color2);
    }
    
    /* sidebar outline item hover and active */
    .outline-item:hover {
      color: var(--hover-text-color);
    }
    
    .outline-label:hover {
      text-decoration: none;
    }
    
    .pin-outline .outline-active {
      color: var(--hover-text-color);
    }
    
    /* sidebar title hover */
    .info-panel-tab:hover {
      color: var(--hover-text-color) !important;
    }
    
    /* active file in sidebar file menu treeview */
    .file-tree-node.active > .file-node-background {
      background-color: var(--hover-bg-color1);
    }
    
    /* hover file in sidebar file menu treeview */
    .file-node-content:hover {
      cursor: pointer;
    }
    
    /* saved button in megamenu */
    #m-saved:hover {
      background-color: var(--bg-color2);
      color: var(--text-color2);
      cursor: default;
    }
    
    /* mermaid flowchart */
    .node rect,
    .node circle,
    .node ellipse,
    .node polygon,
    .node path {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .edgePath .path {
      stroke: var(--menu-divider-color) !important;
    }
    
    .edgePath .arrowheadPath {
      fill: var(--menu-divider-color) !important;
    }
    
    .label {
      color: var(--text-color1) !important;
    }
    
    .edgeLabel rect {
      fill: transparent !important;
    }
    
    .cluster rect {
      fill: var(--bg-color5) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    /* mermaid sequence*/
    rect.actor {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    text.actor tspan {
      fill: var(--text-color1) !important;
    }
    
    #crosshead path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    #arrowhead path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .messageLine0,
    .messageLine1 {
      stroke: var(--menu-divider-color) !important;
    }
    
    .messageText {
      fill: var(--text-color1) !important;
    }
    
    rect[class*="activation"] {
      fill: var(--bg-color2) !important;
    }
    
    .actor-line {
      stroke-width: 1px !important;
    }
    
    .labelBox {
      fill: var(--bg-color2) !important;
      stroke: rgb(150, 150, 150) !important;
    }
    
    .labelText {
      fill: var(--text-color1) !important;
    }
    
    .loopText,
    .loopText tspan
    {
      fill: var(--text-color1) !important;
    }
    
    .loopLine {
      stroke: rgb(180, 180, 180) !important;
    }
    
    .note {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .noteText tspan {
      fill: var(--text-color1) !important;
    }
    
    rect.rect {
      fill: var(--bg-color3);
    }
    
    /* mermaid class */
    g.classGroup text {
      fill: var(--text-color1) !important;
    }
    
    g.classGroup rect {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color2) !important;
    }
    
    g.classGroup line {
      stroke: var(--menu-divider-color) !important;
    }
    
    .classLabel .label {
      fill: var(--text-color1) !important;
    }
    
    .relation {
      stroke: var(--menu-divider-color) !important;
    }
    
    #compositionStart path,
    #compositionEnd path,
    #aggregationStart path,
    #aggregationEnd path,
    #dependencyStart path,
    #dependencyStart path,
    #extensionStart path,
    #extensionEnd path{
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .cardinality text {
      fill: var(--text-color1) !important;
    }
    
    .classLabel rect {
      fill: var(--bg-color3) !important;
    }
    
    /* mermaid state v1 */
    .stateGroup rect,
    .stateGroup line {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .stateGroup text {
      fill: var(--text-color1) !important;
    }
    
    .stateGroup circle {
      fill: var(--bg-color4) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .stateGroup .composit {
      /*   fill: rgb(36,40,47) !important; */
      fill: hsl(218, 13%, 17%) !important;
    }
    
    .stateGroup .alt-composit {
      /*   fill: rgb(36,40,47) !important; */
      fill: hsl(218, 13%, 16.5%) !important;
    }
    
    .state-note rect {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .state-note text {
      fill: var(--text-color1) !important;
    }
    
    .stateLabel text {
      fill: var(--text-color1) !important;
    }
    
    .stateLabel rect {
      fill: var(--bg-color3) !important;
    }
    
    #dependencyEnd {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    /* mermaid state v2 */
    circle.state-start {
      fill: var(--bg-color4) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    circle.state-end {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color4) !important;
    }
    
    .divider {
      stroke: var(--menu-divider-color) !important;
      fill: var(--bg-color5) !important;
      fill: hsl(218, 13%, 13.5%) !important;
    }
    
    rect.fork-join {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .title-state {
      fill: var(--bg-color2) !important;
    }
    
    .statediagram-cluster .outer {
      fill: var(--bg-color3) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .cluster-label span {
      color: var(--text-color1);
    }
    
    .statediagram-cluster .inner {
      /*   fill: var(--bg-color2) !important; */
      fill: hsl(218, 13%, 16.5%) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .statediagram-cluster-alt .inner {
      /*   fill: var(--bg-color5) !important; */
      fill: hsl(218, 13%, 16%) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .transition {
      stroke: var(--menu-divider-color) !important;
    }
    
    #statediagram-barbEnd {
      fill: var(--menu-divider-color) !important;
    }
    
    /* mermaid erDiagram */
    rect.er.entityBox {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    text.er.entityLabel {
      fill: var(--text-color1) !important;
    }
    
    #ONLY_ONE_START path,
    #ONLY_ONE_END path,
    #ZERO_OR_ONE_START path,
    #ZERO_OR_ONE_END path,
    #ONE_OR_MORE_START path,
    #ONE_OR_MORE_END path,
    #ZERO_OR_MORE_START path,
    #ZERO_OR_MORE_END path {
      stroke: var(--menu-divider-color) !important;
    }
    
    #ZERO_OR_ONE_START circle,
    #ZERO_OR_ONE_END circle,
    #ZERO_OR_MORE_START circle,
    #ZERO_OR_MORE_END circle {
      fill: var(--bg-color) !important;
    }
    
    path.er.relationshipLine {
      stroke: var(--menu-divider-color) !important;
    }
    
    rect.er.relationshipLabelBox {
      fill: var(--bg-color3) !important;
    }
    
    text.er.relationshipLabel {
      fill: var(--text-color1) !important;
    }
    
    /* mermaid journey */
    .journey-section {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
    }
    
    .task {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1px !important;
    }
    
    #arrowhead {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 0.3px !important;
    }
    
    text.legend {
      fill: var(--text-color1) !important;
    }
    
    pre[mermaid-type="journey"] svg > line {
      stroke: var(--menu-divider-color) !important;
      stroke-width: 2px !important;
    }
    
    pre[mermaid-type="journey"] svg > text {
      fill: var(--text-color1) !important;
    }
    
    .task-line {
      stroke: var(--menu-divider-color) !important;
    }
    
    circle.face {
      fill: var(--bg-color1) !important;
      stroke: var(--text-color1) !important;
    }
    
    circle.face + g > circle {
      fill: var(--text-color1) !important;
      stroke: var(--text-color1) !important;
    }
    
    path.mouth,
    line.mouth {
      stroke: var(--text-color1) !important;
    }
    
    /* mermaid gantt */
    text.sectionTitle tspan{
      fill: var(--text-color1) !important;
    }
    
    .section0,
    .section2 {
      fill: var(--bg-color4) !important;
    }
    
    .section1,
    .section3 {
      fill: var(--table-bg-color) !important;
    }
    
    .task0,
    .task1,
    .task2,
    .task3 {
      fill: rgb(80, 84, 90) !important;
      stroke: rgb(80, 84, 90) !important;
    }
    
    taskText0,
    .taskText1,
    .taskText2,
    .taskText3 {
      fill: var(--text-color2) !important;
    }
    
    .active0,
    .active1,
    .active2,
    .active3 {
      fill: rgb(100, 104, 110) !important;
      stroke: rgb(100, 104, 110) !important;
    }
    
    .activeText0,
    .activeText1,
    .activeText2,
    .activeText3 {
      fill: var(--text-color2) !important;
    }
    
    .done0,
    .done1,
    .done2,
    .done3 {
      fill: rgb(48, 51, 58) !important;
      stroke: rgb(48, 51, 58) !important;
    }
    
    .crit0,
    .crit1,
    .crit2,
    .crit3 {
      fill: rgb(150, 150, 150) !important;
      stroke: var(--text-color1) !important;
    }
    
    .activeCrit0,
    .activeCrit1,
    .activeCrit2,
    .activeCrit3 {
      fill: rgb(100, 104, 110) !important;
      stroke: var(--text-color1) !important;
    }
    
    .doneCrit0,
    .doneCrit1,
    .doneCrit2,
    .doneCrit3 {
      fill: rgb(48, 51, 58) !important;
      stroke: var(--text-color1) !important;
    }
    
    .taskTextOutside0,
    .taskTextOutside1,
    .taskTextOutside2,
    .taskTextOutside3 {
      fill: var(--text-color1) !important;
    }
    
    .grid text {
      fill: var(--text-color1) !important;
    }
    
    .today {
      stroke: var(--text-color1) !important;
    }
    
    /* mermaid pie chart */
    .pieTitleText {
      fill: var(--text-color1) !important;
    }
    
    
    g.legend > text {
      fill: var(--text-color1) !important;
    }
    
    g.legend > rect {
      stroke: var(--bg-color) !important;
    }
    
    g > path {
      stroke: var(--bg-color) !important;
    }
    
    g > text.slice {
      fill: var(--bg-color) !important;
    }
    
    /* flow diagram */
    .md-fences[lang="flow"] .md-diagram-panel-preview rect {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="flow"] .md-diagram-panel-preview path {
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="flow"] #cond {
      fill: var(--bg-color2) !important;
    }
    
    /* sequence diagram */
    .md-fences[lang="sequence"] .md-diagram-panel-preview rect:not([fill="none"]) {
      fill: var(--bg-color2) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="sequence"] .md-diagram-panel-preview path {
      fill: var(--menu-divider-color) !important;
      stroke: var(--menu-divider-color) !important;
      stroke-width: 1.2 !important;
    }
    
    .md-fences[lang="sequence"] text,
    .md-fences[lang="flow"] text {
      font-family: "Consolas" !important;
    }
    
    /* remove box shadow when not edit graph */
    .md-fences[lang="sequence"]:not(.md-focus),
    .md-fences[lang="mermaid"]:not(.md-focus),
    .md-fences[lang="flow"]:not(.md-focus) {
      box-shadow: none;
    }
    
    /* remove border when edit graph */
    .md-diagram-panel {
      border: none !important;
    }
    
    kbd {
      background: var(--bg-color5);
      color: var(--text-color1);
      font-family: "Lucida Console";
      border-color: var(--menu-divider-color);
      box-shadow: 0 2px 0 var(--menu-divider-color);
    }
    
    /* new export menu in setting */
    .export-detail {
      color: var(--text-color1) !important;
      background: transparent !important;
    }
    
    .export-item.active {
      background: var(--hover-bg-color1) !important;
      border-radius: 6px !important;
    }
    
    .export-detail textarea{
      background: var(--bg-color5);
      border: none;
      border-radius: 6px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    
    .export-items-list-control {
      background: var(--bg-color2) !important;
      border-radius: 6px !important;
    }
    
    .icon-dot-3:before {
      color: var(--text-color1);
      z-index: 1;
    }
    
    .row.text-input select {
      width: 510px !important;
    }
AI 助手