hexo-theme-ayeria 1.9.10 → 1.9.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/LICENSE +37 -37
  2. package/README.en.md +560 -560
  3. package/README.md +560 -560
  4. package/_config.yml +271 -271
  5. package/_scaffolds/post.md +8 -8
  6. package/index.js +11 -2
  7. package/languages/de.yml +39 -39
  8. package/languages/default.yml +40 -39
  9. package/languages/en.yml +40 -39
  10. package/languages/es.yml +39 -39
  11. package/languages/fr.yml +39 -39
  12. package/languages/ja.yml +39 -39
  13. package/languages/ko.yml +39 -39
  14. package/languages/nl.yml +39 -39
  15. package/languages/no.yml +39 -39
  16. package/languages/pt.yml +39 -39
  17. package/languages/ru.yml +39 -39
  18. package/languages/vi.yml +39 -39
  19. package/languages/zh-CN.yml +40 -39
  20. package/languages/zh-TW.yml +40 -39
  21. package/layout/_partial/ads.ejs +8 -8
  22. package/layout/_partial/after-footer.ejs +84 -84
  23. package/layout/_partial/archive-post.ejs +13 -13
  24. package/layout/_partial/archive.ejs +61 -61
  25. package/layout/_partial/article.ejs +94 -94
  26. package/layout/_partial/ayeria.ejs +53 -53
  27. package/layout/_partial/baidu-analytics.ejs +11 -11
  28. package/layout/_partial/broadcast.ejs +19 -19
  29. package/layout/_partial/float-btns.ejs +7 -7
  30. package/layout/_partial/footer.ejs +61 -61
  31. package/layout/_partial/google-analytics.ejs +10 -10
  32. package/layout/_partial/head.ejs +64 -68
  33. package/layout/_partial/katex.ejs +21 -21
  34. package/layout/_partial/lock.ejs +37 -37
  35. package/layout/_partial/mathjax.ejs +18 -18
  36. package/layout/_partial/modal.ejs +70 -76
  37. package/layout/_partial/music.ejs +15 -15
  38. package/layout/_partial/post/albums.ejs +16 -16
  39. package/layout/_partial/post/author.ejs +7 -7
  40. package/layout/_partial/post/busuanzi.ejs +4 -4
  41. package/layout/_partial/post/category.ejs +9 -9
  42. package/layout/_partial/post/clipboard.ejs +54 -54
  43. package/layout/_partial/post/date.ejs +2 -2
  44. package/layout/_partial/post/gallery.ejs +15 -15
  45. package/layout/_partial/post/giscus.ejs +40 -40
  46. package/layout/_partial/post/gitalk.ejs +12 -12
  47. package/layout/_partial/post/justifiedGallery.ejs +8 -8
  48. package/layout/_partial/post/nav.ejs +22 -22
  49. package/layout/_partial/post/search.ejs +3 -3
  50. package/layout/_partial/post/share.ejs +53 -53
  51. package/layout/_partial/post/tag.ejs +5 -5
  52. package/layout/_partial/post/title.ejs +16 -16
  53. package/layout/_partial/post/tocbot.ejs +6 -6
  54. package/layout/_partial/post/topping.ejs +2 -2
  55. package/layout/_partial/post/twikoo.ejs +7 -7
  56. package/layout/_partial/post/valine.ejs +48 -48
  57. package/layout/_partial/post/word.ejs +19 -19
  58. package/layout/_partial/sidebar.ejs +48 -33
  59. package/layout/_partial/viewer.ejs +105 -105
  60. package/layout/categories.ejs +8 -8
  61. package/layout/friends.ejs +19 -19
  62. package/layout/index.ejs +4 -4
  63. package/layout/layout.ejs +35 -30
  64. package/layout/page.ejs +2 -2
  65. package/layout/plain-page.ejs +4 -4
  66. package/layout/post.ejs +2 -2
  67. package/layout/tags.ejs +88 -88
  68. package/package.json +39 -39
  69. package/scripts/default_config.js +6 -6
  70. package/scripts/events/index.js +11 -11
  71. package/scripts/events/lib/hello.js +38 -38
  72. package/scripts/events/lib/merge-configs.js +28 -28
  73. package/scripts/filters/index.js +13 -13
  74. package/scripts/filters/meta_generator.js +17 -17
  75. package/scripts/helpers/ayeria-plus-vendors.js +9 -9
  76. package/scripts/helpers/category-tree.js +90 -90
  77. package/scripts/helpers/wordcount.js +39 -39
  78. package/scripts/lib/core.js +25 -25
  79. package/scripts/utils/join-path.js +12 -12
  80. package/scripts/utils/object.js +31 -31
  81. package/source/404.html +187 -187
  82. package/source/css/ayeria-layout.styl +48 -48
  83. package/source/css/clipboard.styl +37 -37
  84. package/source/css/custom.styl +17 -17
  85. package/source/css/fonts/remixicon.css +1816 -1816
  86. package/source/css/fonts/remixicon.svg +5329 -5329
  87. package/source/data/random-sentences.txt +2629 -141
  88. package/source/dist/main.css +1 -1
  89. package/source/dist/main.js +1 -1
  90. package/source/js/clickBoom1.js +152 -152
  91. package/source/js/clickBoom2.js +180 -180
  92. package/source/js/jquery-3.6.0.min.js +2 -2
  93. package/source/js/lazyload.min.js +7 -7
  94. package/source/js/search.js +126 -126
  95. package/source/js/random-sentences.js +0 -166
@@ -1 +1 @@
1
- html{line-height:1.15}h1{font-size:30px}h2{font-size:28px}h3{font-size:26px}h4{font-size:24px}h5{font-size:21px}h6{font-size:18px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]-moz-focusring,[type=reset]-moz-focusring,[type=submit]-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}*,:after,:before{box-sizing:border-box}body,html{height:100%}html{font-size:62.5%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body,html{-webkit-text-size-adjust:100%}body{position:relative;background-color:#fff;font-size:1.4rem;line-height:1.7;color:#403e3e;padding:0;margin:0;overflow-x:hidden;-moz-text-size-adjust:100%;text-size-adjust:100%}body.darkmode{background:#1c1f26}body.darkmode :not(font[color]):not(font[color] *):not(a):not(.highlight):not(.highlight *):not(pre):not(pre *){color:#d0d0d0}body.darkmode a{color:#80cfff}body.darkmode a:hover{color:#a8daff}body.darkmode .article-entry :not(pre)>code{background:#2e3440!important;color:#fc9!important}body.darkmode .archive-article-date,body.darkmode .archive-year-wrap .archive-year,body.darkmode .article-category .article-category-link,body.darkmode .article-date,body.darkmode .article-header .article-title,body.darkmode .article-tag-list:before,body.darkmode a.toc-link{color:#d0d0d0!important}body.darkmode .local-search-input{color:#aaa!important}body.darkmode .is-position-fixed{background-color:transparent}body.darkmode .v *{color:#aaa!important}body.darkmode .article-tag-list .article-tag-list-link{background:#3a3f4a!important;color:#ccc!important}body.darkmode #vcomments-box #vcomments{background-color:hsla(0,0%,100%,.05)!important}body.darkmode #vcomments-box #vcomments *{color:#d0d0d0!important}body.darkmode .v .vbtn{background-color:transparent!important}body.darkmode .v .vlist .vcard .vhead .vsys{border:1px solid #3b414c!important;background-color:transparent!important}body.darkmode input::-webkit-input-placeholder{color:#888}body.darkmode input::-moz-input-placeholder{color:#888}body.darkmode input::-ms-input-placeholder{color:#888}body.darkmode .article-entry blockquote{border-left-color:#4a9eff!important;color:#c8d3dc!important;background-color:rgba(74,158,255,.08)!important}body.darkmode img{filter:brightness(.8);transition:filter}body.darkmode #friends_link .friends_li a{background-color:hsla(0,0%,100%,.05);color:#d0d0d0}a{color:#0681d0}a:hover{color:#19a1f8}a:active{color:#067bc6}a.disabled{color:#adb5bd}dir,menu,ul{margin:0;padding:0}img{max-width:100%}button{outline:0;cursor:pointer}.archive-article-date,.archive-year-wrap .archive-year,.article-category .article-category-link,.article-date{text-decoration:none;color:#5c6b72}.archive-article-date:hover,.archive-year-wrap .archive-year:hover,.article-category .article-category-link:hover,.article-date:hover{color:#5c6b72}.archive-article-inner{border-radius:4px}.article-entry h1,.article-entry h2,.article-entry h3,.article-entry h4,.article-entry h5,.article-entry h6{margin:2.5rem 0 1.5rem}.article-entry hr{height:.1rem;background-color:#999;border:none;padding:0;margin:1.5rem 0}.article-entry strong{font-weight:700}.article-entry cite,.article-entry em{font-style:italic}.article-entry sub,.article-entry sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.article-entry sup{top:-.5rem}.article-entry sub{bottom:-.25rem}.article-entry small{font-size:85%}.article-entry abbr,.article-entry acronym{border-bottom:.1rem dotted #999}.article-entry dl,.article-entry ol,.article-entry ul{margin:1.5rem 0 1.5rem 2rem}.article-entry blockquote,.article-entry p,.article-entry table{margin:1.5rem 0}.article-entry img,.article-entry video{max-width:100%;height:auto;display:block;margin:auto}.article-entry iframe{border:none}.article-entry table{width:100%;max-width:70rem;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.article-entry table td,.article-entry table th{border:1px solid #dedede;padding:5px 10px}.article-entry table th{font-weight:700;text-align:center!important;background:rgba(158,188,226,.2);white-space:nowrap}.article-entry table td:first-child{white-space:nowrap}.article-entry blockquote{display:block;padding:0 1.5rem;width:100%;overflow:auto;border-left:.3rem solid #3d85c6;color:#2c3e50;background-color:rgba(61,133,198,.06);border-radius:4px}.article-entry blockquote>:first-child{margin-top:0}.article-entry blockquote>:last-child{margin-bottom:0}.article-entry blockquote footer cite:before{content:"—";padding:0 .5rem}#app{height:100%;width:100%;overflow:hidden}#app,.cover{position:relative}.cover{padding:0;margin-bottom:3rem;text-align:center}.cover .forkMe{position:absolute;z-index:999;top:0;right:0}.content.anim,.sidebar.anim{transition:all .3s ease-in-out}.content{position:relative;z-index:1;margin-left:0;height:100%;width:100%;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch}.content.on{margin-left:0!important}.sidebar{position:fixed;z-index:9;left:-8rem;bottom:0;width:8rem;height:100%;background-color:rgba(0,0,0,.8)}.sidebar.on{left:0}.float-btn{border:none;height:4rem;width:4rem;border-radius:50%;background-color:rgba(0,0,0,.5);color:#fff;display:flex;align-items:center;justify-content:center;transition:all .3s ease-in-out;opacity:.5;cursor:pointer}.float-btn>i{font-size:1.7rem}.float-btn:hover{opacity:1}.navbar-toggle{position:absolute;top:1.5rem;left:9.5rem}.navbar-toggle:before{content:"\ee09";font-family:remixicon;font-size:larger}.outer,.wrap{position:relative;width:100%;padding-right:1.5rem;padding-left:1.5rem;margin:auto;min-height:calc(100% - 157px)}.outer:after,.outer:before,.wrap:after,.wrap:before{content:"";display:table;clear:both}.local-search{width:100%}#main{position:relative}@media (min-width:768px){.cover{margin-bottom:0;height:100%}.outer,.wrap{width:70rem;padding-right:0;padding-left:0}.local-search{width:70rem}.content.on{transform:none}}@media (max-width:768px){.cover .forkMe{display:none}.content.on{margin-left:-1px!important}.navbar-toggle{transform:scale(1.1)}}.list-unstyled{list-style:none;padding-left:0;margin-left:0}.categories-box{max-width:100%;margin:1rem 0;padding:0}.cat-block{display:flex;align-items:flex-start;margin-bottom:3.5rem}.cat-block-left{flex-shrink:0;padding-right:2.5rem;padding-top:.1em}.cat-block-name{display:block;font-size:2.4rem;font-weight:600;line-height:1.3;text-decoration:none;color:inherit}.cat-block-name:hover{text-decoration:underline}.cat-block-total{display:block;margin-top:.35em;font-size:1.5rem;opacity:.45}.cat-block-right{position:relative;flex:1;min-width:0;padding-left:2.5rem}.cat-block-right:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:currentColor;opacity:.18}.cat-subtree{list-style:none;margin:0;padding:0}.cat-subtree .cat-subtree{position:relative;margin-left:.4em;padding-left:1.3em}.cat-subtree .cat-subtree:before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:1px;background:currentColor;opacity:.12}.cat-subitem{font-size:1.8rem;line-height:2.2}.cat-sublink{text-decoration:none;color:inherit}.cat-sublink:hover{text-decoration:underline}.cat-subcount{font-size:.85em;opacity:.45}@media (max-width:768px){.cat-block{flex-direction:column;margin-bottom:2.5rem}.cat-block-left{padding-right:0;margin-bottom:1rem}.cat-block-right{padding-left:1.5rem}}.archive-list-count:before,.tag-list-count:before{content:"("}.archive-list-count:after,.tag-list-count:after{content:")"}.tag-cloud{max-width:100%;margin:2rem 0;padding:0}.tag-cloud-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}.tag-cloud-stats{font-size:1.3rem;opacity:.5}.tag-cloud-stats strong{opacity:1}.tag-cloud-controls{gap:.75rem;flex-wrap:wrap}.tag-cloud-controls,.tag-cloud-search{display:flex;align-items:center}.tag-cloud-input{width:160px;height:36px;padding:0 .2rem;border:none;border-bottom:1px solid;border-radius:0;background:transparent;color:inherit;font-size:1.2rem;outline:none;opacity:.35;transition:opacity}.tag-cloud-input:focus{opacity:1}.tag-cloud-input::-moz-placeholder{color:currentColor;opacity:.5}.tag-cloud-input::placeholder{color:currentColor;opacity:.5}.tag-cloud-sort{display:flex;gap:.3rem}.tag-sort-btn{display:inline-flex;align-items:center;height:36px;padding:0 .7rem;border:none;border-bottom:1px solid transparent;background:none;color:inherit;font-size:1.2rem;cursor:pointer;opacity:.35;transition:opacity}.tag-sort-btn:hover{opacity:.65}.tag-sort-btn.is-active{opacity:1;font-weight:600;border-bottom-color:currentColor}.tag-cloud-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem}.tag-cloud-item{display:block;padding:.5em 0 .5em 1em;border-left:2px solid;text-decoration:none;color:inherit;opacity:.7;transition:opacity}.tag-cloud-item:hover{opacity:1}.tag-cloud-name{display:block;font-size:1.8rem;line-height:1.5}.tag-cloud-count{display:block;font-size:1.2rem;opacity:.45;line-height:1.5}.tag-cloud-empty{display:none;text-align:center;padding:3rem 1rem;margin:0;opacity:.5;font-size:1rem}@media (max-width:768px){.tag-cloud-header{flex-direction:column;align-items:flex-start}.tag-cloud-wrap{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.2rem}}.cover-frame{position:relative;min-width:100%;height:100vh}.cover-frame .bg-box{width:100%;height:100%}.cover-frame .bg-box>img{display:block;width:100vw;height:100vh;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.cover-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.cover-inner h1{font-size:7rem;margin:0;opacity:.95}.cover-inner #subtitle-box{font-size:3rem;margin:.5rem 0 1.5rem}.cover-inner,.cover-inner a{color:#fff;text-decoration:none}.cover-inner img,.cover-inner video{position:relative}.cover-inner .cover-logo{width:6rem}.cover-learn-more{position:absolute;z-index:1;bottom:10px;left:0;width:100%}.cover-learn-more a>i{font-size:3rem;color:#fff;animation:down 1s linear infinite}.cover-learn-more a>i:hover{color:#1e3e3f}.float_btns{position:sticky;bottom:10rem;right:50px;z-index:9996;display:flex;flex-direction:column;align-items:center;width:4rem;float:right}.click-effect-canvas{position:fixed;left:0;top:0;z-index:99999;pointer-events:none}.random-sentence{text-align:center;margin:0;padding:0;font-size:100%;color:inherit;font-style:normal;line-height:inherit}.random-sentence br{display:block;margin:.2rem 0}.word_count{margin-top:5px;color:#717f8c;padding-bottom:1rem;border-bottom:1px solid #efefef}@media (max-width:768px){.cover-inner{transform:translate(-50%,-70%);width:100%}.cover-inner h1{font-size:4.5rem}.cover-inner #subtitle-box{font-size:2rem}.float_btns{right:10px}}@keyframes down{0%{margin-bottom:0;opacity:1}to{margin-bottom:-15px;opacity:.1}}:root{--search-bg:#fff;--search-border:rgba(0,0,0,0.08);--search-shadow:rgba(0,0,0,0.12);--search-input-bg:#f5f6f8;--search-input-text:#333;--search-input-placeholder:#999;--search-title-color:#1a1a1a;--search-text-color:#555;--search-divider:#eee;--search-overlay:rgba(0,0,0,0.35);--search-close-bg:#e8e8e8;--search-close-hover:#d0d0d0;--search-close-color:#666}body.darkmode{--search-bg:#2a2f3a;--search-border:hsla(0,0%,100%,0.06);--search-shadow:rgba(0,0,0,0.4);--search-input-bg:#1c1f26;--search-input-text:#d0d0d0;--search-input-placeholder:#777;--search-title-color:#e0e0e0;--search-text-color:#aaa;--search-divider:#3b414c;--search-overlay:rgba(0,0,0,0.55);--search-close-bg:#3b414c;--search-close-hover:#4a5060;--search-close-color:#ccc}.search-form-wrap{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%;background:var(--search-overlay)!important;backdrop-filter:blur(10px);display:flex!important;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:9999;opacity:0;visibility:hidden;transition:opacity .25s ease}.search-form-wrap.on{top:0!important;opacity:1!important;visibility:visible}.local-search{position:relative;width:92%;max-width:580px;margin:0 auto;padding:0!important;background:var(--search-bg)!important;border-radius:14px;box-shadow:0 20px 60px var(--search-shadow),0 0 0 1px var(--search-border)!important;max-height:68vh;overflow:hidden!important;transform:translateY(-16px) scale(.97);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}.search-form-wrap.on .local-search{transform:translateY(0) scale(1);opacity:1}.local-search-input{display:block;width:100%!important;padding:1.2rem 3.2rem 1.2rem 1.6rem!important;margin:0;font-size:1.5rem!important;color:var(--search-input-text)!important;background:var(--search-input-bg)!important;border:none!important;border-bottom:1px solid var(--search-divider)!important;border-radius:14px;outline:none!important;box-sizing:border-box;transition:background-color}.local-search-input::-moz-placeholder{color:var(--search-input-placeholder)}.local-search-input::placeholder{color:var(--search-input-placeholder)}.local-search-close{position:absolute!important;top:.9rem!important;right:1rem!important;width:2.2rem!important;height:2.2rem!important;padding:0!important;border:none!important;border-radius:50%;background:var(--search-close-bg)!important;color:var(--search-close-color)!important;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color;z-index:2}.local-search-close:hover{background:var(--search-close-hover)!important}.local-search-close:before{font-size:130%!important}.local-search-result{position:relative;overflow-y:auto;max-height:calc(68vh - 4.4rem);padding:0 1.6rem;text-align:left;overscroll-behavior:contain}.search-result-list{list-style:none!important;margin:0!important;padding:0!important}.search-result-list li{padding:1.2rem 0!important;border-bottom:1px solid var(--search-divider)!important}.search-result-list li:last-child{border-bottom:none!important}.search-result-list li .search-result-title{font-size:1.5rem!important;font-weight:600!important;color:var(--search-title-color)!important;text-decoration:none;display:block;line-height:1.4}.search-result-list li .search-result-title:hover{color:#0681d0!important}.search-result-list li .search-result{color:var(--search-text-color)!important;font-size:1.3rem;line-height:1.6;padding-top:.4rem;margin:0;max-height:10rem;overflow:hidden}.search-result-list li em.search-keyword{font-style:normal;color:#e8590c!important;font-weight:600}body.darkmode .search-result-list li .search-result-title:hover{color:#80cfff!important}body.darkmode .search-result-list li em.search-keyword{color:#ffb347!important}.search-result-empty{padding:2.5rem 1rem!important;text-align:center}.search-result-empty p{color:var(--search-text-color)!important;font-size:1.4rem}@media (max-width:768px){.search-form-wrap{padding-top:6vh}.local-search{width:95%;max-height:80vh;border-radius:12px}.local-search-result{max-height:calc(80vh - 4.4rem)}}.article{padding:5rem 0 3rem;font-size:110%}.article .sea-center{text-align:center;color:#000}.article .sea-center:after{border-bottom:2px dashed #cce5ff;content:"";width:100px;display:block;margin:.2em auto 0;height:2px}.article-topping{display:inline-block;margin-left:10px;padding:0 10px;border-radius:4px;font-style:normal;font-size:12px;background-color:#ea434a;color:#fff;height:22px;line-height:24px;transform:translateY(-8px)}.article-meta:after,.article-meta:before{content:"";display:table;clear:both}.article-date:before{content:"\eaf2";margin-right:.15rem;font-family:remixicon;opacity:.5}.article-category{display:inline-block;margin-left:1.5rem}.article-category:before{content:"\efde";font-family:remixicon;margin-right:.15rem;opacity:.6}.archive-article-header+.article-category{margin-left:0}.article-entry{font-size:103%;margin-top:.5rem;line-height:1.6;color:#403e3e}.article-entry:after,.article-entry:before{content:"";display:table;clear:both}.article-entry .pullquote{text-align:left;width:45%;margin:0}.article-entry .pullquote.left{margin-left:.5em;margin-right:1em}.article-entry .pullquote.right{margin-right:.5em;margin-left:1em}.article-entry .caption{color:#999;display:block;font-size:.9em;margin-top:.5em;position:relative;text-align:center}.article-entry .video-container{position:relative;padding-top:56.25%;height:0;overflow:hidden}.article-entry .video-container embed,.article-entry .video-container iframe,.article-entry .video-container object{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:0}.article-header{position:relative}.article-header h1,.article-header h2{margin:0}.article-header .article-title{font-size:34px;border-left:4px solid #403e3e}.article-header .article-author,.article-header .article-title{display:block;margin-bottom:3rem;text-decoration:none;color:#403e3e;padding-left:2rem}.article-header .article-author{font-size:20px}.article-footer:after,.article-footer:before{content:"";display:table;clear:both}.declare{margin:0 0 1rem;padding-bottom:1rem;color:#999;border-bottom:1px solid #f6f6f6}.declare ul,.declare ul li{list-style:none}.article-tag-list{list-style:none;padding-left:0;margin:0}.article-tag-list:before{color:#5d5a5a;content:"\eec3";font-family:remixicon;margin-right:.5rem}.article-tag-list .article-tag-list-item{display:inline-block;padding-right:1rem}.article-tag-list .article-tag-list-link{font-size:11px;text-decoration:none;display:block;color:#fff;float:left;height:18px;line-height:18px;padding:0 8px;position:relative;border-radius:9px;background-color:#5d5a5a}.article-comment-link{float:right}.article-comment-link:before{content:"\ee0d";font-family:remixicon;padding-right:8px}.article-share-link{cursor:pointer;float:right;margin-left:20px}.article-share-link:before{content:"\ef76";font-family:remixicon;padding-right:6px}.article-nav{position:relative;padding-top:1.5rem;margin:1rem 0 2rem;border-top:.1rem solid #eee}.article-nav:after,.article-nav:before{content:"";display:table;clear:both}.article-nav-link{display:block;text-decoration:none}.article-nav-link:first-child{float:left}.article-nav-link:last-child{float:right;text-align:right}.article-nav-caption{color:#5c6b72}.article-nav-title{font-size:inherit}.article-share-box{position:absolute;display:none;background:#fff;border-radius:.4rem;box-shadow:1px 2px 10px rgba(0,0,0,.2);border-radius:3px;margin-left:-145px;overflow:hidden;z-index:1}.article-share-box.on{display:block}.article-share-input{width:100%;background:none;box-sizing:border-box;padding:0 1.5rem;outline:none;border:none;border-bottom:.1rem solid #999;height:3.6rem;line-height:3.6rem}.article-share-links:after,.article-share-links:before{content:"";display:table;clear:both}.article-share-facebook,.article-share-google,.article-share-pinterest,.article-share-twitter{position:relative;display:block;float:left;width:5rem;height:3.6rem;color:#403e3e;text-align:center;text-decoration:none}.article-share-facebook:before,.article-share-google:before,.article-share-pinterest:before,.article-share-twitter:before{font-size:20px;font-family:remixicon}.article-share-facebook:hover,.article-share-google:hover,.article-share-pinterest:hover,.article-share-twitter:hover{color:#fff}.article-share-twitter:before{content:"\f068"}.article-share-twitter:hover{background:#00aced;text-shadow:0 1px #008abe}.article-share-facebook:before{content:"\ec30"}.article-share-facebook:hover{background:#3b5998;text-shadow:0 1px #2f477a}.article-share-pinterest:before{content:"\eea8"}.article-share-pinterest:hover{background:#cb2027;text-shadow:0 1px #a21a1f}.article-share-google:before{content:"\ed15"}.article-share-google:hover{background:#dd4b39;text-shadow:0 1px #be3221}.pswp__caption__center{text-align:center!important}.tocbot{padding:20px;position:absolute;right:-28rem;top:14rem;font-size:80%;opacity:.95;max-width:255px;border-radius:8px}.tocbot>.toc-list{position:relative;overflow-x:hidden;overflow-y:scroll;max-height:70vh}.tocbot>.toc-list::-webkit-scrollbar{width:4px}>.toc-list::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:rgba(0,0,0,.2)}>.toc-list::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);border-radius:0;background:rgba(0,0,0,.1)}.toc-list{list-style:none;margin-left:0;padding-left:1rem}a.toc-link{height:100%;color:#172d3e;text-decoration:none;font-size:115%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all}.is-collapsed{max-height:0}.is-position-fixed{position:fixed!important;top:0;right:6rem;background-color:#fff;z-index:996}.toc-link:before{background-color:#cce5ff;content:" ";display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link:before{background-color:#3d85c6}.is-active-link{font-weight:700}@media (max-width:768px){.tocbot{display:none!important}}.article-gallery{position:relative}.article-gallery-photos{position:relative;overflow:hidden}.article-gallery-img{display:none;max-width:100%}.article-gallery-img:first-child{display:block}.article-gallery-img.loaded{position:absolute;display:block}.article-gallery-img img{display:block;max-width:100%;margin:0 auto}.article-albums{position:relative}.article-albums-photos{position:relative;display:flex;flex-wrap:wrap;list-style:none;padding-left:0;margin-left:0}.article-albums-photos:after,.article-albums-photos:before{content:"";display:table;clear:both}.article-albums-photos:after{content:"";flex-grow:999999999}.article-albums-photos .article-albums-item{position:relative;flex-grow:1;margin:.5rem;overflow:hidden}.article-albums-photos .article-albums-item img{-o-object-fit:cover;object-fit:cover;max-width:100%;min-width:100%;vertical-align:center}.article-albums-photos .article-albums-item .article-albums-caption{display:block;width:100%;padding:1rem 0;text-align:center}@media (min-width:576px){.article-albums-item img{height:32rem}.article-albums-item .article-albums-caption{position:absolute;bottom:0;left:0;width:100%;background-color:rgba(0,0,0,.5);background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);color:#fff;padding:1rem;opacity:0;transform:translateY(100%);transition:all .3s ease-in-out}.article-albums-item:hover .article-albums-caption{opacity:1;transform:translateY(0)}}@media (min-width:768px){.article-albums-item img{height:20rem}}.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;background:#adb5bd;opacity:1;margin:0;padding:0}.justified-gallery>a>a>img,.justified-gallery>a>a>svg,.justified-gallery>a>img,.justified-gallery>a>svg,.justified-gallery>div>a>img,.justified-gallery>div>a>svg,.justified-gallery>div>img,.justified-gallery>div>svg,.justified-gallery>figure>a>img,.justified-gallery>figure>a>svg,.justified-gallery>figure>img,.justified-gallery>figure>svg{position:absolute;top:50%;left:50%;margin:0;padding:0;border:none;opacity:1}.justified-gallery>a>.caption,.justified-gallery>div>.caption,.justified-gallery>figure>.caption{display:none;position:absolute;right:0;bottom:0;left:0;padding:1rem;background-color:rgba(0,0,0,.5);background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);color:#fff}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible,.justified-gallery>figure>.caption.caption-visible{display:initial}.justified-gallery>.jg-entry-visible{opacity:1;background:none}.justified-gallery>.jg-entry-visible>a>img,.justified-gallery>.jg-entry-visible>a>svg,.justified-gallery>.jg-entry-visible>img,.justified-gallery>.jg-entry-visible>svg{opacity:1;transition:opacity}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.jg-filtered>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;opacity:1;overflow:initial}.justified-gallery>.jg-filtered>span{display:inline-block;opacity:1;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px}.articles .article{padding:4.5rem 0}.articles .article:not(:last-child){border-bottom:.1rem solid #ddd}.articles .article-entry{margin-top:1rem;padding:0 2rem 2rem;border:1px dashed #dfdede}.articles .article-entry .article-more-link{display:inline-block;float:right;background-color:#403e3e;padding:.5rem 1rem;border-radius:4px;color:#fff!important;text-decoration:none}.articles .article-entry .article-gallery{margin-top:1.5rem}.articles .article-footer{margin-top:1rem}.archives-wrap{position:relative}.archives-wrap:after,.archives-wrap:before{content:"";display:table;clear:both}.archives-wrap:first-child{margin-top:3rem}.archives-wrap:last-child{margin-bottom:3rem}.archive-year-wrap{position:absolute;top:0;left:0;width:6rem}.archive-year-wrap .archive-year{position:relative;display:inline-block}.archive-year-wrap .archive-year:after{content:"";position:absolute;left:0;bottom:0;height:.15rem;background-color:#5c6b72;width:100%}.archives{margin-left:6rem;border-left:.1rem dashed #999;padding-left:3rem}.archives:after,.archives:before{content:"";display:table;clear:both}.archive-article-inner{margin-bottom:1.5rem}.archive-article-header{display:table-row}.archive-article-header>a,.archive-article-header>h2{display:table-cell}.archive-article-header h2{margin:0;padding-left:3rem}.archive-article-header h2 .archive-article-title{text-decoration:none;font-size:1.8rem}.archive-article-footer{margin-top:1.5rem}.archive-article-date{position:relative;display:block}.archive-article-date:before{content:"";position:absolute;top:50%;left:-3.5rem;margin-top:-.5rem;width:1rem;height:1rem;border-radius:1rem;background-color:#999}.page-type-title{margin:0;padding:3rem 0}.page-nav{margin:3rem auto 5rem;text-align:center;overflow:hidden;font-size:115%}.page-nav:after,.page-nav:before{content:"";display:table;clear:both}.page-nav a,.page-nav span{padding:1rem 1.5rem;line-height:1}.page-nav a{text-decoration:none}.page-nav .prev{float:left}.page-nav .next,.page-nav .prev{border-radius:6px;border:1px solid}.page-nav .next{float:right}.page-nav .page-number{display:inline-block}@media mq-mobile{.page-nav .page-number{display:none}}.page-nav .current{font-weight:700}.page-nav .space{color:#999}.footer{border-top:2px solid #f6f6f6;padding:3rem 0;font-size:115%}.footer .outer>ul{position:relative;display:flex;justify-content:center}.footer .outer>ul li{display:inline-block;padding:.3rem 0}.footer .outer>ul li a{text-decoration:none}.footer .outer>ul li .division{display:inline;margin:0 5px}.footer .outer>ul li i{margin:0 2px;font-style:normal;transform:translateY(2px)}.footer .outer>ul span{margin-right:6px}.heart_icon{display:inline-block;margin:0 .4rem;font-size:1em;color:red;animation:footerHeartBeat 1.2s infinite;animation-duration:1.2s;animation-timing-function:ease;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:footerHeartBeat}@keyframes footerHeartBeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}:root{--hl-bg:#f8f8f8;--hl-fg:#383a42;--hl-comment:green;--hl-keyword:#af00db;--hl-function:#795e26;--hl-string:#a31515;--hl-number:#098658;--hl-boolean:#00f;--hl-class:#267f99;--hl-variable:#001080;--hl-operator:#383a42;--hl-builtin:#267f99;--hl-property:#001080;--hl-tag:maroon;--hl-attribute:#e50000;--hl-gutter:#999;--inline-code-bg:#f0f2f5;--inline-code-text:#d63384}body.darkmode{--hl-bg:#1e1e1e;--hl-fg:#d4d4d4;--hl-comment:#6a9955;--hl-keyword:#c586c0;--hl-function:#dcdcaa;--hl-string:#ce9178;--hl-number:#b5cea8;--hl-boolean:#569cd6;--hl-class:#4ec9b0;--hl-variable:#9cdcfe;--hl-operator:#d4d4d4;--hl-builtin:#4ec9b0;--hl-property:#9cdcfe;--hl-tag:#569cd6;--hl-attribute:#9cdcfe;--hl-gutter:#858585;--inline-code-bg:#2e3440;--inline-code-text:#fc9}figure.highlight{position:relative;background:var(--hl-bg)!important;border-radius:5px;margin:20px 0;transition:background-color}.highlight{color:var(--hl-fg);font-size:1.4rem;margin:0;padding:0;overflow:auto;background:none}.highlight pre{font-family:Consolas,Monaco,Courier New,monospace;border:none;margin:0;padding:0 1.5rem;background:none}.highlight table{margin:0;width:auto;border:none}.highlight td{border:none;padding:0}.highlight .line{height:auto;line-height:1.5}.highlight .gutter pre{color:var(--hl-gutter);text-align:right;padding-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .keyword{color:var(--hl-keyword)}.highlight .function{color:var(--hl-function)}.highlight .string{color:var(--hl-string)}.highlight .number{color:var(--hl-number)}.highlight .boolean{color:var(--hl-boolean)}.highlight .comment{color:var(--hl-comment)}.highlight .class{color:var(--hl-class)}.highlight .variable{color:var(--hl-variable)}.highlight .operator{color:var(--hl-operator)}.highlight .builtin{color:var(--hl-builtin)}.highlight .property{color:var(--hl-property)}.highlight .tag{color:var(--hl-tag)}.highlight .attribute{color:var(--hl-attribute)}figure.highlight:before{position:absolute;top:0;right:1rem;padding:0 .5rem;font-size:1.2rem;line-height:2;color:var(--hl-gutter);text-transform:uppercase;pointer-events:none;opacity:.7;transition:opacity}figure.highlight:hover:before{opacity:0}figure.highlight.javascript:before,figure.highlight.js:before{content:"js"}figure.highlight.ts:before,figure.highlight.typescript:before{content:"ts"}figure.highlight.py:before,figure.highlight.python:before{content:"python"}figure.highlight.java:before{content:"java"}figure.highlight.c:before{content:"c"}figure.highlight.cpp:before{content:"c++"}figure.highlight.cs:before,figure.highlight.csharp:before{content:"c#"}figure.highlight.html:before{content:"html"}figure.highlight.css:before{content:"css"}figure.highlight.bash:before,figure.highlight.sh:before,figure.highlight.shell:before{content:"bash"}figure.highlight.json:before{content:"json"}figure.highlight.yaml:before,figure.highlight.yml:before{content:"yaml"}figure.highlight.xml:before{content:"xml"}figure.highlight.sql:before{content:"sql"}figure.highlight.php:before{content:"php"}figure.highlight.go:before{content:"go"}figure.highlight.rs:before,figure.highlight.rust:before{content:"rust"}figure.highlight.rb:before,figure.highlight.ruby:before{content:"ruby"}figure.highlight.swift:before{content:"swift"}figure.highlight.kotlin:before,figure.highlight.kt:before{content:"kotlin"}figure.highlight.markdown:before,figure.highlight.md:before{content:"md"}figure.highlight.diff:before{content:"diff"}figure.highlight.lua:before{content:"lua"}figure.highlight.powershell:before{content:"ps"}figure.highlight.plain:before,figure.highlight.plaintext:before,figure.highlight.text:before{content:"text"}figure.highlight.ini:before{content:"ini"}figure.highlight.toml:before{content:"toml"}figure.highlight.nginx:before{content:"nginx"}figure.highlight.dockerfile:before{content:"dockerfile"}.article-entry :not(pre)>code{background:var(--inline-code-bg)!important;color:var(--inline-code-text)!important;padding:.15em .4em;border-radius:3px;font-size:.9em;font-family:Consolas,Monaco,Courier New,monospace;transition:background-color .3s ease}.article-entry pre:not(figure.highlight pre){background:var(--hl-bg);border-radius:5px;padding:1.5rem;margin:2rem 0;overflow:auto;transition:background-color}.article-entry pre:not(figure.highlight pre) code{color:var(--hl-fg);font-family:Consolas,Monaco,Courier New,monospace;font-size:1.4rem;background:none!important;padding:0}.article-entry figure.highlight,.article-entry figure.highlight table,.article-entry figure.highlight td,.article-entry figure.highlight th,.article-entry figure.highlight tr{border:none!important}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace .pace-progress{position:fixed;z-index:2000;top:0;right:100%;width:100%;height:.2rem;background-color:#3d85c6}.pace-inactive{display:none}@media (max-width:768px){.pace{display:none}}.macbook{position:relative}.macbook .macbook-screen{position:relative;background-color:transparent;border-radius:1rem;border:1.25rem solid #fff;box-shadow:0 1rem 3rem rgba(0,0,0,.15),inset 0 0 .5rem rgba(0,0,0,.15)}.macbook .macbook-keyboard{display:none;position:relative;box-sizing:content-box;background-color:#fff;border-bottom:.75rem solid #f2f2f2;border-bottom-left-radius:50%;border-bottom-right-radius:50%;margin:-.5rem -5rem 0;height:.5rem;box-shadow:0 .5rem 3rem rgba(0,0,0,.15)}.macbook .macbook-keyboard:before{content:"";position:absolute;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#f2f2f2,#fff,#f2f2f2);box-shadow:inset 0 0 .1rem rgba(0,0,0,.05);width:20%;height:.3rem;border-radius:.125rem}@media (min-width:768px){.macbook .macbook-screen{border-width:2rem 1.25rem 1.25rem}.macbook .macbook-keyboard{display:block}}.macbook-wrap{padding:1rem 9rem}.scrolling-wrap{min-height:30rem;overflow:hidden}.scrolling{position:absolute;top:30rem;width:100%;animation:scrolling-animation 10s ease-in-out 1s infinite}@keyframes scrolling-animation{0%{top:0}10%{top:0;transform:translateY(0)}30%{transform:translateY(-35%)}60%{transform:translateY(-75%)}90%{transform:translateY(-100%)}to{transform:translateY(-100%)}}:root{--reward-bg:rgba(252,250,247,0.97);--reward-border:rgba(0,0,0,0.07);--reward-shadow:0 6px 24px rgba(0,0,0,0.09);--reward-text:#333;--reward-subtext:#777;--reward-overlay:rgba(0,0,0,0.45);--reward-tabs-track:rgba(0,0,0,0.06);--reward-tab-text:#666;--reward-tab-hover:rgba(0,0,0,0.05);--reward-tab-active-bg:#fff;--reward-tab-active-text:#333;--reward-tab-active-shadow:0 1px 4px rgba(0,0,0,0.13);--reward-qr-border:rgba(0,0,0,0.09);--reward-btn-bg:hsla(0,0%,100%,0.55);--reward-btn-border:rgba(0,0,0,0.11);--reward-btn-text:#555;--reward-btn-icon:#888;--reward-btn-shadow:0 2px 10px rgba(0,0,0,0.07);--reward-btn-hover-bg:hsla(0,0%,100%,0.8)}body.darkmode{--reward-bg:rgba(42,47,58,0.97);--reward-border:hsla(0,0%,100%,0.09);--reward-shadow:0 6px 24px rgba(0,0,0,0.45);--reward-text:#d0d0d0;--reward-subtext:#aaa;--reward-overlay:rgba(0,0,0,0.65);--reward-tabs-track:rgba(0,0,0,0.28);--reward-tab-text:#999;--reward-tab-hover:hsla(0,0%,100%,0.06);--reward-tab-active-bg:hsla(0,0%,100%,0.13);--reward-tab-active-text:#d0d0d0;--reward-tab-active-shadow:0 1px 4px rgba(0,0,0,0.45);--reward-qr-border:hsla(0,0%,100%,0.12);--reward-btn-bg:hsla(0,0%,100%,0.08);--reward-btn-border:hsla(0,0%,100%,0.13);--reward-btn-text:#ccc;--reward-btn-icon:#999;--reward-btn-shadow:0 2px 10px rgba(0,0,0,0.28);--reward-btn-hover-bg:hsla(0,0%,100%,0.14)}#mask{top:0;left:0;right:0;bottom:0;z-index:9998;background:var(--reward-overlay)}#mask,.reward-modal{position:fixed;display:none}.reward-modal{z-index:9999;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:380px;max-width:92vw;max-height:88vh;overflow-y:auto;padding:24px 24px 28px;background:var(--reward-bg);backdrop-filter:blur(16px);border:1px solid var(--reward-border);border-radius:12px;box-shadow:var(--reward-shadow);opacity:0;transition:opacity .25s ease}.reward-modal.visible{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}.reward-close{position:absolute;right:10px;top:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background;color:var(--reward-subtext)}.reward-close:hover{background:var(--reward-tab-hover)}.reward-close i{font-size:18px;color:var(--reward-subtext)}.reward-wording{text-align:center;font-size:14px;color:var(--reward-subtext);margin:4px 0 20px;line-height:1.5}.reward-wording i{margin-right:5px;color:var(--reward-subtext)}.reward-tabs{display:flex;gap:3px;justify-content:center;margin-bottom:20px;flex-wrap:wrap;background:var(--reward-tabs-track);border-radius:8px;padding:3px}.reward-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--reward-tab-text);font-size:13px;cursor:pointer;transition:background .2s ease;white-space:nowrap;font-family:inherit;line-height:1.4}.reward-tab:hover:not(.active){background:var(--reward-tab-hover)}.reward-tab.active{background:var(--reward-tab-active-bg);color:var(--reward-tab-active-text);font-weight:500;box-shadow:var(--reward-tab-active-shadow)}.reward-tab i{font-size:15px;color:inherit}.reward-panel{display:none;text-align:center;animation:rewardFadeIn .2s ease}.reward-panel.active{display:block}.reward-qrcode-wrap{display:inline-block;line-height:0;padding:6px;border:1px solid var(--reward-qr-border);border-radius:8px;background:#fff}body.darkmode .reward-qrcode-wrap{filter:none}.reward-qrcode{display:block;width:180px;height:180px}.reward-desc{margin:10px 0 0;font-size:13px;color:var(--reward-subtext)}.reward-link{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:7px 18px;background:var(--reward-tab-active-bg);box-shadow:var(--reward-tab-active-shadow);border:1px solid var(--reward-border);border-radius:6px;font-size:13px;font-weight:500;transition:opacity}.reward-link,.reward-link:hover{color:var(--reward-tab-active-text);text-decoration:none}.reward-link:hover{opacity:.8}#reward-out{position:relative;width:100%;text-align:center}#reward-btn,.reward-trigger{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 22px;margin:40px 0;font-size:14px;color:var(--reward-btn-text);background:var(--reward-btn-bg);backdrop-filter:blur(10px);border:1px solid var(--reward-btn-border);border-radius:19px;cursor:pointer;box-shadow:var(--reward-btn-shadow);transition:all;font-family:inherit;line-height:1}#reward-btn i,.reward-trigger i{color:var(--reward-btn-icon)}#reward-btn:hover,.reward-trigger:hover{background:var(--reward-btn-hover-bg);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.09)}.reward-chain-hint{text-align:center;font-size:13px;color:var(--reward-subtext);margin:0 0 10px}.reward-sub-tabs{display:inline-flex;gap:2px;justify-content:center;margin-bottom:14px;background:var(--reward-tabs-track);border-radius:6px;padding:2px}.reward-sub-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--reward-tab-text);font-size:12px;cursor:pointer;transition:background .2s ease;font-family:inherit;line-height:1.4}.reward-sub-tab:hover:not(.active){background:var(--reward-tab-hover)}.reward-sub-tab.active{background:var(--reward-tab-active-bg);color:var(--reward-tab-active-text);font-weight:500;box-shadow:var(--reward-tab-active-shadow)}.reward-sub-badge{font-size:10px;padding:1px 5px;border-radius:4px;background:rgba(0,0,0,.08);color:var(--reward-tab-text);line-height:1.3}body.darkmode .reward-sub-badge{background:hsla(0,0%,100%,.12)}.reward-sub-tab.active .reward-sub-badge{background:rgba(0,0,0,.08)}.reward-sub-panel{display:none;text-align:center;animation:rewardFadeIn .2s ease}.reward-sub-panel.active{display:block}@media (max-width:768px){.reward-modal{width:88vw;padding:20px 18px 24px}.reward-qrcode{width:160px;height:160px}}@media (max-width:480px){.reward-sub-tabs,.reward-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px;-webkit-overflow-scrolling:touch}.reward-qrcode{width:140px;height:140px}.reward-sub-tab{padding:4px 10px;font-size:12px}}@keyframes rewardFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:root{--share-wrap-bg:rgba(250,248,245,0.97);--share-wrap-border:rgba(0,0,0,0.07);--share-wrap-shadow:0 6px 20px rgba(0,0,0,0.07);--share-icon-color:#7a7060;--share-icon-bg-hover:rgba(0,0,0,0.04);--share-trigger-color:#0681d0;--share-trigger-icon:rgba(6,129,208,0.55);--share-modal-bg:rgba(252,250,247,0.97);--share-modal-border:rgba(0,0,0,0.07);--share-modal-shadow:0 8px 32px rgba(0,0,0,0.1);--share-modal-text:#555;--share-modal-close:rgba(0,0,0,0.2);--share-modal-close-hover:rgba(0,0,0,0.45);--share-mask-bg:rgba(0,0,0,0.4)}body.darkmode{--share-wrap-bg:rgba(42,47,58,0.97);--share-wrap-border:hsla(0,0%,100%,0.09);--share-wrap-shadow:0 6px 20px rgba(0,0,0,0.45);--share-icon-color:#999;--share-icon-bg-hover:hsla(0,0%,100%,0.06);--share-trigger-color:#80cfff;--share-trigger-icon:rgba(128,207,255,0.5);--share-modal-bg:rgba(42,47,58,0.99);--share-modal-border:hsla(0,0%,100%,0.09);--share-modal-shadow:0 8px 32px rgba(0,0,0,0.5);--share-modal-text:#d0d0d0;--share-modal-close:hsla(0,0%,100%,0.2);--share-modal-close-hover:hsla(0,0%,100%,0.45);--share-mask-bg:rgba(0,0,0,0.65)}.share-btn{float:right;position:relative}.share-outer{display:flex;justify-content:flex-end;border:none;text-shadow:none;text-decoration:none;width:auto;color:var(--share-trigger-color);height:28px;line-height:26px}.share-outer i{font-size:18px;margin-right:5px;color:var(--share-trigger-icon)}.share-outer:hover{transform:none;cursor:pointer}.share-wrap{min-height:20px;display:block;position:absolute;top:100%;right:0;z-index:10;width:220px;background:var(--share-wrap-bg);border:1px solid var(--share-wrap-border);border-radius:8px;box-shadow:var(--share-wrap-shadow);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease}.share-wrap.open{opacity:1;pointer-events:auto;transform:translateY(0)}.share-wrap:before{content:"";position:absolute;top:-5px;right:18px;width:10px;height:10px;transform:rotate(45deg);background:var(--share-wrap-bg);border-top:1px solid var(--share-wrap-border);border-left:1px solid var(--share-wrap-border);z-index:2}.share-wrap .arrow{display:none}.share-icons{display:flex;flex-wrap:wrap;padding:10px 8px}.share-icons,.share-icons a{justify-content:center;align-items:center}.share-icons a{border-radius:6px;display:inline-flex;margin:4px;transition:all;color:var(--share-icon-color);width:34px;height:34px;background:transparent;text-decoration:none}.share-icons a i{font-size:20px;color:inherit}.share-icons a:hover{background:var(--share-icon-bg-hover);transform:scale(1.1);text-decoration:none}.share-icons a.weibo:hover{color:#d81e06}.share-icons a.weixin:hover{color:#51c332}.share-icons a.qq:hover{color:#4cafe9}.share-icons a.douban:hover{color:#05b711}.share-icons a.twitter:hover{color:#00aced}.share-icons a.facebook:hover{color:#3b5998}.share-icons a.google:hover{color:#dd4b39}.share-icons a:active{transform:scale(.95)}.wx-share-modal{position:fixed;top:50%;left:50%;z-index:9999;width:220px;max-width:92vw;padding:28px 24px 24px;text-align:center;color:var(--share-modal-text);background:var(--share-modal-bg);backdrop-filter:blur(16px);border:1px solid var(--share-modal-border);border-radius:12px;box-shadow:var(--share-modal-shadow);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .3s ease}.wx-share-modal.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.wx-modal-close{position:absolute;right:10px;top:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background;color:var(--share-modal-close)}.wx-modal-close:hover{background:var(--share-icon-bg-hover);color:var(--share-modal-close-hover)}.wx-modal-close i{font-size:18px;color:inherit}.wx-modal-caption{margin:4px 0 16px;font-size:14px;color:var(--share-modal-text);line-height:1.5}.wx-qrcode-frame{display:inline-block;line-height:0;padding:8px;border:1px solid var(--share-modal-border);border-radius:8px}.wx-qrcode-img{display:block;width:150px;height:150px}#share-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:var(--share-mask-bg);z-index:999;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease}#share-mask.active{visibility:visible;opacity:1;pointer-events:auto}#friends_link .friends_li{list-style:none;float:left}#friends_link .friends_li a{padding:15px 25px;display:flex;align-items:center;justify-content:space-between;font-size:17px;text-decoration:none;background-color:rgba(6,129,208,.1);color:#000;border-radius:6px;margin-right:20px;margin-bottom:20px}#friends_link .friends_li a img{display:inline-block;width:40px;height:40px;border-radius:50%;margin-right:10px}#friends_link .friends_li a i{font-size:25px;width:40px;height:40px}#friends_link .friends_li a:hover{background-color:rgba(6,129,208,.15)}.ads{position:absolute;right:0;top:50px;z-index:2;transform:translateX(110%)}.ads li,.ads ul{list-style:none;padding-left:0;margin-left:0}.ads img{display:block;margin-bottom:15px}@media (max-width:768px){.ads{display:none}}.notice{--notice-bg:hsla(0,0%,98.4%,0.31);--notice-border:#e6e6e6;--notice-text:#969696;--notice-icon:#999;margin-top:50px;padding:20px;border:1px dashed var(--notice-border);color:var(--notice-text);position:relative;display:inline-block;width:100%;background:var(--notice-bg);border-radius:10px;transition:background-color .2s ease}.notice i{float:left;color:var(--notice-icon);font-size:16px;padding-right:10px;vertical-align:middle;margin-top:-2px}.notice-content{display:initial;vertical-align:middle}body.darkmode .notice{--notice-bg:hsla(0,0%,100%,0.08);--notice-border:hsla(0,0%,100%,0.35);--notice-text:#f0f0f0;--notice-icon:#ff9fb0}.navbar{position:relative;padding-top:3rem;text-align:center}.navbar .nav{list-style:none;padding-left:0;margin-left:0}.navbar .nav .nav-item-link{display:block;padding:1rem;color:#bbb;text-decoration:none;cursor:pointer}.navbar .nav .nav-item-link:hover{opacity:.8;background-color:#403e3e}.navbar .nav.nav-main{height:60vh;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.navbar .nav.nav-main::-webkit-scrollbar{width:0;height:0}.navbar .nav.nav-main .nav-item-link i{font-size:1rem;display:block;line-height:1}.navbar-bottom{position:absolute;bottom:0;width:100%;font-size:2rem}.logo{text-align:center;margin-bottom:2rem}.logo img{width:4.2rem}.totop{overflow:hidden;margin-bottom:.8rem}.totop:hover>i{animation:rocket .3s ease-in-out}@keyframes rocket{0%{transform:translateY(0);opacity:1}45%{transform:translateY(-4rem);opacity:0}55%{transform:translateY(4rem);opacity:0}to{transform:translateY(0);opacity:1}}.cover-inner h1,body{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.cover-inner h1{font-weight:700;letter-spacing:.25em;text-indent:.25em}.cover-inner #subtitle-box{font-weight:400}.article-header .article-title,.cover-inner #subtitle-box{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.article-header .article-title{font-weight:700}.article-entry{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.article-entry h1,.article-entry h2,.article-entry h3,.article-entry h4,.article-entry h5,.article-entry h6{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif;font-weight:700}.archive-article-date,.archive-year,.article-category,.article-date,.article-tag-list,.navbar,.word_count{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.archive-article-date,.archive-year,.article-category,.article-date,.article-tag-list,.word_count{font-weight:300}.archive-article-title{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.page-nav{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.cat-block-name{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif;font-weight:700}.cat-block-total,.cat-subitem{font-weight:300}.article-nav,.cat-block-total,.cat-subitem,.declare,.footer{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.declare{font-weight:300}.local-search-input,.random-sentence{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.random-sentence{font-weight:400}.article-topping{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}@media (max-width:768px){html{font-size:60%}}
1
+ :root{--color-bg:#fff;--color-text:#403e3e;--color-text-secondary:#999;--color-link:#0681d0;--color-link-hover:#19a1f8;--color-border:#999;--color-surface:#f4f4f4;--color-code-bg:#f0f2f5;--color-code-text:#d63384;--color-warning:#ea434a;--color-tag-bg:#5d5a5a;--color-tag-text:#fff;--image-brightness:brightness(1);--blockquote-bg:#f5f5f5;--input-placeholder:#ccc}body.darkmode{--color-bg:#1c1f26;--color-text:#d0d0d0;--color-text-secondary:#aaa;--color-link:#80cfff;--color-link-hover:#a8daff;--color-border:#3b414c;--color-surface:#2a2f3a;--color-code-bg:#2e3440;--color-code-text:#fc9;--color-warning:#ffb347;--color-tag-bg:#3a3f4a;--color-tag-text:#ccc;--image-brightness:brightness(0.8);--blockquote-bg:#252932;--input-placeholder:#888}html{line-height:1.15}h1{font-size:30px}h2{font-size:28px}h3{font-size:26px}h4{font-size:24px}h5{font-size:21px}h6{font-size:18px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]-moz-focusring,[type=reset]-moz-focusring,[type=submit]-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}*,:after,:before{box-sizing:border-box}body,html{height:100%}html{font-size:62.5%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body,html{-webkit-text-size-adjust:100%}body{position:relative;background-color:var(--color-bg);font-size:1.4rem;line-height:1.7;color:var(--color-text);padding:0;margin:0;overflow-x:hidden;-moz-text-size-adjust:100%;text-size-adjust:100%}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}a:active{color:#067bc6}a.disabled{color:#adb5bd}dir,menu,ul{margin:0;padding:0}img{max-width:100%;filter:var(--image-brightness);transition:filter}button{outline:0;cursor:pointer}input::-webkit-input-placeholder{color:var(--input-placeholder)}input::-moz-input-placeholder{color:var(--input-placeholder)}input::-ms-input-placeholder{color:var(--input-placeholder)}.archive-article-date,.archive-year-wrap .archive-year,.article-category .article-category-link,.article-date{text-decoration:none;color:var(--color-text-secondary)}.archive-article-date:hover,.archive-year-wrap .archive-year:hover,.article-category .article-category-link:hover,.article-date:hover{color:var(--color-text)}.archive-article-inner{border-radius:4px}.article-entry h1,.article-entry h2,.article-entry h3,.article-entry h4,.article-entry h5,.article-entry h6{margin:2.5rem 0 1.5rem}.article-entry hr{height:.1rem;background-color:var(--color-border);border:none;padding:0;margin:1.5rem 0}.article-entry strong{font-weight:700}.article-entry cite,.article-entry em{font-style:italic}.article-entry sub,.article-entry sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.article-entry sup{top:-.5rem}.article-entry sub{bottom:-.25rem}.article-entry small{font-size:85%}.article-entry abbr,.article-entry acronym{border-bottom:.1rem dotted var(--color-border)}.article-entry dl,.article-entry ol,.article-entry ul{margin:1.5rem 0 1.5rem 2rem}.article-entry blockquote,.article-entry p,.article-entry table{margin:1.5rem 0}.article-entry img,.article-entry video{max-width:100%;height:auto;display:block;margin:auto}.article-entry iframe{border:none}.article-entry table{width:100%;max-width:70rem;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.article-entry table td,.article-entry table th{border:1px solid #dedede;padding:5px 10px}.article-entry table th{font-weight:700;text-align:center!important;background:rgba(158,188,226,.2);white-space:nowrap}.article-entry table td:first-child{white-space:nowrap}.article-entry blockquote{display:block;padding:0 1.5rem;width:100%;overflow:auto;border-left:2px solid;color:inherit;background-color:var(--blockquote-bg);border-radius:0}.article-entry blockquote>:first-child{margin-top:0}.article-entry blockquote>:last-child{margin-bottom:0}.article-entry blockquote footer cite:before{content:"—";padding:0 .5rem}#app{height:100%;width:100%;overflow:hidden}#app,.cover{position:relative}.cover{padding:0;margin-bottom:3rem;text-align:center}.cover .forkMe{position:absolute;z-index:999;top:0;right:0}.content.anim,.sidebar.anim{transition:all .3s ease-in-out}.content{position:relative;z-index:1;margin-left:0;height:100%;width:100%;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch}.content.on{margin-left:0!important}.sidebar{position:fixed;z-index:9;left:-8rem;bottom:0;width:8rem;height:100%;background-color:rgba(0,0,0,.8)}.sidebar.on{left:0}.float-btn{border:none;height:4rem;width:4rem;border-radius:50%;background-color:rgba(0,0,0,.5);color:#fff;display:flex;align-items:center;justify-content:center;transition:all .3s ease-in-out;opacity:.5;cursor:pointer}.float-btn>i{font-size:1.7rem}.float-btn:hover{opacity:1}.navbar-toggle{position:absolute;top:1.5rem;left:9.5rem}.navbar-toggle:before{content:"\ee09";font-family:remixicon;font-size:larger}.outer,.wrap{position:relative;width:100%;padding-right:1.5rem;padding-left:1.5rem;margin:auto;min-height:calc(100% - 157px)}.outer:after,.outer:before,.wrap:after,.wrap:before{content:"";display:table;clear:both}.local-search{width:100%}#main{position:relative}@media (min-width:768px){.cover{margin-bottom:0;height:100%}.outer,.wrap{width:70rem;padding-right:0;padding-left:0}.local-search{width:70rem}.content.on{transform:none}}@media (max-width:768px){.cover .forkMe{display:none}.content.on{margin-left:-1px!important}.navbar-toggle{transform:scale(1.1)}}.list-unstyled{list-style:none;padding-left:0;margin-left:0}.categories-box{max-width:100%;margin:1rem 0;padding:0}.cat-block{display:flex;align-items:flex-start;margin-bottom:3.5rem}.cat-block-left{flex-shrink:0;padding-right:2.5rem;padding-top:.1em}.cat-block-name{display:block;font-size:2.4rem;font-weight:600;line-height:1.3;text-decoration:none;color:inherit}.cat-block-name:hover{text-decoration:underline}.cat-block-total{display:block;margin-top:.35em;font-size:1.5rem;opacity:.45}.cat-block-right{position:relative;flex:1;min-width:0;padding-left:2.5rem}.cat-block-right:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:currentColor;opacity:.18}.cat-subtree{list-style:none;margin:0;padding:0}.cat-subtree .cat-subtree{position:relative;margin-left:.4em;padding-left:1.3em}.cat-subtree .cat-subtree:before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:1px;background:currentColor;opacity:.12}.cat-subitem{font-size:1.8rem;line-height:2.2}.cat-sublink{text-decoration:none;color:inherit}.cat-sublink:hover{text-decoration:underline}.cat-subcount{font-size:.85em;opacity:.45}@media (max-width:768px){.cat-block{flex-direction:column;margin-bottom:2.5rem}.cat-block-left{padding-right:0;margin-bottom:1rem}.cat-block-right{padding-left:1.5rem}}.archive-list-count:before,.tag-list-count:before{content:"("}.archive-list-count:after,.tag-list-count:after{content:")"}.tag-cloud{max-width:100%;margin:2rem 0;padding:0}.tag-cloud-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}.tag-cloud-stats{font-size:1.3rem;opacity:.5}.tag-cloud-stats strong{opacity:1}.tag-cloud-controls{gap:.75rem;flex-wrap:wrap}.tag-cloud-controls,.tag-cloud-search{display:flex;align-items:center}.tag-cloud-input{width:160px;height:36px;padding:0 .2rem;border:none;border-bottom:1px solid;border-radius:0;background:transparent;color:inherit;font-size:1.2rem;outline:none;opacity:.35;transition:opacity}.tag-cloud-input:focus{opacity:1}.tag-cloud-input::-moz-placeholder{color:currentColor;opacity:.5}.tag-cloud-input::placeholder{color:currentColor;opacity:.5}.tag-cloud-sort{display:flex;gap:.3rem}.tag-sort-btn{display:inline-flex;align-items:center;height:36px;padding:0 .7rem;border:none;border-bottom:1px solid transparent;background:none;color:inherit;font-size:1.2rem;cursor:pointer;opacity:.35;transition:opacity}.tag-sort-btn:hover{opacity:.65}.tag-sort-btn.is-active{opacity:1;font-weight:600;border-bottom-color:currentColor}.tag-cloud-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem}.tag-cloud-item{display:block;padding:.5em 0 .5em 1em;border-left:2px solid;text-decoration:none;color:inherit;opacity:.7;transition:opacity}.tag-cloud-item:hover{opacity:1}.tag-cloud-name{display:block;font-size:1.8rem;line-height:1.5}.tag-cloud-count{display:block;font-size:1.2rem;opacity:.45;line-height:1.5}.tag-cloud-empty{display:none;text-align:center;padding:3rem 1rem;margin:0;opacity:.5;font-size:1rem}@media (max-width:768px){.tag-cloud-header{flex-direction:column;align-items:flex-start}.tag-cloud-wrap{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.2rem}}.cover-frame{position:relative;min-width:100%;height:100vh}.cover-frame .bg-box{width:100%;height:100%}.cover-frame .bg-box>img{display:block;width:100vw;height:100vh;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.cover-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.cover-inner h1{font-size:7rem;margin:0;opacity:.95}.cover-inner #subtitle-box{font-size:3rem;margin:.5rem 0 1.5rem}.cover-inner,.cover-inner a{color:#fff;text-decoration:none}.cover-inner img,.cover-inner video{position:relative}.cover-inner .cover-logo{width:6rem}.cover-learn-more{position:absolute;z-index:1;bottom:10px;left:0;width:100%}.cover-learn-more a>i{font-size:3rem;color:#fff;animation:down 1s linear infinite}.cover-learn-more a>i:hover{color:#1e3e3f}.float_btns{position:sticky;bottom:10rem;right:50px;z-index:9996;display:flex;flex-direction:column;align-items:center;width:4rem;float:right}.click-effect-canvas{position:fixed;left:0;top:0;z-index:99999;pointer-events:none}.random-sentence{text-align:center;margin:0;padding:0;font-size:100%;color:inherit;font-style:normal;line-height:inherit}.random-sentence br{display:block;margin:.2rem 0}.word_count{margin-top:5px;color:#717f8c;padding-bottom:1rem;border-bottom:1px solid #efefef}@media (max-width:768px){.cover-inner{transform:translate(-50%,-70%);width:100%}.cover-inner h1{font-size:4.5rem}.cover-inner #subtitle-box{font-size:2rem}.float_btns{right:10px}}@keyframes down{0%{margin-bottom:0;opacity:1}to{margin-bottom:-15px;opacity:.1}}:root{--search-bg:#fff;--search-border:rgba(0,0,0,0.08);--search-shadow:rgba(0,0,0,0.12);--search-input-bg:#f5f6f8;--search-input-text:#333;--search-input-placeholder:#999;--search-title-color:#1a1a1a;--search-text-color:#555;--search-divider:#eee;--search-overlay:rgba(0,0,0,0.35);--search-close-bg:#e8e8e8;--search-close-hover:#d0d0d0;--search-close-color:#666}body.darkmode{--search-bg:#2a2f3a;--search-border:hsla(0,0%,100%,0.06);--search-shadow:rgba(0,0,0,0.4);--search-input-bg:#1c1f26;--search-input-text:#d0d0d0;--search-input-placeholder:#777;--search-title-color:#e0e0e0;--search-text-color:#aaa;--search-divider:#3b414c;--search-overlay:rgba(0,0,0,0.55);--search-close-bg:#3b414c;--search-close-hover:#4a5060;--search-close-color:#ccc}.search-form-wrap{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%;background:var(--search-overlay)!important;backdrop-filter:blur(10px);display:flex!important;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:9999;opacity:0;visibility:hidden;transition:opacity .25s ease}.search-form-wrap.on{top:0!important;opacity:1!important;visibility:visible}.local-search{position:relative;width:92%;max-width:580px;margin:0 auto;padding:0!important;background:var(--search-bg)!important;border-radius:14px;box-shadow:0 20px 60px var(--search-shadow),0 0 0 1px var(--search-border)!important;max-height:68vh;overflow:hidden!important;transform:translateY(-16px) scale(.97);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}.search-form-wrap.on .local-search{transform:translateY(0) scale(1);opacity:1}.local-search-input{display:block;width:100%!important;padding:1.2rem 3.2rem 1.2rem 1.6rem!important;margin:0;font-size:1.5rem!important;color:var(--search-input-text)!important;background:var(--search-input-bg)!important;border:none!important;border-bottom:1px solid var(--search-divider)!important;border-radius:14px;outline:none!important;box-sizing:border-box;transition:background-color}.local-search-input::-moz-placeholder{color:var(--search-input-placeholder)}.local-search-input::placeholder{color:var(--search-input-placeholder)}.local-search-close{position:absolute!important;top:.9rem!important;right:1rem!important;width:2.2rem!important;height:2.2rem!important;padding:0!important;border:none!important;border-radius:50%;background:var(--search-close-bg)!important;color:var(--search-close-color)!important;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color;z-index:2}.local-search-close:hover{background:var(--search-close-hover)!important}.local-search-close:before{font-size:130%!important}.local-search-result{position:relative;overflow-y:auto;max-height:calc(68vh - 4.4rem);padding:0 1.6rem;text-align:left;overscroll-behavior:contain}.search-result-list{list-style:none!important;margin:0!important;padding:0!important}.search-result-list li{padding:1.2rem 0!important;border-bottom:1px solid var(--search-divider)!important}.search-result-list li:last-child{border-bottom:none!important}.search-result-list li .search-result-title{font-size:1.5rem!important;font-weight:600!important;color:var(--search-title-color)!important;text-decoration:none;display:block;line-height:1.4}.search-result-list li .search-result-title:hover{color:var(--color-link)!important}.search-result-list li .search-result{color:var(--search-text-color)!important;font-size:1.3rem;line-height:1.6;padding-top:.4rem;margin:0;max-height:10rem;overflow:hidden}.search-result-list li em.search-keyword{font-style:normal;color:var(--color-warning)!important;font-weight:600}body.darkmode .search-result-list li .search-result-title:hover{color:var(--color-link)!important}body.darkmode .search-result-list li em.search-keyword{color:var(--color-warning)!important}.search-result-empty{padding:2.5rem 1rem!important;text-align:center}.search-result-empty p{color:var(--search-text-color)!important;font-size:1.4rem}@media (max-width:768px){.search-form-wrap{padding-top:6vh}.local-search{width:95%;max-height:80vh;border-radius:12px}.local-search-result{max-height:calc(80vh - 4.4rem)}}.article{padding:5rem 0 3rem;font-size:110%}.article .sea-center{text-align:center;color:var(--color-text)}.article .sea-center:after{border-bottom:2px dashed #cce5ff;content:"";width:100px;display:block;margin:.2em auto 0;height:2px}.article-topping{display:inline-block;margin-left:10px;padding:0 10px;border-radius:4px;font-style:normal;font-size:12px;background-color:#ea434a;color:#fff;height:22px;line-height:24px;transform:translateY(-8px)}.article-meta:after,.article-meta:before{content:"";display:table;clear:both}.article-date:before{content:"\eaf2";margin-right:.15rem;font-family:remixicon;opacity:.5}.article-category{display:inline-block;margin-left:1.5rem}.article-category:before{content:"\efde";font-family:remixicon;margin-right:.15rem;opacity:.6}.archive-article-header+.article-category{margin-left:0}.article-entry{font-size:103%;margin-top:.5rem;line-height:1.6;color:var(--color-text)}.article-entry:after,.article-entry:before{content:"";display:table;clear:both}.article-entry .pullquote{text-align:left;width:45%;margin:0}.article-entry .pullquote.left{margin-left:.5em;margin-right:1em}.article-entry .pullquote.right{margin-right:.5em;margin-left:1em}.article-entry .caption{color:var(--color-text-secondary);display:block;font-size:.9em;margin-top:.5em;position:relative;text-align:center}.article-entry .video-container{position:relative;padding-top:56.25%;height:0;overflow:hidden}.article-entry .video-container embed,.article-entry .video-container iframe,.article-entry .video-container object{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:0}.article-header{position:relative}.article-header h1,.article-header h2{margin:0}.article-header .article-title{font-size:34px;border-left:4px solid var(--color-text)}.article-header .article-author,.article-header .article-title{display:block;margin-bottom:3rem;text-decoration:none;color:var(--color-text);padding-left:2rem}.article-header .article-author{font-size:20px}.article-footer:after,.article-footer:before{content:"";display:table;clear:both}.declare{margin:0 0 1rem;padding-bottom:1rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.declare ul,.declare ul li{list-style:none}.article-tag-list{list-style:none;padding-left:0;margin:0}.article-tag-list:before{color:var(--color-text-secondary);content:"\eec3";font-family:remixicon;margin-right:.5rem}.article-tag-list .article-tag-list-item{display:inline-block;padding-right:1rem}.article-tag-list .article-tag-list-link{font-size:11px;text-decoration:none;display:block;color:var(--color-tag-text);float:left;height:18px;line-height:18px;padding:0 8px;position:relative;border-radius:9px;background-color:var(--color-tag-bg)}.article-comment-link{float:right}.article-comment-link:before{content:"\ee0d";font-family:remixicon;padding-right:8px}.article-share-link{cursor:pointer;float:right;margin-left:20px}.article-share-link:before{content:"\ef76";font-family:remixicon;padding-right:6px}.article-nav{position:relative;padding-top:1.5rem;margin:1rem 0 2rem;border-top:.1rem solid var(--color-border)}.article-nav:after,.article-nav:before{content:"";display:table;clear:both}.article-nav-link{display:block;text-decoration:none}.article-nav-link:first-child{float:left}.article-nav-link:last-child{float:right;text-align:right}.article-nav-caption{color:var(--color-text-secondary)}.article-nav-title{font-size:inherit}.article-share-box{position:absolute;display:none;background:#fff;border-radius:.4rem;box-shadow:1px 2px 10px rgba(0,0,0,.2);border-radius:3px;margin-left:-145px;overflow:hidden;z-index:1}.article-share-box.on{display:block}.article-share-input{width:100%;background:none;box-sizing:border-box;padding:0 1.5rem;outline:none;border:none;border-bottom:.1rem solid var(--color-border);height:3.6rem;line-height:3.6rem}.article-share-links:after,.article-share-links:before{content:"";display:table;clear:both}.article-share-facebook,.article-share-google,.article-share-pinterest,.article-share-twitter{position:relative;display:block;float:left;width:5rem;height:3.6rem;color:var(--color-text);text-align:center;text-decoration:none}.article-share-facebook:before,.article-share-google:before,.article-share-pinterest:before,.article-share-twitter:before{font-size:20px;font-family:remixicon}.article-share-facebook:hover,.article-share-google:hover,.article-share-pinterest:hover,.article-share-twitter:hover{color:#fff}.article-share-twitter:before{content:"\f068"}.article-share-twitter:hover{background:#00aced;text-shadow:0 1px #008abe}.article-share-facebook:before{content:"\ec30"}.article-share-facebook:hover{background:#3b5998;text-shadow:0 1px #2f477a}.article-share-pinterest:before{content:"\eea8"}.article-share-pinterest:hover{background:#cb2027;text-shadow:0 1px #a21a1f}.article-share-google:before{content:"\ed15"}.article-share-google:hover{background:#dd4b39;text-shadow:0 1px #be3221}.pswp__caption__center{text-align:center!important}.tocbot{padding:20px;position:absolute;right:-28rem;top:14rem;font-size:80%;opacity:.95;max-width:255px;border-radius:8px}.tocbot>.toc-list{position:relative;overflow-x:hidden;overflow-y:scroll;max-height:70vh}.tocbot>.toc-list::-webkit-scrollbar{width:4px}>.toc-list::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);background:rgba(0,0,0,.2)}>.toc-list::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 5px rgba(0,0,0,.2);border-radius:0;background:rgba(0,0,0,.1)}.toc-list{list-style:none;margin-left:0;padding-left:1rem}a.toc-link{height:100%;color:var(--color-text);text-decoration:none;font-size:115%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all}.is-collapsed{max-height:0}.is-position-fixed{position:fixed!important;top:0;right:6rem;background-color:var(--color-bg);z-index:996}.toc-link:before{background-color:#cce5ff;content:" ";display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link:before{background-color:#3d85c6}.is-active-link{font-weight:700}@media (max-width:768px){.tocbot{display:none!important}}.article-gallery{position:relative}.article-gallery-photos{position:relative;overflow:hidden}.article-gallery-img{display:none;max-width:100%}.article-gallery-img:first-child{display:block}.article-gallery-img.loaded{position:absolute;display:block}.article-gallery-img img{display:block;max-width:100%;margin:0 auto}.article-albums{position:relative}.article-albums-photos{position:relative;display:flex;flex-wrap:wrap;list-style:none;padding-left:0;margin-left:0}.article-albums-photos:after,.article-albums-photos:before{content:"";display:table;clear:both}.article-albums-photos:after{content:"";flex-grow:999999999}.article-albums-photos .article-albums-item{position:relative;flex-grow:1;margin:.5rem;overflow:hidden}.article-albums-photos .article-albums-item img{-o-object-fit:cover;object-fit:cover;max-width:100%;min-width:100%;vertical-align:center}.article-albums-photos .article-albums-item .article-albums-caption{display:block;width:100%;padding:1rem 0;text-align:center}@media (min-width:576px){.article-albums-item img{height:32rem}.article-albums-item .article-albums-caption{position:absolute;bottom:0;left:0;width:100%;background-color:rgba(0,0,0,.5);background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);color:#fff;padding:1rem;opacity:0;transform:translateY(100%);transition:all .3s ease-in-out}.article-albums-item:hover .article-albums-caption{opacity:1;transform:translateY(0)}}@media (min-width:768px){.article-albums-item img{height:20rem}}.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;background:#adb5bd;opacity:1;margin:0;padding:0}.justified-gallery>a>a>img,.justified-gallery>a>a>svg,.justified-gallery>a>img,.justified-gallery>a>svg,.justified-gallery>div>a>img,.justified-gallery>div>a>svg,.justified-gallery>div>img,.justified-gallery>div>svg,.justified-gallery>figure>a>img,.justified-gallery>figure>a>svg,.justified-gallery>figure>img,.justified-gallery>figure>svg{position:absolute;top:50%;left:50%;margin:0;padding:0;border:none;opacity:1}.justified-gallery>a>.caption,.justified-gallery>div>.caption,.justified-gallery>figure>.caption{display:none;position:absolute;right:0;bottom:0;left:0;padding:1rem;background-color:rgba(0,0,0,.5);background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);color:#fff}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible,.justified-gallery>figure>.caption.caption-visible{display:initial}.justified-gallery>.jg-entry-visible{opacity:1;background:none}.justified-gallery>.jg-entry-visible>a>img,.justified-gallery>.jg-entry-visible>a>svg,.justified-gallery>.jg-entry-visible>img,.justified-gallery>.jg-entry-visible>svg{opacity:1;transition:opacity}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.jg-filtered>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;opacity:1;overflow:initial}.justified-gallery>.jg-filtered>span{display:inline-block;opacity:1;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px}.articles .article{padding:4.5rem 0}.articles .article:not(:last-child){border-bottom:.1rem solid #ddd}.articles .article-entry{margin-top:1rem;padding:0 2rem 2rem;border:1px dashed #dfdede}.articles .article-entry .article-more-link{display:inline-block;float:right;padding:.5rem 1.5rem;background-color:var(--blockquote-bg);border:0;border-radius:0;color:inherit;font:inherit;text-decoration:none;transition:color}.articles .article-entry .article-more-link:focus-visible,.articles .article-entry .article-more-link:hover{color:var(--color-link)}.articles .article-entry .article-more-link:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.articles .article-entry .article-gallery{margin-top:1.5rem}.articles .article-footer{margin-top:1rem}.archives-wrap{position:relative}.archives-wrap:after,.archives-wrap:before{content:"";display:table;clear:both}.archives-wrap:first-child{margin-top:3rem}.archives-wrap:last-child{margin-bottom:3rem}.archive-year-wrap{position:absolute;top:0;left:0;width:6rem}.archive-year-wrap .archive-year{position:relative;display:inline-block}.archive-year-wrap .archive-year:after{content:"";position:absolute;left:0;bottom:0;height:.15rem;background-color:var(--color-text-secondary);width:100%}.archives{margin-left:6rem;border-left:.1rem dashed var(--color-border);padding-left:3rem}.archives:after,.archives:before{content:"";display:table;clear:both}.archive-article-inner{margin-bottom:1.5rem}.archive-article-header{display:table-row}.archive-article-header>a,.archive-article-header>h2{display:table-cell}.archive-article-header h2{margin:0;padding-left:3rem}.archive-article-header h2 .archive-article-title{text-decoration:none;font-size:1.8rem}.archive-article-footer{margin-top:1.5rem}.archive-article-date{position:relative;display:block}.archive-article-date:before{content:"";position:absolute;top:50%;left:-3.5rem;margin-top:-.5rem;width:1rem;height:1rem;border-radius:1rem;background-color:var(--color-border)}.page-type-title{margin:0;padding:3rem 0}.page-nav{margin:3rem auto 5rem;text-align:center;overflow:hidden;font-size:115%}.page-nav:after,.page-nav:before{content:"";display:table;clear:both}.page-nav a,.page-nav span{padding:1rem 1.5rem;line-height:1}.page-nav a{text-decoration:none}.page-nav .prev{float:left}.page-nav .next,.page-nav .prev{border-radius:6px;border:1px solid}.page-nav .next{float:right}.page-nav .page-number{display:inline-block}@media mq-mobile{.page-nav .page-number{display:none}}.page-nav .current{font-weight:700}.page-nav .space{color:var(--color-border)}.footer{border-top:2px solid #f6f6f6;padding:3rem 0;font-size:115%}.footer .outer>ul{position:relative;display:flex;justify-content:center}.footer .outer>ul li{display:inline-block;padding:.3rem 0}.footer .outer>ul li a{text-decoration:none}.footer .outer>ul li .division{display:inline;margin:0 5px}.footer .outer>ul li i{margin:0 2px;font-style:normal;transform:translateY(2px)}.footer .outer>ul span{margin-right:6px}.heart_icon{display:inline-block;margin:0 .4rem;font-size:1em;color:red;animation:footerHeartBeat 1.2s infinite;animation-duration:1.2s;animation-timing-function:ease;animation-delay:0s;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:none;animation-play-state:running;animation-name:footerHeartBeat}@keyframes footerHeartBeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}:root{--hl-bg:#f8f8f8;--hl-fg:#383a42;--hl-comment:green;--hl-keyword:#af00db;--hl-function:#795e26;--hl-string:#a31515;--hl-number:#098658;--hl-boolean:#00f;--hl-class:#267f99;--hl-variable:#001080;--hl-operator:#383a42;--hl-builtin:#267f99;--hl-property:#001080;--hl-tag:maroon;--hl-attribute:#e50000;--hl-gutter:#999;--inline-code-bg:#f0f2f5;--inline-code-text:#d63384}body.darkmode{--hl-bg:#1e1e1e;--hl-fg:#d4d4d4;--hl-comment:#6a9955;--hl-keyword:#c586c0;--hl-function:#dcdcaa;--hl-string:#ce9178;--hl-number:#b5cea8;--hl-boolean:#569cd6;--hl-class:#4ec9b0;--hl-variable:#9cdcfe;--hl-operator:#d4d4d4;--hl-builtin:#4ec9b0;--hl-property:#9cdcfe;--hl-tag:#569cd6;--hl-attribute:#9cdcfe;--hl-gutter:#858585;--inline-code-bg:#2e3440;--inline-code-text:#fc9}figure.highlight{position:relative;background:var(--hl-bg)!important;border-radius:5px;margin:20px 0;transition:background-color}.highlight{color:var(--hl-fg);font-size:1.4rem;margin:0;padding:0;overflow:auto;background:none}.highlight pre{font-family:Consolas,Monaco,Courier New,monospace;border:none;margin:0;padding:0 1.5rem;background:none}.highlight table{margin:0;width:auto;border:none}.highlight td{border:none;padding:0}.highlight .line{height:auto;line-height:1.5}.highlight .gutter pre{color:var(--hl-gutter);text-align:right;padding-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .keyword{color:var(--hl-keyword)}.highlight .function{color:var(--hl-function)}.highlight .string{color:var(--hl-string)}.highlight .number{color:var(--hl-number)}.highlight .boolean{color:var(--hl-boolean)}.highlight .comment{color:var(--hl-comment)}.highlight .class{color:var(--hl-class)}.highlight .variable{color:var(--hl-variable)}.highlight .operator{color:var(--hl-operator)}.highlight .builtin{color:var(--hl-builtin)}.highlight .property{color:var(--hl-property)}.highlight .tag{color:var(--hl-tag)}.highlight .attribute{color:var(--hl-attribute)}figure.highlight:before{position:absolute;top:0;right:1rem;padding:0 .5rem;font-size:1.2rem;line-height:2;color:var(--hl-gutter);text-transform:uppercase;pointer-events:none;opacity:.7;transition:opacity}figure.highlight:hover:before{opacity:0}figure.highlight.javascript:before,figure.highlight.js:before{content:"js"}figure.highlight.ts:before,figure.highlight.typescript:before{content:"ts"}figure.highlight.py:before,figure.highlight.python:before{content:"python"}figure.highlight.java:before{content:"java"}figure.highlight.c:before{content:"c"}figure.highlight.cpp:before{content:"c++"}figure.highlight.cs:before,figure.highlight.csharp:before{content:"c#"}figure.highlight.html:before{content:"html"}figure.highlight.css:before{content:"css"}figure.highlight.bash:before,figure.highlight.sh:before,figure.highlight.shell:before{content:"bash"}figure.highlight.json:before{content:"json"}figure.highlight.yaml:before,figure.highlight.yml:before{content:"yaml"}figure.highlight.xml:before{content:"xml"}figure.highlight.sql:before{content:"sql"}figure.highlight.php:before{content:"php"}figure.highlight.go:before{content:"go"}figure.highlight.rs:before,figure.highlight.rust:before{content:"rust"}figure.highlight.rb:before,figure.highlight.ruby:before{content:"ruby"}figure.highlight.swift:before{content:"swift"}figure.highlight.kotlin:before,figure.highlight.kt:before{content:"kotlin"}figure.highlight.markdown:before,figure.highlight.md:before{content:"md"}figure.highlight.diff:before{content:"diff"}figure.highlight.lua:before{content:"lua"}figure.highlight.powershell:before{content:"ps"}figure.highlight.plain:before,figure.highlight.plaintext:before,figure.highlight.text:before{content:"text"}figure.highlight.ini:before{content:"ini"}figure.highlight.toml:before{content:"toml"}figure.highlight.nginx:before{content:"nginx"}figure.highlight.dockerfile:before{content:"dockerfile"}.article-entry :not(pre)>code{background:var(--inline-code-bg)!important;color:var(--inline-code-text)!important;padding:.15em .4em;border-radius:3px;font-size:.9em;font-family:Consolas,Monaco,Courier New,monospace;transition:background-color .3s ease}.article-entry pre:not(figure.highlight pre){background:var(--hl-bg);border-radius:5px;padding:1.5rem;margin:2rem 0;overflow:auto;transition:background-color}.article-entry pre:not(figure.highlight pre) code{color:var(--hl-fg);font-family:Consolas,Monaco,Courier New,monospace;font-size:1.4rem;background:none!important;padding:0}.article-entry figure.highlight,.article-entry figure.highlight table,.article-entry figure.highlight td,.article-entry figure.highlight th,.article-entry figure.highlight tr{border:none!important}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace .pace-progress{position:fixed;z-index:2000;top:0;right:100%;width:100%;height:.2rem;background-color:#3d85c6}.pace-inactive{display:none}@media (max-width:768px){.pace{display:none}}body.darkmode .v *{color:var(--color-text-secondary)!important}body.darkmode #vcomments-box #vcomments{background-color:hsla(0,0%,100%,.05)!important}body.darkmode #vcomments-box #vcomments *{color:var(--color-text)!important}body.darkmode .v .vbtn{background-color:transparent!important}body.darkmode .v .vlist .vcard .vhead .vsys{border:1px solid var(--color-border)!important;background-color:transparent!important}.macbook{position:relative}.macbook .macbook-screen{position:relative;background-color:transparent;border-radius:1rem;border:1.25rem solid #fff;box-shadow:0 1rem 3rem rgba(0,0,0,.15),inset 0 0 .5rem rgba(0,0,0,.15)}.macbook .macbook-keyboard{display:none;position:relative;box-sizing:content-box;background-color:#fff;border-bottom:.75rem solid #f2f2f2;border-bottom-left-radius:50%;border-bottom-right-radius:50%;margin:-.5rem -5rem 0;height:.5rem;box-shadow:0 .5rem 3rem rgba(0,0,0,.15)}.macbook .macbook-keyboard:before{content:"";position:absolute;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#f2f2f2,#fff,#f2f2f2);box-shadow:inset 0 0 .1rem rgba(0,0,0,.05);width:20%;height:.3rem;border-radius:.125rem}@media (min-width:768px){.macbook .macbook-screen{border-width:2rem 1.25rem 1.25rem}.macbook .macbook-keyboard{display:block}}.macbook-wrap{padding:1rem 9rem}.scrolling-wrap{min-height:30rem;overflow:hidden}.scrolling{position:absolute;top:30rem;width:100%;animation:scrolling-animation 10s ease-in-out 1s infinite}@keyframes scrolling-animation{0%{top:0}10%{top:0;transform:translateY(0)}30%{transform:translateY(-35%)}60%{transform:translateY(-75%)}90%{transform:translateY(-100%)}to{transform:translateY(-100%)}}:root{--reward-bg:rgba(252,250,247,0.97);--reward-border:rgba(0,0,0,0.07);--reward-shadow:0 6px 24px rgba(0,0,0,0.09);--reward-text:#333;--reward-subtext:#777;--reward-overlay:rgba(0,0,0,0.45);--reward-tabs-track:rgba(0,0,0,0.06);--reward-tab-text:#666;--reward-tab-hover:rgba(0,0,0,0.05);--reward-tab-active-bg:#fff;--reward-tab-active-text:#333;--reward-tab-active-shadow:0 1px 4px rgba(0,0,0,0.13);--reward-badge-bg:rgba(0,0,0,0.08);--reward-btn-bg:hsla(0,0%,100%,0.55);--reward-btn-border:rgba(0,0,0,0.11);--reward-btn-text:#555;--reward-btn-icon:#888;--reward-btn-shadow:0 2px 10px rgba(0,0,0,0.07);--reward-btn-hover-bg:hsla(0,0%,100%,0.8)}body.darkmode{--reward-bg:rgba(42,47,58,0.97);--reward-border:hsla(0,0%,100%,0.09);--reward-shadow:0 6px 24px rgba(0,0,0,0.45);--reward-text:#d0d0d0;--reward-subtext:#aaa;--reward-overlay:rgba(0,0,0,0.65);--reward-tabs-track:rgba(0,0,0,0.28);--reward-tab-text:#999;--reward-tab-hover:hsla(0,0%,100%,0.06);--reward-tab-active-bg:hsla(0,0%,100%,0.13);--reward-tab-active-text:#d0d0d0;--reward-tab-active-shadow:0 1px 4px rgba(0,0,0,0.45);--reward-badge-bg:hsla(0,0%,100%,0.12);--reward-btn-bg:hsla(0,0%,100%,0.08);--reward-btn-border:hsla(0,0%,100%,0.13);--reward-btn-text:#ccc;--reward-btn-icon:#999;--reward-btn-shadow:0 2px 10px rgba(0,0,0,0.28);--reward-btn-hover-bg:hsla(0,0%,100%,0.14)}#mask{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:var(--reward-overlay);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease}#mask.active{visibility:visible;opacity:1;pointer-events:auto}.reward-modal{position:fixed;z-index:9999;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:380px;max-width:92vw;max-height:88vh;overflow-y:auto;padding:24px 24px 28px;background:var(--reward-bg);backdrop-filter:blur(16px);border:1px solid var(--reward-border);border-radius:12px;box-shadow:var(--reward-shadow);font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;text-align:center;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .25s ease}.reward-modal.visible{visibility:visible;pointer-events:auto;opacity:1;transform:translate(-50%,-50%) scale(1)}.reward-close{position:absolute;right:10px;top:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer;transition:background;color:var(--reward-subtext)}.reward-close:hover{background:var(--reward-tab-hover)}.reward-close i{font-size:18px;color:var(--reward-subtext)}.reward-wording{text-align:center;font-size:14px;color:var(--reward-subtext);margin:4px 16px 20px;overflow-wrap:anywhere;line-height:1.5}.reward-wording i{margin-right:5px;color:var(--reward-subtext)}.reward-sub-tabs,.reward-tabs{display:flex;width:-moz-max-content;width:max-content;max-width:100%;gap:3px;margin:0 auto;overflow-x:auto;background:var(--reward-tabs-track);border-radius:8px;padding:3px}.reward-tabs{margin-bottom:20px}.reward-sub-tab,.reward-tab{display:inline-flex;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--reward-tab-text);font-size:13px;cursor:pointer;transition:background .2s ease;white-space:nowrap;font-family:inherit;line-height:1.4}.reward-sub-tab:hover:not(.active),.reward-tab:hover:not(.active){background:var(--reward-tab-hover)}.reward-sub-tab.active,.reward-tab.active{background:var(--reward-tab-active-bg);color:var(--reward-tab-active-text);font-weight:500;box-shadow:var(--reward-tab-active-shadow)}.reward-sub-tab i,.reward-tab i{font-size:15px;color:inherit}.reward-method-panels,.reward-panels{display:grid;min-width:0}.reward-panel,.reward-sub-panel{grid-area:1/1;min-width:0;align-self:start;visibility:hidden;opacity:0;pointer-events:none;text-align:center;transition:opacity}.reward-panel.active,.reward-sub-panel.active{visibility:inherit;opacity:1;pointer-events:auto}.reward-panel{align-self:center}.reward-qrcode-wrap{display:inline-block;line-height:0}.reward-qrcode{display:block;width:180px;height:180px;border-radius:8px;-o-object-fit:contain;object-fit:contain}.reward-desc{margin:10px 0 0;font-size:13px;color:var(--reward-subtext);overflow-wrap:anywhere}.reward-link{display:inline-flex;align-items:center;gap:4px;margin-top:12px;padding:7px 18px;background:var(--reward-tab-active-bg);box-shadow:var(--reward-tab-active-shadow);border:1px solid var(--reward-border);border-radius:6px;font-size:13px;font-weight:500;transition:opacity}.reward-link,.reward-link:hover{color:var(--reward-tab-active-text);text-decoration:none}.reward-link:hover{opacity:.8}#reward-out{position:relative;width:100%;text-align:center}#reward-btn,.reward-trigger{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 22px;margin:40px 0;font-size:14px;color:var(--reward-btn-text);background:var(--reward-btn-bg);backdrop-filter:blur(10px);border:1px solid var(--reward-btn-border);border-radius:19px;cursor:pointer;box-shadow:var(--reward-btn-shadow);transition:all;font-family:inherit;line-height:1}#reward-btn i,.reward-trigger i{color:var(--reward-btn-icon)}#reward-btn:hover,.reward-trigger:hover{background:var(--reward-btn-hover-bg);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.09)}.reward-networks{margin-top:16px}.reward-chain-hint{text-align:center;font-size:13px;color:var(--reward-subtext);margin:0 0 10px;overflow-wrap:anywhere}.reward-sub-tab{padding:6px 12px;font-size:12px}.reward-sub-badge{font-size:10px;padding:1px 5px;border-radius:4px;background:var(--reward-badge-bg);color:var(--reward-tab-text);line-height:1.3}#reward-btn:focus-visible,.reward-modal :focus-visible,.reward-trigger:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.reward-sub-tab:focus-visible,.reward-tab:focus-visible{outline-offset:0}@media (max-width:768px){.reward-modal{padding:20px 18px 24px}.reward-qrcode{width:160px;height:160px}}@media (max-width:480px){.reward-qrcode{width:140px;height:140px}.reward-sub-tab{padding:6px 10px}}@media (prefers-reduced-motion:reduce){#mask,.reward-modal,.reward-panel,.reward-sub-panel{transition:none}}:root{--share-wrap-bg:rgba(250,248,245,0.97);--share-wrap-border:rgba(0,0,0,0.07);--share-wrap-shadow:0 6px 20px rgba(0,0,0,0.07);--share-icon-color:#7a7060;--share-icon-bg-hover:rgba(0,0,0,0.04);--share-trigger-color:#0681d0;--share-trigger-icon:rgba(6,129,208,0.55);--share-modal-bg:rgba(252,250,247,0.97);--share-modal-border:rgba(0,0,0,0.07);--share-modal-shadow:0 8px 32px rgba(0,0,0,0.1);--share-modal-text:#555;--share-modal-close:rgba(0,0,0,0.2);--share-modal-close-hover:rgba(0,0,0,0.45);--share-mask-bg:rgba(0,0,0,0.4)}body.darkmode{--share-wrap-bg:rgba(42,47,58,0.97);--share-wrap-border:hsla(0,0%,100%,0.09);--share-wrap-shadow:0 6px 20px rgba(0,0,0,0.45);--share-icon-color:#999;--share-icon-bg-hover:hsla(0,0%,100%,0.06);--share-trigger-color:#80cfff;--share-trigger-icon:rgba(128,207,255,0.5);--share-modal-bg:rgba(42,47,58,0.99);--share-modal-border:hsla(0,0%,100%,0.09);--share-modal-shadow:0 8px 32px rgba(0,0,0,0.5);--share-modal-text:#d0d0d0;--share-modal-close:hsla(0,0%,100%,0.2);--share-modal-close-hover:hsla(0,0%,100%,0.45);--share-mask-bg:rgba(0,0,0,0.65)}.share-btn{float:right;position:relative}.share-outer{display:flex;justify-content:flex-end;border:none;text-shadow:none;text-decoration:none;width:auto;color:var(--share-trigger-color);height:28px;line-height:26px}.share-outer i{font-size:18px;margin-right:5px;color:var(--share-trigger-icon)}.share-outer:hover{transform:none;cursor:pointer}.share-wrap{min-height:20px;display:block;position:absolute;top:100%;right:0;z-index:10;width:220px;background:var(--share-wrap-bg);border:1px solid var(--share-wrap-border);border-radius:8px;box-shadow:var(--share-wrap-shadow);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease}.share-wrap.open{opacity:1;pointer-events:auto;transform:translateY(0)}.share-wrap:before{content:"";position:absolute;top:-5px;right:18px;width:10px;height:10px;transform:rotate(45deg);background:var(--share-wrap-bg);border-top:1px solid var(--share-wrap-border);border-left:1px solid var(--share-wrap-border);z-index:2}.share-wrap .arrow{display:none}.share-icons{display:flex;flex-wrap:wrap;padding:10px 8px}.share-icons,.share-icons a{justify-content:center;align-items:center}.share-icons a{border-radius:6px;display:inline-flex;margin:4px;transition:all;color:var(--share-icon-color);width:34px;height:34px;background:transparent;text-decoration:none}.share-icons a i{font-size:20px;color:inherit}.share-icons a:hover{background:var(--share-icon-bg-hover);transform:scale(1.1);text-decoration:none}.share-icons a.weibo:hover{color:#d81e06}.share-icons a.weixin:hover{color:#51c332}.share-icons a.qq:hover{color:#4cafe9}.share-icons a.douban:hover{color:#05b711}.share-icons a.twitter:hover{color:#00aced}.share-icons a.facebook:hover{color:#3b5998}.share-icons a.google:hover{color:#dd4b39}.share-icons a:active{transform:scale(.95)}.wx-share-modal{position:fixed;top:50%;left:50%;z-index:9999;width:220px;max-width:92vw;padding:28px 24px 24px;text-align:center;color:var(--share-modal-text);background:var(--share-modal-bg);backdrop-filter:blur(16px);border:1px solid var(--share-modal-border);border-radius:12px;box-shadow:var(--share-modal-shadow);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96);transition:opacity .3s ease}.wx-share-modal.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.wx-modal-close{position:absolute;right:10px;top:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background;color:var(--share-modal-close)}.wx-modal-close:hover{background:var(--share-icon-bg-hover);color:var(--share-modal-close-hover)}.wx-modal-close i{font-size:18px;color:inherit}.wx-modal-caption{margin:4px 0 16px;font-size:14px;color:var(--share-modal-text);line-height:1.5}.wx-qrcode-frame{display:inline-block;line-height:0;padding:8px;border:1px solid var(--share-modal-border);border-radius:8px}.wx-qrcode-img{display:block;width:150px;height:150px}#share-mask{position:fixed;width:100%;height:100%;left:0;top:0;background:var(--share-mask-bg);z-index:999;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease}#share-mask.active{visibility:visible;opacity:1;pointer-events:auto}:root{--friend-link-bg:rgba(6,129,208,0.1);--friend-link-hover-bg:rgba(6,129,208,0.15);--friend-link-text:#000}body.darkmode{--friend-link-bg:hsla(0,0%,100%,0.05);--friend-link-hover-bg:hsla(0,0%,100%,0.08);--friend-link-text:var(--color-text)}#friends_link .friends_li{list-style:none;float:left}#friends_link .friends_li a{padding:15px 25px;display:flex;align-items:center;justify-content:space-between;font-size:17px;text-decoration:none;background-color:var(--friend-link-bg);color:var(--friend-link-text);border-radius:6px;margin-right:20px;margin-bottom:20px}#friends_link .friends_li a img{display:inline-block;width:40px;height:40px;border-radius:50%;margin-right:10px}#friends_link .friends_li a i{font-size:25px;width:40px;height:40px}#friends_link .friends_li a:hover{background-color:var(--friend-link-hover-bg)}.ads{position:absolute;right:0;top:50px;z-index:2;transform:translateX(110%)}.ads li,.ads ul{list-style:none;padding-left:0;margin-left:0}.ads img{display:block;margin-bottom:15px}@media (max-width:768px){.ads{display:none}}.notice{--notice-bg:hsla(0,0%,98.4%,0.31);--notice-border:#e6e6e6;--notice-text:#969696;--notice-icon:#999;margin-top:50px;padding:20px;border:1px dashed var(--notice-border);color:var(--notice-text);position:relative;display:inline-block;width:100%;background:var(--notice-bg);border-radius:10px;transition:background-color .2s ease}.notice i{float:left;color:var(--notice-icon);font-size:16px;padding-right:10px;vertical-align:middle;margin-top:-2px}.notice-content{display:initial;vertical-align:middle}body.darkmode .notice{--notice-bg:hsla(0,0%,100%,0.08);--notice-border:hsla(0,0%,100%,0.35);--notice-text:#f0f0f0;--notice-icon:#ff9fb0}.navbar{position:relative;padding-top:3rem;text-align:center}.navbar .nav{list-style:none;padding-left:0;margin-left:0}.navbar .nav .nav-item-link{display:block;padding:1rem;color:#bbb;text-decoration:none;cursor:pointer}.navbar .nav .nav-item-link:hover{opacity:.8;background-color:#403e3e}.navbar .nav.nav-main{height:60vh;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.navbar .nav.nav-main::-webkit-scrollbar{width:0;height:0}.navbar .nav.nav-main .nav-item-link i{font-size:1rem;display:block;line-height:1}.navbar-bottom{position:absolute;bottom:0;width:100%;font-size:2rem}.logo{text-align:center;margin-bottom:2rem}.logo img{width:4.2rem}.totop{overflow:hidden;margin-bottom:.8rem}.totop:hover>i{animation:rocket .3s ease-in-out}@keyframes rocket{0%{transform:translateY(0);opacity:1}45%{transform:translateY(-4rem);opacity:0}55%{transform:translateY(4rem);opacity:0}to{transform:translateY(0);opacity:1}}.cover-inner h1,body{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.cover-inner h1{font-weight:700;letter-spacing:.25em;text-indent:.25em}.cover-inner #subtitle-box{font-weight:400}.article-header .article-title,.cover-inner #subtitle-box{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.article-header .article-title{font-weight:700}.article-entry{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.article-entry h1,.article-entry h2,.article-entry h3,.article-entry h4,.article-entry h5,.article-entry h6{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif;font-weight:700}.archive-article-date,.archive-year,.article-category,.article-date,.article-tag-list,.navbar,.word_count{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.archive-article-date,.archive-year,.article-category,.article-date,.article-tag-list,.word_count{font-weight:300}.archive-article-title{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif}.page-nav{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.cat-block-name{font-family:"Noto Serif SC","Source Han Serif SC",STSong,Georgia,Times New Roman,serif;font-weight:700}.cat-block-total,.cat-subitem{font-weight:300}.article-nav,.cat-block-total,.cat-subitem,.declare,.footer{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.declare{font-weight:300}.local-search-input,.random-sentence{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.random-sentence{font-weight:400}.article-topping{font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}@media (max-width:768px){html{font-size:60%}}
@@ -1 +1 @@
1
- !function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function a(){var e=document.querySelector(".share-wrap");e&&e.classList.remove("open")}function s(){var e=document.querySelector(".share-wrap");e&&(e.classList.contains("open")?a():function(){var e=document.querySelector(".share-wrap");e&&e.classList.add("open")}())}function r(){var e=document.querySelector(".wx-share-modal"),t=document.querySelector("#share-mask");e&&e.classList.remove("visible"),t&&t.classList.remove("active")}function o(e,a){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",a):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",a):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",a):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",a):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",a):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",a):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",a):"weixin"===e&&function(){var e=document.querySelector(".wx-qrcode-img");e&&e.dataset.url&&!e.dataset.loaded&&(e.src=e.dataset.url,e.dataset.loaded="1");var t=document.querySelector(".wx-share-modal"),a=document.querySelector("#share-mask");t&&t.classList.add("visible"),a&&a.classList.add("active")}()}!function(e){let t=e(".search-form-wrap"),a=!1;e(".nav-item-search").on("click",()=>{var s;a||(a=!0,t.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout(function(){a=!1,s&&s()},200))}),e(document).on("mouseup",a=>{const s=e(".local-search");s.is(a.target)||0!==s.has(a.target).length||t.removeClass("on")}),e(".local-search").length&&e.getScript("/js/search.js",function(){searchFunc("/search.xml","local-search-input","local-search-result")}),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready(function(e){e(".anchor").on("click",function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")})}),(()=>{const t=e("#totop");t.hide(),e(".content").on("scroll",()=>{e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)}),e(t).on("click",()=>(e(".content").animate({scrollTop:0},1e3),!1))})(),e(".article-entry").each(function(t){e(this).find("img").each(function(){if(e(this).parent().is("a"))return;const{alt:t}=this;t&&e(this).after('<span class="caption">'+t+"</span>")})});const s=e(".content"),r=e(".sidebar");function o(e){var t=document.querySelector("iframe.giscus-frame");t&&t.contentWindow.postMessage({giscus:{setConfig:{theme:e}}},"https://giscus.app")}e(".navbar-toggle").on("click",()=>{e(".content,.sidebar").addClass("anim"),s.toggleClass("on"),r.toggleClass("on")}),e(document).on("click",".reward-trigger, #reward-btn",function(){var t=e("#reward"),a=e("#mask");t.length&&(a.fadeIn(150),t.addClass("visible"))}),e(document).on("click","#reward .reward-close, #mask",function(){e("#mask").fadeOut(100),e("#reward").removeClass("visible")}),e(document).on("click",".reward-tab",function(){var t=e(this),a=t.data("index");e(".reward-tab").removeClass("active"),t.addClass("active"),e(".reward-panel").removeClass("active"),e('.reward-panel[data-index="'+a+'"]').addClass("active")}),e(document).on("click",".reward-sub-tab",function(){var t=e(this),a=t.data("parent"),s=t.data("sub"),r=e('.reward-panel[data-index="'+a+'"]');r.find(".reward-sub-tab").removeClass("active"),t.addClass("active"),r.find(".reward-sub-panel").removeClass("active"),r.find('.reward-sub-panel[data-sub="'+s+'"]').addClass("active")}),e(document).on("keydown",function(t){"Escape"===t.key&&(e("#mask").fadeOut(100),e("#reward").removeClass("visible"))}),0==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),o("light")):(e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),o("dark")),e("#todark").on("click",()=>{0==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1),o("dark")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.setItem("darkmode",0),o("light"))});console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/KaleidScoper/hexo-theme-ayeria","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(){var t=window,a=document,s=e,r="".concat("https:"===a.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),o=a.createElement("script"),n=a.getElementsByTagName("script")[0];o.type="text/javascript",o.setAttribute("charset","UTF-8"),o.async=!0,o.src=r,o.id="LA_COLLECT",s.d=o;var c=function(){t.LA.ids.push(s)};t.LA?t.LA.ids&&c():(t.LA=e,t.LA.ids=[],c()),n.parentNode.insertBefore(o,n)}();(()=>{var e=document.querySelector(".share-outer");if(e){var t=window.location.href,n=document.querySelector("title").innerHTML,c=document.querySelectorAll(".article-entry img"),i=c.length?c[0].getAttribute("src"):"";""===i||/^(http:|https:)?\/\//.test(i)||(i=window.location.origin+i);var l={sUrl:t,sPic:i,sTitle:n,sDesc:n};e.addEventListener("click",s),document.addEventListener("click",function(e){e.target.closest(".share-btn")||a()}),document.querySelectorAll(".share-sns[data-type]").forEach(function(e){e.addEventListener("click",function(){a(),o(e.getAttribute("data-type"),l)})});var d=document.querySelector("#share-mask"),u=document.querySelector(".wx-modal-close");d&&d.addEventListener("click",r),u&&u.addEventListener("click",r)}})()}();
1
+ !function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function n(){var e=document.querySelector(".share-wrap");e&&e.classList.remove("open")}function a(){var e=document.querySelector(".share-wrap");e&&(e.classList.contains("open")?n():function(){var e=document.querySelector(".share-wrap");e&&e.classList.add("open")}())}function r(){var e=document.querySelector(".wx-share-modal"),t=document.querySelector("#share-mask");e&&e.classList.remove("visible"),t&&t.classList.remove("active")}function o(e,n){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",n):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",n):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",n):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",n):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",n):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",n):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",n):"weixin"===e&&function(){var e=document.querySelector(".wx-qrcode-img");e&&e.dataset.url&&!e.dataset.loaded&&(e.src=e.dataset.url,e.dataset.loaded="1");var t=document.querySelector(".wx-share-modal"),n=document.querySelector("#share-mask");t&&t.classList.add("visible"),n&&n.classList.add("active")}()}!function(e){let t=e(".search-form-wrap"),n=!1;e(".nav-item-search").on("click",()=>{var a;n||(n=!0,t.addClass("on"),a=function(){e(".local-search-input").focus()},setTimeout(function(){n=!1,a&&a()},200))}),e(document).on("mouseup",n=>{const a=e(".local-search");a.is(n.target)||0!==a.has(n.target).length||t.removeClass("on")}),e(".local-search").length&&e.getScript("/js/search.js",function(){searchFunc("/search.xml","local-search-input","local-search-result")}),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready(function(e){e(".anchor").on("click",function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")})}),(()=>{const t=e("#totop");t.hide(),e(".content").on("scroll",()=>{e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)}),e(t).on("click",()=>(e(".content").animate({scrollTop:0},1e3),!1))})(),e(".article-entry").each(function(t){e(this).find("img").each(function(){if(e(this).parent().is("a"))return;const{alt:t}=this;t&&e(this).after('<span class="caption">'+t+"</span>")})});const a=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",()=>{e(".content,.sidebar").addClass("anim"),a.toggleClass("on"),r.toggleClass("on")}),e(".nav-main").on("click",'.nav-item-link[data-target="popup"]',function(t){t.preventDefault();var n=e(this);window.open(n.attr("href"),n.data("popup-name"),"width="+n.data("popup-width")+",height="+n.data("popup-height"))});var o=null;function s(){var t=e("#reward");t.hasClass("visible")&&(e("#mask").removeClass("active"),t.removeClass("visible").attr("inert",""),o&&o.isConnected&&o.focus())}function c(e){var t=document.querySelector("iframe.giscus-frame");t&&t.contentWindow.postMessage({giscus:{setConfig:{theme:e}}},"https://giscus.app")}e(document).on("click",".reward-trigger, #reward-btn",function(){var t=e("#reward");t.length&&(o=document.activeElement,e("#mask").addClass("active"),t.removeAttr("inert").addClass("visible"),t.find(".reward-close").trigger("focus"))}),e(document).on("click","#reward .reward-close, #mask",s),e(document).on("click",".reward-tab",function(){var t=e(this),n=t.data("index");e("#reward .reward-tab").removeClass("active").attr("aria-pressed","false"),t.addClass("active").attr("aria-pressed","true"),e("#reward .reward-panel").removeClass("active").attr("inert",""),e('#reward .reward-panel[data-index="'+n+'"]').removeAttr("inert").addClass("active")}),e(document).on("click",".reward-sub-tab",function(){var t=e(this),n=t.data("parent"),a=t.data("sub"),r=e('#reward .reward-panel[data-index="'+n+'"]');r.find(".reward-sub-tab").removeClass("active").attr("aria-pressed","false"),t.addClass("active").attr("aria-pressed","true"),r.find(".reward-sub-panel").removeClass("active").attr("inert",""),r.find('.reward-sub-panel[data-sub="'+a+'"]').removeAttr("inert").addClass("active")}),e(document).on("keydown",function(t){var n=e("#reward");if(n.hasClass("visible"))if("Escape"===t.key)s();else if("Tab"===t.key){var a=n.find("button, a[href]").filter(function(){return!this.closest("[inert]")&&!this.disabled}).get(),r=a[0],o=a[a.length-1];t.shiftKey&&document.activeElement===r?(t.preventDefault(),o.focus()):t.shiftKey||document.activeElement!==o||(t.preventDefault(),r.focus())}}),0==localStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),c("light")):(e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),c("dark")),e("#todark").on("click",()=>{0==localStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),localStorage.setItem("darkmode",1),c("dark")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),localStorage.setItem("darkmode",0),c("light"))});console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/KaleidScoper/hexo-theme-ayeria","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(){var t=window,n=document,a=e,r="".concat("https:"===n.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),o=n.createElement("script"),s=n.getElementsByTagName("script")[0];o.type="text/javascript",o.setAttribute("charset","UTF-8"),o.async=!0,o.src=r,o.id="LA_COLLECT",a.d=o;var c=function(){t.LA.ids.push(a)};t.LA?t.LA.ids&&c():(t.LA=e,t.LA.ids=[],c()),s.parentNode.insertBefore(o,s)}();(()=>{var e=document.querySelector(".share-outer");if(e){var t=window.location.href,s=document.querySelector("title").innerHTML,c=document.querySelectorAll(".article-entry img"),i=c.length?c[0].getAttribute("src"):"";""===i||/^(http:|https:)?\/\//.test(i)||(i=window.location.origin+i);var l={sUrl:t,sPic:i,sTitle:s,sDesc:s};e.addEventListener("click",a),document.addEventListener("click",function(e){e.target.closest(".share-btn")||n()}),document.querySelectorAll(".share-sns[data-type]").forEach(function(e){e.addEventListener("click",function(){n(),o(e.getAttribute("data-type"),l)})});var d=document.querySelector("#share-mask"),u=document.querySelector(".wx-modal-close");d&&d.addEventListener("click",r),u&&u.addEventListener("click",r)}})(),function(){const e="ayeria-random-deck";let t=["月映松梢鹤影长 风摇竹叶露凝香","云开远岫千峰秀 水落寒潭万籁凉","晓披烟雾入青峦 山寺疏钟万木寒","莫言路遥余秋雨 何云程明赖春风","寒树依微远天外 夕阳明灭乱流中","翠袖殷勤 金杯错落 玉手琵琶","回首天涯 一抹斜阳 数点寒鸦","问世间 情是何物 直教生死相许","欢乐趣 离别苦 就中更有痴儿女","渺万里层云 千山暮雪 只影向谁去","天也妒 未信与 莺儿燕子俱黄土","天阶夜色凉如水 卧看牵牛织女星","解释春风无限恨 沉香亭北倚栏杆","未觉池塘春草梦 阶前梧叶已秋声","我欲穿花寻路 直入白云深处 浩气展虹霓","谪仙何处 无人伴我白螺杯","醉舞下山去 明月逐人归","一川烟草 满城风絮 梅子黄时雨","风烟俱净 天山共色 从流飘荡 任意东西","日暮苍山远 天寒白屋贫"],n=!0,a=null;function r(e){const n=[];for(let e=0;e<t.length;e++)n.push(e);if(function(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),a=e[t];e[t]=e[n],e[n]=a}}(n),void 0!==e&&n[0]===e&&n.length>1){const e=1+Math.floor(Math.random()*(n.length-1)),t=n[0];n[0]=n[e],n[e]=t}return{fingerprint:t.length,indices:n,pointer:0}}function o(){a||(a=function(){try{const n=localStorage.getItem(e);if(!n)return null;const a=JSON.parse(n);if(a&&a.fingerprint===t.length&&Array.isArray(a.indices))return a}catch(e){}return null}()),a||(a=r());const n=a.indices[a.pointer],o=t[n];if(a.pointer++,a.pointer>=a.indices.length){const e=a.indices[a.indices.length-1];a=r(e)}return function(){try{localStorage.setItem(e,JSON.stringify(a))}catch(e){}}(),o}function s(){const e=document.getElementById("random-sentence");e&&(e.innerHTML=function(e){let t=e.trimEnd();return t=t.replace(/ {2,}/g,"<br>"),t=t.replace(/ /g,"&nbsp;&nbsp;"),t}(o()))}async function c(){document.getElementById("random-sentence")&&(!function(){const e=document.querySelector("[data-random-sentences-config]");if(e)try{const t=JSON.parse(e.getAttribute("data-random-sentences-config"));t.hasOwnProperty("use_local_file")&&(n=t.use_local_file)}catch(e){}}(),n&&await async function(){try{const e=await fetch("/data/random-sentences.txt");if(e.ok){const n=(await e.text()).split("\n").filter(e=>{const t=e.trim();return""!==t&&!t.startsWith("#")});n.length>0&&(t=n)}}catch(e){console.warn("随机句子加载失败,使用后备句子库")}}(),s())}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c(),document.addEventListener("visibilitychange",function(){document.hidden||s()})}()}();
@@ -1,152 +1,152 @@
1
- const numberOfParticules = 20;
2
-
3
- const minOrbitRadius = 50;
4
- const maxOrbitRadius = 100;
5
-
6
- const minCircleRadius = 10;
7
- const maxCircleRadius = 20;
8
-
9
- const minAnimeDuration = 900;
10
- const maxAnimeDuration = 1500;
11
-
12
- const minDiffuseRadius = 50;
13
- const maxDiffuseRadius = 100;
14
-
15
- let canvasEl = document.querySelector(".click-effect-canvas");
16
- let ctx = canvasEl.getContext("2d");
17
- let pointerX = 0;
18
- let pointerY = 0;
19
-
20
- let tap =
21
- "ontouchstart" in window || navigator.msMaxTouchPoints
22
- ? "touchstart"
23
- : "mousedown";
24
-
25
- // sea blue
26
- let colors = ["127, 180, 226", "157, 209, 243", "204, 229, 255"];
27
-
28
- function setCanvasSize() {
29
- canvasEl.width = window.innerWidth;
30
- canvasEl.height = window.innerHeight;
31
- canvasEl.style.width = window.innerWidth + "px";
32
- canvasEl.style.height = window.innerHeight + "px";
33
- }
34
-
35
- function updateCoords(e) {
36
- pointerX = e.clientX || e.touches[0].clientX;
37
- pointerY = e.clientY || e.touches[0].clientY;
38
- }
39
-
40
- function setParticuleDirection(p) {
41
- let angle = (anime.random(0, 360) * Math.PI) / 180;
42
- let value = anime.random(minDiffuseRadius, maxDiffuseRadius);
43
- let radius = [-1, 1][anime.random(0, 1)] * value;
44
- return {
45
- x: p.x + radius * Math.cos(angle),
46
- y: p.y + radius * Math.sin(angle),
47
- };
48
- }
49
-
50
- function createParticule(x, y) {
51
- let p = {};
52
- p.x = x;
53
- p.y = y;
54
- p.color =
55
- "rgba(" +
56
- colors[anime.random(0, colors.length - 1)] +
57
- "," +
58
- anime.random(0.2, 0.8) +
59
- ")";
60
- p.radius = anime.random(minCircleRadius, maxCircleRadius);
61
- p.endPos = setParticuleDirection(p);
62
- p.draw = function () {
63
- ctx.beginPath();
64
- ctx.arc(p.x, p.y, p.radius, 0, 2 * Math.PI, true);
65
- ctx.fillStyle = p.color;
66
- ctx.fill();
67
- };
68
- return p;
69
- }
70
-
71
- function createCircle(x, y) {
72
- let p = {};
73
- p.x = x;
74
- p.y = y;
75
- p.color = "#000";
76
- p.radius = 0.1;
77
- p.alpha = 0.5;
78
- p.lineWidth = 6;
79
- p.draw = function () {
80
- ctx.globalAlpha = p.alpha;
81
- ctx.beginPath();
82
- ctx.arc(p.x, p.y, p.radius, 0, 2 * Math.PI, true);
83
- ctx.lineWidth = p.lineWidth;
84
- ctx.strokeStyle = p.color;
85
- ctx.stroke();
86
- ctx.globalAlpha = 1;
87
- };
88
- return p;
89
- }
90
-
91
- function renderParticule(anim) {
92
- for (let i = 0; i < anim.animatables.length; i++) {
93
- anim.animatables[i].target.draw();
94
- }
95
- }
96
-
97
- function animateParticules(x, y) {
98
- let circle = createCircle(x, y);
99
- let particules = [];
100
- for (let i = 0; i < numberOfParticules; i++) {
101
- particules.push(createParticule(x, y));
102
- }
103
- anime
104
- .timeline()
105
- .add({
106
- targets: particules,
107
- x: function (p) {
108
- return p.endPos.x;
109
- },
110
- y: function (p) {
111
- return p.endPos.y;
112
- },
113
- radius: 0.1,
114
- duration: anime.random(minAnimeDuration, maxAnimeDuration),
115
- easing: "easeOutExpo",
116
- update: renderParticule,
117
- })
118
- .add({
119
- targets: circle,
120
- radius: anime.random(minOrbitRadius, maxOrbitRadius),
121
- lineWidth: 0,
122
- alpha: {
123
- value: 0,
124
- easing: "linear",
125
- duration: anime.random(600, 800),
126
- },
127
- duration: anime.random(1200, 1800),
128
- easing: "easeOutExpo",
129
- update: renderParticule,
130
- offset: 0,
131
- });
132
- }
133
-
134
- let render = anime({
135
- duration: Infinity,
136
- update: function () {
137
- ctx.clearRect(0, 0, canvasEl.width, canvasEl.height);
138
- },
139
- });
140
-
141
- document.addEventListener(
142
- tap,
143
- function (e) {
144
- render.play();
145
- updateCoords(e);
146
- animateParticules(pointerX, pointerY);
147
- },
148
- false
149
- );
150
-
151
- setCanvasSize();
152
- window.addEventListener("resize", setCanvasSize, false);
1
+ const numberOfParticules = 20;
2
+
3
+ const minOrbitRadius = 50;
4
+ const maxOrbitRadius = 100;
5
+
6
+ const minCircleRadius = 10;
7
+ const maxCircleRadius = 20;
8
+
9
+ const minAnimeDuration = 900;
10
+ const maxAnimeDuration = 1500;
11
+
12
+ const minDiffuseRadius = 50;
13
+ const maxDiffuseRadius = 100;
14
+
15
+ let canvasEl = document.querySelector(".click-effect-canvas");
16
+ let ctx = canvasEl.getContext("2d");
17
+ let pointerX = 0;
18
+ let pointerY = 0;
19
+
20
+ let tap =
21
+ "ontouchstart" in window || navigator.msMaxTouchPoints
22
+ ? "touchstart"
23
+ : "mousedown";
24
+
25
+ // sea blue
26
+ let colors = ["127, 180, 226", "157, 209, 243", "204, 229, 255"];
27
+
28
+ function setCanvasSize() {
29
+ canvasEl.width = window.innerWidth;
30
+ canvasEl.height = window.innerHeight;
31
+ canvasEl.style.width = window.innerWidth + "px";
32
+ canvasEl.style.height = window.innerHeight + "px";
33
+ }
34
+
35
+ function updateCoords(e) {
36
+ pointerX = e.clientX || e.touches[0].clientX;
37
+ pointerY = e.clientY || e.touches[0].clientY;
38
+ }
39
+
40
+ function setParticuleDirection(p) {
41
+ let angle = (anime.random(0, 360) * Math.PI) / 180;
42
+ let value = anime.random(minDiffuseRadius, maxDiffuseRadius);
43
+ let radius = [-1, 1][anime.random(0, 1)] * value;
44
+ return {
45
+ x: p.x + radius * Math.cos(angle),
46
+ y: p.y + radius * Math.sin(angle),
47
+ };
48
+ }
49
+
50
+ function createParticule(x, y) {
51
+ let p = {};
52
+ p.x = x;
53
+ p.y = y;
54
+ p.color =
55
+ "rgba(" +
56
+ colors[anime.random(0, colors.length - 1)] +
57
+ "," +
58
+ anime.random(0.2, 0.8) +
59
+ ")";
60
+ p.radius = anime.random(minCircleRadius, maxCircleRadius);
61
+ p.endPos = setParticuleDirection(p);
62
+ p.draw = function () {
63
+ ctx.beginPath();
64
+ ctx.arc(p.x, p.y, p.radius, 0, 2 * Math.PI, true);
65
+ ctx.fillStyle = p.color;
66
+ ctx.fill();
67
+ };
68
+ return p;
69
+ }
70
+
71
+ function createCircle(x, y) {
72
+ let p = {};
73
+ p.x = x;
74
+ p.y = y;
75
+ p.color = "#000";
76
+ p.radius = 0.1;
77
+ p.alpha = 0.5;
78
+ p.lineWidth = 6;
79
+ p.draw = function () {
80
+ ctx.globalAlpha = p.alpha;
81
+ ctx.beginPath();
82
+ ctx.arc(p.x, p.y, p.radius, 0, 2 * Math.PI, true);
83
+ ctx.lineWidth = p.lineWidth;
84
+ ctx.strokeStyle = p.color;
85
+ ctx.stroke();
86
+ ctx.globalAlpha = 1;
87
+ };
88
+ return p;
89
+ }
90
+
91
+ function renderParticule(anim) {
92
+ for (let i = 0; i < anim.animatables.length; i++) {
93
+ anim.animatables[i].target.draw();
94
+ }
95
+ }
96
+
97
+ function animateParticules(x, y) {
98
+ let circle = createCircle(x, y);
99
+ let particules = [];
100
+ for (let i = 0; i < numberOfParticules; i++) {
101
+ particules.push(createParticule(x, y));
102
+ }
103
+ anime
104
+ .timeline()
105
+ .add({
106
+ targets: particules,
107
+ x: function (p) {
108
+ return p.endPos.x;
109
+ },
110
+ y: function (p) {
111
+ return p.endPos.y;
112
+ },
113
+ radius: 0.1,
114
+ duration: anime.random(minAnimeDuration, maxAnimeDuration),
115
+ easing: "easeOutExpo",
116
+ update: renderParticule,
117
+ })
118
+ .add({
119
+ targets: circle,
120
+ radius: anime.random(minOrbitRadius, maxOrbitRadius),
121
+ lineWidth: 0,
122
+ alpha: {
123
+ value: 0,
124
+ easing: "linear",
125
+ duration: anime.random(600, 800),
126
+ },
127
+ duration: anime.random(1200, 1800),
128
+ easing: "easeOutExpo",
129
+ update: renderParticule,
130
+ offset: 0,
131
+ });
132
+ }
133
+
134
+ let render = anime({
135
+ duration: Infinity,
136
+ update: function () {
137
+ ctx.clearRect(0, 0, canvasEl.width, canvasEl.height);
138
+ },
139
+ });
140
+
141
+ document.addEventListener(
142
+ tap,
143
+ function (e) {
144
+ render.play();
145
+ updateCoords(e);
146
+ animateParticules(pointerX, pointerY);
147
+ },
148
+ false
149
+ );
150
+
151
+ setCanvasSize();
152
+ window.addEventListener("resize", setCanvasSize, false);