From 8aa116ec43270d18f7e07bc68a0910316100bda3 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 29 Oct 2026 19:16:03 +0800 Subject: [PATCH] fix(theme): align reference layouts and restore passing contracts Align homepage and category discovery, modern widgets, admin controls, quotes, and comments with the reference theme. Remove superseded paths and add rendering and behavior coverage. Update stale asset and finance contracts; all 760 Node tests and 139 widget assertions pass. --- .../src/schema/sections/post-list/page.js | 2 +- assets/css/build/homepage.css | 328 +----------------- assets/css/build/homepage.min.css | 2 +- assets/css/build/public.css | 200 +---------- assets/css/build/public.min.css | 2 +- assets/css/frontend/base.css | 6 + assets/css/frontend/homepage-fixed/base.css | 328 +----------------- assets/css/frontend/layout.css | 194 +---------- .../frontend/single-post/hidden-content.css | 27 ++ assets/img/comment-null.svg | 1 + assets/js/core/archive.js | 234 ------------- assets/js/core/comments.js | 2 +- assets/js/runtime/main.min.js | 2 +- assets/js/yiyan.js | 308 ++++------------ assets/widgets/admin-core.js | 10 +- assets/widgets/admin.css | 99 +++++- assets/widgets/admin.js | 161 ++++++++- assets/widgets/frontend.css | 18 +- assets/widgets/frontend.js | 22 +- category.php | 156 +++------ inc/helpers/aksrt-archive-filters.php | 298 +++++++--------- inc/helpers/aksrt-archive.php | 26 +- inc/helpers/aksrt-comments.php | 123 ++----- inc/helpers/aksrt-graphic-card.php | 2 + inc/helpers/aksrt-homepage.php | 8 +- inc/helpers/aksrt-widgets-markup.php | 26 +- inc/helpers/aksrt-yiyan.php | 74 ++-- inc/helpers/homepage/layout.php | 15 +- src/Admin/GlobalController.php | 114 ------ src/Core/TermMeta.php | 20 +- src/Settings/HomeCms.php | 18 +- src/WidgetSystem/AdminFormController.php | 12 + src/WidgetSystem/AssetManager.php | 5 +- src/WidgetSystem/FormRenderer.php | 35 +- src/WidgetSystem/PostRenderer.php | 2 + .../Renderers/ContentRenderer.php | 22 +- .../Renderers/GeneralRenderer.php | 6 +- src/WidgetSystem/RestController.php | 30 +- src/WidgetSystem/TransferController.php | 108 +++--- src/WidgetSystem/WidgetCatalog.php | 2 +- src/WidgetSystem/WidgetSchemas.php | 6 +- tag.php | 16 +- ...ilter-settings-reference-contract.test.cjs | 16 +- tests/reference-alignment-2026-10-29.md | 45 +++ .../widget-system/comment-order-behavior.php | 94 +++++ .../comment-order-behavior.test.cjs | 14 + .../comment-order-empty-contract.test.cjs | 31 ++ .../discovery-reference-contract.test.cjs | 114 ++++++ .../discovery-reference-harness.php | 185 ++++++++++ .../financial-flow-contract.test.cjs | 2 +- .../page-display-contract.test.cjs | 3 +- .../post-visual-contract.test.cjs | 5 +- .../referral-qr-contract.test.cjs | 18 +- tests/widget-system/run.php | 8 +- .../runtime-assets-behavior-contract.test.cjs | 16 + .../runtime-assets-behavior-harness.php | 97 ++++++ tests/widget-system/toast-contract.test.cjs | 6 +- .../widget-system/vip-modal-skeleton.test.cjs | 12 +- .../widget-admin-lifecycle.test.cjs | 52 +++ .../withdrawal-history-runtime.test.cjs | 139 ++++++++ .../yiyan-reference-contract.test.cjs | 34 ++ tools/build-public-assets.mjs | 1 - yiyan/qv-yiyan.txt | 327 +++++++++++++++++ 63 files changed, 1985 insertions(+), 2304 deletions(-) create mode 100644 assets/img/comment-null.svg delete mode 100644 assets/js/core/archive.js create mode 100644 tests/reference-alignment-2026-10-29.md create mode 100644 tests/widget-system/comment-order-behavior.php create mode 100644 tests/widget-system/comment-order-behavior.test.cjs create mode 100644 tests/widget-system/comment-order-empty-contract.test.cjs create mode 100644 tests/widget-system/discovery-reference-contract.test.cjs create mode 100644 tests/widget-system/discovery-reference-harness.php create mode 100644 tests/widget-system/runtime-assets-behavior-contract.test.cjs create mode 100644 tests/widget-system/runtime-assets-behavior-harness.php create mode 100644 tests/widget-system/widget-admin-lifecycle.test.cjs create mode 100644 tests/widget-system/withdrawal-history-runtime.test.cjs create mode 100644 tests/widget-system/yiyan-reference-contract.test.cjs create mode 100644 yiyan/qv-yiyan.txt diff --git a/assets/admin/src/schema/sections/post-list/page.js b/assets/admin/src/schema/sections/post-list/page.js index 879392ce..410e59a6 100644 --- a/assets/admin/src/schema/sections/post-list/page.js +++ b/assets/admin/src/schema/sections/post-list/page.js @@ -146,7 +146,7 @@ export const pageSchema = { key: 'yiyan_intro', type: 'content', ui_only: true, - content: '

精彩一言功能:随机显示中英文的文案,在此支持一言内容插入到文章页位置,同时可以使用小工具模块调用。
主题默认调用的文件为:themes/aksrt/yiyan/qv-yiyan.txt
您可以将以上文件复制到 wp-content 文件夹,并重命名为 yiyan.txt,再进行修改或添加内容,则今后更新主题就无需二次修改

', + content: '

精彩一言功能:随机显示中英文文案,可插入文章页或添加“一言”小工具。默认句库位于 themes/aksrt/yiyan/qv-yiyan.txt。您也可以将自定义句库保存为 wp-content/yiyan.txt,更新主题时即可保留自定义内容。

', }, { key: 'yiyan_single_content_header', label: '文章内容头部显示一言', type: 'switch', default: false }, { key: 'yiyan_single_content_footer', label: '文章内容尾部显示一言', type: 'switch', default: false }, diff --git a/assets/css/build/homepage.css b/assets/css/build/homepage.css index b2e99060..984da9dc 100644 --- a/assets/css/build/homepage.css +++ b/assets/css/build/homepage.css @@ -886,336 +886,16 @@ ul.breadcrumb > li:last-child, } /* source: assets/css/frontend/homepage-fixed/base.css */ -/** - * Homepage Fixed Layout — legacy Visual Parity - * - * Implements legacy's homepage visual language: - * - System font stack with Chinese fallbacks - * - 1200px container, 311px sidebar - * - Post cards: list mode (190px thumb) + card mode (3-col grid) - * - legacy shadow/radius/spacing values - * - scale(1.02) thumbnail hover - * - Lazy-load animations (blur/fade/scale) - * - Full responsive: 1200/991/767/640px breakpoints - * - * Tab nav / tab panes / sort menu use the legacy class contract - * (.index-tab, .ajax-option, .ajaxpager) styled by assets/css/main.css. - */ - -/* ================================================================ - 1. HOMEPAGE CONTAINER & TYPOGRAPHY - ================================================================ */ - +/** Homepage inherits the reference navigation, widgets and pagination from main.css. */ .aksrt-homepage { - font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; - font-size: 16px; + font-size: 14px; line-height: 1.42857143; - color: var(--main-color, #4e5358); - background: transparent; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Slightly looser than stock legacy short pages: air between stream and footer */ - padding-bottom: 28px; -} - -.aksrt-homepage a[href] { - transition: color 0.2s, background 0.3s, opacity 0.3s, box-shadow 0.3s, transform 0.3s; -} - -/* ================================================================ - 2. LAYOUT SHELL - ================================================================ */ - -.aksrt-homepage__fluid-zone.content-shell, -.aksrt-homepage__shell.content-shell { - max-width: min(100%, var(--container, 1200px)); -} - -.aksrt-homepage__fluid-zone.content-shell { - padding-top: 18px; - padding-bottom: 0; -} - -.aksrt-homepage__shell.content-shell { - padding-top: 0; - /* 36px + a bit more breathing room before footer */ - padding-bottom: 56px; -} - -/* Bottom fluid zone (if any) keeps a little gap above footer */ -.aksrt-homepage__fluid-zone--bottom { - margin-bottom: 12px; -} - -@media (max-width: 767px) { - .aksrt-homepage { - padding-bottom: 20px; - } - - .aksrt-homepage__shell.content-shell { - padding-bottom: 40px; - } -} - -/* Dual-column geometry is owned by body.site-layout-* float rules in layout.css. */ -.aksrt-homepage__content-layout { - display: block; - gap: 0; -} - -@media (max-width: 1200px) { - .aksrt-homepage__fluid-zone.content-shell, - .aksrt-homepage__shell.content-shell { - max-width: 95%; - } + color: var(--main-color); } +.aksrt-homepage__content-layout, .aksrt-homepage__content-zone, .aksrt-homepage__fluid-zone, .aksrt-homepage__aside { display: block; } - -.aksrt-homepage__content-zone .widget-card:last-child, -.aksrt-homepage__aside .widget:last-child, -.aksrt-homepage__fluid-zone .widget-fluid:last-child { - margin-bottom: 0; -} - -/* ================================================================ - 3. FLUID WIDGETS - ================================================================ */ - -.aksrt-homepage__fluid-zone .widget-fluid { - margin-bottom: 20px; - background: transparent; - padding: 0; - border: 0; - box-shadow: none; -} - -.aksrt-homepage .widget-fluid.widget_aksrt_tab_posts, -.aksrt-homepage .widget-fluid.widget_aksrt_category_block, -.aksrt-homepage .widget-fluid.widget_aksrt_category_tabs, -.aksrt-homepage .widget-fluid.widget_aksrt_category_recommend { - padding: 15px; - background: var(--surface-1, #fff); - border: none; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -.aksrt-homepage__content-zone .widget-card, -.aksrt-homepage__aside .widget { - background: var(--surface-1, #fff); - padding: 15px; - border: none; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -/* ================================================================ - 4. STREAM TITLE BOX (legacy title-theme / 第N页) - ================================================================ */ - -.title-theme { - position: relative; - padding-left: 1.2em; - font-size: 15px; - font-weight: 700; - line-height: 1.4; -} - -.title-theme::before { - position: absolute; - top: 10%; - bottom: 10%; - left: 2px; - width: 4px; - content: ""; - background: var(--color-primary); - border-radius: 5px; - box-shadow: 1px 1px 3px -1px var(--color-primary); -} - -.flex { - /* No !important: the site-layout-1 / fluid-widget-wrap wide-mode rule - (.posts-item:not(.card) { display: inline-flex }) must out-rank this - utility or the no-sidebar two-column pairing collapses back to - half-width stacked rows. */ - display: flex; -} - -.flex.xx, -.xx { - flex-direction: column; -} - -.flex1, -.flex-1 { - flex: 1 1 auto; - min-width: 0; -} - -.jsb, -.jb { - justify-content: space-between; -} - -.ac { - align-items: center; -} - -/* ================================================================ - 5. PAGINATION - ================================================================ */ - -.aksrt-homepage .navigation.pagination .nav-links, -.aksrt-homepage .pagination { - gap: 0; - margin: 20px 0 10px; -} - -.aksrt-homepage .navigation.pagination .page-numbers, -.aksrt-homepage .pagination .page-numbers { - min-width: 34px; - height: 34px; - padding: 0 10px; - margin: 3px; - border: 1px solid transparent; - border-radius: var(--radius-xs, 3px); - background: var(--surface-4, #eee); - color: var(--color-ink-3, #777); - font-size: 13px; - line-height: 1.4; -} - -.aksrt-homepage .navigation.pagination .page-numbers:hover, -.aksrt-homepage .pagination .page-numbers:hover { - opacity: 1; - background: var(--color-primary-soft); - color: var(--color-primary); -} - -.aksrt-homepage .navigation.pagination .current, -.aksrt-homepage .pagination .current { - background: var(--color-primary, var(--color-primary)) !important; - color: #fff !important; -} - -/* ================================================================ - 6. SIDEBAR - ================================================================ */ - -.aksrt-homepage__aside > .aksrt-panel, -.aksrt-homepage__aside > .widget { - margin-bottom: 15px; - padding: 15px; - background: var(--surface-1, #fff); - border: 0; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -.aksrt-homepage__aside > .aksrt-panel:last-child, -.aksrt-homepage__aside > .widget:last-child { - margin-bottom: 0; -} - -.aksrt-homepage__aside .widget-list li, -.aksrt-homepage__aside .widget_recent_entries li, -.aksrt-homepage__aside .recent-posts-row { - padding-top: 8px; - padding-bottom: 8px; -} - -.aksrt-homepage__aside .widget-title, -.aksrt-homepage__content-zone .widget-title { - margin-bottom: 12px; -} - -.aksrt-homepage__aside .widget-title { - position: relative; - margin: 0 0 10px; - padding-left: 1.2em; - padding-bottom: 8px; - font-size: 15px; - font-weight: 700; - line-height: 1.4; -} - -.aksrt-homepage__aside .widget-title::before { - content: ""; - position: absolute; - top: 10%; - bottom: 10%; - left: 2px; - width: 4px; - height: auto; - background: var(--color-primary, var(--color-primary)); - border-radius: 5px; - box-shadow: 1px 1px 3px -1px var(--color-primary, var(--color-primary)); - transition: transform 0.4s ease; - transform-origin: left; -} - -.aksrt-homepage__aside .widget_recent_entries li a, -.aksrt-homepage__aside .widget-list li a { - font-size: 13px; - font-weight: 500; - line-height: 1.5; -} - -.aksrt-homepage__aside .widget_recent_entries li { - display: block; -} - -.aksrt-homepage__aside .widget_search .search-field { - height: 40px; - border-radius: 30px; - background: var(--surface-2, #eee); -} - -.aksrt-homepage__aside .widget_search .search-submit { - top: 4px; - right: 4px; - height: 32px; - padding: 0 12px; - border-radius: 30px; - font-size: 12px; -} - -.aksrt-homepage__aside .tag-cloud { - gap: 6px; -} - -.aksrt-homepage__aside .tag-cloud a { - padding: 4px 10px; - border-radius: 20px; - font-size: 12px; - border: 0; - background: var(--surface-2, #eee); - transition: background 0.2s, color 0.2s; -} - -.aksrt-homepage__aside .tag-cloud a:hover { - background: var(--color-primary, var(--color-primary)); - color: #fff; -} - -.aksrt-homepage .widget.notop, -.aksrt-homepage .box-body.notop { - padding-top: 0; -} - -.aksrt-homepage .widget.nobottom, -.aksrt-homepage .box-body.nobottom { - padding-bottom: 0; -} - -.aksrt-homepage .widget.widget_custom_html { - padding: 0; - background: transparent; - box-shadow: none; - border-radius: 0; -} diff --git a/assets/css/build/homepage.min.css b/assets/css/build/homepage.min.css index cf128bc2..020ad624 100644 --- a/assets/css/build/homepage.min.css +++ b/assets/css/build/homepage.min.css @@ -1 +1 @@ -.posts-row{margin-right:-8px;margin-bottom:15px;margin-left:-8px}.posts-row>*:not(.post_ajax_loader){margin-right:8px!important;margin-left:8px!important}.posts-row>.post_ajax_loader .posts-item,.posts-row>.post_ajax_loader .posts-mini{margin-right:8px;margin-left:8px}.posts-item{margin:15px 0;padding:20px;overflow:hidden;background:var(--main-bg-color, #fff);border-radius:var(--main-radius, 8px);box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08));transition:.2s}.posts-item.flex,.posts-item .flex,.posts-mini .flex{display:flex}.posts-item .flex.xx,.posts-mini .flex.xx{flex-direction:column}.posts-item .flex.ac,.posts-mini .flex.ac{align-items:center}.posts-item .flex.jsb,.posts-mini .flex.jsb{justify-content:space-between}.posts-item .flex1,.posts-mini .flex1{flex:1;overflow:hidden}.posts-item .post-graphic:not(.order1){margin-right:20px}.posts-item .order1.post-graphic{margin-right:0;margin-left:20px}.posts-item .item-thumbnail{position:relative;display:block;width:190px;height:0;padding-bottom:var(--posts-list-scale, 70%);overflow:hidden;border-radius:var(--main-radius, 8px)}.item-thumbnail.contain img{object-fit:contain}.swiper-slide.gradient-bg .dplayer-poster img,.swiper-slide.gradient-bg>*>img{object-fit:contain!important;border-radius:0!important}.item-thumbnail .swiper-wrapper{height:100%!important}.list .item-thumbnail .aksrt-slider,.list .item-thumbnail.new-swiper{position:absolute;width:100%;height:100%;margin:0!important}.item-thumbnail .dplayer.dplayer-thumb{position:absolute;inset:0;z-index:1;padding-bottom:var(--posts-list-scale, 70%);background:#000;opacity:0;transition:opacity .3s}.card .item-thumbnail .dplayer.dplayer-thumb{padding-bottom:var(--posts-card-scale, 70%)}.item-thumbnail .dplayer-thumb video,.item-thumbnail .swiper-wrapper,.item-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.item-thumbnail .swiper-pagination{right:0!important;bottom:0!important;left:0!important;padding:0 2px!important;text-align:center!important}.posts-item.thumb-dplayer-playing .dplayer-thumb{opacity:1}.posts-item.thumb-dplayer-playing .abs-center{opacity:0}.posts-item .item-heading{display:-webkit-box;max-height:2.8em;margin-top:0;margin-bottom:5px;overflow:hidden;font-size:18px;line-height:1.4em;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.font-bold{font-weight:700}.list.style2 .item-thumbnail{width:130px}.list.style2 .item-heading{display:unset;max-height:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.posts-item .item-heading>a{color:var(--key-color, #333)}.posts-item .item-heading>a:hover{color:var(--focus-color, #f04494)}.posts-item .item-excerpt{margin:0 0 6px;overflow:hidden;color:var(--muted-color, #777);text-overflow:ellipsis;white-space:nowrap}.posts-item .item-meta item{margin-right:8px;font-size:13px}.posts-item .item-meta svg.icon,.posts-mini .item-meta svg.icon{display:inline-block;width:1em;height:1em;margin-right:2px;fill:currentColor;overflow:hidden;vertical-align:-.15em}.posts-item .meta-right item:last-child{margin-right:0}.item-meta .avatar-mini{width:20px;height:20px;border-radius:50%;transform:translateY(-1px)}.item-meta .meta-pay{padding:0 4px}.item-meta .meta-pay img{width:1em;height:1em;object-fit:contain;vertical-align:-.15em}.posts-item .item-meta a,.posts-mini .item-meta a{color:inherit}.posts-item .item-tags a{margin-right:5px;padding:2px 5px;font-size:11px}.posts-item .item-tags a .fa{font-size:1em}.posts-item.card{display:inline-block;width:calc(33.333% - 16px);margin:8px;padding:10px;vertical-align:top;transition:.3s}.posts-item.card:last-child{margin-bottom:20px}.posts-item.card .item-body{width:100%;margin:10px 0 0;padding:0}.posts-item.card .item-meta item{font-size:12px}.posts-mini-con .item-heading,.posts-item.card .item-heading{font-size:14px}.posts-item.card .item-heading{min-height:2.8em}.posts-item.card .item-tags{min-height:23px}.posts-item.card .item-thumbnail{width:100%;padding-bottom:var(--posts-card-scale, 70%)}.posts-item.card.style2{background:transparent;box-shadow:none}.posts-item.card.style2:hover{background:var(--main-bg-color, #fff);box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.posts-item.card.style3{padding:0}.posts-item.card.style3 .item-thumbnail,.posts-item.card.style3 .item-thumbnail img{border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.posts-item.card.style3 .item-body{margin:0;padding:10px}.posts-item.mult-thumb .thumb-items{margin:0 -3px 6px}.posts-item.mult-thumb .thumb-items>span{position:relative;display:inline-block;width:calc(25% - 6px);height:0;margin:0 3px;padding-bottom:calc(var(--posts-list-scale, 70%) / 4)}.posts-item.mult-thumb .thumb-items>span>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.posts-item.mult-thumb .thumb-items.contain>span{overflow:hidden;background:var(--main-border-color, rgba(50, 50, 50, .06));border-radius:var(--main-radius, 8px)}.posts-item.mult-thumb .thumb-items.contain>span>img{object-fit:contain;border-radius:0}.posts-item.no_margin{margin:0;border-radius:0;box-shadow:none}.posts-item.no-thumb .item-excerpt{height:auto}.posts-item.no-thumb .item-body{width:100%}.posts-item+.pagenav{margin-top:-15px}.posts-item.card+.pagenav{margin-top:-10px}.no_margin:first-of-type{margin-top:10px;border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.no_margin:last-of-type{margin-bottom:15px;border-radius:0 0 var(--main-radius, 8px) var(--main-radius, 8px)}.posts-mini{padding:10px;display:inline-flex;width:50%;vertical-align:top}.posts-mini-con{flex:auto;overflow:hidden}.posts-mini .item-thumbnail{width:96px;height:0;padding-bottom:var(--posts-list-scale, 70%);position:relative;overflow:hidden;border-radius:var(--main-radius, 8px)}.posts-mini .item-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.posts-mini .item-heading{margin:0}.posts-mini .item-heading.icon-circle{margin-left:-5px}.posts-mini .item-meta{font-size:12px}.posts-mini-con .badg{min-width:18px}.sidebar .posts-mini,.mobile-nav-widget .posts-mini{width:100%!important}.mobile-nav-widget .posts-mini{padding-right:0;padding-left:0}.posts-mini:last-of-type{margin-bottom:0}.posts-mini-lists{padding:5px}.posts-mini-lists .tab-nav-theme{padding:0 5px 2px}.mobile-nav-widget .posts-mini-lists .tab-nav-theme{margin:0 -5px;padding:0}.widget-main-post.style-list .widget-ajaxpager,.widget-main-post.style-card .widget-ajaxpager,.widget-tab-post.index-tab .tab-content>.tab-pane{margin:-8px -8px 15px}.widget-tab-post.style-list .tab-content>.tab-pane{margin-bottom:25px}.widget-main-post.style-list .posts-item,.widget-tab-post.style-list .posts-item{margin-right:8px;margin-left:8px}.widget-main-post.style-list .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-main-post.style-card .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-tab-post .tab-content>.tab-pane>.widget-ajaxpager>.post_ajax_loader .posts-item{margin-right:8px;margin-left:8px}.posts-mini:hover img,.posts-item:hover .item-thumbnail img,.posts-item.mult-thumb .thumb-items>span>img:hover{transform:scale(1.02)}.swiper-scroll .posts-item{flex-shrink:0;margin:0 16px 0 0!important}.swiper-scroll .posts-item.list{width:calc(50% - 8px)!important;min-width:520px!important}.swiper-scroll .posts-item.posts-mini{width:360px!important}.swiper-scroll .posts-item.card{width:calc(33.333% - 11px)!important}@media(min-width:992px){.fluid-widget-wrap .posts-item.card,.site-layout-1 .posts-item.card{width:calc(25% - 16px)}.fluid-widget-wrap .posts-item:not(.card),.site-layout-1 .posts-item:not(.card){display:inline-flex;width:calc(50% - 16px);margin:8px}.fluid-widget-wrap .posts-item.no_margin,.site-layout-1 .posts-item.no_margin{border-radius:var(--main-radius, 8px)}.fluid-widget-wrap .posts-mini,.site-layout-1 .posts-mini{width:33.333%}.sidebar .posts-item.card,.sidebar .posts-item.list{width:100%!important;min-width:0!important;margin:0}}@media(max-width:767px){.posts-row{margin-right:-5px;margin-left:-5px}.posts-row>*:not(.post_ajax_loader){margin-right:5px!important;margin-left:5px!important}.posts-row>.post_ajax_loader .posts-item,.posts-row>.post_ajax_loader .posts-mini{margin-right:5px;margin-left:5px}.posts-item .item-thumbnail{width:138px}.posts-mini .item-thumbnail,.list.style2 .item-thumbnail{width:90px}.posts-item .post-graphic:not(.order1){margin-right:15px}.posts-item .order1.post-graphic{margin-left:15px}.posts-item .item-heading{font-size:15px}.posts-item:not(.no-thumb) .item-excerpt{display:none}.posts-item.card{width:calc(50% - 10px);margin:5px}.widget-main-post.style-list .widget-ajaxpager,.widget-main-post.style-card .widget-ajaxpager,.widget-tab-post.index-tab .tab-content>.tab-pane{margin:-5px -5px 20px}.widget-tab-post.style-list .tab-content>.tab-pane,.widget-main-post.style-list .widget-ajaxpager{margin-top:-15px}.widget-tab-post.style-list .posts-item{margin-right:5px;margin-left:5px}.widget-main-post.style-list .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-main-post.style-card .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-tab-post .tab-content>.tab-pane>.widget-ajaxpager>.post_ajax_loader .posts-item{margin-right:5px;margin-left:5px}.swiper-scroll .posts-item{margin-right:10px!important}.posts-item.card:nth-child(odd){margin-right:5px}.posts-item.card:nth-child(2n){margin-left:5px}.posts-item.mult-thumb .thumb-items>span{width:calc(33.333% - 6px);padding-bottom:calc(var(--posts-list-scale, 70%) / 3)}.posts-item.mult-thumb .thumb-items>span:nth-child(4){display:none}.swiper-scroll .posts-item.card{width:calc(50% - 5px)!important}.swiper-scroll .posts-item.list{width:100%!important;min-width:auto!important}}@media(max-width:640px){.posts-item:not(.no-thumb) .meta-right item{display:none}.posts-mini{width:100%}.posts-item{margin:10px 0;padding:10px}.aksrt-panel .posts-item.no_margin{padding:10px 0}}@media(prefers-reduced-motion:reduce){.posts-item,.posts-item img{transition:none}}.sidebar{box-sizing:border-box}.sidebar-inner{position:sticky;top:calc(var(--nav-height, 60px) + 20px)}.widget{background:var(--surface-1, #fff);border-radius:var(--main-radius, var(--radius, 8px));box-shadow:var(--shadow-sm);border:none;margin-bottom:20px;overflow:hidden}.widget-title{font-size:16px;font-weight:700;color:var(--color-ink, #333);padding-bottom:10px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.widget-title i{color:var(--color-primary, #f04494);font-size:14px}.widget a{color:var(--color-ink-2, #4e5358);text-decoration:none;transition:color .2s}.widget a:hover{color:var(--color-primary, #f04494)}.widget a.but,.widget a.img-badge{color:var(--this-color, #fff)}.widget-tag-cloud .tagcloud{display:flex;flex-wrap:wrap;gap:6px}.widget-tag-cloud .tagcloud a{display:inline-block;padding:3px 10px;font-size:12px!important;background:var(--surface-2, #eee);border-radius:4px;color:var(--color-ink-2, #4e5358);transition:all .2s}.widget-tag-cloud .tagcloud a:hover{background:var(--color-primary-soft, rgba(240, 68, 148, .1));color:var(--color-primary, #f04494)}.widget ul{list-style:none;margin:0;padding:0}.widget ul li{padding:8px 0;font-size:13px;line-height:1.6}.widget ul li:last-child{border-bottom:none}@media(max-width:991px){.sidebar{display:none}}.breadcrumb,ul.breadcrumb,.breadcrumb-nav,.breadcrumbs-wrap{background:transparent;font-size:13px;padding:0 8px;margin:0 0 12px;opacity:.6;line-height:1.8;list-style:none}.breadcrumb-nav ol,.breadcrumb-nav ul,ul.breadcrumb,.breadcrumbs.breadcrumb{list-style:none;margin:0;padding:0;display:block}.breadcrumb>li,ul.breadcrumb>li,.breadcrumb-nav li,.breadcrumbs.breadcrumb>li{display:inline}.breadcrumb>li+li:before,ul.breadcrumb>li+li:before,.breadcrumb-nav li+li:before{content:"/";padding:0 0 0 6px;opacity:.6}.breadcrumbs.breadcrumb .breadcrumbs__sep{padding:0 6px;opacity:.6}.breadcrumb a,ul.breadcrumb a,.breadcrumb-nav a,.breadcrumbs a{color:var(--muted-2-color, var(--color-ink-4, #999));text-decoration:none;transition:color .2s}.breadcrumb a:hover,ul.breadcrumb a:hover,.breadcrumb-nav a:hover,.breadcrumbs a:hover{color:var(--focus-color, var(--color-primary, #f04494))}.breadcrumb>li:last-child,ul.breadcrumb>li:last-child,.breadcrumb-nav .current,.breadcrumbs__item.is-current{color:var(--main-color, var(--color-ink-2, #4e5358))}.single-cover-con .breadcrumb,.single-cover-con ul.breadcrumb,.single-cover-con .breadcrumb-nav{font-size:13px;margin:5px 0 0 -6px;opacity:unset;padding:0;background:transparent}.single-video .breadcrumb{padding:0}.single-cover-con .breadcrumb,.single-cover-con ul.breadcrumb,.single-cover-con .breadcrumb-nav,.single-cover-con .breadcrumb a,.single-cover-con ul.breadcrumb a,.single-cover-con .breadcrumb-nav a{color:#ffffffd9}.single-cover-con .breadcrumb a:hover,.single-cover-con ul.breadcrumb a:hover,.single-cover-con .breadcrumb-nav a:hover{color:#fff}.single-cover-con .breadcrumb>li:last-child,.single-cover-con ul.breadcrumb>li:last-child{color:#fff}@media(max-width:767px){.breadcrumb,ul.breadcrumb,.breadcrumb-nav,.breadcrumbs-wrap{font-size:12px}}.aksrt-homepage{font-family:Helvetica Neue,Helvetica,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-color, #4e5358);background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:28px}.aksrt-homepage a[href]{transition:color .2s,background .3s,opacity .3s,box-shadow .3s,transform .3s}.aksrt-homepage__fluid-zone.content-shell,.aksrt-homepage__shell.content-shell{max-width:min(100%,var(--container, 1200px))}.aksrt-homepage__fluid-zone.content-shell{padding-top:18px;padding-bottom:0}.aksrt-homepage__shell.content-shell{padding-top:0;padding-bottom:56px}.aksrt-homepage__fluid-zone--bottom{margin-bottom:12px}@media(max-width:767px){.aksrt-homepage{padding-bottom:20px}.aksrt-homepage__shell.content-shell{padding-bottom:40px}}.aksrt-homepage__content-layout{display:block;gap:0}@media(max-width:1200px){.aksrt-homepage__fluid-zone.content-shell,.aksrt-homepage__shell.content-shell{max-width:95%}}.aksrt-homepage__content-zone,.aksrt-homepage__fluid-zone,.aksrt-homepage__aside{display:block}.aksrt-homepage__content-zone .widget-card:last-child,.aksrt-homepage__aside .widget:last-child,.aksrt-homepage__fluid-zone .widget-fluid:last-child{margin-bottom:0}.aksrt-homepage__fluid-zone .widget-fluid{margin-bottom:20px;background:transparent;padding:0;border:0;box-shadow:none}.aksrt-homepage .widget-fluid.widget_aksrt_tab_posts,.aksrt-homepage .widget-fluid.widget_aksrt_category_block,.aksrt-homepage .widget-fluid.widget_aksrt_category_tabs,.aksrt-homepage .widget-fluid.widget_aksrt_category_recommend{padding:15px;background:var(--surface-1, #fff);border:none;border-radius:var(--main-radius, var(--radius, 8px));box-shadow:var(--shadow-sm)}.aksrt-homepage__content-zone .widget-card,.aksrt-homepage__aside .widget{background:var(--surface-1, #fff);padding:15px;border:none;border-radius:var(--main-radius, var(--radius, 8px));box-shadow:var(--shadow-sm)}.title-theme{position:relative;padding-left:1.2em;font-size:15px;font-weight:700;line-height:1.4}.title-theme:before{position:absolute;top:10%;bottom:10%;left:2px;width:4px;content:"";background:var(--color-primary);border-radius:5px;box-shadow:1px 1px 3px -1px var(--color-primary)}.flex{display:flex}.flex.xx,.xx{flex-direction:column}.flex1,.flex-1{flex:1 1 auto;min-width:0}.jsb,.jb{justify-content:space-between}.ac{align-items:center}.aksrt-homepage .navigation.pagination .nav-links,.aksrt-homepage .pagination{gap:0;margin:20px 0 10px}.aksrt-homepage .navigation.pagination .page-numbers,.aksrt-homepage .pagination .page-numbers{min-width:34px;height:34px;padding:0 10px;margin:3px;border:1px solid transparent;border-radius:var(--radius-xs, 3px);background:var(--surface-4, #eee);color:var(--color-ink-3, #777);font-size:13px;line-height:1.4}.aksrt-homepage .navigation.pagination .page-numbers:hover,.aksrt-homepage .pagination .page-numbers:hover{opacity:1;background:var(--color-primary-soft);color:var(--color-primary)}.aksrt-homepage .navigation.pagination .current,.aksrt-homepage .pagination .current{background:var(--color-primary, var(--color-primary))!important;color:#fff!important}.aksrt-homepage__aside>.aksrt-panel,.aksrt-homepage__aside>.widget{margin-bottom:15px;padding:15px;background:var(--surface-1, #fff);border:0;border-radius:var(--main-radius, var(--radius, 8px));box-shadow:var(--shadow-sm)}.aksrt-homepage__aside>.aksrt-panel:last-child,.aksrt-homepage__aside>.widget:last-child{margin-bottom:0}.aksrt-homepage__aside .widget-list li,.aksrt-homepage__aside .widget_recent_entries li,.aksrt-homepage__aside .recent-posts-row{padding-top:8px;padding-bottom:8px}.aksrt-homepage__aside .widget-title,.aksrt-homepage__content-zone .widget-title{margin-bottom:12px}.aksrt-homepage__aside .widget-title{position:relative;margin:0 0 10px;padding-left:1.2em;padding-bottom:8px;font-size:15px;font-weight:700;line-height:1.4}.aksrt-homepage__aside .widget-title:before{content:"";position:absolute;top:10%;bottom:10%;left:2px;width:4px;height:auto;background:var(--color-primary, var(--color-primary));border-radius:5px;box-shadow:1px 1px 3px -1px var(--color-primary, var(--color-primary));transition:transform .4s ease;transform-origin:left}.aksrt-homepage__aside .widget_recent_entries li a,.aksrt-homepage__aside .widget-list li a{font-size:13px;font-weight:500;line-height:1.5}.aksrt-homepage__aside .widget_recent_entries li{display:block}.aksrt-homepage__aside .widget_search .search-field{height:40px;border-radius:30px;background:var(--surface-2, #eee)}.aksrt-homepage__aside .widget_search .search-submit{top:4px;right:4px;height:32px;padding:0 12px;border-radius:30px;font-size:12px}.aksrt-homepage__aside .tag-cloud{gap:6px}.aksrt-homepage__aside .tag-cloud a{padding:4px 10px;border-radius:20px;font-size:12px;border:0;background:var(--surface-2, #eee);transition:background .2s,color .2s}.aksrt-homepage__aside .tag-cloud a:hover{background:var(--color-primary, var(--color-primary));color:#fff}.aksrt-homepage .widget.notop,.aksrt-homepage .box-body.notop{padding-top:0}.aksrt-homepage .widget.nobottom,.aksrt-homepage .box-body.nobottom{padding-bottom:0}.aksrt-homepage .widget.widget_custom_html{padding:0;background:transparent;box-shadow:none;border-radius:0} +.posts-row{margin-right:-8px;margin-bottom:15px;margin-left:-8px}.posts-row>*:not(.post_ajax_loader){margin-right:8px!important;margin-left:8px!important}.posts-row>.post_ajax_loader .posts-item,.posts-row>.post_ajax_loader .posts-mini{margin-right:8px;margin-left:8px}.posts-item{margin:15px 0;padding:20px;overflow:hidden;background:var(--main-bg-color, #fff);border-radius:var(--main-radius, 8px);box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08));transition:.2s}.posts-item.flex,.posts-item .flex,.posts-mini .flex{display:flex}.posts-item .flex.xx,.posts-mini .flex.xx{flex-direction:column}.posts-item .flex.ac,.posts-mini .flex.ac{align-items:center}.posts-item .flex.jsb,.posts-mini .flex.jsb{justify-content:space-between}.posts-item .flex1,.posts-mini .flex1{flex:1;overflow:hidden}.posts-item .post-graphic:not(.order1){margin-right:20px}.posts-item .order1.post-graphic{margin-right:0;margin-left:20px}.posts-item .item-thumbnail{position:relative;display:block;width:190px;height:0;padding-bottom:var(--posts-list-scale, 70%);overflow:hidden;border-radius:var(--main-radius, 8px)}.item-thumbnail.contain img{object-fit:contain}.swiper-slide.gradient-bg .dplayer-poster img,.swiper-slide.gradient-bg>*>img{object-fit:contain!important;border-radius:0!important}.item-thumbnail .swiper-wrapper{height:100%!important}.list .item-thumbnail .aksrt-slider,.list .item-thumbnail.new-swiper{position:absolute;width:100%;height:100%;margin:0!important}.item-thumbnail .dplayer.dplayer-thumb{position:absolute;inset:0;z-index:1;padding-bottom:var(--posts-list-scale, 70%);background:#000;opacity:0;transition:opacity .3s}.card .item-thumbnail .dplayer.dplayer-thumb{padding-bottom:var(--posts-card-scale, 70%)}.item-thumbnail .dplayer-thumb video,.item-thumbnail .swiper-wrapper,.item-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.item-thumbnail .swiper-pagination{right:0!important;bottom:0!important;left:0!important;padding:0 2px!important;text-align:center!important}.posts-item.thumb-dplayer-playing .dplayer-thumb{opacity:1}.posts-item.thumb-dplayer-playing .abs-center{opacity:0}.posts-item .item-heading{display:-webkit-box;max-height:2.8em;margin-top:0;margin-bottom:5px;overflow:hidden;font-size:18px;line-height:1.4em;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.font-bold{font-weight:700}.list.style2 .item-thumbnail{width:130px}.list.style2 .item-heading{display:unset;max-height:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.posts-item .item-heading>a{color:var(--key-color, #333)}.posts-item .item-heading>a:hover{color:var(--focus-color, #f04494)}.posts-item .item-excerpt{margin:0 0 6px;overflow:hidden;color:var(--muted-color, #777);text-overflow:ellipsis;white-space:nowrap}.posts-item .item-meta item{margin-right:8px;font-size:13px}.posts-item .item-meta svg.icon,.posts-mini .item-meta svg.icon{display:inline-block;width:1em;height:1em;margin-right:2px;fill:currentColor;overflow:hidden;vertical-align:-.15em}.posts-item .meta-right item:last-child{margin-right:0}.item-meta .avatar-mini{width:20px;height:20px;border-radius:50%;transform:translateY(-1px)}.item-meta .meta-pay{padding:0 4px}.item-meta .meta-pay img{width:1em;height:1em;object-fit:contain;vertical-align:-.15em}.posts-item .item-meta a,.posts-mini .item-meta a{color:inherit}.posts-item .item-tags a{margin-right:5px;padding:2px 5px;font-size:11px}.posts-item .item-tags a .fa{font-size:1em}.posts-item.card{display:inline-block;width:calc(33.333% - 16px);margin:8px;padding:10px;vertical-align:top;transition:.3s}.posts-item.card:last-child{margin-bottom:20px}.posts-item.card .item-body{width:100%;margin:10px 0 0;padding:0}.posts-item.card .item-meta item{font-size:12px}.posts-mini-con .item-heading,.posts-item.card .item-heading{font-size:14px}.posts-item.card .item-heading{min-height:2.8em}.posts-item.card .item-tags{min-height:23px}.posts-item.card .item-thumbnail{width:100%;padding-bottom:var(--posts-card-scale, 70%)}.posts-item.card.style2{background:transparent;box-shadow:none}.posts-item.card.style2:hover{background:var(--main-bg-color, #fff);box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.posts-item.card.style3{padding:0}.posts-item.card.style3 .item-thumbnail,.posts-item.card.style3 .item-thumbnail img{border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.posts-item.card.style3 .item-body{margin:0;padding:10px}.posts-item.mult-thumb .thumb-items{margin:0 -3px 6px}.posts-item.mult-thumb .thumb-items>span{position:relative;display:inline-block;width:calc(25% - 6px);height:0;margin:0 3px;padding-bottom:calc(var(--posts-list-scale, 70%) / 4)}.posts-item.mult-thumb .thumb-items>span>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.posts-item.mult-thumb .thumb-items.contain>span{overflow:hidden;background:var(--main-border-color, rgba(50, 50, 50, .06));border-radius:var(--main-radius, 8px)}.posts-item.mult-thumb .thumb-items.contain>span>img{object-fit:contain;border-radius:0}.posts-item.no_margin{margin:0;border-radius:0;box-shadow:none}.posts-item.no-thumb .item-excerpt{height:auto}.posts-item.no-thumb .item-body{width:100%}.posts-item+.pagenav{margin-top:-15px}.posts-item.card+.pagenav{margin-top:-10px}.no_margin:first-of-type{margin-top:10px;border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.no_margin:last-of-type{margin-bottom:15px;border-radius:0 0 var(--main-radius, 8px) var(--main-radius, 8px)}.posts-mini{padding:10px;display:inline-flex;width:50%;vertical-align:top}.posts-mini-con{flex:auto;overflow:hidden}.posts-mini .item-thumbnail{width:96px;height:0;padding-bottom:var(--posts-list-scale, 70%);position:relative;overflow:hidden;border-radius:var(--main-radius, 8px)}.posts-mini .item-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.posts-mini .item-heading{margin:0}.posts-mini .item-heading.icon-circle{margin-left:-5px}.posts-mini .item-meta{font-size:12px}.posts-mini-con .badg{min-width:18px}.sidebar .posts-mini,.mobile-nav-widget .posts-mini{width:100%!important}.mobile-nav-widget .posts-mini{padding-right:0;padding-left:0}.posts-mini:last-of-type{margin-bottom:0}.posts-mini-lists{padding:5px}.posts-mini-lists .tab-nav-theme{padding:0 5px 2px}.mobile-nav-widget .posts-mini-lists .tab-nav-theme{margin:0 -5px;padding:0}.widget-main-post.style-list .widget-ajaxpager,.widget-main-post.style-card .widget-ajaxpager,.widget-tab-post.index-tab .tab-content>.tab-pane{margin:-8px -8px 15px}.widget-tab-post.style-list .tab-content>.tab-pane{margin-bottom:25px}.widget-main-post.style-list .posts-item,.widget-tab-post.style-list .posts-item{margin-right:8px;margin-left:8px}.widget-main-post.style-list .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-main-post.style-card .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-tab-post .tab-content>.tab-pane>.widget-ajaxpager>.post_ajax_loader .posts-item{margin-right:8px;margin-left:8px}.posts-mini:hover img,.posts-item:hover .item-thumbnail img,.posts-item.mult-thumb .thumb-items>span>img:hover{transform:scale(1.02)}.swiper-scroll .posts-item{flex-shrink:0;margin:0 16px 0 0!important}.swiper-scroll .posts-item.list{width:calc(50% - 8px)!important;min-width:520px!important}.swiper-scroll .posts-item.posts-mini{width:360px!important}.swiper-scroll .posts-item.card{width:calc(33.333% - 11px)!important}@media(min-width:992px){.fluid-widget-wrap .posts-item.card,.site-layout-1 .posts-item.card{width:calc(25% - 16px)}.fluid-widget-wrap .posts-item:not(.card),.site-layout-1 .posts-item:not(.card){display:inline-flex;width:calc(50% - 16px);margin:8px}.fluid-widget-wrap .posts-item.no_margin,.site-layout-1 .posts-item.no_margin{border-radius:var(--main-radius, 8px)}.fluid-widget-wrap .posts-mini,.site-layout-1 .posts-mini{width:33.333%}.sidebar .posts-item.card,.sidebar .posts-item.list{width:100%!important;min-width:0!important;margin:0}}@media(max-width:767px){.posts-row{margin-right:-5px;margin-left:-5px}.posts-row>*:not(.post_ajax_loader){margin-right:5px!important;margin-left:5px!important}.posts-row>.post_ajax_loader .posts-item,.posts-row>.post_ajax_loader .posts-mini{margin-right:5px;margin-left:5px}.posts-item .item-thumbnail{width:138px}.posts-mini .item-thumbnail,.list.style2 .item-thumbnail{width:90px}.posts-item .post-graphic:not(.order1){margin-right:15px}.posts-item .order1.post-graphic{margin-left:15px}.posts-item .item-heading{font-size:15px}.posts-item:not(.no-thumb) .item-excerpt{display:none}.posts-item.card{width:calc(50% - 10px);margin:5px}.widget-main-post.style-list .widget-ajaxpager,.widget-main-post.style-card .widget-ajaxpager,.widget-tab-post.index-tab .tab-content>.tab-pane{margin:-5px -5px 20px}.widget-tab-post.style-list .tab-content>.tab-pane,.widget-main-post.style-list .widget-ajaxpager{margin-top:-15px}.widget-tab-post.style-list .posts-item{margin-right:5px;margin-left:5px}.widget-main-post.style-list .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-main-post.style-card .widget-ajaxpager>.post_ajax_loader .posts-item,.widget-tab-post .tab-content>.tab-pane>.widget-ajaxpager>.post_ajax_loader .posts-item{margin-right:5px;margin-left:5px}.swiper-scroll .posts-item{margin-right:10px!important}.posts-item.card:nth-child(odd){margin-right:5px}.posts-item.card:nth-child(2n){margin-left:5px}.posts-item.mult-thumb .thumb-items>span{width:calc(33.333% - 6px);padding-bottom:calc(var(--posts-list-scale, 70%) / 3)}.posts-item.mult-thumb .thumb-items>span:nth-child(4){display:none}.swiper-scroll .posts-item.card{width:calc(50% - 5px)!important}.swiper-scroll .posts-item.list{width:100%!important;min-width:auto!important}}@media(max-width:640px){.posts-item:not(.no-thumb) .meta-right item{display:none}.posts-mini{width:100%}.posts-item{margin:10px 0;padding:10px}.aksrt-panel .posts-item.no_margin{padding:10px 0}}@media(prefers-reduced-motion:reduce){.posts-item,.posts-item img{transition:none}}.sidebar{box-sizing:border-box}.sidebar-inner{position:sticky;top:calc(var(--nav-height, 60px) + 20px)}.widget{background:var(--surface-1, #fff);border-radius:var(--main-radius, var(--radius, 8px));box-shadow:var(--shadow-sm);border:none;margin-bottom:20px;overflow:hidden}.widget-title{font-size:16px;font-weight:700;color:var(--color-ink, #333);padding-bottom:10px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.widget-title i{color:var(--color-primary, #f04494);font-size:14px}.widget a{color:var(--color-ink-2, #4e5358);text-decoration:none;transition:color .2s}.widget a:hover{color:var(--color-primary, #f04494)}.widget a.but,.widget a.img-badge{color:var(--this-color, #fff)}.widget-tag-cloud .tagcloud{display:flex;flex-wrap:wrap;gap:6px}.widget-tag-cloud .tagcloud a{display:inline-block;padding:3px 10px;font-size:12px!important;background:var(--surface-2, #eee);border-radius:4px;color:var(--color-ink-2, #4e5358);transition:all .2s}.widget-tag-cloud .tagcloud a:hover{background:var(--color-primary-soft, rgba(240, 68, 148, .1));color:var(--color-primary, #f04494)}.widget ul{list-style:none;margin:0;padding:0}.widget ul li{padding:8px 0;font-size:13px;line-height:1.6}.widget ul li:last-child{border-bottom:none}@media(max-width:991px){.sidebar{display:none}}.breadcrumb,ul.breadcrumb,.breadcrumb-nav,.breadcrumbs-wrap{background:transparent;font-size:13px;padding:0 8px;margin:0 0 12px;opacity:.6;line-height:1.8;list-style:none}.breadcrumb-nav ol,.breadcrumb-nav ul,ul.breadcrumb,.breadcrumbs.breadcrumb{list-style:none;margin:0;padding:0;display:block}.breadcrumb>li,ul.breadcrumb>li,.breadcrumb-nav li,.breadcrumbs.breadcrumb>li{display:inline}.breadcrumb>li+li:before,ul.breadcrumb>li+li:before,.breadcrumb-nav li+li:before{content:"/";padding:0 0 0 6px;opacity:.6}.breadcrumbs.breadcrumb .breadcrumbs__sep{padding:0 6px;opacity:.6}.breadcrumb a,ul.breadcrumb a,.breadcrumb-nav a,.breadcrumbs a{color:var(--muted-2-color, var(--color-ink-4, #999));text-decoration:none;transition:color .2s}.breadcrumb a:hover,ul.breadcrumb a:hover,.breadcrumb-nav a:hover,.breadcrumbs a:hover{color:var(--focus-color, var(--color-primary, #f04494))}.breadcrumb>li:last-child,ul.breadcrumb>li:last-child,.breadcrumb-nav .current,.breadcrumbs__item.is-current{color:var(--main-color, var(--color-ink-2, #4e5358))}.single-cover-con .breadcrumb,.single-cover-con ul.breadcrumb,.single-cover-con .breadcrumb-nav{font-size:13px;margin:5px 0 0 -6px;opacity:unset;padding:0;background:transparent}.single-video .breadcrumb{padding:0}.single-cover-con .breadcrumb,.single-cover-con ul.breadcrumb,.single-cover-con .breadcrumb-nav,.single-cover-con .breadcrumb a,.single-cover-con ul.breadcrumb a,.single-cover-con .breadcrumb-nav a{color:#ffffffd9}.single-cover-con .breadcrumb a:hover,.single-cover-con ul.breadcrumb a:hover,.single-cover-con .breadcrumb-nav a:hover{color:#fff}.single-cover-con .breadcrumb>li:last-child,.single-cover-con ul.breadcrumb>li:last-child{color:#fff}@media(max-width:767px){.breadcrumb,ul.breadcrumb,.breadcrumb-nav,.breadcrumbs-wrap{font-size:12px}}.aksrt-homepage{font-size:14px;line-height:1.42857143;color:var(--main-color)}.aksrt-homepage__content-layout,.aksrt-homepage__content-zone,.aksrt-homepage__fluid-zone,.aksrt-homepage__aside{display:block} diff --git a/assets/css/build/public.css b/assets/css/build/public.css index bb77a5bb..b73a3fbd 100644 --- a/assets/css/build/public.css +++ b/assets/css/build/public.css @@ -2464,6 +2464,12 @@ a[href] { font-weight: 400; } +/* FA5's later .fa rule sets 900; keep outline glyphs at their regular weight. */ +.fa.far { + font-family: "Font Awesome 5 Free"; + font-weight: 400; +} + .skip-link { position: absolute; left: 16px; @@ -3322,104 +3328,13 @@ body.site-layout-3 .sidebar, max-width: 720px; } -.term-page-header { - position: relative; - overflow: hidden; - border: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.08)); - border-radius: var(--radius-lg); - background: var(--surface-1); - box-shadow: var(--shadow-sm, 0 1px 6px rgba(15, 23, 42, 0.04)); +/* Reference cover ratio must outrank the shared panel padding. */ +body.category .site-main { + line-height: 1.42857143; } -.term-page-header__body { - position: relative; - z-index: 1; - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 16px; - padding: 24px; -} - -.term-page-header__eyebrow { - margin: 0 0 8px; - font-size: 0.8125rem; - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-primary); -} - -.term-page-header__desc { - margin-top: 10px; -} - -.term-page-header__cover { - min-height: 140px; - background-position: center; - background-size: cover; - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.08)); -} - -.term-page-header--simple .term-page-header__cover { - display: none; -} - -/* Card style: accent top border, slightly more padding */ -.term-page-header--card { - border-top: 3px solid var(--color-primary, #f04494); -} - -.term-page-header--card .term-page-header__body { - padding: 28px 24px; -} - -/* Cover style: full-width hero with background image */ -.term-page-header--cover { - border: none; - border-radius: var(--radius-lg); - background: transparent; - box-shadow: none; - min-height: 220px; - display: flex; - flex-direction: column; -} - -.term-page-header__cover-bg { - position: absolute; - inset: 0; - background-position: center; - background-size: cover; - border-radius: var(--radius-lg); -} - -.term-page-header__cover-overlay { - position: absolute; - inset: 0; - background: linear-gradient(135deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 100%); - border-radius: var(--radius-lg); -} - -.term-page-header--cover .term-page-header__body { - flex: 1; - align-items: flex-end; - z-index: 2; -} - -.term-page-header__body--overlay .entry-title, -.term-page-header__body--overlay .term-page-header__desc, -.term-page-header__body--overlay .term-page-header__eyebrow { - color: #fff; -} - -.term-page-header__body--overlay .term-page-header__eyebrow { - color: rgba(255, 255, 255, 0.8); -} - -@media (max-width: 767px) { - .term-page-header--cover { - min-height: 160px; - } +.page-cover.aksrt-panel { + padding: 0 0 calc(25% + 80px); } .aksrt-admin-quicklink { @@ -3444,103 +3359,18 @@ body.site-layout-3 .sidebar, background: var(--color-primary-soft, rgba(59, 130, 246, 0.08)); } -.archive-filter-bar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - flex-wrap: wrap; - margin: -8px 0 24px; - padding: 16px 18px; - border-radius: var(--radius-lg); - background: var(--surface-2); - border: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); -} - -.archive-filter-bar__main { - display: flex; - align-items: center; - gap: 12px; - flex-wrap: wrap; -} - -.archive-filter-bar__label { - color: var(--color-ink-4); - font-size: 0.8125rem; - font-weight: 600; -} - -.archive-filter-bar__chips { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 8px; -} - -.archive-filter-bar__chip { - display: inline-flex; - align-items: center; - min-height: 34px; - padding: 0 12px; - border-radius: var(--radius-pill, 999px); - background: var(--surface-1); - color: var(--color-ink-2); - text-decoration: none; - font-size: 0.875rem; - font-weight: 500; -} - -.archive-filter-bar__chip.is-active, -.archive-filter-bar__chip:hover { - background: var(--color-primary); - color: var(--color-on-primary, #fff); -} - -.archive-filter-bar__meta { - color: var(--color-ink-4); - font-size: 0.8125rem; - font-weight: 600; -} - -.archive-filter-bar__sort { - display: flex; - align-items: center; - gap: 8px; - margin-left: auto; -} - -.archive-filter-bar__main--tags { - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); - padding-top: 10px; - margin-top: 10px; -} - -/* §3.4 custom_filter dimension rows */ -.archive-filter-bar__main--custom { - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); - padding-top: 10px; - margin-top: 10px; -} - - .content-stream { - display: grid; - gap: 20px; + display: block; } .content-main--archive, .content-main--tag, -.content-main--category, .content-main--search, .content-main--single { display: grid; gap: 20px; } -.content-stream__list { - width: 100%; -} - .content-stream__empty { padding: 28px 24px; border-radius: var(--radius-lg); @@ -3558,12 +3388,6 @@ body.site-layout-3 .sidebar, 全站只有一套加载语言。 */ @media (max-width: 767px) { - .term-page-header__body { - flex-direction: column; - align-items: stretch; - padding: 20px; - } - .aksrt-admin-quicklink { width: fit-content; } diff --git a/assets/css/build/public.min.css b/assets/css/build/public.min.css index ce0cf95e..d9fa9e1a 100644 --- a/assets/css/build/public.min.css +++ b/assets/css/build/public.min.css @@ -1 +1 @@ -:root{--color-primary: #f04494;--color-primary-hover: #e0307e;--color-primary-active: #c9206d;--color-primary-soft: rgba(240, 68, 148, .1);--color-primary-softer: rgba(240, 68, 148, .05);--color-on-primary: #FFFFFF;--color-ink: #333333;--color-ink-2: #4e5358;--color-ink-3: #777777;--color-ink-4: #999999;--surface-page: #f5f6f7;--surface-1: #FFFFFF;--surface-2: #eeeeee;--surface-3: #e9ecef;--surface-4: #f8f8f8;--color-line: rgba(50, 50, 50, .06);--color-line-soft: rgba(0, 0, 0, .03);--color-line-stronger: rgba(50, 50, 50, .12);--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-accent: #18a058;--color-accent-soft: rgba(24, 160, 88, .12);--color-accent-shadow: rgba(24, 160, 88, .28);--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: .875rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-xs: 3px;--radius-sm: 4px;--radius: 8px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-pill: 100px;--radius-avatar: 50%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 0 10px rgba(116, 116, 116, .08);--shadow: 0 0 10px rgba(116, 116, 116, .12);--shadow-lg: 0 12px 32px rgba(18, 18, 18, .1);--shadow-drawer: 0 18px 60px rgba(0, 0, 0, .2);--nav-height: 60px;--container: 1200px;--container-wide: 1440px;--container-read: 760px;--container-page: 880px;--sidebar-width: 311px;--content-gap: 24px;--section-gap: 24px;--sidebar-bp: 992px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur: .25s;--dur-slow: .4s;--focus-ring: 0 0 2px 3px rgba(253, 83, 161, .4);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-popover: 600;--z-toast: 700;--z-tooltip: 800;--radius-btn: 4px;--btn-sm-h: 28px;--btn-md-h: 34px;--btn-lg-h: 44px;--card-padding: 15px;--card-padding-sm: 10px;--card-gap: 16px;--card-gap-lg: 20px;--color-primary-light: var(--color-primary-soft);--color-surface: var(--surface-1);--color-line-strong: var(--color-line);--color-bg-hover: var(--surface-2);--color-border-light: var(--color-line-soft);--color-fill: var(--surface-2);--color-warning-bg: #fffbe6;--color-warning-text: #ad6800;--text-secondary: var(--color-ink-3);--text-tertiary: var(--color-ink-4);--surface-active: var(--surface-2);--surface-card: var(--surface-1);--surface-hover: var(--surface-2);--surface-secondary: var(--surface-2);--radius-code: var(--radius);--radius-full: 100px;--shadow-xl: 0 0 10px rgba(116, 116, 116, .12);--space-16: 64px;--z-floating: 900;--transition-fast: .15s ease;--transition-base: .25s ease;--header-bg: var(--blur-bg);--header-color: var(--color-ink-2);--footer-bg: var(--surface-1);--footer-color: var(--color-ink-4);--blur-bg: rgba(255, 255, 255, .8);--float-btn-bg: rgba(200, 200, 200, .4);--font-heading: var(--font-ui);--radius-card: var(--radius);--radius-md: var(--radius);--color-primary-50: var(--color-primary-soft);--color-primary-dark: var(--color-primary-active);--shadow-md: var(--shadow);--mini-radius: calc(var(--radius) / 1.4);--aksrt-avatar-size-xs: 24px;--aksrt-avatar-size-sm: 32px;--aksrt-avatar-size: 40px;--aksrt-avatar-size-lg: 56px;--aksrt-avatar-size-xl: 80px;--aksrt-card-thumb-scale: 56.25%;--aksrt-rose: #f43f5e;--aksrt-rose-soft: rgba(244, 63, 94, .12);--aksrt-blue: #3b82f6;--aksrt-blue-soft: rgba(59, 130, 246, .12);--aksrt-green: #10b981;--aksrt-green-soft: rgba(16, 185, 129, .12);--aksrt-orange: #f97316;--aksrt-orange-soft:rgba(249, 115, 22, .12);--aksrt-purple: #8b5cf6;--aksrt-purple-soft:rgba(139, 92, 246, .12);--aksrt-cyan: #06b6d4;--aksrt-cyan-soft: rgba(6, 182, 212, .12);--aksrt-yellow: #eab308;--aksrt-yellow-soft:rgba(234, 179, 8, .12);--aksrt-red: #ef4444;--aksrt-red-soft: rgba(239, 68, 68, .12);--aksrt-teal: #14b8a6;--aksrt-teal-soft: rgba(20, 184, 166, .12);--aksrt-indigo: #6366f1;--aksrt-indigo-soft:rgba(99, 102, 241, .12);--aksrt-pink: #ec4899;--aksrt-pink-soft: rgba(236, 72, 153, .12);--aksrt-vip-gold-1: #f6d365;--aksrt-vip-gold-2: #fda085;--aksrt-grad-sunset-1: #f093fb;--aksrt-grad-sunset-2: #f5576c;--aksrt-grad-ocean-1: #4facfe;--aksrt-grad-ocean-2: #00f2fe;--aksrt-grad-forest-1: #43e97b;--aksrt-grad-forest-2: #38f9d7;--aksrt-grad-night-1: #a18cd1;--aksrt-grad-night-2: #fbc2eb;--aksrt-grad-fire-1: #f83600;--aksrt-grad-fire-2: #f9d423;--aksrt-toggle-w: 44px;--aksrt-toggle-h: 24px;--aksrt-stepper-h: 36px;--aksrt-badge-h: 22px;--text-1: var(--color-ink);--text-2: var(--color-ink-2);--text-3: var(--color-ink-3);--border: var(--color-line);--color-text-1: var(--color-ink);--color-text-2: var(--color-ink-2);--color-text-3: var(--color-ink-3);--color-primary-bg: var(--color-primary-softer);--color-danger: var(--color-error)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){:root{--blur-bg: var(--surface-1);--header-bg: var(--surface-1)}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){html.dark,body.dark-theme{--blur-bg: #37383a;--header-bg: #37383a}}body.modal-open,body.dialog-open{--blur-bg: var(--surface-1);--header-bg: var(--surface-1)}body.modal-open .site-nav,body.modal-open .footer-tabbar,body.modal-open .float-right .float-btn,body.dialog-open .site-nav,body.dialog-open .footer-tabbar,body.dialog-open .float-right .float-btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.dark body.modal-open,html.dark body.dialog-open,body.dark-theme.modal-open,body.dark-theme.dialog-open{--blur-bg: #37383a;--header-bg: #37383a}@media(min-width:992px){:root{--container: 960px}}@media(min-width:1200px){:root{--container: 1140px}}@media(min-width:1400px){:root{--container: 1200px}}html.dark,body.dark-theme{--color-ink: #f8fafc;--color-ink-2: #e5eef7;--color-ink-3: #b4b6bb;--color-ink-4: #888a8f;--surface-page: #292a2d;--surface-1: #323335;--surface-2: #2d2e31;--surface-3: #3a3c42;--surface-4: #26282d;--color-line: rgba(114, 114, 114, .1);--color-line-soft: rgba(184, 184, 184, .02);--color-line-stronger: rgba(255, 255, 255, .12);--color-primary-soft: rgba(240, 68, 148, .16);--color-primary-softer: rgba(240, 68, 148, .08);--color-primary-light: var(--color-primary-soft);--color-surface: var(--surface-1);--color-line-strong: var(--color-line);--color-bg-hover: var(--surface-2);--color-border-light: var(--color-line-soft);--color-fill: var(--surface-2);--text-secondary: var(--color-ink-3);--text-tertiary: var(--color-ink-4);--surface-active: var(--surface-2);--surface-card: var(--surface-1);--surface-hover: var(--surface-2);--surface-secondary: var(--surface-2);--shadow-xl: 0 0 10px rgba(24, 24, 24, .18);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);--shadow-sm: 0 0 10px rgba(24, 24, 24, .1);--shadow: 0 0 10px rgba(24, 24, 24, .14);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .32);--shadow-drawer: 0 20px 60px rgba(0, 0, 0, .6);--blur-bg: rgba(50, 51, 53, .8);--float-btn-bg: rgba(70, 70, 70, .4);--header-bg: var(--blur-bg);--footer-bg: var(--surface-1);--footer-color: var(--color-ink-4);--shadow-md: var(--shadow);--aksrt-rose-soft: rgba(244, 63, 94, .18);--aksrt-blue-soft: rgba(59, 130, 246, .18);--aksrt-green-soft: rgba(16, 185, 129, .18);--aksrt-orange-soft:rgba(249, 115, 22, .18);--aksrt-purple-soft:rgba(139, 92, 246, .18);--aksrt-cyan-soft: rgba(6, 182, 212, .18);--aksrt-yellow-soft:rgba(234, 179, 8, .18);--aksrt-red-soft: rgba(239, 68, 68, .18);--aksrt-teal-soft: rgba(20, 184, 166, .18);--aksrt-indigo-soft:rgba(99, 102, 241, .18);--aksrt-pink-soft: rgba(236, 72, 153, .18)}html.dark .site-nav,body.dark-theme .site-nav{border-bottom-color:var(--color-line);box-shadow:none}html.dark .footer-tabbar,body.dark-theme .footer-tabbar{background:#323335cc;box-shadow:0 -1px 3px #0003}html.dark .n-drawer,html.dark .n-modal,html.dark .n-dialog,body.dark-theme .n-drawer,body.dark-theme .n-modal,body.dark-theme .n-dialog{background:var(--surface-1)}html.dark .post-card,html.dark .widget,html.dark .aksrt-theme-box,html.dark .theme-box,body.dark-theme .post-card,body.dark-theme .widget,body.dark-theme .aksrt-theme-box,body.dark-theme .theme-box{border-color:transparent}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);background-color:var(--surface-page);color:var(--color-ink-2);transition:background-color .25s ease,color .25s ease;overflow-x:hidden}img,picture,video,canvas{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--color-primary)}:focus{outline:none}::selection{background:var(--color-primary-soft);color:var(--color-ink)}.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.sr-only:focus{position:fixed!important;top:16px;left:16px;width:auto;height:auto;padding:8px 16px;background:var(--surface-1);color:var(--color-ink);z-index:100000;clip:auto;box-shadow:var(--shadow-lg);border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-weight:700;margin:20px 0 10px;color:var(--key-color, #333)}h1{font-size:22px}h2{font-size:20px}h3{font-size:18px}h4{font-size:16px}h5{font-size:15px}h6{font-size:14px}.wp-posts-content,.entry-content,.prose{font-size:16px;line-height:2;color:var(--main-color, #4e5358);min-height:90px}.wp-posts-content h1,.wp-posts-content h2,.wp-posts-content h3,.wp-posts-content h4,.wp-posts-content h5,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{font-weight:700;margin:20px 0 10px;color:var(--key-color, #333)}.wp-posts-content h1,.entry-content h1,.prose h1{font-size:22px}.wp-posts-content h2,.entry-content h2,.prose h2{font-size:20px}.wp-posts-content h3,.entry-content h3,.prose h3{font-size:18px}.wp-posts-content h4,.entry-content h4,.prose h4{font-size:16px}.wp-posts-content p,.entry-content p,.prose p{margin:0 0 20px;word-wrap:break-word}.wp-posts-content a,.entry-content a,.prose a{color:var(--focus-color, #f04494);text-decoration:none}.wp-posts-content a:hover,.entry-content a:hover,.prose a:hover{color:var(--focus-color, #f04494)}.wp-posts-content img,.entry-content img,.prose img{max-width:100%;height:auto;display:block;margin:auto}.wp-posts-content code:not(pre code),.entry-content code:not(pre code),.prose code:not(pre code){color:#ff3c98;background:#fd999933;font-family:var(--font-mono, monospace);font-size:.9em}.wp-posts-content pre,.entry-content pre,.prose pre{position:relative;background:#282c34;color:#abb2bf;padding:15px;border-radius:var(--main-radius, 8px);overflow-x:auto;font-size:14px;line-height:1.5;margin:0 0 20px}.wp-posts-content pre code,.entry-content pre code,.prose pre code{color:inherit;background:none;padding:0;font-size:inherit}.wp-posts-content table,.entry-content table,.prose table{font-size:14px;width:100%;border-collapse:collapse;margin:0 0 20px}.wp-posts-content th,.wp-posts-content td,.entry-content th,.entry-content td,.prose th,.prose td{border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));padding:8px}.wp-posts-content th,.entry-content th,.prose th{background:var(--muted-border-color, rgba(0, 0, 0, .03));font-weight:700}.wp-posts-content tr:hover,.entry-content tr:hover,.prose tr:hover{background-color:#f044940d}.wp-posts-content ul,.wp-posts-content ol,.entry-content ul,.entry-content ol,.prose ul,.prose ol{margin:10px 0 20px 15px;padding-left:15px}.wp-posts-content li,.entry-content li,.prose li{margin-bottom:10px}.wp-posts-content blockquote,.entry-content blockquote,.prose blockquote{padding:15px 20px;margin:0 0 20px;border-left:4px solid var(--main-border-color, rgba(50, 50, 50, .06));background:var(--muted-border-color, rgba(0, 0, 0, .03));font-size:16px;color:var(--muted-color, #777);border-radius:0}.wp-posts-content blockquote p:last-child,.entry-content blockquote p:last-child,.prose blockquote p:last-child{margin-bottom:0}hr{border-color:var(--main-border-color, rgba(50, 50, 50, .06))}strong,b{font-weight:700}.btn,.btn-primary,.btn-outline,.btn-ghost,.btn-danger{--btn-h: 34px;--btn-px: 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-h);padding:0 var(--btn-px);font-size:var(--text-sm);font-weight:400;line-height:1.44;border:1px solid transparent;border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;user-select:none;text-decoration:none;box-shadow:none;transition:opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn-sm{--btn-h: 28px;--btn-px: 8px;font-size:var(--text-xs)}.btn-lg{--btn-h: 44px;--btn-px: 18px;font-size:var(--text-md)}.btn{background:#8888881a;color:#888;border-color:transparent}.btn:hover{opacity:.8;color:#888}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:none}.btn-primary:hover{opacity:.8;color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary);transform:none;box-shadow:none}.btn-primary:active{opacity:1;box-shadow:inset 0 2px 3px #00000014}.btn-outline{background:transparent;color:var(--color-ink-2);border-color:var(--color-ink-2)}.btn-outline:hover{opacity:.8;background:transparent;border-color:var(--color-ink-2);color:var(--color-ink-2)}.btn-ghost{background:transparent;color:var(--color-ink-2);border-color:transparent}.btn-ghost:hover{background:#8888881a;opacity:.8}.btn-danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover{opacity:.8;color:#fff}.btn:disabled,.btn-primary:disabled,.btn-outline:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-icon{width:var(--btn-h);padding:0;justify-content:center}.btn-icon.btn-sm{width:28px}.btn-icon.btn-lg{width:44px}.btn-block{display:block;width:100%}.but,.badg{display:inline-block;vertical-align:middle;padding:.3em .6em;text-align:center;font-weight:400;line-height:1.44;border-radius:4px;border:1px solid var(--this-border);box-shadow:var(--this-shadow);background:var(--this-bg);color:var(--this-color);--main-color: var(--this-color);--this-bg: rgba(136, 136, 136, .1);--this-border: transparent;--this-shadow: none;--this-color: #888;text-shadow:0 0 0;transition:.15s;cursor:pointer}.but a{color:inherit}.but .icon,.but>.fa:not(.fa-angle-right),.but>i[class*=fa-]:not(.fa-angle-right){margin-right:.25em}.but.block{display:block}.but:focus,.but:hover{opacity:.8;color:var(--this-color)}.but:active{--this-shadow: inset 0 2px 3px rgba(0, 0, 0, .08)}.but.radius,.badg.radius,.radius>.but{border-radius:50px;padding:.3em 1em}.but.main-radius,.badg.main-radius{border-radius:var(--main-radius)}.but.mini-radius,.badg.mini-radius{border-radius:var(--mini-radius)}.but.hollow,.badg.hollow{background:transparent;--this-border: var(--this-color)}.but.hollow:hover{background:var(--this-bg)}.badg.hollow[class*=b-],.but.hollow[class*=b-]{background:0 0;--this-border: var(--this-bg);--this-color: var(--this-bg)}.but.hollow[class*=b-]:hover{color:#fff}.but.hollow.c-white:hover{background:0 0;--this-color: var(--focus-color);color:var(--focus-color)}.circular,.badg.cir,.but.cir{padding:0;border-radius:5em;--this-size: 1.8em;display:inline-flex;justify-content:center;align-items:center;height:var(--this-size);min-width:var(--this-size)}.circular.radius4,.badg.cir.radius4,.but.cir.radius4{border-radius:4px}.but.cir svg.icon,.but.cir>.fa,.but.cir>.fa:not(.fa-angle-right),.but.cir>i[class*=fa-]:not(.fa-angle-right){margin:0}.but-group{display:inline-flex}.but-group>.but{border-radius:0;margin:0}.but-group>.but:first-of-type{border-radius:4px 0 0 4px}.but-group>.but:last-of-type{border-radius:0 4px 4px 0}.but-average{display:flex;border-radius:4px;overflow:hidden}.but-average.inline{display:inline-flex}.but-average.radius{border-radius:100px}.but-average.main-radius{border-radius:var(--main-radius)}.but-average.mini-radius{border-radius:var(--mini-radius)}.but-average>.but{margin:0!important;border-radius:0;flex:auto}.but-average>.but.active{--this-bg: var(--focus-color-opacity1);--this-color: var(--focus-color)}.but.but-sm{font-size:.9em;padding:.1em .4em;vertical-align:.05em}.but.badg-sm,.badg.badg-sm{font-size:.8em;padding:0 .2em;vertical-align:.1em;min-width:1.6em}.badg.badg-sm.cir{--this-size: 1.6em}.padding-lg,.badg.badg-lg,.but.padding-lg{padding:.5em 2em}.active.badg,.active>.badg:not(.vip-tag){--this-bg: var(--focus-color);--this-color: #fff}.active.badg.hollow,.active>.hollow:not(.vip-tag){--this-color: var(--focus-color)}.toggle-radius{background:var(--this-bg);width:29px;height:29px;display:inline-block;text-align:center;border-radius:100%;position:relative;vertical-align:text-top;--this-bg: var(--main-border-color)}.toggle-radius .fa,.toggle-radius .icon,.toggle-radius>i{position:absolute;top:50%;right:0!important;left:0!important;margin:auto;transform:translateY(-50%);line-height:1;width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;text-align:center}.b-gray,.b-theme,.b-red,.b-yellow,.b-blue,.b-blue-2,.b-black,.b-cyan,.b-green,.b-purple,.jb-red,.jb-pink,.jb-yellow,.jb-blue,.jb-green,.jb-purple,.jb-vip1,.jb-vip2{color:var(--this-color);background:var(--this-bg);--this-color: #fff}.jb-red,.jb-pink,.jb-yellow,.jb-blue,.jb-green,.jb-purple,.jb-vip1,.jb-vip2{border:none}.b-theme{--this-bg: var(--focus-color)}.b-gray{--this-bg: #818b95}.b-red{--this-bg: #ff5473}.b-yellow{--this-bg: #ff6f06}.b-cyan{--this-bg: #08c4c1}.b-blue{--this-bg: #2997f7}.b-blue-2{--this-bg: #5c7cff}.b-green{--this-bg: #12b928}.b-purple{--this-bg: #d448f5}.b-black{--this-bg: #121517}.jb-red{--this-bg: linear-gradient(135deg, #fd7a64 10%, #fb2d2d 100%)}.jb-yellow{--this-bg: linear-gradient(135deg, #f59f54 10%, #ff6922 100%)}.jb-blue{--this-bg: linear-gradient(135deg, #59c3fb 10%, #268df7 100%)}.jb-green{--this-bg: linear-gradient(135deg, #60e464 10%, #5cb85b 100%)}.jb-purple{--this-bg: linear-gradient(135deg, #f98dfb 10%, #ea00f9 100%)}.jb-pink{--this-bg: linear-gradient(135deg, #ff5e7f 30%, #ff967e 100%)}.jb-vip1{--this-bg: linear-gradient(25deg, #eabe7b 10%, #f5e3c7 70%, #edc788 100%);--this-color: #866127}.jb-vip2{--this-bg: linear-gradient(317deg, #4d4c4c 30%, #7b7b7b 70%, #5f5c5c 100%);--this-color: #ddd}.c-theme,.c-gray,.c-white,.c-red,.c-red-2,.c-yellow,.c-blue,.c-blue-2,.c-green,.c-cyan,.c-purple{color:var(--this-color)}.c-theme{--this-color: var(--focus-color);--this-bg: var(--focus-color-opacity1)}.c-gray{--this-color: #888;--this-bg: rgba(136, 136, 136, .1)}.c-white{--this-color: #fff;--this-bg: rgba(255, 255, 255, .1)}.c-red{--this-color: #ff5473;--this-bg: rgba(255, 84, 115, .1)}.c-red-2{--this-color: #d6064c;--this-bg: rgba(194, 41, 46, .1)}.c-yellow{--this-color: #ff6f06;--this-bg: rgba(255, 111, 6, .1)}.c-blue{--this-color: #2997f7;--this-bg: rgba(41, 151, 247, .1)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.field-help{font-size:var(--text-xs);color:var(--color-ink-3)}.field-error{font-size:var(--text-xs);color:var(--color-error)}.input,.textarea,.select,input[type=text].form-input,input[type=email].form-input,input[type=password].form-input,input[type=search].form-input,input[type=url].form-input,input[type=tel].form-input,textarea.form-textarea,select.form-select{width:100%;height:34px;padding:6px 12px;font-size:14px;color:var(--color-ink);background:var(--surface-page);border:1px solid transparent;border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.textarea,textarea.form-textarea{height:auto;min-height:120px;padding:12px;line-height:var(--leading-snug);resize:vertical}.input:hover,.textarea:hover,.select:hover{border-color:var(--color-primary)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 2px 3px #fd53a166}.input::placeholder,.textarea::placeholder{color:var(--color-ink-4)}.select,select.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23777' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.checkbox,.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-2)}.checkbox input,.radio input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.input-group{display:flex;align-items:stretch}.input-group .input{border-radius:var(--radius) 0 0 var(--radius)}.input-group .btn{border-radius:0 var(--radius) var(--radius) 0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug);border-radius:var(--radius);border:1px solid transparent}.alert>svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alert--error{color:#b91c1c;background:#ef444414;border-color:#ef44444d}.alert--warning{color:#b45309;background:#f59e0b14;border-color:#f59e0b4d}.alert--success{color:#047857;background:#10b98114;border-color:#10b9814d}.alert--info{color:#1d4ed8;background:#3b82f614;border-color:#3b82f64d}html.dark .alert--error{color:#fca5a5}html.dark .alert--warning{color:#fcd34d}html.dark .alert--success{color:#6ee7b7}html.dark .alert--info{color:#93c5fd}@keyframes aksrtFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes aksrtZoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes aksrtZoomInUp{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:none}}@keyframes aksrtBounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:none}}@keyframes aksrtBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}@keyframes aksrtPulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes aksrtFlash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes aksrtRubberBand{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}@keyframes aksrtShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes aksrtSwing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:none}}@keyframes aksrtTada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes aksrtWobble{0%{transform:none}15%{transform:translate(-25%) rotate(-5deg)}30%{transform:translate(20%) rotate(3deg)}45%{transform:translate(-15%) rotate(-3deg)}60%{transform:translate(10%) rotate(2deg)}75%{transform:translate(-5%) rotate(-1deg)}to{transform:none}}@keyframes aksrtSlideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:none}}@keyframes aksrtHeartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes aksrtJello{0%,to{transform:none}11%{transform:skew(-12.5deg) skewY(-12.5deg)}22%{transform:skew(6.25deg) skewY(6.25deg)}33%{transform:skew(-6.25deg) skewY(-6.25deg)}44%{transform:skew(3.125deg) skewY(3.125deg)}55%{transform:skew(-3.125deg) skewY(-3.125deg)}66%{transform:skew(1.5625deg) skewY(1.5625deg)}77%{transform:skew(-1.5625deg) skewY(-1.5625deg)}88%{transform:skew(.78125deg) skewY(.78125deg)}}@keyframes aksrtHeadShake{0%{transform:translate(0)}6.5%{transform:translate(-6px) rotateY(-9deg)}18.5%{transform:translate(5px) rotateY(7deg)}31.5%{transform:translate(-3px) rotateY(-5deg)}43.5%{transform:translate(2px) rotateY(3deg)}50%{transform:translate(0)}to{transform:translate(0)}}@keyframes aksrtBounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{transform:scale(1.1)}75%{transform:scale(.97)}to{transform:scale(1);opacity:0}}@keyframes aksrtZoomOut{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}@keyframes aksrtBackInUp{0%{opacity:0;transform:translateY(30px) scale(.7)}80%{opacity:.8;transform:translateY(-5px) scale(1.02)}to{opacity:1;transform:none}}@keyframes aksrtBackInDown{0%{opacity:0;transform:translateY(-30px) scale(.7)}80%{opacity:.8;transform:translateY(5px) scale(1.02)}to{opacity:1;transform:none}}@keyframes aksrtFlip{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}to{transform:perspective(400px) rotateY(0);opacity:1}}@keyframes aksrtFlipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0);opacity:1}}.aksrt-anim-fade-in{animation:aksrtFadeIn var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-up{animation:aksrtFadeInUp var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-down{animation:aksrtFadeInDown var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-left{animation:aksrtFadeInLeft var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-right{animation:aksrtFadeInRight var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-zoom-in{animation:aksrtZoomIn var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-zoom-in-up{animation:aksrtZoomInUp var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-bounce-in{animation:aksrtBounceIn .6s var(--ease-out, ease) both}.aksrt-anim-bounce{animation:aksrtBounce 1s ease both}.aksrt-anim-pulse{animation:aksrtPulse 1s ease infinite}.aksrt-anim-flash{animation:aksrtFlash 1s ease both}.aksrt-anim-rubber-band{animation:aksrtRubberBand .8s ease both}.aksrt-anim-shake{animation:aksrtShake .5s ease both}.aksrt-anim-swing{animation:aksrtSwing .6s var(--ease-out, ease) both}.aksrt-anim-tada{animation:aksrtTada 1s ease both}.aksrt-anim-wobble{animation:aksrtWobble .8s ease both}.aksrt-anim-heart-beat{animation:aksrtHeartBeat 1.3s ease both}.aksrt-anim-jello{animation:aksrtJello .8s ease both}.aksrt-anim-head-shake{animation:aksrtHeadShake .8s ease both}.aksrt-anim-bounce-out{animation:aksrtBounceOut .5s ease both}.aksrt-anim-zoom-out{animation:aksrtZoomOut .3s ease both}.aksrt-anim-back-in-up{animation:aksrtBackInUp .5s var(--ease-out, ease) both}.aksrt-anim-back-in-down{animation:aksrtBackInDown .5s var(--ease-out, ease) both}.aksrt-anim-slide-up{animation:aksrtSlideInUp .5s var(--ease-out, ease) both}.aksrt-anim-slide-down{animation:aksrtSlideInDown .5s var(--ease-out, ease) both}.aksrt-anim-slide-left{animation:aksrtSlideInLeft .5s var(--ease-out, ease) both}.aksrt-anim-slide-right{animation:aksrtSlideInRight .5s var(--ease-out, ease) both}.aksrt-anim-flip{animation:aksrtFlip .6s var(--ease-out, ease) both}.aksrt-anim-flip-x{animation:aksrtFlipInX .6s var(--ease-out, ease) both}.aksrt-anim-fast{--dur-base: .2s}.aksrt-anim-slow{--dur-base: .6s}.aksrt-anim-delay-1{animation-delay:.1s}.aksrt-anim-delay-2{animation-delay:.2s}.aksrt-anim-delay-3{animation-delay:.3s}.aksrt-anim-delay-4{animation-delay:.4s}.aksrt-anim-delay-5{animation-delay:.5s}.aksrt-anim-delay-6{animation-delay:.6s}.aksrt-anim-delay-7{animation-delay:.7s}.aksrt-anim-delay-8{animation-delay:.8s}.aksrt-anim-infinite{animation-iteration-count:infinite}@media(prefers-reduced-motion:reduce){.aksrt-anim-fade-in,.aksrt-anim-fade-up,.aksrt-anim-fade-down,.aksrt-anim-fade-left,.aksrt-anim-fade-right,.aksrt-anim-zoom-in,.aksrt-anim-zoom-in-up,.aksrt-anim-bounce-in,.aksrt-anim-bounce,.aksrt-anim-pulse,.aksrt-anim-flash,.aksrt-anim-rubber-band,.aksrt-anim-shake,.aksrt-anim-swing,.aksrt-anim-tada,.aksrt-anim-wobble,.aksrt-anim-heart-beat,.aksrt-anim-jello,.aksrt-anim-head-shake,.aksrt-anim-bounce-out,.aksrt-anim-zoom-out,.aksrt-anim-back-in-up,.aksrt-anim-back-in-down,.aksrt-anim-slide-up,.aksrt-anim-slide-down,.aksrt-anim-slide-left,.aksrt-anim-slide-right,.aksrt-anim-flip,.aksrt-anim-flip-x{animation:none!important}}.aksrt-timeline{position:relative;padding-left:28px;margin:0;list-style:none}.aksrt-timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--color-line, rgba(50, 50, 50, .1));border-radius:1px}.aksrt-timeline__item{position:relative;padding-bottom:24px}.aksrt-timeline__item:last-child{padding-bottom:0}.aksrt-timeline__dot{position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid var(--surface-1, #fff);box-shadow:0 0 0 2px var(--color-primary-soft, rgba(240, 68, 148, .12));z-index:1}.aksrt-timeline__dot--outline{background:var(--surface-1, #fff);border:2px solid var(--color-primary);box-shadow:none}.aksrt-timeline__dot--muted{background:var(--color-ink-4, #999);box-shadow:0 0 0 2px var(--surface-2, #eee)}.aksrt-timeline__time{display:block;font-size:12px;color:var(--color-ink-4, #999);margin-bottom:4px}.aksrt-timeline__title{font-weight:600;color:var(--color-ink, #333);margin-bottom:4px}.aksrt-timeline__content{font-size:14px;color:var(--color-ink-3, #777);line-height:1.6}.aksrt-steps{display:flex;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none;counter-reset:aksrt-step}.aksrt-steps__item{flex:1;position:relative;text-align:center;counter-increment:aksrt-step}.aksrt-steps__item:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--color-line, rgba(50, 50, 50, .1))}.aksrt-steps__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2, #eee);color:var(--color-ink-3, #777);font-size:14px;font-weight:700;margin:0 auto 8px;position:relative;z-index:1}.aksrt-steps__item--active .aksrt-steps__icon{background:var(--color-primary);color:var(--color-on-primary, #fff)}.aksrt-steps__item--done .aksrt-steps__icon{background:var(--color-success);color:#fff}.aksrt-steps__item--done:not(:last-child):after{background:var(--color-success)}.aksrt-steps__label{font-size:13px;font-weight:600;color:var(--color-ink-3, #777)}.aksrt-steps__item--active .aksrt-steps__label{color:var(--color-primary)}.aksrt-steps__item--done .aksrt-steps__label{color:var(--color-success)}.aksrt-steps--vertical{flex-direction:column;gap:0;padding-left:20px}.aksrt-steps--vertical .aksrt-steps__item{text-align:left;padding-left:28px;padding-bottom:20px}.aksrt-steps--vertical .aksrt-steps__item:not(:last-child):after{top:34px;left:36px;right:auto;width:2px;height:calc(100% - 34px)}.aksrt-steps--vertical .aksrt-steps__icon{position:absolute;left:0;margin:0}.aksrt-img-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:var(--radius, 8px);overflow:hidden}.aksrt-img-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:pointer;transition:transform .2s ease}.aksrt-img-grid img:hover{transform:scale(1.03)}.aksrt-img-grid--2{grid-template-columns:repeat(2,1fr)}.aksrt-img-grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:480px){.aksrt-img-grid--4{grid-template-columns:repeat(3,1fr)}}.aksrt-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;user-select:none;gap:8px}.aksrt-toggle__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.aksrt-toggle__track{position:relative;width:var(--aksrt-toggle-w, 44px);height:var(--aksrt-toggle-h, 24px);background:var(--surface-3, #e8e8e8);border-radius:var(--aksrt-toggle-h, 24px);transition:background .2s ease;flex-shrink:0}.aksrt-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--aksrt-toggle-h, 24px) - 4px);height:calc(var(--aksrt-toggle-h, 24px) - 4px);background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.aksrt-toggle__input:checked+.aksrt-toggle__track{background:var(--color-primary)}.aksrt-toggle__input:checked+.aksrt-toggle__track:after{transform:translate(calc(var(--aksrt-toggle-w, 44px) - var(--aksrt-toggle-h, 24px)))}.aksrt-toggle__input:focus-visible+.aksrt-toggle__track{box-shadow:var(--focus-ring, 0 0 2px 3px rgba(253, 83, 161, .4))}.aksrt-toggle__input:disabled+.aksrt-toggle__track{opacity:.5;cursor:not-allowed}.aksrt-toggle__label{font-size:14px;color:var(--color-ink-2, #4e5358)}.aksrt-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.aksrt-checkbox__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.aksrt-checkbox__box{position:relative;width:18px;height:18px;border:2px solid var(--color-line, rgba(50, 50, 50, .15));border-radius:4px;background:var(--surface-1, #fff);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.aksrt-checkbox__box:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) scale(0);transition:transform .15s ease}.aksrt-checkbox__input:checked+.aksrt-checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.aksrt-checkbox__input:checked+.aksrt-checkbox__box:after{transform:rotate(45deg) scale(1)}.aksrt-checkbox__input:focus-visible+.aksrt-checkbox__box{box-shadow:var(--focus-ring, 0 0 2px 3px rgba(253, 83, 161, .4))}.aksrt-checkbox__input:disabled+.aksrt-checkbox__box{opacity:.5;cursor:not-allowed}.aksrt-checkbox__label{font-size:14px;color:var(--color-ink-2, #4e5358)}.aksrt-stepper{display:inline-flex;align-items:center;border:1px solid var(--color-line, rgba(50, 50, 50, .1));border-radius:var(--radius, 8px);overflow:hidden;height:var(--aksrt-stepper-h, 36px)}.aksrt-stepper__btn{display:flex;align-items:center;justify-content:center;width:var(--aksrt-stepper-h, 36px);height:100%;background:var(--surface-2, #eee);color:var(--color-ink-2, #4e5358);border:none;cursor:pointer;font-size:16px;font-weight:600;transition:background .15s ease,color .15s ease;user-select:none}.aksrt-stepper__btn:hover{background:var(--surface-3, #e8e8e8);color:var(--color-ink, #333)}.aksrt-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.aksrt-stepper__input{width:48px;height:100%;border:none;text-align:center;font-size:14px;font-weight:600;color:var(--color-ink, #333);background:var(--surface-1, #fff);-moz-appearance:textfield}.aksrt-stepper__input::-webkit-outer-spin-button,.aksrt-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aksrt-stepper__input:focus{outline:none;background:var(--color-primary-softer, rgba(240, 68, 148, .05))}.aksrt-avatar--xs{width:var(--aksrt-avatar-size-xs);height:var(--aksrt-avatar-size-xs)}.aksrt-avatar--sm{width:var(--aksrt-avatar-size-sm);height:var(--aksrt-avatar-size-sm)}.aksrt-avatar{width:var(--aksrt-avatar-size);height:var(--aksrt-avatar-size)}.aksrt-avatar--lg{width:var(--aksrt-avatar-size-lg);height:var(--aksrt-avatar-size-lg)}.aksrt-avatar--xl{width:var(--aksrt-avatar-size-xl);height:var(--aksrt-avatar-size-xl)}img.avatar,img.avatar-mini,img.avatar-md,img.avatar-lg,.avatar-img img{border-radius:var(--radius-avatar, 50%);object-fit:cover}.aksrt-ripple{position:relative;overflow:hidden}.aksrt-ripple__wave{position:absolute;border-radius:50%;background:#ffffff59;transform:scale(0);animation:aksrtRippleWave .6s ease-out forwards;pointer-events:none}@keyframes aksrtRippleWave{to{transform:scale(4);opacity:0}}.aksrt-wave{position:absolute!important;border-radius:50%;background:#ffffff59;pointer-events:none!important;z-index:1;transform:scale(0);animation:aksrtWaveRipple .6s ease-out forwards}@keyframes aksrtWaveRipple{to{transform:scale(1);opacity:0}}.modal-stacked .modal-dialog{transition:transform .25s var(--ease, ease),filter .25s ease}.modal-stacked .modal-dialog.modal-behind{transform:scale(.92);filter:brightness(.85);pointer-events:none}.aksrt-btn--rose{background:var(--aksrt-rose);color:#fff}.aksrt-btn--rose:hover,.aksrt-btn--rose:focus-visible{background:#e11d48}.aksrt-btn--blue{background:var(--aksrt-blue);color:#fff}.aksrt-btn--blue:hover,.aksrt-btn--blue:focus-visible{background:#2563eb}.aksrt-btn--green{background:var(--aksrt-green);color:#fff}.aksrt-btn--green:hover,.aksrt-btn--green:focus-visible{background:#059669}.aksrt-btn--orange{background:var(--aksrt-orange);color:#fff}.aksrt-btn--orange:hover,.aksrt-btn--orange:focus-visible{background:#ea580c}.aksrt-btn--purple{background:var(--aksrt-purple);color:#fff}.aksrt-btn--purple:hover,.aksrt-btn--purple:focus-visible{background:#7c3aed}.aksrt-btn--cyan{background:var(--aksrt-cyan);color:#fff}.aksrt-btn--cyan:hover,.aksrt-btn--cyan:focus-visible{background:#0891b2}.aksrt-btn--yellow{background:var(--aksrt-yellow);color:#422006}.aksrt-btn--yellow:hover,.aksrt-btn--yellow:focus-visible{background:#ca8a04;color:#fff}.aksrt-btn--red{background:var(--aksrt-red);color:#fff}.aksrt-btn--red:hover,.aksrt-btn--red:focus-visible{background:#dc2626}.aksrt-btn--teal{background:var(--aksrt-teal);color:#fff}.aksrt-btn--teal:hover,.aksrt-btn--teal:focus-visible{background:#0d9488}.aksrt-btn--indigo{background:var(--aksrt-indigo);color:#fff}.aksrt-btn--indigo:hover,.aksrt-btn--indigo:focus-visible{background:#4f46e5}.aksrt-btn--pink{background:var(--aksrt-pink);color:#fff}.aksrt-btn--pink:hover,.aksrt-btn--pink:focus-visible{background:#db2777}.aksrt-btn--rose-soft{background:var(--aksrt-rose-soft);color:var(--aksrt-rose)}.aksrt-btn--blue-soft{background:var(--aksrt-blue-soft);color:var(--aksrt-blue)}.aksrt-btn--green-soft{background:var(--aksrt-green-soft);color:var(--aksrt-green)}.aksrt-btn--orange-soft{background:var(--aksrt-orange-soft);color:var(--aksrt-orange)}.aksrt-btn--purple-soft{background:var(--aksrt-purple-soft);color:var(--aksrt-purple)}.aksrt-btn--cyan-soft{background:var(--aksrt-cyan-soft);color:var(--aksrt-cyan)}.aksrt-btn--yellow-soft{background:var(--aksrt-yellow-soft);color:#92400e}.aksrt-btn--red-soft{background:var(--aksrt-red-soft);color:var(--aksrt-red)}.aksrt-btn--teal-soft{background:var(--aksrt-teal-soft);color:var(--aksrt-teal)}.aksrt-btn--indigo-soft{background:var(--aksrt-indigo-soft);color:var(--aksrt-indigo)}.aksrt-btn--pink-soft{background:var(--aksrt-pink-soft);color:var(--aksrt-pink)}.aksrt-btn--grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));color:#5a3d00;border:none}.aksrt-btn--grad-sunset{background:linear-gradient(135deg,var(--aksrt-grad-sunset-1),var(--aksrt-grad-sunset-2));color:#fff;border:none}.aksrt-btn--grad-ocean{background:linear-gradient(135deg,var(--aksrt-grad-ocean-1),var(--aksrt-grad-ocean-2));color:#fff;border:none}.aksrt-btn--grad-forest{background:linear-gradient(135deg,var(--aksrt-grad-forest-1),var(--aksrt-grad-forest-2));color:#064e3b;border:none}.aksrt-btn--grad-night{background:linear-gradient(135deg,var(--aksrt-grad-night-1),var(--aksrt-grad-night-2));color:#4c1d95;border:none}.aksrt-btn--grad-fire{background:linear-gradient(135deg,var(--aksrt-grad-fire-1),var(--aksrt-grad-fire-2));color:#fff;border:none}.aksrt-btn--grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--color-on-primary);border:none}.aksrt-btn--grad-vip:hover,.aksrt-btn--grad-sunset:hover,.aksrt-btn--grad-ocean:hover,.aksrt-btn--grad-forest:hover,.aksrt-btn--grad-night:hover,.aksrt-btn--grad-fire:hover,.aksrt-btn--grad-primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px #00000026}.aksrt-text-grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-sunset{background:linear-gradient(135deg,var(--aksrt-grad-sunset-1),var(--aksrt-grad-sunset-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-ocean{background:linear-gradient(135deg,var(--aksrt-grad-ocean-1),var(--aksrt-grad-ocean-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-forest{background:linear-gradient(135deg,var(--aksrt-grad-forest-1),var(--aksrt-grad-forest-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-night{background:linear-gradient(135deg,var(--aksrt-grad-night-1),var(--aksrt-grad-night-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-fire{background:linear-gradient(135deg,var(--aksrt-grad-fire-1),var(--aksrt-grad-fire-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-badge{display:inline-flex;align-items:center;justify-content:center;height:var(--aksrt-badge-h, 22px);padding:0 8px;border-radius:var(--radius-pill, 100px);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle}.aksrt-badge--primary{background:var(--color-primary-soft);color:var(--color-primary)}.aksrt-badge--success{background:#10b9811f;color:var(--color-success)}.aksrt-badge--warning{background:#f59e0b1f;color:var(--color-warning)}.aksrt-badge--error{background:#ef44441f;color:var(--color-error)}.aksrt-badge--info{background:#3b82f61f;color:var(--color-info)}.aksrt-badge--rose{background:var(--aksrt-rose-soft);color:var(--aksrt-rose)}.aksrt-badge--blue{background:var(--aksrt-blue-soft);color:var(--aksrt-blue)}.aksrt-badge--green{background:var(--aksrt-green-soft);color:var(--aksrt-green)}.aksrt-badge--orange{background:var(--aksrt-orange-soft);color:var(--aksrt-orange)}.aksrt-badge--purple{background:var(--aksrt-purple-soft);color:var(--aksrt-purple)}.aksrt-badge--cyan{background:var(--aksrt-cyan-soft);color:var(--aksrt-cyan)}.aksrt-badge--yellow{background:var(--aksrt-yellow-soft);color:#92400e}.aksrt-badge--red{background:var(--aksrt-red-soft);color:var(--aksrt-red)}.aksrt-badge--teal{background:var(--aksrt-teal-soft);color:var(--aksrt-teal)}.aksrt-badge--indigo{background:var(--aksrt-indigo-soft);color:var(--aksrt-indigo)}.aksrt-badge--pink{background:var(--aksrt-pink-soft);color:var(--aksrt-pink)}.aksrt-badge--grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));color:#5a3d00}.aksrt-badge--grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--color-on-primary)}.aksrt-badge--solid-primary{background:var(--color-primary);color:#fff}.aksrt-badge--solid-success{background:var(--color-success);color:#fff}.aksrt-badge--solid-warning{background:var(--color-warning);color:#fff}.aksrt-badge--solid-error{background:var(--color-error);color:#fff}.aksrt-badge--solid-info{background:var(--color-info);color:#fff}.aksrt-badge--solid-rose{background:var(--aksrt-rose);color:#fff}.aksrt-badge--solid-blue{background:var(--aksrt-blue);color:#fff}.aksrt-badge--solid-green{background:var(--aksrt-green);color:#fff}.aksrt-badge--solid-orange{background:var(--aksrt-orange);color:#fff}.aksrt-badge--solid-purple{background:var(--aksrt-purple);color:#fff}.aksrt-badge--solid-cyan{background:var(--aksrt-cyan);color:#fff}.aksrt-badge--solid-yellow{background:var(--aksrt-yellow);color:#422006}.aksrt-badge--solid-red{background:var(--aksrt-red);color:#fff}.aksrt-badge--solid-teal{background:var(--aksrt-teal);color:#fff}.aksrt-badge--solid-indigo{background:var(--aksrt-indigo);color:#fff}.aksrt-badge--solid-pink{background:var(--aksrt-pink);color:#fff}.aksrt-badge--sm{height:18px;padding:0 6px;font-size:11px}.aksrt-badge--lg{height:28px;padding:0 12px;font-size:13px}.aksrt-bg-rose{background-color:var(--aksrt-rose-soft)}.aksrt-bg-blue{background-color:var(--aksrt-blue-soft)}.aksrt-bg-green{background-color:var(--aksrt-green-soft)}.aksrt-bg-orange{background-color:var(--aksrt-orange-soft)}.aksrt-bg-purple{background-color:var(--aksrt-purple-soft)}.aksrt-bg-cyan{background-color:var(--aksrt-cyan-soft)}.aksrt-bg-yellow{background-color:var(--aksrt-yellow-soft)}.aksrt-bg-red{background-color:var(--aksrt-red-soft)}.aksrt-bg-teal{background-color:var(--aksrt-teal-soft)}.aksrt-bg-indigo{background-color:var(--aksrt-indigo-soft)}.aksrt-bg-pink{background-color:var(--aksrt-pink-soft)}.aksrt-text-rose{color:var(--aksrt-rose)}.aksrt-text-blue{color:var(--aksrt-blue)}.aksrt-text-green{color:var(--aksrt-green)}.aksrt-text-orange{color:var(--aksrt-orange)}.aksrt-text-purple{color:var(--aksrt-purple)}.aksrt-text-cyan{color:var(--aksrt-cyan)}.aksrt-text-yellow{color:var(--aksrt-yellow)}.aksrt-text-red{color:var(--aksrt-red)}.aksrt-text-teal{color:var(--aksrt-teal)}.aksrt-text-indigo{color:var(--aksrt-indigo)}.aksrt-text-pink{color:var(--aksrt-pink)}html,body{overflow-x:clip}@supports not (overflow-x: clip){html,body{overflow-x:hidden}}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;z-index:9999;pointer-events:none;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width .1s ease-out}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink-2);background-color:var(--surface-page)}a[href]{transition:color .2s,background .3s,opacity .3s,box-shadow .3s,transform .3s}.fa.fab{font-family:"Font Awesome 5 Brands";font-weight:400}.skip-link{position:absolute;left:16px;top:12px;z-index:1100;padding:10px 14px;border-radius:999px;background:var(--color-primary);color:#fff;transform:translateY(-140%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column;font-size:var(--text-base);line-height:var(--leading-normal)}.site-main{flex:1}.container,main.container,.site-main.container{width:100%;max-width:var(--container, var(--mian-max-width, 1200px));margin-right:auto;margin-left:auto;padding-right:0;padding-left:0;--bs-gutter-x: 0;--bs-gutter-y: 0}.header-slider-card .icon-cover-card{font-size:12px}.header-slider-search .line-form-input:focus,.header-slider-search .line-form-input:focus-visible{border:0;outline:0;box-shadow:none}.header-slider-search .line-form .abs-right{position:absolute;right:.7em;top:50%;transform:translateY(-50%);margin-top:0}@media(min-width:576px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:768px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:992px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1200px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1240px){.container,main.container,.fluid-widget-wrap .widget-container{width:auto;max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1400px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(max-width:991.98px){.container,main.container{padding-right:15px;padding-left:15px}}@media(max-width:767px){.container,main.container{width:100%;max-width:100%;padding-right:15px;padding-left:15px}}.aksrt-user-level-badge,.aksrt-user-level-icon,.aksrt-identity-medal,.aksrt-identity-certification-icon,.aksrt-header-user-medal{display:inline-flex;align-items:center;justify-content:center;width:auto;height:1.1em;max-width:6em;object-fit:contain;vertical-align:-.15em;flex:0 0 auto;box-sizing:border-box}.aksrt-user-level-badge{padding:0 .35em;font-size:.78em;line-height:1.1;white-space:nowrap}.aksrt-identity-medal--comment,.aksrt-user-level-icon--comment,.aksrt-header-user-medal--comment{height:1em;vertical-align:-.12em}.article-avatar name,.article-avatar .name,.user-name,.aksrt-author-hero__name,.uc-header__name,.aksrt-header-badges{flex-wrap:nowrap;white-space:nowrap}.user-card.author .user-name>name{overflow:visible}.user-card.author .user-name>name>.display-name,.user-card.widget .user-name>name>.display-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.user-card.author .user-name>name>.follow{flex-shrink:0}.aksrt-author-hero__name,.uc-header__name{display:inline-flex;align-items:center;gap:4px}.aksrt-author-hero__name-inner{display:inline-flex;align-items:center;gap:4px;min-width:0}.aksrt-ip-geo-badge{display:inline-flex;align-items:center;min-width:0;margin:2px 0;padding:.3em .6em;border:1px solid var(--color-line-soft, var(--main-border-color, rgba(136, 136, 136, .18)));border-radius:var(--mini-radius, 4px);background:var(--surface-2, rgba(136, 136, 136, .1));box-shadow:var(--shadow-xs, 0 1px 3px rgba(0, 0, 0, .08));color:var(--color-ink-3, #666);font-size:.92em;line-height:1.44;vertical-align:middle;box-sizing:border-box}.no-results{padding:48px 20px;text-align:center;color:var(--color-ink-3)}.header,.mobile-header,.navbar-search{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:auto}.navbar-logo>img{display:inline}.navbar-top .aksrt-nav-icon{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;border:1px solid transparent;border-radius:4px;user-select:none}.navbar-search .line-form-input:focus,.navbar-search .line-form-input:focus-visible{outline:0;box-shadow:none}.aksrt-header-userbox{color:var(--color-ink-2);line-height:1.42857143}.aksrt-header-userbox .muted-box.padding-6{background-color:var(--this-bg, var(--color-line-soft));border-radius:4px;padding:6px}.payvip-icon{background:linear-gradient(300deg,#4c4d51,#2a2a31 15%,#85858a 40%,#393a3c,#393838,#5e5f62);color:#ece0e0;--this-color: #ece0e0;border:none;text-shadow:none}.aksrt-header-userbox>.mt6.em09>.but.block{display:block;box-sizing:border-box;width:100%}.aksrt-nav-notification .aksrt-notification-badge{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border:2px solid var(--surface-1);border-radius:999px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;line-height:1}.navbar-top .aksrt-header-userbox .header-user-href>a,.aksrt-header-userbox .header-user-href>a{max-height:none}.mobile-navbar .aksrt-header-userbox{width:auto;max-width:400px;margin:auto}.aksrt-theme-box{border:none;border-radius:var(--radius, 8px);background:var(--surface-1);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.aksrt-theme-box:hover{box-shadow:var(--shadow)}.aksrt-box-bg{background-color:var(--surface-1);box-shadow:var(--shadow-sm)}.aksrt-box-body,.aksrt-box-header{padding:var(--card-padding)}.aksrt-box-header{border-bottom:1px solid var(--color-line-soft)}.aksrt-box-header+.aksrt-box-body{padding-top:0}.aksrt-box-body.notop,.aksrt-box-header.notop{padding-top:0}.aksrt-box-body.nobottom,.aksrt-box-header.nobottom{padding-bottom:0}.aksrt-muted-box{background-color:var(--surface-2);border-radius:var(--radius);padding:var(--card-padding)}.aksrt-noshadow{box-shadow:none!important}.theme-box,.mb20{margin-bottom:20px}.box-bg{background-color:var(--main-bg-color, var(--surface-1));box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.box-body{padding:var(--card-padding)}.box-header{padding:var(--card-padding);border-bottom:1px solid var(--color-line-soft)}.box-header+.box-body{padding-top:0}.radius8{border-radius:var(--radius)}.main-shadow{box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.main-bg{background:var(--main-bg-color, var(--surface-1))}.muted-box{background-color:var(--surface-2);border-radius:var(--radius);padding:var(--card-padding)}html.dark .aksrt-theme-box,body.dark-theme .aksrt-theme-box,html.dark .box-bg,body.dark-theme .box-bg{border-color:transparent;box-shadow:0 0 10px var(--main-shadow, rgba(0, 0, 0, .2))}html.dark .aksrt-theme-box:hover,body.dark-theme .aksrt-theme-box:hover{box-shadow:0 0 10px var(--main-shadow, rgba(0, 0, 0, .28))}.aksrt-theme-box{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.aksrt-card-hover:hover,.aksrt-card-hover:focus-within{box-shadow:none;transform:none}.aksrt-card-hover-lg:hover,.aksrt-card-hover-lg:focus-within{box-shadow:var(--shadow-lg);transform:none}.aksrt-noshadow:hover{box-shadow:none!important;transform:none!important}.aksrt-panel{clear:both;background-color:var(--surface-1);padding:var(--card-padding);box-shadow:var(--shadow-sm);border-radius:var(--radius, 8px);margin-bottom:20px}.aksrt-blur-bg{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg)}.site-nav--glass{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg);border-bottom-color:transparent}.site-nav--glass.is-scrolled{box-shadow:var(--shadow-sm);border-bottom-color:var(--color-line-soft)}html.dark .site-nav--glass.is-scrolled{box-shadow:var(--shadow-sm)}.footer-tabbar--glass{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg);box-shadow:0 -8px 24px #141c3014}html.dark .footer-tabbar--glass{box-shadow:0 -10px 28px #00000052}body.has-scrolled .site-nav--glass{box-shadow:0 4px 10px #141c300f}html.dark body.has-scrolled .site-nav--glass{box-shadow:0 4px 10px #00000040}.content-main{width:100%}.content-main--single{max-width:100%}.content-shell{width:100%;margin:0 auto;padding:32px 16px 48px;max-width:var(--container)}.site-main.content-shell.aksrt-profile{max-width:100%;box-sizing:border-box}.site-main.content-shell.aksrt-user-home{max-width:var(--container, 1440px);padding-top:0;box-sizing:border-box}@media(min-width:768px){.content-shell{padding:40px 24px 56px}}.content-shell--page{max-width:var(--container-page, 860px)}.content-shell--cms{max-width:100%;padding:0}.entry-page .entry-thumb{margin:0 0 var(--space-6, 24px);border-radius:var(--radius-lg, 12px);overflow:hidden}.entry-page .page-links{margin-top:var(--space-6, 24px);font-size:var(--text-sm, .875rem);color:var(--color-ink-3, var(--color-ink-3))}.entry-page .page-links-title{margin-right:8px;font-weight:600}main.container,main.content-shell,.site-main.container{position:relative}main.container.content-shell,main.content-shell.container,.site-main.container.content-shell{padding-left:0;padding-right:0;max-width:var(--container, var(--mian-max-width, 1200px));width:100%;box-sizing:border-box}main.container:after,main.content-shell:after,.site-main.container:after{content:"";display:table;clear:both}.content-wrap{float:left;width:100%;min-width:0;display:block;box-sizing:border-box}.content-layout{display:block;width:auto;min-width:0;max-width:none;margin-right:0;margin-left:0;box-sizing:border-box}.content-layout__primary{min-width:0;max-width:100%}.sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);min-width:0;position:relative;box-sizing:border-box;display:block}.content-layout__aside{min-width:0}body.site-layout-1 .sidebar,.site-layout-1 .sidebar{display:none}body.site-layout-1 .content-layout,body.site-layout-1 .content-layout--no-sidebar,.site-layout-1 .content-layout{margin-left:0;margin-right:0}.content-layout--no-sidebar{margin-left:0!important;margin-right:0!important}body.site-layout-2 .content-layout,.site-layout-2 .content-layout{margin-right:326px;margin-right:calc(var(--sidebar-width, 311px) + 15px);margin-left:0;width:auto}body.site-layout-2 .sidebar,.site-layout-2 .sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);margin-left:-311px;margin-left:calc(0px - var(--sidebar-width, 311px));position:unset}body.site-layout-3 .content-layout,.site-layout-3 .content-layout{margin-left:326px;margin-left:calc(var(--sidebar-width, 311px) + 15px);margin-right:unset;width:auto}body.site-layout-3 .sidebar,.site-layout-3 .sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);margin-left:-100%;position:unset}@media(min-width:992px){.sidebar .content-layout__aside,.content-layout__aside{position:sticky;top:calc(var(--nav-height, 60px) + 16px)}.has-static-nav .content-layout__aside{top:16px}}@media(max-width:991.98px){body.site-layout-2 .content-layout,body.site-layout-3 .content-layout,.site-layout-2 .content-layout,.site-layout-3 .content-layout{margin-left:auto;margin-right:auto}body.site-layout-2 .sidebar,body.site-layout-3 .sidebar,.site-layout-2 .sidebar,.site-layout-3 .sidebar,.sidebar{display:none}}.page-header{margin-bottom:28px}.page-header .entry-title{margin-bottom:8px}.page-header p{color:var(--color-ink-3);margin:0;max-width:720px}.term-page-header{position:relative;overflow:hidden;border:1px solid var(--color-line-soft, rgba(15, 23, 42, .08));border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm, 0 1px 6px rgba(15, 23, 42, .04))}.term-page-header__body{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px}.term-page-header__eyebrow{margin:0 0 8px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.term-page-header__desc{margin-top:10px}.term-page-header__cover{min-height:140px;background-position:center;background-size:cover;border-top:1px solid var(--color-line-soft, rgba(15, 23, 42, .08))}.term-page-header--simple .term-page-header__cover{display:none}.term-page-header--card{border-top:3px solid var(--color-primary, #f04494)}.term-page-header--card .term-page-header__body{padding:28px 24px}.term-page-header--cover{border:none;border-radius:var(--radius-lg);background:transparent;box-shadow:none;min-height:220px;display:flex;flex-direction:column}.term-page-header__cover-bg{position:absolute;inset:0;background-position:center;background-size:cover;border-radius:var(--radius-lg)}.term-page-header__cover-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0000008c,#00000040);border-radius:var(--radius-lg)}.term-page-header--cover .term-page-header__body{flex:1;align-items:flex-end;z-index:2}.term-page-header__body--overlay .entry-title,.term-page-header__body--overlay .term-page-header__desc,.term-page-header__body--overlay .term-page-header__eyebrow{color:#fff}.term-page-header__body--overlay .term-page-header__eyebrow{color:#fffc}@media(max-width:767px){.term-page-header--cover{min-height:160px}}.aksrt-admin-quicklink{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--color-line);border-radius:var(--radius-pill, 999px);background:var(--surface-2);color:var(--color-ink-2);text-decoration:none;white-space:nowrap;font-size:.875rem;font-weight:600}.aksrt-admin-quicklink:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft, rgba(59, 130, 246, .08))}.archive-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:-8px 0 24px;padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--color-line-soft, rgba(15, 23, 42, .06))}.archive-filter-bar__main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.archive-filter-bar__label{color:var(--color-ink-4);font-size:.8125rem;font-weight:600}.archive-filter-bar__chips{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.archive-filter-bar__chip{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:var(--radius-pill, 999px);background:var(--surface-1);color:var(--color-ink-2);text-decoration:none;font-size:.875rem;font-weight:500}.archive-filter-bar__chip.is-active,.archive-filter-bar__chip:hover{background:var(--color-primary);color:var(--color-on-primary, #fff)}.archive-filter-bar__meta{color:var(--color-ink-4);font-size:.8125rem;font-weight:600}.archive-filter-bar__sort{display:flex;align-items:center;gap:8px;margin-left:auto}.archive-filter-bar__main--tags,.archive-filter-bar__main--custom{border-top:1px solid var(--color-line-soft, rgba(15, 23, 42, .06));padding-top:10px;margin-top:10px}.content-stream,.content-main--archive,.content-main--tag,.content-main--category,.content-main--search,.content-main--single{display:grid;gap:20px}.content-stream__list{width:100%}.content-stream__empty{padding:28px 24px;border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--color-line-soft, rgba(15, 23, 42, .08))}.article-shell{overflow:hidden}@media(max-width:767px){.term-page-header__body{flex-direction:column;align-items:stretch;padding:20px}.aksrt-admin-quicklink{width:fit-content}}.aksrt-pagination-ajax{display:flex;flex-direction:column;align-items:center;gap:16px;margin:40px 0 8px}.aksrt-load-more-btn{min-width:180px;height:44px;padding:0 32px;border-radius:var(--radius-btn);border:1px solid var(--color-line);background:var(--surface-page);color:var(--color-ink);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s,background .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.aksrt-load-more-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.aksrt-load-more-btn:disabled{opacity:.5;pointer-events:none}.aksrt-loading-indicator{display:none;align-items:center;gap:8px;font-size:14px;color:var(--color-ink-4)}.aksrt-loading-indicator i{font-size:16px}.aksrt-scroll-sentinel{width:100%;height:1px;pointer-events:none}@media(max-width:991px){.content-layout__aside{display:none}}.content-layout__primary--cms{min-width:0}.content-layout__aside .widget a{transition:color var(--dur-fast, .15s) var(--ease)}.content-layout__aside .widget a:hover{color:var(--color-primary)}.comments-card{overflow:hidden}:root{--aksrt-footer-tabbar-height: 49px}@media(max-width:767px){.hide-on-mobile,.hidden-xs{display:none!important}}@media(min-width:768px){.hide-on-desktop,.hide-on-pc{display:none!important}}.footer-tabbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1035;min-height:var(--aksrt-footer-tabbar-height);background:var(--blur-bg);border-top:1px solid var(--color-line-soft);padding:0 0 env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:center;box-shadow:0 -4px 5px var(--main-shadow, rgba(0, 0, 0, .06));-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);--tabbar-active-color: #f04494;--tabbar-icon-size: 24px;--tabbar-text-size: 10px}.footer-tabbar.no-border{border-top:none}.footer-tabbar.no-shadow{box-shadow:none}.footer-tabbar.hide-text .tabbar-item span{display:none}.footer-tabbar.has-animation .tabbar-item{transition:color .15s ease,transform .15s ease}.footer-tabbar.has-animation .tabbar-item:active{transform:scale(.9)}.footer-tabbar-placeholder{display:none;height:calc(var(--aksrt-footer-tabbar-height) + env(safe-area-inset-bottom,0px))}@media(max-width:767px){.footer-tabbar{display:flex}.footer-tabbar-placeholder{display:block}.footer,.site-footer{padding-bottom:calc(var(--aksrt-footer-tabbar-height) + env(safe-area-inset-bottom,0px))}}.tabbar-item{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:49px;padding:4px 0 3px;color:var(--muted-color, var(--color-ink-3));font-size:13px;text-decoration:none;border:none;background:none;cursor:pointer;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.tabbar-item i{font-size:var(--tabbar-icon-size, 24px);line-height:1}.tabbar-item span{display:block;font-size:var(--tabbar-text-size, 10px);font-weight:500;line-height:1;transform:scale(.8);transform-origin:center top}.tabbar-item:hover,.tabbar-item.active{color:var(--tabbar-active-color, var(--color-primary));text-decoration:none}.tabbar-item.active i{font-weight:900}.tabbar-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-error);color:#fff;font-size:10px;line-height:16px;font-style:normal;font-weight:700;text-align:center;box-shadow:0 2px 8px #ef444433}.tabbar-badge--dot{min-width:0;width:8px;height:8px;padding:0;top:4px;right:10px;font-size:0;line-height:1;box-shadow:0 0 0 2px var(--blur-bg)}.tabbar-item--add{margin-top:-22px;width:62px;height:62px;min-height:62px;border-radius:50%;background:var(--color-accent);color:#fff;box-shadow:0 12px 24px var(--color-accent-shadow);flex:0 0 62px;z-index:1}.tabbar-item--add i{font-size:22px}.tabbar-item--add span{font-size:11px}.tabbar-item--add:hover,.tabbar-item--add.active{color:#fff}.tabbar-add-backdrop{position:fixed;inset:0;z-index:951;background:#0f172a61}.tabbar-add-panel{position:fixed;left:0;right:0;bottom:0;z-index:952;padding:0 12px calc(84px + env(safe-area-inset-bottom,0px))}.tabbar-add-panel__sheet{border-radius:20px;background:var(--surface-1);border:none;box-shadow:var(--shadow-drawer);overflow:hidden}.tabbar-add-panel__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--color-line)}.tabbar-add-panel__close{width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-2);color:var(--color-ink-3)}.tabbar-add-panel__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.tabbar-add-panel__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;border-radius:18px;background:var(--surface-2);color:var(--color-ink-3);text-decoration:none}.tabbar-add-panel__item i{font-size:22px;color:var(--color-accent)}.tabbar-add-panel__item span{font-size:13px;font-weight:600}.tabbar-search-overlay{position:fixed;inset:0;z-index:953;background:#0f172a94;display:flex;align-items:stretch;justify-content:center}.tabbar-search-overlay__dialog{width:100%;min-height:100%;background:var(--surface-1);padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px))}.tabbar-search-overlay__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tabbar-search-overlay__close{width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-2);color:var(--color-ink-3)}.tabbar-search-overlay__form{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:14px 14px 14px 12px;border-radius:18px;border:none;box-shadow:var(--shadow-sm);background:var(--surface-4)}.tabbar-search-overlay__icon{color:var(--color-ink-4)}.tabbar-search-overlay__form input{min-width:0;border:0;background:transparent;color:var(--color-ink);font-size:15px;outline:none}.tabbar-search-overlay__submit{border:0;border-radius:12px;padding:10px 14px;background:var(--color-accent);color:#fff;font-weight:700}.tabbar-search-overlay__types{display:flex;gap:8px;margin-top:14px}.tabbar-search-overlay__type{border:0;border-radius:999px;padding:9px 14px;background:var(--surface-2);color:var(--color-ink-3);font-size:13px;font-weight:600}.tabbar-search-overlay__type.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.tabbar-search-overlay__section{margin-top:20px}.tabbar-search-overlay__section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tabbar-search-overlay__label{color:var(--color-ink-3);font-size:13px;font-weight:700}.tabbar-search-overlay__clear{border:0;background:transparent;color:var(--color-accent);font-size:12px;font-weight:700}.tabbar-search-overlay__history,.tabbar-search-overlay__suggestions{display:flex;flex-direction:column;gap:10px}.tabbar-search-overlay__history-item,.tabbar-search-overlay__suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:16px;padding:12px 14px;background:var(--surface-4);box-shadow:var(--shadow-sm);color:var(--color-ink-3);text-decoration:none;text-align:left}.tabbar-search-overlay__history-item i{color:var(--color-accent)}.tabbar-search-overlay__history-item span,.tabbar-search-overlay__suggestion-item span{flex:1;min-width:0;font-size:14px;font-weight:600}.tabbar-search-overlay__suggestion-item small{color:var(--color-ink-4);font-size:12px}.tabbar-search-overlay__empty{padding:14px;border-radius:16px;background:var(--surface-2);color:var(--color-ink-4);font-size:13px;text-align:center}.tabbar-search-overlay__tags{display:flex;flex-wrap:wrap;gap:10px}.tabbar-search-overlay__tag{padding:10px 14px;border-radius:999px;background:var(--surface-2);color:var(--color-ink-3);text-decoration:none;font-size:13px}body.tabbar-search-open,body.tabbar-add-open{overflow:hidden}.footer-tabbar.scrolling-hide{transform:translateY(100%);transition:transform .3s ease}.footer-tabbar.scroll-down-hide{transition:transform .3s ease}.footer-tabbar.scroll-down-hide.is-hidden{transform:translateY(120%)}.tabbar-ontop-wrap{position:relative}.tabbar-ontop-wrap .tabbar-ontop-btn{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 12px;color:var(--color-primary);font-size:13px;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar-ontop-wrap .tabbar-ontop-btn i{font-size:18px;line-height:1}.tabbar-ontop-wrap .tabbar-ontop-btn span{font-weight:500;line-height:1;transform:scale(.8);transform-origin:center top}.tabbar-ontop-wrap.is-scrolled .tabbar-ontop-btn{display:flex}.tabbar-ontop-wrap.is-scrolled>.tabbar-item:not(.tabbar-ontop-btn){opacity:0;pointer-events:none}.theme-dark .site-footer,html.dark .site-footer{background:var(--surface-1)}.theme-dark .footer-tabbar,html.dark .footer-tabbar{background:var(--blur-bg);box-shadow:0 -1px 3px #0003}.back-to-top{display:none!important}.site-footer--compact .site-footer__grid{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.site-footer--compact .site-footer__brand{flex:1 1 100%}.tabbar-search-overlay[hidden]{display:none!important}.tabbar-search-overlay.is-open,.tabbar-search-overlay.show:not([hidden]){display:flex}.tabbar-search-overlay__dialog{max-width:720px;margin:0 auto}@media(min-width:768px){.tabbar-search-overlay{align-items:flex-start;padding-top:8vh;background:#0f172a73}.tabbar-search-overlay__dialog{min-height:auto;max-height:min(84vh,860px);overflow:auto;border-radius:20px;box-shadow:var(--shadow-lg, 0 20px 50px rgba(15, 23, 42, .22))}.nav-searchbox--desktop{display:none}.main-search-btn.nav-search-toggle{display:inline-flex;align-items:center;justify-content:center}}@media(max-width:767.98px){.main-search-btn.nav-search-toggle{display:none}}.site-footer--compact .site-footer__brand .site-footer__desc,.site-footer--compact .site-footer__brand .social-row,.site-footer--compact .site-footer__brand .site-footer__friends{display:none}.site-footer--compact .site-footer__col{flex:0 0 auto}.site-footer--compact .site-footer__col ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}.site-footer--compact .site-footer__bottom{border-top:1px solid var(--color-line);padding-top:12px;margin-top:12px}.site-footer--centered .site-footer__grid{text-align:center}.site-footer--centered .site-footer__brand{flex:1 1 100%;display:flex;flex-direction:column;align-items:center}.site-footer--centered .site-footer__col{flex:1 1 auto}.site-footer--centered .site-footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.footer{color:var(--footer-color, var(--color-ink-4));background:var(--footer-bg, var(--surface-1));padding:30px;font-size:13px;margin-top:auto}.footer a:not(.but):not(.focus-color){color:var(--footer-color, var(--color-ink-4))}.footer a:hover{color:var(--focus-color, var(--color-primary))}.footer .container-footer{max-width:calc(var(--mian-max-width, var(--container, 1200px)) + 180px);margin:0 auto;width:100%}.footer .list-inline{display:flex;align-items:center;gap:20px;list-style:none;margin:0 0 12px;padding:0}.footer .list-inline>li{flex:1;margin:5px 15px}.footer .list-inline>li+li+li{float:right;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.footer a.footer-logo img,.footer .footer-logo img{height:40px;width:auto;max-width:180px;vertical-align:middle;display:inline-block}.footer .title-h-left{position:relative;margin:8px 0 10px;padding-bottom:8px;font-size:15px;font-weight:700;color:var(--color-ink, #333)}.footer .title-h-left:before{transition:.4s;transform-origin:left;position:absolute;content:"";width:40px;height:3px;background:var(--theme-color, var(--color-primary));left:0;bottom:3px;border-radius:5px;box-shadow:1px 1px 3px -1px var(--theme-color, var(--color-primary))}.footer .footer-muted,.footer .em09{font-size:.92em;color:var(--muted-2-color, var(--color-ink-4));line-height:1.7}.footer .opacity8{opacity:.8}.footer .fcode-links{margin:0 0 8px;line-height:1.9}.footer .fcode-links>a+a:before{content:"";width:4px;height:4px;margin:0 .5em;border-radius:50%;display:inline-block;vertical-align:middle;background:var(--main-color, var(--color-ink-2));opacity:.3;vertical-align:.2em}.footer .toggle-radius{background:var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));width:29px;height:29px;display:inline-block;text-align:center;border-radius:100%;position:relative;vertical-align:text-top;line-height:29px;color:var(--footer-color, var(--color-ink-3));text-decoration:none}.footer .footer-contact{margin-top:10px}.footer .footer-contact>a{font-size:20px;margin:5px;width:35px;height:35px;line-height:35px;display:inline-block;text-align:center;border-radius:100%;background:var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));color:var(--footer-color, var(--color-ink-3));text-decoration:none;vertical-align:text-top;position:relative;transition:color .15s ease,background .15s ease}.footer .footer-contact>a:hover{color:#fff;background:var(--focus-color, var(--color-primary))}.footer .footer-contact>a i{vertical-align:middle}.footer .footer-wechat-img{display:none;position:absolute;width:140px;bottom:90%;left:-55px;padding-bottom:20px;z-index:5}.footer .hover-show{position:relative}.footer .hover-show:hover .footer-wechat-img,.footer .hover-show:focus .footer-wechat-img{display:block}.footer .footer-wechat-img img{box-shadow:0 5px 10px #0003;border-radius:4px;width:100%;height:auto;background:#fff}.footer .footer-miniimg img{width:90px;margin:0 6px;height:auto;max-width:100%;display:block;border-radius:4px}.footer .footer-miniimg-2{justify-content:flex-end}.footer .footer-miniimg-2 img{height:36px;border-radius:var(--main-radius)}.footer .footer-miniimg-2 .opacity8{display:none}.footer .footer-conter{margin:8px 0 0;line-height:1.8;color:var(--footer-color, var(--color-ink-4));font-size:13px}.footer .mt10{margin-top:10px}@media(max-width:767px){.footer .hidden-xs,.hidden-xs{display:none!important}.footer{padding:10px 0}.footer .container-footer{text-align:center;padding:0 16px}.footer .list-inline{gap:10px;flex-direction:column;align-items:center;justify-content:center}.footer .list-inline>li+li+li{float:none;align-items:center}.footer .list-inline>li{margin:12px 0;max-width:none!important}.footer .footer-miniimg-2{justify-content:center}.footer .title-h-left:before{left:50%;transform:translate(-50%)}}.float-right{position:fixed;bottom:60px;right:20px;z-index:1030;text-align:center;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);transition:.3s}.float-right .admin-set-page .admin-set-info{position:absolute;top:50%;right:.7em;transform:translateY(-50%);white-space:nowrap;line-height:1.5;margin:0;box-shadow:none;text-align:center;z-index:1}body:has(.modal.in) .float-right,.modal-open .float-right,.imgbox-show .float-right,.scroll-down .scroll-down-hide.float-right,.scroll-ing .scrolling-hide.float-right{transform:translate(200%)}body:has(.modal.in) .float-right.position-center,.modal-open .float-right.position-center,.imgbox-show .float-right.position-center,.scroll-down .scroll-down-hide.float-right.position-center,.scroll-ing .scrolling-hide.float-right.position-center{transform:translate(200%,-50%)}.float-right.position-center{bottom:auto;top:50%;transform:translateY(-50%)}.float-right .float-btn{width:40px;min-height:40px;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:7px 0;font-size:1.4em;--this-color: var(--muted-2-color);--this-bg: var(--float-btn-bg);background:var(--this-bg);position:relative;color:var(--this-color)!important}.float-right .float-btn text{font-size:12px;line-height:1;margin-top:5px}.float-right badge{transform:translate(-11px,-5px) scale(.85);margin-right:-50px;right:auto;left:35px;font-size:12px;position:absolute}.filter .float-btn{-webkit-backdrop-filter:saturate(2) blur(10px);backdrop-filter:saturate(2) blur(10px)}.float-right.square .float-btn+.float-btn{border-top:1px solid var(--main-shadow)}.float-right.round .float-btn{margin-top:6px;border-radius:8px}.float-btn.ontop{opacity:0;transition:.5s;transform:translateY(10px);visibility:hidden}.ontop.show{opacity:1;transform:translateY(0);visibility:unset;display:flex!important}.float-btn .hover-show-con{right:35px;left:auto;width:200px;margin-right:15px;top:0;font-size:14px;line-height:1.4;color:var(--main-color);padding:10px;margin-top:0;border-radius:var(--main-radius);cursor:auto}.float-btn .dropdown-menu:before{left:auto;top:15px;right:-5px}.float-btn.service-wechat .hover-show-con{width:120px;top:-40px;padding:0}.float-btn.service-wechat .dropdown-menu:before{top:53px}.float-btn.qrcode-btn .hover-show-con{width:150px;top:-60px;padding:16px 5px 12px;text-align:center}.float-btn.qrcode-btn .qrcode{background:#fff;display:inline-flex;padding:5px}.float-btn.qrcode-btn .dropdown-menu:before{top:73px}.float-btn.newadd-btns .drop-newadd{width:137px;top:-74px}.float-btn.newadd-btns .drop-newadd:before{left:auto;top:88px;right:-5px}@media(max-width:767px){.float-btn .hover-show-con{max-width:240px}}.float-right.position-top{bottom:auto;top:80px}.float-btn.wait-pay-btn .hover-show-con{animation:float-wait-pay 2s;animation-delay:.3s}body.modal-open .float-btn.wait-pay-btn .hover-show-con{opacity:0!important}.float-btn .order-thumb{width:48px;height:48px}.float-btn .order-item{color:inherit}@keyframes float-wait-pay{0%{opacity:0;visibility:unset;box-shadow:0 0 10px #ff49791a}10%{opacity:1;box-shadow:0 0 10px #ff4979f2}30%{box-shadow:0 0 10px #ff49791a}50%{box-shadow:0 0 10px #ff4979f2}70%{box-shadow:0 0 10px #ff49791a}80%{visibility:unset;opacity:1}}@media(max-width:640px){.float-right{right:10px}.float-right.position-top{top:56px}}@keyframes aksrt-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aksrt-hover-zoom{transition:transform .3s ease}.aksrt-hover-zoom:hover{transform:scale(1.02)}.aksrt-hover-zoom-sm{transition:transform .3s ease}.aksrt-hover-zoom-sm:hover{transform:scale(1.02)}.aksrt-hover-show{position:relative}.aksrt-hover-show__content{position:absolute;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s,transform .3s,visibility .3s;z-index:10}.aksrt-hover-show:hover .aksrt-hover-show__content{opacity:1;visibility:visible;transform:translateY(0)}.aksrt-ic-close{transition:transform .3s;cursor:pointer}.aksrt-ic-close:hover{transform:rotate(270deg)}.aksrt-hover-zoom-img img{transition:transform .3s ease}.aksrt-hover-zoom-img:hover img{transform:scale(1.02)}.aksrt-hover-zoom-img-sm img{transition:transform .3s ease}.aksrt-hover-zoom-img-sm:hover img{transform:scale(1.02)}.aksrt-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.aksrt-hover-lift:hover{transform:none;box-shadow:0 4px 12px #0000001a}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.dark::view-transition-old(root),body.dark-theme::view-transition-old(root){z-index:1}.dark::view-transition-new(root),body.dark-theme::view-transition-new(root){z-index:2147483646}::view-transition-old(root){z-index:2147483646}::view-transition-new(root){z-index:1}@supports not ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))){:root{--aksrt-blur-bg: #ffffff}.dark{--aksrt-blur-bg: var(--surface-1)}}body.aksrt-scroll-down .site-nav.nav-scroll-hide{transform:translateY(-100%);transition:transform .3s ease}body.aksrt-scroll-up .site-nav.nav-scroll-hide{transform:translateY(0);transition:transform .3s ease}body.aksrt-scrolling .aksrt-floating-right.scrolling-hide{opacity:0;pointer-events:none;transition:opacity .2s}body.aksrt-body-scroll .aksrt-show-on-scroll{opacity:1;visibility:visible}.aksrt-show-on-scroll{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.aksrt-cursor-zoom-in{cursor:zoom-in}.aksrt-announcement{position:relative;overflow:hidden;padding:10px 12px;background:var(--surface-2, #F4F5F7);border-radius:var(--radius, 10px)}.aksrt-announcement__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-primary, var(--color-primary));font-size:14px;z-index:1}.aksrt-announcement__track{margin-left:24px;overflow:hidden;height:20px}.aksrt-announcement__list{margin:0;padding:0;list-style:none;animation:aksrt-marquee 10s linear infinite}.aksrt-announcement__item{height:20px;line-height:20px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aksrt-announcement__item a{color:var(--color-ink-2);text-decoration:none}.aksrt-announcement__item a:hover{color:var(--color-primary, var(--color-primary))}@keyframes aksrt-marquee{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.aksrt-announcement:hover .aksrt-announcement__list{animation-play-state:paused}[data-aksrt-animate]{will-change:opacity,transform}[data-aksrt-sticky]{will-change:transform}.aksrt-user-ranking{margin:0;padding:0;list-style:none}.aksrt-user-ranking__item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-line-soft, #F0F1F3)}.aksrt-user-ranking__item:last-child{border-bottom:none}.aksrt-user-ranking__rank{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--surface-2, #F4F5F7);color:var(--color-ink-3);font-size:12px;font-weight:600;flex-shrink:0}.aksrt-user-ranking__item--top:nth-child(1) .aksrt-user-ranking__rank{background:gold;color:#fff}.aksrt-user-ranking__item--top:nth-child(2) .aksrt-user-ranking__rank{background:silver;color:#fff}.aksrt-user-ranking__item--top:nth-child(3) .aksrt-user-ranking__rank{background:#cd7f32;color:#fff}.aksrt-user-ranking__avatar{flex-shrink:0}.aksrt-user-ranking__avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover}.aksrt-user-ranking__name{flex:1;min-width:0;font-size:14px;color:var(--color-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aksrt-user-ranking__name:hover{color:var(--color-primary, var(--color-primary))}.aksrt-user-ranking__value{font-size:12px;color:var(--color-ink-4, #8A8F98);white-space:nowrap}.aksrt-cover-cards{display:grid;grid-template-columns:repeat(var(--cols, 2),1fr);gap:12px}.aksrt-cover-card{position:relative;border-radius:var(--radius-lg, 8px);overflow:hidden;min-height:160px;display:flex;align-items:flex-end;transition:transform .3s,box-shadow .3s}.aksrt-cover-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000026}.aksrt-cover-card__bg{position:absolute;inset:0}.aksrt-cover-card__bg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.aksrt-cover-card:hover .aksrt-cover-card__bg img{transform:scale(1.02)}.aksrt-cover-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#0009)}.aksrt-cover-card__content{position:relative;z-index:1;padding:16px;width:100%}.aksrt-cover-card__link{text-decoration:none;color:inherit;display:block}.aksrt-cover-card__title{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.aksrt-cover-card__desc{margin:0;font-size:13px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.aksrt-video-widget{position:relative;width:100%;overflow:hidden;border-radius:var(--radius, 10px);background:#000}.aksrt-video-widget iframe,.aksrt-video-widget video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.aksrt-float-label{position:relative}.aksrt-float-label__input{width:100%;padding:14px 12px 6px;font-size:14px;border:1px solid var(--color-line);border-radius:var(--radius, 10px);background:var(--surface-1, #fff);color:var(--color-ink);transition:border-color .2s}.aksrt-float-label__input:focus{outline:none;border-color:var(--color-primary, var(--color-primary))}.aksrt-float-label__label{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--color-ink-4, #8A8F98);pointer-events:none;transition:all .2s ease}.aksrt-float-label__input:focus+.aksrt-float-label__label,.aksrt-float-label__input:not(:placeholder-shown)+.aksrt-float-label__label{top:8px;transform:translateY(0);font-size:11px;color:var(--color-primary, var(--color-primary))}[data-aksrt-parallax]{will-change:transform;transition:transform .1s linear}.aksrt-level-bar{position:relative;height:8px;background:var(--surface-2, #F4F5F7);border-radius:4px;overflow:hidden}.aksrt-level-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-primary, var(--color-primary)),var(--color-primary-active, #5A85BD));border-radius:4px;transition:width .5s ease}.aksrt-level-bar__label{position:absolute;right:0;top:-18px;font-size:11px;color:var(--color-ink-4, #8A8F98)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-ink-3, #777)}.empty-state__icon{font-size:56px;color:var(--surface-3, #e8e8e8);margin-bottom:16px;line-height:1}.empty-state__icon i{display:inline-block}.empty-state__title{font-size:16px;font-weight:500;color:var(--color-ink-2, #4e5358);margin-bottom:8px}.empty-state__desc{font-size:13px;color:var(--color-ink-4, #999);margin-bottom:20px;max-width:320px;margin-left:auto;margin-right:auto;line-height:1.6}.empty-state__action{display:inline-flex;align-items:center;gap:6px}.empty-state--sm{padding:30px 16px}.empty-state--sm .empty-state__icon{font-size:40px}.empty-state--sm .empty-state__title{font-size:14px}.empty-state--sm .empty-state__desc{font-size:12px}.search-empty{text-align:center;padding:80px 20px}.search-empty__icon{font-size:64px;color:var(--surface-3, #e8e8e8);margin-bottom:16px}.search-empty__title{font-size:18px;font-weight:500;color:var(--color-ink-2, #4e5358);margin-bottom:8px}.search-empty__suggestions{font-size:13px;color:var(--color-ink-4, #999)}.search-empty__suggestions a{color:var(--color-primary, #f04494);text-decoration:none}.search-empty__suggestions a:hover{text-decoration:underline}@media(max-width:767px){.empty-state{padding:40px 16px}.empty-state__icon{font-size:44px}}.pagination,.aksrt-pagination,.navigation.pagination .nav-links,.pagenav.ajax-pag{display:flex;align-items:center;justify-content:center;gap:6px;padding:24px 0;flex-wrap:wrap}.pagination a,.pagination span,.aksrt-pagination a,.aksrt-pagination span,.navigation.pagination a,.navigation.pagination span,.pagenav.ajax-pag a,.pagenav.ajax-pag span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.4;color:var(--muted-color, var(--color-ink-3));background:var(--surface-4, var(--main-border-color, rgba(50, 50, 50, .06)));border:1px solid transparent;border-radius:var(--radius-xs, 3px);text-decoration:none;transition:all .2s;user-select:none}.pagination a:hover,.aksrt-pagination a:hover,.navigation.pagination a:hover,.pagenav.ajax-pag a:hover{opacity:1;color:var(--color-primary);background:var(--color-primary-soft)}.pagination .current,.aksrt-pagination .current,.navigation.pagination .current,.pagenav.ajax-pag .current{color:var(--color-on-primary, #fff);background:var(--color-primary, #f04494);border-color:var(--color-primary, #f04494);font-weight:500}.pagination .dots,.aksrt-pagination .dots,.navigation.pagination .dots,.pagenav.ajax-pag .dots{border:none;background:none;color:var(--color-ink-4, #999);cursor:default;min-width:auto;padding-left:4px;padding-right:4px}.pagination .prev,.pagination .next,.aksrt-pagination .prev,.aksrt-pagination .next,.navigation.pagination .prev,.navigation.pagination .next,.pagenav.ajax-pag .prev,.pagenav.ajax-pag .next{font-size:12px}.pagination .prev i,.pagination .next i,.aksrt-pagination .prev i,.aksrt-pagination .next i,.navigation.pagination .prev i,.navigation.pagination .next i,.pagenav.ajax-pag .prev i,.pagenav.ajax-pag .next i{font-size:11px}.pagenav.ajax-pag .pag-jump,.aksrt-pagination .pag-jump,.navigation.pagination .pag-jump{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.pagenav.ajax-pag .jump-input,.aksrt-pagination .jump-input,.navigation.pagination .jump-input{width:64px;min-width:64px;padding:6px 8px 5px;font-size:13px;line-height:1.4;color:var(--muted-color, var(--color-ink-3));background:var(--main-bg-color, #fff);border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));border-radius:3px;box-shadow:none}.pagenav.ajax-pag .jump-input:focus,.aksrt-pagination .jump-input:focus,.navigation.pagination .jump-input:focus{outline:none;border-color:var(--focus-color, var(--color-primary, #f04494))}.pagenav.ajax-pag .pag-jump .ajax-next,.aksrt-pagination .pag-jump .ajax-next,.navigation.pagination .pag-jump .ajax-next{min-width:auto;cursor:pointer}.pagination__nav{display:flex;gap:8px;justify-content:center;margin-top:8px}.pagination__nav a{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:13px;color:var(--color-ink-2, #4e5358);background:var(--surface-1, #fff);border:1px solid var(--color-line, rgba(50, 50, 50, .06));border-radius:6px;text-decoration:none;transition:all .2s}.pagination__nav a:hover{color:var(--color-primary, #f04494);border-color:var(--color-primary, #f04494)}@media(max-width:767px){.pagination a,.pagination span,.aksrt-pagination a,.aksrt-pagination span,.navigation.pagination a,.navigation.pagination span,.pagenav.ajax-pag a,.pagenav.ajax-pag span{min-width:28px;font-size:12px;margin:2px}.pagenav.ajax-pag .pag-jump,.aksrt-pagination .pag-jump,.navigation.pagination .pag-jump{width:100%;justify-content:center;margin-left:0;margin-top:6px}.pagenav.ajax-pag .jump-input,.aksrt-pagination .jump-input,.navigation.pagination .jump-input{width:58px;min-width:58px;font-size:12px}}.aksrt-modal-runtime{--modal-ink: var(--color-ink, #333333);--modal-ink-2: var(--color-ink-2, #4e5358);--modal-muted: var(--color-ink-3, #777777);--modal-line: var(--color-line-stronger, rgba(50, 50, 50, .12));--modal-line-soft: var(--color-line, rgba(50, 50, 50, .06));--modal-surface: var(--surface-1, #ffffff);--modal-surface-2: var(--surface-2, #eeeeee);--modal-surface-3: var(--surface-4, #f8f8f8);--modal-primary: var(--color-primary, #f04494);--modal-on-primary: var(--color-on-primary, #ffffff);--modal-warning: var(--color-warning, #f59e0b);--modal-success: var(--color-success, #10b981);--modal-danger: var(--color-danger, #ef4444)}html.aksrt-modal-runtime-open,body.aksrt-modal-runtime-open{overflow:hidden}.aksrt-modal-runtime.modal-mini,.aksrt-modal-runtime.full-sm{width:auto;max-width:none;margin:0}.aksrt-modal-runtime{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.aksrt-modal-runtime.is-open{opacity:1;visibility:visible;pointer-events:auto}.aksrt-modal-runtime.is-open.aksrt-modal-runtime--parent{pointer-events:none}.aksrt-modal-runtime.is-open.aksrt-modal-runtime--parent .aksrt-modal-runtime__dialog{transform:scale(.98)}.aksrt-modal-runtime--child .aksrt-modal-runtime__overlay{background:#0003}.aksrt-modal-runtime__overlay{position:absolute;inset:0;background:#00000080}.aksrt-modal-runtime__dialog{position:relative;z-index:1;width:min(440px,calc(100vw - 32px));max-height:min(88vh,720px);overflow:auto;background:var(--surface-1, #fff);border-radius:16px;box-shadow:0 18px 48px #0f121c38;transform:translateY(12px) scale(.98);transition:transform .22s cubic-bezier(.22,1,.36,1);color:var(--color-ink, #1f2937)}.aksrt-modal-runtime.is-open .aksrt-modal-runtime__dialog{transform:translateY(0) scale(1)}.aksrt-modal-runtime--bottom{align-items:flex-end}.aksrt-modal-runtime--bottom .aksrt-modal-runtime__dialog{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;transform:translateY(24px)}.aksrt-modal-runtime--bottom.is-open .aksrt-modal-runtime__dialog{transform:translateY(0)}.aksrt-modal-runtime__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.aksrt-modal-runtime__title{margin:0;font-size:17px;line-height:1.35}.aksrt-modal-runtime__content{padding:18px 18px 16px}.aksrt-modal-runtime__loading,.aksrt-modal-runtime__error-body{padding:28px 8px;text-align:center;color:var(--color-ink-2, #6b7280);font-size:14px}.aksrt-modal-runtime__skeleton{display:grid;gap:12px;padding:8px 2px}.aksrt-modal-runtime__skeleton-line,.aksrt-modal-runtime__skeleton-block{display:block;border-radius:8px;background:linear-gradient(90deg,#94a3b829,#94a3b84d,#94a3b829);background-size:200% 100%;animation:aksrt-modal-skeleton 1.2s ease-in-out infinite}.aksrt-modal-runtime__skeleton-line{width:72%;height:12px}.aksrt-modal-runtime__skeleton-line.is-wide{width:92%;height:18px}.aksrt-modal-runtime__skeleton-line.is-short{width:44%}.aksrt-modal-runtime__skeleton-block{width:100%;min-height:84px}.aksrt-modal-runtime__retry{cursor:pointer}@keyframes aksrt-modal-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.aksrt-modal-runtime .touch.border-title,.aksrt-modal-runtime .border-title{font-size:16px;font-weight:700;margin:0 0 14px;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.aksrt-modal-runtime .aksrt-modal-runtime__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--color-ink-3, #9ca3af);cursor:pointer;font-size:18px;line-height:1}.aksrt-modal-runtime .but-average.modal-buts,.aksrt-modal-runtime .modal-buts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.aksrt-modal-runtime .but-average.modal-buts .but,.aksrt-modal-runtime .modal-buts .but,.aksrt-modal-runtime .modal-buts button{min-height:40px;border-radius:10px;border:1px solid var(--color-line, #e5e7eb);background:var(--surface-4, #f3f4f6);color:var(--color-ink, #111);font-weight:600;cursor:pointer}.aksrt-modal-runtime .modal-buts .but.c-blue,.aksrt-modal-runtime .modal-buts button.c-blue,.aksrt-modal-runtime .modal-buts .btn-primary{background:var(--color-primary, #f04494);border-color:color-mix(in srgb,var(--color-primary, #f04494) 70%,#000 0%);color:var(--color-on-primary, #fff)}.aksrt-modal-runtime.aksrt-checkin-details-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-modal-runtime.aksrt-checkin-details-modal .aksrt-modal-runtime__content{padding:0}.aksrt-modal-runtime.aksrt-checkin-details-modal .aksrt-modal-runtime__skeleton{padding:24px 18px}.ajaxpager.is-ajax-loading{position:relative;min-height:80px}.post_ajax_loader{display:none}.post_ajax_loader.is-loading{display:block;animation:aksrtFadeIn .2s ease both}.ajax-item.is-fading{opacity:.35;transition:opacity .15s ease}.aksrt-report-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(600px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-report-modal .edit-header{position:relative;padding-right:32px}.aksrt-report-modal .edit-header .close{position:absolute;right:0;top:50%;transform:translateY(-50%);float:none;font-size:20px;line-height:1;cursor:pointer;background:none;border:0;padding:2px 6px}.aksrt-report-modal .form-but-radio .badg{cursor:pointer;user-select:none}.aksrt-user-ban-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(600px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-user-ban-info-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog,.aksrt-user-ban-appeal-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog,.aksrt-user-ban-log-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-user-ban-info-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-appeal-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-log-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-modal .aksrt-modal-runtime__skeleton{padding:24px 18px}.aksrt-user-ban-modal .edit-header,.aksrt-user-ban-appeal-modal .edit-header{position:relative;padding-right:32px}.aksrt-user-ban-modal .edit-header .close,.aksrt-user-ban-appeal-modal .edit-header .close{position:absolute;right:0;top:50%;transform:translateY(-50%);float:none;font-size:20px;line-height:1;cursor:pointer;background:none;border:0;padding:2px 6px}.aksrt-user-ban-modal .modal-colorful-header,.aksrt-user-ban-modal .colorful-bg,.aksrt-user-ban-info-modal .modal-colorful-header,.aksrt-user-ban-info-modal .colorful-bg,.aksrt-user-ban-log-modal .modal-colorful-header,.aksrt-user-ban-log-modal .colorful-bg{position:relative;overflow:hidden;color:var(--this-color);background:var(--this-bg);background-size:120%}.aksrt-user-ban-modal .modal-colorful-header,.aksrt-user-ban-info-modal .modal-colorful-header,.aksrt-user-ban-log-modal .modal-colorful-header{position:absolute;top:0;right:0;left:0;display:flex;align-items:center;justify-content:center;height:120px;border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.aksrt-user-ban-modal .modal-colorful-header+*,.aksrt-user-ban-info-modal .modal-colorful-header+*,.aksrt-user-ban-log-modal .modal-colorful-header+*{margin-top:120px}.aksrt-user-ban-modal .modal-colorful-header>.close,.aksrt-user-ban-info-modal .modal-colorful-header>.close,.aksrt-user-ban-log-modal .modal-colorful-header>.close{position:absolute;top:10px;right:10px;z-index:9;color:var(--this-color);font-size:18px;opacity:.6}.aksrt-user-ban-modal .colorful-bg>.colorful-make,.aksrt-user-ban-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:after{position:absolute;color:var(--this-color);background:var(--this-bg);border-radius:100%;content:""}.aksrt-user-ban-modal .colorful-bg>.colorful-make,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make{top:60%;bottom:0;width:323px;height:290px;animation:aksrt-ban-colorful 120s linear infinite}.aksrt-user-ban-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:before{top:-325px;right:-558px;bottom:0;width:677px;height:300px;opacity:.6;transform:rotate(341deg)}.aksrt-user-ban-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:after{top:-170px;bottom:0;left:-262px;width:402px;height:214px;opacity:.4;transform:rotate(326deg)}.aksrt-user-ban-modal .colorful-bg>.colorful-make+*,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make+*,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make+*{position:relative}.aksrt-user-ban-modal .form-but-radio label{cursor:pointer}.aksrt-user-ban-modal .form-but-radio .but-radio,.aksrt-user-ban-modal .aksrt-user-ban-form label{user-select:none}@keyframes aksrt-ban-colorful{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.order-comment-from .shop-score-box{display:flex;align-items:center;gap:8px;min-height:36px}.order-comment-from .score-title{width:4.5em;flex:0 0 auto;font-size:13px;color:var(--color-ink-2, #6b7280)}.order-comment-from .score-icon{display:inline-flex;gap:4px;align-items:center;height:30px}.order-comment-from .icon-star{display:inline-flex;width:22px;height:22px;color:#d1d5db;cursor:pointer;transition:color .12s ease,transform .12s ease}.order-comment-from .icon-star svg{width:22px;height:22px;fill:currentColor}.order-comment-from .icon-star.active,.order-comment-from .icon-star.hover{color:#fc7049}.order-comment-from .icon-star.hover{transform:scale(1.08)}.order-comment-from .score-text{min-width:3em;font-size:13px;color:var(--color-ink-2, #6b7280)}.order-comment-from textarea.form-control{width:100%;border:1px solid var(--color-line, #e5e7eb);border-radius:10px;padding:10px 12px;font-size:14px;resize:vertical;min-height:96px;background:var(--surface-1, #fff);color:var(--color-ink, #111)}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview{display:flex;flex-wrap:wrap;gap:8px}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .add,:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item{width:80px;height:80px;border-radius:10px;border:1px dashed var(--color-line, #d1d5db);background:var(--surface-4, #f9fafb);position:relative;overflow:hidden;cursor:pointer}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item img{width:100%;height:100%;object-fit:cover;display:block}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item .remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:999px;background:#0000008c;color:#fff;font-size:12px;line-height:1;cursor:pointer}:is(.order-comment-from,.aksrt-report-modal) .form-upload .hide{display:none!important}.order-comment-from .review-error{color:#ef4444;font-size:13px;margin-top:8px}@media(max-width:768px){.aksrt-modal-runtime:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:calc(100vw - 20px)}}.notyn{position:fixed;bottom:6em;right:0;max-width:320px;z-index:10000000}.notyf{position:relative;margin-bottom:.6em;color:#fff;font-size:14px;line-height:1.42857143;float:right;min-width:200px;padding:1em 3em 1em 3.4em;box-shadow:-3px 3px 6px #0000001a;transform:translate(1.5em);transition:.3s;-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);-webkit-animation:notyf .4s cubic-bezier(.35,.71,.46,1.08);animation:notyf .4s cubic-bezier(.35,.71,.46,1.08)}.notyn-out .notyf{transform:translate(110%);opacity:.5;transition:.5s}@-webkit-keyframes notyf{0%{transform:translate(110%);opacity:0}to{transform:translate(1.5em);opacity:1}}@keyframes notyf{0%{transform:translate(110%);opacity:0}to{transform:translate(1.5em);opacity:1}}.notyf:before{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;line-height:1;left:.8em;font-size:1.5em;position:absolute;top:0;bottom:0;margin:auto;height:20px}.notyf.success{background:linear-gradient(90deg,#0f93f9b3,#3dbdf9cc)}.notyf.success:before{content:""}.notyf.info{background:linear-gradient(90deg,#3aa236cc,#59f783cc)}.notyf.info:before{content:""}.notyf.warning,.notyf.load{background:linear-gradient(90deg,#fdaa47b3,#f79a0dcc)}.notyf.warning:before{content:""}.notyf.danger{background:linear-gradient(90deg,#fd451cb3,#fb6e4bcc)}.notyf.danger:before{content:""}.notyf .fa-close{float:right;padding:.6em;margin:-.4em}.notyf.load:before{content:"";width:.7em;height:.7em;display:inline-block;border:.08em solid transparent;border-width:calc(1px + .03em);border-radius:50%;border-top-color:var(--this-color);border-bottom-color:var(--this-color);-webkit-animation:huan-rotate 1s cubic-bezier(.7,.1,.31,.9) infinite;animation:huan-rotate 1s cubic-bezier(.7,.1,.31,.9) infinite}@-webkit-keyframes huan-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes huan-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aksrt-captcha-box{display:none}.aksrt-captcha-wrap{text-align:center}.aksrt-captcha-modal-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}.aksrt-captcha-modal-backdrop{position:absolute;inset:0;background:#0000008c;animation:aksrtFadeIn .2s ease}.aksrt-captcha-modal-box{position:relative;background:var(--surface-page,#fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:380px;animation:aksrtSlideUp .25s ease;overflow:hidden}.aksrt-captcha-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-line,#e5e7eb)}.aksrt-captcha-modal-title{font-size:15px;font-weight:600;color:var(--color-ink,#1f2937)}.aksrt-captcha-modal-close{background:none;border:none;font-size:22px;color:var(--color-ink-4,#9ca3af);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px}.aksrt-captcha-modal-close:hover{background:var(--color-bg-hover,#f3f4f6);color:var(--color-ink,#1f2937)}.aksrt-captcha-modal-body{padding:20px}.aksrt-captcha-modal-hint{font-size:13px;color:var(--color-ink-4,#9ca3af);margin:0 0 16px;text-align:center}.aksrt-captcha-modal-widget{display:flex;justify-content:center}@keyframes aksrtFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aksrtSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.aksrt-modal-runtime.aksrt-reward-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-modal-runtime__content{padding:0}.aksrt-reward-modal .modal-colorful-header+.aksrt-reward__body{margin-top:0;padding:135px 15px 15px;color:var(--main-color, var(--color-ink, #333))}.aksrt-reward__desc{margin:0 0 16px;text-align:center}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount{display:inline-flex;width:100%;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:4px;margin:0;padding:8px 6px;border:1px solid var(--color-line-stronger, rgba(50, 50, 50, .12));border-radius:var(--radius, 8px);background:var(--surface-2, #f5f6f7);color:var(--color-ink-2, #4e5358);cursor:pointer;font-size:16px;font-weight:700;line-height:1.2;box-shadow:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount:hover{border-color:var(--focus-color, var(--color-primary, #f04494));background:var(--color-primary-soft, rgba(240, 68, 148, .1));color:var(--focus-color, var(--color-primary, #f04494));opacity:1;transform:translateY(-1px)}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount:focus-visible{outline:0;box-shadow:0 0 0 3px var(--color-primary-soft, rgba(240, 68, 148, .2))}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount.is-active,.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount.is-active:hover{border-color:var(--focus-color, var(--color-primary, #f04494));background:var(--focus-color, var(--color-primary, #f04494));color:#fff;box-shadow:0 3px 10px var(--color-primary-soft, rgba(240, 68, 148, .2));opacity:1;transform:none}.aksrt-reward__currency{font-size:13px;font-weight:400}.aksrt-reward__value{font-size:15px}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__custom{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;color:var(--color-ink-2, #4e5358);font-size:14px;font-weight:600}.aksrt-reward__custom-label{flex:0 0 auto}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input-wrap{display:flex;width:min(190px,62%);min-height:44px;align-items:center;padding:0 10px 0 12px;border:1px solid var(--color-line-stronger, rgba(50, 50, 50, .12));border-radius:var(--radius, 8px);background:var(--surface-1, #fff);transition:border-color .2s ease,box-shadow .2s ease}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input-wrap:focus-within{border-color:var(--focus-color, var(--color-primary, #f04494));box-shadow:0 0 0 3px var(--color-primary-soft, rgba(240, 68, 148, .1))}.aksrt-reward__input-currency{flex:0 0 auto;margin-right:6px;color:var(--muted-color, var(--color-ink-3, #777));font-size:14px;font-weight:600}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input{width:100%;min-width:0;min-height:42px;padding:0;border:0;outline:0;background:transparent;color:var(--color-ink, #333);font-size:15px;font-weight:600;text-align:right;-moz-appearance:textfield;box-shadow:none}.aksrt-reward__input::-webkit-inner-spin-button,.aksrt-reward__input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.aksrt-reward__input::placeholder{color:var(--muted-color, var(--color-ink-4, #999));opacity:1}.aksrt-reward__input:disabled,.aksrt-reward__amount:disabled{cursor:wait;opacity:.6}.aksrt-reward__submit{min-height:42px}.aksrt-reward__submit:disabled{cursor:wait;opacity:.7}.aksrt-reward__message{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aksrt-reward__captcha{margin:0 0 14px}.aksrt-modal-runtime--bottom.aksrt-reward-modal .aksrt-modal-runtime__dialog,.aksrt-modal-runtime--bottom.aksrt-reward-modal .modal-colorful-header{border-radius:16px 16px 0 0} +:root{--color-primary: #f04494;--color-primary-hover: #e0307e;--color-primary-active: #c9206d;--color-primary-soft: rgba(240, 68, 148, .1);--color-primary-softer: rgba(240, 68, 148, .05);--color-on-primary: #FFFFFF;--color-ink: #333333;--color-ink-2: #4e5358;--color-ink-3: #777777;--color-ink-4: #999999;--surface-page: #f5f6f7;--surface-1: #FFFFFF;--surface-2: #eeeeee;--surface-3: #e9ecef;--surface-4: #f8f8f8;--color-line: rgba(50, 50, 50, .06);--color-line-soft: rgba(0, 0, 0, .03);--color-line-stronger: rgba(50, 50, 50, .12);--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-accent: #18a058;--color-accent-soft: rgba(24, 160, 88, .12);--color-accent-shadow: rgba(24, 160, 88, .28);--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: .875rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 3.75rem;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.6;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-xs: 3px;--radius-sm: 4px;--radius: 8px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-pill: 100px;--radius-avatar: 50%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 0 10px rgba(116, 116, 116, .08);--shadow: 0 0 10px rgba(116, 116, 116, .12);--shadow-lg: 0 12px 32px rgba(18, 18, 18, .1);--shadow-drawer: 0 18px 60px rgba(0, 0, 0, .2);--nav-height: 60px;--container: 1200px;--container-wide: 1440px;--container-read: 760px;--container-page: 880px;--sidebar-width: 311px;--content-gap: 24px;--section-gap: 24px;--sidebar-bp: 992px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur: .25s;--dur-slow: .4s;--focus-ring: 0 0 2px 3px rgba(253, 83, 161, .4);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-popover: 600;--z-toast: 700;--z-tooltip: 800;--radius-btn: 4px;--btn-sm-h: 28px;--btn-md-h: 34px;--btn-lg-h: 44px;--card-padding: 15px;--card-padding-sm: 10px;--card-gap: 16px;--card-gap-lg: 20px;--color-primary-light: var(--color-primary-soft);--color-surface: var(--surface-1);--color-line-strong: var(--color-line);--color-bg-hover: var(--surface-2);--color-border-light: var(--color-line-soft);--color-fill: var(--surface-2);--color-warning-bg: #fffbe6;--color-warning-text: #ad6800;--text-secondary: var(--color-ink-3);--text-tertiary: var(--color-ink-4);--surface-active: var(--surface-2);--surface-card: var(--surface-1);--surface-hover: var(--surface-2);--surface-secondary: var(--surface-2);--radius-code: var(--radius);--radius-full: 100px;--shadow-xl: 0 0 10px rgba(116, 116, 116, .12);--space-16: 64px;--z-floating: 900;--transition-fast: .15s ease;--transition-base: .25s ease;--header-bg: var(--blur-bg);--header-color: var(--color-ink-2);--footer-bg: var(--surface-1);--footer-color: var(--color-ink-4);--blur-bg: rgba(255, 255, 255, .8);--float-btn-bg: rgba(200, 200, 200, .4);--font-heading: var(--font-ui);--radius-card: var(--radius);--radius-md: var(--radius);--color-primary-50: var(--color-primary-soft);--color-primary-dark: var(--color-primary-active);--shadow-md: var(--shadow);--mini-radius: calc(var(--radius) / 1.4);--aksrt-avatar-size-xs: 24px;--aksrt-avatar-size-sm: 32px;--aksrt-avatar-size: 40px;--aksrt-avatar-size-lg: 56px;--aksrt-avatar-size-xl: 80px;--aksrt-card-thumb-scale: 56.25%;--aksrt-rose: #f43f5e;--aksrt-rose-soft: rgba(244, 63, 94, .12);--aksrt-blue: #3b82f6;--aksrt-blue-soft: rgba(59, 130, 246, .12);--aksrt-green: #10b981;--aksrt-green-soft: rgba(16, 185, 129, .12);--aksrt-orange: #f97316;--aksrt-orange-soft:rgba(249, 115, 22, .12);--aksrt-purple: #8b5cf6;--aksrt-purple-soft:rgba(139, 92, 246, .12);--aksrt-cyan: #06b6d4;--aksrt-cyan-soft: rgba(6, 182, 212, .12);--aksrt-yellow: #eab308;--aksrt-yellow-soft:rgba(234, 179, 8, .12);--aksrt-red: #ef4444;--aksrt-red-soft: rgba(239, 68, 68, .12);--aksrt-teal: #14b8a6;--aksrt-teal-soft: rgba(20, 184, 166, .12);--aksrt-indigo: #6366f1;--aksrt-indigo-soft:rgba(99, 102, 241, .12);--aksrt-pink: #ec4899;--aksrt-pink-soft: rgba(236, 72, 153, .12);--aksrt-vip-gold-1: #f6d365;--aksrt-vip-gold-2: #fda085;--aksrt-grad-sunset-1: #f093fb;--aksrt-grad-sunset-2: #f5576c;--aksrt-grad-ocean-1: #4facfe;--aksrt-grad-ocean-2: #00f2fe;--aksrt-grad-forest-1: #43e97b;--aksrt-grad-forest-2: #38f9d7;--aksrt-grad-night-1: #a18cd1;--aksrt-grad-night-2: #fbc2eb;--aksrt-grad-fire-1: #f83600;--aksrt-grad-fire-2: #f9d423;--aksrt-toggle-w: 44px;--aksrt-toggle-h: 24px;--aksrt-stepper-h: 36px;--aksrt-badge-h: 22px;--text-1: var(--color-ink);--text-2: var(--color-ink-2);--text-3: var(--color-ink-3);--border: var(--color-line);--color-text-1: var(--color-ink);--color-text-2: var(--color-ink-2);--color-text-3: var(--color-ink-3);--color-primary-bg: var(--color-primary-softer);--color-danger: var(--color-error)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){:root{--blur-bg: var(--surface-1);--header-bg: var(--surface-1)}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){html.dark,body.dark-theme{--blur-bg: #37383a;--header-bg: #37383a}}body.modal-open,body.dialog-open{--blur-bg: var(--surface-1);--header-bg: var(--surface-1)}body.modal-open .site-nav,body.modal-open .footer-tabbar,body.modal-open .float-right .float-btn,body.dialog-open .site-nav,body.dialog-open .footer-tabbar,body.dialog-open .float-right .float-btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.dark body.modal-open,html.dark body.dialog-open,body.dark-theme.modal-open,body.dark-theme.dialog-open{--blur-bg: #37383a;--header-bg: #37383a}@media(min-width:992px){:root{--container: 960px}}@media(min-width:1200px){:root{--container: 1140px}}@media(min-width:1400px){:root{--container: 1200px}}html.dark,body.dark-theme{--color-ink: #f8fafc;--color-ink-2: #e5eef7;--color-ink-3: #b4b6bb;--color-ink-4: #888a8f;--surface-page: #292a2d;--surface-1: #323335;--surface-2: #2d2e31;--surface-3: #3a3c42;--surface-4: #26282d;--color-line: rgba(114, 114, 114, .1);--color-line-soft: rgba(184, 184, 184, .02);--color-line-stronger: rgba(255, 255, 255, .12);--color-primary-soft: rgba(240, 68, 148, .16);--color-primary-softer: rgba(240, 68, 148, .08);--color-primary-light: var(--color-primary-soft);--color-surface: var(--surface-1);--color-line-strong: var(--color-line);--color-bg-hover: var(--surface-2);--color-border-light: var(--color-line-soft);--color-fill: var(--surface-2);--text-secondary: var(--color-ink-3);--text-tertiary: var(--color-ink-4);--surface-active: var(--surface-2);--surface-card: var(--surface-1);--surface-hover: var(--surface-2);--surface-secondary: var(--surface-2);--shadow-xl: 0 0 10px rgba(24, 24, 24, .18);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);--shadow-sm: 0 0 10px rgba(24, 24, 24, .1);--shadow: 0 0 10px rgba(24, 24, 24, .14);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .32);--shadow-drawer: 0 20px 60px rgba(0, 0, 0, .6);--blur-bg: rgba(50, 51, 53, .8);--float-btn-bg: rgba(70, 70, 70, .4);--header-bg: var(--blur-bg);--footer-bg: var(--surface-1);--footer-color: var(--color-ink-4);--shadow-md: var(--shadow);--aksrt-rose-soft: rgba(244, 63, 94, .18);--aksrt-blue-soft: rgba(59, 130, 246, .18);--aksrt-green-soft: rgba(16, 185, 129, .18);--aksrt-orange-soft:rgba(249, 115, 22, .18);--aksrt-purple-soft:rgba(139, 92, 246, .18);--aksrt-cyan-soft: rgba(6, 182, 212, .18);--aksrt-yellow-soft:rgba(234, 179, 8, .18);--aksrt-red-soft: rgba(239, 68, 68, .18);--aksrt-teal-soft: rgba(20, 184, 166, .18);--aksrt-indigo-soft:rgba(99, 102, 241, .18);--aksrt-pink-soft: rgba(236, 72, 153, .18)}html.dark .site-nav,body.dark-theme .site-nav{border-bottom-color:var(--color-line);box-shadow:none}html.dark .footer-tabbar,body.dark-theme .footer-tabbar{background:#323335cc;box-shadow:0 -1px 3px #0003}html.dark .n-drawer,html.dark .n-modal,html.dark .n-dialog,body.dark-theme .n-drawer,body.dark-theme .n-modal,body.dark-theme .n-dialog{background:var(--surface-1)}html.dark .post-card,html.dark .widget,html.dark .aksrt-theme-box,html.dark .theme-box,body.dark-theme .post-card,body.dark-theme .widget,body.dark-theme .aksrt-theme-box,body.dark-theme .theme-box{border-color:transparent}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);background-color:var(--surface-page);color:var(--color-ink-2);transition:background-color .25s ease,color .25s ease;overflow-x:hidden}img,picture,video,canvas{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--color-primary)}:focus{outline:none}::selection{background:var(--color-primary-soft);color:var(--color-ink)}.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.sr-only:focus{position:fixed!important;top:16px;left:16px;width:auto;height:auto;padding:8px 16px;background:var(--surface-1);color:var(--color-ink);z-index:100000;clip:auto;box-shadow:var(--shadow-lg);border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-weight:700;margin:20px 0 10px;color:var(--key-color, #333)}h1{font-size:22px}h2{font-size:20px}h3{font-size:18px}h4{font-size:16px}h5{font-size:15px}h6{font-size:14px}.wp-posts-content,.entry-content,.prose{font-size:16px;line-height:2;color:var(--main-color, #4e5358);min-height:90px}.wp-posts-content h1,.wp-posts-content h2,.wp-posts-content h3,.wp-posts-content h4,.wp-posts-content h5,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{font-weight:700;margin:20px 0 10px;color:var(--key-color, #333)}.wp-posts-content h1,.entry-content h1,.prose h1{font-size:22px}.wp-posts-content h2,.entry-content h2,.prose h2{font-size:20px}.wp-posts-content h3,.entry-content h3,.prose h3{font-size:18px}.wp-posts-content h4,.entry-content h4,.prose h4{font-size:16px}.wp-posts-content p,.entry-content p,.prose p{margin:0 0 20px;word-wrap:break-word}.wp-posts-content a,.entry-content a,.prose a{color:var(--focus-color, #f04494);text-decoration:none}.wp-posts-content a:hover,.entry-content a:hover,.prose a:hover{color:var(--focus-color, #f04494)}.wp-posts-content img,.entry-content img,.prose img{max-width:100%;height:auto;display:block;margin:auto}.wp-posts-content code:not(pre code),.entry-content code:not(pre code),.prose code:not(pre code){color:#ff3c98;background:#fd999933;font-family:var(--font-mono, monospace);font-size:.9em}.wp-posts-content pre,.entry-content pre,.prose pre{position:relative;background:#282c34;color:#abb2bf;padding:15px;border-radius:var(--main-radius, 8px);overflow-x:auto;font-size:14px;line-height:1.5;margin:0 0 20px}.wp-posts-content pre code,.entry-content pre code,.prose pre code{color:inherit;background:none;padding:0;font-size:inherit}.wp-posts-content table,.entry-content table,.prose table{font-size:14px;width:100%;border-collapse:collapse;margin:0 0 20px}.wp-posts-content th,.wp-posts-content td,.entry-content th,.entry-content td,.prose th,.prose td{border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));padding:8px}.wp-posts-content th,.entry-content th,.prose th{background:var(--muted-border-color, rgba(0, 0, 0, .03));font-weight:700}.wp-posts-content tr:hover,.entry-content tr:hover,.prose tr:hover{background-color:#f044940d}.wp-posts-content ul,.wp-posts-content ol,.entry-content ul,.entry-content ol,.prose ul,.prose ol{margin:10px 0 20px 15px;padding-left:15px}.wp-posts-content li,.entry-content li,.prose li{margin-bottom:10px}.wp-posts-content blockquote,.entry-content blockquote,.prose blockquote{padding:15px 20px;margin:0 0 20px;border-left:4px solid var(--main-border-color, rgba(50, 50, 50, .06));background:var(--muted-border-color, rgba(0, 0, 0, .03));font-size:16px;color:var(--muted-color, #777);border-radius:0}.wp-posts-content blockquote p:last-child,.entry-content blockquote p:last-child,.prose blockquote p:last-child{margin-bottom:0}hr{border-color:var(--main-border-color, rgba(50, 50, 50, .06))}strong,b{font-weight:700}.btn,.btn-primary,.btn-outline,.btn-ghost,.btn-danger{--btn-h: 34px;--btn-px: 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-h);padding:0 var(--btn-px);font-size:var(--text-sm);font-weight:400;line-height:1.44;border:1px solid transparent;border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;user-select:none;text-decoration:none;box-shadow:none;transition:opacity .15s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn-sm{--btn-h: 28px;--btn-px: 8px;font-size:var(--text-xs)}.btn-lg{--btn-h: 44px;--btn-px: 18px;font-size:var(--text-md)}.btn{background:#8888881a;color:#888;border-color:transparent}.btn:hover{opacity:.8;color:#888}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:none}.btn-primary:hover{opacity:.8;color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary);transform:none;box-shadow:none}.btn-primary:active{opacity:1;box-shadow:inset 0 2px 3px #00000014}.btn-outline{background:transparent;color:var(--color-ink-2);border-color:var(--color-ink-2)}.btn-outline:hover{opacity:.8;background:transparent;border-color:var(--color-ink-2);color:var(--color-ink-2)}.btn-ghost{background:transparent;color:var(--color-ink-2);border-color:transparent}.btn-ghost:hover{background:#8888881a;opacity:.8}.btn-danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover{opacity:.8;color:#fff}.btn:disabled,.btn-primary:disabled,.btn-outline:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-icon{width:var(--btn-h);padding:0;justify-content:center}.btn-icon.btn-sm{width:28px}.btn-icon.btn-lg{width:44px}.btn-block{display:block;width:100%}.but,.badg{display:inline-block;vertical-align:middle;padding:.3em .6em;text-align:center;font-weight:400;line-height:1.44;border-radius:4px;border:1px solid var(--this-border);box-shadow:var(--this-shadow);background:var(--this-bg);color:var(--this-color);--main-color: var(--this-color);--this-bg: rgba(136, 136, 136, .1);--this-border: transparent;--this-shadow: none;--this-color: #888;text-shadow:0 0 0;transition:.15s;cursor:pointer}.but a{color:inherit}.but .icon,.but>.fa:not(.fa-angle-right),.but>i[class*=fa-]:not(.fa-angle-right){margin-right:.25em}.but.block{display:block}.but:focus,.but:hover{opacity:.8;color:var(--this-color)}.but:active{--this-shadow: inset 0 2px 3px rgba(0, 0, 0, .08)}.but.radius,.badg.radius,.radius>.but{border-radius:50px;padding:.3em 1em}.but.main-radius,.badg.main-radius{border-radius:var(--main-radius)}.but.mini-radius,.badg.mini-radius{border-radius:var(--mini-radius)}.but.hollow,.badg.hollow{background:transparent;--this-border: var(--this-color)}.but.hollow:hover{background:var(--this-bg)}.badg.hollow[class*=b-],.but.hollow[class*=b-]{background:0 0;--this-border: var(--this-bg);--this-color: var(--this-bg)}.but.hollow[class*=b-]:hover{color:#fff}.but.hollow.c-white:hover{background:0 0;--this-color: var(--focus-color);color:var(--focus-color)}.circular,.badg.cir,.but.cir{padding:0;border-radius:5em;--this-size: 1.8em;display:inline-flex;justify-content:center;align-items:center;height:var(--this-size);min-width:var(--this-size)}.circular.radius4,.badg.cir.radius4,.but.cir.radius4{border-radius:4px}.but.cir svg.icon,.but.cir>.fa,.but.cir>.fa:not(.fa-angle-right),.but.cir>i[class*=fa-]:not(.fa-angle-right){margin:0}.but-group{display:inline-flex}.but-group>.but{border-radius:0;margin:0}.but-group>.but:first-of-type{border-radius:4px 0 0 4px}.but-group>.but:last-of-type{border-radius:0 4px 4px 0}.but-average{display:flex;border-radius:4px;overflow:hidden}.but-average.inline{display:inline-flex}.but-average.radius{border-radius:100px}.but-average.main-radius{border-radius:var(--main-radius)}.but-average.mini-radius{border-radius:var(--mini-radius)}.but-average>.but{margin:0!important;border-radius:0;flex:auto}.but-average>.but.active{--this-bg: var(--focus-color-opacity1);--this-color: var(--focus-color)}.but.but-sm{font-size:.9em;padding:.1em .4em;vertical-align:.05em}.but.badg-sm,.badg.badg-sm{font-size:.8em;padding:0 .2em;vertical-align:.1em;min-width:1.6em}.badg.badg-sm.cir{--this-size: 1.6em}.padding-lg,.badg.badg-lg,.but.padding-lg{padding:.5em 2em}.active.badg,.active>.badg:not(.vip-tag){--this-bg: var(--focus-color);--this-color: #fff}.active.badg.hollow,.active>.hollow:not(.vip-tag){--this-color: var(--focus-color)}.toggle-radius{background:var(--this-bg);width:29px;height:29px;display:inline-block;text-align:center;border-radius:100%;position:relative;vertical-align:text-top;--this-bg: var(--main-border-color)}.toggle-radius .fa,.toggle-radius .icon,.toggle-radius>i{position:absolute;top:50%;right:0!important;left:0!important;margin:auto;transform:translateY(-50%);line-height:1;width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;text-align:center}.b-gray,.b-theme,.b-red,.b-yellow,.b-blue,.b-blue-2,.b-black,.b-cyan,.b-green,.b-purple,.jb-red,.jb-pink,.jb-yellow,.jb-blue,.jb-green,.jb-purple,.jb-vip1,.jb-vip2{color:var(--this-color);background:var(--this-bg);--this-color: #fff}.jb-red,.jb-pink,.jb-yellow,.jb-blue,.jb-green,.jb-purple,.jb-vip1,.jb-vip2{border:none}.b-theme{--this-bg: var(--focus-color)}.b-gray{--this-bg: #818b95}.b-red{--this-bg: #ff5473}.b-yellow{--this-bg: #ff6f06}.b-cyan{--this-bg: #08c4c1}.b-blue{--this-bg: #2997f7}.b-blue-2{--this-bg: #5c7cff}.b-green{--this-bg: #12b928}.b-purple{--this-bg: #d448f5}.b-black{--this-bg: #121517}.jb-red{--this-bg: linear-gradient(135deg, #fd7a64 10%, #fb2d2d 100%)}.jb-yellow{--this-bg: linear-gradient(135deg, #f59f54 10%, #ff6922 100%)}.jb-blue{--this-bg: linear-gradient(135deg, #59c3fb 10%, #268df7 100%)}.jb-green{--this-bg: linear-gradient(135deg, #60e464 10%, #5cb85b 100%)}.jb-purple{--this-bg: linear-gradient(135deg, #f98dfb 10%, #ea00f9 100%)}.jb-pink{--this-bg: linear-gradient(135deg, #ff5e7f 30%, #ff967e 100%)}.jb-vip1{--this-bg: linear-gradient(25deg, #eabe7b 10%, #f5e3c7 70%, #edc788 100%);--this-color: #866127}.jb-vip2{--this-bg: linear-gradient(317deg, #4d4c4c 30%, #7b7b7b 70%, #5f5c5c 100%);--this-color: #ddd}.c-theme,.c-gray,.c-white,.c-red,.c-red-2,.c-yellow,.c-blue,.c-blue-2,.c-green,.c-cyan,.c-purple{color:var(--this-color)}.c-theme{--this-color: var(--focus-color);--this-bg: var(--focus-color-opacity1)}.c-gray{--this-color: #888;--this-bg: rgba(136, 136, 136, .1)}.c-white{--this-color: #fff;--this-bg: rgba(255, 255, 255, .1)}.c-red{--this-color: #ff5473;--this-bg: rgba(255, 84, 115, .1)}.c-red-2{--this-color: #d6064c;--this-bg: rgba(194, 41, 46, .1)}.c-yellow{--this-color: #ff6f06;--this-bg: rgba(255, 111, 6, .1)}.c-blue{--this-color: #2997f7;--this-bg: rgba(41, 151, 247, .1)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.field-help{font-size:var(--text-xs);color:var(--color-ink-3)}.field-error{font-size:var(--text-xs);color:var(--color-error)}.input,.textarea,.select,input[type=text].form-input,input[type=email].form-input,input[type=password].form-input,input[type=search].form-input,input[type=url].form-input,input[type=tel].form-input,textarea.form-textarea,select.form-select{width:100%;height:34px;padding:6px 12px;font-size:14px;color:var(--color-ink);background:var(--surface-page);border:1px solid transparent;border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.textarea,textarea.form-textarea{height:auto;min-height:120px;padding:12px;line-height:var(--leading-snug);resize:vertical}.input:hover,.textarea:hover,.select:hover{border-color:var(--color-primary)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 2px 3px #fd53a166}.input::placeholder,.textarea::placeholder{color:var(--color-ink-4)}.select,select.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23777' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.checkbox,.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-2)}.checkbox input,.radio input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.input-group{display:flex;align-items:stretch}.input-group .input{border-radius:var(--radius) 0 0 var(--radius)}.input-group .btn{border-radius:0 var(--radius) var(--radius) 0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-snug);border-radius:var(--radius);border:1px solid transparent}.alert>svg{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alert--error{color:#b91c1c;background:#ef444414;border-color:#ef44444d}.alert--warning{color:#b45309;background:#f59e0b14;border-color:#f59e0b4d}.alert--success{color:#047857;background:#10b98114;border-color:#10b9814d}.alert--info{color:#1d4ed8;background:#3b82f614;border-color:#3b82f64d}html.dark .alert--error{color:#fca5a5}html.dark .alert--warning{color:#fcd34d}html.dark .alert--success{color:#6ee7b7}html.dark .alert--info{color:#93c5fd}@keyframes aksrtFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}@keyframes aksrtFadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes aksrtZoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes aksrtZoomInUp{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:none}}@keyframes aksrtBounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:none}}@keyframes aksrtBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}@keyframes aksrtPulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes aksrtFlash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes aksrtRubberBand{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}@keyframes aksrtShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes aksrtSwing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:none}}@keyframes aksrtTada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes aksrtWobble{0%{transform:none}15%{transform:translate(-25%) rotate(-5deg)}30%{transform:translate(20%) rotate(3deg)}45%{transform:translate(-15%) rotate(-3deg)}60%{transform:translate(10%) rotate(2deg)}75%{transform:translate(-5%) rotate(-1deg)}to{transform:none}}@keyframes aksrtSlideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:none}}@keyframes aksrtSlideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:none}}@keyframes aksrtHeartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes aksrtJello{0%,to{transform:none}11%{transform:skew(-12.5deg) skewY(-12.5deg)}22%{transform:skew(6.25deg) skewY(6.25deg)}33%{transform:skew(-6.25deg) skewY(-6.25deg)}44%{transform:skew(3.125deg) skewY(3.125deg)}55%{transform:skew(-3.125deg) skewY(-3.125deg)}66%{transform:skew(1.5625deg) skewY(1.5625deg)}77%{transform:skew(-1.5625deg) skewY(-1.5625deg)}88%{transform:skew(.78125deg) skewY(.78125deg)}}@keyframes aksrtHeadShake{0%{transform:translate(0)}6.5%{transform:translate(-6px) rotateY(-9deg)}18.5%{transform:translate(5px) rotateY(7deg)}31.5%{transform:translate(-3px) rotateY(-5deg)}43.5%{transform:translate(2px) rotateY(3deg)}50%{transform:translate(0)}to{transform:translate(0)}}@keyframes aksrtBounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{transform:scale(1.1)}75%{transform:scale(.97)}to{transform:scale(1);opacity:0}}@keyframes aksrtZoomOut{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.85)}}@keyframes aksrtBackInUp{0%{opacity:0;transform:translateY(30px) scale(.7)}80%{opacity:.8;transform:translateY(-5px) scale(1.02)}to{opacity:1;transform:none}}@keyframes aksrtBackInDown{0%{opacity:0;transform:translateY(-30px) scale(.7)}80%{opacity:.8;transform:translateY(5px) scale(1.02)}to{opacity:1;transform:none}}@keyframes aksrtFlip{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}to{transform:perspective(400px) rotateY(0);opacity:1}}@keyframes aksrtFlipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0);opacity:1}}.aksrt-anim-fade-in{animation:aksrtFadeIn var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-up{animation:aksrtFadeInUp var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-down{animation:aksrtFadeInDown var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-left{animation:aksrtFadeInLeft var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-fade-right{animation:aksrtFadeInRight var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-zoom-in{animation:aksrtZoomIn var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-zoom-in-up{animation:aksrtZoomInUp var(--dur-base, .4s) var(--ease-out, ease) both}.aksrt-anim-bounce-in{animation:aksrtBounceIn .6s var(--ease-out, ease) both}.aksrt-anim-bounce{animation:aksrtBounce 1s ease both}.aksrt-anim-pulse{animation:aksrtPulse 1s ease infinite}.aksrt-anim-flash{animation:aksrtFlash 1s ease both}.aksrt-anim-rubber-band{animation:aksrtRubberBand .8s ease both}.aksrt-anim-shake{animation:aksrtShake .5s ease both}.aksrt-anim-swing{animation:aksrtSwing .6s var(--ease-out, ease) both}.aksrt-anim-tada{animation:aksrtTada 1s ease both}.aksrt-anim-wobble{animation:aksrtWobble .8s ease both}.aksrt-anim-heart-beat{animation:aksrtHeartBeat 1.3s ease both}.aksrt-anim-jello{animation:aksrtJello .8s ease both}.aksrt-anim-head-shake{animation:aksrtHeadShake .8s ease both}.aksrt-anim-bounce-out{animation:aksrtBounceOut .5s ease both}.aksrt-anim-zoom-out{animation:aksrtZoomOut .3s ease both}.aksrt-anim-back-in-up{animation:aksrtBackInUp .5s var(--ease-out, ease) both}.aksrt-anim-back-in-down{animation:aksrtBackInDown .5s var(--ease-out, ease) both}.aksrt-anim-slide-up{animation:aksrtSlideInUp .5s var(--ease-out, ease) both}.aksrt-anim-slide-down{animation:aksrtSlideInDown .5s var(--ease-out, ease) both}.aksrt-anim-slide-left{animation:aksrtSlideInLeft .5s var(--ease-out, ease) both}.aksrt-anim-slide-right{animation:aksrtSlideInRight .5s var(--ease-out, ease) both}.aksrt-anim-flip{animation:aksrtFlip .6s var(--ease-out, ease) both}.aksrt-anim-flip-x{animation:aksrtFlipInX .6s var(--ease-out, ease) both}.aksrt-anim-fast{--dur-base: .2s}.aksrt-anim-slow{--dur-base: .6s}.aksrt-anim-delay-1{animation-delay:.1s}.aksrt-anim-delay-2{animation-delay:.2s}.aksrt-anim-delay-3{animation-delay:.3s}.aksrt-anim-delay-4{animation-delay:.4s}.aksrt-anim-delay-5{animation-delay:.5s}.aksrt-anim-delay-6{animation-delay:.6s}.aksrt-anim-delay-7{animation-delay:.7s}.aksrt-anim-delay-8{animation-delay:.8s}.aksrt-anim-infinite{animation-iteration-count:infinite}@media(prefers-reduced-motion:reduce){.aksrt-anim-fade-in,.aksrt-anim-fade-up,.aksrt-anim-fade-down,.aksrt-anim-fade-left,.aksrt-anim-fade-right,.aksrt-anim-zoom-in,.aksrt-anim-zoom-in-up,.aksrt-anim-bounce-in,.aksrt-anim-bounce,.aksrt-anim-pulse,.aksrt-anim-flash,.aksrt-anim-rubber-band,.aksrt-anim-shake,.aksrt-anim-swing,.aksrt-anim-tada,.aksrt-anim-wobble,.aksrt-anim-heart-beat,.aksrt-anim-jello,.aksrt-anim-head-shake,.aksrt-anim-bounce-out,.aksrt-anim-zoom-out,.aksrt-anim-back-in-up,.aksrt-anim-back-in-down,.aksrt-anim-slide-up,.aksrt-anim-slide-down,.aksrt-anim-slide-left,.aksrt-anim-slide-right,.aksrt-anim-flip,.aksrt-anim-flip-x{animation:none!important}}.aksrt-timeline{position:relative;padding-left:28px;margin:0;list-style:none}.aksrt-timeline:before{content:"";position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:var(--color-line, rgba(50, 50, 50, .1));border-radius:1px}.aksrt-timeline__item{position:relative;padding-bottom:24px}.aksrt-timeline__item:last-child{padding-bottom:0}.aksrt-timeline__dot{position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid var(--surface-1, #fff);box-shadow:0 0 0 2px var(--color-primary-soft, rgba(240, 68, 148, .12));z-index:1}.aksrt-timeline__dot--outline{background:var(--surface-1, #fff);border:2px solid var(--color-primary);box-shadow:none}.aksrt-timeline__dot--muted{background:var(--color-ink-4, #999);box-shadow:0 0 0 2px var(--surface-2, #eee)}.aksrt-timeline__time{display:block;font-size:12px;color:var(--color-ink-4, #999);margin-bottom:4px}.aksrt-timeline__title{font-weight:600;color:var(--color-ink, #333);margin-bottom:4px}.aksrt-timeline__content{font-size:14px;color:var(--color-ink-3, #777);line-height:1.6}.aksrt-steps{display:flex;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none;counter-reset:aksrt-step}.aksrt-steps__item{flex:1;position:relative;text-align:center;counter-increment:aksrt-step}.aksrt-steps__item:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--color-line, rgba(50, 50, 50, .1))}.aksrt-steps__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2, #eee);color:var(--color-ink-3, #777);font-size:14px;font-weight:700;margin:0 auto 8px;position:relative;z-index:1}.aksrt-steps__item--active .aksrt-steps__icon{background:var(--color-primary);color:var(--color-on-primary, #fff)}.aksrt-steps__item--done .aksrt-steps__icon{background:var(--color-success);color:#fff}.aksrt-steps__item--done:not(:last-child):after{background:var(--color-success)}.aksrt-steps__label{font-size:13px;font-weight:600;color:var(--color-ink-3, #777)}.aksrt-steps__item--active .aksrt-steps__label{color:var(--color-primary)}.aksrt-steps__item--done .aksrt-steps__label{color:var(--color-success)}.aksrt-steps--vertical{flex-direction:column;gap:0;padding-left:20px}.aksrt-steps--vertical .aksrt-steps__item{text-align:left;padding-left:28px;padding-bottom:20px}.aksrt-steps--vertical .aksrt-steps__item:not(:last-child):after{top:34px;left:36px;right:auto;width:2px;height:calc(100% - 34px)}.aksrt-steps--vertical .aksrt-steps__icon{position:absolute;left:0;margin:0}.aksrt-img-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:var(--radius, 8px);overflow:hidden}.aksrt-img-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:pointer;transition:transform .2s ease}.aksrt-img-grid img:hover{transform:scale(1.03)}.aksrt-img-grid--2{grid-template-columns:repeat(2,1fr)}.aksrt-img-grid--4{grid-template-columns:repeat(4,1fr)}@media(max-width:480px){.aksrt-img-grid--4{grid-template-columns:repeat(3,1fr)}}.aksrt-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;user-select:none;gap:8px}.aksrt-toggle__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.aksrt-toggle__track{position:relative;width:var(--aksrt-toggle-w, 44px);height:var(--aksrt-toggle-h, 24px);background:var(--surface-3, #e8e8e8);border-radius:var(--aksrt-toggle-h, 24px);transition:background .2s ease;flex-shrink:0}.aksrt-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--aksrt-toggle-h, 24px) - 4px);height:calc(var(--aksrt-toggle-h, 24px) - 4px);background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.aksrt-toggle__input:checked+.aksrt-toggle__track{background:var(--color-primary)}.aksrt-toggle__input:checked+.aksrt-toggle__track:after{transform:translate(calc(var(--aksrt-toggle-w, 44px) - var(--aksrt-toggle-h, 24px)))}.aksrt-toggle__input:focus-visible+.aksrt-toggle__track{box-shadow:var(--focus-ring, 0 0 2px 3px rgba(253, 83, 161, .4))}.aksrt-toggle__input:disabled+.aksrt-toggle__track{opacity:.5;cursor:not-allowed}.aksrt-toggle__label{font-size:14px;color:var(--color-ink-2, #4e5358)}.aksrt-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.aksrt-checkbox__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.aksrt-checkbox__box{position:relative;width:18px;height:18px;border:2px solid var(--color-line, rgba(50, 50, 50, .15));border-radius:4px;background:var(--surface-1, #fff);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.aksrt-checkbox__box:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) scale(0);transition:transform .15s ease}.aksrt-checkbox__input:checked+.aksrt-checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.aksrt-checkbox__input:checked+.aksrt-checkbox__box:after{transform:rotate(45deg) scale(1)}.aksrt-checkbox__input:focus-visible+.aksrt-checkbox__box{box-shadow:var(--focus-ring, 0 0 2px 3px rgba(253, 83, 161, .4))}.aksrt-checkbox__input:disabled+.aksrt-checkbox__box{opacity:.5;cursor:not-allowed}.aksrt-checkbox__label{font-size:14px;color:var(--color-ink-2, #4e5358)}.aksrt-stepper{display:inline-flex;align-items:center;border:1px solid var(--color-line, rgba(50, 50, 50, .1));border-radius:var(--radius, 8px);overflow:hidden;height:var(--aksrt-stepper-h, 36px)}.aksrt-stepper__btn{display:flex;align-items:center;justify-content:center;width:var(--aksrt-stepper-h, 36px);height:100%;background:var(--surface-2, #eee);color:var(--color-ink-2, #4e5358);border:none;cursor:pointer;font-size:16px;font-weight:600;transition:background .15s ease,color .15s ease;user-select:none}.aksrt-stepper__btn:hover{background:var(--surface-3, #e8e8e8);color:var(--color-ink, #333)}.aksrt-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.aksrt-stepper__input{width:48px;height:100%;border:none;text-align:center;font-size:14px;font-weight:600;color:var(--color-ink, #333);background:var(--surface-1, #fff);-moz-appearance:textfield}.aksrt-stepper__input::-webkit-outer-spin-button,.aksrt-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.aksrt-stepper__input:focus{outline:none;background:var(--color-primary-softer, rgba(240, 68, 148, .05))}.aksrt-avatar--xs{width:var(--aksrt-avatar-size-xs);height:var(--aksrt-avatar-size-xs)}.aksrt-avatar--sm{width:var(--aksrt-avatar-size-sm);height:var(--aksrt-avatar-size-sm)}.aksrt-avatar{width:var(--aksrt-avatar-size);height:var(--aksrt-avatar-size)}.aksrt-avatar--lg{width:var(--aksrt-avatar-size-lg);height:var(--aksrt-avatar-size-lg)}.aksrt-avatar--xl{width:var(--aksrt-avatar-size-xl);height:var(--aksrt-avatar-size-xl)}img.avatar,img.avatar-mini,img.avatar-md,img.avatar-lg,.avatar-img img{border-radius:var(--radius-avatar, 50%);object-fit:cover}.aksrt-ripple{position:relative;overflow:hidden}.aksrt-ripple__wave{position:absolute;border-radius:50%;background:#ffffff59;transform:scale(0);animation:aksrtRippleWave .6s ease-out forwards;pointer-events:none}@keyframes aksrtRippleWave{to{transform:scale(4);opacity:0}}.aksrt-wave{position:absolute!important;border-radius:50%;background:#ffffff59;pointer-events:none!important;z-index:1;transform:scale(0);animation:aksrtWaveRipple .6s ease-out forwards}@keyframes aksrtWaveRipple{to{transform:scale(1);opacity:0}}.modal-stacked .modal-dialog{transition:transform .25s var(--ease, ease),filter .25s ease}.modal-stacked .modal-dialog.modal-behind{transform:scale(.92);filter:brightness(.85);pointer-events:none}.aksrt-btn--rose{background:var(--aksrt-rose);color:#fff}.aksrt-btn--rose:hover,.aksrt-btn--rose:focus-visible{background:#e11d48}.aksrt-btn--blue{background:var(--aksrt-blue);color:#fff}.aksrt-btn--blue:hover,.aksrt-btn--blue:focus-visible{background:#2563eb}.aksrt-btn--green{background:var(--aksrt-green);color:#fff}.aksrt-btn--green:hover,.aksrt-btn--green:focus-visible{background:#059669}.aksrt-btn--orange{background:var(--aksrt-orange);color:#fff}.aksrt-btn--orange:hover,.aksrt-btn--orange:focus-visible{background:#ea580c}.aksrt-btn--purple{background:var(--aksrt-purple);color:#fff}.aksrt-btn--purple:hover,.aksrt-btn--purple:focus-visible{background:#7c3aed}.aksrt-btn--cyan{background:var(--aksrt-cyan);color:#fff}.aksrt-btn--cyan:hover,.aksrt-btn--cyan:focus-visible{background:#0891b2}.aksrt-btn--yellow{background:var(--aksrt-yellow);color:#422006}.aksrt-btn--yellow:hover,.aksrt-btn--yellow:focus-visible{background:#ca8a04;color:#fff}.aksrt-btn--red{background:var(--aksrt-red);color:#fff}.aksrt-btn--red:hover,.aksrt-btn--red:focus-visible{background:#dc2626}.aksrt-btn--teal{background:var(--aksrt-teal);color:#fff}.aksrt-btn--teal:hover,.aksrt-btn--teal:focus-visible{background:#0d9488}.aksrt-btn--indigo{background:var(--aksrt-indigo);color:#fff}.aksrt-btn--indigo:hover,.aksrt-btn--indigo:focus-visible{background:#4f46e5}.aksrt-btn--pink{background:var(--aksrt-pink);color:#fff}.aksrt-btn--pink:hover,.aksrt-btn--pink:focus-visible{background:#db2777}.aksrt-btn--rose-soft{background:var(--aksrt-rose-soft);color:var(--aksrt-rose)}.aksrt-btn--blue-soft{background:var(--aksrt-blue-soft);color:var(--aksrt-blue)}.aksrt-btn--green-soft{background:var(--aksrt-green-soft);color:var(--aksrt-green)}.aksrt-btn--orange-soft{background:var(--aksrt-orange-soft);color:var(--aksrt-orange)}.aksrt-btn--purple-soft{background:var(--aksrt-purple-soft);color:var(--aksrt-purple)}.aksrt-btn--cyan-soft{background:var(--aksrt-cyan-soft);color:var(--aksrt-cyan)}.aksrt-btn--yellow-soft{background:var(--aksrt-yellow-soft);color:#92400e}.aksrt-btn--red-soft{background:var(--aksrt-red-soft);color:var(--aksrt-red)}.aksrt-btn--teal-soft{background:var(--aksrt-teal-soft);color:var(--aksrt-teal)}.aksrt-btn--indigo-soft{background:var(--aksrt-indigo-soft);color:var(--aksrt-indigo)}.aksrt-btn--pink-soft{background:var(--aksrt-pink-soft);color:var(--aksrt-pink)}.aksrt-btn--grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));color:#5a3d00;border:none}.aksrt-btn--grad-sunset{background:linear-gradient(135deg,var(--aksrt-grad-sunset-1),var(--aksrt-grad-sunset-2));color:#fff;border:none}.aksrt-btn--grad-ocean{background:linear-gradient(135deg,var(--aksrt-grad-ocean-1),var(--aksrt-grad-ocean-2));color:#fff;border:none}.aksrt-btn--grad-forest{background:linear-gradient(135deg,var(--aksrt-grad-forest-1),var(--aksrt-grad-forest-2));color:#064e3b;border:none}.aksrt-btn--grad-night{background:linear-gradient(135deg,var(--aksrt-grad-night-1),var(--aksrt-grad-night-2));color:#4c1d95;border:none}.aksrt-btn--grad-fire{background:linear-gradient(135deg,var(--aksrt-grad-fire-1),var(--aksrt-grad-fire-2));color:#fff;border:none}.aksrt-btn--grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--color-on-primary);border:none}.aksrt-btn--grad-vip:hover,.aksrt-btn--grad-sunset:hover,.aksrt-btn--grad-ocean:hover,.aksrt-btn--grad-forest:hover,.aksrt-btn--grad-night:hover,.aksrt-btn--grad-fire:hover,.aksrt-btn--grad-primary:hover{filter:brightness(1.08);box-shadow:0 4px 16px #00000026}.aksrt-text-grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-sunset{background:linear-gradient(135deg,var(--aksrt-grad-sunset-1),var(--aksrt-grad-sunset-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-ocean{background:linear-gradient(135deg,var(--aksrt-grad-ocean-1),var(--aksrt-grad-ocean-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-forest{background:linear-gradient(135deg,var(--aksrt-grad-forest-1),var(--aksrt-grad-forest-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-night{background:linear-gradient(135deg,var(--aksrt-grad-night-1),var(--aksrt-grad-night-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-text-grad-fire{background:linear-gradient(135deg,var(--aksrt-grad-fire-1),var(--aksrt-grad-fire-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aksrt-badge{display:inline-flex;align-items:center;justify-content:center;height:var(--aksrt-badge-h, 22px);padding:0 8px;border-radius:var(--radius-pill, 100px);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle}.aksrt-badge--primary{background:var(--color-primary-soft);color:var(--color-primary)}.aksrt-badge--success{background:#10b9811f;color:var(--color-success)}.aksrt-badge--warning{background:#f59e0b1f;color:var(--color-warning)}.aksrt-badge--error{background:#ef44441f;color:var(--color-error)}.aksrt-badge--info{background:#3b82f61f;color:var(--color-info)}.aksrt-badge--rose{background:var(--aksrt-rose-soft);color:var(--aksrt-rose)}.aksrt-badge--blue{background:var(--aksrt-blue-soft);color:var(--aksrt-blue)}.aksrt-badge--green{background:var(--aksrt-green-soft);color:var(--aksrt-green)}.aksrt-badge--orange{background:var(--aksrt-orange-soft);color:var(--aksrt-orange)}.aksrt-badge--purple{background:var(--aksrt-purple-soft);color:var(--aksrt-purple)}.aksrt-badge--cyan{background:var(--aksrt-cyan-soft);color:var(--aksrt-cyan)}.aksrt-badge--yellow{background:var(--aksrt-yellow-soft);color:#92400e}.aksrt-badge--red{background:var(--aksrt-red-soft);color:var(--aksrt-red)}.aksrt-badge--teal{background:var(--aksrt-teal-soft);color:var(--aksrt-teal)}.aksrt-badge--indigo{background:var(--aksrt-indigo-soft);color:var(--aksrt-indigo)}.aksrt-badge--pink{background:var(--aksrt-pink-soft);color:var(--aksrt-pink)}.aksrt-badge--grad-vip{background:linear-gradient(135deg,var(--aksrt-vip-gold-1),var(--aksrt-vip-gold-2));color:#5a3d00}.aksrt-badge--grad-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--color-on-primary)}.aksrt-badge--solid-primary{background:var(--color-primary);color:#fff}.aksrt-badge--solid-success{background:var(--color-success);color:#fff}.aksrt-badge--solid-warning{background:var(--color-warning);color:#fff}.aksrt-badge--solid-error{background:var(--color-error);color:#fff}.aksrt-badge--solid-info{background:var(--color-info);color:#fff}.aksrt-badge--solid-rose{background:var(--aksrt-rose);color:#fff}.aksrt-badge--solid-blue{background:var(--aksrt-blue);color:#fff}.aksrt-badge--solid-green{background:var(--aksrt-green);color:#fff}.aksrt-badge--solid-orange{background:var(--aksrt-orange);color:#fff}.aksrt-badge--solid-purple{background:var(--aksrt-purple);color:#fff}.aksrt-badge--solid-cyan{background:var(--aksrt-cyan);color:#fff}.aksrt-badge--solid-yellow{background:var(--aksrt-yellow);color:#422006}.aksrt-badge--solid-red{background:var(--aksrt-red);color:#fff}.aksrt-badge--solid-teal{background:var(--aksrt-teal);color:#fff}.aksrt-badge--solid-indigo{background:var(--aksrt-indigo);color:#fff}.aksrt-badge--solid-pink{background:var(--aksrt-pink);color:#fff}.aksrt-badge--sm{height:18px;padding:0 6px;font-size:11px}.aksrt-badge--lg{height:28px;padding:0 12px;font-size:13px}.aksrt-bg-rose{background-color:var(--aksrt-rose-soft)}.aksrt-bg-blue{background-color:var(--aksrt-blue-soft)}.aksrt-bg-green{background-color:var(--aksrt-green-soft)}.aksrt-bg-orange{background-color:var(--aksrt-orange-soft)}.aksrt-bg-purple{background-color:var(--aksrt-purple-soft)}.aksrt-bg-cyan{background-color:var(--aksrt-cyan-soft)}.aksrt-bg-yellow{background-color:var(--aksrt-yellow-soft)}.aksrt-bg-red{background-color:var(--aksrt-red-soft)}.aksrt-bg-teal{background-color:var(--aksrt-teal-soft)}.aksrt-bg-indigo{background-color:var(--aksrt-indigo-soft)}.aksrt-bg-pink{background-color:var(--aksrt-pink-soft)}.aksrt-text-rose{color:var(--aksrt-rose)}.aksrt-text-blue{color:var(--aksrt-blue)}.aksrt-text-green{color:var(--aksrt-green)}.aksrt-text-orange{color:var(--aksrt-orange)}.aksrt-text-purple{color:var(--aksrt-purple)}.aksrt-text-cyan{color:var(--aksrt-cyan)}.aksrt-text-yellow{color:var(--aksrt-yellow)}.aksrt-text-red{color:var(--aksrt-red)}.aksrt-text-teal{color:var(--aksrt-teal)}.aksrt-text-indigo{color:var(--aksrt-indigo)}.aksrt-text-pink{color:var(--aksrt-pink)}html,body{overflow-x:clip}@supports not (overflow-x: clip){html,body{overflow-x:hidden}}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;z-index:9999;pointer-events:none;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width .1s ease-out}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink-2);background-color:var(--surface-page)}a[href]{transition:color .2s,background .3s,opacity .3s,box-shadow .3s,transform .3s}.fa.fab{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.far{font-family:"Font Awesome 5 Free";font-weight:400}.skip-link{position:absolute;left:16px;top:12px;z-index:1100;padding:10px 14px;border-radius:999px;background:var(--color-primary);color:#fff;transform:translateY(-140%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.site-wrapper{min-height:100vh;display:flex;flex-direction:column;font-size:var(--text-base);line-height:var(--leading-normal)}.site-main{flex:1}.container,main.container,.site-main.container{width:100%;max-width:var(--container, var(--mian-max-width, 1200px));margin-right:auto;margin-left:auto;padding-right:0;padding-left:0;--bs-gutter-x: 0;--bs-gutter-y: 0}.header-slider-card .icon-cover-card{font-size:12px}.header-slider-search .line-form-input:focus,.header-slider-search .line-form-input:focus-visible{border:0;outline:0;box-shadow:none}.header-slider-search .line-form .abs-right{position:absolute;right:.7em;top:50%;transform:translateY(-50%);margin-top:0}@media(min-width:576px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:768px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:992px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1200px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1240px){.container,main.container,.fluid-widget-wrap .widget-container{width:auto;max-width:var(--container, var(--mian-max-width, 1200px))}}@media(min-width:1400px){.container,main.container{max-width:var(--container, var(--mian-max-width, 1200px))}}@media(max-width:991.98px){.container,main.container{padding-right:15px;padding-left:15px}}@media(max-width:767px){.container,main.container{width:100%;max-width:100%;padding-right:15px;padding-left:15px}}.aksrt-user-level-badge,.aksrt-user-level-icon,.aksrt-identity-medal,.aksrt-identity-certification-icon,.aksrt-header-user-medal{display:inline-flex;align-items:center;justify-content:center;width:auto;height:1.1em;max-width:6em;object-fit:contain;vertical-align:-.15em;flex:0 0 auto;box-sizing:border-box}.aksrt-user-level-badge{padding:0 .35em;font-size:.78em;line-height:1.1;white-space:nowrap}.aksrt-identity-medal--comment,.aksrt-user-level-icon--comment,.aksrt-header-user-medal--comment{height:1em;vertical-align:-.12em}.article-avatar name,.article-avatar .name,.user-name,.aksrt-author-hero__name,.uc-header__name,.aksrt-header-badges{flex-wrap:nowrap;white-space:nowrap}.user-card.author .user-name>name{overflow:visible}.user-card.author .user-name>name>.display-name,.user-card.widget .user-name>name>.display-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.user-card.author .user-name>name>.follow{flex-shrink:0}.aksrt-author-hero__name,.uc-header__name{display:inline-flex;align-items:center;gap:4px}.aksrt-author-hero__name-inner{display:inline-flex;align-items:center;gap:4px;min-width:0}.aksrt-ip-geo-badge{display:inline-flex;align-items:center;min-width:0;margin:2px 0;padding:.3em .6em;border:1px solid var(--color-line-soft, var(--main-border-color, rgba(136, 136, 136, .18)));border-radius:var(--mini-radius, 4px);background:var(--surface-2, rgba(136, 136, 136, .1));box-shadow:var(--shadow-xs, 0 1px 3px rgba(0, 0, 0, .08));color:var(--color-ink-3, #666);font-size:.92em;line-height:1.44;vertical-align:middle;box-sizing:border-box}.no-results{padding:48px 20px;text-align:center;color:var(--color-ink-3)}.header,.mobile-header,.navbar-search{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:auto}.navbar-logo>img{display:inline}.navbar-top .aksrt-nav-icon{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;border:1px solid transparent;border-radius:4px;user-select:none}.navbar-search .line-form-input:focus,.navbar-search .line-form-input:focus-visible{outline:0;box-shadow:none}.aksrt-header-userbox{color:var(--color-ink-2);line-height:1.42857143}.aksrt-header-userbox .muted-box.padding-6{background-color:var(--this-bg, var(--color-line-soft));border-radius:4px;padding:6px}.payvip-icon{background:linear-gradient(300deg,#4c4d51,#2a2a31 15%,#85858a 40%,#393a3c,#393838,#5e5f62);color:#ece0e0;--this-color: #ece0e0;border:none;text-shadow:none}.aksrt-header-userbox>.mt6.em09>.but.block{display:block;box-sizing:border-box;width:100%}.aksrt-nav-notification .aksrt-notification-badge{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border:2px solid var(--surface-1);border-radius:999px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;line-height:1}.navbar-top .aksrt-header-userbox .header-user-href>a,.aksrt-header-userbox .header-user-href>a{max-height:none}.mobile-navbar .aksrt-header-userbox{width:auto;max-width:400px;margin:auto}.aksrt-theme-box{border:none;border-radius:var(--radius, 8px);background:var(--surface-1);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.aksrt-theme-box:hover{box-shadow:var(--shadow)}.aksrt-box-bg{background-color:var(--surface-1);box-shadow:var(--shadow-sm)}.aksrt-box-body,.aksrt-box-header{padding:var(--card-padding)}.aksrt-box-header{border-bottom:1px solid var(--color-line-soft)}.aksrt-box-header+.aksrt-box-body{padding-top:0}.aksrt-box-body.notop,.aksrt-box-header.notop{padding-top:0}.aksrt-box-body.nobottom,.aksrt-box-header.nobottom{padding-bottom:0}.aksrt-muted-box{background-color:var(--surface-2);border-radius:var(--radius);padding:var(--card-padding)}.aksrt-noshadow{box-shadow:none!important}.theme-box,.mb20{margin-bottom:20px}.box-bg{background-color:var(--main-bg-color, var(--surface-1));box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.box-body{padding:var(--card-padding)}.box-header{padding:var(--card-padding);border-bottom:1px solid var(--color-line-soft)}.box-header+.box-body{padding-top:0}.radius8{border-radius:var(--radius)}.main-shadow{box-shadow:0 0 10px var(--main-shadow, rgba(116, 116, 116, .08))}.main-bg{background:var(--main-bg-color, var(--surface-1))}.muted-box{background-color:var(--surface-2);border-radius:var(--radius);padding:var(--card-padding)}html.dark .aksrt-theme-box,body.dark-theme .aksrt-theme-box,html.dark .box-bg,body.dark-theme .box-bg{border-color:transparent;box-shadow:0 0 10px var(--main-shadow, rgba(0, 0, 0, .2))}html.dark .aksrt-theme-box:hover,body.dark-theme .aksrt-theme-box:hover{box-shadow:0 0 10px var(--main-shadow, rgba(0, 0, 0, .28))}.aksrt-theme-box{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.aksrt-card-hover:hover,.aksrt-card-hover:focus-within{box-shadow:none;transform:none}.aksrt-card-hover-lg:hover,.aksrt-card-hover-lg:focus-within{box-shadow:var(--shadow-lg);transform:none}.aksrt-noshadow:hover{box-shadow:none!important;transform:none!important}.aksrt-panel{clear:both;background-color:var(--surface-1);padding:var(--card-padding);box-shadow:var(--shadow-sm);border-radius:var(--radius, 8px);margin-bottom:20px}.aksrt-blur-bg{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg)}.site-nav--glass{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg);border-bottom-color:transparent}.site-nav--glass.is-scrolled{box-shadow:var(--shadow-sm);border-bottom-color:var(--color-line-soft)}html.dark .site-nav--glass.is-scrolled{box-shadow:var(--shadow-sm)}.footer-tabbar--glass{-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);background:var(--blur-bg);box-shadow:0 -8px 24px #141c3014}html.dark .footer-tabbar--glass{box-shadow:0 -10px 28px #00000052}body.has-scrolled .site-nav--glass{box-shadow:0 4px 10px #141c300f}html.dark body.has-scrolled .site-nav--glass{box-shadow:0 4px 10px #00000040}.content-main{width:100%}.content-main--single{max-width:100%}.content-shell{width:100%;margin:0 auto;padding:32px 16px 48px;max-width:var(--container)}.site-main.content-shell.aksrt-profile{max-width:100%;box-sizing:border-box}.site-main.content-shell.aksrt-user-home{max-width:var(--container, 1440px);padding-top:0;box-sizing:border-box}@media(min-width:768px){.content-shell{padding:40px 24px 56px}}.content-shell--page{max-width:var(--container-page, 860px)}.content-shell--cms{max-width:100%;padding:0}.entry-page .entry-thumb{margin:0 0 var(--space-6, 24px);border-radius:var(--radius-lg, 12px);overflow:hidden}.entry-page .page-links{margin-top:var(--space-6, 24px);font-size:var(--text-sm, .875rem);color:var(--color-ink-3, var(--color-ink-3))}.entry-page .page-links-title{margin-right:8px;font-weight:600}main.container,main.content-shell,.site-main.container{position:relative}main.container.content-shell,main.content-shell.container,.site-main.container.content-shell{padding-left:0;padding-right:0;max-width:var(--container, var(--mian-max-width, 1200px));width:100%;box-sizing:border-box}main.container:after,main.content-shell:after,.site-main.container:after{content:"";display:table;clear:both}.content-wrap{float:left;width:100%;min-width:0;display:block;box-sizing:border-box}.content-layout{display:block;width:auto;min-width:0;max-width:none;margin-right:0;margin-left:0;box-sizing:border-box}.content-layout__primary{min-width:0;max-width:100%}.sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);min-width:0;position:relative;box-sizing:border-box;display:block}.content-layout__aside{min-width:0}body.site-layout-1 .sidebar,.site-layout-1 .sidebar{display:none}body.site-layout-1 .content-layout,body.site-layout-1 .content-layout--no-sidebar,.site-layout-1 .content-layout{margin-left:0;margin-right:0}.content-layout--no-sidebar{margin-left:0!important;margin-right:0!important}body.site-layout-2 .content-layout,.site-layout-2 .content-layout{margin-right:326px;margin-right:calc(var(--sidebar-width, 311px) + 15px);margin-left:0;width:auto}body.site-layout-2 .sidebar,.site-layout-2 .sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);margin-left:-311px;margin-left:calc(0px - var(--sidebar-width, 311px));position:unset}body.site-layout-3 .content-layout,.site-layout-3 .content-layout{margin-left:326px;margin-left:calc(var(--sidebar-width, 311px) + 15px);margin-right:unset;width:auto}body.site-layout-3 .sidebar,.site-layout-3 .sidebar{float:left;width:311px;width:var(--sidebar-width, 311px);margin-left:-100%;position:unset}@media(min-width:992px){.sidebar .content-layout__aside,.content-layout__aside{position:sticky;top:calc(var(--nav-height, 60px) + 16px)}.has-static-nav .content-layout__aside{top:16px}}@media(max-width:991.98px){body.site-layout-2 .content-layout,body.site-layout-3 .content-layout,.site-layout-2 .content-layout,.site-layout-3 .content-layout{margin-left:auto;margin-right:auto}body.site-layout-2 .sidebar,body.site-layout-3 .sidebar,.site-layout-2 .sidebar,.site-layout-3 .sidebar,.sidebar{display:none}}.page-header{margin-bottom:28px}.page-header .entry-title{margin-bottom:8px}.page-header p{color:var(--color-ink-3);margin:0;max-width:720px}body.category .site-main{line-height:1.42857143}.page-cover.aksrt-panel{padding:0 0 calc(25% + 80px)}.aksrt-admin-quicklink{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--color-line);border-radius:var(--radius-pill, 999px);background:var(--surface-2);color:var(--color-ink-2);text-decoration:none;white-space:nowrap;font-size:.875rem;font-weight:600}.aksrt-admin-quicklink:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft, rgba(59, 130, 246, .08))}.content-stream{display:block}.content-main--archive,.content-main--tag,.content-main--search,.content-main--single{display:grid;gap:20px}.content-stream__empty{padding:28px 24px;border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--color-line-soft, rgba(15, 23, 42, .08))}.article-shell{overflow:hidden}@media(max-width:767px){.aksrt-admin-quicklink{width:fit-content}}.aksrt-pagination-ajax{display:flex;flex-direction:column;align-items:center;gap:16px;margin:40px 0 8px}.aksrt-load-more-btn{min-width:180px;height:44px;padding:0 32px;border-radius:var(--radius-btn);border:1px solid var(--color-line);background:var(--surface-page);color:var(--color-ink);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s,background .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.aksrt-load-more-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.aksrt-load-more-btn:disabled{opacity:.5;pointer-events:none}.aksrt-loading-indicator{display:none;align-items:center;gap:8px;font-size:14px;color:var(--color-ink-4)}.aksrt-loading-indicator i{font-size:16px}.aksrt-scroll-sentinel{width:100%;height:1px;pointer-events:none}@media(max-width:991px){.content-layout__aside{display:none}}.content-layout__primary--cms{min-width:0}.content-layout__aside .widget a{transition:color var(--dur-fast, .15s) var(--ease)}.content-layout__aside .widget a:hover{color:var(--color-primary)}.comments-card{overflow:hidden}:root{--aksrt-footer-tabbar-height: 49px}@media(max-width:767px){.hide-on-mobile,.hidden-xs{display:none!important}}@media(min-width:768px){.hide-on-desktop,.hide-on-pc{display:none!important}}.footer-tabbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1035;min-height:var(--aksrt-footer-tabbar-height);background:var(--blur-bg);border-top:1px solid var(--color-line-soft);padding:0 0 env(safe-area-inset-bottom,0px);justify-content:space-around;align-items:center;box-shadow:0 -4px 5px var(--main-shadow, rgba(0, 0, 0, .06));-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);--tabbar-active-color: #f04494;--tabbar-icon-size: 24px;--tabbar-text-size: 10px}.footer-tabbar.no-border{border-top:none}.footer-tabbar.no-shadow{box-shadow:none}.footer-tabbar.hide-text .tabbar-item span{display:none}.footer-tabbar.has-animation .tabbar-item{transition:color .15s ease,transform .15s ease}.footer-tabbar.has-animation .tabbar-item:active{transform:scale(.9)}.footer-tabbar-placeholder{display:none;height:calc(var(--aksrt-footer-tabbar-height) + env(safe-area-inset-bottom,0px))}@media(max-width:767px){.footer-tabbar{display:flex}.footer-tabbar-placeholder{display:block}.footer,.site-footer{padding-bottom:calc(var(--aksrt-footer-tabbar-height) + env(safe-area-inset-bottom,0px))}}.tabbar-item{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:49px;padding:4px 0 3px;color:var(--muted-color, var(--color-ink-3));font-size:13px;text-decoration:none;border:none;background:none;cursor:pointer;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.tabbar-item i{font-size:var(--tabbar-icon-size, 24px);line-height:1}.tabbar-item span{display:block;font-size:var(--tabbar-text-size, 10px);font-weight:500;line-height:1;transform:scale(.8);transform-origin:center top}.tabbar-item:hover,.tabbar-item.active{color:var(--tabbar-active-color, var(--color-primary));text-decoration:none}.tabbar-item.active i{font-weight:900}.tabbar-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-error);color:#fff;font-size:10px;line-height:16px;font-style:normal;font-weight:700;text-align:center;box-shadow:0 2px 8px #ef444433}.tabbar-badge--dot{min-width:0;width:8px;height:8px;padding:0;top:4px;right:10px;font-size:0;line-height:1;box-shadow:0 0 0 2px var(--blur-bg)}.tabbar-item--add{margin-top:-22px;width:62px;height:62px;min-height:62px;border-radius:50%;background:var(--color-accent);color:#fff;box-shadow:0 12px 24px var(--color-accent-shadow);flex:0 0 62px;z-index:1}.tabbar-item--add i{font-size:22px}.tabbar-item--add span{font-size:11px}.tabbar-item--add:hover,.tabbar-item--add.active{color:#fff}.tabbar-add-backdrop{position:fixed;inset:0;z-index:951;background:#0f172a61}.tabbar-add-panel{position:fixed;left:0;right:0;bottom:0;z-index:952;padding:0 12px calc(84px + env(safe-area-inset-bottom,0px))}.tabbar-add-panel__sheet{border-radius:20px;background:var(--surface-1);border:none;box-shadow:var(--shadow-drawer);overflow:hidden}.tabbar-add-panel__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid var(--color-line)}.tabbar-add-panel__close{width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-2);color:var(--color-ink-3)}.tabbar-add-panel__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.tabbar-add-panel__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;border-radius:18px;background:var(--surface-2);color:var(--color-ink-3);text-decoration:none}.tabbar-add-panel__item i{font-size:22px;color:var(--color-accent)}.tabbar-add-panel__item span{font-size:13px;font-weight:600}.tabbar-search-overlay{position:fixed;inset:0;z-index:953;background:#0f172a94;display:flex;align-items:stretch;justify-content:center}.tabbar-search-overlay__dialog{width:100%;min-height:100%;background:var(--surface-1);padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px))}.tabbar-search-overlay__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tabbar-search-overlay__close{width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-2);color:var(--color-ink-3)}.tabbar-search-overlay__form{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:14px 14px 14px 12px;border-radius:18px;border:none;box-shadow:var(--shadow-sm);background:var(--surface-4)}.tabbar-search-overlay__icon{color:var(--color-ink-4)}.tabbar-search-overlay__form input{min-width:0;border:0;background:transparent;color:var(--color-ink);font-size:15px;outline:none}.tabbar-search-overlay__submit{border:0;border-radius:12px;padding:10px 14px;background:var(--color-accent);color:#fff;font-weight:700}.tabbar-search-overlay__types{display:flex;gap:8px;margin-top:14px}.tabbar-search-overlay__type{border:0;border-radius:999px;padding:9px 14px;background:var(--surface-2);color:var(--color-ink-3);font-size:13px;font-weight:600}.tabbar-search-overlay__type.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.tabbar-search-overlay__section{margin-top:20px}.tabbar-search-overlay__section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tabbar-search-overlay__label{color:var(--color-ink-3);font-size:13px;font-weight:700}.tabbar-search-overlay__clear{border:0;background:transparent;color:var(--color-accent);font-size:12px;font-weight:700}.tabbar-search-overlay__history,.tabbar-search-overlay__suggestions{display:flex;flex-direction:column;gap:10px}.tabbar-search-overlay__history-item,.tabbar-search-overlay__suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:16px;padding:12px 14px;background:var(--surface-4);box-shadow:var(--shadow-sm);color:var(--color-ink-3);text-decoration:none;text-align:left}.tabbar-search-overlay__history-item i{color:var(--color-accent)}.tabbar-search-overlay__history-item span,.tabbar-search-overlay__suggestion-item span{flex:1;min-width:0;font-size:14px;font-weight:600}.tabbar-search-overlay__suggestion-item small{color:var(--color-ink-4);font-size:12px}.tabbar-search-overlay__empty{padding:14px;border-radius:16px;background:var(--surface-2);color:var(--color-ink-4);font-size:13px;text-align:center}.tabbar-search-overlay__tags{display:flex;flex-wrap:wrap;gap:10px}.tabbar-search-overlay__tag{padding:10px 14px;border-radius:999px;background:var(--surface-2);color:var(--color-ink-3);text-decoration:none;font-size:13px}body.tabbar-search-open,body.tabbar-add-open{overflow:hidden}.footer-tabbar.scrolling-hide{transform:translateY(100%);transition:transform .3s ease}.footer-tabbar.scroll-down-hide{transition:transform .3s ease}.footer-tabbar.scroll-down-hide.is-hidden{transform:translateY(120%)}.tabbar-ontop-wrap{position:relative}.tabbar-ontop-wrap .tabbar-ontop-btn{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 12px;color:var(--color-primary);font-size:13px;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.tabbar-ontop-wrap .tabbar-ontop-btn i{font-size:18px;line-height:1}.tabbar-ontop-wrap .tabbar-ontop-btn span{font-weight:500;line-height:1;transform:scale(.8);transform-origin:center top}.tabbar-ontop-wrap.is-scrolled .tabbar-ontop-btn{display:flex}.tabbar-ontop-wrap.is-scrolled>.tabbar-item:not(.tabbar-ontop-btn){opacity:0;pointer-events:none}.theme-dark .site-footer,html.dark .site-footer{background:var(--surface-1)}.theme-dark .footer-tabbar,html.dark .footer-tabbar{background:var(--blur-bg);box-shadow:0 -1px 3px #0003}.back-to-top{display:none!important}.site-footer--compact .site-footer__grid{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.site-footer--compact .site-footer__brand{flex:1 1 100%}.tabbar-search-overlay[hidden]{display:none!important}.tabbar-search-overlay.is-open,.tabbar-search-overlay.show:not([hidden]){display:flex}.tabbar-search-overlay__dialog{max-width:720px;margin:0 auto}@media(min-width:768px){.tabbar-search-overlay{align-items:flex-start;padding-top:8vh;background:#0f172a73}.tabbar-search-overlay__dialog{min-height:auto;max-height:min(84vh,860px);overflow:auto;border-radius:20px;box-shadow:var(--shadow-lg, 0 20px 50px rgba(15, 23, 42, .22))}.nav-searchbox--desktop{display:none}.main-search-btn.nav-search-toggle{display:inline-flex;align-items:center;justify-content:center}}@media(max-width:767.98px){.main-search-btn.nav-search-toggle{display:none}}.site-footer--compact .site-footer__brand .site-footer__desc,.site-footer--compact .site-footer__brand .social-row,.site-footer--compact .site-footer__brand .site-footer__friends{display:none}.site-footer--compact .site-footer__col{flex:0 0 auto}.site-footer--compact .site-footer__col ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}.site-footer--compact .site-footer__bottom{border-top:1px solid var(--color-line);padding-top:12px;margin-top:12px}.site-footer--centered .site-footer__grid{text-align:center}.site-footer--centered .site-footer__brand{flex:1 1 100%;display:flex;flex-direction:column;align-items:center}.site-footer--centered .site-footer__col{flex:1 1 auto}.site-footer--centered .site-footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.footer{color:var(--footer-color, var(--color-ink-4));background:var(--footer-bg, var(--surface-1));padding:30px;font-size:13px;margin-top:auto}.footer a:not(.but):not(.focus-color){color:var(--footer-color, var(--color-ink-4))}.footer a:hover{color:var(--focus-color, var(--color-primary))}.footer .container-footer{max-width:calc(var(--mian-max-width, var(--container, 1200px)) + 180px);margin:0 auto;width:100%}.footer .list-inline{display:flex;align-items:center;gap:20px;list-style:none;margin:0 0 12px;padding:0}.footer .list-inline>li{flex:1;margin:5px 15px}.footer .list-inline>li+li+li{float:right;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.footer a.footer-logo img,.footer .footer-logo img{height:40px;width:auto;max-width:180px;vertical-align:middle;display:inline-block}.footer .title-h-left{position:relative;margin:8px 0 10px;padding-bottom:8px;font-size:15px;font-weight:700;color:var(--color-ink, #333)}.footer .title-h-left:before{transition:.4s;transform-origin:left;position:absolute;content:"";width:40px;height:3px;background:var(--theme-color, var(--color-primary));left:0;bottom:3px;border-radius:5px;box-shadow:1px 1px 3px -1px var(--theme-color, var(--color-primary))}.footer .footer-muted,.footer .em09{font-size:.92em;color:var(--muted-2-color, var(--color-ink-4));line-height:1.7}.footer .opacity8{opacity:.8}.footer .fcode-links{margin:0 0 8px;line-height:1.9}.footer .fcode-links>a+a:before{content:"";width:4px;height:4px;margin:0 .5em;border-radius:50%;display:inline-block;vertical-align:middle;background:var(--main-color, var(--color-ink-2));opacity:.3;vertical-align:.2em}.footer .toggle-radius{background:var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));width:29px;height:29px;display:inline-block;text-align:center;border-radius:100%;position:relative;vertical-align:text-top;line-height:29px;color:var(--footer-color, var(--color-ink-3));text-decoration:none}.footer .footer-contact{margin-top:10px}.footer .footer-contact>a{font-size:20px;margin:5px;width:35px;height:35px;line-height:35px;display:inline-block;text-align:center;border-radius:100%;background:var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));color:var(--footer-color, var(--color-ink-3));text-decoration:none;vertical-align:text-top;position:relative;transition:color .15s ease,background .15s ease}.footer .footer-contact>a:hover{color:#fff;background:var(--focus-color, var(--color-primary))}.footer .footer-contact>a i{vertical-align:middle}.footer .footer-wechat-img{display:none;position:absolute;width:140px;bottom:90%;left:-55px;padding-bottom:20px;z-index:5}.footer .hover-show{position:relative}.footer .hover-show:hover .footer-wechat-img,.footer .hover-show:focus .footer-wechat-img{display:block}.footer .footer-wechat-img img{box-shadow:0 5px 10px #0003;border-radius:4px;width:100%;height:auto;background:#fff}.footer .footer-miniimg img{width:90px;margin:0 6px;height:auto;max-width:100%;display:block;border-radius:4px}.footer .footer-miniimg-2{justify-content:flex-end}.footer .footer-miniimg-2 img{height:36px;border-radius:var(--main-radius)}.footer .footer-miniimg-2 .opacity8{display:none}.footer .footer-conter{margin:8px 0 0;line-height:1.8;color:var(--footer-color, var(--color-ink-4));font-size:13px}.footer .mt10{margin-top:10px}@media(max-width:767px){.footer .hidden-xs,.hidden-xs{display:none!important}.footer{padding:10px 0}.footer .container-footer{text-align:center;padding:0 16px}.footer .list-inline{gap:10px;flex-direction:column;align-items:center;justify-content:center}.footer .list-inline>li+li+li{float:none;align-items:center}.footer .list-inline>li{margin:12px 0;max-width:none!important}.footer .footer-miniimg-2{justify-content:center}.footer .title-h-left:before{left:50%;transform:translate(-50%)}}.float-right{position:fixed;bottom:60px;right:20px;z-index:1030;text-align:center;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);transition:.3s}.float-right .admin-set-page .admin-set-info{position:absolute;top:50%;right:.7em;transform:translateY(-50%);white-space:nowrap;line-height:1.5;margin:0;box-shadow:none;text-align:center;z-index:1}body:has(.modal.in) .float-right,.modal-open .float-right,.imgbox-show .float-right,.scroll-down .scroll-down-hide.float-right,.scroll-ing .scrolling-hide.float-right{transform:translate(200%)}body:has(.modal.in) .float-right.position-center,.modal-open .float-right.position-center,.imgbox-show .float-right.position-center,.scroll-down .scroll-down-hide.float-right.position-center,.scroll-ing .scrolling-hide.float-right.position-center{transform:translate(200%,-50%)}.float-right.position-center{bottom:auto;top:50%;transform:translateY(-50%)}.float-right .float-btn{width:40px;min-height:40px;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:7px 0;font-size:1.4em;--this-color: var(--muted-2-color);--this-bg: var(--float-btn-bg);background:var(--this-bg);position:relative;color:var(--this-color)!important}.float-right .float-btn text{font-size:12px;line-height:1;margin-top:5px}.float-right badge{transform:translate(-11px,-5px) scale(.85);margin-right:-50px;right:auto;left:35px;font-size:12px;position:absolute}.filter .float-btn{-webkit-backdrop-filter:saturate(2) blur(10px);backdrop-filter:saturate(2) blur(10px)}.float-right.square .float-btn+.float-btn{border-top:1px solid var(--main-shadow)}.float-right.round .float-btn{margin-top:6px;border-radius:8px}.float-btn.ontop{opacity:0;transition:.5s;transform:translateY(10px);visibility:hidden}.ontop.show{opacity:1;transform:translateY(0);visibility:unset;display:flex!important}.float-btn .hover-show-con{right:35px;left:auto;width:200px;margin-right:15px;top:0;font-size:14px;line-height:1.4;color:var(--main-color);padding:10px;margin-top:0;border-radius:var(--main-radius);cursor:auto}.float-btn .dropdown-menu:before{left:auto;top:15px;right:-5px}.float-btn.service-wechat .hover-show-con{width:120px;top:-40px;padding:0}.float-btn.service-wechat .dropdown-menu:before{top:53px}.float-btn.qrcode-btn .hover-show-con{width:150px;top:-60px;padding:16px 5px 12px;text-align:center}.float-btn.qrcode-btn .qrcode{background:#fff;display:inline-flex;padding:5px}.float-btn.qrcode-btn .dropdown-menu:before{top:73px}.float-btn.newadd-btns .drop-newadd{width:137px;top:-74px}.float-btn.newadd-btns .drop-newadd:before{left:auto;top:88px;right:-5px}@media(max-width:767px){.float-btn .hover-show-con{max-width:240px}}.float-right.position-top{bottom:auto;top:80px}.float-btn.wait-pay-btn .hover-show-con{animation:float-wait-pay 2s;animation-delay:.3s}body.modal-open .float-btn.wait-pay-btn .hover-show-con{opacity:0!important}.float-btn .order-thumb{width:48px;height:48px}.float-btn .order-item{color:inherit}@keyframes float-wait-pay{0%{opacity:0;visibility:unset;box-shadow:0 0 10px #ff49791a}10%{opacity:1;box-shadow:0 0 10px #ff4979f2}30%{box-shadow:0 0 10px #ff49791a}50%{box-shadow:0 0 10px #ff4979f2}70%{box-shadow:0 0 10px #ff49791a}80%{visibility:unset;opacity:1}}@media(max-width:640px){.float-right{right:10px}.float-right.position-top{top:56px}}@keyframes aksrt-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aksrt-hover-zoom{transition:transform .3s ease}.aksrt-hover-zoom:hover{transform:scale(1.02)}.aksrt-hover-zoom-sm{transition:transform .3s ease}.aksrt-hover-zoom-sm:hover{transform:scale(1.02)}.aksrt-hover-show{position:relative}.aksrt-hover-show__content{position:absolute;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s,transform .3s,visibility .3s;z-index:10}.aksrt-hover-show:hover .aksrt-hover-show__content{opacity:1;visibility:visible;transform:translateY(0)}.aksrt-ic-close{transition:transform .3s;cursor:pointer}.aksrt-ic-close:hover{transform:rotate(270deg)}.aksrt-hover-zoom-img img{transition:transform .3s ease}.aksrt-hover-zoom-img:hover img{transform:scale(1.02)}.aksrt-hover-zoom-img-sm img{transition:transform .3s ease}.aksrt-hover-zoom-img-sm:hover img{transform:scale(1.02)}.aksrt-hover-lift{transition:transform .2s ease,box-shadow .2s ease}.aksrt-hover-lift:hover{transform:none;box-shadow:0 4px 12px #0000001a}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.dark::view-transition-old(root),body.dark-theme::view-transition-old(root){z-index:1}.dark::view-transition-new(root),body.dark-theme::view-transition-new(root){z-index:2147483646}::view-transition-old(root){z-index:2147483646}::view-transition-new(root){z-index:1}@supports not ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))){:root{--aksrt-blur-bg: #ffffff}.dark{--aksrt-blur-bg: var(--surface-1)}}body.aksrt-scroll-down .site-nav.nav-scroll-hide{transform:translateY(-100%);transition:transform .3s ease}body.aksrt-scroll-up .site-nav.nav-scroll-hide{transform:translateY(0);transition:transform .3s ease}body.aksrt-scrolling .aksrt-floating-right.scrolling-hide{opacity:0;pointer-events:none;transition:opacity .2s}body.aksrt-body-scroll .aksrt-show-on-scroll{opacity:1;visibility:visible}.aksrt-show-on-scroll{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.aksrt-cursor-zoom-in{cursor:zoom-in}.aksrt-announcement{position:relative;overflow:hidden;padding:10px 12px;background:var(--surface-2, #F4F5F7);border-radius:var(--radius, 10px)}.aksrt-announcement__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-primary, var(--color-primary));font-size:14px;z-index:1}.aksrt-announcement__track{margin-left:24px;overflow:hidden;height:20px}.aksrt-announcement__list{margin:0;padding:0;list-style:none;animation:aksrt-marquee 10s linear infinite}.aksrt-announcement__item{height:20px;line-height:20px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aksrt-announcement__item a{color:var(--color-ink-2);text-decoration:none}.aksrt-announcement__item a:hover{color:var(--color-primary, var(--color-primary))}@keyframes aksrt-marquee{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.aksrt-announcement:hover .aksrt-announcement__list{animation-play-state:paused}[data-aksrt-animate]{will-change:opacity,transform}[data-aksrt-sticky]{will-change:transform}.aksrt-user-ranking{margin:0;padding:0;list-style:none}.aksrt-user-ranking__item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-line-soft, #F0F1F3)}.aksrt-user-ranking__item:last-child{border-bottom:none}.aksrt-user-ranking__rank{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--surface-2, #F4F5F7);color:var(--color-ink-3);font-size:12px;font-weight:600;flex-shrink:0}.aksrt-user-ranking__item--top:nth-child(1) .aksrt-user-ranking__rank{background:gold;color:#fff}.aksrt-user-ranking__item--top:nth-child(2) .aksrt-user-ranking__rank{background:silver;color:#fff}.aksrt-user-ranking__item--top:nth-child(3) .aksrt-user-ranking__rank{background:#cd7f32;color:#fff}.aksrt-user-ranking__avatar{flex-shrink:0}.aksrt-user-ranking__avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover}.aksrt-user-ranking__name{flex:1;min-width:0;font-size:14px;color:var(--color-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aksrt-user-ranking__name:hover{color:var(--color-primary, var(--color-primary))}.aksrt-user-ranking__value{font-size:12px;color:var(--color-ink-4, #8A8F98);white-space:nowrap}.aksrt-cover-cards{display:grid;grid-template-columns:repeat(var(--cols, 2),1fr);gap:12px}.aksrt-cover-card{position:relative;border-radius:var(--radius-lg, 8px);overflow:hidden;min-height:160px;display:flex;align-items:flex-end;transition:transform .3s,box-shadow .3s}.aksrt-cover-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000026}.aksrt-cover-card__bg{position:absolute;inset:0}.aksrt-cover-card__bg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.aksrt-cover-card:hover .aksrt-cover-card__bg img{transform:scale(1.02)}.aksrt-cover-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#0009)}.aksrt-cover-card__content{position:relative;z-index:1;padding:16px;width:100%}.aksrt-cover-card__link{text-decoration:none;color:inherit;display:block}.aksrt-cover-card__title{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.aksrt-cover-card__desc{margin:0;font-size:13px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.aksrt-video-widget{position:relative;width:100%;overflow:hidden;border-radius:var(--radius, 10px);background:#000}.aksrt-video-widget iframe,.aksrt-video-widget video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.aksrt-float-label{position:relative}.aksrt-float-label__input{width:100%;padding:14px 12px 6px;font-size:14px;border:1px solid var(--color-line);border-radius:var(--radius, 10px);background:var(--surface-1, #fff);color:var(--color-ink);transition:border-color .2s}.aksrt-float-label__input:focus{outline:none;border-color:var(--color-primary, var(--color-primary))}.aksrt-float-label__label{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--color-ink-4, #8A8F98);pointer-events:none;transition:all .2s ease}.aksrt-float-label__input:focus+.aksrt-float-label__label,.aksrt-float-label__input:not(:placeholder-shown)+.aksrt-float-label__label{top:8px;transform:translateY(0);font-size:11px;color:var(--color-primary, var(--color-primary))}[data-aksrt-parallax]{will-change:transform;transition:transform .1s linear}.aksrt-level-bar{position:relative;height:8px;background:var(--surface-2, #F4F5F7);border-radius:4px;overflow:hidden}.aksrt-level-bar__fill{height:100%;background:linear-gradient(90deg,var(--color-primary, var(--color-primary)),var(--color-primary-active, #5A85BD));border-radius:4px;transition:width .5s ease}.aksrt-level-bar__label{position:absolute;right:0;top:-18px;font-size:11px;color:var(--color-ink-4, #8A8F98)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-ink-3, #777)}.empty-state__icon{font-size:56px;color:var(--surface-3, #e8e8e8);margin-bottom:16px;line-height:1}.empty-state__icon i{display:inline-block}.empty-state__title{font-size:16px;font-weight:500;color:var(--color-ink-2, #4e5358);margin-bottom:8px}.empty-state__desc{font-size:13px;color:var(--color-ink-4, #999);margin-bottom:20px;max-width:320px;margin-left:auto;margin-right:auto;line-height:1.6}.empty-state__action{display:inline-flex;align-items:center;gap:6px}.empty-state--sm{padding:30px 16px}.empty-state--sm .empty-state__icon{font-size:40px}.empty-state--sm .empty-state__title{font-size:14px}.empty-state--sm .empty-state__desc{font-size:12px}.search-empty{text-align:center;padding:80px 20px}.search-empty__icon{font-size:64px;color:var(--surface-3, #e8e8e8);margin-bottom:16px}.search-empty__title{font-size:18px;font-weight:500;color:var(--color-ink-2, #4e5358);margin-bottom:8px}.search-empty__suggestions{font-size:13px;color:var(--color-ink-4, #999)}.search-empty__suggestions a{color:var(--color-primary, #f04494);text-decoration:none}.search-empty__suggestions a:hover{text-decoration:underline}@media(max-width:767px){.empty-state{padding:40px 16px}.empty-state__icon{font-size:44px}}.pagination,.aksrt-pagination,.navigation.pagination .nav-links,.pagenav.ajax-pag{display:flex;align-items:center;justify-content:center;gap:6px;padding:24px 0;flex-wrap:wrap}.pagination a,.pagination span,.aksrt-pagination a,.aksrt-pagination span,.navigation.pagination a,.navigation.pagination span,.pagenav.ajax-pag a,.pagenav.ajax-pag span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.4;color:var(--muted-color, var(--color-ink-3));background:var(--surface-4, var(--main-border-color, rgba(50, 50, 50, .06)));border:1px solid transparent;border-radius:var(--radius-xs, 3px);text-decoration:none;transition:all .2s;user-select:none}.pagination a:hover,.aksrt-pagination a:hover,.navigation.pagination a:hover,.pagenav.ajax-pag a:hover{opacity:1;color:var(--color-primary);background:var(--color-primary-soft)}.pagination .current,.aksrt-pagination .current,.navigation.pagination .current,.pagenav.ajax-pag .current{color:var(--color-on-primary, #fff);background:var(--color-primary, #f04494);border-color:var(--color-primary, #f04494);font-weight:500}.pagination .dots,.aksrt-pagination .dots,.navigation.pagination .dots,.pagenav.ajax-pag .dots{border:none;background:none;color:var(--color-ink-4, #999);cursor:default;min-width:auto;padding-left:4px;padding-right:4px}.pagination .prev,.pagination .next,.aksrt-pagination .prev,.aksrt-pagination .next,.navigation.pagination .prev,.navigation.pagination .next,.pagenav.ajax-pag .prev,.pagenav.ajax-pag .next{font-size:12px}.pagination .prev i,.pagination .next i,.aksrt-pagination .prev i,.aksrt-pagination .next i,.navigation.pagination .prev i,.navigation.pagination .next i,.pagenav.ajax-pag .prev i,.pagenav.ajax-pag .next i{font-size:11px}.pagenav.ajax-pag .pag-jump,.aksrt-pagination .pag-jump,.navigation.pagination .pag-jump{display:inline-flex;align-items:center;gap:6px;margin-left:6px}.pagenav.ajax-pag .jump-input,.aksrt-pagination .jump-input,.navigation.pagination .jump-input{width:64px;min-width:64px;padding:6px 8px 5px;font-size:13px;line-height:1.4;color:var(--muted-color, var(--color-ink-3));background:var(--main-bg-color, #fff);border:1px solid var(--main-border-color, rgba(50, 50, 50, .06));border-radius:3px;box-shadow:none}.pagenav.ajax-pag .jump-input:focus,.aksrt-pagination .jump-input:focus,.navigation.pagination .jump-input:focus{outline:none;border-color:var(--focus-color, var(--color-primary, #f04494))}.pagenav.ajax-pag .pag-jump .ajax-next,.aksrt-pagination .pag-jump .ajax-next,.navigation.pagination .pag-jump .ajax-next{min-width:auto;cursor:pointer}.pagination__nav{display:flex;gap:8px;justify-content:center;margin-top:8px}.pagination__nav a{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;font-size:13px;color:var(--color-ink-2, #4e5358);background:var(--surface-1, #fff);border:1px solid var(--color-line, rgba(50, 50, 50, .06));border-radius:6px;text-decoration:none;transition:all .2s}.pagination__nav a:hover{color:var(--color-primary, #f04494);border-color:var(--color-primary, #f04494)}@media(max-width:767px){.pagination a,.pagination span,.aksrt-pagination a,.aksrt-pagination span,.navigation.pagination a,.navigation.pagination span,.pagenav.ajax-pag a,.pagenav.ajax-pag span{min-width:28px;font-size:12px;margin:2px}.pagenav.ajax-pag .pag-jump,.aksrt-pagination .pag-jump,.navigation.pagination .pag-jump{width:100%;justify-content:center;margin-left:0;margin-top:6px}.pagenav.ajax-pag .jump-input,.aksrt-pagination .jump-input,.navigation.pagination .jump-input{width:58px;min-width:58px;font-size:12px}}.aksrt-modal-runtime{--modal-ink: var(--color-ink, #333333);--modal-ink-2: var(--color-ink-2, #4e5358);--modal-muted: var(--color-ink-3, #777777);--modal-line: var(--color-line-stronger, rgba(50, 50, 50, .12));--modal-line-soft: var(--color-line, rgba(50, 50, 50, .06));--modal-surface: var(--surface-1, #ffffff);--modal-surface-2: var(--surface-2, #eeeeee);--modal-surface-3: var(--surface-4, #f8f8f8);--modal-primary: var(--color-primary, #f04494);--modal-on-primary: var(--color-on-primary, #ffffff);--modal-warning: var(--color-warning, #f59e0b);--modal-success: var(--color-success, #10b981);--modal-danger: var(--color-danger, #ef4444)}html.aksrt-modal-runtime-open,body.aksrt-modal-runtime-open{overflow:hidden}.aksrt-modal-runtime.modal-mini,.aksrt-modal-runtime.full-sm{width:auto;max-width:none;margin:0}.aksrt-modal-runtime{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.aksrt-modal-runtime.is-open{opacity:1;visibility:visible;pointer-events:auto}.aksrt-modal-runtime.is-open.aksrt-modal-runtime--parent{pointer-events:none}.aksrt-modal-runtime.is-open.aksrt-modal-runtime--parent .aksrt-modal-runtime__dialog{transform:scale(.98)}.aksrt-modal-runtime--child .aksrt-modal-runtime__overlay{background:#0003}.aksrt-modal-runtime__overlay{position:absolute;inset:0;background:#00000080}.aksrt-modal-runtime__dialog{position:relative;z-index:1;width:min(440px,calc(100vw - 32px));max-height:min(88vh,720px);overflow:auto;background:var(--surface-1, #fff);border-radius:16px;box-shadow:0 18px 48px #0f121c38;transform:translateY(12px) scale(.98);transition:transform .22s cubic-bezier(.22,1,.36,1);color:var(--color-ink, #1f2937)}.aksrt-modal-runtime.is-open .aksrt-modal-runtime__dialog{transform:translateY(0) scale(1)}.aksrt-modal-runtime--bottom{align-items:flex-end}.aksrt-modal-runtime--bottom .aksrt-modal-runtime__dialog{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;transform:translateY(24px)}.aksrt-modal-runtime--bottom.is-open .aksrt-modal-runtime__dialog{transform:translateY(0)}.aksrt-modal-runtime__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.aksrt-modal-runtime__title{margin:0;font-size:17px;line-height:1.35}.aksrt-modal-runtime__content{padding:18px 18px 16px}.aksrt-modal-runtime__loading,.aksrt-modal-runtime__error-body{padding:28px 8px;text-align:center;color:var(--color-ink-2, #6b7280);font-size:14px}.aksrt-modal-runtime__skeleton{display:grid;gap:12px;padding:8px 2px}.aksrt-modal-runtime__skeleton-line,.aksrt-modal-runtime__skeleton-block{display:block;border-radius:8px;background:linear-gradient(90deg,#94a3b829,#94a3b84d,#94a3b829);background-size:200% 100%;animation:aksrt-modal-skeleton 1.2s ease-in-out infinite}.aksrt-modal-runtime__skeleton-line{width:72%;height:12px}.aksrt-modal-runtime__skeleton-line.is-wide{width:92%;height:18px}.aksrt-modal-runtime__skeleton-line.is-short{width:44%}.aksrt-modal-runtime__skeleton-block{width:100%;min-height:84px}.aksrt-modal-runtime__retry{cursor:pointer}@keyframes aksrt-modal-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.aksrt-modal-runtime .touch.border-title,.aksrt-modal-runtime .border-title{font-size:16px;font-weight:700;margin:0 0 14px;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.aksrt-modal-runtime .aksrt-modal-runtime__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--color-ink-3, #9ca3af);cursor:pointer;font-size:18px;line-height:1}.aksrt-modal-runtime .but-average.modal-buts,.aksrt-modal-runtime .modal-buts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.aksrt-modal-runtime .but-average.modal-buts .but,.aksrt-modal-runtime .modal-buts .but,.aksrt-modal-runtime .modal-buts button{min-height:40px;border-radius:10px;border:1px solid var(--color-line, #e5e7eb);background:var(--surface-4, #f3f4f6);color:var(--color-ink, #111);font-weight:600;cursor:pointer}.aksrt-modal-runtime .modal-buts .but.c-blue,.aksrt-modal-runtime .modal-buts button.c-blue,.aksrt-modal-runtime .modal-buts .btn-primary{background:var(--color-primary, #f04494);border-color:color-mix(in srgb,var(--color-primary, #f04494) 70%,#000 0%);color:var(--color-on-primary, #fff)}.aksrt-modal-runtime.aksrt-checkin-details-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-modal-runtime.aksrt-checkin-details-modal .aksrt-modal-runtime__content{padding:0}.aksrt-modal-runtime.aksrt-checkin-details-modal .aksrt-modal-runtime__skeleton{padding:24px 18px}.ajaxpager.is-ajax-loading{position:relative;min-height:80px}.post_ajax_loader{display:none}.post_ajax_loader.is-loading{display:block;animation:aksrtFadeIn .2s ease both}.ajax-item.is-fading{opacity:.35;transition:opacity .15s ease}.aksrt-report-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(600px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-report-modal .edit-header{position:relative;padding-right:32px}.aksrt-report-modal .edit-header .close{position:absolute;right:0;top:50%;transform:translateY(-50%);float:none;font-size:20px;line-height:1;cursor:pointer;background:none;border:0;padding:2px 6px}.aksrt-report-modal .form-but-radio .badg{cursor:pointer;user-select:none}.aksrt-user-ban-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(600px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-user-ban-info-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog,.aksrt-user-ban-appeal-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog,.aksrt-user-ban-log-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-user-ban-info-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-appeal-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-log-modal .aksrt-modal-runtime__skeleton,.aksrt-user-ban-modal .aksrt-modal-runtime__skeleton{padding:24px 18px}.aksrt-user-ban-modal .edit-header,.aksrt-user-ban-appeal-modal .edit-header{position:relative;padding-right:32px}.aksrt-user-ban-modal .edit-header .close,.aksrt-user-ban-appeal-modal .edit-header .close{position:absolute;right:0;top:50%;transform:translateY(-50%);float:none;font-size:20px;line-height:1;cursor:pointer;background:none;border:0;padding:2px 6px}.aksrt-user-ban-modal .modal-colorful-header,.aksrt-user-ban-modal .colorful-bg,.aksrt-user-ban-info-modal .modal-colorful-header,.aksrt-user-ban-info-modal .colorful-bg,.aksrt-user-ban-log-modal .modal-colorful-header,.aksrt-user-ban-log-modal .colorful-bg{position:relative;overflow:hidden;color:var(--this-color);background:var(--this-bg);background-size:120%}.aksrt-user-ban-modal .modal-colorful-header,.aksrt-user-ban-info-modal .modal-colorful-header,.aksrt-user-ban-log-modal .modal-colorful-header{position:absolute;top:0;right:0;left:0;display:flex;align-items:center;justify-content:center;height:120px;border-radius:var(--main-radius, 8px) var(--main-radius, 8px) 0 0}.aksrt-user-ban-modal .modal-colorful-header+*,.aksrt-user-ban-info-modal .modal-colorful-header+*,.aksrt-user-ban-log-modal .modal-colorful-header+*{margin-top:120px}.aksrt-user-ban-modal .modal-colorful-header>.close,.aksrt-user-ban-info-modal .modal-colorful-header>.close,.aksrt-user-ban-log-modal .modal-colorful-header>.close{position:absolute;top:10px;right:10px;z-index:9;color:var(--this-color);font-size:18px;opacity:.6}.aksrt-user-ban-modal .colorful-bg>.colorful-make,.aksrt-user-ban-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:after{position:absolute;color:var(--this-color);background:var(--this-bg);border-radius:100%;content:""}.aksrt-user-ban-modal .colorful-bg>.colorful-make,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make{top:60%;bottom:0;width:323px;height:290px;animation:aksrt-ban-colorful 120s linear infinite}.aksrt-user-ban-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:before,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:before{top:-325px;right:-558px;bottom:0;width:677px;height:300px;opacity:.6;transform:rotate(341deg)}.aksrt-user-ban-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make:after,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make:after{top:-170px;bottom:0;left:-262px;width:402px;height:214px;opacity:.4;transform:rotate(326deg)}.aksrt-user-ban-modal .colorful-bg>.colorful-make+*,.aksrt-user-ban-info-modal .colorful-bg>.colorful-make+*,.aksrt-user-ban-log-modal .colorful-bg>.colorful-make+*{position:relative}.aksrt-user-ban-modal .form-but-radio label{cursor:pointer}.aksrt-user-ban-modal .form-but-radio .but-radio,.aksrt-user-ban-modal .aksrt-user-ban-form label{user-select:none}@keyframes aksrt-ban-colorful{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.order-comment-from .shop-score-box{display:flex;align-items:center;gap:8px;min-height:36px}.order-comment-from .score-title{width:4.5em;flex:0 0 auto;font-size:13px;color:var(--color-ink-2, #6b7280)}.order-comment-from .score-icon{display:inline-flex;gap:4px;align-items:center;height:30px}.order-comment-from .icon-star{display:inline-flex;width:22px;height:22px;color:#d1d5db;cursor:pointer;transition:color .12s ease,transform .12s ease}.order-comment-from .icon-star svg{width:22px;height:22px;fill:currentColor}.order-comment-from .icon-star.active,.order-comment-from .icon-star.hover{color:#fc7049}.order-comment-from .icon-star.hover{transform:scale(1.08)}.order-comment-from .score-text{min-width:3em;font-size:13px;color:var(--color-ink-2, #6b7280)}.order-comment-from textarea.form-control{width:100%;border:1px solid var(--color-line, #e5e7eb);border-radius:10px;padding:10px 12px;font-size:14px;resize:vertical;min-height:96px;background:var(--surface-1, #fff);color:var(--color-ink, #111)}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview{display:flex;flex-wrap:wrap;gap:8px}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .add,:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item{width:80px;height:80px;border-radius:10px;border:1px dashed var(--color-line, #d1d5db);background:var(--surface-4, #f9fafb);position:relative;overflow:hidden;cursor:pointer}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item img{width:100%;height:100%;object-fit:cover;display:block}:is(.order-comment-from,.aksrt-report-modal) .form-upload .preview .preview-item .remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border:0;border-radius:999px;background:#0000008c;color:#fff;font-size:12px;line-height:1;cursor:pointer}:is(.order-comment-from,.aksrt-report-modal) .form-upload .hide{display:none!important}.order-comment-from .review-error{color:#ef4444;font-size:13px;margin-top:8px}@media(max-width:768px){.aksrt-modal-runtime:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:calc(100vw - 20px)}}.notyn{position:fixed;bottom:6em;right:0;max-width:320px;z-index:10000000}.notyf{position:relative;margin-bottom:.6em;color:#fff;font-size:14px;line-height:1.42857143;float:right;min-width:200px;padding:1em 3em 1em 3.4em;box-shadow:-3px 3px 6px #0000001a;transform:translate(1.5em);transition:.3s;-webkit-backdrop-filter:saturate(5) blur(20px);backdrop-filter:saturate(5) blur(20px);-webkit-animation:notyf .4s cubic-bezier(.35,.71,.46,1.08);animation:notyf .4s cubic-bezier(.35,.71,.46,1.08)}.notyn-out .notyf{transform:translate(110%);opacity:.5;transition:.5s}@-webkit-keyframes notyf{0%{transform:translate(110%);opacity:0}to{transform:translate(1.5em);opacity:1}}@keyframes notyf{0%{transform:translate(110%);opacity:0}to{transform:translate(1.5em);opacity:1}}.notyf:before{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;line-height:1;left:.8em;font-size:1.5em;position:absolute;top:0;bottom:0;margin:auto;height:20px}.notyf.success{background:linear-gradient(90deg,#0f93f9b3,#3dbdf9cc)}.notyf.success:before{content:""}.notyf.info{background:linear-gradient(90deg,#3aa236cc,#59f783cc)}.notyf.info:before{content:""}.notyf.warning,.notyf.load{background:linear-gradient(90deg,#fdaa47b3,#f79a0dcc)}.notyf.warning:before{content:""}.notyf.danger{background:linear-gradient(90deg,#fd451cb3,#fb6e4bcc)}.notyf.danger:before{content:""}.notyf .fa-close{float:right;padding:.6em;margin:-.4em}.notyf.load:before{content:"";width:.7em;height:.7em;display:inline-block;border:.08em solid transparent;border-width:calc(1px + .03em);border-radius:50%;border-top-color:var(--this-color);border-bottom-color:var(--this-color);-webkit-animation:huan-rotate 1s cubic-bezier(.7,.1,.31,.9) infinite;animation:huan-rotate 1s cubic-bezier(.7,.1,.31,.9) infinite}@-webkit-keyframes huan-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes huan-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aksrt-captcha-box{display:none}.aksrt-captcha-wrap{text-align:center}.aksrt-captcha-modal-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}.aksrt-captcha-modal-backdrop{position:absolute;inset:0;background:#0000008c;animation:aksrtFadeIn .2s ease}.aksrt-captcha-modal-box{position:relative;background:var(--surface-page,#fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:380px;animation:aksrtSlideUp .25s ease;overflow:hidden}.aksrt-captcha-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-line,#e5e7eb)}.aksrt-captcha-modal-title{font-size:15px;font-weight:600;color:var(--color-ink,#1f2937)}.aksrt-captcha-modal-close{background:none;border:none;font-size:22px;color:var(--color-ink-4,#9ca3af);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px}.aksrt-captcha-modal-close:hover{background:var(--color-bg-hover,#f3f4f6);color:var(--color-ink,#1f2937)}.aksrt-captcha-modal-body{padding:20px}.aksrt-captcha-modal-hint{font-size:13px;color:var(--color-ink-4,#9ca3af);margin:0 0 16px;text-align:center}.aksrt-captcha-modal-widget{display:flex;justify-content:center}@keyframes aksrtFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aksrtSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.aksrt-modal-runtime.aksrt-reward-modal:not(.aksrt-modal-runtime--bottom) .aksrt-modal-runtime__dialog{width:min(400px,calc(100vw - 32px));border-radius:var(--main-radius, 8px);background:var(--main-bg-color, #fff)}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-modal-runtime__content{padding:0}.aksrt-reward-modal .modal-colorful-header+.aksrt-reward__body{margin-top:0;padding:135px 15px 15px;color:var(--main-color, var(--color-ink, #333))}.aksrt-reward__desc{margin:0 0 16px;text-align:center}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount{display:inline-flex;width:100%;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:4px;margin:0;padding:8px 6px;border:1px solid var(--color-line-stronger, rgba(50, 50, 50, .12));border-radius:var(--radius, 8px);background:var(--surface-2, #f5f6f7);color:var(--color-ink-2, #4e5358);cursor:pointer;font-size:16px;font-weight:700;line-height:1.2;box-shadow:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount:hover{border-color:var(--focus-color, var(--color-primary, #f04494));background:var(--color-primary-soft, rgba(240, 68, 148, .1));color:var(--focus-color, var(--color-primary, #f04494));opacity:1;transform:translateY(-1px)}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount:focus-visible{outline:0;box-shadow:0 0 0 3px var(--color-primary-soft, rgba(240, 68, 148, .2))}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount.is-active,.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__amount.is-active:hover{border-color:var(--focus-color, var(--color-primary, #f04494));background:var(--focus-color, var(--color-primary, #f04494));color:#fff;box-shadow:0 3px 10px var(--color-primary-soft, rgba(240, 68, 148, .2));opacity:1;transform:none}.aksrt-reward__currency{font-size:13px;font-weight:400}.aksrt-reward__value{font-size:15px}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__custom{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;color:var(--color-ink-2, #4e5358);font-size:14px;font-weight:600}.aksrt-reward__custom-label{flex:0 0 auto}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input-wrap{display:flex;width:min(190px,62%);min-height:44px;align-items:center;padding:0 10px 0 12px;border:1px solid var(--color-line-stronger, rgba(50, 50, 50, .12));border-radius:var(--radius, 8px);background:var(--surface-1, #fff);transition:border-color .2s ease,box-shadow .2s ease}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input-wrap:focus-within{border-color:var(--focus-color, var(--color-primary, #f04494));box-shadow:0 0 0 3px var(--color-primary-soft, rgba(240, 68, 148, .1))}.aksrt-reward__input-currency{flex:0 0 auto;margin-right:6px;color:var(--muted-color, var(--color-ink-3, #777));font-size:14px;font-weight:600}.aksrt-modal-runtime.aksrt-reward-modal .aksrt-reward__input{width:100%;min-width:0;min-height:42px;padding:0;border:0;outline:0;background:transparent;color:var(--color-ink, #333);font-size:15px;font-weight:600;text-align:right;-moz-appearance:textfield;box-shadow:none}.aksrt-reward__input::-webkit-inner-spin-button,.aksrt-reward__input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.aksrt-reward__input::placeholder{color:var(--muted-color, var(--color-ink-4, #999));opacity:1}.aksrt-reward__input:disabled,.aksrt-reward__amount:disabled{cursor:wait;opacity:.6}.aksrt-reward__submit{min-height:42px}.aksrt-reward__submit:disabled{cursor:wait;opacity:.7}.aksrt-reward__message{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aksrt-reward__captcha{margin:0 0 14px}.aksrt-modal-runtime--bottom.aksrt-reward-modal .aksrt-modal-runtime__dialog,.aksrt-modal-runtime--bottom.aksrt-reward-modal .modal-colorful-header{border-radius:16px 16px 0 0} diff --git a/assets/css/frontend/base.css b/assets/css/frontend/base.css index 034aa2bf..b75a88a3 100644 --- a/assets/css/frontend/base.css +++ b/assets/css/frontend/base.css @@ -49,6 +49,12 @@ a[href] { font-weight: 400; } +/* FA5's later .fa rule sets 900; keep outline glyphs at their regular weight. */ +.fa.far { + font-family: "Font Awesome 5 Free"; + font-weight: 400; +} + .skip-link { position: absolute; left: 16px; diff --git a/assets/css/frontend/homepage-fixed/base.css b/assets/css/frontend/homepage-fixed/base.css index 16fec0bf..6e407430 100644 --- a/assets/css/frontend/homepage-fixed/base.css +++ b/assets/css/frontend/homepage-fixed/base.css @@ -1,333 +1,13 @@ -/** - * Homepage Fixed Layout — legacy Visual Parity - * - * Implements legacy's homepage visual language: - * - System font stack with Chinese fallbacks - * - 1200px container, 311px sidebar - * - Post cards: list mode (190px thumb) + card mode (3-col grid) - * - legacy shadow/radius/spacing values - * - scale(1.02) thumbnail hover - * - Lazy-load animations (blur/fade/scale) - * - Full responsive: 1200/991/767/640px breakpoints - * - * Tab nav / tab panes / sort menu use the legacy class contract - * (.index-tab, .ajax-option, .ajaxpager) styled by assets/css/main.css. - */ - -/* ================================================================ - 1. HOMEPAGE CONTAINER & TYPOGRAPHY - ================================================================ */ - +/** Homepage inherits the reference navigation, widgets and pagination from main.css. */ .aksrt-homepage { - font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; - font-size: 16px; + font-size: 14px; line-height: 1.42857143; - color: var(--main-color, #4e5358); - background: transparent; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Slightly looser than stock legacy short pages: air between stream and footer */ - padding-bottom: 28px; -} - -.aksrt-homepage a[href] { - transition: color 0.2s, background 0.3s, opacity 0.3s, box-shadow 0.3s, transform 0.3s; -} - -/* ================================================================ - 2. LAYOUT SHELL - ================================================================ */ - -.aksrt-homepage__fluid-zone.content-shell, -.aksrt-homepage__shell.content-shell { - max-width: min(100%, var(--container, 1200px)); -} - -.aksrt-homepage__fluid-zone.content-shell { - padding-top: 18px; - padding-bottom: 0; -} - -.aksrt-homepage__shell.content-shell { - padding-top: 0; - /* 36px + a bit more breathing room before footer */ - padding-bottom: 56px; -} - -/* Bottom fluid zone (if any) keeps a little gap above footer */ -.aksrt-homepage__fluid-zone--bottom { - margin-bottom: 12px; -} - -@media (max-width: 767px) { - .aksrt-homepage { - padding-bottom: 20px; - } - - .aksrt-homepage__shell.content-shell { - padding-bottom: 40px; - } -} - -/* Dual-column geometry is owned by body.site-layout-* float rules in layout.css. */ -.aksrt-homepage__content-layout { - display: block; - gap: 0; -} - -@media (max-width: 1200px) { - .aksrt-homepage__fluid-zone.content-shell, - .aksrt-homepage__shell.content-shell { - max-width: 95%; - } + color: var(--main-color); } +.aksrt-homepage__content-layout, .aksrt-homepage__content-zone, .aksrt-homepage__fluid-zone, .aksrt-homepage__aside { display: block; } - -.aksrt-homepage__content-zone .widget-card:last-child, -.aksrt-homepage__aside .widget:last-child, -.aksrt-homepage__fluid-zone .widget-fluid:last-child { - margin-bottom: 0; -} - -/* ================================================================ - 3. FLUID WIDGETS - ================================================================ */ - -.aksrt-homepage__fluid-zone .widget-fluid { - margin-bottom: 20px; - background: transparent; - padding: 0; - border: 0; - box-shadow: none; -} - -.aksrt-homepage .widget-fluid.widget_aksrt_tab_posts, -.aksrt-homepage .widget-fluid.widget_aksrt_category_block, -.aksrt-homepage .widget-fluid.widget_aksrt_category_tabs, -.aksrt-homepage .widget-fluid.widget_aksrt_category_recommend { - padding: 15px; - background: var(--surface-1, #fff); - border: none; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -.aksrt-homepage__content-zone .widget-card, -.aksrt-homepage__aside .widget { - background: var(--surface-1, #fff); - padding: 15px; - border: none; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -/* ================================================================ - 4. STREAM TITLE BOX (legacy title-theme / 第N页) - ================================================================ */ - -.title-theme { - position: relative; - padding-left: 1.2em; - font-size: 15px; - font-weight: 700; - line-height: 1.4; -} - -.title-theme::before { - position: absolute; - top: 10%; - bottom: 10%; - left: 2px; - width: 4px; - content: ""; - background: var(--color-primary); - border-radius: 5px; - box-shadow: 1px 1px 3px -1px var(--color-primary); -} - -.flex { - /* No !important: the site-layout-1 / fluid-widget-wrap wide-mode rule - (.posts-item:not(.card) { display: inline-flex }) must out-rank this - utility or the no-sidebar two-column pairing collapses back to - half-width stacked rows. */ - display: flex; -} - -.flex.xx, -.xx { - flex-direction: column; -} - -.flex1, -.flex-1 { - flex: 1 1 auto; - min-width: 0; -} - -.jsb, -.jb { - justify-content: space-between; -} - -.ac { - align-items: center; -} - -/* ================================================================ - 5. PAGINATION - ================================================================ */ - -.aksrt-homepage .navigation.pagination .nav-links, -.aksrt-homepage .pagination { - gap: 0; - margin: 20px 0 10px; -} - -.aksrt-homepage .navigation.pagination .page-numbers, -.aksrt-homepage .pagination .page-numbers { - min-width: 34px; - height: 34px; - padding: 0 10px; - margin: 3px; - border: 1px solid transparent; - border-radius: var(--radius-xs, 3px); - background: var(--surface-4, #eee); - color: var(--color-ink-3, #777); - font-size: 13px; - line-height: 1.4; -} - -.aksrt-homepage .navigation.pagination .page-numbers:hover, -.aksrt-homepage .pagination .page-numbers:hover { - opacity: 1; - background: var(--color-primary-soft); - color: var(--color-primary); -} - -.aksrt-homepage .navigation.pagination .current, -.aksrt-homepage .pagination .current { - background: var(--color-primary, var(--color-primary)) !important; - color: #fff !important; -} - -/* ================================================================ - 6. SIDEBAR - ================================================================ */ - -.aksrt-homepage__aside > .aksrt-panel, -.aksrt-homepage__aside > .widget { - margin-bottom: 15px; - padding: 15px; - background: var(--surface-1, #fff); - border: 0; - border-radius: var(--main-radius, var(--radius, 8px)); - box-shadow: var(--shadow-sm); -} - -.aksrt-homepage__aside > .aksrt-panel:last-child, -.aksrt-homepage__aside > .widget:last-child { - margin-bottom: 0; -} - -.aksrt-homepage__aside .widget-list li, -.aksrt-homepage__aside .widget_recent_entries li, -.aksrt-homepage__aside .recent-posts-row { - padding-top: 8px; - padding-bottom: 8px; -} - -.aksrt-homepage__aside .widget-title, -.aksrt-homepage__content-zone .widget-title { - margin-bottom: 12px; -} - -.aksrt-homepage__aside .widget-title { - position: relative; - margin: 0 0 10px; - padding-left: 1.2em; - padding-bottom: 8px; - font-size: 15px; - font-weight: 700; - line-height: 1.4; -} - -.aksrt-homepage__aside .widget-title::before { - content: ""; - position: absolute; - top: 10%; - bottom: 10%; - left: 2px; - width: 4px; - height: auto; - background: var(--color-primary, var(--color-primary)); - border-radius: 5px; - box-shadow: 1px 1px 3px -1px var(--color-primary, var(--color-primary)); - transition: transform 0.4s ease; - transform-origin: left; -} - -.aksrt-homepage__aside .widget_recent_entries li a, -.aksrt-homepage__aside .widget-list li a { - font-size: 13px; - font-weight: 500; - line-height: 1.5; -} - -.aksrt-homepage__aside .widget_recent_entries li { - display: block; -} - -.aksrt-homepage__aside .widget_search .search-field { - height: 40px; - border-radius: 30px; - background: var(--surface-2, #eee); -} - -.aksrt-homepage__aside .widget_search .search-submit { - top: 4px; - right: 4px; - height: 32px; - padding: 0 12px; - border-radius: 30px; - font-size: 12px; -} - -.aksrt-homepage__aside .tag-cloud { - gap: 6px; -} - -.aksrt-homepage__aside .tag-cloud a { - padding: 4px 10px; - border-radius: 20px; - font-size: 12px; - border: 0; - background: var(--surface-2, #eee); - transition: background 0.2s, color 0.2s; -} - -.aksrt-homepage__aside .tag-cloud a:hover { - background: var(--color-primary, var(--color-primary)); - color: #fff; -} - -.aksrt-homepage .widget.notop, -.aksrt-homepage .box-body.notop { - padding-top: 0; -} - -.aksrt-homepage .widget.nobottom, -.aksrt-homepage .box-body.nobottom { - padding-bottom: 0; -} - -.aksrt-homepage .widget.widget_custom_html { - padding: 0; - background: transparent; - box-shadow: none; - border-radius: 0; -} diff --git a/assets/css/frontend/layout.css b/assets/css/frontend/layout.css index 57598e11..3d12d8f5 100644 --- a/assets/css/frontend/layout.css +++ b/assets/css/frontend/layout.css @@ -253,104 +253,13 @@ body.site-layout-3 .sidebar, max-width: 720px; } -.term-page-header { - position: relative; - overflow: hidden; - border: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.08)); - border-radius: var(--radius-lg); - background: var(--surface-1); - box-shadow: var(--shadow-sm, 0 1px 6px rgba(15, 23, 42, 0.04)); +/* Reference cover ratio must outrank the shared panel padding. */ +body.category .site-main { + line-height: 1.42857143; } -.term-page-header__body { - position: relative; - z-index: 1; - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 16px; - padding: 24px; -} - -.term-page-header__eyebrow { - margin: 0 0 8px; - font-size: 0.8125rem; - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - color: var(--color-primary); -} - -.term-page-header__desc { - margin-top: 10px; -} - -.term-page-header__cover { - min-height: 140px; - background-position: center; - background-size: cover; - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.08)); -} - -.term-page-header--simple .term-page-header__cover { - display: none; -} - -/* Card style: accent top border, slightly more padding */ -.term-page-header--card { - border-top: 3px solid var(--color-primary, #f04494); -} - -.term-page-header--card .term-page-header__body { - padding: 28px 24px; -} - -/* Cover style: full-width hero with background image */ -.term-page-header--cover { - border: none; - border-radius: var(--radius-lg); - background: transparent; - box-shadow: none; - min-height: 220px; - display: flex; - flex-direction: column; -} - -.term-page-header__cover-bg { - position: absolute; - inset: 0; - background-position: center; - background-size: cover; - border-radius: var(--radius-lg); -} - -.term-page-header__cover-overlay { - position: absolute; - inset: 0; - background: linear-gradient(135deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 100%); - border-radius: var(--radius-lg); -} - -.term-page-header--cover .term-page-header__body { - flex: 1; - align-items: flex-end; - z-index: 2; -} - -.term-page-header__body--overlay .entry-title, -.term-page-header__body--overlay .term-page-header__desc, -.term-page-header__body--overlay .term-page-header__eyebrow { - color: #fff; -} - -.term-page-header__body--overlay .term-page-header__eyebrow { - color: rgba(255, 255, 255, 0.8); -} - -@media (max-width: 767px) { - .term-page-header--cover { - min-height: 160px; - } +.page-cover.aksrt-panel { + padding: 0 0 calc(25% + 80px); } .aksrt-admin-quicklink { @@ -375,103 +284,18 @@ body.site-layout-3 .sidebar, background: var(--color-primary-soft, rgba(59, 130, 246, 0.08)); } -.archive-filter-bar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - flex-wrap: wrap; - margin: -8px 0 24px; - padding: 16px 18px; - border-radius: var(--radius-lg); - background: var(--surface-2); - border: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); -} - -.archive-filter-bar__main { - display: flex; - align-items: center; - gap: 12px; - flex-wrap: wrap; -} - -.archive-filter-bar__label { - color: var(--color-ink-4); - font-size: 0.8125rem; - font-weight: 600; -} - -.archive-filter-bar__chips { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 8px; -} - -.archive-filter-bar__chip { - display: inline-flex; - align-items: center; - min-height: 34px; - padding: 0 12px; - border-radius: var(--radius-pill, 999px); - background: var(--surface-1); - color: var(--color-ink-2); - text-decoration: none; - font-size: 0.875rem; - font-weight: 500; -} - -.archive-filter-bar__chip.is-active, -.archive-filter-bar__chip:hover { - background: var(--color-primary); - color: var(--color-on-primary, #fff); -} - -.archive-filter-bar__meta { - color: var(--color-ink-4); - font-size: 0.8125rem; - font-weight: 600; -} - -.archive-filter-bar__sort { - display: flex; - align-items: center; - gap: 8px; - margin-left: auto; -} - -.archive-filter-bar__main--tags { - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); - padding-top: 10px; - margin-top: 10px; -} - -/* §3.4 custom_filter dimension rows */ -.archive-filter-bar__main--custom { - border-top: 1px solid var(--color-line-soft, rgba(15, 23, 42, 0.06)); - padding-top: 10px; - margin-top: 10px; -} - - .content-stream { - display: grid; - gap: 20px; + display: block; } .content-main--archive, .content-main--tag, -.content-main--category, .content-main--search, .content-main--single { display: grid; gap: 20px; } -.content-stream__list { - width: 100%; -} - .content-stream__empty { padding: 28px 24px; border-radius: var(--radius-lg); @@ -489,12 +313,6 @@ body.site-layout-3 .sidebar, 全站只有一套加载语言。 */ @media (max-width: 767px) { - .term-page-header__body { - flex-direction: column; - align-items: stretch; - padding: 20px; - } - .aksrt-admin-quicklink { width: fit-content; } diff --git a/assets/css/frontend/single-post/hidden-content.css b/assets/css/frontend/single-post/hidden-content.css index f6db2f4d..2784eeb2 100644 --- a/assets/css/frontend/single-post/hidden-content.css +++ b/assets/css/frontend/single-post/hidden-content.css @@ -13,6 +13,33 @@ box-shadow: var(--card-shadow, 0 2px 8px rgba(0, 0, 0, .06)); } +.aksrt-yiyan[data-aksrt-yiyan] { + cursor: pointer; + transition: box-shadow .2s ease, opacity .2s ease; +} + +.aksrt-yiyan[data-aksrt-yiyan]:hover, +.aksrt-yiyan[data-aksrt-yiyan]:focus-visible { + box-shadow: inset 0 0 5px 0 var(--focus-shadow-color, rgba(253, 83, 161, .3)); +} + +.aksrt-yiyan .yiyan { + line-height: 1.8; +} + +.aksrt-yiyan .yiyan .en { + font-size: .9em; + opacity: .8; +} + +.aksrt-yiyan.is-loading { + opacity: .65; +} + +.aksrt-yiyan.is-error .cn { + color: var(--muted-color, #777); +} + /* ---- Front / After content insertion ---- */ .article-front-content, .article-after-content { diff --git a/assets/img/comment-null.svg b/assets/img/comment-null.svg new file mode 100644 index 00000000..ce06e80f --- /dev/null +++ b/assets/img/comment-null.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/js/core/archive.js b/assets/js/core/archive.js deleted file mode 100644 index 4555c6d7..00000000 --- a/assets/js/core/archive.js +++ /dev/null @@ -1,234 +0,0 @@ -/** - * AKSRT Archive AJAX Filter - */ -(function () { - "use strict"; - - function initArchiveFilter(root) { - var scope = root || document; - var bar = scope.querySelector(".archive-filter-bar--ajax[data-ajax-archive]"); - if (!bar || bar.dataset.aksrtArchiveInit === "1") return; - bar.dataset.aksrtArchiveInit = "1"; - - var archiveType = bar.dataset.ajaxArchive || "category"; - var termId = parseInt(bar.dataset.termId, 10) || 0; - var wrap = scope.querySelector("[data-ajax-wrap]"); - if (!wrap) return; - - // 归档面与首页共用同一套骨架契约:.post_ajax_loader + .is-loading, - // 不再使用独立 spinner 遮罩 / opacity 淡出。 - var loading = wrap.querySelector(".post_ajax_loader"); - var REST_BASE = "/wp-json/aksrt/v1/archive/posts"; - var emptyText = archiveType === "tag" ? "该标签下暂无文章" : "该分类下暂无文章"; - - var state = { - filter_cat: "", - filter_tag: "", - custom: {}, - sort: "date", - page: 1 - }; - - var activeCat = bar.querySelector("[data-filter-cat].is-active"); - if (activeCat) state.filter_cat = activeCat.dataset.filterCat || ""; - var activeTag = bar.querySelector("[data-filter-tag].is-active"); - if (activeTag) state.filter_tag = activeTag.dataset.filterTag || ""; - var activeSort = bar.querySelector("[data-filter-sort].is-active"); - if (activeSort) state.sort = activeSort.dataset.filterSort || "date"; - // 自定义高级筛选维度:以当前 URL 参数为准(SSR active 状态与 URL 一致)。 - if (bar.querySelector("[data-filter-dim]")) { - new URLSearchParams(window.location.search).forEach(function (value, key) { - if (bar.querySelector('[data-filter-dim="' + key + '"]')) { - state.custom[key] = value; - } - }); - } - - function buildUrl() { - var params = new URLSearchParams(); - params.set("archive_type", archiveType); - params.set("term_id", String(termId)); - if (state.filter_cat) params.set("filter_cat", state.filter_cat); - if (state.filter_tag) params.set("filter_tag", state.filter_tag); - if (Object.keys(state.custom).length) params.set("custom_filter", JSON.stringify(state.custom)); - - params.set("sort", state.sort || "date"); - params.set("page", String(state.page)); - return REST_BASE + "?" + params.toString(); - } - - function updateActiveChips() { - bar.querySelectorAll("[data-filter-cat]").forEach(function (el) { - el.classList.toggle("is-active", (el.dataset.filterCat || "") === state.filter_cat); - }); - bar.querySelectorAll("[data-filter-tag]").forEach(function (el) { - el.classList.toggle("is-active", (el.dataset.filterTag || "") === state.filter_tag); - }); - bar.querySelectorAll("[data-filter-sort]").forEach(function (el) { - el.classList.toggle("is-active", (el.dataset.filterSort || "date") === state.sort); - }); - bar.querySelectorAll("[data-filter-dim]").forEach(function (el) { - var current = state.custom[el.dataset.filterDim] || ""; - el.classList.toggle("is-active", (el.dataset.filterDimValue || "") !== "" && (el.dataset.filterDimValue || "") === current); - }); - } - - function showLoading() { - if (loading) loading.classList.add("is-loading"); - } - - function hideLoading() { - if (loading) loading.classList.remove("is-loading"); - } - - function rebuildEmptyState() { - var noResults = document.createElement("div"); - noResults.className = "no-results content-stream__empty"; - noResults.innerHTML = "

" + emptyText + "

"; - wrap.appendChild(noResults); - } - - function fetchPosts(pushState) { - showLoading(); - fetch(buildUrl(), { - method: "GET", - headers: { Accept: "application/json" }, - credentials: "same-origin" - }) - .then(function (r) { - if (!r.ok) throw new Error("HTTP " + r.status); - return r.json(); - }) - .then(function (data) { - hideLoading(); - if (data.html !== undefined) { - // 只清真实内容;骨架(.post_ajax_loader)与分页控件保留复用 —— - // 与参考主题 post_ajax success 只 hide 不删的生命周期一致。 - var keep = function (node) { - return node === loading || - node.classList.contains("post_ajax_loader") || - node.classList.contains("ajax-pag"); - }; - Array.from(wrap.children).forEach(function (child) { - if (!keep(child)) wrap.removeChild(child); - }); - if (data.html) { - var temp = document.createElement("div"); - temp.innerHTML = data.html; - while (temp.firstChild) wrap.appendChild(temp.firstChild); - } else { - rebuildEmptyState(); - } - // legacy 事件顺序:先 post_ajax.ed,再全局 auto_fun 重扫 - wrap.dispatchEvent(new CustomEvent("post_ajax.ed", { bubbles: true })); - if (typeof window.auto_fun === "function") window.auto_fun(); - } - if (pushState !== false) { - var url = new URL(window.location.href); - url.searchParams.delete("orderby"); - url.searchParams.delete("order"); - url.searchParams.delete("paged"); - url.searchParams.delete("aksrt_filter_cat"); - url.searchParams.delete("aksrt_filter_tag"); - bar.querySelectorAll("[data-filter-dim]").forEach(function (el) { - url.searchParams.delete(el.dataset.filterDim); - }); - if (state.filter_cat) url.searchParams.set("aksrt_filter_cat", state.filter_cat); - if (state.filter_tag) url.searchParams.set("aksrt_filter_tag", state.filter_tag); - Object.keys(state.custom).forEach(function (key) { - url.searchParams.set(key, state.custom[key]); - }); - if (state.sort) url.searchParams.set("orderby", state.sort); - if (state.page > 1) url.searchParams.set("paged", String(state.page)); - history.pushState({ aksrtArchive: true, state: Object.assign({}, state) }, "", url.toString()); - } - }) - .catch(function () { - hideLoading(); - }); - } - - bar.addEventListener("click", function (e) { - var chip = e.target.closest("[data-filter-cat], [data-filter-tag], [data-filter-sort], [data-filter-dim]"); - if (!chip) return; - e.preventDefault(); - - var changed = false; - if (chip.dataset.filterCat !== undefined) { - var newCat = chip.dataset.filterCat; - if (newCat !== state.filter_cat) { - state.filter_cat = newCat; - changed = true; - } - } - if (chip.dataset.filterTag !== undefined) { - var newTag = chip.dataset.filterTag; - if (newTag !== state.filter_tag) { - state.filter_tag = newTag; - changed = true; - } - } - if (chip.dataset.filterSort !== undefined) { - var newSort = chip.dataset.filterSort || "date"; - if (newSort !== state.sort) { - state.sort = newSort; - changed = true; - } - } - if (chip.dataset.filterDim !== undefined) { - var dimKey = chip.dataset.filterDim; - var dimValue = chip.dataset.filterDimValue || ""; - if (dimValue !== (state.custom[dimKey] || "")) { - if (dimValue === "") { - delete state.custom[dimKey]; - } else { - state.custom[dimKey] = dimValue; - } - changed = true; - } - } - - if (changed) { - state.page = 1; - updateActiveChips(); - fetchPosts(true); - } - }); - - wrap.addEventListener("click", function (e) { - var pageLink = e.target.closest(".pagination a, .nav-links a, a.page-numbers"); - if (!pageLink || !wrap.contains(pageLink)) return; - var href = pageLink.getAttribute("href"); - if (!href) return; - - var match = href.match(/[?&]paged=(\d+)/); - if (match) { - e.preventDefault(); - state.page = parseInt(match[1], 10) || 1; - fetchPosts(true); - } - }); - - window.addEventListener("popstate", function (e) { - if (e.state && e.state.aksrtArchive) { - state = Object.assign(state, e.state.state); - updateActiveChips(); - fetchPosts(false); - } - }); - } - - function init(root) { - initArchiveFilter(root); - } - - if (document.readyState === "loading") { - document.addEventListener("DOMContentLoaded", function () { init(); }); - } else { - init(); - } - // AJAX 注入新内容后由 auto_fun 重扫(bar 级 data 标记保证幂等)。 - if (window.jQuery) { - window.jQuery(document).on("auto_fun", function () { init(); }); - } -})(); diff --git a/assets/js/core/comments.js b/assets/js/core/comments.js index d6e56610..f60bc12f 100644 --- a/assets/js/core/comments.js +++ b/assets/js/core/comments.js @@ -510,7 +510,7 @@ showListLoading(commentsArea); } function applyCommentOrder(order) { - if (order !== "newest" && order !== "oldest" && order !== "hottest") { + if (order !== "newest" && order !== "hottest") { order = "newest"; } renderLoadingState(); diff --git a/assets/js/runtime/main.min.js b/assets/js/runtime/main.min.js index 371f8991..1b2cee0e 100644 --- a/assets/js/runtime/main.min.js +++ b/assets/js/runtime/main.min.js @@ -1 +1 @@ -(function($,window2,document2){"use strict";function closeNotyf($element){$element.addClass("notyn-out"),window2.setTimeout(function(){$element.remove()},1e3)}function notyf2(message,type,time,id){var $body=jQuery(document2.body);jQuery(".notyn").length||$body.append('
'),type=type||"success",type==="error"&&(type="danger"),time=time||5e3,time=time<100?time*1e3:time;var idAttribute=id?' id="'+id+'"':"",$notification=jQuery('
'+message+"
"),shouldClose=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+type).html(message),$notification=jQuery("#"+id),shouldClose=!0):jQuery(".notyn").append($notification),shouldClose&&window2.setTimeout(function(){closeNotyf($notification)},time)}jQuery(document2.body).on("click",".noty1",function(){closeNotyf(jQuery(this))}),window2.notyf=notyf2})(jQuery,window,document),(function(window2){"use strict";var allowedKinds={identity:!0,badges:!0,orders:!0,vip:!0},allowedEvents={click:!0,shell:!0,"first-content":!0,ready:!0,"action-start":!0,"action-end":!0,unauthorized:!0,error:!0},sessions=Object.create(null),sequence=0,maxSessions=100;function normalize(value,fallback){var normalized=String(value||fallback||"").toLowerCase().replace(/[^a-z0-9-]/g,"");return normalized||fallback}function now(){return window2.performance&&typeof window2.performance.now=="function"?window2.performance.now():0}function markName(session,event){return"aksrt-modal-"+session.kind+"-"+session.id+"-"+event}function emit(session,event){if(!(!window2.performance||typeof window2.performance.mark!="function")){var name=markName(session,event);if(window2.performance.mark(name),session.marks[event]=name,typeof window2.performance.measure=="function"&&session.marks.click&&event!=="click")try{window2.performance.measure("aksrt-modal-"+session.kind+"-"+session.id+"-click-to-"+event,session.marks.click,name)}catch{}}}function start(kind){var safeKind=normalize(kind,"unknown");allowedKinds[safeKind]||(safeKind="unknown"),sequence+=1;var id=String(sequence),session={id,kind:safeKind,startedAt:now(),marks:Object.create(null)};sessions[id]=session,emit(session,"click");for(var ids=Object.keys(sessions);ids.length>maxSessions;)delete sessions[ids.shift()];return id}function mark(id,event){var session=sessions[String(id||"")],safeEvent=normalize(event,"error");!session||!allowedEvents[safeEvent]||emit(session,safeEvent)}function finish(id){mark(id,"ready")}function fail(id){mark(id,"error")}window2.AksrtModalTelemetry={start,mark,finish,error:fail}})(window),(function(window2){"use strict";function data(){return window2.aksrtData||window2.aksrt||{}}function createIdempotencyKey(){if(window2.crypto&&typeof window2.crypto.randomUUID=="function")return window2.crypto.randomUUID();if(!window2.crypto||typeof window2.crypto.getRandomValues!="function")throw new Error("当前浏览器无法生成安全的操作标识");var bytes=new Uint8Array(16);window2.crypto.getRandomValues(bytes),bytes[6]=bytes[6]&15|64,bytes[8]=bytes[8]&63|128;var hex=Array.prototype.map.call(bytes,function(value){return value.toString(16).padStart(2,"0")}).join("");return hex.slice(0,8)+"-"+hex.slice(8,12)+"-"+hex.slice(12,16)+"-"+hex.slice(16,20)+"-"+hex.slice(20)}function restBase(){var config=data(),raw=config.restUrl||config.apiUrl||config.rest_url||"",siteUrl=config.siteUrl||config.homeUrl||window2.location.origin+"/";return window2.location.protocol==="https:"&&siteUrl.substring(0,5)==="http:"&&(siteUrl="https:"+siteUrl.substring(5)),raw?String(raw).replace(/\/$/,""):String(siteUrl).replace(/\/$/,"")+"/index.php?rest_route=/aksrt/v1"}function appendQuery(url2,query){if(!query)return url2;var parts=[];return typeof query=="string"?parts=query.replace(/^\?/,"").split("&").filter(Boolean):typeof query=="object"&&Object.keys(query).forEach(function(key){query[key]===void 0||query[key]===null||parts.push(encodeURIComponent(key)+"="+encodeURIComponent(String(query[key])))}),parts.length?url2+(url2.indexOf("?")>=0?"&":"?")+parts.join("&"):url2}function url(path,query){path=String(path||"");var inlineQuery="",queryIndex=path.indexOf("?");if(queryIndex>=0&&(inlineQuery=path.slice(queryIndex+1),path=path.slice(0,queryIndex)),/^https?:\/\//i.test(path))return appendQuery(path,query||inlineQuery);path.charAt(0)!=="/"&&(path="/"+path);var base=restBase(),result=(base.indexOf("rest_route=")>=0,base+path);return appendQuery(result,query||inlineQuery)}function headers(options){var config=data(),source=options&&options.headers||{},result={},nonce=config.restNonce||config.nonce||"";return Object.keys(source).forEach(function(key){result[key]=source[key]}),result.Accept||(result.Accept="application/json, text/html;q=0.9, */*;q=0.8"),nonce&&!result["X-WP-Nonce"]&&(result["X-WP-Nonce"]=nonce),options&&options.body!==void 0&&options.body!==null&&!(window2.FormData&&options.body instanceof window2.FormData)&&!result["Content-Type"]&&(result["Content-Type"]="application/json"),result}function responseError(result){var json=result.json,message=json&&(json.message||json.data&&json.data.message),error=new Error(message||(result.status?"请求失败(HTTP "+result.status+")":"请求失败"));return error.status=result.status,error.code=result.status===401?"unauthorized":"http_error",error.response=result,error.json=json,error}function parseResponse(response){return response.text().then(function(text){var type=(response.headers.get("content-type")||"").toLowerCase(),json=null,trimmed=String(text||"").trim();if(type.indexOf("application/json")>=0||trimmed.charAt(0)==="{"||trimmed.charAt(0)==="[")try{json=trimmed?JSON.parse(trimmed):{}}catch{json=null}return{ok:response.ok,status:response.status,headers:response.headers,text,json,data:json&&json.data!==void 0?json.data:json}})}function request(path,options){options=Object.assign({},options||{});var requestUrl=url(path,options.query);delete options.query;var fetchOptions=Object.assign({},options,{credentials:options.credentials||"same-origin",headers:headers(options)});return window2.fetch(requestUrl,fetchOptions).then(function(response){return parseResponse(response)}).then(function(result){if(!result.ok||result.json&&result.json.success===!1)throw responseError(result);return result})}window2.AksrtRequest={url,request,createIdempotencyKey,get:function(path,options){return request(path,Object.assign({},options||{},{method:"GET"}))},post:function(path,body,options){return request(path,Object.assign({},options||{},{method:"POST",body}))}}})(window),(function(window2,document2){"use strict";var DEFAULT_TTL=15e3,entries=Object.create(null),flights=Object.create(null),lastScope="";function scope(){var config=window2.aksrtData||window2.aksrt||{},userId=parseInt(config.userId||0,10)||0,current=(config.isLoggedIn&&userId>0?"user:"+userId:"guest")+":v1";return lastScope&&lastScope!==current&&clear(),lastScope=current,current}function token(key){return scope()+"::"+String(key||"")}function read(key){var id=token(key),entry=entries[id];return entry?entry.expiresAt<=Date.now()?(delete entries[id],{hit:!1,value:void 0}):{hit:!0,value:entry.value}:{hit:!1,value:void 0}}function tagsOf(value){return Array.isArray(value)?value.slice():value?[value]:[]}function set(key,value,options){options=options||{};var ttl=Number(options.ttl||DEFAULT_TTL);return entries[token(key)]={value,expiresAt:Date.now()+Math.max(0,ttl),tags:tagsOf(options.tags)},value}function matchesTags(entry,wanted){return wanted.length?wanted.some(function(tag){return entry.tags.indexOf(tag)>=0}):!0}function invalidate(tags){var wanted=Array.isArray(tags)?tags:tags?[tags]:[],removed=0;return Object.keys(entries).forEach(function(id){(!wanted.length||matchesTags(entries[id],wanted))&&(delete entries[id],removed+=1)}),Object.keys(flights).forEach(function(id){var flight=flights[id];(!wanted.length||matchesTags(flight,wanted))&&(flight.cancelled=!0,delete flights[id],typeof flight.cancel=="function"&&flight.cancel())}),document2.dispatchEvent(new CustomEvent("aksrt:cache:invalidated",{detail:{tags:wanted.slice()}})),removed}function clear(){entries=Object.create(null),Object.keys(flights).forEach(function(id){var flight=flights[id];flight.cancelled=!0,typeof flight.cancel=="function"&&flight.cancel()}),flights=Object.create(null)}function acquire(key,loader,options){options=options||{};var id=token(key),cached=options.skipCache?{hit:!1}:read(key);if(cached.hit)return{cached:!0,promise:Promise.resolve(cached.value),release:function(){}};var flight=flights[id];flight||(flight={refs:0,settled:!1,cancelled:!1,tags:tagsOf(options.tags),cancel:options.cancel},flight.promise=Promise.resolve().then(loader).then(function(value){return flight.settled=!0,!flight.cancelled&&options.store!==!1&&set(key,value,options),flights[id]===flight&&delete flights[id],value},function(error){throw flight.settled=!0,flights[id]===flight&&delete flights[id],error}),flights[id]=flight),flight.refs+=1;var released=!1;return{cached:!1,promise:flight.promise,release:function(){released||(released=!0,flight.refs=Math.max(0,flight.refs-1),flight.refs===0&&!flight.settled&&(flight.cancelled=!0,flights[id]===flight&&delete flights[id],typeof flight.cancel=="function"&&flight.cancel()))}}}["aksrt:auth:logout","aksrt:account-switch","aksrt:logout","aksrt:user:logout","aksrt:auth:changed","wp_logout"].forEach(function(eventName){document2.addEventListener(eventName,clear)}),window2.AksrtModalCache={get:function(key){return read(key)},set,acquire,invalidate,clear,scope}})(window,document),(function(window2,document2){"use strict";var SELECTOR=".float-right-wait-pay",timer=null,seq=0;function loggedIn(){var config=window2.aksrtData||window2.aksrt||{};return!!config.isLoggedIn}function touchesOrders(tags){return!Array.isArray(tags)||!tags.length?!0:tags.some(function(tag){return tag=String(tag||""),tag==="orders"||tag.indexOf("order:")===0})}function render(html){var current=document2.querySelector(SELECTOR);if(!html){current&¤t.remove();return}var holder=document2.createElement("div");holder.innerHTML=html;var next=holder.firstElementChild;next&&(current?current.replaceWith(next):document2.body.appendChild(next),window2.jQuery&&window2.jQuery.fn.countdown&&window2.jQuery(next).find("[data-countdown]").countdown())}function refresh(){if(!(!loggedIn()||!window2.AksrtRequest)){var id=++seq;window2.AksrtRequest.get("/orders/wait-pay-float").then(function(result){if(id===seq){var data=result.data||{};render(String(data.html||""))}}).catch(function(){})}}document2.addEventListener("aksrt:cache:invalidated",function(event){touchesOrders(event.detail&&event.detail.tags)&&(window2.clearTimeout(timer),timer=window2.setTimeout(refresh,300))})})(window,document),(function(window2){"use strict";var statuses={idle:"idle",loading:"loading",ready:"ready",empty:"empty",submitting:"submitting",success:"success",error:"error",unauthorized:"unauthorized",stale:"stale"};function create(kind){return{kind:String(kind||"generic"),status:statuses.idle,updatedAt:0,error:null}}window2.AksrtModalState={statuses,create}})(window),(function(window2,document2){"use strict";var ROOT_ID="aksrt-modal-runtime-root",active=null,sessions=[],sequence=0,loaders=Object.create(null);function isMobile(){return window2.matchMedia&&window2.matchMedia("(max-width: 768px)").matches}function ensureRoot(){var root=document2.getElementById(ROOT_ID);return root||(root=document2.createElement("div"),root.id=ROOT_ID,root.className="aksrt-modal-runtime-host",document2.body.appendChild(root),root)}function escapeHtml(value){return String(value??"").replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/'/g,"'")}var SCROLLBAR_FIXED=".nav-fixed .header, .float-right",scrollLock=null;function padRight(element,gap){var inline=element.style.paddingRight,computed=parseFloat(window2.getComputedStyle(element).paddingRight)||0;return element.style.paddingRight=computed+gap+"px",{element,inline}}function lockScroll(lock){var html=document2.documentElement,body=document2.body;if(lock){if(scrollLock)return;var gap=window2.innerWidth-html.clientWidth;scrollLock=[],gap>0&&(scrollLock.push(padRight(body,gap)),document2.querySelectorAll(SCROLLBAR_FIXED).forEach(function(element){scrollLock.push(padRight(element,gap))})),html.classList.add("aksrt-modal-runtime-open"),body.classList.add("aksrt-modal-runtime-open");return}scrollLock&&(html.classList.remove("aksrt-modal-runtime-open"),body.classList.remove("aksrt-modal-runtime-open"),scrollLock.forEach(function(entry){entry.element.style.paddingRight=entry.inline}),scrollLock=null)}function skeleton(options){return options&&options.loading==="spinner"?'
':options&&options.skeleton||'
'}function telemetryStart(kind){return kind===!1?"":window2.AksrtModalTelemetry.start(kind||"generic")}function telemetryMark(session,event){!session||!session.telemetryId||window2.AksrtModalTelemetry.mark(session.telemetryId,event)}function isLive(session){return!!session&&!session.closed&&sessions.indexOf(session)!==-1}function setState(session,status,error){session.state.status=status,session.state.error=error||null,session.state.updatedAt=Date.now(),session.shell&&session.shell.setAttribute("data-aksrt-modal-state",status),typeof session.options.onState=="function"&&session.options.onState(status,session)}function focusable(shell){return shell.querySelectorAll("button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])")}function closeSelector(){return"[data-aksrt-modal-close], .aksrt-modal-runtime__close"}function bindChrome(session){var shell=session.shell;shell.addEventListener("click",function(event){if(active===session){var closeButton=event.target.closest(closeSelector());if(closeButton){event.preventDefault(),close("control");return}if(event.target===shell||event.target.classList.contains("aksrt-modal-runtime__overlay")){close("overlay");return}var retry=event.target.closest("[data-aksrt-modal-retry]");retry&&(event.preventDefault(),refresh())}}),shell.addEventListener("keydown",function(event){if(active===session){if(event.key==="Escape"){event.preventDefault(),close("escape");return}if(event.key==="Tab"){var nodes=focusable(shell);if(!nodes.length){event.preventDefault(),shell.focus();return}var first=nodes[0],last=nodes[nodes.length-1];event.shiftKey&&document2.activeElement===first?(event.preventDefault(),last.focus()):!event.shiftKey&&document2.activeElement===last&&(event.preventDefault(),first.focus())}}})}function createSession(options){options=options||{};var root=ensureRoot(),shell=document2.createElement("div"),bottom=options.bottom===!0||options.mobileBottom!==!1&&isMobile(),heightStyle=options.height?"min-height:"+parseInt(options.height,10)+"px;":"",initialHtml=options.html!==void 0?options.html:skeleton(options),swipeHandle=bottom&&options.swipeClose?'':"",titleId="aksrt-modal-title-"+String(sequence+1),titleHtml=options.title?'

'+escapeHtml(options.title)+'

':"";shell.className="aksrt-modal-runtime"+(active?" aksrt-modal-runtime--child":"")+(bottom?" aksrt-modal-runtime--bottom":"")+(options.className?" "+options.className:""),shell.setAttribute("role","dialog"),shell.setAttribute("aria-modal","true"),options.title&&shell.setAttribute("aria-labelledby",titleId),shell.setAttribute("tabindex","-1"),shell.innerHTML='
'+titleHtml+'
'+initialHtml+"
"+swipeHandle+"
";var session={id:String(++sequence),shell,content:shell.querySelector(".aksrt-modal-runtime__content"),options,state:window2.AksrtModalState.create(options.kind||"generic"),focusReturn:options.focusReturn!==void 0?options.focusReturn:document2.activeElement,controller:null,flight:null,closed:!1,telemetryId:telemetryStart(options.telemetry===!1?!1:options.kind)};active&&(active.shell.classList.add("aksrt-modal-runtime--parent"),active.shell.setAttribute("aria-modal","false"),active.shell.setAttribute("aria-hidden","true"),active.shell.setAttribute("inert","")),root.appendChild(shell),bindChrome(session),bottom&&options.swipeClose&&window2.jQuery&&window2.jQuery.fn&&typeof window2.jQuery.fn.minitouch=="function"&&window2.jQuery(shell).minitouch({direction:"bottom",selector:".aksrt-modal-runtime__dialog",start_selector:".modal-colorful-header,.touch-close,.touch",depreciation:50,stop:function(){return active!==session},onEnd:function(){active===session&&close("swipe")}}),sessions.push(session),active=session,lockScroll(!0),shell.offsetWidth,shell.classList.add("is-open"),setState(session,options.html!==void 0?"ready":"loading"),telemetryMark(session,"shell");var nodes=focusable(shell);try{(nodes.length?nodes[0]:shell).focus()}catch{}return document2.dispatchEvent(new CustomEvent("aksrt:modal:open",{detail:{shell,options,session}})),options.html!==void 0&&(notifyContentLoaded(session),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),typeof options.onContent=="function"&&options.onContent(options.html,session)),session}function notifyContentLoaded(session){!session||!session.shell||!window2.jQuery||window2.jQuery(session.shell).trigger("loaded.bs.modal")}function abortSessionRequest(session){if(session){if(session.flight&&typeof session.flight.release=="function"&&session.flight.release(),session.flight=null,session.controller)try{session.controller.abort()}catch{}session.controller=null}}function removeActive(reason,preserveRequest,resumeParent){if(active){var session=active;if(sessions[sessions.length-1]===session){sessions.pop(),active=sessions[sessions.length-1]||null,session.closed=!0,preserveRequest||abortSessionRequest(session),session.shell.classList.remove("is-open"),active&&resumeParent&&(active.shell.classList.remove("aksrt-modal-runtime--parent"),active.shell.setAttribute("aria-modal","true"),active.shell.removeAttribute("aria-hidden"),active.shell.removeAttribute("inert")),!active&&!preserveRequest&&lockScroll(!1),document2.dispatchEvent(new CustomEvent("aksrt:modal:close",{detail:{shell:session.shell,reason:reason||"close",session}}));var node=session.shell,exitDelay=220,dialog=node.querySelector(".aksrt-modal-runtime__dialog");if(dialog){var durations=window2.getComputedStyle(dialog).transitionDuration||"";durations.split(",").forEach(function(duration){var milliseconds=parseFloat(duration)*(duration.trim().slice(-2)==="ms"?1:1e3);milliseconds>exitDelay&&(exitDelay=milliseconds)})}window2.setTimeout(function(){node&&node.parentNode&&node.parentNode.removeChild(node);var target=session.focusReturn;if(!preserveRequest&&resumeParent&&active){var canRestoreTarget=target&&target!==node&&active.shell.contains(target)&&typeof target.focus=="function",fallbackNodes=canRestoreTarget?[]:focusable(active.shell),fallback=fallbackNodes.length?fallbackNodes[0]:active.shell;try{(canRestoreTarget?target:fallback).focus()}catch{}}else if(!preserveRequest&&resumeParent&&!active&&target&&target!==node&&document2.contains(target)&&typeof target.focus=="function")try{target.focus()}catch{}},exitDelay)}}}function close(reason,preserveRequest){removeActive(reason,preserveRequest,!0)}function responseData(result){return result?result.data!==void 0&&result.data!==null?result.data:result.json&&result.json.data!==void 0?result.json.data:result.json:null}function responseHtml(result){var data=responseData(result);return data&&typeof data.html=="string"?data.html:result&&result.json&&typeof result.json.html=="string"?result.json.html:result&&typeof result.text=="string"?result.text:""}function errorMessage(error){return error&&error.code==="unauthorized"?"请先登录":error&&error.message?String(error.message):"加载失败,请重试"}function renderError(session,error){if(isLive(session)){var unauthorized=error&&error.code==="unauthorized";setState(session,unauthorized?"unauthorized":"error",error),telemetryMark(session,unauthorized?"unauthorized":"error"),session.content.innerHTML='
提示
'+escapeHtml(errorMessage(error))+'
',notifyContentLoaded(session),typeof session.options.onError=="function"&&session.options.onError(error,session)}}function renderResult(session,result){if(isLive(session)){if(session.options.responseType==="json"||typeof session.options.renderData=="function"){var data=responseData(result);if(data==null){setState(session,"empty"),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),session.content.innerHTML='
暂无内容
';return}typeof session.options.renderData=="function"&&session.options.renderData(data,session,result),setState(session,"ready"),telemetryMark(session,"first-content"),notifyContentLoaded(session),telemetryMark(session,"ready"),typeof session.options.onData=="function"&&session.options.onData(data,session,result);return}var html=responseHtml(result);if(!html){setState(session,"empty"),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),session.content.innerHTML='
暂无内容
';return}session.content.innerHTML=html,setState(session,"ready"),telemetryMark(session,"first-content"),notifyContentLoaded(session),telemetryMark(session,"ready"),typeof session.options.onContent=="function"&&session.options.onContent(html,session)}}function load(session,loadOptions){if(loadOptions=loadOptions||{},!session||session.closed||!session.options.url)return Promise.resolve(session&&session.shell);abortSessionRequest(session),setState(session,"loading"),session.content.innerHTML=skeleton(session.options),session.controller=window2.AbortController?new window2.AbortController:null;var requestOptions={method:session.options.method||"GET",headers:session.options.headers||{},body:session.options.body,query:session.options.query,signal:session.controller?session.controller.signal:void 0};requestOptions.body===void 0&&delete requestOptions.body,requestOptions.signal||delete requestOptions.signal;var request=function(){return window2.AksrtRequest.request(session.options.url,requestOptions)},method=String(session.options.method||"GET").toUpperCase(),cacheable=method==="GET"&&session.options.cache!==!1,cacheKey=session.options.cacheKey||method+":"+window2.AksrtRequest.url(session.options.url,session.options.query),cache=window2.AksrtModalCache,acquireOptions={ttl:Number(session.options.cacheTtl||15e3),tags:session.options.cacheTags||session.options.tags||[],skipCache:!!loadOptions.force||!cacheable,store:cacheable,cancel:function(){if(session.controller)try{session.controller.abort()}catch{}}},flight=cacheable?cache.acquire(cacheKey,request,acquireOptions):{promise:request(),release:function(){}};return session.flight=flight,flight.promise.then(function(result){return isLive(session)&&renderResult(session,result),session.shell}).catch(function(error){var aborted=error&&(error.name==="AbortError"||error.code==="ABORT_ERR");return!aborted&&isLive(session)&&renderError(session,error),session.shell}).then(function(shell){return session.flight===flight&&(flight&&typeof flight.release=="function"&&flight.release(),session.flight=null),shell})}function open(options){options=options||{},(!options.newModal||!active)&&(active&&!options.newModal&&(options.focusReturn=active.focusReturn),removeActive("replace",!1,!1));var session=createSession(options);return session.shell}function sessionKey(options){if(!options||!options.url)return"";var method=String(options.method||"GET").toUpperCase(),requestUrl=window2.AksrtRequest.url(options.url,options.query);return method+":"+requestUrl}function openRemote(options){if(options=Object.assign({},options||{}),!options.url)return Promise.reject(new Error("missing url"));var sameRequest=active&&active.flight&&sessionKey(active.options)===sessionKey(options);(!options.newModal||!active)&&(active&&!options.newModal&&(options.focusReturn=active.focusReturn),removeActive("replace",!!sameRequest,!1));var session=createSession(options);return load(session).then(function(){return session.shell})}function refresh(options){return!active||!active.options.url?Promise.resolve(null):(options&&typeof options=="object"&&(active.options=Object.assign({},active.options,options)),load(active,{force:!0}))}function registerLoader(kind,loader){!kind||typeof loader!="function"||(loaders[String(kind)]=loader)}function openLoader(kind,context){var loader=loaders[String(kind)];return loader?openRemote(loader(context||{})):Promise.reject(new Error("missing modal loader: "+kind))}function invalidate(tags){return window2.AksrtModalCache.invalidate(tags)}window2.AksrtModalRuntime={open,openRemote,close,refresh,registerLoader,openLoader,invalidate,getActive:function(){return active?active.shell:null},getState:function(){return active?active.state:null}},document2.dispatchEvent(new CustomEvent("aksrt:modal-runtime:ready")),window2.jQuery&&window2.jQuery(document2).on("loaded.bs.modal show.bs.modal",".modal, .aksrt-modal-runtime",function(){typeof window2.auto_fun=="function"&&window2.auto_fun()})})(window,document),(function(window2,document2){"use strict";function openFromTrigger(element){var runtime=window2.AksrtModalRuntime,url=element.getAttribute("data-aksrt-modal-url")||"";if(!(!url||url==="#")){var ttl=parseInt(element.getAttribute("data-aksrt-modal-cache-ttl")||"15000",10),cache=element.getAttribute("data-aksrt-modal-cache")!=="false",tags=(element.getAttribute("data-aksrt-modal-cache-tags")||"").split(",").map(function(tag){return tag.trim()}).filter(Boolean);runtime.openRemote({url,method:element.getAttribute("data-aksrt-modal-method")||"GET",className:element.getAttribute("data-aksrt-modal-class")||"modal-mini full-sm",height:parseInt(element.getAttribute("data-aksrt-modal-height")||"0",10)||0,mobileBottom:element.getAttribute("data-aksrt-modal-mobile-bottom")==="true",newModal:element.getAttribute("data-aksrt-modal-new")==="true",loading:element.getAttribute("data-aksrt-modal-loading")||"",swipeClose:element.getAttribute("data-aksrt-modal-swipe-close")==="true",bottom:element.getAttribute("data-aksrt-modal-bottom")==="true",kind:element.getAttribute("data-aksrt-modal-kind")||"generic",cacheKey:element.getAttribute("data-aksrt-modal-cache-key")||"",cache,cacheTtl:ttl>0?ttl:15e3,cacheTags:tags})}}document2.addEventListener("click",function(event){var trigger=event.target.closest('[data-aksrt-modal="remote"]');trigger&&(event.preventDefault(),openFromTrigger(trigger))})})(window,document),(function(){"use strict";function initPasswordToggles(root){(root||document).querySelectorAll(".toggle-pwd").forEach(function(btn){btn.dataset.pwdToggleBound||(btn.dataset.pwdToggleBound="1",btn.addEventListener("click",function(){var id=btn.getAttribute("data-target"),input=id?document.getElementById(id):null;if(input){var show=input.getAttribute("type")==="password";input.setAttribute("type",show?"text":"password"),btn.setAttribute("aria-label",show?"隐藏密码":"显示密码")}}))})}function initSearchClear(){var btn=document.getElementById("search-clear-btn"),input=document.getElementById("search-page-input");if(btn&&input&&!btn.dataset.aksrtSearchClearBound){btn.dataset.aksrtSearchClearBound="1";var syncClearButton=function(){var hasValue=input.value.trim().length>0;btn.classList.toggle("is-visible",hasValue),btn.hidden=!hasValue};btn.addEventListener("click",function(){input.value="",input.focus(),syncClearButton()}),input.addEventListener("input",syncClearButton),syncClearButton()}var categorySelect=document.getElementById("search-category-filter");categorySelect&&categorySelect.addEventListener("change",function(){var url=new URL(window.location.href);this.value?url.searchParams.set("aksrt_category",this.value):url.searchParams.delete("aksrt_category"),url.searchParams.get("aksrt_search_type")&&url.searchParams.get("aksrt_search_type")!=="post"&&url.searchParams.delete("aksrt_category"),url.searchParams.delete("paged"),window.location.href=url.toString()})}function initArticleTools(){var buttons=document.querySelectorAll("[data-article-tool]");buttons.length&&buttons.forEach(function(button){button.dataset.aksrtArticleToolBound||(button.dataset.aksrtArticleToolBound="1",button.addEventListener("click",function(){var tool=button.getAttribute("data-article-tool");if(tool==="print"){window.print();return}tool==="pdf"&&(window.print(),notyf("请在打印对话框中选择“另存为 PDF”","info"))}))})}var postMetaDocumentEventsBound=!1;function setPostMetaMenuState(menuRoot,open){var toggle=menuRoot.querySelector(".post-drop-meta__toggle"),menu=menuRoot.querySelector(".post-drop-meta__menu");!toggle||!menu||(menuRoot.classList.toggle("is-open",open),toggle.setAttribute("aria-expanded",open?"true":"false"),menu.setAttribute("aria-hidden",open?"false":"true"))}function closePostMetaMenus(except,restoreFocus){document.querySelectorAll(".post-drop-meta.is-open").forEach(function(menuRoot){if(menuRoot!==except){var toggle=menuRoot.querySelector(".post-drop-meta__toggle");setPostMetaMenuState(menuRoot,!1),restoreFocus&&toggle&&toggle.focus()}})}function initPostMetaMenus(root){var scope=root||document,menuRoots=[];scope.nodeType===1&&scope.matches(".post-drop-meta")&&menuRoots.push(scope),scope.querySelectorAll(".post-drop-meta").forEach(function(menuRoot){menuRoots.push(menuRoot)}),menuRoots.forEach(function(menuRoot){var toggle=menuRoot.querySelector(".post-drop-meta__toggle"),menu=menuRoot.querySelector(".post-drop-meta__menu");!toggle||!menu||toggle.dataset.postMetaMenuBound||(toggle.dataset.postMetaMenuBound="1",setPostMetaMenuState(menuRoot,!1),toggle.addEventListener("click",function(){var open=!menuRoot.classList.contains("is-open");closePostMetaMenus(menuRoot,!1),setPostMetaMenuState(menuRoot,open)}),menu.addEventListener("click",function(event){event.target.closest(".post-drop-meta__item")&&setPostMetaMenuState(menuRoot,!1)}))}),menuRoots.length&&!postMetaDocumentEventsBound&&(postMetaDocumentEventsBound=!0,document.addEventListener("click",function(event){event.target.closest(".post-drop-meta")||closePostMetaMenus(null,!1)}),document.addEventListener("keydown",function(event){event.key==="Escape"&&closePostMetaMenus(null,!0)}))}function formatStatCount(count){var safeCount=Math.max(0,count);return safeCount>=1e4?Math.round(safeCount/1e4*10)/10+"W+":safeCount>=1e3?Math.round(safeCount/1e3*10)/10+"K":String(safeCount)}function getBaseStatCount(statName){var statEl=document.querySelector('[data-stat-count="'+statName+'"][data-base-count]');return statEl&&parseInt(statEl.dataset.baseCount,10)||0}function updateStatCounts(statName,count){var label=formatStatCount(count);document.querySelectorAll('[data-stat-count="'+statName+'"]').forEach(function(statEl){statEl.textContent=label})}function setBaseStatCount(statName,count){var safeCount=Math.max(0,count);document.querySelectorAll('[data-stat-count="'+statName+'"][data-base-count]').forEach(function(statEl){statEl.dataset.baseCount=String(safeCount)}),updateStatCounts(statName,safeCount)}function requestInteraction(actionName,postId,active){if(!window.aksrtData||!aksrtData.ajaxUrl||!aksrtData.nonce)return Promise.reject(new Error("互动服务未配置"));var body=new URLSearchParams;return body.set("action",actionName),body.set("nonce",aksrtData.nonce),body.set("postId",String(postId)),body.set("active",active?"1":"0"),fetch(aksrtData.ajaxUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},credentials:"same-origin",body:body.toString()}).then(function(response){return response.json().catch(function(){throw new Error("服务器返回无效响应")})}).then(function(payload){if(!payload||!payload.success){var message=payload&&payload.data&&payload.data.message?payload.data.message:"请求失败";throw new Error(message)}return payload.data||{}})}function setButtonBusy(button,busy){button.disabled=!!busy,button.classList.toggle("is-loading",!!busy)}function findInScope(scope,id){return scope=scope||document,scope?scope.nodeType===9?scope.getElementById(id):scope.nodeType===1?scope.id===id?scope:typeof scope.querySelector=="function"?scope.querySelector("#"+id):null:null:null}function collectActionButtons(scope,selector){scope=scope||document;var list=[];if(!scope)return list;if(scope.nodeType===1&&scope.matches&&scope.matches(selector)&&list.push(scope),typeof scope.querySelectorAll=="function")for(var found=scope.querySelectorAll(selector),i=0;i=0?"action-like":selector.indexOf("action-favorite")>=0?"action-favorite":"";if(legacyId){var legacy=findInScope(scope,legacyId);legacy&&list.indexOf(legacy)===-1&&list.push(legacy)}return list}function initInteractionBar(root){var scope=root||document,likeBtns=collectActionButtons(scope,".action-like[data-post-id]"),favBtns=collectActionButtons(scope,".action-favorite[data-post-id]");function paintLike(btn,isActive,animate){btn.dataset.initialActive=isActive?"1":"0",btn.classList.toggle("actived",isActive),btn.classList.toggle("action-animation",!!(isActive&&animate))}function paintFavorite(btn,isActive,animate){btn.dataset.initialActive=isActive?"1":"0",btn.classList.toggle("actived",isActive),btn.classList.toggle("action-animation",!!(isActive&&animate))}function applyLikeState(isActive,count,animate){for(var i=0;i '+loadingText,loadingText)}else isSubmitting=!1,submitBtn.classList.remove("is-loading"),submitBtn.classList.remove("countdown-active"),submitBtn.disabled=!1,setSubmitBtnContent(originalBtnHTML,originalBtnHTML)}function collectFormData(){var formData=new FormData(form),postId=document.querySelector('input[name="comment_post_ID"]');return postId&&!formData.get("comment_post_ID")&&formData.append("comment_post_ID",postId.value),formData}function startCountdown(seconds){countdownTimer&&clearInterval(countdownTimer),submitBtn.classList.add("countdown-active"),submitBtn.disabled=!0;var remaining=seconds;countdownTimer=setInterval(function(){setSubmitBtnContent(' 请等待 '+remaining+"s","请等待 "+remaining+"s"),--remaining<=0&&(clearInterval(countdownTimer),countdownTimer=null,submitBtn.classList.remove("countdown-active","is-loading"),submitBtn.disabled=!1,setSubmitBtnContent(originalBtnHTML,originalBtnHTML),isSubmitting=!1)},1e3)}function updateCommentCount(delta){var countEl=document.querySelector("#comments .title-theme small");if(countEl){var text=countEl.textContent||"",match=text.match(/(\d+)/);if(match){var nextCount=Math.max(0,parseInt(match[1],10)+delta);countEl.textContent=text.replace(match[1],String(nextCount))}}}function performSubmit(captchaPayload){setLoading(!0);var formData=collectFormData(),restRoot=window.aksrtData&&aksrtData.siteUrl?String(aksrtData.siteUrl).replace(/\/$/,""):"",editId=form.querySelector('[name="edit_comment_ID"]'),isEdit=editId&&parseInt(editId.value,10)>0,restBase=(restRoot||"")+"/wp-json/aksrt/v1/comment/"+(isEdit?"edit":"submit"),restBody={};formData.forEach(function(v,k){restBody[k]=v}),Object.assign(restBody,captchaPayload||{}),isEdit&&(restBody.comment_id=parseInt(editId.value,10),restBody.content=restBody.comment||restBody.content||""),fetch(restBase,{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.aksrtData&&aksrtData.restNonce||""},credentials:"same-origin",body:JSON.stringify(restBody)}).then(function(r){return r.json()}).then(function(json){if(isEdit&&json&&json.success){var cid=restBody.comment_id,contentEl=document.querySelector("#comment-content-"+cid+', [data-comment-id="'+cid+'"] .comment-content'),rendered=json.data&&json.data.content||json.content||"";contentEl&&rendered&&(contentEl.innerHTML=rendered);var textarea=form.querySelector("#comment");textarea&&(textarea.value=""),editId&&editId.remove(),restoreRespondPosition(),setLoading(!1),notyf(json.message||"评论已更新","success");var respondEl=document.getElementById("respond");respondEl&&window.AksrtFixedInput&&window.AksrtFixedInput(respondEl,"hide");return}if(json&&json.success&&json.html){localInsertComment(json.html,json.is_reply,json.parent_id,json.needs_moderation);var textarea=form.querySelector("#comment");textarea&&(textarea.value="");var replyInfo=document.getElementById("comment-reply-info");replyInfo&&(replyInfo.style.display="none"),json.wait_time&&json.wait_time>0?startCountdown(json.wait_time):setLoading(!1),restoreRespondPosition();var respondEl=document.getElementById("respond");respondEl&&window.AksrtFixedInput?window.AksrtFixedInput(respondEl,"hide"):respondEl&&respondEl.classList.remove("show");var editField=form.querySelector('[name="edit_comment_ID"]');editField&&editField.remove();return}if(json&&json.code){notyf(json.message||"评论提交失败","danger"),json.wait_time?startCountdown(json.wait_time):setLoading(!1);return}notyf("评论已提交","success"),setLoading(!1),setTimeout(function(){reloadCommentList()},500)}).catch(function(error){console.error("[AKSRT Comment] 提交失败:",error),notyf(error&&error.message||"网络连接失败,请检查网络后重试","danger"),setLoading(!1)}).finally(function(){window.AKSRTCaptcha&&window.AKSRTCaptcha.reset("comment",form),!countdownTimer&&isSubmitting&&setLoading(!1)})}function localInsertComment(html,isReply,parentId,needsModeration){var temp=document.createElement("div");temp.innerHTML=html;var newComment=temp.firstElementChild;if(!newComment){reloadCommentList();return}if(newComment.style.overflow="hidden",newComment.style.maxHeight="0",newComment.style.opacity="0",newComment.style.transition="max-height 0.4s ease, opacity 0.3s ease",isReply&&parentId){var parentComment=document.querySelector("#comment-"+parentId);if(parentComment){var children=parentComment.querySelector(":scope > .children");children||(children=document.createElement("ol"),children.className="children",parentComment.appendChild(children)),children.insertBefore(newComment,children.firstChild)}else prependToCommentList(newComment)}else prependToCommentList(newComment);requestAnimationFrame(function(){newComment.style.maxHeight=newComment.scrollHeight+100+"px",newComment.style.opacity="1",setTimeout(function(){newComment.style.maxHeight="",newComment.style.overflow="",newComment.style.transition=""},500)}),needsModeration?notyf("评论已提交,等待管理员审核","info"):notyf("评论发布成功","success"),newComment.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun(),updateCommentCount(1)}function prependToCommentList(el){var list=document.querySelector("#comments .commentlist");if(list){var filter=list.querySelector(".comment-filter");filter&&filter.nextSibling?list.insertBefore(el,filter.nextSibling):list.insertBefore(el,list.firstChild)}}function restoreRespondPosition(){var respond=document.getElementById("respond"),placeholder=document.getElementById("wp-temp-form-div");respond&&placeholder&&placeholder.parentNode&&(placeholder.parentNode.insertBefore(respond,placeholder),placeholder.remove())}function handleSubmit(e){if(isSubmitting||countdownTimer)return e.preventDefault(),e.stopImmediatePropagation(),!1;e.preventDefault(),e.stopImmediatePropagation();var captcha=window.AKSRTCaptcha;return setLoading(!0),(captcha?captcha.run("comment",form):Promise.resolve({})).then(function(captchaPayload){if(captchaPayload===null){notyf("人机验证未通过,请重试","warning"),setLoading(!1);return}performSubmit(captchaPayload)}).catch(function(){notyf("人机验证未通过,请重试","warning"),setLoading(!1),captcha&&captcha.reset("comment",form)}),!1}form.addEventListener("submit",handleSubmit,!0)}function getCommentsRestBase(){var root=window.aksrtData&&aksrtData.siteUrl?String(aksrtData.siteUrl).replace(/\/$/,""):"";return root+"/wp-json/aksrt/v1"}function getCurrentCommentPostId(){var input=document.querySelector('input[name="comment_post_ID"]');if(input&&input.value)return parseInt(input.value,10)||0;var comments=document.getElementById("comments");return comments&&comments.dataset.postId&&parseInt(comments.dataset.postId,10)||0}function getCurrentCommentOrder(){var active=document.querySelector("#comments .comment-order-box li.active .comment-orderby");if(active&&active.dataset&&active.dataset.order)return active.dataset.order;var url=new URL(window.location.href);return url.searchParams.get("aksrt_comment_order")||"newest"}function getCurrentAuthorOnly(){var btn=document.querySelector("#comments .btn-only-author");return!!(btn&&btn.classList.contains("active")&&btn.dataset.authorOnly==="0")}var COMMENT_URL_PARAMS=["cpage","aksrt_comment_order","aksrt_author_only"],commentUrlStateCleaned=!1;function stripCommentUrlParams(){if(!(commentUrlStateCleaned||!window.history||typeof window.history.replaceState!="function")){commentUrlStateCleaned=!0;var url=new URL(window.location.href),changed=!1;COMMENT_URL_PARAMS.forEach(function(key){url.searchParams.has(key)&&(url.searchParams.delete(key),changed=!0)}),changed&&window.history.replaceState(null,"",url.toString())}}function getMaxCommentPages(){var pagenav=document.querySelector("#comments .pagenav[data-max-pages]");if(pagenav){var max=parseInt(pagenav.dataset.maxPages,10);if(max>0)return max}var jumpInput=document.querySelector("#comments .jump-input[max]");if(jumpInput){var maxAttr=parseInt(jumpInput.getAttribute("max"),10);if(maxAttr>0)return maxAttr}return 1}function parseCommentPageFromHref(href){if(!href||href==="#"||href.indexOf("javascript:")===0)return 0;try{var url=new URL(href,window.location.href),cpage=parseInt(url.searchParams.get("cpage"),10);if(cpage>0)return cpage;var match=url.pathname.match(/\/comment-page-([0-9]{1,})\/?$/);return match?parseInt(match[1],10):0}catch{return 0}}function scrollCommentsIntoView(){var commentsArea=document.getElementById("comments");if(!(!commentsArea||typeof commentsArea.scrollIntoView!="function")){var rect=commentsArea.getBoundingClientRect();rect.top>=0&&rect.top1&&(page=Math.min(page,maxPages)),showListLoading(commentsArea),fetchCommentFragment({order:getCurrentCommentOrder(),authorOnly:getCurrentAuthorOnly(),page}).then(function(json){if(json&&json.success&&json.data)return applyFragmentPayload(commentsArea,json.data),opts.noScroll||scrollCommentsIntoView(),!0;throw new Error("comment fragment failed")})}function applyFragmentPayload(commentsArea,data){if(!(!commentsArea||!data||!data.html)){var tempList=document.createElement("div");tempList.innerHTML=data.html;var newListWrap=tempList.querySelector("#postcomments");if(newListWrap){var currentListWrap=commentsArea.querySelector("#postcomments");currentListWrap?currentListWrap.replaceWith(newListWrap):commentsArea.appendChild(newListWrap);var currentCount=commentsArea.querySelector(".title-theme small");currentCount&&data.count_text&&(currentCount.textContent=data.count_text),newListWrap.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun()}}}function fetchCommentFragment(opts){opts=opts||{};var postId=opts.postId||getCurrentCommentPostId();if(!postId)return Promise.reject(new Error("missing post id"));var order=opts.order||getCurrentCommentOrder()||"newest",authorOnly=!!opts.authorOnly,page=opts.page||1,qs=new URLSearchParams;qs.set("post_id",String(postId)),qs.set("order",order),qs.set("page",String(page)),authorOnly&&qs.set("author_only","1");var url=getCommentsRestBase()+"/comment/list?"+qs.toString();return fetch(url,{method:"GET",credentials:"same-origin",headers:{"X-WP-Nonce":window.aksrtData&&aksrtData.restNonce||""}}).then(function(r){return r.json()})}function showListLoading(commentsArea){var list=commentsArea.querySelector(".commentlist");if(list){var filter=list.querySelector(".comment-filter"),loader=list.querySelector(".post_ajax_loader"),skeleton=loader?loader.cloneNode(!0):null;Array.prototype.slice.call(list.children).forEach(function(child){child!==filter&&child!==loader&&child.remove()}),skeleton&&(skeleton.classList.add("is-loading"),skeleton.removeAttribute("hidden"),list.appendChild(skeleton))}}function reloadCommentList(){loadCommentPage(1,{noScroll:!0}).catch(function(error){console.error("[AKSRT Comment] 刷新评论列表失败:",error),window.location.reload()})}function findInScope(scope,id){return scope=scope||document,scope?scope.nodeType===9?scope.getElementById(id):scope.nodeType===1?scope.id===id?scope:typeof scope.querySelector=="function"?scope.querySelector("#"+id):null:null:null}function initCommentOrder(root){var scope=root||document,commentsArea=findInScope(scope,"comments");if(!commentsArea||commentsArea.dataset.orderInit==="1")return;commentsArea.dataset.orderInit="1";function renderLoadingState(){showListLoading(commentsArea)}function applyCommentOrder(order){order!=="newest"&&order!=="oldest"&&order!=="hottest"&&(order="newest"),renderLoadingState();var authorOnly=getCurrentAuthorOnly();fetchCommentFragment({order,authorOnly,page:1}).then(function(json){if(json&&json.success&&json.data){applyFragmentPayload(commentsArea,json.data);return}throw new Error("order fragment failed")}).catch(function(error){console.error("[AKSRT Comment] 排序刷新失败:",error),window.location.reload()})}function applyAuthorFilter(authorOnlyFlag){renderLoadingState();var authorOnly=authorOnlyFlag==="1"||authorOnlyFlag===1||authorOnlyFlag===!0,order=getCurrentCommentOrder();fetchCommentFragment({order,authorOnly,page:1}).then(function(json){if(json&&json.success&&json.data){applyFragmentPayload(commentsArea,json.data);return}throw new Error("author fragment failed")}).catch(function(error){console.error("[AKSRT Comment] Author filter failed:",error),window.location.reload()})}commentsArea.addEventListener("click",function(e){var target=e.target;if(!(!target||typeof target.closest!="function")){var authorBtn=target.closest(".btn-only-author");if(authorBtn&&commentsArea.contains(authorBtn)){e.preventDefault(),applyAuthorFilter(authorBtn.getAttribute("data-author-only")||"0");return}var orderBtn=target.closest(".comment-orderby[data-order]");if(orderBtn&&commentsArea.contains(orderBtn)){e.preventDefault(),applyCommentOrder(orderBtn.getAttribute("data-order")||"newest");return}var pageLink=target.closest(".pagenav a.page-numbers");if(pageLink&&commentsArea.contains(pageLink)&&!pageLink.classList.contains("pag-jump")){var page=parseCommentPageFromHref(pageLink.getAttribute("href"));page>0&&(e.preventDefault(),loadCommentPage(page).catch(function(error){console.error("[AKSRT Comment] 分页刷新失败:",error),window.location.href=pageLink.href}))}}})}var commentPageJumpBound=!1;function jumpToCommentPage(page){loadCommentPage(page).catch(function(error){console.error("[AKSRT Comment] 跳页失败:",error),window.location.reload()})}function initCommentPageJump(){commentPageJumpBound||(commentPageJumpBound=!0,document.addEventListener("click",function(e){var jump=e.target.closest?e.target.closest("#comments .pag-jump"):null;if(jump){e.preventDefault();var input=jump.querySelector(".jump-input");input&&jumpToCommentPage(input.value)}}),document.addEventListener("keydown",function(e){if(e.key==="Enter"){var input=e.target;!input||!input.classList||!input.classList.contains("jump-input")||input.closest("#comments .pagenav")&&(e.preventDefault(),jumpToCommentPage(input.value))}}))}function closeAllCommentDropdowns(){document.querySelectorAll("#postcomments .dropdown.open").forEach(function(wrap){wrap.classList.remove("open");var trigger=wrap.querySelector("[data-aksrt-comment-drop]");trigger&&trigger.setAttribute("aria-expanded","false")})}function initCommentActionDropdowns(){document.documentElement.dataset.aksrtCommentDropBound!=="1"&&(document.documentElement.dataset.aksrtCommentDropBound="1",document.addEventListener("click",function(event){var trigger=event.target.closest?event.target.closest("[data-aksrt-comment-drop]"):null;if(trigger){event.preventDefault();var wrap=trigger.closest(".dropdown");if(!wrap)return;var wasOpen=wrap.classList.contains("open");closeAllCommentDropdowns(),wasOpen||(wrap.classList.add("open"),trigger.setAttribute("aria-expanded","true"));return}var menuItem=event.target.closest?event.target.closest("#postcomments .dropdown.open .dropdown-menu a"):null;if(menuItem){closeAllCommentDropdowns();return}(!event.target.closest||!event.target.closest("#postcomments .dropdown.open"))&&closeAllCommentDropdowns()}),document.addEventListener("keydown",function(event){event.key==="Escape"&&closeAllCommentDropdowns()}))}function init(){stripCommentUrlParams(),initCommentSystem(),initCommentPageJump(),initCommentOrder()}initCommentActionDropdowns(),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtComments={loadPage:function(page,opts){return loadCommentPage(page,opts)},reload:function(){reloadCommentList()}}})(),(function(){"use strict";function FixedInput(el,action){if(el){if(el.dataset.fixedBound||(el.addEventListener("click",function(e){e.target&&e.target.closest&&e.target.closest(".fixed-body")&&FixedInput(el,"hide")}),el.dataset.fixedBound="1"),action==="show"){el.classList.add("show"),window.setTimeout(function(){var field=el.querySelector("textarea, input");field&&field.focus()},100);return}if(action==="hide"){var cancel=el.querySelector("#cancel-comment-reply-link");cancel&&cancel.click(),el.querySelectorAll("input,textarea").forEach(function(n){try{n.blur()}catch{}}),el.querySelectorAll(".dropup.open, .open").forEach(function(n){n.classList.remove("open")}),el.classList.remove("show")}}}document.addEventListener("click",function(e){var trigger=e.target&&e.target.closest?e.target.closest("[fixed-input]"):null;if(trigger){e.preventDefault();var targetSel=trigger.getAttribute("fixed-input")||"#respond",panel=document.querySelector(targetSel),comments=document.getElementById("comments");comments&&comments.scrollIntoView&&comments.scrollIntoView({behavior:"smooth",block:"start"}),FixedInput(panel,"show")}});function bindAutoheight(ta){if(!(!ta||ta.dataset.autoheightBound)){ta.dataset.autoheightBound="1";var max=parseInt(ta.getAttribute("maxheight")||"188",10)||188,resize=function(){ta.style.height="auto";var h=Math.min(ta.scrollHeight,max);ta.style.height=h+"px",ta.style.overflowY=ta.scrollHeight>max?"auto":"hidden"};ta.addEventListener("input",resize),resize()}}function scan(){document.querySelectorAll("textarea[autoheight], textarea.grin").forEach(bindAutoheight)}function init(){scan();var respond=document.getElementById("respond");respond&&(respond.aksrtFixedInput=function(action){FixedInput(respond,action)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtFixedInput=FixedInput})(),(function(){"use strict";var respondId="respond",tempId="aksrt-wp-temp-form-div",editingId=0;function getRespond(){return document.getElementById(respondId)}function restRoot(){var d=window.aksrtData||{};return(d.restUrl||d.rest_url||"/wp-json/aksrt/v1").replace(/\/$/,"")}function nonce(){var d=window.aksrtData||{};return d.restNonce||d.nonce||""}function setActionText(text){var el=document.querySelector("#"+respondId+" .action-text");el&&(text?(el.style.display="",el.textContent=text):(el.style.display="none",el.textContent=""))}function ensureParentField(respond){var form=respond.querySelector("#commentform")||respond,parent=form.querySelector('[name="comment_parent"]');return parent||(parent=document.createElement("input"),parent.type="hidden",parent.name="comment_parent",parent.id="comment_parent",parent.value="0",form.appendChild(parent)),parent}function ensureEditField(respond,commentId){var form=respond.querySelector("#commentform")||respond,existing=form.querySelector('[name="edit_comment_ID"]');if(commentId){existing||(existing=document.createElement("input"),existing.type="hidden",existing.name="edit_comment_ID",existing.id="edit_comment_ID",form.appendChild(existing)),existing.value=String(commentId);var parent=form.querySelector('[name="comment_parent"]');parent&&(parent.name="comment_parent_bak")}else if(existing){existing.remove();var bak=form.querySelector('[name="comment_parent_bak"]');bak&&(bak.name="comment_parent")}}function moveForm(commId,parentId,isEdit){var respond=getRespond();if(!respond)return!1;var comm=document.getElementById(commId),parent=ensureParentField(respond),cancel=document.getElementById("cancel-comment-reply-link"),submit=respond.querySelector("#submit"),textarea=respond.querySelector("#comment");if(!document.getElementById(tempId)){var temp=document.createElement("div");temp.id=tempId,temp.style.display="none",respond.parentNode.insertBefore(temp,respond)}if(comm&&comm.parentNode&&comm.parentNode.insertBefore(respond,comm.nextSibling),parent.value=isEdit?"0":String(parentId||"0"),editingId=isEdit&&parseInt(parentId,10)||0,cancel&&(cancel.style.display="",cancel.onclick=function(){var t=document.getElementById(tempId),r=getRespond();return t&&r&&t.parentNode&&(t.parentNode.insertBefore(r,t),t.parentNode.removeChild(t)),ensureEditField(r,0),parent&&(parent.value="0"),setActionText(""),textarea&&(textarea.value=""),editingId=0,cancel.style.display="none",window.AksrtFixedInput?window.AksrtFixedInput(r,"hide"):r&&r.classList.remove("show"),!1}),isEdit&&editingId)setActionText("编辑评论"),ensureEditField(respond,editingId),textarea&&(textarea.disabled=!0,textarea.value="加载中…"),submit&&(submit.disabled=!0),fetch(restRoot()+"/comment/get?comment_id="+encodeURIComponent(String(editingId)),{headers:{"X-WP-Nonce":nonce()},credentials:"same-origin"}).then(function(r){return r.json()}).then(function(json){var content=json&&(json.content||json.data&&json.data.content)||"";textarea&&(textarea.disabled=!1,textarea.value=content,textarea.dispatchEvent(new Event("input"))),submit&&(submit.disabled=!1)}).catch(function(){notyf("加载评论失败","danger"),textarea&&(textarea.disabled=!1,textarea.value=""),submit&&(submit.disabled=!1)});else{var nameEl=comm?comm.querySelector(".comment-header name"):null,author=nameEl?(nameEl.textContent||"").trim():"";setActionText(author?"回复 @"+author:"回复评论"),ensureEditField(respond,0),textarea&&textarea.focus()}return window.AksrtFixedInput?window.AksrtFixedInput(respond,"show"):respond.classList.add("show"),comm&&comm.scrollIntoView&&comm.scrollIntoView({behavior:"smooth",block:"center"}),!1}document.addEventListener("click",function(e){var reply=e.target&&e.target.closest?e.target.closest(".comment-reply-link"):null,edit=e.target&&e.target.closest?e.target.closest('.comment-edit-link, [data-comment-action="edit"]'):null;if(reply){e.preventDefault();var cid=reply.getAttribute("data-commentid")||reply.getAttribute("data-comment-id")||"",postid=reply.getAttribute("data-postid")||"";if(!cid){var li=reply.closest("[data-comment-id], #comment-"+(cid||""));li&&li.getAttribute("data-comment-id")&&(cid=li.getAttribute("data-comment-id"))}if(!cid){var m=(reply.closest('li[id^="comment-"]')||{}).id||"",mm=/comment-(\d+)/.exec(m);mm&&(cid=mm[1])}moveForm("div-comment-"+cid,cid,!1);return}if(edit){e.preventDefault();var eid=edit.getAttribute("data-commentid")||edit.getAttribute("data-comment-id")||"";if(!eid){var row=edit.closest("[data-comment-id]");row&&(eid=row.getAttribute("data-comment-id"))}if(!eid)return;moveForm("div-comment-"+eid,eid,!0)}}),document.addEventListener("click",function(e){var t=e.target&&e.target.closest?e.target.closest('[data-toggle-class="open"], span.dropup > a.but, [data-toggle="dropdown"]'):null;if(t){var wrap=t.closest("span.dropup, span.dropdown");wrap&&(wrap.classList.contains("open")&&t.parentElement!==wrap||(e.preventDefault(),wrap.classList.toggle("open")))}}),document.addEventListener("click",function(e){e.target.closest&&e.target.closest("span.dropup.open, span.dropdown.open")||document.querySelectorAll("span.dropup.open, span.dropdown.open").forEach(function(n){n.classList.remove("open")})}),document.addEventListener("click",function(e){var a=e.target&&e.target.closest?e.target.closest("[data-scroll-to]"):null;if(a){e.preventDefault();var sel=a.getAttribute("data-scroll-to"),el=sel?document.querySelector(sel):null;el&&el.scrollIntoView({behavior:"smooth",block:"center"})}}),window.aksrtCommentMoveForm=moveForm,window.aksrtGetEditingCommentId=function(){return editingId}})(),(function(window2,document2){"use strict";var loadingMap=new WeakMap;function restHeaders(){var h={Accept:"application/json, text/html","X-AKSRT-Ajax":"list"};return window2.aksrtData&&aksrtData.restNonce&&(h["X-WP-Nonce"]=aksrtData.restNonce),h}function closestPager(el){return el?el.closest(".ajaxpager")||el.closest("[data-aksrt-ajaxpager]")||el.closest(".aksrt-ajaxpager"):null}function dispatch(container,name,detail){if(container)try{container.dispatchEvent(new CustomEvent(name,{bubbles:!0,detail:detail||{}}))}catch{}}function showLoader(container){if(container){var loader=container.querySelector(".post_ajax_loader");if(loader){loader.classList.add("is-loading");return}container.classList.add("is-ajax-loading")}}function hideLoader(container){if(container){var loader=container.querySelector(".post_ajax_loader");if(loader){loader.classList.remove("is-loading");return}container.classList.remove("is-ajax-loading")}}function parseHtml(html){var wrap=document2.createElement("div");return wrap.innerHTML=html||"",wrap}function extractFromHtml(html,container){var doc=parseHtml(html),pager=doc.querySelector(".ajaxpager")||doc.querySelector("[data-aksrt-ajaxpager]")||doc.querySelector(".aksrt-ajaxpager"),items=[],scope=pager||doc;scope.querySelectorAll(".ajax-item").forEach(function(n){items.push(n.outerHTML)}),!items.length&&pager&&items.push(pager.innerHTML);var pag=scope.querySelector(".ajax-pag"),headerBits={};doc.querySelectorAll("[win-ajax-replace]").forEach(function(n){var key=n.getAttribute("win-ajax-replace");key&&(headerBits[key]=n.outerHTML)});var titleEl=doc.querySelector("title");return{itemsHtml:items.join(""),paginateHtml:pag?pag.outerHTML:"",headerBits,title:titleEl?titleEl.textContent:"",fullHtml:pager?pager.innerHTML:html}}function syncWinReplace(bits){bits&&Object.keys(bits).forEach(function(key){var live=document2.querySelector('[win-ajax-replace="'+key+'"]');if(live){var tmp=document2.createElement("div");tmp.innerHTML=bits[key];var next=tmp.firstElementChild;next&&live.replaceWith(next)}})}function applyRoute(link,title){if(link){var route=link.getAttribute("route")||link.getAttribute("data-route");if(route==="1"||route==="true"||link.hasAttribute("route")){var href=link.getAttribute("href")||link.getAttribute("ajax-href")||"";if(href){try{window2.history.replaceState({},"",href)}catch{}var rt=title||link.getAttribute("route-title")||link.getAttribute("data-route-title")||"";if(rt)try{document2.title=rt}catch{}}}}}function replacePaginate(container,paginateHtml){if(!(!container||!paginateHtml)){var old=container.querySelector(".ajax-pag");if(!old){container.insertAdjacentHTML("beforeend",paginateHtml);return}var tmp=document2.createElement("div");tmp.innerHTML=paginateHtml;var next=tmp.firstElementChild;next&&old.replaceWith(next)}}function findItemHost(container){if(!container||!container.children)return container;for(var i=0;i"+html+"");itemsHtml=parsed.itemsHtml||html}else itemsHtml=html;return{itemsHtml,html,paginateHtml:data.paginate_html||data.paginateHtml||"",headerHtml:data.header_html||data.headerHtml||"",headerBits:data.header_bits||null,title:data.title||"",emptyHtml:data.empty_html||"",hasMore:typeof data.has_more<"u"?!!data.has_more:null}}function loadFromLink(link,override){if(override=override||{},!link)return Promise.resolve();var container=override.container||(link.getAttribute("ajaxpager-target")?document2.querySelector(link.getAttribute("ajaxpager-target")):null)||closestPager(link);if(container||(container=link.closest("[data-aksrt-ajax-list]")),!container||loadingMap.get(container))return Promise.resolve();loadingMap.set(container,!0);var replaceAttr=link.getAttribute("ajax-replace"),replace=typeof override.replace=="boolean"?override.replace:replaceAttr==="true"||replaceAttr==="1"||replaceAttr==="replace",href=override.url||link.getAttribute("data-aksrt-ajax-url")||link.getAttribute("ajax-href")||link.getAttribute("href")||"";return dispatch(container,"post_ajax.before",{link,replace,url:href}),showLoader(container),replace&&container.querySelectorAll(".ajax-item").forEach(function(n){n.classList.add("is-fading")}),fetch(href,{method:override.method||"GET",credentials:"same-origin",headers:restHeaders()}).then(function(res){var type=(res.headers.get("content-type")||"").toLowerCase();return type.indexOf("application/json")!==-1?res.json().then(function(json){if(!res.ok||json&&json.success===!1)throw new Error(json&&(json.message||json.data&&json.data.message)||"加载失败");return normalizeJson(json)}):res.text().then(function(text){if(!res.ok)throw new Error("加载失败");return extractFromHtml(text,container)})}).then(function(payload){if(!payload)throw new Error("空响应");return replace&&!payload.itemsHtml&&payload.emptyHtml?inject(container,{itemsHtml:payload.emptyHtml,paginateHtml:payload.paginateHtml},{replace:!0}):inject(container,payload,{replace}),applyRoute(link,payload.title),hideLoader(container),loadingMap.set(container,!1),dispatch(container,"post_ajax.ed",{link,replace,url:href,payload}),typeof window2.auto_fun=="function"&&window2.auto_fun(),document2.dispatchEvent(new CustomEvent("aksrt:posts:rendered",{bubbles:!0,detail:{container,replace}})),payload}).catch(function(err){throw hideLoader(container),loadingMap.set(container,!1),container.querySelectorAll(".ajax-item.is-fading").forEach(function(n){n.classList.remove("is-fading")}),notyf(err&&err.message||"加载失败","danger"),dispatch(container,"post_ajax.error",{link,error:err}),err})}document2.addEventListener("click",function(e){var link=e.target.closest("a.ajax-next, .ajax-next a, button.ajax-next, [data-aksrt-ajax-next]");if(link&&!link.closest("[data-aksrt-ajax-list='off']")&&!link.closest("[data-aksrt-pagination], .aksrt-comment-pagination")&&!link.closest(".ajax-option, .post_ajax_trigger")){var href=link.getAttribute("href")||link.getAttribute("ajax-href")||link.getAttribute("data-aksrt-ajax-url");!href&&!link.getAttribute("data-aksrt-ajax-url")||(e.preventDefault(),loadFromLink(link.tagName==="A"||link.classList.contains("ajax-next")?link:link.closest(".ajax-next")||link))}}),window2.AksrtAjaxList={load:loadFromLink,inject,extractFromHtml,closestPager}})(window,document),(function(){"use strict";function hasAjaxConfig(){return!!(window.aksrtData&&aksrtData.ajaxUrl&&aksrtData.nonce)}function initAjaxPagination(root){var containers=(root||document).querySelectorAll("[data-aksrt-pagination], .aksrt-comment-pagination");if(containers.length){var triggerText=window.aksrtData&&aksrtData.ajaxTrigger||"加载更多",nomoreText=window.aksrtData&&aksrtData.ajaxNomore||"没有更多了",errorText=window.aksrtData&&aksrtData.ajaxLoadError||"加载失败,请重试";containers.forEach(function(container){if(container.dataset.aksrtPaginationBound==="1")return;container.dataset.aksrtPaginationBound="1";var mode=container.dataset.mode||"load_more",nextPage=parseInt(container.dataset.nextPage,10)||2,maxPages=parseInt(container.dataset.maxPages,10)||1,isComment=container.classList.contains("aksrt-comment-pagination"),postId=container.dataset.postId||"",commentOrder=container.dataset.commentOrder||"newest",loading=!1,failed=!1,clickTarget=container.querySelector(".next-page.ajax-next, .ias-btn")||container,loadMoreBtn=container.querySelector("[data-aksrt-load-more]")||clickTarget,successfulAutoLoads=0,iasMax=isComment?window.aksrtData&&typeof aksrtData.commentIasMax<"u"?parseInt(aksrtData.commentIasMax,10):0:window.aksrtData&&typeof aksrtData.iasMax<"u"?parseInt(aksrtData.iasMax,10):0,listContainer=container.closest(".ajaxpager, .posts-row"),target=container.previousElementSibling;if(listContainer&&container.parentNode===listContainer&&(target=listContainer),isComment){var commentList=container.closest("#comment-list, .commentlist, ol.commentlist")||document.getElementById("comment-list");commentList&&(target=commentList)}!target&&container.parentElement&&(target=container.parentElement.querySelector(".post-grid, .comment-list, .commentlist, .content-stream__list"));var CARD_ITEM='

',LIST_ITEM='

';function skeletonCount(style){var wide=window.innerWidth>766;return style==="card"?wide?window.innerWidth>992&&!document.querySelector(".sidebar")?8:6:4:wide?4:3}function postSkeleton(){for(var first=target&&target.querySelector?target.querySelector(".posts-item.card, .posts-item.list"):null,isCard=!!first&&/(^|\s)card(\s|$)/.test(first.className||""),tpl=isCard?CARD_ITEM:LIST_ITEM,out="",i=0,n=skeletonCount(isCard?"card":"list");i'+out+""}function fallbackLoader(){var text=window.aksrtData&&aksrtData.ajaxLoading||"加载中...";return'
'+text+"
"}function showSkeleton(){if(target){var loader=target.querySelector(".post_ajax_loader");loader||(loader=document.createElement("div"),loader.className="post_ajax_loader",loader.innerHTML=postSkeleton()||fallbackLoader()),target.insertBefore(loader,container.parentNode===target?container:null),loader.classList.add("is-loading")}}function hideSkeleton(){if(target){var loader=target.querySelector(".post_ajax_loader");loader&&loader.classList.remove("is-loading")}}function stopInfinite(markNomore){if(container.classList.remove("ias-pending"),markNomore&&loadMoreBtn){loadMoreBtn.innerHTML=nomoreText,loadMoreBtn.classList.add("ajax-nomore");var nextWrap=loadMoreBtn.closest(".next-page");nextWrap&&nextWrap.classList.add("no-more"),loadMoreBtn.style.pointerEvents="none"}else loadMoreBtn&&!loadMoreBtn.classList.contains("ajax-nomore")&&(failed?loadMoreBtn.textContent=errorText:loadMoreBtn.innerHTML=triggerText,loadMoreBtn.style.pointerEvents="")}function markFailed(message){failed=!0,stopInfinite(!1),loadMoreBtn&&(loadMoreBtn.textContent=message||errorText,loadMoreBtn.classList.remove("ajax-nomore"),loadMoreBtn.style.pointerEvents="")}function loadNextPage(fromAuto){if(loading||failed||nextPage>maxPages||!target)return Promise.resolve(!1);if(!hasAjaxConfig())return markFailed(errorText),Promise.resolve(!1);loading=!0,showSkeleton();var action=isComment?"aksrt_load_more_comments":"aksrt_load_more_posts",queryContext=container.dataset.queryContext||"",queryVars=container.dataset.queryVars||"",renderConfig=container.dataset.renderConfig||"",body=new URLSearchParams;if(body.set("action",action),body.set("nonce",aksrtData.nonce),body.set("page",String(nextPage)),queryContext&&body.set("query_context",queryContext),!isComment&&queryVars&&body.set("query_vars",queryVars),!isComment&&renderConfig&&body.set("render_config",renderConfig),isComment&&postId){body.set("post_id",postId),body.set("comment_order",commentOrder);var authorOnly=container.dataset.authorOnly||"0";authorOnly==="1"&&body.set("author_only","1")}return fetch(aksrtData.ajaxUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},credentials:"same-origin",body:body.toString()}).then(function(r){if(!r.ok)throw new Error("HTTP "+r.status);return r.text().then(function(text){try{return JSON.parse(text)}catch{throw new Error("Invalid JSON")}})}).then(function(res){if(!(res&&res.success&&res.data&&typeof res.data.html=="string")){var msg=res&&res.data&&res.data.message?res.data.message:errorText;return markFailed(msg),!1}var temp=document.createElement("div");temp.innerHTML=res.data.html;for(var newItems=temp.children;newItems.length>0;)container.parentNode===target?target.insertBefore(newItems[0],container):target.appendChild(newItems[0]);return target.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun(),nextPage++,container.dataset.nextPage=String(nextPage),fromAuto&&successfulAutoLoads++,(nextPage>maxPages||!res.data.has_more)&&(stopInfinite(!0),loadMoreBtn||(container.innerHTML=''+nomoreText+"")),!0}).catch(function(){return markFailed(errorText),!1}).finally(function(){if(loading=!1,hideSkeleton(),loadMoreBtn&&!loadMoreBtn.classList.contains("ajax-nomore")&&!failed&&(loadMoreBtn.innerHTML=triggerText,mode==="infinite")){var lazyTrigger=clickTarget.closest(".next-page")||clickTarget;iasMax>0&&successfulAutoLoads>=iasMax?(container.classList.remove("ias-pending"),lazyTrigger.classList.remove("lazyload","lazyloaded","lazyloading"),lazyTrigger.removeAttribute("lazyload-action")):(lazyTrigger.classList.remove("lazyloaded","lazyloading"),lazyTrigger.classList.add("lazyload"),window.lazySizes&&lazySizes.loader&&lazySizes.loader.checkElems())}})}if(loadMoreBtn&&clickTarget.addEventListener("click",function(e){if(!(e.target.closest&&e.target.closest(".ajax-option, .post_ajax_trigger"))){if(e.preventDefault(),loadMoreBtn.dataset.jumpComments==="1"){var jumpInput=container.querySelector(".jump-input");if(!jumpInput)return;var targetPage=parseInt(jumpInput.value,10)||1,max=parseInt(jumpInput.dataset.maxPages||String(maxPages),10)||maxPages;if(targetPage=Math.max(1,Math.min(max,targetPage)),window.AksrtComments&&typeof window.AksrtComments.loadPage=="function"){e.preventDefault(),window.AksrtComments.loadPage(targetPage);return}window.location.hash="comments",window.location.reload();return}if(loadMoreBtn.dataset.jumpArchive==="1"){var archiveJumpInput=container.querySelector(".jump-input");if(!archiveJumpInput)return;var archiveTargetPage=parseInt(archiveJumpInput.value,10)||1,archiveMax=parseInt(archiveJumpInput.dataset.maxPages||String(maxPages),10)||maxPages;archiveTargetPage=Math.max(1,Math.min(archiveMax,archiveTargetPage));var archiveUrl=new URL(window.location.href);archiveUrl.searchParams.set(loadMoreBtn.dataset.pageVar||"paged",String(archiveTargetPage)),window.location.href=archiveUrl.toString();return}var fromAuto=clickTarget.dataset.lazyAuto==="1";if(delete clickTarget.dataset.lazyAuto,fromAuto&&iasMax>0&&successfulAutoLoads>=iasMax){container.classList.remove("ias-pending");return}failed=!1,loadNextPage(fromAuto)}}),(container.classList.contains("lazyload")||clickTarget.classList.contains("lazyload"))&&container.addEventListener("lazybeforeunveil",function(e){e.target!==container&&e.target!==clickTarget||(clickTarget.dataset.lazyAuto="1",clickTarget.click())}),mode==="infinite"){if(isComment&&window.aksrtData&&aksrtData.commentIasAuto===!1||!hasAjaxConfig()){var autoTrigger=clickTarget.closest(".next-page")||clickTarget;autoTrigger.classList.remove("lazyload"),autoTrigger.removeAttribute("lazyload-action");return}container.classList.add("ias-pending")}})}}function init(root){initAjaxPagination(root)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){init()}):init(),window.jQuery&&window.jQuery(document).on("auto_fun",function(){init()})})(),(function(){"use strict";function initArchiveFilter(root){var scope=root||document,bar=scope.querySelector(".archive-filter-bar--ajax[data-ajax-archive]");if(!bar||bar.dataset.aksrtArchiveInit==="1")return;bar.dataset.aksrtArchiveInit="1";var archiveType=bar.dataset.ajaxArchive||"category",termId=parseInt(bar.dataset.termId,10)||0,wrap=scope.querySelector("[data-ajax-wrap]");if(!wrap)return;var loading=wrap.querySelector(".post_ajax_loader"),REST_BASE="/wp-json/aksrt/v1/archive/posts",emptyText=archiveType==="tag"?"该标签下暂无文章":"该分类下暂无文章",state={filter_cat:"",filter_tag:"",custom:{},sort:"date",page:1},activeCat=bar.querySelector("[data-filter-cat].is-active");activeCat&&(state.filter_cat=activeCat.dataset.filterCat||"");var activeTag=bar.querySelector("[data-filter-tag].is-active");activeTag&&(state.filter_tag=activeTag.dataset.filterTag||"");var activeSort=bar.querySelector("[data-filter-sort].is-active");activeSort&&(state.sort=activeSort.dataset.filterSort||"date"),bar.querySelector("[data-filter-dim]")&&new URLSearchParams(window.location.search).forEach(function(value,key){bar.querySelector('[data-filter-dim="'+key+'"]')&&(state.custom[key]=value)});function buildUrl(){var params=new URLSearchParams;return params.set("archive_type",archiveType),params.set("term_id",String(termId)),state.filter_cat&¶ms.set("filter_cat",state.filter_cat),state.filter_tag&¶ms.set("filter_tag",state.filter_tag),Object.keys(state.custom).length&¶ms.set("custom_filter",JSON.stringify(state.custom)),params.set("sort",state.sort||"date"),params.set("page",String(state.page)),REST_BASE+"?"+params.toString()}function updateActiveChips(){bar.querySelectorAll("[data-filter-cat]").forEach(function(el){el.classList.toggle("is-active",(el.dataset.filterCat||"")===state.filter_cat)}),bar.querySelectorAll("[data-filter-tag]").forEach(function(el){el.classList.toggle("is-active",(el.dataset.filterTag||"")===state.filter_tag)}),bar.querySelectorAll("[data-filter-sort]").forEach(function(el){el.classList.toggle("is-active",(el.dataset.filterSort||"date")===state.sort)}),bar.querySelectorAll("[data-filter-dim]").forEach(function(el){var current=state.custom[el.dataset.filterDim]||"";el.classList.toggle("is-active",(el.dataset.filterDimValue||"")!==""&&(el.dataset.filterDimValue||"")===current)})}function showLoading(){loading&&loading.classList.add("is-loading")}function hideLoading(){loading&&loading.classList.remove("is-loading")}function rebuildEmptyState(){var noResults=document.createElement("div");noResults.className="no-results content-stream__empty",noResults.innerHTML="

"+emptyText+"

",wrap.appendChild(noResults)}function fetchPosts(pushState){showLoading(),fetch(buildUrl(),{method:"GET",headers:{Accept:"application/json"},credentials:"same-origin"}).then(function(r){if(!r.ok)throw new Error("HTTP "+r.status);return r.json()}).then(function(data){if(hideLoading(),data.html!==void 0){var keep=function(node){return node===loading||node.classList.contains("post_ajax_loader")||node.classList.contains("ajax-pag")};if(Array.from(wrap.children).forEach(function(child){keep(child)||wrap.removeChild(child)}),data.html){var temp=document.createElement("div");for(temp.innerHTML=data.html;temp.firstChild;)wrap.appendChild(temp.firstChild)}else rebuildEmptyState();wrap.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun()}if(pushState!==!1){var url=new URL(window.location.href);url.searchParams.delete("orderby"),url.searchParams.delete("order"),url.searchParams.delete("paged"),url.searchParams.delete("aksrt_filter_cat"),url.searchParams.delete("aksrt_filter_tag"),bar.querySelectorAll("[data-filter-dim]").forEach(function(el){url.searchParams.delete(el.dataset.filterDim)}),state.filter_cat&&url.searchParams.set("aksrt_filter_cat",state.filter_cat),state.filter_tag&&url.searchParams.set("aksrt_filter_tag",state.filter_tag),Object.keys(state.custom).forEach(function(key){url.searchParams.set(key,state.custom[key])}),state.sort&&url.searchParams.set("orderby",state.sort),state.page>1&&url.searchParams.set("paged",String(state.page)),history.pushState({aksrtArchive:!0,state:Object.assign({},state)},"",url.toString())}}).catch(function(){hideLoading()})}bar.addEventListener("click",function(e){var chip=e.target.closest("[data-filter-cat], [data-filter-tag], [data-filter-sort], [data-filter-dim]");if(chip){e.preventDefault();var changed=!1;if(chip.dataset.filterCat!==void 0){var newCat=chip.dataset.filterCat;newCat!==state.filter_cat&&(state.filter_cat=newCat,changed=!0)}if(chip.dataset.filterTag!==void 0){var newTag=chip.dataset.filterTag;newTag!==state.filter_tag&&(state.filter_tag=newTag,changed=!0)}if(chip.dataset.filterSort!==void 0){var newSort=chip.dataset.filterSort||"date";newSort!==state.sort&&(state.sort=newSort,changed=!0)}if(chip.dataset.filterDim!==void 0){var dimKey=chip.dataset.filterDim,dimValue=chip.dataset.filterDimValue||"";dimValue!==(state.custom[dimKey]||"")&&(dimValue===""?delete state.custom[dimKey]:state.custom[dimKey]=dimValue,changed=!0)}changed&&(state.page=1,updateActiveChips(),fetchPosts(!0))}}),wrap.addEventListener("click",function(e){var pageLink=e.target.closest(".pagination a, .nav-links a, a.page-numbers");if(!(!pageLink||!wrap.contains(pageLink))){var href=pageLink.getAttribute("href");if(href){var match=href.match(/[?&]paged=(\d+)/);match&&(e.preventDefault(),state.page=parseInt(match[1],10)||1,fetchPosts(!0))}}}),window.addEventListener("popstate",function(e){e.state&&e.state.aksrtArchive&&(state=Object.assign(state,e.state.state),updateActiveChips(),fetchPosts(!1))})}function init(root){initArchiveFilter(root)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){init()}):init(),window.jQuery&&window.jQuery(document).on("auto_fun",function(){init()})})(),(function(){"use strict";function initFooterTabbar(){var tabbar=document.getElementById("footer-tabbar");if(!tabbar||tabbar.dataset.aksrtTabbarInit==="1")return;tabbar.dataset.aksrtTabbarInit="1";var addBackdrop=document.getElementById("tabbar-add-backdrop"),ticking=!1,scrollThreshold=100,isHidden=!1;function handleScrollDownHide(){var body=document.body,scrollTop=window.pageYOffset||document.documentElement.scrollTop;scrollTop>scrollThreshold?body.classList.contains("scroll-down")&&!isHidden?(tabbar.classList.add("is-hidden"),isHidden=!0):body.classList.contains("scroll-up")&&isHidden&&(tabbar.classList.remove("is-hidden"),isHidden=!1):(tabbar.classList.remove("is-hidden"),isHidden=!1)}function handleOntopWrap(){var ontopWraps=tabbar.querySelectorAll(".tabbar-ontop-wrap"),scrollTop=window.pageYOffset||document.documentElement.scrollTop;ontopWraps.forEach(function(wrap){scrollTop>scrollThreshold?wrap.classList.add("is-scrolled"):wrap.classList.remove("is-scrolled")})}function onScroll(){ticking||(requestAnimationFrame(function(){tabbar.classList.contains("scroll-down-hide")&&handleScrollDownHide(),handleOntopWrap(),ticking=!1}),ticking=!0)}window.addEventListener("scroll",onScroll,{passive:!0});function closeAddPanels(){document.querySelectorAll(".tabbar-add-panel").forEach(function(panel){panel.setAttribute("hidden","")}),addBackdrop&&addBackdrop.setAttribute("hidden",""),document.body.classList.remove("tabbar-add-open")}function openAddPanel(panelId){closeAddPanels();var panel=document.getElementById(panelId);panel&&(panel.removeAttribute("hidden"),addBackdrop&&addBackdrop.removeAttribute("hidden"),document.body.classList.add("tabbar-add-open"))}addBackdrop&&addBackdrop.addEventListener("click",closeAddPanels),document.addEventListener("keydown",function(e){e.key==="Escape"&&closeAddPanels()});var homeClickTimer=null;tabbar.addEventListener("click",function(e){var addBtn=e.target.closest('.tabbar-item[data-type="add"]');if(addBtn){e.preventDefault(),openAddPanel(addBtn.getAttribute("data-panel-id"));return}var searchBtn=e.target.closest('.tabbar-item[data-type="search"]');if(searchBtn){e.preventDefault(),typeof window.__aksrtOpenSearchPanel=="function"&&window.__aksrtOpenSearchPanel();return}var ontopBtn=e.target.closest(".tabbar-ontop-btn");if(ontopBtn){e.preventDefault(),window.scrollTo({top:0,behavior:"smooth"});return}var homeBtn=e.target.closest('.tabbar-item[data-type="home"]');if(homeBtn&&tabbar.classList.contains("has-animation")){if(homeClickTimer){clearTimeout(homeClickTimer),homeClickTimer=null,window.location.reload();return}homeClickTimer=setTimeout(function(){homeClickTimer=null},350)}}),document.addEventListener("click",function(e){e.target.closest("[data-close-tabbar-add-panel]")&&closeAddPanels()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initFooterTabbar):initFooterTabbar()})(),(function(){"use strict";function renderGradientBackground(container){if(!(!container||container.dataset.aksrtGradientState||typeof window.Grade!="function")){var source=container.querySelector("img");!source||!source.classList.contains("lazyloaded")&&!(source.complete&&source.naturalWidth>0)||(container.dataset.aksrtGradientState="loading",window.Grade(container,null,function(result){var gradientData=result&&result[0],colors=gradientData&&gradientData.gradientData;if(!gradientData||!colors||!colors[0]||!colors[1]){delete container.dataset.aksrtGradientState;return}var opacity=container.getAttribute("data-opacity"),colorName=opacity?"rgba":"rgb",alpha=opacity?","+opacity:"",color1=colorName+"("+colors[0].rgba.slice(0,3).join(",")+alpha+") 10%",color2=colorName+"("+colors[1].rgba.slice(0,3).join(",")+alpha+") 80%";gradientData.element.classList.add("gradient-bg-loaded"),gradientData.element.style.backgroundImage="linear-gradient(135deg, "+color1+", "+color2+")",container.dataset.aksrtGradientState="loaded"}))}}function initGradientBackgrounds(root){var scope=root||document;scope.nodeType===1&&scope.matches(".gradient-bg")&&renderGradientBackground(scope),scope.querySelectorAll(".gradient-bg").forEach(renderGradientBackground)}document.addEventListener("lazyloaded",function(event){!(event.target instanceof Element)||!event.target.matches(".gradient-bg img")||renderGradientBackground(event.target.closest(".gradient-bg"))},!0);function initPostThumbMedia(root){var scope=root||document;scope.querySelectorAll("[data-post-thumb-video]").forEach(function(box){if(box.dataset.aksrtThumbVideoBound==="1")return;box.dataset.aksrtThumbVideoBound="1";var video=box.querySelector("video");if(!video)return;function loadVideo(){!video.getAttribute("src")&&video.dataset.src&&(video.setAttribute("src",video.dataset.src),video.load())}function playVideo(){loadVideo();var result=video.play(),postItem=box.closest(".posts-item");postItem&&postItem.classList.add("thumb-dplayer-playing"),result&&typeof result.catch=="function"&&result.catch(function(){})}function pauseVideo(){video.pause();var postItem=box.closest(".posts-item");postItem&&postItem.classList.remove("thumb-dplayer-playing")}var item=box.closest(".item-thumbnail")||box;item.addEventListener("mouseenter",playVideo),item.addEventListener("mouseleave",pauseVideo),item.addEventListener("focusin",playVideo),item.addEventListener("focusout",pauseVideo)})}function init(root){initPostThumbMedia(root),initGradientBackgrounds(root)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){init()}):init(),window.jQuery&&window.jQuery(document).on("auto_fun",function(){init()})})(),(function(){"use strict";function initHiddenContent(){document.addEventListener("click",function(e){var btn=e.target.closest(".aksrt-hidden-content__submit-btn");if(btn){e.preventDefault();var wrapper=btn.closest(".aksrt-hidden-content--locked");if(wrapper){var mode=wrapper.getAttribute("data-aksrt-visibility-mode"),pid=wrapper.getAttribute("data-aksrt-visibility-pid"),input=wrapper.querySelector(".aksrt-hidden-content__password-input"),password=input?input.value.trim():"";if(mode==="password"&&!password){input&&input.focus();return}var formData=new FormData;formData.append("action","aksrt_check_visibility"),formData.append("_nonce",window.aksrtData&&aksrtData.visibilityNonce||""),formData.append("mode",mode),formData.append("pid",pid),password&&formData.append("password",password),btn.disabled=!0,btn.textContent="...",fetch(window.aksrtData&&aksrtData.ajaxUrl||"/wp-admin/admin-ajax.php",{method:"POST",body:formData,credentials:"same-origin"}).then(function(res){return res.json()}).then(function(data){if(data.success)window.location.reload();else{var msg=data.data&&data.data.message?data.data.message:"验证失败";alert(msg),btn.disabled=!1,btn.textContent="验证"}}).catch(function(){alert("网络错误,请重试"),btn.disabled=!1,btn.textContent="验证"})}}}),document.addEventListener("keydown",function(e){if(e.key==="Enter"&&e.target.classList.contains("aksrt-hidden-content__password-input")){e.preventDefault();var wrapper=e.target.closest(".aksrt-hidden-content--locked");if(wrapper){var btn=wrapper.querySelector(".aksrt-hidden-content__submit-btn");btn&&btn.click()}}})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initHiddenContent):initHiddenContent()})(),(function(){"use strict";var THEME_KEY="aksrt-theme",THEME_COOKIE_KEY="theme_mode";function normalizeStoredTheme(value){return value==="dark"||value==="dark-theme"?"dark":value==="light"||value==="white-theme"?"light":null}function toCookieTheme(value){return value==="dark"?"dark-theme":"white-theme"}function getCookie(name){for(var parts=document.cookie?document.cookie.split("; "):[],i=0;i=20||hour<8?"dark":"light"}function resolveConfiguredTheme(mode){var normalized=normalizeStoredTheme(mode);return normalized||(mode==="time-auto"||mode==="auto"?getTimeAutoTheme():"light")}function syncBrandLogos(isDark){document.querySelectorAll("[data-logo-light]").forEach(function(img){var lightSrc=img.getAttribute("data-logo-light")||"",darkSrc=img.getAttribute("data-logo-dark")||"";lightSrc&&img.setAttribute("src",isDark&&darkSrc?darkSrc:lightSrc)})}function syncThemeColorMeta(isDark){var meta=document.querySelector('meta[name="theme-color"]');meta||(meta=document.createElement("meta"),meta.setAttribute("name","theme-color"),document.head.appendChild(meta)),meta.setAttribute("content",isDark?"#2F3135":"#FDFCFE")}function getThemeImageAttr(img,name){return img.getAttribute(name)||img.getAttribute("data-"+name)||""}function setThemeImageSource(img,src){!src||img.getAttribute("src")===src||img.setAttribute("src",src)}function syncThemeImages(isDark){document.querySelectorAll("img[switch-src], img[data-switch-src]").forEach(function(img){var darkSrc=getThemeImageAttr(img,"switch-src");img.dataset.aksrtThemeLightSrc||(img.dataset.aksrtThemeLightSrc=img.getAttribute("src")||""),setThemeImageSource(img,isDark&&darkSrc?darkSrc:img.dataset.aksrtThemeLightSrc)}),document.querySelectorAll("img[white-src], img[dark-src], img[data-white-src], img[data-dark-src]").forEach(function(img){var lightSrc=getThemeImageAttr(img,"white-src")||img.dataset.aksrtThemeLightSrc||img.getAttribute("src")||"",darkSrc=getThemeImageAttr(img,"dark-src");!img.dataset.aksrtThemeLightSrc&&lightSrc&&(img.dataset.aksrtThemeLightSrc=lightSrc),setThemeImageSource(img,isDark&&darkSrc?darkSrc:lightSrc)})}function syncCodeHighlightTheme(isDark){if(typeof window.AksrtPrecodeApplyTheme=="function"){window.AksrtPrecodeApplyTheme(isDark);return}var settings=window.aksrtData&&window.aksrtData.codeHighlight||{},theme=isDark?settings.darkTheme||"monokai":settings.lightTheme||"enlighter";document.querySelectorAll(".enlighter-default").forEach(function(el){el.className=el.className.replace(/\benlighter-t-[\w-]+\b/g,"").replace(/\s+/g," ").trim(),el.classList.add("enlighter-t-"+theme)})}function dispatchThemeChange(isDark){try{document.dispatchEvent(new CustomEvent("aksrt:theme-change",{detail:{theme:isDark?"dark":"light",isDark}}))}catch{}}function applyTheme(mode){var isDark=mode==="dark";document.documentElement.classList.toggle("dark",isDark),document.documentElement.setAttribute("data-theme",isDark?"dark":"light"),document.body.classList.toggle("theme-dark",isDark),document.body.classList.toggle("dark-theme",isDark),document.body.classList.toggle("white-theme",!isDark),document.body.setAttribute("data-theme",isDark?"dark":"light"),syncBrandLogos(isDark),syncThemeColorMeta(isDark),syncThemeImages(isDark),syncCodeHighlightTheme(isDark),dispatchThemeChange(isDark),document.querySelectorAll("#theme-toggle, #theme-toggle-desktop, #theme-toggle-mobile, #dropdown-theme-toggle, .toggle-theme, [data-action='toggle-theme']").forEach(function(btn){if(btn){btn.setAttribute("aria-pressed",isDark?"true":"false"),btn.classList.toggle("is-dark",isDark);var moon=btn.querySelector(".theme-icon-moon"),sun=btn.querySelector(".theme-icon-sun");moon&&(moon.removeAttribute("style"),moon.setAttribute("aria-hidden",isDark?"true":"false")),sun&&(sun.removeAttribute("style"),sun.setAttribute("aria-hidden",isDark?"false":"true"))}});var ddBtn=document.getElementById("dropdown-theme-toggle");ddBtn&&ddBtn.setAttribute("aria-pressed",isDark?"true":"false")}var themeInitialized=!1;function initTheme(){if(themeInitialized)return;themeInitialized=!0;var stored=getStoredTheme(),configuredMode=window.aksrtData&&window.aksrtData.themeMode||"light";applyTheme(stored==="dark"||stored==="light"?stored:resolveConfiguredTheme(configuredMode));function prefersReducedMotion(){return window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function getThemeTransitionPoint(event){return event&&typeof event.clientX=="number"&&typeof event.clientY=="number"?{x:event.clientX,y:event.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2}}function runThemeTransition(next,event){if(!document.startViewTransition||prefersReducedMotion()){applyTheme(next);return}var point=getThemeTransitionPoint(event),endRadius=Math.hypot(Math.max(point.x,window.innerWidth-point.x),Math.max(point.y,window.innerHeight-point.y)),clipPath=["circle(0px at "+point.x+"px "+point.y+"px)","circle("+endRadius+"px at "+point.x+"px "+point.y+"px)"],enteringDark=next==="dark";try{var transition=document.startViewTransition(function(){applyTheme(next)});transition.ready.then(function(){try{document.documentElement.animate({clipPath:enteringDark?clipPath:clipPath.slice().reverse()},{duration:500,easing:enteringDark?"ease-in":"ease-out",fill:"both",pseudoElement:enteringDark?"::view-transition-new(root)":"::view-transition-old(root)"})}catch{}}).catch(function(){})}catch{applyTheme(next)}}function bindToggle(id){var el=document.getElementById(id);el&&el.addEventListener("click",function(event){var next=document.body.classList.contains("theme-dark")?"light":"dark";setStoredTheme(next),runThemeTransition(next,event)})}bindToggle("theme-toggle"),bindToggle("theme-toggle-desktop"),bindToggle("dropdown-theme-toggle"),bindToggle("theme-toggle-mobile")}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initTheme):initTheme()})(),(function(){"use strict";var API_ROOT=(function(){var data=window.aksrtData||{},raw=data.apiUrl||data.restUrl||data.rest_url||"/index.php?rest_route=/aksrt/v1";return String(raw).replace(/\/$/,"")})(),NONCE=window.aksrtData&&window.aksrtData.restNonce||"";function buttonsFor(userId){return Array.prototype.slice.call(document.querySelectorAll('[data-aksrt-follow="'+userId+'"]'))}function setLoading(buttons,loading){buttons.forEach(function(button){button.disabled=loading,button.classList.toggle("is-loading",loading)})}function updateButton(button,isFollowing){var icon=button.querySelector("i"),label=button.querySelector("[data-aksrt-follow-label]");label&&(button.classList.toggle("is-following",isFollowing),icon&&(icon.className=isFollowing?"fa fas fa-heart em09":"fa far fa-heart em09"),label.textContent=isFollowing?"已关注":"关注",button.title=isFollowing?"点击取消关注":"关注该用户")}function updateFollowerCount(count){var countEl=document.querySelector(".aksrt-user-home__stat-value[data-followers]");countEl&&count!==void 0&&(countEl.textContent=count)}document.addEventListener("click",function(event){var button=event.target.closest("[data-aksrt-follow]");if(button){event.preventDefault();var targetUserId=parseInt(button.getAttribute("data-aksrt-follow"),10);if(!(!targetUserId||button.disabled)){var matchingButtons=buttonsFor(targetUserId);setLoading(matchingButtons,!0),fetch(API_ROOT+"/follow/toggle",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":NONCE},body:JSON.stringify({target_user_id:targetUserId})}).then(function(response){return response.json()}).then(function(result){if(!result.success||!result.data){notyf(result.message||"操作失败","danger");return}var isFollowing=!!result.data.is_following;if(matchingButtons.forEach(function(matchingButton){updateButton(matchingButton,isFollowing)}),updateFollowerCount(result.data.follower_count),!isFollowing){var managementItem=button.closest(".uc-follow-management__item");managementItem&&managementItem.remove()}notyf(isFollowing?"关注成功":"已取消关注","success")}).catch(function(){notyf("网络错误,请重试","danger")}).finally(function(){setLoading(matchingButtons,!1)})}}})})(),(function(){"use strict";var initialized=!1;function initScrollDirection(){var body=document.body;function sync(){body.classList.toggle("aksrt-body-scroll",body.classList.contains("body-scroll")),body.classList.toggle("aksrt-scroll-down",body.classList.contains("scroll-down")),body.classList.toggle("aksrt-scroll-up",body.classList.contains("scroll-up")),body.classList.add("aksrt-scrolling"),clearTimeout(body._aksrtScrollTimer),body._aksrtScrollTimer=setTimeout(function(){body.classList.remove("aksrt-scrolling")},300)}function onScroll(){requestAnimationFrame(sync)}window.addEventListener("scroll",onScroll,{passive:!0})}function init(){initialized||(initialized=!0,initScrollDirection())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init()})(),(function(){"use strict";function initTilt(){document.querySelectorAll("[data-aksrt-tilt]").forEach(function(el){if(!el.dataset.tiltInit){el.dataset.tiltInit="1";var maxTilt=parseInt(el.dataset.aksrtTiltMax||"15",10),perspective=parseInt(el.dataset.aksrtTiltPerspective||"1000",10),scale=parseFloat(el.dataset.aksrtTiltScale||"1.03"),speed=parseInt(el.dataset.aksrtTiltSpeed||"400",10),glare=el.dataset.aksrtTiltGlare==="1";el.style.transformStyle="preserve-3d",el.style.transition="transform "+speed+"ms ease";var glareEl=null;glare&&(glareEl=document.createElement("div"),glareEl.style.cssText="position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity "+speed+"ms;",el.style.position=el.style.position||"relative",el.style.overflow="hidden",el.appendChild(glareEl)),el.addEventListener("mousemove",function(e){var rect=el.getBoundingClientRect(),x=(e.clientX-rect.left)/rect.width,y=(e.clientY-rect.top)/rect.height,tiltX=(.5-y)*maxTilt,tiltY=(x-.5)*maxTilt;el.style.transform="perspective("+perspective+"px) rotateX("+tiltX+"deg) rotateY("+tiltY+"deg) scale3d("+scale+","+scale+","+scale+")",glareEl&&(glareEl.style.opacity="1",glareEl.style.background="linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%)",glareEl.style.transform="translate("+(x-.5)*100+"%, "+(y-.5)*100+"%)")}),el.addEventListener("mouseleave",function(){el.style.transform="perspective("+perspective+"px) rotateX(0deg) rotateY(0deg) scale3d(1,1,1)",glareEl&&(glareEl.style.opacity="0")})}})}function initScrollAnimations(){if(!("IntersectionObserver"in window)){document.querySelectorAll("[data-aksrt-animate]").forEach(function(el){el.style.opacity="1",el.style.transform="none"});return}var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){var el=entry.target,animation=el.dataset.aksrtAnimate||"fadeInUp",delay=parseInt(el.dataset.aksrtAnimateDelay||"0",10),duration=parseInt(el.dataset.aksrtAnimateDuration||"600",10);setTimeout(function(){el.style.transition="opacity "+duration+"ms ease, transform "+duration+"ms ease",el.style.opacity="1",el.style.transform="translateY(0) translateX(0) scale(1)",el.classList.add("aksrt-animated")},delay),observer.unobserve(el)}})},{threshold:.1,rootMargin:"0px 0px -50px 0px"});document.querySelectorAll("[data-aksrt-animate]").forEach(function(el){if(!el.dataset.aksrtAnimateInit){el.dataset.aksrtAnimateInit="1";var animation=el.dataset.aksrtAnimate||"fadeInUp";switch(el.style.opacity="0",animation){case"fadeIn":el.style.transform="none";break;case"fadeInUp":el.style.transform="translateY(30px)";break;case"fadeInDown":el.style.transform="translateY(-30px)";break;case"fadeInLeft":el.style.transform="translateX(-30px)";break;case"fadeInRight":el.style.transform="translateX(30px)";break;case"zoomIn":el.style.transform="scale(0.9)";break;default:el.style.transform="translateY(30px)"}observer.observe(el)}})}function initSticky(){document.querySelectorAll("[data-aksrt-sticky]").forEach(function(el){if(el.dataset.aksrtStickyInit)return;el.dataset.aksrtStickyInit="1";var top=parseInt(el.dataset.aksrtStickyTop||"80",10),offset=parseInt(el.dataset.aksrtStickyOffset||"0",10);function update(){var rect=el.getBoundingClientRect(),parentRect=el.parentElement.getBoundingClientRect();parentRect.topel.offsetHeight+top&&(el.style.position="sticky",el.style.top=top+"px")}window.addEventListener("scroll",update,{passive:!0})})}var parallaxScrollBound=!1;function initParallax(){if(!document.querySelector("[data-aksrt-parallax]")||parallaxScrollBound)return;parallaxScrollBound=!0;var ticking=!1;function update(){document.querySelectorAll("[data-aksrt-parallax]").forEach(function(el){var speed=parseFloat(el.dataset.aksrtParallax||"0.3"),rect=el.getBoundingClientRect(),center=rect.top+rect.height/2,windowCenter=window.innerHeight/2,offset=(center-windowCenter)*speed;el.style.transform="translateY("+offset+"px)"}),ticking=!1}window.addEventListener("scroll",function(){ticking||(requestAnimationFrame(update),ticking=!0)},{passive:!0})}var rippleBound=!1;function initRipple(){rippleBound||(rippleBound=!0,document.addEventListener("click",function(e){var el=e.target.closest(".aksrt-ripple");if(el){var rect=el.getBoundingClientRect(),x=e.clientX-rect.left,y=e.clientY-rect.top,size=Math.max(rect.width,rect.height)*2,wave=document.createElement("span");wave.className="aksrt-ripple__wave",wave.style.width=wave.style.height=size+"px",wave.style.left=x-size/2+"px",wave.style.top=y-size/2+"px",el.appendChild(wave),wave.addEventListener("animationend",function(){wave.remove()})}}))}function initFloatLabels(){document.querySelectorAll(".aksrt-float-label__input").forEach(function(input){input.dataset.aksrtFloatInit||(input.dataset.aksrtFloatInit="1",input.value&&input.setAttribute("data-has-value","1"),input.addEventListener("input",function(){this.value?this.setAttribute("data-has-value","1"):this.removeAttribute("data-has-value")}))})}function init(){initTilt(),initScrollAnimations(),initRipple(),initSticky(),initParallax(),initFloatLabels()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtEnhancements={initTilt,initScrollAnimations,initRipple}})(),(function(){"use strict";var canvas=null,ctx=null;function getCanvas(){return canvas||(canvas=document.createElement("canvas"),canvas.width=40,canvas.height=40,ctx=canvas.getContext("2d",{willReadFrequently:!0})),{canvas,ctx}}function extractColor(img){try{var c=getCanvas();c.ctx.drawImage(img,0,0,40,40);for(var data=c.ctx.getImageData(0,0,40,40).data,r=0,g=0,b=0,count=0,step=4,i=0;i240||data[i+3]<128||(r+=pr,g+=pg,b+=pb,count++)}return count===0?null:(r=Math.round(r/count),g=Math.round(g/count),b=Math.round(b/count),{r,g,b,hex:rgbToHex(r,g,b)})}catch{return null}}function rgbToHex(r,g,b){return"#"+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1)}function lighten(r,g,b,amount){return rgbToHex(Math.min(255,r+amount),Math.min(255,g+amount),Math.min(255,b+amount))}function darken(r,g,b,amount){return rgbToHex(Math.max(0,r-amount),Math.max(0,g-amount),Math.max(0,b-amount))}function applyColor(target,color){if(!(!target||!color)){var r=color.r,g=color.g,b=color.b;target.style.setProperty("--aksrt-dynamic-color",color.hex),target.style.setProperty("--aksrt-dynamic-color-rgb",r+","+g+","+b),target.style.setProperty("--aksrt-dynamic-color-light",lighten(r,g,b,60)),target.style.setProperty("--aksrt-dynamic-color-dark",darken(r,g,b,40)),!target.style.background&&!target.style.backgroundColor&&target.style.setProperty("--aksrt-dynamic-bg","rgba("+r+","+g+","+b+",0.05)")}}function processImage(img){if(img.dataset.aksrtColorDone)return;!img.crossOrigin&&img.src.indexOf(window.location.origin)!==0&&(img.crossOrigin="anonymous");function extract(){var color=extractColor(img);if(color){img.dataset.aksrtColorDone="1";var targetSelector=img.dataset.aksrtColorTarget,target=targetSelector?img.closest(targetSelector)||document.querySelector(targetSelector):img.parentElement;applyColor(target,color)}}img.complete&&img.naturalWidth>0?extract():img.addEventListener("load",extract,{once:!0})}function init(){document.querySelectorAll("[data-aksrt-color-extract]").forEach(processImage)}window.AksrtColorExtract={extract:extractColor,apply:applyColor,process:processImage,init},document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init)})(),(function(){"use strict";var reducedMotion=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function initCountUp(){if(!reducedMotion&&"IntersectionObserver"in window){var els=document.querySelectorAll("[data-aksrt-countup]:not([data-aksrt-countup-init])");if(els.length){var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var el=entry.target;observer.unobserve(el);var target=parseFloat(el.dataset.target||"0"),duration=parseInt(el.dataset.duration||"2000",10),decimals=(el.dataset.decimals||"0|").split("|"),prefix=decimals[1]||"",dec=parseInt(decimals[0],10)||0,start=0,startTime=null;function step(timestamp){startTime||(startTime=timestamp);var progress=Math.min((timestamp-startTime)/duration,1),eased=1-Math.pow(1-progress,3),current=start+(target-start)*eased;el.textContent=prefix+current.toFixed(dec).replace(/\B(?=(\d{3})+(?!\d))/g,","),progress<1?requestAnimationFrame(step):el.textContent=prefix+target.toFixed(dec).replace(/\B(?=(\d{3})+(?!\d))/g,",")}requestAnimationFrame(step)})},{threshold:.3});els.forEach(function(el){el.dataset.aksrtCountupInit="1",observer.observe(el)})}}}function initCountdown(){var els=document.querySelectorAll("[data-aksrt-countdown]:not([data-aksrt-countdown-init])");if(!els.length)return;function pad(n){return n<10?"0"+n:""+n}function update(el){var now=Date.now(),end=new Date(el.dataset.end).getTime(),diff=end-now;if(diff<=0){el.textContent=el.dataset.expired||"已结束";return}var d=Math.floor(diff/864e5),h=Math.floor(diff%864e5/36e5),m=Math.floor(diff%864e5/6e4),s=Math.floor(diff%6e4/1e3),format=el.dataset.format||"dhms";format==="dhms"?el.textContent=(d>0?d+"天 ":"")+pad(h)+":"+pad(m)+":"+pad(s):format==="hms"?el.textContent=pad(h+d*24)+":"+pad(m)+":"+pad(s):el.textContent=(d>0?d+"天 ":"")+pad(h)+"时"+pad(m)+"分"+pad(s)+"秒"}els.forEach(function(el){el.dataset.aksrtCountdownInit="1",update(el),setInterval(function(){update(el)},1e3)})}function initTilt(){reducedMotion||document.querySelectorAll("[data-aksrt-tilt]").forEach(function(el){if(!el.dataset.tiltBound){el.dataset.tiltBound="1";var maxDeg=parseFloat(el.dataset.tiltMax||"10"),perspective=parseFloat(el.dataset.tiltPerspective||"800"),scale=parseFloat(el.dataset.tiltScale||"1.03"),glare=el.dataset.tiltGlare==="1",glareEl=null;glare&&(glareEl=document.createElement("div"),glareEl.style.cssText="position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.25) 100%);opacity:0;transition:opacity 0.2s;",el.style.position=el.style.position||"relative",el.style.overflow="hidden",el.appendChild(glareEl)),el.addEventListener("mousemove",function(e){var rect=el.getBoundingClientRect(),x=(e.clientX-rect.left)/rect.width,y=(e.clientY-rect.top)/rect.height,rotateX=(.5-y)*maxDeg,rotateY=(x-.5)*maxDeg;el.style.transform="perspective("+perspective+"px) rotateX("+rotateX+"deg) rotateY("+rotateY+"deg) scale3d("+scale+","+scale+","+scale+")",glareEl&&(glareEl.style.opacity="1")}),el.addEventListener("mouseleave",function(){el.style.transform="perspective("+perspective+"px) rotateX(0deg) rotateY(0deg) scale3d(1,1,1)",glareEl&&(glareEl.style.opacity="0")})}})}var fpsDetected=!1;function initFpsDetection(){if(fpsDetected||!("requestAnimationFrame"in window))return;fpsDetected=!0;var frames=0,startTime=performance.now();function countFrames(){frames++;var elapsed=performance.now()-startTime;if(elapsed>=1e3){var fps=Math.round(frames*1e3/elapsed);fps<24&&document.body.classList.add("fps-accelerat");return}requestAnimationFrame(countFrames)}requestAnimationFrame(countFrames)}function init(){initCountUp(),initCountdown(),typeof initMarquee=="function"&&initMarquee(),initTilt(),initFpsDetection()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init)})(),(function(){"use strict";var TOKEN_FIELDS=Object.freeze(["captcha_verified","aksrt_captcha_challenge","aksrt_captcha_proof","cf_turnstile_response","tencent_ticket","tencent_randstr","geetest_lot_number","geetest_captcha_output","geetest_pass_token","geetest_gen_time","aliyun_captcha_verify_param"]),loaders={},instances={},scenes={};function asElement(scope){if(!scope)return null;if(scope.nodeType===1||scope.nodeType===9)return scope;if(typeof scope!="string")return null;if(instances[scope])return instances[scope].box;try{return document.querySelector(scope)}catch{return null}}function scopeBoundary(box,config){if(config.scope)try{var configured=document.querySelector(config.scope);if(configured)return configured}catch{}return box.closest("[data-aksrt-captcha-scope], form, [data-aksrt-download-box], [data-aksrt-auth], .aksrt-modal, [data-signin-captcha], #comments")||box.parentElement}function register(instance){instances[instance.uid]=instance,scenes[instance.scene]=scenes[instance.scene]||[],scenes[instance.scene].indexOf(instance)===-1&&scenes[instance.scene].push(instance)}function resolve(scene,scope){if(scan(),typeof scope=="string"&&instances[scope]&&instances[scope].scene===scene)return instances[scope];var candidates=scenes[scene]||[],element=asElement(scope);if(element&&element.getAttribute){var uid=element.getAttribute("data-aksrt-captcha-uid")||element.getAttribute("data-captcha-uid");if(uid&&instances[uid]&&instances[uid].scene===scene)return instances[uid]}if(!element)return scope?null:candidates.length===1?candidates[0]:null;var matches=candidates.filter(function(instance){var boundary=instance.scope;return element===instance.box||element===instance.mount||element===boundary||instance.box.contains(element)||instance.mount.contains(element)||boundary&&boundary.contains(element)||element.contains&&(element.contains(instance.box)||boundary&&element.contains(boundary))});return matches.length===1?matches[0]:matches.length?(matches.sort(function(a,b){return a.scope===b.scope?0:a.scope&&b.scope&&a.scope.contains(b.scope)?1:a.scope&&b.scope&&b.scope.contains(a.scope)?-1:0}),matches[0]):null}function verify(scene,scope){var instance=resolve(scene,scope);return instance?instance.verify():Promise.resolve(!0)}function collect(scene,scope){var instance=resolve(scene,scope);return instance?instance.collect():{}}function reset(scene,scope){var instance=resolve(scene,scope);instance&&instance.reset()}function releaseRunLock(instance){instance.runLocked=!1;var waiters=instance.lockWaiters.slice();instance.lockWaiters=[],waiters.forEach(function(resolveWaiter){resolveWaiter(null)})}function run(scene,scope){var instance=resolve(scene,scope);return instance?instance.runLocked?new Promise(function(resolveWaiter){instance.lockWaiters.push(resolveWaiter)}):(instance.runLocked=!0,instance.verify().then(function(passed){return passed||releaseRunLock(instance),passed?instance.collect():null}).catch(function(error){throw releaseRunLock(instance),error})):Promise.resolve({})}window.AKSRTCaptcha=Object.freeze({verify,collect,reset,run,TOKEN_FIELDS});function scan(){var mounts=document.querySelectorAll("[data-aksrt-captcha-config]");Array.prototype.forEach.call(mounts,function(mount){if(!mount.dataset.aksrtCaptchaBound){var config;try{config=JSON.parse(mount.getAttribute("data-aksrt-captcha-config"))}catch{return}!config||!config.scene||!config.uid||!config.vid||(mount.dataset.aksrtCaptchaBound="1",initMount(config,mount))}})}function initMount(C,mount){var box=document.getElementById(C.uid),hField=document.getElementById(C.vid);if(!box||!hField)return;var container=box.closest("form")||mount;mount.setAttribute("data-aksrt-captcha-uid",C.uid);var verified=!1,pending=[],refreshingChallenge=null,providerReset=function(){},triggerCaptcha=function(){showTip("验证码加载中,请稍候","#e67e22"),finishPending(!1)};function loadScriptOnce(key,src,readyCheck){return typeof readyCheck=="function"&&readyCheck()?Promise.resolve():(loaders[key]||(loaders[key]=new Promise(function(resolveLoad,rejectLoad){var existing=document.querySelector('script[data-aksrt-sdk="'+key+'"]');if(existing){if(typeof readyCheck=="function"&&readyCheck()){resolveLoad();return}existing.addEventListener("load",resolveLoad,{once:!0}),existing.addEventListener("error",function(){rejectLoad(new Error(key+" load failed"))},{once:!0});return}var script=document.createElement("script");script.src=src,script.async=!0,script.setAttribute("data-aksrt-sdk",key),script.onload=resolveLoad,script.onerror=function(){rejectLoad(new Error(key+" load failed"))},document.head.appendChild(script)})),loaders[key])}function setField(name,value){var field=container.querySelector('input[name="'+name+'"]');field||(field=document.createElement("input"),field.type="hidden",field.name=name,container.appendChild(field)),field.value=value??""}function collectFields(){var payload={};return TOKEN_FIELDS.forEach(function(name){var field=container.querySelector('input[name="'+name+'"]');field&&field.value!==""&&(payload[name]=field.value)}),payload}function refreshChallenge(){return!C.challenge_url||typeof window.fetch!="function"?Promise.resolve():refreshingChallenge||(refreshingChallenge=window.fetch(C.challenge_url,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({scene:C.scene})}).then(function(response){return response.json().catch(function(){return{}}).then(function(body){if(!response.ok||!body||body.success===!1)throw new Error(body.message||"challenge refresh failed");var data=body.data||body;if(!data.challenge)throw new Error("challenge missing");setField("aksrt_captcha_challenge",data.challenge)})}).catch(function(){showTip("无法刷新人机验证会话,请刷新页面重试","#e74c3c")}).finally(function(){refreshingChallenge=null}),refreshingChallenge)}function clearProviderTokens(){TOKEN_FIELDS.forEach(function(name){name==="captcha_verified"||name==="aksrt_captcha_challenge"||name==="aksrt_captcha_proof"||Array.prototype.forEach.call(container.querySelectorAll('input[name="'+name+'"]'),function(field){field.remove()})})}function resetVerificationState(){verified=!1,releaseRunLock(instance),hField.value="0",setField("aksrt_captcha_proof",""),clearProviderTokens();try{providerReset()}catch{}refreshChallenge()}function finishPending(ok){var callbacks=pending.slice();pending=[],callbacks.forEach(function(callback){callback(!!ok)})}function cancelPending(message){message&&showTip(message,"#e67e22"),finishPending(!1)}function providerPayload(){var payload=collectFields();return payload.scene=C.scene,payload}function exchangeVerification(){if(!C.exchange_url||typeof window.fetch!="function"){cancelPending("人机验证服务不可用,请刷新页面重试");return}window.fetch(C.exchange_url,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(providerPayload())}).then(function(response){return response.json().catch(function(){return{}}).then(function(body){if(!response.ok||!body||body.success===!1)throw new Error(body.message||"人机验证失败");var data=body.data||body;if(!data.proof)throw new Error("人机验证凭证缺失");setField("aksrt_captcha_proof",data.proof),clearProviderTokens(),completeVerification()})}).catch(function(error){cancelPending(error.message||"人机验证失败,请重试"),resetVerificationState()})}function completeProviderVerification(){hField.value="1",exchangeVerification()}function completeVerification(){verified=!0,hField.value="1",finishPending(!0)}function showTip(message,color){var tip=box.querySelector(".captcha-tip");tip||(tip=document.createElement("div"),tip.className="captcha-tip",tip.style.cssText="font-size:12px;margin-top:4px;text-align:left;",box.appendChild(tip)),tip.style.color=color||"#e74c3c",tip.textContent=message,setTimeout(function(){tip.parentNode&&tip.remove()},4e3)}function showLoading(){box.innerHTML='
验证码加载中...
'}function clearLoading(){box.innerHTML=""}var instance={uid:C.uid,scene:C.scene,box,mount,scope:scopeBoundary(box,C),runLocked:!1,lockWaiters:[],collect:collectFields,reset:resetVerificationState,verify:function(){var challengeField=container.querySelector('input[name="aksrt_captcha_challenge"]'),preparation=challengeField&&challengeField.value?Promise.resolve():refreshChallenge();return preparation.then(function(){return challengeField=container.querySelector('input[name="aksrt_captcha_challenge"]'),!challengeField||!challengeField.value?(showTip("人机验证会话未就绪,请稍后重试","#e74c3c"),!1):verified||hField.value==="1"?!0:new Promise(function(resolveVerify){pending.push(resolveVerify),pending.length===1&&triggerCaptcha()})})}};register(instance),refreshingChallenge=refreshChallenge();function loadTencent(){showLoading(),loadScriptOnce("tencent","https://turing.captcha.qcloud.com/TJCaptcha.js",function(){return typeof window.TencentCaptcha<"u"}).then(function(){clearLoading();var captchaInstance=null;triggerCaptcha=function(){captchaInstance||(captchaInstance=new window.TencentCaptcha(C.tc.app_id,function(result){if(result.ret===2){cancelPending("已取消验证");return}if(result.ret===0&&result.ticket){if(result.ticket.indexOf("trerror_")===0){cancelPending("验证码服务异常,请刷新页面重试");return}setField("tencent_ticket",result.ticket),setField("tencent_randstr",result.randstr),completeProviderVerification();return}var errorMap={1001:"验证码组件加载失败",1002:"验证码超时",1006:"验证码配置拉取失败",1008:"验证码页面加载异常",1012:"验证码刷新次数过多",1013:"验证码网络异常"};cancelPending(errorMap[result.errorCode]||"验证码异常,请重试")},{userLanguage:"zh-cn"})),captchaInstance.show()}}).catch(function(){clearLoading(),cancelPending("验证码组件加载失败,请刷新重试")})}function loadCloudflare(){var widgetId=null,verifying=!1,modal=null;function closeModal(){if(widgetId!==null&&typeof window.turnstile<"u")try{window.turnstile.remove(widgetId)}catch{}widgetId=null,modal&&modal.parentNode&&modal.parentNode.removeChild(modal),modal=null}function renderWidget(){if(typeof window.turnstile>"u"){setTimeout(renderWidget,200);return}widgetId=window.turnstile.render("#modalWidget_"+C.uid,{sitekey:C.cf.site_key,theme:C.cf.theme,size:C.cf.size,action:"aksrt-verify",cdata:C.scene,callback:function(token){verifying&&(verifying=!1,setField("cf_turnstile_response",token),closeModal(),completeProviderVerification())},"error-callback":function(){verifying=!1,closeModal(),cancelPending("验证码失败,请重试")},"expired-callback":function(){verifying=!1,closeModal(),cancelPending("验证码已过期,请重新验证")}})}function createModal(){modal=document.createElement("div"),modal.className="aksrt-captcha-modal-overlay",modal.innerHTML='
人机验证

请完成验证后继续操作

',document.body.appendChild(modal);var cancel=function(){verifying=!1,closeModal(),cancelPending("已取消验证")};modal.querySelector(".aksrt-captcha-modal-backdrop").addEventListener("click",cancel),modal.querySelector(".aksrt-captcha-modal-close").addEventListener("click",cancel),renderWidget()}window["onTurnstileLoad_"+C.uid]=function(){},typeof window.turnstile>"u"&&loadScriptOnce("cloudflare","https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onTurnstileLoad_"+C.uid+"&render=explicit",function(){return typeof window.turnstile<"u"}).catch(function(){cancelPending("验证码组件加载失败,请刷新重试")}),triggerCaptcha=function(){verifying||(verifying=!0,createModal())},providerReset=closeModal}function loadGeetest(){showLoading();var captchaId=C.gt&&C.gt.captcha_id?String(C.gt.captcha_id).trim():"",product=C.gt&&C.gt.product?String(C.gt.product):"bind";if(!captchaId){clearLoading(),cancelPending("极验 Captcha ID 未配置");return}function render(){clearLoading(),window.initGeetest4({captchaId,product,hideSuccess:!0},function(captchaInstance){function onSuccess(){var result=captchaInstance.getValidate();if(!result){cancelPending("验证码失败,请重试");return}setField("geetest_lot_number",result.lot_number),setField("geetest_captcha_output",result.captcha_output),setField("geetest_pass_token",result.pass_token),setField("geetest_gen_time",result.gen_time),completeProviderVerification()}captchaInstance.onReady(function(){}).onSuccess(onSuccess).onClose(function(){cancelPending("已取消验证")}),product!=="bind"&&product!=="popup"&&captchaInstance.appendTo("#"+C.uid),triggerCaptcha=function(){product==="bind"||product==="popup"?captchaInstance.showCaptcha():showTip("请先完成人机验证","#e67e22")},providerReset=function(){typeof captchaInstance.reset=="function"&&captchaInstance.reset()}})}typeof window.initGeetest4>"u"?loadScriptOnce("geetest","https://static.geetest.com/v4/gt4.js",function(){return typeof window.initGeetest4<"u"}).then(render).catch(function(){clearLoading(),cancelPending("极验组件加载失败")}):render()}function loadAliyun(){showLoading(),window.AliyunCaptchaConfig={region:C.al.region||"cn",prefix:C.al.prefix};function render(){clearLoading();var captchaInstance=null;window.initAliyunCaptcha({SceneId:C.al.scene_id,mode:"popup",element:"#"+C.uid,success:function(verifyParam){setField("aliyun_captcha_verify_param",verifyParam),completeProviderVerification()},fail:function(){cancelPending("验证码失败,请重试")},getInstance:function(value){captchaInstance=value},slideStyle:{width:360,height:40},language:"cn"}),triggerCaptcha=function(){captchaInstance&&captchaInstance.show?captchaInstance.show():cancelPending("验证码组件加载中,请稍候再试")},providerReset=function(){captchaInstance&&typeof captchaInstance.reset=="function"&&captchaInstance.reset()}}typeof window.initAliyunCaptcha>"u"?loadScriptOnce("aliyun","https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js",function(){return typeof window.initAliyunCaptcha<"u"}).then(render).catch(function(){clearLoading(),cancelPending("验证码组件加载失败,请刷新重试")}):render()}switch(C.provider){case"tencent":loadTencent();break;case"cloudflare":loadCloudflare();break;case"geetest":loadGeetest();break;case"aliyun":loadAliyun();break}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",scan):setTimeout(scan,0),window.jQuery&&window.jQuery(document).on("auto_fun",scan),window.MutationObserver&&new MutationObserver(function(mutations){var shouldScan=mutations.some(function(mutation){return mutation.addedNodes&&mutation.addedNodes.length});shouldScan&&scan()}).observe(document.documentElement,{childList:!0,subtree:!0})})(),(function(){"use strict";if("connection"in navigator){var conn=navigator.connection;if(conn.saveData||conn.effectiveType&&conn.effectiveType.indexOf("2g")!==-1)return}var hasHoverSupport=window.matchMedia("(hover: hover) and (pointer: fine)").matches;if(!hasHoverSupport)return;var prefetcher=document.createElement("link"),isPrefetched={},timer=null,DELAY=65,MAX_PREFETCH=3,prefetchedCount=0;if(!prefetcher.relList||!prefetcher.relList.supports||!prefetcher.relList.supports("prefetch"))return;function prefetch(url){if(!(isPrefetched[url]||prefetchedCount>=MAX_PREFETCH)&&url.indexOf("#")===-1){try{var link=new URL(url,window.location.origin);if(link.origin!==window.location.origin||link.pathname===window.location.pathname&&link.search===window.location.search)return}catch{return}if(!/\.(pdf|zip|rar|7z|tar|gz|exe|dmg|apk|mp[34]|avi|mov|wmv|flv|webm|ogg|wav|bmp|gif|ico|svg|woff2?|ttf|eot)(\?|$)/i.test(url)){isPrefetched[url]=!0,prefetchedCount++;var linkEl=document.createElement("link");linkEl.rel="prefetch",linkEl.href=url,linkEl.as="document",document.head.appendChild(linkEl)}}}function onHoverStart(e){var link=e.target.closest("a");!link||!link.href||link.target!=="_blank"&&(link.hasAttribute("download")||link.getAttribute("rel")!=="nofollow"&&(link.closest(".no-prefetch,[data-no-prefetch]")||(clearTimeout(timer),timer=setTimeout(function(){prefetch(link.href)},DELAY))))}function onHoverEnd(){clearTimeout(timer)}document.addEventListener("mouseover",onHoverStart,{passive:!0,capture:!0}),document.addEventListener("mouseout",onHoverEnd,{passive:!0,capture:!0}),document.addEventListener("focusin",function(e){var link=e.target.closest("a");link&&link.href&&prefetch(link.href)},{passive:!0,capture:!0}),window.addEventListener("pagehide",function(){isPrefetched={},prefetchedCount=0})})(),jQuery.cookie=function(e,o,t){if(o===void 0){var i=null;if(document.cookie&&document.cookie!="")for(var r=document.cookie.split(";"),n=0;n-1||text.indexOf("致命错误")>-1)}function aksrt_sprintf(key){var args=Array.prototype.slice.call(arguments,1),str=aksrt__(key),autoIndex=0;return str.replace(/%(\d+\$)?s/g,function(match,num){var idx=num?parseInt(num,10)-1:autoIndex++;return args[idx]!==void 0&&args[idx]!==null?args[idx]:match})}(function(window2,factory){var lazySizes2=factory(window2,window2.document,Date);window2.lazySizes=lazySizes2,typeof module=="object"&&module.exports&&(module.exports=lazySizes2)})(typeof window<"u"?window:{},function(window2,document2,Date2){"use strict";var lazysizes,lazySizesCfg;if((function(){var prop,lazySizesDefaults={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",loadafterClass:"lazyloadafter",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};lazySizesCfg=window2.lazySizesConfig||window2.lazysizesConfig||{};for(prop in lazySizesDefaults)prop in lazySizesCfg||(lazySizesCfg[prop]=lazySizesDefaults[prop])})(),!document2||!document2.getElementsByClassName)return{init:function(){},cfg:lazySizesCfg,noSupport:!0};var docElem=document2.documentElement,supportPicture=window2.HTMLPictureElement,_addEventListener="addEventListener",_getAttribute="getAttribute",addEventListener=window2[_addEventListener].bind(window2),setTimeout2=window2.setTimeout,requestAnimationFrame2=window2.requestAnimationFrame||setTimeout2,requestIdleCallback=window2.requestIdleCallback,regPicture=/^picture$/i,loadEvents=["load","error","lazyincluded","_lazyloaded"],regClassCache={},forEach=Array.prototype.forEach,hasClass=function(ele,cls){return regClassCache[cls]||(regClassCache[cls]=new RegExp("(\\s|^)"+cls+"(\\s|$)")),regClassCache[cls].test(ele[_getAttribute]("class")||"")&®ClassCache[cls]},addClass=function(ele,cls){hasClass(ele,cls)||ele.setAttribute("class",(ele[_getAttribute]("class")||"").trim()+" "+cls)},removeClass=function(ele,cls){var reg2;(reg2=hasClass(ele,cls))&&ele.setAttribute("class",(ele[_getAttribute]("class")||"").replace(reg2," "))},addRemoveLoadEvents=function(dom,fn,add){var action=add?_addEventListener:"removeEventListener";add&&addRemoveLoadEvents(dom,fn),loadEvents.forEach(function(evt){dom[action](evt,fn)})},triggerEvent=function(elem,name,detail,noBubbles,noCancelable){var event=document2.createEvent("Event");return detail||(detail={}),detail.instance=lazysizes,event.initEvent(name,!noBubbles,!noCancelable),event.detail=detail,elem.dispatchEvent(event),event},updatePolyfill=function(el,full){var polyfill;!supportPicture&&(polyfill=window2.picturefill||lazySizesCfg.pf)?(full&&full.src&&!el[_getAttribute]("srcset")&&el.setAttribute("srcset",full.src),polyfill({reevaluate:!0,elements:[el]})):full&&full.src&&(el.src=full.src)},getCSS=function(elem,style){return(getComputedStyle(elem,null)||{})[style]},getWidth=function(elem,parent,width){for(width=width||elem.offsetWidth;width49?function(){requestIdleCallback(run,{timeout:rICTimeout}),rICTimeout!==lazySizesCfg.ricTimeout&&(rICTimeout=lazySizesCfg.ricTimeout)}:rAFIt(function(){setTimeout2(run)},!0);return function(isPriority){var delay;(isPriority=isPriority===!0)&&(rICTimeout=33),!running&&(running=!0,delay=gDelay-(Date2.now()-lastTime),delay<0&&(delay=0),isPriority||delay<9?idleCallback():setTimeout2(idleCallback,delay))}},debounce2=function(func){var timeout,timestamp,wait=99,run=function(){timeout=null,func()},later=function(){var last=Date2.now()-timestamp;last0,visible&&getCSS(parent,"overflow")!="visible"&&(outerRect=parent.getBoundingClientRect(),visible=eLright>outerRect.left&&eLleftouterRect.top-1&&eLtop500&&docElem.clientWidth>500?500:370:lazySizesCfg.expand,lazysizes._defEx=defaultExpand,preloadExpand=defaultExpand*lazySizesCfg.expFactor,hFac=lazySizesCfg.hFac,isBodyHidden=null,currentExpand2&&loadMode>2&&!document2.hidden?(currentExpand=preloadExpand,lowRuns=0):loadMode>1&&lowRuns>1&&isLoading<6?currentExpand=defaultExpand:currentExpand=shrinkExpand),beforeExpandVal!==elemExpand&&(eLvW=innerWidth+elemExpand*hFac,elvH=innerHeight+elemExpand,elemNegativeExpand=elemExpand*-1,beforeExpandVal=elemExpand),rect=lazyloadElems[i].getBoundingClientRect(),(eLbottom=rect.bottom)>=elemNegativeExpand&&(eLtop=rect.top)<=elvH&&(eLright=rect.right)>=elemNegativeExpand*hFac&&(eLleft=rect.left)<=eLvW&&(eLbottom||eLright||eLleft||eLtop)&&(lazySizesCfg.loadHidden||isVisible(lazyloadElems[i]))&&(isCompleted&&isLoading<3&&!elemExpandVal&&(loadMode<3||lowRuns<4)||isNestedVisible(lazyloadElems[i],elemExpand))){if(unveilElement(lazyloadElems[i]),loadedSomething=!0,isLoading>9)break}else!loadedSomething&&isCompleted&&!autoLoadElem&&isLoading<4&&lowRuns<4&&loadMode>2&&(preloadElems[0]||lazySizesCfg.preloadAfterLoad)&&(preloadElems[0]||!elemExpandVal&&(eLbottom||eLright||eLleft||eLtop||lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr)!="auto"))&&(autoLoadElem=preloadElems[0]||lazyloadElems[i])}autoLoadElem&&!loadedSomething&&unveilElement(autoLoadElem)}},throttledCheckElements=throttle2(checkElements),switchLoadingClass=function(e){var elem=e.target;if(elem._lazyCache){delete elem._lazyCache;return}resetPreloading(e),addClass(elem,lazySizesCfg.loadedClass),removeClass(elem,lazySizesCfg.loadingClass),addRemoveLoadEvents(elem,rafSwitchLoadingClass),triggerEvent(elem,"lazyloaded"),setTimeout2(function(){addClass(elem,lazySizesCfg.loadafterClass)},700)},rafedSwitchLoadingClass=rAFIt(switchLoadingClass),rafSwitchLoadingClass=function(e){rafedSwitchLoadingClass({target:e.target})},changeIframeSrc=function(elem,src){try{elem.contentWindow.location.replace(src)}catch{elem.src=src}},handleSources=function(source){var customMedia,sourceSrcset=source[_getAttribute](lazySizesCfg.srcsetAttr);(customMedia=lazySizesCfg.customMedia[source[_getAttribute]("data-media")||source[_getAttribute]("media")])&&source.setAttribute("media",customMedia),sourceSrcset&&source.setAttribute("srcset",sourceSrcset)},lazyUnveil=rAFIt(function(elem,detail,isAuto,sizes,isImg){var src,srcset,parent,isPicture,event,firesLoad;(event=triggerEvent(elem,"lazybeforeunveil",detail)).defaultPrevented||(sizes&&(isAuto?addClass(elem,lazySizesCfg.autosizesClass):elem.setAttribute("sizes",sizes)),srcset=elem[_getAttribute](lazySizesCfg.srcsetAttr),src=elem[_getAttribute](lazySizesCfg.srcAttr),isImg&&(parent=elem.parentNode,isPicture=parent&®Picture.test(parent.nodeName||"")),firesLoad=detail.firesLoad||"src"in elem&&(srcset||src||isPicture),event={target:elem},addClass(elem,lazySizesCfg.loadingClass),firesLoad&&(clearTimeout(resetPreloadingTimer),resetPreloadingTimer=setTimeout2(resetPreloading,2500),addRemoveLoadEvents(elem,rafSwitchLoadingClass,!0)),isPicture&&forEach.call(parent.getElementsByTagName("source"),handleSources),srcset?elem.setAttribute("srcset",srcset):src&&!isPicture&&(regIframe.test(elem.nodeName)?changeIframeSrc(elem,src):elem.src=src),isImg&&(srcset||isPicture)&&updatePolyfill(elem,{src})),elem._lazyRace&&delete elem._lazyRace,removeClass(elem,lazySizesCfg.lazyClass),rAF(function(){var isLoaded=elem.complete&&elem.naturalWidth>1;(!firesLoad||isLoaded)&&(isLoaded&&addClass(elem,"ls-is-cached"),switchLoadingClass(event),elem._lazyCache=!0,setTimeout2(function(){"_lazyCache"in elem&&delete elem._lazyCache},9)),elem.loading=="lazy"&&isLoading--},!0)}),unveilElement=function(elem){if(!elem._lazyRace){var detail,isImg=regImg.test(elem.nodeName),sizes=isImg&&(elem[_getAttribute](lazySizesCfg.sizesAttr)||elem[_getAttribute]("sizes")),isAuto=sizes=="auto";(isAuto||!isCompleted)&&isImg&&(elem[_getAttribute]("src")||elem.srcset)&&!elem.complete&&!hasClass(elem,lazySizesCfg.errorClass)&&hasClass(elem,lazySizesCfg.lazyClass)||(detail=triggerEvent(elem,"lazyunveilread").detail,isAuto&&autoSizer.updateElem(elem,!0,elem.offsetWidth),elem._lazyRace=!0,isLoading++,lazyUnveil(elem,detail,isAuto,sizes,isImg))}},afterScroll=debounce2(function(){lazySizesCfg.loadMode=3,throttledCheckElements()}),altLoadmodeScrollListner=function(){lazySizesCfg.loadMode==3&&(lazySizesCfg.loadMode=2),afterScroll()},onload=function(){if(!isCompleted){if(Date2.now()-started<999){setTimeout2(onload,999);return}isCompleted=!0,lazySizesCfg.loadMode=3,throttledCheckElements(),addEventListener("scroll",altLoadmodeScrollListner,!0)}};return{_:function(){started=Date2.now(),lazysizes.elements=document2.getElementsByClassName(lazySizesCfg.lazyClass),preloadElems=document2.getElementsByClassName(lazySizesCfg.lazyClass+" "+lazySizesCfg.preloadClass),addEventListener("scroll",throttledCheckElements,!0),addEventListener("resize",throttledCheckElements,!0),addEventListener("pageshow",function(e){if(e.persisted){var loadingElements=document2.querySelectorAll("."+lazySizesCfg.loadingClass);loadingElements.length&&loadingElements.forEach&&requestAnimationFrame2(function(){loadingElements.forEach(function(img){img.complete&&unveilElement(img)})})}}),window2.MutationObserver?new MutationObserver(throttledCheckElements).observe(docElem,{childList:!0,subtree:!0,attributes:!0}):(docElem[_addEventListener]("DOMNodeInserted",throttledCheckElements,!0),docElem[_addEventListener]("DOMAttrModified",throttledCheckElements,!0),setInterval(throttledCheckElements,999)),addEventListener("hashchange",throttledCheckElements,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(name){document2[_addEventListener](name,throttledCheckElements,!0)}),/d$|^c/.test(document2.readyState)?onload():(addEventListener("load",onload),document2[_addEventListener]("DOMContentLoaded",throttledCheckElements),setTimeout2(onload,2e4)),lazysizes.elements.length?(checkElements(),rAF._lsFlush()):throttledCheckElements()},checkElems:throttledCheckElements,unveil:unveilElement,_aLSL:altLoadmodeScrollListner}})(),autoSizer=(function(){var autosizesElems,sizeElement=rAFIt(function(elem,parent,event,width){var sources,i,len;if(elem._lazysizesWidth=width,width+="px",elem.setAttribute("sizes",width),regPicture.test(parent.nodeName||""))for(sources=parent.getElementsByTagName("source"),i=0,len=sources.length;i-40&&angle<40&&distanceX>0?distanceX:0),options.direction=="left"&&(distanceY=0,distanceX=(angle>150||angle<-150)&&0>distanceX?distanceX:0),options.direction=="top"&&(distanceX=0,distanceY=angle>-130&&angle<-50&&0>distanceY?distanceY:0),options.direction=="bottom"&&(distanceX=0,distanceY=angle>50&&angle<130&&distanceY>0?distanceY:0),(distanceX!==0||distanceY!==0)&&(a.preventDefault?a.preventDefault():a.returnValue=!1,cssTransition(_move,distanceX,distanceY,dragging,"grab"),jQuery.isFunction(options.onIng)&&options.onIng(_e,_move,distanceX,distanceY)))}).on("touchend touchcancel pointerup MSPointerUp",touch_selector,function(){var _move=options.start_selector?options.selector?_e.find(options.selector):_e.find(options.start_selector):jQuery(this);dragging&&!is_stop&&(cssTransition(_move,0,0,"null",""),jQuery.isFunction(options.inEnd)&&options.inEnd(_e,_move,distanceX,distanceY),(Math.abs(distanceX)>dep||Math.abs(distanceY)>dep)&&jQuery.isFunction(options.onEnd)&&options.onEnd(_e,_move,distanceX,distanceY),startX=startY=endX=endY=angle=distanceX=distanceY=0,dragging=!1)}).data(is_on,!0)}},_win.bd=jQuery("body"),_win.window=jQuery(window),_win.is_signin=!!_win.bd.hasClass("logged-in");var _wid=_win.window.width(),_hei=_win.window.height();_win.bd.on("click","[data-close]",function(){var e=jQuery(this).attr("data-close");return jQuery(e).removeClass("show in"),!1}),_win.bd.on("click","[data-toggle-class]",function(){var c=jQuery(this).attr("data-toggle-class")||"show",e=jQuery(this).attr("data-target")||this;return jQuery(e).toggleClass(c).trigger("toggleClass"),!1}),_win.bd.on("click",only_drop),_win.bd.on("toggleClass",".dropup,.dropdown",only_drop);function only_drop(e){var drop=jQuery(e.target).closest(".dropup,.dropdown");jQuery(".dropup.open,.dropdown.open").not(drop).removeClass("open")}_win.bd.on("click",".alert-dismissible > .close",function(){jQuery(this).parent().slideUp()}),_win.bd.on("click","[data-onclick]",function(){var e=jQuery(this).attr("data-onclick");return jQuery(e).click()}),jQuery.fn.OnlyOn=function(type,selector,data,fun){var rnotwhite=/\S+/g,is_oned=!1;type=type.match(rnotwhite)[0];var events=jQuery._data(this[0],"events");events&&typeof events.type<"u"&&jQuery.each(events[type],function(i,item){if(item.selector==selector&&item.data==data)return is_oned=!0,!1}),is_oned?console.log("事件重复绑定{type:"+type+",selector:"+selector+",data:"+data+"}"):this.on(type,selector,data,fun)},jQuery.fn.aksrt_ajax=function(data,success,noty,no_loading){return aksrt_ajax(jQuery(this),data,success,noty,no_loading)},jQuery.fn.countdown=function(){function getTimeRemaining(endtime,max_unit){var date=new Date,now=date.getTime(),endDate=new Date(endtime),end=endDate.getTime(),total=end-now,seconds=total/1e3%60;seconds=seconds.toFixed(2);var mseconds=~~(total%1e3),minutes=~~(total/1e3/60%60),hours=~~(total/(1e3*60*60)%24),days=~~(total/(1e3*60*60*24));return max_unit==="minute"&&minutes>0&&(hours=0,days=0,minutes=~~(total/1e3/60)),max_unit==="hour"&&hours>0&&(days=0,hours=~~(total/(1e3*60*60))),seconds=seconds<10?"0"+seconds:seconds,minutes=minutes<10?"0"+minutes:minutes,{total,days,hours,minutes,seconds,mseconds}}jQuery(this).each(function(){var _this=jQuery(this),endtime=_this.attr("data-countdown");if(!endtime)return;var int_second=_this.attr("int-second"),max_unit=_this.attr("max-unit");if(_this.attr("title",aksrt__("countdown_end_time")+endtime),int_second==="auto"){var t=getTimeRemaining(endtime,max_unit);int_second=t.days>0}function updateClock(){var t2=getTimeRemaining(endtime,max_unit);if(int_second&&(t2.seconds=t2.seconds.toString().replace(/\.\d+$/,"")),_this.find(".day").length&&_this.find(".day").html(t2.days),_this.find(".hour").length&&_this.find(".hour").html(t2.hours),_this.find(".minute").length&&_this.find(".minute").html(t2.minutes),_this.find(".second").length)_this.find(".second").html(t2.seconds);else{var html="";t2.days>0&&(html+=''+t2.days+''+aksrt__("countdown_day")+""),(t2.hours>0||t2.days>0)&&(html+=''+t2.hours+''+aksrt__("countdown_hour")+""),(t2.minutes>0||t2.hours>0||t2.days>0)&&(html+=''+t2.minutes+''+aksrt__("countdown_minute")+""),html+=''+t2.seconds+''+aksrt__("countdown_second")+"",_this.html(html)}if(t2.total<=0){clearInterval(timeinterval);var over_text=_this.attr("data-over-text")||aksrt__("countdown_ended");_this.html(over_text).trigger("countdown-over")}}updateClock();var timeinterval=setInterval(updateClock,int_second?1e3:20);_this.removeAttr("data-countdown").addClass("countdown-box")})},_win.dplayer={tbquire:["dplayer"],obj:{}};function new_dplayer(){var selector=".new-dplayer:not(.dplayer-initialized),[data-dplayer]:not(.dplayer-initialized)";jQuery(selector).length&&jQuery(selector).each(function(){var _this=jQuery(this);get_new_dplayer(_this,function(dplayer){_this.addClass("dplayer-initialized").siblings(".dplayer-featured").find(".switch-video").each(function(){var _this2=jQuery(this),video_url=_this2.attr("video-url"),video_pic=_this2.attr("video-pic");_this2.data({"video-url":video_url,"video-pic":video_pic}),_this2.attr({"dplayer-id":dplayer.container.id}),setTimeout(function(){_this2.removeAttr("video-url").removeAttr("video-pic")},50)})})})}function get_new_dplayer(_this,func){var option={},video_url=_this.attr("video-url")||_this.data("video-url"),data_volume=_this.attr("data-volume"),i=parseInt((Math.random()+1)*Math.pow(10,4));if(!(_this.find(".dplayer-video-wrap").length||!video_url)){_this.attr("id","dplayer-"+i),option.container=document.getElementById("dplayer-"+i),option.theme="#f04494",option.video={url:video_url,pic:_this.attr("video-pic")||"",type:_this.attr("video-type")||"auto"},_this.attr("data-loop")&&(option.loop=!0),_this.attr("data-autoplay")&&(option.autoplay=!0),data_volume&&data_volume<1&&(option.volume=data_volume),data_volume==="none"&&(option.volume=0);var option_attr=_this.attr("video-option");if(option_attr){try{option_attr=JSON.parse(option_attr)}catch(e){console.log(e)}jQuery.extend(option,option_attr)}var v_u=video_url.toLowerCase();return v_u.indexOf(".m3u")!=-1&&_win.dplayer.tbquire.push("hls"),v_u.indexOf(".mpd")!=-1&&_win.dplayer.tbquire.push("dash"),v_u.indexOf(".flv")!=-1&&_win.dplayer.tbquire.push("flv"),jQuery("link#dplayer").length||jQuery("dplayer").append(''),_win.dplayer.tbquire.push("dplayer"),tbquire(_win.dplayer.tbquire,function(){try{var newDPlayer=new DPlayer(option);newDPlayer.on("play",function(){_win.dplayer.play=newDPlayer}),_this.data("dplayer",newDPlayer),_win.dplayer.obj[i]=newDPlayer,_this.attr({"video-url":"","video-pic":""}),jQuery.isFunction(func)&&func(newDPlayer)}catch(e){console.error(e)}}),i}}_win.bd.on("click",".swiper-slide.slide-dplayer:not(.slide-dplayer-played) > *",function(){var _this=jQuery(this),dplayer=_this.find(".new-dplayer").data("dplayer");dplayer&&(dplayer.play(),_this.parent().addClass("slide-dplayer-played"))});function thumb_dplayer(mouseenter_e,box_e){var $body=jQuery("body"),thumb_dplayer_data_text="thumb_dplayer_data",thumb_dplayer_data=$body.data(thumb_dplayer_data_text)||{};if(thumb_dplayer_data[mouseenter_e+box_e])return;var ing_class="thumb-dplayer-playing",thumb_hide_class="dplayer-thumb-hide";function to_play(_this_m,_this,dplayer){_this.find(".dplayer-thumb").removeClass(thumb_hide_class),_win.dplayer.thumb_play=dplayer,_this.find(".progress").show(),_this_m.addClass(ing_class)}function to_pause(_this_m,_this,dplayer){dplayer.pause(),_this.find(".dplayer-thumb").addClass(thumb_hide_class),_win.dplayer.thumb_play=!1,_this.find(".progress").hide(),_this_m.removeClass(ing_class)}function video_thumb_stop(){if(_win.dplayer.thumb_play){var _this=jQuery(_win.dplayer.thumb_play.container).closest(box_e),_this_m=_this.closest(mouseenter_e);to_pause(_this_m,_this,_win.dplayer.thumb_play)}}function video_thumb_play(){var _this_m=jQuery(this),_this=_this_m.find(box_e);if(!_this.length)return;var dplayer=_this.find(".dplayer-thumb").data("dplayer");if(dplayer)return to_play(_this_m,_this,dplayer),dplayer.play();function dplayer_init(dplayer2){dplayer2.on("loadeddata",function(){setTimeout(function(){_this.find(".progress-bar").css({width:"100%",opacity:"0",transition:"width .2s, opacity .3s .3s"})},100),setTimeout(function(){_this.find(".progress").remove()},800)}),setTimeout(function(){to_play(_this_m,_this,dplayer2),dplayer2.play()},200)}if(!_this.find(".dplayer-thumb").length){var video_url=_this.attr("video-url"),video_volume=_this.attr("data-volume")||"none",video_pic="",scale_height=~~_this.attr("scale-height"),progress='
',_dplayer=jQuery('
');_this.find(".video-thumb").html(_dplayer).after(progress),setTimeout(function(){_this.find(".progress-bar").css({transition:"width 6s",width:"80%"})},50),_this.attr("video-url",""),get_new_dplayer(_dplayer,dplayer_init)}}$body.on("mouseenter touchstart",mouseenter_e,video_thumb_play),$body.on("mouseleave",mouseenter_e,video_thumb_stop);var thumb_dplayer_init="thumb_dplayer_init";$body.data(thumb_dplayer_init)||$body.on("touchstart",function(e){var _target=jQuery(e.target);!_target.parents("."+ing_class).length&&_win.dplayer.thumb_play&&video_thumb_stop()}).data(thumb_dplayer_init,!0),thumb_dplayer_data[mouseenter_e+box_e]=!0,$body.data(thumb_dplayer_data_text,thumb_dplayer_data)}_win.bd.on("click",".switch-video",function(){var _this=jQuery(this),dplayer=jQuery("#"+_this.attr("dplayer-id")).data("dplayer"),video_url=_this.data("video-url"),video_pic=_this.data("video-pic");if(!(!video_url||!dplayer||_this.hasClass("active"))){_this.addClass("active").siblings().removeClass("active");var v_u=video_url.toLowerCase();v_u.indexOf(".m3u")!=-1&&_win.dplayer.tbquire.push("hls"),v_u.indexOf(".mpd")!=-1&&_win.dplayer.tbquire.push("dash"),v_u.indexOf(".flv")!=-1&&_win.dplayer.tbquire.push("flv"),tbquire(_win.dplayer.tbquire,function(){try{var op={url:video_url,type:"auto"};video_pic&&(op.pic=video_pic),dplayer.switchVideo(op),setTimeout(function(){dplayer.play()},100)}catch(e){console.log(e)}})}}),_win.bd.on("click",".switch-iframe",function(){var _this=jQuery(this),video_url=_this.attr("iframe-url"),$iframe=_this.closest(".iframe-series").find("iframe");if(!(!video_url||_this.hasClass("active"))){try{$iframe[0].contentWindow.location.replace(video_url)}catch{$iframe.attr("src",video_url)}_this.addClass("active").siblings().removeClass("active")}}),_win.bd.on("click",".post-tab-toggle",function(){var _this=jQuery(this),tab_id=_this.attr("tab-id");if(!_this.parent().hasClass("active")){var _con=_this.parent().addClass("active").siblings().removeClass("active").parent().next().find('[tab-id="'+tab_id+'"]');_con.siblings().removeClass("in"),setTimeout(function(){_con.addClass("active").siblings().removeClass("active")},150),setTimeout(function(){_con.addClass("in")},160)}}),_win.swiper=[],_win.swiper.tab={},_win.swiper.scroll={},_win.swiper.new={};function new_swiper(){jQuery(".swiper-scroll:not(.swiper-container-initialized),.new-swiper:not(.swiper-container-initialized),.swiper-tab:not(.swiper-container-initialized)").length&&(jQuery("link#swiper").length||jQuery("head").append(''),tbquire(["swiper"],function(){jQuery(".swiper-scroll").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var option={},_this=jQuery(this),_eq="swiper-scroll-eq-"+e,slideClass=_this.attr("data-slideClass")||!1;if(slideClass&&(option.slideClass=slideClass),!_this.attr("scroll-nogroup")){var c_w=_this.width(),i_w=_this.find(".swiper-wrapper>*:eq(0)").outerWidth(),slidesPerGroup=~~(c_w/i_w);option.slidesPerGroup=slidesPerGroup||1}option.autoplay=_this.attr("data-autoplay")?{delay:~~_this.attr("data-interval")||4e3,disableOnInteraction:!1}:!1,option.loop=_this.attr("data-loop"),option.slidesPerView="auto",option.mousewheel={forceToAxis:!0},option.freeMode=!0,option.freeModeSticky=!0,option.navigation={nextEl:".swiper-scroll."+_eq+" .swiper-button-next",prevEl:".swiper-scroll."+_eq+" .swiper-button-prev"},_this.addClass(_eq).attr("swiper-scroll-index",e),_win.swiper.scroll[e]=new Swiper(".swiper-scroll."+_eq,option)}}),jQuery(".swiper-tab").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var _eq="swiper-eq-"+e,_this=jQuery(this),speed=~~_this.attr("data-speed")||~~((_this.width()+1200)/170)*50,initialSlide=~~_this.attr("active-index");speed=speed<300?300:speed;var option={loop:!1,initialSlide,autoHeight:!0,spaceBetween:20,autoplay:!1,speed,pagination:{el:".swiper-tab."+_eq+" .swiper-pagination",clickable:!0},on:{init:function(){auto_maxHeight()},slideChangeTransitionEnd:function(bvv){var b=jQuery(".swiper-tab."+_eq+" .swiper-slide-active .post_ajax_trigger .ajax-open");b.length&&(scrollTopTo(jQuery(".swiper-tab."+_eq),-40),b.attr("no-scroll",!0).click());var r=bvv.onStart&&jQuery('[swiper-scroll-index="'+e+'"] .swiper-slide-thumb-active [data-route]');r&&r.length&&history.replaceState(null,document.title,r.attr("data-route")),bvv.onStart=!0}}},tab_id=_this.attr("swiper-tab"),tab_nav=jQuery('[swiper-tab-nav="'+tab_id+'"]');if(tab_nav.length){var tab_nav_index=tab_nav.attr("swiper-scroll-index");option.thumbs={swiper:_win.swiper.scroll[tab_nav_index],autoScrollOffset:2},tab_nav.on("click","a[data-route]",function(e2){e2.preventDefault()})}_this.addClass(_eq).attr("swiper-tab-index",e),_win.swiper.tab[e]=new Swiper(".swiper-tab."+_eq,option)}}),jQuery(".new-swiper").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var _eq="swiper-eq-"+e,_this=jQuery(this),delay=~~_this.attr("data-interval")||6e3,autoplay=_this.attr("data-autoplay")?{delay,disableOnInteraction:!1}:!1,auto_h=!!_this.attr("auto-height"),speed=~~_this.attr("data-speed")||~~((_this.width()+1e3)/22)*10;speed=speed<400?400:speed,speed=autoplay===!1?speed/1.6:speed;var loop=!!_this.attr("data-loop"),parallax=!!_this.find("[data-swiper-parallax],[data-swiper-parallax-scale]").length,effect=_this.attr("data-effect")||"slide",direction=_this.attr("data-direction")||"horizontal",spaceBetween=~~_this.attr("data-spaceBetween")||0,pagination_type=_this.attr("data-pagination-type")||"bullets";_this.addClass(_eq).attr("swiper-new-index",e);var swiper_args={loop,autoHeight:auto_h,direction,spaceBetween,parallax,effect,lazy:{loadPrevNext:!0},autoplay,speed,pagination:{el:".new-swiper."+_eq+" .swiper-pagination",type:pagination_type,clickable:!0},navigation:{nextEl:".new-swiper."+_eq+" .swiper-button-next",prevEl:".new-swiper."+_eq+" .swiper-button-prev"},on:{lazyImageReady:function(slideEl,imageEl){jQuery(imageEl).addClass("lazyloaded")},slideChange:function(){_this.find(".new-dplayer").each(function(index,item){var dplayer=jQuery(item).data("dplayer");dplayer&&dplayer.pause()})},init:function(){loop&&_this.find(".swiper-slide-duplicate img").addClass("no-imgbox")}}};pagination_type==="thumbnail"&&(swiper_args.pagination.type="bullets",swiper_args.pagination.bulletClass="pagination-thumbnail-item",swiper_args.pagination.bulletActiveClass="pagination-thumbnail-item-active",swiper_args.pagination.renderBullet=function(index,className){var imgsrc,thumbnail,_img=jQuery(this.slides[index]).find("img");return _img.length&&(_img=jQuery(_img[0]),imgsrc=_img.attr("data-src")||_img.attr("src")),imgsrc?(thumbnail='
',thumbnail):""}),_win.swiper.new[e]=new Swiper(".new-swiper."+_eq,swiper_args)}})}))}window.swiper_tab_AutoHeight=debounce(function($con){var tab=$con.closest("[swiper-tab-index]");if(tab.length){var tab_index=tab.attr("swiper-tab-index");_win.swiper.tab[tab_index].updateAutoHeight(500)}},100),jQuery.fn.scrollX=function(){return this.each(function(){var _this=jQuery(this),is_on="is-on";if(!_this.data(is_on)){_this.data(is_on,!0);var btn_class="scroll-x-",prev_btn_class=btn_class+"prev",next_btn_class=btn_class+"next",prev=jQuery(''),next=jQuery('');init()}function scroll(type){var data=get_data();_this.animate({scrollLeft:type==="prev"?data[0]:data[1]},300,"linear",hover_show)}function init(){_this.after(prev).after(next),prev.on("click",function(){scroll("prev")}),next.on("click",scroll),_this.parent().hover(hover_show,function(){prev.hide(),next.hide()})}function hover_show(){var data=get_data();data[3]?prev.show():prev.hide(),data[3]0?prev_scroll:0;var next_scroll=~~(_this_scrollLeft+_this_w);return next_scroll=next_scroll>max?max:next_scroll,[prev_scroll,next_scroll,max,_this_scrollLeft]}})},jQuery.fn.Tabcenter=function(){return this.each(function(){var _this=jQuery(this),_active=_this.find(".active");if(_active.length){var _this_w=_this.innerWidth(),_active_w=_active.innerWidth(),_this_scrollLeft=_this.scrollLeft(),_active_left=_active.position().left,max=~~(_this.prop("scrollWidth")-_this_w),_yd=~~(_this_scrollLeft+_active_left-_this_w/2+_active_w/2);_yd=_yd>0?_yd:0,_yd=_yd>max?max:_yd,_yd!=_this_scrollLeft&&_this.animate({scrollLeft:_yd},300)}})},_win.bd.on("shown.bs.tab","a[data-ajax]",function(){jQuery(this).closest("ul.list-inline").Tabcenter()}),jQuery(".tab-nav-theme,.tab-nav-but,.index-tab ul.list-inline").Tabcenter();function post_ajax(_this,con,jcon,item,loader,pag,next,trigger,replace,nomore,top,ajax_trigger){var $con=_this.closest(con);if($con.attr("ing"))return!1;var $item=find(item),href=_this.attr("ajax-href")||_this.attr("href")||_this.find("a").attr("ajax-href")||_this.find("a").attr("href");jcon=jcon||con,ajax_trigger=ajax_trigger||(_win.ajax_trigger?_win.ajax_trigger:''+aksrt__("load_more")),replace=_this.attr("ajax-replace")||replace,nomore=nomore||_win.ajax_nomore;var $loader=find(".post_ajax_loader");$loader.length||(loader=loader||'

',$loader=jQuery('
'+loader+"
"));function find(selector,$parent,con_selector){$parent=$parent&&$parent.length?$parent:$con,con_selector=con_selector||con;var $element=$parent.find(">"+selector);return $element.length||($element=$parent.find(">*:not("+con_selector+")>"+selector),$element.length)||($element=$parent.find(">*:not("+con_selector+")>*:not("+con_selector+")>"+selector),$element.length)||($element=$parent.find(">*:not("+con_selector+")>*:not("+con_selector+")>*:not("+con_selector+")>"+selector),$element.length)?$element:jQuery("null#null")}return href&&jQuery.ajax({type:"POST",url:href,dataType:"html",beforeSend:function(){replace&&$item.length&&$item.remove(),$con.attr("ing",!0),find(".post_ajax_trigger").remove(),find(".no-more").remove(),find(".post_ajax_loader").remove(),find(".noajax-pag").remove(),find(pag).remove(),$item=find(item),$item.length?top?$item.first().before($loader):$item.last().after($loader):$con.append($loader),$loader.addClass("is-loading"),swiper_tab_AutoHeight($con)},success:function(a){a=jQuery.parseHTML("
"+a+"
");var $a=jQuery(a);$a.find("[win-ajax-replace]").each(function(){var replace_key=jQuery(this).attr("win-ajax-replace"),replace_e=jQuery('[win-ajax-replace="'+replace_key+'"]');replace_e.length&&(replace_e.html(jQuery(this).html()),jQuery(this).remove())});var $jcon=$a.find(jcon),c_c=find(item,$jcon,jcon),c_p=find(pag,$jcon,jcon),n_h=c_p.find(next).attr("href")||c_p.find(next).find("a").attr("href");c_p=c_p.length?c_p:'
'+nomore+"
",c_p=$jcon.find(".noajax-pag").length?$jcon.find(".noajax-pag"):c_p,trigger&&(c_p=typeof n_h<"u"?''+ajax_trigger+"":c_p);var $item_header=find(".ajax-item-header",$jcon,jcon);if($item_header.length&&(find(".ajax-item-header").remove(),$con.prepend($item_header)),$item=find(item),$item.length?top?$item.first().before(c_p).before(c_c):$item.last().after(c_p).after(c_c):top?$con.append(c_p).append(c_c):$con.append(c_c).append(c_p),$con.removeAttr("ing").trigger("post_ajax.ed",jQuery(a)),find(".post_ajax_loader",$con).removeClass("is-loading"),_this.attr("no-scroll"))_win.auto_scroll=!0,setTimeout(function(){_win.window.trigger("scroll"),_win.auto_scroll=!1},20);else{var _scroll_To=replace?$con:jQuery(c_c[0]);setTimeout(function(){scrollTopTo(_scroll_To,-40)},100)}if(_this.attr("route")){var route_title=_this.attr("route-title")||$a.find("title").text();history.replaceState(null,route_title,href),route_title&&jQuery("head title").text(route_title)}swiper_tab_AutoHeight($con),auto_fun()}}),!1}if(_win.bd.on("click","[remote-box]",function(){var _this=jQuery(this),remote=_this.attr("remote-box");remote&&jQuery.post(remote,null,function(data){_this.html(data).removeAttr("remote-box"),auto_fun(),_this.trigger("aksrt:remote-loaded")})}),_win.bd.on("show.bs.tab","a[data-ajax]",function(){var _this=jQuery(this),a=_this.data("target")||_this.attr("href"),selector=a+" .post_ajax_trigger .ajax-next",b=jQuery(selector).attr("ajax-replace",!0);if(b.length)b.click();else{var href=_this.attr("data-ajax");if(href){var trigger='';jQuery(a).append(trigger),jQuery(selector).click()}}_this.attr("only-one")&&_this.removeAttr("data-ajax")}),_win.bd.on("click","[ajax-tab],[ajax-target]",function(){var _this=jQuery(this),replace=_this.attr("ajax-replace")?' ajax-replace="true"':"",target=_this.attr("ajax-tab")||_this.attr("ajax-target"),href=_this.attr("data-ajax"),trigger='";console.log(target),jQuery(target).find(".post_ajax_trigger").remove(),jQuery(target).append(trigger),jQuery(target+" .post_ajax_trigger .ajax-next").click(),jQuery('a[href="'+target+'"]').click()}),_win.bd.on("click",".ajax-next",function(e){e.preventDefault();var _this=jQuery(this);if(_this.hasClass("pag-jump"))return!1;var _loader='
'+aksrt__("loading")+"
";_this.attr("ajax-replace")&&(_loader='

',_loader+=_loader,_loader+=_loader),_loader='
'+_loader+"
";var t_con=_this.attr("ajaxpager-target")||".ajaxpager",t_item=_this.attr("ajaxitem-target")||".ajax-item",$item1=_this.parents(t_con+":eq(0)").find(t_item+":first"),$item1_class=$item1.attr("class");if($item1_class&&$item1_class.indexOf("posts-item")>-1)if($item1_class.indexOf("card")>-1){var loader_class=$item1_class.replace("ajax-item","");_loader='

',_loader=_loader.repeat(_wid>766?_wid>992&&!jQuery(".sidebar").length?8:6:4)}else $item1_class.indexOf("list")>-1&&(_loader='

',_loader=_loader.repeat(_wid>766?4:3));return post_ajax(_this,t_con,t_con,t_item,_loader,".ajax-pag")}),_wid<769&&jQuery(".drawer-sm").length){_win.bd.on("click","[data-drawer]",function(){var _this=jQuery(this),title=_this.attr("drawer-title")||"",drawer_selector=_this.attr("drawer-selector")||".drawer-sm",action=_this.attr("data-drawer"),route=_this.attr("route"),route_back=_this.attr("route-back");jQuery(drawer_selector).Drawer(action,title,route,route_back)});var this_url=(window.parent.location.origin+window.parent.location.pathname).replace(/(\/*$)/g,"");_win.url_request=window.parent.location.search,setTimeout(function(){jQuery('[data-drawer][route="'+this_url+'"]').click()},20)}else _win.bd.on("shown.bs.tab","[data-drawer][route]",tabOnRoute),_win.bd.on("hide.bs.tab","[data-drawer][route]",tabOnRoute_hidden);_win.bd.on("shown.bs.tab","[data-route]",tabOnRoute),_win.bd.on("hide.bs.tab","[data-route]",tabOnRoute_hidden);function tabOnRoute_hidden(){var _this=jQuery(this);if(!history.state){var route=_this.attr("route")||_this.attr("data-route"),tab_id=_this.attr("data-target");route&&history.replaceState({tab_id},null,route)}}function tabOnRoute(){var _this=jQuery(this);if(_this.attr("onpopstate"))_this.attr("onpopstate",!1);else{var route=_this.attr("route")||_this.attr("data-route"),tab_id=_this.attr("data-target");route&&routeGo(route,{tab_id})}}window.onpopstate=function(event){var tab=event.state&&jQuery('[data-toggle="tab"][data-target="'+event.state.tab_id+'"]');tab&&tab.length&&tab.attr("onpopstate",!0).click()};function routeGo(url,data,title){title=title||document.title,url&&history.pushState(data,title,url)}if(jQuery.fn.loading=function(action){var _this=jQuery(this);action=action=="show"||action=="hide"?action:_this.hasClass("loading-show")?"hide":"show";var loading_class="loading-backdrop",loading_html='';return action=="show"?_this.addClass("loading-show").append(loading_html).find("."+loading_class).fadeIn(200):_this.removeClass("loading-show").find("."+loading_class).fadeOut(200,function(){jQuery(this).remove()}),_this},jQuery.fn.Drawer=function(action,title,route,route_back){title=title||"";var _this=jQuery(this);if(!_this.length)return;action=action=="show"||action=="hide"?action:_this.hasClass("show")?"hide":"show";var _body=jQuery("body");_this.attr("on-start")||_this.attr("on-start",!0).minitouch({direction:"right",onEnd:function(){_this.Drawer("hide")}});function urlTo(url){history.replaceState(null,document.title,url)}switch(action){case"show":var header=jQuery('
'+title+"
").on("click",".drawer-close",function(){_this.Drawer("hide")});return _body.append(header),setTimeout(function(){_body.addClass("drawer-show")},10),route_back&&_this.data("route_back",route_back),route&&urlTo(route),_this.addClass("show");case"hide":return _body.removeClass("drawer-show"),setTimeout(function(){jQuery(".drawer-header").remove()},400),urlTo(_this.data("route_back")),_this.removeClass("show");default:}},jQuery(".wp-block-carousel").length){jQuery("link#swiper").length||jQuery("head").append('');var _sc=jQuery(".wp-block-carousel"),Sw=[];tbquire(["swiper"],function(){_sc.each(function(si){var _this=jQuery(this),_eq="swiper-post-"+si;_this.find(".wp-block-gallery>.blocks-gallery-grid").length&&_this.find(".wp-block-gallery").html(_this.find(".wp-block-gallery>.blocks-gallery-grid").html()),_this.find(".wp-block-gallery").removeClass().addClass("swiper-wrapper").find(".blocks-gallery-item,>.wp-block-image").addClass("swiper-slide"),_this.find(".carousel-control.left").replaceWith('
'),_this.find(".carousel-control.right").replaceWith('
');var _ss=_this.find(".carousel"),proportion=_ss.attr("proportion")||.6,style=_ss.attr("style");_ss.addClass(_eq+" new-swiper scale-height").attr("style","--scale-height:"+proportion*100+"%;"),_this.attr("style",style);var delay=~~_ss.attr("data-interval")||6e3,loop=_ss.attr("data-jyloop")||!1,effect=_ss.attr("data-effect")||"slide",speed=~~((_ss.width()+1200)/250)*100;Sw["swiper_wz_"+si]=new Swiper(".wp-block-carousel ."+_eq,{spaceBetween:10,speed,loop,effect,autoplay:{delay,disableOnInteraction:!1},pagination:{el:"."+_eq+" .swiper-pagination",clickable:!0},navigation:{nextEl:"."+_eq+" .swiper-button-next",prevEl:"."+_eq+" .swiper-button-prev"}})})})}_win.bd.on("show.bs.modal loaded.bs.modal",".modal:not(.flex)",function(){var o=jQuery(this),i=o.find(".modal-dialog");o.css("display","block"),i.css({"margin-top":Math.max(0,(_hei-i.height())/2)})}),_win.bd.on("show.bs.modal loaded.bs.modal",".modal",function(){auto_fun()}),_win.modal_z_index=1050,_win.bd.on("show.bs.modal",".modal",function(){_win.modal_z_index++,jQuery(".modal.in").addClass("modal-parent"),jQuery(this).css("z-index",_win.modal_z_index).removeClass("modal-parent")}),_win.bd.on("hide.bs.modal",".modal",function(){jQuery(".modal.modal-parent").removeClass("modal-parent")}),_win.bd.on("click",".oauth-untying",function(){if(confirm(aksrt__("confirm_unbind"))==!0){var _this=jQuery(this),data={action:"user_oauth_untying",user_id:_this.attr("user-id"),type:_this.attr("untying-type"),_wpnonce:_this.attr("_wpnonce")};return aksrt_ajax(_this,data),!1}}),_win.bd.on("click",".medal-add-link",function(){if(confirm(aksrt__("confirm_grant_badge"))==!0)return aksrt_ajax(jQuery(this)),!1}),_win.bd.on("click",".medal-remove-link",function(){if(window.confirm(aksrt__("confirm_revoke_badge")))return aksrt_ajax(jQuery(this)),!1}),_win.bd.on("click","[tab-id]",function(e){var tab=jQuery(this).attr("tab-id");if(tab){var _tab=jQuery('a[data-target="#'+tab+'"]');_tab.length||(_tab=jQuery('a[href="#'+tab+'"]')),_tab.length&&(e.preventDefault(),_tab.tab("show"))}}),_win.bd.on("click",'[data-toggle="RefreshModal"]',function(e){e.preventDefault();var _this=jQuery(this),remote=_this.attr("data-remote");if(!remote){var action=_this.attr("data-action");action&&(remote=_win.ajax_url+"?action="+action)}return refresh_modal({class:_this.attr("data-class")||"",height:_this.attr("data-height")||300,mobile_from_bottom:!!_this.attr("mobile-bottom"),new:_this.attr("new"),touch_close:!_this.attr("no-touch"),remote}),!1});function refresh_modal(_config){_config.mobile_from_bottom=typeof _config.mobile_from_bottom>"u"?!0:_config.mobile_from_bottom;var id="refresh_modal",is_new=_config.new,dataclass=_config.class||"",height=_config.height||200,mobile_bottom=_config.mobile_from_bottom&&_wid<769?" bottom":"",touch_close=typeof _config.touch_close>"u"?!0:_config.touch_close,modal_class="modal flex jc fade"+mobile_bottom,remote=_config.remote||"",content=_config.content||"";dataclass+=" modal-dialog",id+=is_new?parseInt((Math.random()+1)*Math.pow(10,4)):"";var _id="#"+id,_modal=jQuery(_id);if(_modal.length){var is_in=_modal.hasClass("in");is_in&&(modal_class+=" in");var $modal_content=_modal.find(".modal-content");_modal.removeClass().addClass(modal_class),_modal.find(".modal-dialog").removeClass().addClass(dataclass),_modal.find(".loading-mask").fadeIn(200),_modal.find(".modal-body").fadeOut(200),$modal_content.css({overflow:"hidden",height:is_in?$modal_content.height():100}).animate({height})}else{var modal_html='',loading='
';_win.bd.append(modal_html),_modal=jQuery(_id),_modal.on("hidden.bs.modal",function(){is_new?jQuery(this).remove():jQuery(this).find(".modal-content").html(loading)}),_modal.find(".modal-content").html(loading).css({height,overflow:"hidden"}),_wid<769&&_modal.minitouch({direction:"bottom",selector:".modal-dialog",start_selector:".modal-colorful-header,.touch-close,.touch",onEnd:function(){_modal.modal("hide")},stop:function(){return!_modal.hasClass("bottom")}})}_modal.find(".touch-close").remove(),mobile_bottom&&touch_close&&_modal.find(".modal-dialog").append('
'),_modal.modal("show"),content?(_modal.find(".modal-body").html(content),_modal_content_open()):remote&&jQuery.post(remote,null,function(data){_modal.find(".modal-body").html(data),setTimeout(function(){_modal.trigger("loaded.bs.modal")},20),_modal_content_open()});function _modal_content_open(){_modal.find(".modal-body").fadeIn(50,function(){var b_height=jQuery(this).outerHeight(!0);_modal.find(".loading-mask").fadeOut(300),_modal.find(".modal-content").animate({height:b_height},300,"swing",function(){_modal.find(".modal-content").css({height:"",overflow:"",transition:""})})})}return _modal}window.auto_maxHeight=debounce(z_auto,100);function z_auto(){if(_win.do_hh=document.documentElement.clientHeight,_win.do_hh>document.body.clientHeight){var min_h=_win.do_hh-jQuery(".footer").outerHeight()-jQuery(".header").outerHeight()-20;jQuery("main").animate({"min-height":min_h})}}window.auto_fun=debounce(z_auto_fun,100);function z_auto_fun(){jQuery(document).trigger("auto_fun"),jQuery(".auto-search").AutoSearch(),jQuery(".dependency-box").dependency(),jQuery(".cloneable").cloneable(),jQuery("[data-countdown]").countdown(),auto_maxHeight(),jQuery("img[data-src]:not(.lazyload,.lazyloaded,.lazyloading,.swiper-lazy)").addClass("lazyload"),jQuery("[data-toggle='tooltip']").tooltip({container:"body"}),jQuery("[data-clipboard-text]").length&&tbquire(["clipboard"]),jQuery("[data-toggle='popover']").popover({sanitize:!1}),_wid>768?(jQuery(".fixed-wrap-nav").autoAffix(20,38),jQuery(".relative>.scroll-x.no-scrollbar").scrollX()):jQuery(".affix-header-sm").autoAffix(0,20),_wid>900&&jQuery(".sidebar").sidebarAffix(),new_swiper(),new_dplayer(),tbquire(["svg-icon"],()=>{show_svg()});var _h_e=_win.highlight_kg?"pre code:not(.enlighter-origin)":"pre code.gl:not(.enlighter-origin),pre code.special:not(.enlighter-origin)";jQuery(_h_e).length&&tbquire(["enlighterjs"],function(){var lin=!!_win.highlight_hh;jQuery("link#enlighterjs").length||jQuery("head").append(''),jQuery(_h_e).enlight({linenumbers:lin,indent:2,textOverflow:"scroll",rawcodeDbclick:!0,rawButton:!1,infoButton:!1,windowButton:!1,theme:_win.highlight_zt})}),_win.imgbox&&jQuery(".alone-imgbox-img,a[data-imgbox],.comment-content .box-img,.wp-posts-content img,.imgbox-container").length&&tbquire(["imgbox"])}(function(){var scroll_throttle=throttle(function(){var h=document.documentElement.scrollTop+document.body.scrollTop,ontop=jQuery(".ontop");h>100?_win.bd.addClass("body-scroll"):_win.bd.removeClass("body-scroll"),h>400?ontop.addClass("show"):ontop.removeClass("show")},100);_win.window.scroll(scroll_throttle);var debounce_scroll_end=debounce(function(){jQuery("[data-toggle='tooltip']").tooltip("hide")},500,!0);_win.window.scroll(debounce_scroll_end);var debounce_scrolling_hide=debounce(function(){_win.bd.addClass("scroll-ing")},500,!0),debounce_scrolling_hide_end=debounce(function(){_win.bd.removeClass("scroll-ing")},500);jQuery(".scrolling-hide").length&&_win.window.scroll(debounce_scrolling_hide).scroll(debounce_scrolling_hide_end);var _last_scroll_top=0,debounce_scroll_down=debounce(function(){var _scroll_top=document.documentElement.scrollTop+document.body.scrollTop;_last_scroll_top>100&&_scroll_top>_last_scroll_top?_win.auto_scroll||_win.bd.removeClass("scroll-up").addClass("scroll-down"):(!_win.auto_scroll||_last_scroll_top<=100)&&_win.bd.removeClass("scroll-down").addClass("scroll-up"),_last_scroll_top=_scroll_top},10,!0);jQuery(".scroll-down-hide").length&&_win.window.scroll(debounce_scroll_down)})();function scrollTopTo(element,offset){var scrollTop=0,body=jQuery("body,html"),duration=duration||300;if(offset=offset||0,element){var target=element instanceof jQuery?element:jQuery(element);scrollTop=target.length?target.offset().top+offset-(body.hasClass("nav-fixed")?jQuery(".header").innerHeight()+20:0):0}Math.abs(scrollTop-body.scrollTop())<80||(_win.auto_scroll=!0,body.animate({scrollTop},duration,"swing",function(){setTimeout(function(){_win.auto_scroll=!1},20)}))}_win.bd.on("click",".toggle-radius,.float-right a,.but-ripple,.but,.item-thumbnail,.menu-item >a,.yiyan-box,.relates-thumb li a",function(e){var _th=jQuery(this);if(!_th.hasClass("nowave")&&!_th.hasClass("is-disabled")){_th.css({overflow:"hidden",position:"relative"});var R,waveWidth=~~_th.outerWidth(),waveHeight=~~_th.outerHeight();waveWidth").css({display:"block",background:cllor,"border-radius":"50%",position:" absolute","-webkit-transform":"scale(0)",transform:"scale(0)",opacity:".3","-webkit-transition":"all 1.5s cubic-bezier(0.22, 0.61, 0.36, 1)",transition:"all 1.5s cubic-bezier(0.22, 0.61, 0.36, 1)","z-index":"1",overflow:"hidden","pointer-events":"none"});_th.append(wave),wave.css({width:R*2+"px",height:R*2+"px",top:e.pageY-_th.offset().top-R+"px",left:e.pageX-_th.offset().left-R+"px",transform:"scale(1)","-webkit-transform":"scale(1)",opacity:0}),setTimeout(function(){wave.remove()},2e3)}}),jQuery.fn.sidebarAffix=function(){var _this=jQuery(this),_affix=_this.find("[data-affix]"),sidebar_class="sidebar-affix";if(!_affix.length||_this.children("."+sidebar_class).length)return _this;var _body=jQuery("body"),affix_width=_affix.innerWidth(),_header=jQuery(".header");function nav_Height(){return _body.hasClass("nav-fixed")&&(!_header.hasClass("scroll-down-hide")||!_body.hasClass("scroll-down"))?_header.outerHeight(!0):20}var sidebarAffix_con=jQuery('
');_this.prepend(sidebarAffix_con);function top_css(){sidebarAffix_con.css({top:nav_Height()})}var last_top=0;return sidebarAffix_con.affix({offset:{top:function(){var new_top=_this.outerHeight(!0)+_this.offset().top-nav_Height();return new_top!==last_top&&sidebarAffix_con.hasClass("affix")&&top_css(),last_top=new_top,new_top},bottom:function(){var _wrap=_this.parent();return document.body.clientHeight-_wrap.outerHeight()-_wrap.offset().top}}}).on("affix-top.bs.affix",function(){sidebarAffix_con.html("")}).on("affix.bs.affix",function(){sidebarAffix_con.find("[data-affix]").length||sidebarAffix_con.append(_this.find("[data-affix]").clone()),top_css()}).find("[lazyload-action]:not(.lazyload)").addClass("lazyload"),sidebarAffix_con.hasClass("affix")&&sidebarAffix_con.trigger("affix.bs.affix"),sidebarAffix_con.hasClass("affix-bottom")&&sidebarAffix_con.trigger("affix-bottom.bs.affix"),_this},jQuery.fn.autoAffix=function(top,bottom){top=~~top,bottom=~~bottom;var _this=jQuery(this);if(_this.data("bs.affix"))return _this;var _body=jQuery("body"),offset_top=~~_this.attr("offset-top"),offset_bottom=~~_this.attr("offset-bottom"),_wrap_attr=_this.attr("data-wrap"),_wrap=_wrap_attr?jQuery(_wrap_attr):_this.parent(),_header=jQuery(".header");function get_nav_Height(){return(_body.hasClass("nav-fixed")&&(!_header.hasClass("scroll-down-hide")||!_body.hasClass("scroll-down"))?_header.outerHeight():0)+top}function remove_clone(){_this.next(".affix-clone").remove()}function top_css(){_this.css({top:get_nav_Height()})}function this_clone(){_this.next(".affix-clone").length||_this.after(_this.clone().removeClass("affix-top affix affix-bottom").addClass("affix-clone").css("opacity","0"))}_wrap.css("min-height",_this.outerHeight()+bottom);var last_top=0;return _this.affix({offset:{top:function(){var new_top=_this.parent().offset().top-get_nav_Height()+offset_top;return new_top!==last_top&&_this.hasClass("affix")&&top_css(),last_top=new_top,new_top},bottom:function(){return document.body.clientHeight-_wrap.outerHeight()-_wrap.offset().top+bottom+offset_bottom}}}).on("affix-top.bs.affix",function(){_this.css({top:"",width:""}),remove_clone()}).on("affix.bs.affix",function(){this_clone(),top_css()}).on("affix-bottom.bs.affix",function(){this_clone()}),_this.hasClass("affix")&&_this.trigger("affix.bs.affix"),_this.hasClass("affix-bottom")&&_this.trigger("affix-bottom.bs.affix"),_this.hasClass("affix-top")&&_this.trigger("affix-top.bs.affix"),_this},_win.bd.on("click",".toggle-theme",function(event){var isDark=jQuery("body").hasClass("dark-theme");if(!document.startViewTransition){toggle();return}const transition=document.startViewTransition(()=>{toggle()}),{clientX,clientY}=event,endRadius=Math.hypot(Math.max(clientX,innerWidth-clientX),Math.max(clientY,innerHeight-clientY)),clipPath=[`circle(0px at ${clientX}px ${clientY}px)`,`circle(${endRadius}px at ${clientX}px ${clientY}px)`];transition.ready.then(()=>{document.documentElement.animate({clipPath:isDark?[...clipPath].reverse():clipPath},{duration:500,easing:isDark?"ease-out":"ease-in",fill:"both",pseudoElement:isDark?"::view-transition-old(root)":"::view-transition-new(root)"})});function toggle(){var highlight_white_zt="enlighter-t-"+_win.highlight_white_zt,highlight_dark_zt="enlighter-t-"+_win.highlight_dark_zt;jQuery("img[switch-src]").each(function(){var _this=jQuery(this),_src=_this.attr("data-src")||_this.attr("src"),_s_src=_this.attr("switch-src");_this.attr("src",_s_src).attr("switch-src",_src).attr("data-src","")}),jQuery("img[white-src],img[dark-src]").each(function(){var _this=jQuery(this),_s_src=isDark?_this.attr("white-src"):_this.attr("dark-src");_s_src&&_this.attr("src",_s_src)});var _enlighter=jQuery(".enlighter-default"),_body=jQuery("body"),_tinymce_body=jQuery("#post_content_ifr").contents().find("body");isDark?(jQuery('meta[name="theme-color"]').attr("content","#FDFCFE"),document.documentElement.classList.remove("dark"),_tinymce_body.removeClass("dark-theme"),_enlighter.removeClass(highlight_dark_zt).addClass(highlight_white_zt),_body.removeClass("dark-theme"),jQuery.cookie("theme_mode","white-theme",{path:"/"})):(jQuery('meta[name="theme-color"]').attr("content","#2F3135"),document.documentElement.classList.add("dark"),_tinymce_body.addClass("dark-theme"),_enlighter.removeClass(highlight_white_zt).addClass(highlight_dark_zt),_body.addClass("dark-theme"),jQuery.cookie("theme_mode","dark-theme",{path:"/"}))}}),_win.bd.on("click","[ajax-action]",function(){var _this=jQuery(this);if(_this.attr("disabled"))return!1;var id=_this.attr("data-id"),action=_this.attr("ajax-action"),_text=_this.find("text");_text=_text.length?_text:_this.siblings("text");var _this_html=_text.html();_this.attr("disabled",!0),_text.html(''),jQuery.ajax({type:"POST",url:_win.ajax_url,dataType:"json",data:{id,action,_wpnonce:_this.attr("data-nonce")},error:function(n){var _msg=aksrt_sprintf("ajax_error",n.status,n.statusText);aksrt_is_fatal_error_response(n.responseText)&&(_msg=aksrt__("ajax_fatal_error")),notyf(_msg,"danger"),_this.attr("disabled",!1),_text.html(_this_html)},success:function(n){if(_this.attr("disabled",!1),!n.data||!n.success)_text.html(_this_html),n.data&&n.data.msg&¬yf(n.data.msg,n.data.ys||"danger");else{if(n=n.data,n.show_modal&&n.modal){var modal_config={class:"modal-mini full-sm",height:330,mobile_from_bottom:!0,touch_close:!0,content:n.modal};n.modal_config&&(modal_config=jQuery.extend(modal_config,n.modal_config)),modal_config.content=n.modal,refresh_modal(modal_config),_text.html(_this_html);return}jQuery('[ajax-action="'+action+'"][data-id="'+id+'"]').each(function(){var _this2=jQuery(this),_text2=_this2.find("text");_text2=_text2.length?_text2:_this2.siblings("text"),_text2.html(n.text||_this_html).addClass("ajaxed"),n.active?_this2.addClass("active").siblings(".active").removeClass("active"):_this2.removeClass("active")})}}})});function throttle(fn,delay){let valid=!0;return function(...args){if(!valid)return!1;valid=!1,setTimeout(function(){fn.apply(this,args),valid=!0},delay)}}function debounce(callback,delay,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||callback.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,delay),callNow&&callback.apply(context,args)}}if(_win.bd.on("input focus","textarea[autoHeight]",function(){var elem=this,border=~~getComputedStyle(elem).getPropertyValue("border-top-width").replace("px","")+~~getComputedStyle(elem).getPropertyValue("border-bottom-width").replace("px",""),max=~~jQuery(elem).attr("maxHeight");elem.style.height="auto",max>elem.scrollHeight?(elem.style.height=elem.scrollHeight+border+"px",elem.style.overflow="hidden"):(elem.style.height=max+"px",elem.style.overflow="auto")}),_win.bd.on("click",".rewards",function(){jQuery("#rewards-popover").modal("show")}),_win.bd.hasClass("search")){var val=jQuery(".search-desc-text .search-key").text();try{var reg=eval("/"+val+"/i");jQuery(".search-tab .item-heading a,.search-tab .item-excerpt,.search-tab .forum-title a,.search-tab .excerpt,#search-tab-user .display-name").each(function(){var $this=jQuery(this);$this.text().search(reg)!=-1&&$this.html($this.html().replace(reg,function(w){return''+w+""}))})}catch(e){}}_win.bd.on("click",".pag-jump .jump-icon",function(){var _input=jQuery(this).siblings(".jump-input");pag_jump_go(_input)}),_win.bd.on("input",".pag-jump .jump-input",debounce(function(){pag_jump(jQuery(this))},200)),_win.bd.on("keydown",".pag-jump .jump-input",function(event){event.keyCode==13&&pag_jump_go(jQuery(this))});function pag_jump(_input){var max=_input.attr("max"),current=_input.attr("current"),val2=~~_input.val();return(!val2||val2<1||val2>max)&&(val2=val2>max?max:"",_input.val(val2)),val2==current?0:val2}function pag_jump_go(_input){var val2=pag_jump(_input);if(val2){var base=_input.attr("base"),url=base.replace("%#%",val2),parent=_input.parent();if(parent.hasClass("ajax-next")){_input.val("");var _ajax_link=parent.clone().removeClass("pag-jump").addClass("hide").attr("href",url);parent.append(_ajax_link),_ajax_link.click(),_ajax_link.remove()}else location.href=url,location.reload}else _input.focus()}jQuery.fn.cloneable=function(){var cloneable_text="cloneable",cloneable_add_e="."+cloneable_text+"-add",cloneable_remove_e="."+cloneable_text+"-remove",cloneable_item_e="."+cloneable_text+"-item";function max_min(_this,max,min){var count=_this.children(cloneable_item_e).length;max&&max<=count?_this.nextAll(cloneable_add_e).hide():_this.nextAll(cloneable_add_e).show(),min&&min>=count?_this.find(cloneable_remove_e).hide():_this.find(cloneable_remove_e).show()}return this.each(function(){var _this=jQuery(this),_item=_this.children(cloneable_item_e),is_on="is-on",click="click",max=_this.data("max")||0,min=_this.data("min")||0;if(max_min(_this,max,min),!(!_item.length||_this.attr(is_on))){var add_item=jQuery(_item[0]).clone(!1);add_item.find("input,textarea").val(""),_this.attr(is_on,!0).on(click,cloneable_remove_e,function(){jQuery(jQuery(this).parents(cloneable_item_e)[0]).remove(),max_min(_this,max,min)}).nextAll(cloneable_add_e).on(click,function(){var _add_item=add_item.clone(!1),count=_this.children(cloneable_item_e).length;_add_item.find("[name]").each(function(){var $this=jQuery(this),name=$this.attr("name");name=="_pseudo"||!name.includes("[0]")||$this.attr("name",$this.attr("name").replace("[0]","["+count+"]"))}),_this.append(_add_item),max_min(_this,max,min)})}})},jQuery.fn.dependency=function(){function _number(val2){return Number(val2)}function checkBoolean(v){switch(v){case!0:case"true":case 1:case"1":return!0;case null:case!1:case"false":case 0:case"0":return!1;default:return v}}function evalCondition(condition,val1,val2){switch(condition){case"==":return checkBoolean(val1)==checkBoolean(val2);case"!=":return checkBoolean(val1)!=checkBoolean(val2);case">=":return _number(val2)>=_number(val1);case"<=":return _number(val2)<=_number(val1);case">":return _number(val2)>_number(val1);case"<":return _number(val2)<_number(val1);case"any":if(jQuery.isArray(val2)){for(let i=val2.length-1;i>=0;i--)if(jQuery.inArray(val2[i],val1.split(","))!==-1)return!0}else if(jQuery.inArray(val2,val1.split(","))!==-1)return!0;return!1;case"not-any":if(jQuery.isArray(val2)){for(let i=val2.length-1;i>=0;i--)if(jQuery.inArray(val2[i],val1.split(","))==-1)return!0}else if(jQuery.inArray(val2,val1.split(","))==-1)return!0;return!1;default:return!1}}return this.each(function(){var $this=jQuery(this),$fields=$this.find("[data-controller]");if($fields.length){var is_on="is-on";$fields.each(function(){var $field=jQuery(this);if(!$field.attr(is_on)){var controllers=$field.attr(is_on,!0).data("controller").split("|"),conditions=$field.data("condition").split("|"),values=$field.data("value").toString().split("|");jQuery.each(controllers,function(index,depend_id){var value=values[index]||"",condition=conditions[index]||conditions[0]||"==";$this.on("change","[name='"+depend_id+"']",function(){var $elem=jQuery(this),_type=$elem.attr("type"),val2=_type=="checkbox"?$elem.is(":checked"):$elem.val(),is_show=evalCondition(condition,value,val2);$field.trigger("controller.change",is_show),is_show?$field.show():$field.hide()})})}})}})},_win.bd.on("click","[data-for]",function(){var _this=jQuery(this),_tt=_this.html(),_for=_this.attr("data-for"),_form=_this.parents("form"),_v=_this.attr("data-value"),multiple=~~_this.attr("data-multiple"),_group=_this.closest("[for-group]"),active_outerHTML=_this.prop("outerHTML");if(_group.length||(_group=_this.parent()),multiple>1){_tt="",active_outerHTML="";var active_array=[],_input="",is_active=_this.hasClass("active");if(is_active)_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').removeClass("active");else{var ii={};if(_group.find('[data-for="'+_for+'"].active').each(function(){ii[jQuery(this).attr("data-value")]=1}),Object.keys(ii).length>=multiple)return notyf(aksrt_sprintf("select_max",multiple),"danger");_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').addClass("active")}_group.find('[data-for="'+_for+'"].active').each(function(){var _this_value=jQuery(this).attr("data-value");active_array.indexOf(_this_value)==-1&&(_tt+=jQuery(this).html(),_input+='',active_array.push(_this_value),active_outerHTML+=jQuery(this).clone().addClass("outerhtml-copy").prop("outerHTML"))}),jQuery.each(active_array,function(index,value){_group.find('[data-for="'+_for+'"][data-value="'+value+'"]').addClass("active")}),_form.find("input[name='"+_for+"[]']").remove(),_form.append(_input)}else _group.find('[data-for="'+_for+'"]').removeClass("active"),_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').addClass("active"),_form.find("input[name='"+_for+"']").val(_v).trigger("change");_form.find("span[name='"+_for+"']").html(_tt),_form.find("input[name=s]").focus(),_form.find(".active-outerhtml[name='"+_for+"']").html(active_outerHTML)}),_win.bd.on("input","input[limit-min],input[limit-max]",debounce(function(){var _this=jQuery(this),min=Number(_this.attr("limit-min")),max=Number(_this.attr("limit-max")),val2=Number(_this.val()),text,warning_class="limit-warning";_this.next("."+warning_class).length||_this.after('');var _warning=_this.next("."+warning_class);_this.val().length<1?_warning.html("").hide():val2>max?(text=_this.attr("warning-max")||aksrt__("input_max"),_warning.html(text.replace("1$",max)).fadeIn(150)):val2',loading_remind=loading_icon+''+aksrt__("search_loading")+"",is_on="is-on";if(_this.data(is_on))return;function ajax(){var data={},serializeObject=_this.serializeObject();jQuery.each(serializeObject,function(key,val2){data[key]=val2}),_this.find("input[name]").each(function(){var _th=jQuery(this),v=_th.val()||"";data[_th.attr("name")]=v}),_this.addClass(loading),_remind.html(loading_remind),_icon.html(loading_icon),_container.css({height:_container.outerHeight(),overflow:"hidden"}),jQuery.post(ajax_url,data,function(result){var data_html=result.data;data_html&&_container.html('
'+data_html+"
").animate({height:_container.children("."+centent).outerHeight()},200,"swing",function(){_container.css({height:"",overflow:"",transition:""})}),_this.removeClass(loading),_remind.html(result.remind||""),_icon.html(_icon_html),auto_fun()},"json")}function submitted(_input){_input.val().length>=min_length?ajax():_remind.html(min_length_remind)}_this.data(is_on,!0).find(input).on("input",debounce(function(){submitted(jQuery(this))},500)).on("keydown",function(event){event.keyCode==13&&(event.preventDefault(),submitted(jQuery(this)))})})},_win.bd.on("click",".main-search [data-for]",function(){var _placeholder=jQuery(".main-search").find(".scale-placeholder");_placeholder.length&&_placeholder.text(_placeholder.attr("default"))}),_win.bd.on("submit",".main-search form",function(){var _this=jQuery(this),inputs=_this.serializeObject();jQuery.each(inputs,function(k,v){(!v||v=="null")&&k!="s"&&_this.find('input[name="'+k+'"]').remove()})}),_win.bd.on("click",".main-search-btn",function(){var _this=jQuery(this);jQuery(".main-search").addClass("show");var _remote_search=jQuery(".main-search [remote-box]").first();if(_remote_search.length){_remote_search.one("aksrt:remote-loaded",function(){_this.trigger("click")}),_remote_search.trigger("click");return}var _search_form=jQuery(".main-search form");if(_search_form.length){var attr_="search-",obj={type:_this.attr(attr_+"type"),user:_this.attr(attr_+"user"),trem:_this.attr(attr_+"trem")};jQuery.each(obj,function(k,v){if(v){var _k=_search_form.find('input[name="'+k+'"]').val(v),_data_for=_search_form.find('[data-for="'+k+'"][data-value="'+v+'"]').click();if(!_data_for.length&&k=="trem"){var cat_name=_this.attr("trem-name"),_cat_drop=_search_form.find(".cat-drop");cat_name&&_cat_drop.length&&(_cat_drop.append('
  • '+cat_name+"
  • "),_cat_drop.find('[data-value="'+v+'"]').click())}_k.length||_search_form.append('')}});var placeholder=_this.attr(attr_+"placeholder")||_search_form.find(".scale-placeholder").attr("default");_search_form.find(".scale-placeholder").text(placeholder),setTimeout(function(){_search_form.find('[name="s"]').focus()},100)}}),jQuery(".search-page-ajaxpager").length&&(_win.bd.on("click",".page-search-box a.search_keywords",function(){var $this=jQuery(this).clone();return $this.addClass("ajax-next").attr("ajax-replace","true").attr("route","true"),jQuery(".search-page-ajaxpager").append($this),$this.click().remove(),!1}),_win.bd.on("submit",".page-search-box .search-form",function(){var $this=jQuery(this),data=$this.serializeObject(),url=new URL($this.attr("action"));url.search=new URLSearchParams(data).toString();var $link=jQuery('');return jQuery(".search-page-ajaxpager").append($link),$link.click().remove(),!1}));function nav_folding(){var navbar_nav_t=".navbar-nav",sub_menu_t="sub-menu",_collapse=jQuery(".navbar-collapse"),surplus_width=_collapse.width();_collapse.find(">:not("+navbar_nav_t+")").each(function(){surplus_width-=jQuery(this).outerWidth()}),surplus_width-=jQuery(".navbar-header").outerWidth()+40;var navs_width=66,_folding=jQuery('');jQuery(navbar_nav_t+">li").each(function(){navs_width+=jQuery(this).outerWidth(),navs_width>surplus_width&&_folding.find(">."+sub_menu_t).append(jQuery(this))}),_folding.find(">."+sub_menu_t+" li").length&&jQuery(navbar_nav_t).append(_folding)}window.debounce_notyf=debounce(notyf,100,!0);function notyf(str,ys,time,id){jQuery(".notyn").length||_win.bd.append('
    '),ys=ys||"success",ys=="error"&&(ys="danger"),time=time||5e3,time=time<100?time*1e3:time;var id_attr=id?' id="'+id+'"':"",_html=jQuery('
    '+str+"
    "),is_close=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+ys).html(str),_html=jQuery("#"+id),is_close=!0):jQuery(".notyn").append(_html),is_close&&setTimeout(function(){notyf_close(_html)},time)}function notyf_close(_e){_e.addClass("notyn-out"),setTimeout(function(){_e.remove()},1e3)}_win.bd.on("click",".noty1",function(){notyf_close(jQuery(this))}),_win.passw=1,_win.bd.on("click",".passw",function(){var _this=jQuery(this);_win.passw==1?(_this.find(".fa").addClass("fa-eye-slash"),_this.siblings("input").attr("type","text"),_win.passw=2):(_this.find(".fa").removeClass("fa-eye-slash"),_this.siblings("input").attr("type","password"),_win.passw=1)}),_win.bd.on("input change focus",".line-form-input",debounce(function(){placeholder_scale(jQuery(this))},100));function placeholder_scale(_this){var val2=_this.val(),placeholder=_this.siblings(".scale-placeholder");val2.length>0?placeholder.addClass("is-focus"):placeholder.removeClass("is-focus")}function aksrt_is_url(str){try{return new URL(str),!0}catch{return!1}}function is_mail(str){return/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/.test(str)}jQuery.fn.serializeObject=function(){var o={},a=this.serializeArray();return jQuery.each(a,function(){o[this.name]!==void 0?(o[this.name].push||(o[this.name]=[o[this.name]]),o[this.name].push(this.value||"")):o[this.name]=this.value||""}),o},_win.bd.on("click",".trash-history-search",function(){confirm(aksrt__("confirm_clear_search"))==!0&&(jQuery(".history-search").slideUp().delay(1e3,function(){jQuery(this).remove()}),jQuery.cookie("history_search",""))}),_win.bd.on("click",".initiate-checkin",function(){aksrt_ajax(jQuery(this),0,function(data){data.details_link&&jQuery(".initiate-checkin").each(function(){var $link=jQuery(data.details_link),_this=jQuery(this),_class=_this.attr("class"),_text=_this.attr("ed-text");$link.addClass(_class).removeClass("initiate-checkin").html(_text),_this.prop("outerHTML",$link.prop("outerHTML"))})},aksrt__("checkin_loading"))}),_win.bd.on("click",".single-pay-tabbar",function(){scrollTo("#posts-pay",-50),jQuery("#posts-pay .cashier-link").click()}),_win.bd.on("submit","[ajax-submit]",function(){var _this=jQuery(this),but=_this.attr("ajax-submit")||'.wp-ajax-submit,[zibajax="submit"]';return _this.find(but).click(),!1}),_win.bd.on("click",'.wp-ajax-submit,[zibajax="submit"]',function(){var _this=jQuery(this),confirm_text=_this.attr("data-confirm");return confirm_text&&!confirm(confirm_text)||aksrt_ajax(jQuery(this)),!1});function aksrt_ajax(_this,data,success,noty,no_loading){if(_this.attr("disabled"))return!1;if(!data){var _data=_this.attr("form-data");if(_data)try{data=jQuery.parseJSON(_data)}catch{}if(!data){var form=_this.parents("form");data=form.serializeObject()}}var _action=_this.attr("form-action");_action&&(data.action=_action);var _text=_this.html(),_loading=no_loading?_text:''+aksrt__("please_wait")+"";noty!="stop"&¬yf(noty||aksrt__("processing"),"load","","wp_ajax"),_this.attr("disabled",!0).html(_loading);var _url=_this.attr("ajax-href")||_win.ajax_url;jQuery.ajax({type:"POST",url:_url,data,dataType:"json",error:function(n){var _msg=aksrt_sprintf("ajax_error",n.status,n.statusText);aksrt_is_fatal_error_response(n.responseText)&&(_msg=aksrt__("ajax_fatal_error")),console.error("ajax请求错误,错误信息如下:",n),notyf(_msg,"danger","",noty!="stop"?"wp_ajax":""),_this.attr("disabled",!1).html(_text)},success:function(n){var ys=n.ys?n.ys:n.error?"danger":"";noty!="stop"?notyf(n.msg||aksrt__("done"),ys,"","wp_ajax"):n.msg&¬yf(n.msg,ys),_this.attr("disabled",!1).html(_text).trigger("zib_ajax.success",n),jQuery.isFunction(success)&&success(n,_this,data),n.hide_modal&&_this.closest(".modal").modal("hide"),n.reload&&(n.goto?(window.location.href=n.goto,window.location.reload):window.location.reload())}})}_win.bd.on("zib_ajax.success","[next-tab]",function(e,n){var _next=jQuery(this).attr("next-tab");_next&&n&&!n.error&&jQuery('a[href="#'+_next+'"]').tab("show")}),jQuery(".erphp-login-must").each(function(){jQuery(this).addClass("signin-loader")}),_win.window.resize(debounce(function(){_wid=_win.window.width(),auto_fun()},500)),jQuery(".collapse").on("shown.bs.collapse",function(){auto_fun()}),_win.bd.on("click",".read-more-open",function(){jQuery(this).parents(".limit-height").css({height:"","max-height":""}).find(".read-more").remove()});function posts_limit_height(){if(jQuery(".limit-height").length){var r=jQuery(".limit-height");if(r.data("posts-limit-ison"))return;var r_h=r.height(),r_m=r.attr("data-maxheight");if(~~r_h>=~~r_m+79){var nn='';r.append(nn).data("posts-limit-ison",!0)}}}auto_fun(),thumb_dplayer(_wid>640?".posts-item .item-thumbnail,.forum-lists-cover":".posts-item,.forum-posts",".video-thumb-box[video-url]"),jQuery("[load-click]").attr("no-scroll",!0).click(),jQuery(document).on("lazybeforeunveil",function(e){var _this=jQuery(e.target),lazyload_action=_this.attr("lazyload-action");setTimeout(function(){if(lazyload_action==="ias")if(_this.attr("remote-box"))_this.click();else{var _a=_this.is(".ajax-next,.ias-btn")?_this:_this.find(".ajax-next,.ias-btn");_a.attr("no-scroll",!0).click()}if(lazyload_action=="animated"){var animated=_this.attr("data-animated");animated&&_this.addClass("animated "+animated).css("visibility","unset")}},200);var bg=_this.attr("data-bg");bg&&_this.css("background-image","url("+bg+")")});function fps_yh(){var lastTime=0,frames=0,fps=0,fps_average=0,currentTime,stop=0;function updateFPS(){currentTime=performance.now(),frames++,currentTime-lastTime>=300&&(fps=Math.round(frames*1e3/(currentTime-lastTime)),frames=0,lastTime=currentTime,fps>5&&lastTime>1600&&(fps_average=fps_average||fps,fps_average=(fps_average+fps)/2,fps_average<20&&stop++,stop>5&&jQuery("body").addClass("fps-accelerat"))),stop<=5&&lastTime<15e3?requestAnimationFrame(updateFPS):setCookie()}function setCookie(){jQuery.cookie("fps_accelerat",~~fps_average,{path:"/",expires:604800})}requestAnimationFrame(updateFPS)}!jQuery.cookie("fps_accelerat")&&!jQuery("body").hasClass("fps-accelerat")&&fps_yh();function partners_scroll_init(){function init(widget){if(!(!widget||widget.dataset.zpsReady==="1")){var speed=parseFloat(widget.style.getPropertyValue("--zps-speed"))||3,rows=widget.querySelectorAll("[data-zps-row]");rows.forEach(function(row){var track=row.querySelector("[data-zps-track]");if(track){var seed=track.querySelector(".zps-group");if(seed){var setup=function(){var extras=track.querySelectorAll(".zps-group.zps-clone");extras.forEach(function(el){el.remove()});var groupWidth=seed.scrollWidth;if(!(groupWidth<10)){var rowWidth=row.clientWidth||widget.clientWidth||window.innerWidth,needTotal=Math.max(groupWidth*2,rowWidth+groupWidth),copies=Math.ceil(needTotal/groupWidth);copies<2&&(copies=2);for(var i=1;i0)){pending++;var done=function(){pending--,pending<=0&&setup()};img.addEventListener("load",done,{once:!0}),img.addEventListener("error",done,{once:!0})}});var resizeTimer;window.addEventListener("resize",function(){clearTimeout(resizeTimer),resizeTimer=setTimeout(setup,200)})}}}),widget.dataset.zpsReady="1"}}function initAll(){document.querySelectorAll(".zib-partners-scroll").forEach(init)}initAll()}function translate_init(){var translate_config=_win.translate_config;translate_config.s&&tbquire(["translate"],function(){translate.selectLanguageTag.show=!1,translate.language.setLocal(translate_config.local||"chinese_simplified"),translate_config.service_url&&translate.request.setHost(translate_config.service_url),translate_config.ignore_text&&(translate.ignore.text=translate_config.ignore_text),translate_config.nomenclature&&translate_config.nomenclature.length>0&&jQuery.each(translate_config.nomenclature,function(index,item){var from=item.from,to=item.to,value=item.value;from=="auto"&&(from=""),value&&to&&translate.nomenclature.append(from,to,value)}),translate_config.auto_discriminate_local&&translate.setAutoDiscriminateLocalLanguage(),translate_config.range&&translate_config.range.length>0&&(translate.language.translateLanguagesRange=translate_config.range),translate_config.loading&&translate.progress.api.startUITip();var $language_dropdown=jQuery(".language-dropdown .dropdown-menu"),translateStart=debounce(function(){jQuery("[data-language]").removeClass("active"),$language_dropdown.loading("show")},400,!0);translate.lifecycle.changeLanguage.trigger.push(translateStart);var renderFinish=debounce(function(uuid){$language_dropdown.loading("hide"),jQuery("[data-language='"+uuid.to+"']").addClass("active")},400);translate.lifecycle.execute.finally.push(renderFinish),_wid>996&&jQuery(".navbar-top .nav>li>a>.menu-item-title").each(function(){var _this=jQuery(this);_this.css({"max-width":~~_this.outerWidth(!0)+5+"px"})}),translate.ignore.class.push("translate-ignore"),translate.ignore.tag.push("svg"),translate.service.use(translate_config.service_use||"client.edge"),translate.listener.start(),translate.execute()})}_win.bd.on("click",".translate-button",function(){var _this=jQuery(this),language=_this.attr("data-language");translate&&translate.changeLanguage(language)}),(function(){var SELECTOR_class="obs-animate",SELECTOR="."+SELECTOR_class,BASE_CLS="in-view",OBS_FLAG="__zaniObserved",REPEAT_CLS="obs-animate-repeat",noAnim=!("IntersectionObserver"in window)||window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(noAnim){removeAnimation(SELECTOR);return}var rootMargin="100px 0px 0px 0px",c_i=0;function execute(entries){c_i=0;for(var isIntersecting_count=0,j=0;j8&&(delay=delay/(isIntersecting_count/8)),$el.css("transition-delay",delay+"s"),$el.addClass(BASE_CLS),c_i++,is_repeat||stop(el)}else is_repeat&&$el.removeClass(BASE_CLS)}}var io=new IntersectionObserver(execute,{root:null,rootMargin,threshold:.01});function stop(el){!el||el.nodeType!==1||!el[OBS_FLAG]||(el[OBS_FLAG]=!1,io.unobserve(el),setTimeout(function(){removeAnimation(el)},50))}function removeAnimation(el){var animation=jQuery(el).attr("data-animation"),animation_class="ani-"+animation;jQuery(el).removeClass(BASE_CLS+" "+SELECTOR_class+" "+animation_class+" "+REPEAT_CLS).removeAttr("data-animation").removeAttr("data-animation-repeat").css("transition-delay","")}function register(el){!el||el.nodeType!==1||el[OBS_FLAG]||(el[OBS_FLAG]=!0,io.observe(el))}function scan(){jQuery(SELECTOR).each(function(){register(this)})}scan()})();function number_stats_init(){function animateCount(el,duration){var target=parseFloat(el.getAttribute("data-target"))||0;if(target===0){el.textContent="0";return}var raw=el.getAttribute("data-target")||"0",decimals=(raw.split(".")[1]||"").length,_duration=~~el.getAttribute("data-duration");duration=_duration>10?_duration:duration;var start=0,startTs=null;duration=duration||1500;function step(ts){startTs||(startTs=ts);var progress=Math.min((ts-startTs)/duration,1),eased=1-Math.pow(1-progress,1.5),value=start+(target-start)*eased;el.textContent=decimals>0?value.toFixed(decimals):Math.floor(value).toString(),progress<1?requestAnimationFrame(step):el.textContent=decimals>0?target.toFixed(decimals):target.toString()}requestAnimationFrame(step)}var wraps=document.querySelectorAll(".stat-number-wrap");if(wraps.length){if(!("IntersectionObserver"in window)){wraps.forEach(function(wrap){wrap.querySelectorAll(".stat-number").forEach(function(el){el.textContent=el.getAttribute("data-target")||""})});return}var io=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){var wrap=entry.target;wrap.dataset.counted!=="1"&&(wrap.dataset.counted="1",wrap.querySelectorAll(".stat-number").forEach(function(el){animateCount(el,1500)}),io.unobserve(wrap))}})},{threshold:.3});wraps.forEach(function(wrap){io.observe(wrap)})}}_win.bd.on("click",".produck-wid-feature-intro .fi-tab",function(){var _this=jQuery(this);if(!_this.hasClass("is-active")){_this.addClass("is-active"),_this.siblings().removeClass("is-active");var panels=_this.closest(".produck-wid-feature-intro").find(".fi-panel");panels.removeClass("is-active"),panels.eq(_this.index()).addClass("is-active")}});function tilt_cases_init(){function isTouchOrMobile(){var isTouch="ontouchstart"in window||navigator.maxTouchPoints&&navigator.maxTouchPoints>0,isSmall=window.matchMedia&&window.matchMedia("(max-width: 768px)").matches;return isTouch||isSmall}if(isTouchOrMobile())return;var cases=jQuery(".vanilla-tilt:not(.is-initialized)");if(!cases.length)return;function setTranslate3d(imgs,translate3d){var transform=imgs[0].style.transform;transform.includes("translate3d")&&(transform=transform.replace(/translate3d\(.*?\)/g,"").trim()),transform=transform+" "+translate3d,imgs.css("transform",transform)}tbquire(["tilt"],function(){cases.each(function(){var _this=jQuery(this),imgs=_this.find("img"),maxTilt=parseFloat(_this.attr("data-tilt-max"))||10,n=imgs.length,gain=1.22,hoverZone=_this.closest(".tilt-cases-container")||_this,mes=_this.data("tilt-mouse-event-element");if(mes){_this.removeAttr("data-tilt-mouse-event-element");var elZone=_this.closest(mes);hoverZone=elZone.length?elZone:hoverZone}var opt={};hoverZone.length&&(opt["mouse-event-element"]=hoverZone[0]),_this.addClass("is-initialized"),VanillaTilt.init(this,opt),!(n<=1)&&(this.addEventListener("tiltChange",function(e){var detail=e.detail||{},tx=parseFloat(detail.tiltX)||0,ty=parseFloat(detail.tiltY)||0;imgs.each(function(i){var $img=jQuery(this),base=parseFloat($img.attr("data-tilt-depth"));if(isNaN(base)&&(base=20),base===0){setTranslate3d($img,"translate3d(0,0,0)");return}var layerMul=1;n>1&&(layerMul=.48+i/(n-1)*1.14);var effective=base*gain*layerMul,dx=tx/maxTilt*effective*-1,dy=ty/maxTilt*effective;setTranslate3d($img,"translate3d("+dx+"px, "+dy+"px, 0)")})}),hoverZone&&hoverZone.on("mouseleave",function(){imgs.each(function(){setTranslate3d(jQuery(this),"translate3d(0,0,0)")})}))})})}_win.bd.on("click",".customize-preview-widget-edit",function(e){if(!(!wp||!wp.customize||!wp.customize.widgetsPreview)){var _this=jQuery(this),box=_this.closest(".customize-preview-widget-box");e.preventDefault(),wp.customize.widgetsPreview.preview.send("focus-widget-control",box.prop("id"))}}),jQuery(document).ready(function(){if(setTimeout(function(){jQuery(".line-form-input").each(function(){placeholder_scale(jQuery(this))}),_win.views&&jQuery.post(_win.ajax_url,{action:"views_record",id:_win.views}),posts_limit_height(),_win.window.trigger("scroll")},1e3),number_stats_init(),translate_init(),partners_scroll_init(),tilt_cases_init(),jQuery(".navbar-top li.menu-item-has-children>a").each(function(){jQuery(this).append('')}),_wid>996&&jQuery(".header").height()>81&&nav_folding(),posts_limit_height(),auto_maxHeight(),jQuery(".feature").length){var _feh=0,_fehm=0;jQuery(".feature").each(function(){var _th=jQuery(this);(_feh=_th.find(".feature-icon").innerHeight()+_th.find(".feature-title").innerHeight()+_th.find(".feature-note").innerHeight())>_fehm&&(_fehm=_feh)}),jQuery(".feature").css("height",_fehm)}jQuery(".qrcode").length&&tbquire(["qrcode"],function(){jQuery(".qrcode").each(function(){var _this=jQuery(this),text=_this.attr("data-qrcode"),size=_this.attr("data-size")||160;_this.qrcode({width:size,height:size,correctLevel:0,text:text||document.URL,background:"#fff",foreground:"#333"})})}),jQuery(document).on("lazyloaded",function(e){var _this=jQuery(e.target);swiper_tab_AutoHeight(_this)}),jQuery(document).on("lazyloaded",".gradient-bg img",function(e){var _this=jQuery(e.target),_parent=_this.closest(".gradient-bg"),opacity=_parent.attr("data-opacity"),c_11=opacity?"a":"",c_12=opacity?","+opacity:"";tbquire(["grade"],function(){Grade(_parent[0],null,function(gradientData){gradientData=gradientData[0];var rgba=gradientData.gradientData,c_1="rgb"+c_11+"("+rgba[0].rgba.slice(0,3).join(",")+c_12+") 10%",c_2="rgb"+c_11+"("+rgba[1].rgba.slice(0,3).join(",")+c_12+") 80%";jQuery(gradientData.element).addClass("gradient-bg-loaded").css("background-image","linear-gradient(135deg, "+c_1+", "+c_2+")")})})}),_win.qj_loading&&jQuery(".qj_loading").fadeOut(500).delay(1e3,function(){jQuery(this).remove(),jQuery("#qj_dh_css").remove()});function yiyan_nr(n){var yylink=_win.uri+"/yiyan/qv-yiyan.php",y_nr;jQuery.ajax({type:"POST",url:yylink}).done(function(i){var lines=i.replace(/\r\n|\r/g,"/&/").trim().split("/&/");if(lines){var type=n.attr("type");type?y_nr=type==="en"?lines[0]:lines[1]:y_nr='
    '+lines[0]+'
    '+lines[1]+"
    ",n.html(y_nr)}})}jQuery(".yiyan").each(function(){yiyan_nr(jQuery(this))}),setInterval(function(){jQuery(".yiyan").each(function(){yiyan_nr(jQuery(this))})},3e4),jQuery(".yiyan").on("click",function(){yiyan_nr(jQuery(this))}),jQuery("[mini-touch]").each(function(){var _this=jQuery(this),fx=_this.attr("touch-direction");_this.minitouch({direction:fx,onEnd:function(e){_this.attr("mini-touch")==="mobile-nav"?jQuery("body").removeClass("mobile-navbar-show"):e.removeClass("show")}})})}); +(function($,window2,document2){"use strict";function closeNotyf($element){$element.addClass("notyn-out"),window2.setTimeout(function(){$element.remove()},1e3)}function notyf2(message,type,time,id){var $body=jQuery(document2.body);jQuery(".notyn").length||$body.append('
    '),type=type||"success",type==="error"&&(type="danger"),time=time||5e3,time=time<100?time*1e3:time;var idAttribute=id?' id="'+id+'"':"",$notification=jQuery('
    '+message+"
    "),shouldClose=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+type).html(message),$notification=jQuery("#"+id),shouldClose=!0):jQuery(".notyn").append($notification),shouldClose&&window2.setTimeout(function(){closeNotyf($notification)},time)}jQuery(document2.body).on("click",".noty1",function(){closeNotyf(jQuery(this))}),window2.notyf=notyf2})(jQuery,window,document),(function(window2){"use strict";var allowedKinds={identity:!0,badges:!0,orders:!0,vip:!0},allowedEvents={click:!0,shell:!0,"first-content":!0,ready:!0,"action-start":!0,"action-end":!0,unauthorized:!0,error:!0},sessions=Object.create(null),sequence=0,maxSessions=100;function normalize(value,fallback){var normalized=String(value||fallback||"").toLowerCase().replace(/[^a-z0-9-]/g,"");return normalized||fallback}function now(){return window2.performance&&typeof window2.performance.now=="function"?window2.performance.now():0}function markName(session,event){return"aksrt-modal-"+session.kind+"-"+session.id+"-"+event}function emit(session,event){if(!(!window2.performance||typeof window2.performance.mark!="function")){var name=markName(session,event);if(window2.performance.mark(name),session.marks[event]=name,typeof window2.performance.measure=="function"&&session.marks.click&&event!=="click")try{window2.performance.measure("aksrt-modal-"+session.kind+"-"+session.id+"-click-to-"+event,session.marks.click,name)}catch{}}}function start(kind){var safeKind=normalize(kind,"unknown");allowedKinds[safeKind]||(safeKind="unknown"),sequence+=1;var id=String(sequence),session={id,kind:safeKind,startedAt:now(),marks:Object.create(null)};sessions[id]=session,emit(session,"click");for(var ids=Object.keys(sessions);ids.length>maxSessions;)delete sessions[ids.shift()];return id}function mark(id,event){var session=sessions[String(id||"")],safeEvent=normalize(event,"error");!session||!allowedEvents[safeEvent]||emit(session,safeEvent)}function finish(id){mark(id,"ready")}function fail(id){mark(id,"error")}window2.AksrtModalTelemetry={start,mark,finish,error:fail}})(window),(function(window2){"use strict";function data(){return window2.aksrtData||window2.aksrt||{}}function createIdempotencyKey(){if(window2.crypto&&typeof window2.crypto.randomUUID=="function")return window2.crypto.randomUUID();if(!window2.crypto||typeof window2.crypto.getRandomValues!="function")throw new Error("当前浏览器无法生成安全的操作标识");var bytes=new Uint8Array(16);window2.crypto.getRandomValues(bytes),bytes[6]=bytes[6]&15|64,bytes[8]=bytes[8]&63|128;var hex=Array.prototype.map.call(bytes,function(value){return value.toString(16).padStart(2,"0")}).join("");return hex.slice(0,8)+"-"+hex.slice(8,12)+"-"+hex.slice(12,16)+"-"+hex.slice(16,20)+"-"+hex.slice(20)}function restBase(){var config=data(),raw=config.restUrl||config.apiUrl||config.rest_url||"",siteUrl=config.siteUrl||config.homeUrl||window2.location.origin+"/";return window2.location.protocol==="https:"&&siteUrl.substring(0,5)==="http:"&&(siteUrl="https:"+siteUrl.substring(5)),raw?String(raw).replace(/\/$/,""):String(siteUrl).replace(/\/$/,"")+"/index.php?rest_route=/aksrt/v1"}function appendQuery(url2,query){if(!query)return url2;var parts=[];return typeof query=="string"?parts=query.replace(/^\?/,"").split("&").filter(Boolean):typeof query=="object"&&Object.keys(query).forEach(function(key){query[key]===void 0||query[key]===null||parts.push(encodeURIComponent(key)+"="+encodeURIComponent(String(query[key])))}),parts.length?url2+(url2.indexOf("?")>=0?"&":"?")+parts.join("&"):url2}function url(path,query){path=String(path||"");var inlineQuery="",queryIndex=path.indexOf("?");if(queryIndex>=0&&(inlineQuery=path.slice(queryIndex+1),path=path.slice(0,queryIndex)),/^https?:\/\//i.test(path))return appendQuery(path,query||inlineQuery);path.charAt(0)!=="/"&&(path="/"+path);var base=restBase(),result=(base.indexOf("rest_route=")>=0,base+path);return appendQuery(result,query||inlineQuery)}function headers(options){var config=data(),source=options&&options.headers||{},result={},nonce=config.restNonce||config.nonce||"";return Object.keys(source).forEach(function(key){result[key]=source[key]}),result.Accept||(result.Accept="application/json, text/html;q=0.9, */*;q=0.8"),nonce&&!result["X-WP-Nonce"]&&(result["X-WP-Nonce"]=nonce),options&&options.body!==void 0&&options.body!==null&&!(window2.FormData&&options.body instanceof window2.FormData)&&!result["Content-Type"]&&(result["Content-Type"]="application/json"),result}function responseError(result){var json=result.json,message=json&&(json.message||json.data&&json.data.message),error=new Error(message||(result.status?"请求失败(HTTP "+result.status+")":"请求失败"));return error.status=result.status,error.code=result.status===401?"unauthorized":"http_error",error.response=result,error.json=json,error}function parseResponse(response){return response.text().then(function(text){var type=(response.headers.get("content-type")||"").toLowerCase(),json=null,trimmed=String(text||"").trim();if(type.indexOf("application/json")>=0||trimmed.charAt(0)==="{"||trimmed.charAt(0)==="[")try{json=trimmed?JSON.parse(trimmed):{}}catch{json=null}return{ok:response.ok,status:response.status,headers:response.headers,text,json,data:json&&json.data!==void 0?json.data:json}})}function request(path,options){options=Object.assign({},options||{});var requestUrl=url(path,options.query);delete options.query;var fetchOptions=Object.assign({},options,{credentials:options.credentials||"same-origin",headers:headers(options)});return window2.fetch(requestUrl,fetchOptions).then(function(response){return parseResponse(response)}).then(function(result){if(!result.ok||result.json&&result.json.success===!1)throw responseError(result);return result})}window2.AksrtRequest={url,request,createIdempotencyKey,get:function(path,options){return request(path,Object.assign({},options||{},{method:"GET"}))},post:function(path,body,options){return request(path,Object.assign({},options||{},{method:"POST",body}))}}})(window),(function(window2,document2){"use strict";var DEFAULT_TTL=15e3,entries=Object.create(null),flights=Object.create(null),lastScope="";function scope(){var config=window2.aksrtData||window2.aksrt||{},userId=parseInt(config.userId||0,10)||0,current=(config.isLoggedIn&&userId>0?"user:"+userId:"guest")+":v1";return lastScope&&lastScope!==current&&clear(),lastScope=current,current}function token(key){return scope()+"::"+String(key||"")}function read(key){var id=token(key),entry=entries[id];return entry?entry.expiresAt<=Date.now()?(delete entries[id],{hit:!1,value:void 0}):{hit:!0,value:entry.value}:{hit:!1,value:void 0}}function tagsOf(value){return Array.isArray(value)?value.slice():value?[value]:[]}function set(key,value,options){options=options||{};var ttl=Number(options.ttl||DEFAULT_TTL);return entries[token(key)]={value,expiresAt:Date.now()+Math.max(0,ttl),tags:tagsOf(options.tags)},value}function matchesTags(entry,wanted){return wanted.length?wanted.some(function(tag){return entry.tags.indexOf(tag)>=0}):!0}function invalidate(tags){var wanted=Array.isArray(tags)?tags:tags?[tags]:[],removed=0;return Object.keys(entries).forEach(function(id){(!wanted.length||matchesTags(entries[id],wanted))&&(delete entries[id],removed+=1)}),Object.keys(flights).forEach(function(id){var flight=flights[id];(!wanted.length||matchesTags(flight,wanted))&&(flight.cancelled=!0,delete flights[id],typeof flight.cancel=="function"&&flight.cancel())}),document2.dispatchEvent(new CustomEvent("aksrt:cache:invalidated",{detail:{tags:wanted.slice()}})),removed}function clear(){entries=Object.create(null),Object.keys(flights).forEach(function(id){var flight=flights[id];flight.cancelled=!0,typeof flight.cancel=="function"&&flight.cancel()}),flights=Object.create(null)}function acquire(key,loader,options){options=options||{};var id=token(key),cached=options.skipCache?{hit:!1}:read(key);if(cached.hit)return{cached:!0,promise:Promise.resolve(cached.value),release:function(){}};var flight=flights[id];flight||(flight={refs:0,settled:!1,cancelled:!1,tags:tagsOf(options.tags),cancel:options.cancel},flight.promise=Promise.resolve().then(loader).then(function(value){return flight.settled=!0,!flight.cancelled&&options.store!==!1&&set(key,value,options),flights[id]===flight&&delete flights[id],value},function(error){throw flight.settled=!0,flights[id]===flight&&delete flights[id],error}),flights[id]=flight),flight.refs+=1;var released=!1;return{cached:!1,promise:flight.promise,release:function(){released||(released=!0,flight.refs=Math.max(0,flight.refs-1),flight.refs===0&&!flight.settled&&(flight.cancelled=!0,flights[id]===flight&&delete flights[id],typeof flight.cancel=="function"&&flight.cancel()))}}}["aksrt:auth:logout","aksrt:account-switch","aksrt:logout","aksrt:user:logout","aksrt:auth:changed","wp_logout"].forEach(function(eventName){document2.addEventListener(eventName,clear)}),window2.AksrtModalCache={get:function(key){return read(key)},set,acquire,invalidate,clear,scope}})(window,document),(function(window2,document2){"use strict";var SELECTOR=".float-right-wait-pay",timer=null,seq=0;function loggedIn(){var config=window2.aksrtData||window2.aksrt||{};return!!config.isLoggedIn}function touchesOrders(tags){return!Array.isArray(tags)||!tags.length?!0:tags.some(function(tag){return tag=String(tag||""),tag==="orders"||tag.indexOf("order:")===0})}function render(html){var current=document2.querySelector(SELECTOR);if(!html){current&¤t.remove();return}var holder=document2.createElement("div");holder.innerHTML=html;var next=holder.firstElementChild;next&&(current?current.replaceWith(next):document2.body.appendChild(next),window2.jQuery&&window2.jQuery.fn.countdown&&window2.jQuery(next).find("[data-countdown]").countdown())}function refresh(){if(!(!loggedIn()||!window2.AksrtRequest)){var id=++seq;window2.AksrtRequest.get("/orders/wait-pay-float").then(function(result){if(id===seq){var data=result.data||{};render(String(data.html||""))}}).catch(function(){})}}document2.addEventListener("aksrt:cache:invalidated",function(event){touchesOrders(event.detail&&event.detail.tags)&&(window2.clearTimeout(timer),timer=window2.setTimeout(refresh,300))})})(window,document),(function(window2){"use strict";var statuses={idle:"idle",loading:"loading",ready:"ready",empty:"empty",submitting:"submitting",success:"success",error:"error",unauthorized:"unauthorized",stale:"stale"};function create(kind){return{kind:String(kind||"generic"),status:statuses.idle,updatedAt:0,error:null}}window2.AksrtModalState={statuses,create}})(window),(function(window2,document2){"use strict";var ROOT_ID="aksrt-modal-runtime-root",active=null,sessions=[],sequence=0,loaders=Object.create(null);function isMobile(){return window2.matchMedia&&window2.matchMedia("(max-width: 768px)").matches}function ensureRoot(){var root=document2.getElementById(ROOT_ID);return root||(root=document2.createElement("div"),root.id=ROOT_ID,root.className="aksrt-modal-runtime-host",document2.body.appendChild(root),root)}function escapeHtml(value){return String(value??"").replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/'/g,"'")}var SCROLLBAR_FIXED=".nav-fixed .header, .float-right",scrollLock=null;function padRight(element,gap){var inline=element.style.paddingRight,computed=parseFloat(window2.getComputedStyle(element).paddingRight)||0;return element.style.paddingRight=computed+gap+"px",{element,inline}}function lockScroll(lock){var html=document2.documentElement,body=document2.body;if(lock){if(scrollLock)return;var gap=window2.innerWidth-html.clientWidth;scrollLock=[],gap>0&&(scrollLock.push(padRight(body,gap)),document2.querySelectorAll(SCROLLBAR_FIXED).forEach(function(element){scrollLock.push(padRight(element,gap))})),html.classList.add("aksrt-modal-runtime-open"),body.classList.add("aksrt-modal-runtime-open");return}scrollLock&&(html.classList.remove("aksrt-modal-runtime-open"),body.classList.remove("aksrt-modal-runtime-open"),scrollLock.forEach(function(entry){entry.element.style.paddingRight=entry.inline}),scrollLock=null)}function skeleton(options){return options&&options.loading==="spinner"?'
    ':options&&options.skeleton||'
    '}function telemetryStart(kind){return kind===!1?"":window2.AksrtModalTelemetry.start(kind||"generic")}function telemetryMark(session,event){!session||!session.telemetryId||window2.AksrtModalTelemetry.mark(session.telemetryId,event)}function isLive(session){return!!session&&!session.closed&&sessions.indexOf(session)!==-1}function setState(session,status,error){session.state.status=status,session.state.error=error||null,session.state.updatedAt=Date.now(),session.shell&&session.shell.setAttribute("data-aksrt-modal-state",status),typeof session.options.onState=="function"&&session.options.onState(status,session)}function focusable(shell){return shell.querySelectorAll("button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])")}function closeSelector(){return"[data-aksrt-modal-close], .aksrt-modal-runtime__close"}function bindChrome(session){var shell=session.shell;shell.addEventListener("click",function(event){if(active===session){var closeButton=event.target.closest(closeSelector());if(closeButton){event.preventDefault(),close("control");return}if(event.target===shell||event.target.classList.contains("aksrt-modal-runtime__overlay")){close("overlay");return}var retry=event.target.closest("[data-aksrt-modal-retry]");retry&&(event.preventDefault(),refresh())}}),shell.addEventListener("keydown",function(event){if(active===session){if(event.key==="Escape"){event.preventDefault(),close("escape");return}if(event.key==="Tab"){var nodes=focusable(shell);if(!nodes.length){event.preventDefault(),shell.focus();return}var first=nodes[0],last=nodes[nodes.length-1];event.shiftKey&&document2.activeElement===first?(event.preventDefault(),last.focus()):!event.shiftKey&&document2.activeElement===last&&(event.preventDefault(),first.focus())}}})}function createSession(options){options=options||{};var root=ensureRoot(),shell=document2.createElement("div"),bottom=options.bottom===!0||options.mobileBottom!==!1&&isMobile(),heightStyle=options.height?"min-height:"+parseInt(options.height,10)+"px;":"",initialHtml=options.html!==void 0?options.html:skeleton(options),swipeHandle=bottom&&options.swipeClose?'':"",titleId="aksrt-modal-title-"+String(sequence+1),titleHtml=options.title?'

    '+escapeHtml(options.title)+'

    ':"";shell.className="aksrt-modal-runtime"+(active?" aksrt-modal-runtime--child":"")+(bottom?" aksrt-modal-runtime--bottom":"")+(options.className?" "+options.className:""),shell.setAttribute("role","dialog"),shell.setAttribute("aria-modal","true"),options.title&&shell.setAttribute("aria-labelledby",titleId),shell.setAttribute("tabindex","-1"),shell.innerHTML='
    '+titleHtml+'
    '+initialHtml+"
    "+swipeHandle+"
    ";var session={id:String(++sequence),shell,content:shell.querySelector(".aksrt-modal-runtime__content"),options,state:window2.AksrtModalState.create(options.kind||"generic"),focusReturn:options.focusReturn!==void 0?options.focusReturn:document2.activeElement,controller:null,flight:null,closed:!1,telemetryId:telemetryStart(options.telemetry===!1?!1:options.kind)};active&&(active.shell.classList.add("aksrt-modal-runtime--parent"),active.shell.setAttribute("aria-modal","false"),active.shell.setAttribute("aria-hidden","true"),active.shell.setAttribute("inert","")),root.appendChild(shell),bindChrome(session),bottom&&options.swipeClose&&window2.jQuery&&window2.jQuery.fn&&typeof window2.jQuery.fn.minitouch=="function"&&window2.jQuery(shell).minitouch({direction:"bottom",selector:".aksrt-modal-runtime__dialog",start_selector:".modal-colorful-header,.touch-close,.touch",depreciation:50,stop:function(){return active!==session},onEnd:function(){active===session&&close("swipe")}}),sessions.push(session),active=session,lockScroll(!0),shell.offsetWidth,shell.classList.add("is-open"),setState(session,options.html!==void 0?"ready":"loading"),telemetryMark(session,"shell");var nodes=focusable(shell);try{(nodes.length?nodes[0]:shell).focus()}catch{}return document2.dispatchEvent(new CustomEvent("aksrt:modal:open",{detail:{shell,options,session}})),options.html!==void 0&&(notifyContentLoaded(session),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),typeof options.onContent=="function"&&options.onContent(options.html,session)),session}function notifyContentLoaded(session){!session||!session.shell||!window2.jQuery||window2.jQuery(session.shell).trigger("loaded.bs.modal")}function abortSessionRequest(session){if(session){if(session.flight&&typeof session.flight.release=="function"&&session.flight.release(),session.flight=null,session.controller)try{session.controller.abort()}catch{}session.controller=null}}function removeActive(reason,preserveRequest,resumeParent){if(active){var session=active;if(sessions[sessions.length-1]===session){sessions.pop(),active=sessions[sessions.length-1]||null,session.closed=!0,preserveRequest||abortSessionRequest(session),session.shell.classList.remove("is-open"),active&&resumeParent&&(active.shell.classList.remove("aksrt-modal-runtime--parent"),active.shell.setAttribute("aria-modal","true"),active.shell.removeAttribute("aria-hidden"),active.shell.removeAttribute("inert")),!active&&!preserveRequest&&lockScroll(!1),document2.dispatchEvent(new CustomEvent("aksrt:modal:close",{detail:{shell:session.shell,reason:reason||"close",session}}));var node=session.shell,exitDelay=220,dialog=node.querySelector(".aksrt-modal-runtime__dialog");if(dialog){var durations=window2.getComputedStyle(dialog).transitionDuration||"";durations.split(",").forEach(function(duration){var milliseconds=parseFloat(duration)*(duration.trim().slice(-2)==="ms"?1:1e3);milliseconds>exitDelay&&(exitDelay=milliseconds)})}window2.setTimeout(function(){node&&node.parentNode&&node.parentNode.removeChild(node);var target=session.focusReturn;if(!preserveRequest&&resumeParent&&active){var canRestoreTarget=target&&target!==node&&active.shell.contains(target)&&typeof target.focus=="function",fallbackNodes=canRestoreTarget?[]:focusable(active.shell),fallback=fallbackNodes.length?fallbackNodes[0]:active.shell;try{(canRestoreTarget?target:fallback).focus()}catch{}}else if(!preserveRequest&&resumeParent&&!active&&target&&target!==node&&document2.contains(target)&&typeof target.focus=="function")try{target.focus()}catch{}},exitDelay)}}}function close(reason,preserveRequest){removeActive(reason,preserveRequest,!0)}function responseData(result){return result?result.data!==void 0&&result.data!==null?result.data:result.json&&result.json.data!==void 0?result.json.data:result.json:null}function responseHtml(result){var data=responseData(result);return data&&typeof data.html=="string"?data.html:result&&result.json&&typeof result.json.html=="string"?result.json.html:result&&typeof result.text=="string"?result.text:""}function errorMessage(error){return error&&error.code==="unauthorized"?"请先登录":error&&error.message?String(error.message):"加载失败,请重试"}function renderError(session,error){if(isLive(session)){var unauthorized=error&&error.code==="unauthorized";setState(session,unauthorized?"unauthorized":"error",error),telemetryMark(session,unauthorized?"unauthorized":"error"),session.content.innerHTML='
    提示
    '+escapeHtml(errorMessage(error))+'
    ',notifyContentLoaded(session),typeof session.options.onError=="function"&&session.options.onError(error,session)}}function renderResult(session,result){if(isLive(session)){if(session.options.responseType==="json"||typeof session.options.renderData=="function"){var data=responseData(result);if(data==null){setState(session,"empty"),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),session.content.innerHTML='
    暂无内容
    ';return}typeof session.options.renderData=="function"&&session.options.renderData(data,session,result),setState(session,"ready"),telemetryMark(session,"first-content"),notifyContentLoaded(session),telemetryMark(session,"ready"),typeof session.options.onData=="function"&&session.options.onData(data,session,result);return}var html=responseHtml(result);if(!html){setState(session,"empty"),telemetryMark(session,"first-content"),telemetryMark(session,"ready"),session.content.innerHTML='
    暂无内容
    ';return}session.content.innerHTML=html,setState(session,"ready"),telemetryMark(session,"first-content"),notifyContentLoaded(session),telemetryMark(session,"ready"),typeof session.options.onContent=="function"&&session.options.onContent(html,session)}}function load(session,loadOptions){if(loadOptions=loadOptions||{},!session||session.closed||!session.options.url)return Promise.resolve(session&&session.shell);abortSessionRequest(session),setState(session,"loading"),session.content.innerHTML=skeleton(session.options),session.controller=window2.AbortController?new window2.AbortController:null;var requestOptions={method:session.options.method||"GET",headers:session.options.headers||{},body:session.options.body,query:session.options.query,signal:session.controller?session.controller.signal:void 0};requestOptions.body===void 0&&delete requestOptions.body,requestOptions.signal||delete requestOptions.signal;var request=function(){return window2.AksrtRequest.request(session.options.url,requestOptions)},method=String(session.options.method||"GET").toUpperCase(),cacheable=method==="GET"&&session.options.cache!==!1,cacheKey=session.options.cacheKey||method+":"+window2.AksrtRequest.url(session.options.url,session.options.query),cache=window2.AksrtModalCache,acquireOptions={ttl:Number(session.options.cacheTtl||15e3),tags:session.options.cacheTags||session.options.tags||[],skipCache:!!loadOptions.force||!cacheable,store:cacheable,cancel:function(){if(session.controller)try{session.controller.abort()}catch{}}},flight=cacheable?cache.acquire(cacheKey,request,acquireOptions):{promise:request(),release:function(){}};return session.flight=flight,flight.promise.then(function(result){return isLive(session)&&renderResult(session,result),session.shell}).catch(function(error){var aborted=error&&(error.name==="AbortError"||error.code==="ABORT_ERR");return!aborted&&isLive(session)&&renderError(session,error),session.shell}).then(function(shell){return session.flight===flight&&(flight&&typeof flight.release=="function"&&flight.release(),session.flight=null),shell})}function open(options){options=options||{},(!options.newModal||!active)&&(active&&!options.newModal&&(options.focusReturn=active.focusReturn),removeActive("replace",!1,!1));var session=createSession(options);return session.shell}function sessionKey(options){if(!options||!options.url)return"";var method=String(options.method||"GET").toUpperCase(),requestUrl=window2.AksrtRequest.url(options.url,options.query);return method+":"+requestUrl}function openRemote(options){if(options=Object.assign({},options||{}),!options.url)return Promise.reject(new Error("missing url"));var sameRequest=active&&active.flight&&sessionKey(active.options)===sessionKey(options);(!options.newModal||!active)&&(active&&!options.newModal&&(options.focusReturn=active.focusReturn),removeActive("replace",!!sameRequest,!1));var session=createSession(options);return load(session).then(function(){return session.shell})}function refresh(options){return!active||!active.options.url?Promise.resolve(null):(options&&typeof options=="object"&&(active.options=Object.assign({},active.options,options)),load(active,{force:!0}))}function registerLoader(kind,loader){!kind||typeof loader!="function"||(loaders[String(kind)]=loader)}function openLoader(kind,context){var loader=loaders[String(kind)];return loader?openRemote(loader(context||{})):Promise.reject(new Error("missing modal loader: "+kind))}function invalidate(tags){return window2.AksrtModalCache.invalidate(tags)}window2.AksrtModalRuntime={open,openRemote,close,refresh,registerLoader,openLoader,invalidate,getActive:function(){return active?active.shell:null},getState:function(){return active?active.state:null}},document2.dispatchEvent(new CustomEvent("aksrt:modal-runtime:ready")),window2.jQuery&&window2.jQuery(document2).on("loaded.bs.modal show.bs.modal",".modal, .aksrt-modal-runtime",function(){typeof window2.auto_fun=="function"&&window2.auto_fun()})})(window,document),(function(window2,document2){"use strict";function openFromTrigger(element){var runtime=window2.AksrtModalRuntime,url=element.getAttribute("data-aksrt-modal-url")||"";if(!(!url||url==="#")){var ttl=parseInt(element.getAttribute("data-aksrt-modal-cache-ttl")||"15000",10),cache=element.getAttribute("data-aksrt-modal-cache")!=="false",tags=(element.getAttribute("data-aksrt-modal-cache-tags")||"").split(",").map(function(tag){return tag.trim()}).filter(Boolean);runtime.openRemote({url,method:element.getAttribute("data-aksrt-modal-method")||"GET",className:element.getAttribute("data-aksrt-modal-class")||"modal-mini full-sm",height:parseInt(element.getAttribute("data-aksrt-modal-height")||"0",10)||0,mobileBottom:element.getAttribute("data-aksrt-modal-mobile-bottom")==="true",newModal:element.getAttribute("data-aksrt-modal-new")==="true",loading:element.getAttribute("data-aksrt-modal-loading")||"",swipeClose:element.getAttribute("data-aksrt-modal-swipe-close")==="true",bottom:element.getAttribute("data-aksrt-modal-bottom")==="true",kind:element.getAttribute("data-aksrt-modal-kind")||"generic",cacheKey:element.getAttribute("data-aksrt-modal-cache-key")||"",cache,cacheTtl:ttl>0?ttl:15e3,cacheTags:tags})}}document2.addEventListener("click",function(event){var trigger=event.target.closest('[data-aksrt-modal="remote"]');trigger&&(event.preventDefault(),openFromTrigger(trigger))})})(window,document),(function(){"use strict";function initPasswordToggles(root){(root||document).querySelectorAll(".toggle-pwd").forEach(function(btn){btn.dataset.pwdToggleBound||(btn.dataset.pwdToggleBound="1",btn.addEventListener("click",function(){var id=btn.getAttribute("data-target"),input=id?document.getElementById(id):null;if(input){var show=input.getAttribute("type")==="password";input.setAttribute("type",show?"text":"password"),btn.setAttribute("aria-label",show?"隐藏密码":"显示密码")}}))})}function initSearchClear(){var btn=document.getElementById("search-clear-btn"),input=document.getElementById("search-page-input");if(btn&&input&&!btn.dataset.aksrtSearchClearBound){btn.dataset.aksrtSearchClearBound="1";var syncClearButton=function(){var hasValue=input.value.trim().length>0;btn.classList.toggle("is-visible",hasValue),btn.hidden=!hasValue};btn.addEventListener("click",function(){input.value="",input.focus(),syncClearButton()}),input.addEventListener("input",syncClearButton),syncClearButton()}var categorySelect=document.getElementById("search-category-filter");categorySelect&&categorySelect.addEventListener("change",function(){var url=new URL(window.location.href);this.value?url.searchParams.set("aksrt_category",this.value):url.searchParams.delete("aksrt_category"),url.searchParams.get("aksrt_search_type")&&url.searchParams.get("aksrt_search_type")!=="post"&&url.searchParams.delete("aksrt_category"),url.searchParams.delete("paged"),window.location.href=url.toString()})}function initArticleTools(){var buttons=document.querySelectorAll("[data-article-tool]");buttons.length&&buttons.forEach(function(button){button.dataset.aksrtArticleToolBound||(button.dataset.aksrtArticleToolBound="1",button.addEventListener("click",function(){var tool=button.getAttribute("data-article-tool");if(tool==="print"){window.print();return}tool==="pdf"&&(window.print(),notyf("请在打印对话框中选择“另存为 PDF”","info"))}))})}var postMetaDocumentEventsBound=!1;function setPostMetaMenuState(menuRoot,open){var toggle=menuRoot.querySelector(".post-drop-meta__toggle"),menu=menuRoot.querySelector(".post-drop-meta__menu");!toggle||!menu||(menuRoot.classList.toggle("is-open",open),toggle.setAttribute("aria-expanded",open?"true":"false"),menu.setAttribute("aria-hidden",open?"false":"true"))}function closePostMetaMenus(except,restoreFocus){document.querySelectorAll(".post-drop-meta.is-open").forEach(function(menuRoot){if(menuRoot!==except){var toggle=menuRoot.querySelector(".post-drop-meta__toggle");setPostMetaMenuState(menuRoot,!1),restoreFocus&&toggle&&toggle.focus()}})}function initPostMetaMenus(root){var scope=root||document,menuRoots=[];scope.nodeType===1&&scope.matches(".post-drop-meta")&&menuRoots.push(scope),scope.querySelectorAll(".post-drop-meta").forEach(function(menuRoot){menuRoots.push(menuRoot)}),menuRoots.forEach(function(menuRoot){var toggle=menuRoot.querySelector(".post-drop-meta__toggle"),menu=menuRoot.querySelector(".post-drop-meta__menu");!toggle||!menu||toggle.dataset.postMetaMenuBound||(toggle.dataset.postMetaMenuBound="1",setPostMetaMenuState(menuRoot,!1),toggle.addEventListener("click",function(){var open=!menuRoot.classList.contains("is-open");closePostMetaMenus(menuRoot,!1),setPostMetaMenuState(menuRoot,open)}),menu.addEventListener("click",function(event){event.target.closest(".post-drop-meta__item")&&setPostMetaMenuState(menuRoot,!1)}))}),menuRoots.length&&!postMetaDocumentEventsBound&&(postMetaDocumentEventsBound=!0,document.addEventListener("click",function(event){event.target.closest(".post-drop-meta")||closePostMetaMenus(null,!1)}),document.addEventListener("keydown",function(event){event.key==="Escape"&&closePostMetaMenus(null,!0)}))}function formatStatCount(count){var safeCount=Math.max(0,count);return safeCount>=1e4?Math.round(safeCount/1e4*10)/10+"W+":safeCount>=1e3?Math.round(safeCount/1e3*10)/10+"K":String(safeCount)}function getBaseStatCount(statName){var statEl=document.querySelector('[data-stat-count="'+statName+'"][data-base-count]');return statEl&&parseInt(statEl.dataset.baseCount,10)||0}function updateStatCounts(statName,count){var label=formatStatCount(count);document.querySelectorAll('[data-stat-count="'+statName+'"]').forEach(function(statEl){statEl.textContent=label})}function setBaseStatCount(statName,count){var safeCount=Math.max(0,count);document.querySelectorAll('[data-stat-count="'+statName+'"][data-base-count]').forEach(function(statEl){statEl.dataset.baseCount=String(safeCount)}),updateStatCounts(statName,safeCount)}function requestInteraction(actionName,postId,active){if(!window.aksrtData||!aksrtData.ajaxUrl||!aksrtData.nonce)return Promise.reject(new Error("互动服务未配置"));var body=new URLSearchParams;return body.set("action",actionName),body.set("nonce",aksrtData.nonce),body.set("postId",String(postId)),body.set("active",active?"1":"0"),fetch(aksrtData.ajaxUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},credentials:"same-origin",body:body.toString()}).then(function(response){return response.json().catch(function(){throw new Error("服务器返回无效响应")})}).then(function(payload){if(!payload||!payload.success){var message=payload&&payload.data&&payload.data.message?payload.data.message:"请求失败";throw new Error(message)}return payload.data||{}})}function setButtonBusy(button,busy){button.disabled=!!busy,button.classList.toggle("is-loading",!!busy)}function findInScope(scope,id){return scope=scope||document,scope?scope.nodeType===9?scope.getElementById(id):scope.nodeType===1?scope.id===id?scope:typeof scope.querySelector=="function"?scope.querySelector("#"+id):null:null:null}function collectActionButtons(scope,selector){scope=scope||document;var list=[];if(!scope)return list;if(scope.nodeType===1&&scope.matches&&scope.matches(selector)&&list.push(scope),typeof scope.querySelectorAll=="function")for(var found=scope.querySelectorAll(selector),i=0;i=0?"action-like":selector.indexOf("action-favorite")>=0?"action-favorite":"";if(legacyId){var legacy=findInScope(scope,legacyId);legacy&&list.indexOf(legacy)===-1&&list.push(legacy)}return list}function initInteractionBar(root){var scope=root||document,likeBtns=collectActionButtons(scope,".action-like[data-post-id]"),favBtns=collectActionButtons(scope,".action-favorite[data-post-id]");function paintLike(btn,isActive,animate){btn.dataset.initialActive=isActive?"1":"0",btn.classList.toggle("actived",isActive),btn.classList.toggle("action-animation",!!(isActive&&animate))}function paintFavorite(btn,isActive,animate){btn.dataset.initialActive=isActive?"1":"0",btn.classList.toggle("actived",isActive),btn.classList.toggle("action-animation",!!(isActive&&animate))}function applyLikeState(isActive,count,animate){for(var i=0;i '+loadingText,loadingText)}else isSubmitting=!1,submitBtn.classList.remove("is-loading"),submitBtn.classList.remove("countdown-active"),submitBtn.disabled=!1,setSubmitBtnContent(originalBtnHTML,originalBtnHTML)}function collectFormData(){var formData=new FormData(form),postId=document.querySelector('input[name="comment_post_ID"]');return postId&&!formData.get("comment_post_ID")&&formData.append("comment_post_ID",postId.value),formData}function startCountdown(seconds){countdownTimer&&clearInterval(countdownTimer),submitBtn.classList.add("countdown-active"),submitBtn.disabled=!0;var remaining=seconds;countdownTimer=setInterval(function(){setSubmitBtnContent(' 请等待 '+remaining+"s","请等待 "+remaining+"s"),--remaining<=0&&(clearInterval(countdownTimer),countdownTimer=null,submitBtn.classList.remove("countdown-active","is-loading"),submitBtn.disabled=!1,setSubmitBtnContent(originalBtnHTML,originalBtnHTML),isSubmitting=!1)},1e3)}function updateCommentCount(delta){var countEl=document.querySelector("#comments .title-theme small");if(countEl){var text=countEl.textContent||"",match=text.match(/(\d+)/);if(match){var nextCount=Math.max(0,parseInt(match[1],10)+delta);countEl.textContent=text.replace(match[1],String(nextCount))}}}function performSubmit(captchaPayload){setLoading(!0);var formData=collectFormData(),restRoot=window.aksrtData&&aksrtData.siteUrl?String(aksrtData.siteUrl).replace(/\/$/,""):"",editId=form.querySelector('[name="edit_comment_ID"]'),isEdit=editId&&parseInt(editId.value,10)>0,restBase=(restRoot||"")+"/wp-json/aksrt/v1/comment/"+(isEdit?"edit":"submit"),restBody={};formData.forEach(function(v,k){restBody[k]=v}),Object.assign(restBody,captchaPayload||{}),isEdit&&(restBody.comment_id=parseInt(editId.value,10),restBody.content=restBody.comment||restBody.content||""),fetch(restBase,{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":window.aksrtData&&aksrtData.restNonce||""},credentials:"same-origin",body:JSON.stringify(restBody)}).then(function(r){return r.json()}).then(function(json){if(isEdit&&json&&json.success){var cid=restBody.comment_id,contentEl=document.querySelector("#comment-content-"+cid+', [data-comment-id="'+cid+'"] .comment-content'),rendered=json.data&&json.data.content||json.content||"";contentEl&&rendered&&(contentEl.innerHTML=rendered);var textarea=form.querySelector("#comment");textarea&&(textarea.value=""),editId&&editId.remove(),restoreRespondPosition(),setLoading(!1),notyf(json.message||"评论已更新","success");var respondEl=document.getElementById("respond");respondEl&&window.AksrtFixedInput&&window.AksrtFixedInput(respondEl,"hide");return}if(json&&json.success&&json.html){localInsertComment(json.html,json.is_reply,json.parent_id,json.needs_moderation);var textarea=form.querySelector("#comment");textarea&&(textarea.value="");var replyInfo=document.getElementById("comment-reply-info");replyInfo&&(replyInfo.style.display="none"),json.wait_time&&json.wait_time>0?startCountdown(json.wait_time):setLoading(!1),restoreRespondPosition();var respondEl=document.getElementById("respond");respondEl&&window.AksrtFixedInput?window.AksrtFixedInput(respondEl,"hide"):respondEl&&respondEl.classList.remove("show");var editField=form.querySelector('[name="edit_comment_ID"]');editField&&editField.remove();return}if(json&&json.code){notyf(json.message||"评论提交失败","danger"),json.wait_time?startCountdown(json.wait_time):setLoading(!1);return}notyf("评论已提交","success"),setLoading(!1),setTimeout(function(){reloadCommentList()},500)}).catch(function(error){console.error("[AKSRT Comment] 提交失败:",error),notyf(error&&error.message||"网络连接失败,请检查网络后重试","danger"),setLoading(!1)}).finally(function(){window.AKSRTCaptcha&&window.AKSRTCaptcha.reset("comment",form),!countdownTimer&&isSubmitting&&setLoading(!1)})}function localInsertComment(html,isReply,parentId,needsModeration){var temp=document.createElement("div");temp.innerHTML=html;var newComment=temp.firstElementChild;if(!newComment){reloadCommentList();return}if(newComment.style.overflow="hidden",newComment.style.maxHeight="0",newComment.style.opacity="0",newComment.style.transition="max-height 0.4s ease, opacity 0.3s ease",isReply&&parentId){var parentComment=document.querySelector("#comment-"+parentId);if(parentComment){var children=parentComment.querySelector(":scope > .children");children||(children=document.createElement("ol"),children.className="children",parentComment.appendChild(children)),children.insertBefore(newComment,children.firstChild)}else prependToCommentList(newComment)}else prependToCommentList(newComment);requestAnimationFrame(function(){newComment.style.maxHeight=newComment.scrollHeight+100+"px",newComment.style.opacity="1",setTimeout(function(){newComment.style.maxHeight="",newComment.style.overflow="",newComment.style.transition=""},500)}),needsModeration?notyf("评论已提交,等待管理员审核","info"):notyf("评论发布成功","success"),newComment.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun(),updateCommentCount(1)}function prependToCommentList(el){var list=document.querySelector("#comments .commentlist");if(list){var filter=list.querySelector(".comment-filter");filter&&filter.nextSibling?list.insertBefore(el,filter.nextSibling):list.insertBefore(el,list.firstChild)}}function restoreRespondPosition(){var respond=document.getElementById("respond"),placeholder=document.getElementById("wp-temp-form-div");respond&&placeholder&&placeholder.parentNode&&(placeholder.parentNode.insertBefore(respond,placeholder),placeholder.remove())}function handleSubmit(e){if(isSubmitting||countdownTimer)return e.preventDefault(),e.stopImmediatePropagation(),!1;e.preventDefault(),e.stopImmediatePropagation();var captcha=window.AKSRTCaptcha;return setLoading(!0),(captcha?captcha.run("comment",form):Promise.resolve({})).then(function(captchaPayload){if(captchaPayload===null){notyf("人机验证未通过,请重试","warning"),setLoading(!1);return}performSubmit(captchaPayload)}).catch(function(){notyf("人机验证未通过,请重试","warning"),setLoading(!1),captcha&&captcha.reset("comment",form)}),!1}form.addEventListener("submit",handleSubmit,!0)}function getCommentsRestBase(){var root=window.aksrtData&&aksrtData.siteUrl?String(aksrtData.siteUrl).replace(/\/$/,""):"";return root+"/wp-json/aksrt/v1"}function getCurrentCommentPostId(){var input=document.querySelector('input[name="comment_post_ID"]');if(input&&input.value)return parseInt(input.value,10)||0;var comments=document.getElementById("comments");return comments&&comments.dataset.postId&&parseInt(comments.dataset.postId,10)||0}function getCurrentCommentOrder(){var active=document.querySelector("#comments .comment-order-box li.active .comment-orderby");if(active&&active.dataset&&active.dataset.order)return active.dataset.order;var url=new URL(window.location.href);return url.searchParams.get("aksrt_comment_order")||"newest"}function getCurrentAuthorOnly(){var btn=document.querySelector("#comments .btn-only-author");return!!(btn&&btn.classList.contains("active")&&btn.dataset.authorOnly==="0")}var COMMENT_URL_PARAMS=["cpage","aksrt_comment_order","aksrt_author_only"],commentUrlStateCleaned=!1;function stripCommentUrlParams(){if(!(commentUrlStateCleaned||!window.history||typeof window.history.replaceState!="function")){commentUrlStateCleaned=!0;var url=new URL(window.location.href),changed=!1;COMMENT_URL_PARAMS.forEach(function(key){url.searchParams.has(key)&&(url.searchParams.delete(key),changed=!0)}),changed&&window.history.replaceState(null,"",url.toString())}}function getMaxCommentPages(){var pagenav=document.querySelector("#comments .pagenav[data-max-pages]");if(pagenav){var max=parseInt(pagenav.dataset.maxPages,10);if(max>0)return max}var jumpInput=document.querySelector("#comments .jump-input[max]");if(jumpInput){var maxAttr=parseInt(jumpInput.getAttribute("max"),10);if(maxAttr>0)return maxAttr}return 1}function parseCommentPageFromHref(href){if(!href||href==="#"||href.indexOf("javascript:")===0)return 0;try{var url=new URL(href,window.location.href),cpage=parseInt(url.searchParams.get("cpage"),10);if(cpage>0)return cpage;var match=url.pathname.match(/\/comment-page-([0-9]{1,})\/?$/);return match?parseInt(match[1],10):0}catch{return 0}}function scrollCommentsIntoView(){var commentsArea=document.getElementById("comments");if(!(!commentsArea||typeof commentsArea.scrollIntoView!="function")){var rect=commentsArea.getBoundingClientRect();rect.top>=0&&rect.top1&&(page=Math.min(page,maxPages)),showListLoading(commentsArea),fetchCommentFragment({order:getCurrentCommentOrder(),authorOnly:getCurrentAuthorOnly(),page}).then(function(json){if(json&&json.success&&json.data)return applyFragmentPayload(commentsArea,json.data),opts.noScroll||scrollCommentsIntoView(),!0;throw new Error("comment fragment failed")})}function applyFragmentPayload(commentsArea,data){if(!(!commentsArea||!data||!data.html)){var tempList=document.createElement("div");tempList.innerHTML=data.html;var newListWrap=tempList.querySelector("#postcomments");if(newListWrap){var currentListWrap=commentsArea.querySelector("#postcomments");currentListWrap?currentListWrap.replaceWith(newListWrap):commentsArea.appendChild(newListWrap);var currentCount=commentsArea.querySelector(".title-theme small");currentCount&&data.count_text&&(currentCount.textContent=data.count_text),newListWrap.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun()}}}function fetchCommentFragment(opts){opts=opts||{};var postId=opts.postId||getCurrentCommentPostId();if(!postId)return Promise.reject(new Error("missing post id"));var order=opts.order||getCurrentCommentOrder()||"newest",authorOnly=!!opts.authorOnly,page=opts.page||1,qs=new URLSearchParams;qs.set("post_id",String(postId)),qs.set("order",order),qs.set("page",String(page)),authorOnly&&qs.set("author_only","1");var url=getCommentsRestBase()+"/comment/list?"+qs.toString();return fetch(url,{method:"GET",credentials:"same-origin",headers:{"X-WP-Nonce":window.aksrtData&&aksrtData.restNonce||""}}).then(function(r){return r.json()})}function showListLoading(commentsArea){var list=commentsArea.querySelector(".commentlist");if(list){var filter=list.querySelector(".comment-filter"),loader=list.querySelector(".post_ajax_loader"),skeleton=loader?loader.cloneNode(!0):null;Array.prototype.slice.call(list.children).forEach(function(child){child!==filter&&child!==loader&&child.remove()}),skeleton&&(skeleton.classList.add("is-loading"),skeleton.removeAttribute("hidden"),list.appendChild(skeleton))}}function reloadCommentList(){loadCommentPage(1,{noScroll:!0}).catch(function(error){console.error("[AKSRT Comment] 刷新评论列表失败:",error),window.location.reload()})}function findInScope(scope,id){return scope=scope||document,scope?scope.nodeType===9?scope.getElementById(id):scope.nodeType===1?scope.id===id?scope:typeof scope.querySelector=="function"?scope.querySelector("#"+id):null:null:null}function initCommentOrder(root){var scope=root||document,commentsArea=findInScope(scope,"comments");if(!commentsArea||commentsArea.dataset.orderInit==="1")return;commentsArea.dataset.orderInit="1";function renderLoadingState(){showListLoading(commentsArea)}function applyCommentOrder(order){order!=="newest"&&order!=="hottest"&&(order="newest"),renderLoadingState();var authorOnly=getCurrentAuthorOnly();fetchCommentFragment({order,authorOnly,page:1}).then(function(json){if(json&&json.success&&json.data){applyFragmentPayload(commentsArea,json.data);return}throw new Error("order fragment failed")}).catch(function(error){console.error("[AKSRT Comment] 排序刷新失败:",error),window.location.reload()})}function applyAuthorFilter(authorOnlyFlag){renderLoadingState();var authorOnly=authorOnlyFlag==="1"||authorOnlyFlag===1||authorOnlyFlag===!0,order=getCurrentCommentOrder();fetchCommentFragment({order,authorOnly,page:1}).then(function(json){if(json&&json.success&&json.data){applyFragmentPayload(commentsArea,json.data);return}throw new Error("author fragment failed")}).catch(function(error){console.error("[AKSRT Comment] Author filter failed:",error),window.location.reload()})}commentsArea.addEventListener("click",function(e){var target=e.target;if(!(!target||typeof target.closest!="function")){var authorBtn=target.closest(".btn-only-author");if(authorBtn&&commentsArea.contains(authorBtn)){e.preventDefault(),applyAuthorFilter(authorBtn.getAttribute("data-author-only")||"0");return}var orderBtn=target.closest(".comment-orderby[data-order]");if(orderBtn&&commentsArea.contains(orderBtn)){e.preventDefault(),applyCommentOrder(orderBtn.getAttribute("data-order")||"newest");return}var pageLink=target.closest(".pagenav a.page-numbers");if(pageLink&&commentsArea.contains(pageLink)&&!pageLink.classList.contains("pag-jump")){var page=parseCommentPageFromHref(pageLink.getAttribute("href"));page>0&&(e.preventDefault(),loadCommentPage(page).catch(function(error){console.error("[AKSRT Comment] 分页刷新失败:",error),window.location.href=pageLink.href}))}}})}var commentPageJumpBound=!1;function jumpToCommentPage(page){loadCommentPage(page).catch(function(error){console.error("[AKSRT Comment] 跳页失败:",error),window.location.reload()})}function initCommentPageJump(){commentPageJumpBound||(commentPageJumpBound=!0,document.addEventListener("click",function(e){var jump=e.target.closest?e.target.closest("#comments .pag-jump"):null;if(jump){e.preventDefault();var input=jump.querySelector(".jump-input");input&&jumpToCommentPage(input.value)}}),document.addEventListener("keydown",function(e){if(e.key==="Enter"){var input=e.target;!input||!input.classList||!input.classList.contains("jump-input")||input.closest("#comments .pagenav")&&(e.preventDefault(),jumpToCommentPage(input.value))}}))}function closeAllCommentDropdowns(){document.querySelectorAll("#postcomments .dropdown.open").forEach(function(wrap){wrap.classList.remove("open");var trigger=wrap.querySelector("[data-aksrt-comment-drop]");trigger&&trigger.setAttribute("aria-expanded","false")})}function initCommentActionDropdowns(){document.documentElement.dataset.aksrtCommentDropBound!=="1"&&(document.documentElement.dataset.aksrtCommentDropBound="1",document.addEventListener("click",function(event){var trigger=event.target.closest?event.target.closest("[data-aksrt-comment-drop]"):null;if(trigger){event.preventDefault();var wrap=trigger.closest(".dropdown");if(!wrap)return;var wasOpen=wrap.classList.contains("open");closeAllCommentDropdowns(),wasOpen||(wrap.classList.add("open"),trigger.setAttribute("aria-expanded","true"));return}var menuItem=event.target.closest?event.target.closest("#postcomments .dropdown.open .dropdown-menu a"):null;if(menuItem){closeAllCommentDropdowns();return}(!event.target.closest||!event.target.closest("#postcomments .dropdown.open"))&&closeAllCommentDropdowns()}),document.addEventListener("keydown",function(event){event.key==="Escape"&&closeAllCommentDropdowns()}))}function init(){stripCommentUrlParams(),initCommentSystem(),initCommentPageJump(),initCommentOrder()}initCommentActionDropdowns(),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtComments={loadPage:function(page,opts){return loadCommentPage(page,opts)},reload:function(){reloadCommentList()}}})(),(function(){"use strict";function FixedInput(el,action){if(el){if(el.dataset.fixedBound||(el.addEventListener("click",function(e){e.target&&e.target.closest&&e.target.closest(".fixed-body")&&FixedInput(el,"hide")}),el.dataset.fixedBound="1"),action==="show"){el.classList.add("show"),window.setTimeout(function(){var field=el.querySelector("textarea, input");field&&field.focus()},100);return}if(action==="hide"){var cancel=el.querySelector("#cancel-comment-reply-link");cancel&&cancel.click(),el.querySelectorAll("input,textarea").forEach(function(n){try{n.blur()}catch{}}),el.querySelectorAll(".dropup.open, .open").forEach(function(n){n.classList.remove("open")}),el.classList.remove("show")}}}document.addEventListener("click",function(e){var trigger=e.target&&e.target.closest?e.target.closest("[fixed-input]"):null;if(trigger){e.preventDefault();var targetSel=trigger.getAttribute("fixed-input")||"#respond",panel=document.querySelector(targetSel),comments=document.getElementById("comments");comments&&comments.scrollIntoView&&comments.scrollIntoView({behavior:"smooth",block:"start"}),FixedInput(panel,"show")}});function bindAutoheight(ta){if(!(!ta||ta.dataset.autoheightBound)){ta.dataset.autoheightBound="1";var max=parseInt(ta.getAttribute("maxheight")||"188",10)||188,resize=function(){ta.style.height="auto";var h=Math.min(ta.scrollHeight,max);ta.style.height=h+"px",ta.style.overflowY=ta.scrollHeight>max?"auto":"hidden"};ta.addEventListener("input",resize),resize()}}function scan(){document.querySelectorAll("textarea[autoheight], textarea.grin").forEach(bindAutoheight)}function init(){scan();var respond=document.getElementById("respond");respond&&(respond.aksrtFixedInput=function(action){FixedInput(respond,action)})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtFixedInput=FixedInput})(),(function(){"use strict";var respondId="respond",tempId="aksrt-wp-temp-form-div",editingId=0;function getRespond(){return document.getElementById(respondId)}function restRoot(){var d=window.aksrtData||{};return(d.restUrl||d.rest_url||"/wp-json/aksrt/v1").replace(/\/$/,"")}function nonce(){var d=window.aksrtData||{};return d.restNonce||d.nonce||""}function setActionText(text){var el=document.querySelector("#"+respondId+" .action-text");el&&(text?(el.style.display="",el.textContent=text):(el.style.display="none",el.textContent=""))}function ensureParentField(respond){var form=respond.querySelector("#commentform")||respond,parent=form.querySelector('[name="comment_parent"]');return parent||(parent=document.createElement("input"),parent.type="hidden",parent.name="comment_parent",parent.id="comment_parent",parent.value="0",form.appendChild(parent)),parent}function ensureEditField(respond,commentId){var form=respond.querySelector("#commentform")||respond,existing=form.querySelector('[name="edit_comment_ID"]');if(commentId){existing||(existing=document.createElement("input"),existing.type="hidden",existing.name="edit_comment_ID",existing.id="edit_comment_ID",form.appendChild(existing)),existing.value=String(commentId);var parent=form.querySelector('[name="comment_parent"]');parent&&(parent.name="comment_parent_bak")}else if(existing){existing.remove();var bak=form.querySelector('[name="comment_parent_bak"]');bak&&(bak.name="comment_parent")}}function moveForm(commId,parentId,isEdit){var respond=getRespond();if(!respond)return!1;var comm=document.getElementById(commId),parent=ensureParentField(respond),cancel=document.getElementById("cancel-comment-reply-link"),submit=respond.querySelector("#submit"),textarea=respond.querySelector("#comment");if(!document.getElementById(tempId)){var temp=document.createElement("div");temp.id=tempId,temp.style.display="none",respond.parentNode.insertBefore(temp,respond)}if(comm&&comm.parentNode&&comm.parentNode.insertBefore(respond,comm.nextSibling),parent.value=isEdit?"0":String(parentId||"0"),editingId=isEdit&&parseInt(parentId,10)||0,cancel&&(cancel.style.display="",cancel.onclick=function(){var t=document.getElementById(tempId),r=getRespond();return t&&r&&t.parentNode&&(t.parentNode.insertBefore(r,t),t.parentNode.removeChild(t)),ensureEditField(r,0),parent&&(parent.value="0"),setActionText(""),textarea&&(textarea.value=""),editingId=0,cancel.style.display="none",window.AksrtFixedInput?window.AksrtFixedInput(r,"hide"):r&&r.classList.remove("show"),!1}),isEdit&&editingId)setActionText("编辑评论"),ensureEditField(respond,editingId),textarea&&(textarea.disabled=!0,textarea.value="加载中…"),submit&&(submit.disabled=!0),fetch(restRoot()+"/comment/get?comment_id="+encodeURIComponent(String(editingId)),{headers:{"X-WP-Nonce":nonce()},credentials:"same-origin"}).then(function(r){return r.json()}).then(function(json){var content=json&&(json.content||json.data&&json.data.content)||"";textarea&&(textarea.disabled=!1,textarea.value=content,textarea.dispatchEvent(new Event("input"))),submit&&(submit.disabled=!1)}).catch(function(){notyf("加载评论失败","danger"),textarea&&(textarea.disabled=!1,textarea.value=""),submit&&(submit.disabled=!1)});else{var nameEl=comm?comm.querySelector(".comment-header name"):null,author=nameEl?(nameEl.textContent||"").trim():"";setActionText(author?"回复 @"+author:"回复评论"),ensureEditField(respond,0),textarea&&textarea.focus()}return window.AksrtFixedInput?window.AksrtFixedInput(respond,"show"):respond.classList.add("show"),comm&&comm.scrollIntoView&&comm.scrollIntoView({behavior:"smooth",block:"center"}),!1}document.addEventListener("click",function(e){var reply=e.target&&e.target.closest?e.target.closest(".comment-reply-link"):null,edit=e.target&&e.target.closest?e.target.closest('.comment-edit-link, [data-comment-action="edit"]'):null;if(reply){e.preventDefault();var cid=reply.getAttribute("data-commentid")||reply.getAttribute("data-comment-id")||"",postid=reply.getAttribute("data-postid")||"";if(!cid){var li=reply.closest("[data-comment-id], #comment-"+(cid||""));li&&li.getAttribute("data-comment-id")&&(cid=li.getAttribute("data-comment-id"))}if(!cid){var m=(reply.closest('li[id^="comment-"]')||{}).id||"",mm=/comment-(\d+)/.exec(m);mm&&(cid=mm[1])}moveForm("div-comment-"+cid,cid,!1);return}if(edit){e.preventDefault();var eid=edit.getAttribute("data-commentid")||edit.getAttribute("data-comment-id")||"";if(!eid){var row=edit.closest("[data-comment-id]");row&&(eid=row.getAttribute("data-comment-id"))}if(!eid)return;moveForm("div-comment-"+eid,eid,!0)}}),document.addEventListener("click",function(e){var t=e.target&&e.target.closest?e.target.closest('[data-toggle-class="open"], span.dropup > a.but, [data-toggle="dropdown"]'):null;if(t){var wrap=t.closest("span.dropup, span.dropdown");wrap&&(wrap.classList.contains("open")&&t.parentElement!==wrap||(e.preventDefault(),wrap.classList.toggle("open")))}}),document.addEventListener("click",function(e){e.target.closest&&e.target.closest("span.dropup.open, span.dropdown.open")||document.querySelectorAll("span.dropup.open, span.dropdown.open").forEach(function(n){n.classList.remove("open")})}),document.addEventListener("click",function(e){var a=e.target&&e.target.closest?e.target.closest("[data-scroll-to]"):null;if(a){e.preventDefault();var sel=a.getAttribute("data-scroll-to"),el=sel?document.querySelector(sel):null;el&&el.scrollIntoView({behavior:"smooth",block:"center"})}}),window.aksrtCommentMoveForm=moveForm,window.aksrtGetEditingCommentId=function(){return editingId}})(),(function(window2,document2){"use strict";var loadingMap=new WeakMap;function restHeaders(){var h={Accept:"application/json, text/html","X-AKSRT-Ajax":"list"};return window2.aksrtData&&aksrtData.restNonce&&(h["X-WP-Nonce"]=aksrtData.restNonce),h}function closestPager(el){return el?el.closest(".ajaxpager")||el.closest("[data-aksrt-ajaxpager]")||el.closest(".aksrt-ajaxpager"):null}function dispatch(container,name,detail){if(container)try{container.dispatchEvent(new CustomEvent(name,{bubbles:!0,detail:detail||{}}))}catch{}}function showLoader(container){if(container){var loader=container.querySelector(".post_ajax_loader");if(loader){loader.classList.add("is-loading");return}container.classList.add("is-ajax-loading")}}function hideLoader(container){if(container){var loader=container.querySelector(".post_ajax_loader");if(loader){loader.classList.remove("is-loading");return}container.classList.remove("is-ajax-loading")}}function parseHtml(html){var wrap=document2.createElement("div");return wrap.innerHTML=html||"",wrap}function extractFromHtml(html,container){var doc=parseHtml(html),pager=doc.querySelector(".ajaxpager")||doc.querySelector("[data-aksrt-ajaxpager]")||doc.querySelector(".aksrt-ajaxpager"),items=[],scope=pager||doc;scope.querySelectorAll(".ajax-item").forEach(function(n){items.push(n.outerHTML)}),!items.length&&pager&&items.push(pager.innerHTML);var pag=scope.querySelector(".ajax-pag"),headerBits={};doc.querySelectorAll("[win-ajax-replace]").forEach(function(n){var key=n.getAttribute("win-ajax-replace");key&&(headerBits[key]=n.outerHTML)});var titleEl=doc.querySelector("title");return{itemsHtml:items.join(""),paginateHtml:pag?pag.outerHTML:"",headerBits,title:titleEl?titleEl.textContent:"",fullHtml:pager?pager.innerHTML:html}}function syncWinReplace(bits){bits&&Object.keys(bits).forEach(function(key){var live=document2.querySelector('[win-ajax-replace="'+key+'"]');if(live){var tmp=document2.createElement("div");tmp.innerHTML=bits[key];var next=tmp.firstElementChild;next&&live.replaceWith(next)}})}function applyRoute(link,title){if(link){var route=link.getAttribute("route")||link.getAttribute("data-route");if(route==="1"||route==="true"||link.hasAttribute("route")){var href=link.getAttribute("href")||link.getAttribute("ajax-href")||"";if(href){try{window2.history.replaceState({},"",href)}catch{}var rt=title||link.getAttribute("route-title")||link.getAttribute("data-route-title")||"";if(rt)try{document2.title=rt}catch{}}}}}function replacePaginate(container,paginateHtml){if(!(!container||!paginateHtml)){var old=container.querySelector(".ajax-pag");if(!old){container.insertAdjacentHTML("beforeend",paginateHtml);return}var tmp=document2.createElement("div");tmp.innerHTML=paginateHtml;var next=tmp.firstElementChild;next&&old.replaceWith(next)}}function findItemHost(container){if(!container||!container.children)return container;for(var i=0;i"+html+"");itemsHtml=parsed.itemsHtml||html}else itemsHtml=html;return{itemsHtml,html,paginateHtml:data.paginate_html||data.paginateHtml||"",headerHtml:data.header_html||data.headerHtml||"",headerBits:data.header_bits||null,title:data.title||"",emptyHtml:data.empty_html||"",hasMore:typeof data.has_more<"u"?!!data.has_more:null}}function loadFromLink(link,override){if(override=override||{},!link)return Promise.resolve();var container=override.container||(link.getAttribute("ajaxpager-target")?document2.querySelector(link.getAttribute("ajaxpager-target")):null)||closestPager(link);if(container||(container=link.closest("[data-aksrt-ajax-list]")),!container||loadingMap.get(container))return Promise.resolve();loadingMap.set(container,!0);var replaceAttr=link.getAttribute("ajax-replace"),replace=typeof override.replace=="boolean"?override.replace:replaceAttr==="true"||replaceAttr==="1"||replaceAttr==="replace",href=override.url||link.getAttribute("data-aksrt-ajax-url")||link.getAttribute("ajax-href")||link.getAttribute("href")||"";return dispatch(container,"post_ajax.before",{link,replace,url:href}),showLoader(container),replace&&container.querySelectorAll(".ajax-item").forEach(function(n){n.classList.add("is-fading")}),fetch(href,{method:override.method||"GET",credentials:"same-origin",headers:restHeaders()}).then(function(res){var type=(res.headers.get("content-type")||"").toLowerCase();return type.indexOf("application/json")!==-1?res.json().then(function(json){if(!res.ok||json&&json.success===!1)throw new Error(json&&(json.message||json.data&&json.data.message)||"加载失败");return normalizeJson(json)}):res.text().then(function(text){if(!res.ok)throw new Error("加载失败");return extractFromHtml(text,container)})}).then(function(payload){if(!payload)throw new Error("空响应");return replace&&!payload.itemsHtml&&payload.emptyHtml?inject(container,{itemsHtml:payload.emptyHtml,paginateHtml:payload.paginateHtml},{replace:!0}):inject(container,payload,{replace}),applyRoute(link,payload.title),hideLoader(container),loadingMap.set(container,!1),dispatch(container,"post_ajax.ed",{link,replace,url:href,payload}),typeof window2.auto_fun=="function"&&window2.auto_fun(),document2.dispatchEvent(new CustomEvent("aksrt:posts:rendered",{bubbles:!0,detail:{container,replace}})),payload}).catch(function(err){throw hideLoader(container),loadingMap.set(container,!1),container.querySelectorAll(".ajax-item.is-fading").forEach(function(n){n.classList.remove("is-fading")}),notyf(err&&err.message||"加载失败","danger"),dispatch(container,"post_ajax.error",{link,error:err}),err})}document2.addEventListener("click",function(e){var link=e.target.closest("a.ajax-next, .ajax-next a, button.ajax-next, [data-aksrt-ajax-next]");if(link&&!link.closest("[data-aksrt-ajax-list='off']")&&!link.closest("[data-aksrt-pagination], .aksrt-comment-pagination")&&!link.closest(".ajax-option, .post_ajax_trigger")){var href=link.getAttribute("href")||link.getAttribute("ajax-href")||link.getAttribute("data-aksrt-ajax-url");!href&&!link.getAttribute("data-aksrt-ajax-url")||(e.preventDefault(),loadFromLink(link.tagName==="A"||link.classList.contains("ajax-next")?link:link.closest(".ajax-next")||link))}}),window2.AksrtAjaxList={load:loadFromLink,inject,extractFromHtml,closestPager}})(window,document),(function(){"use strict";function hasAjaxConfig(){return!!(window.aksrtData&&aksrtData.ajaxUrl&&aksrtData.nonce)}function initAjaxPagination(root){var containers=(root||document).querySelectorAll("[data-aksrt-pagination], .aksrt-comment-pagination");if(containers.length){var triggerText=window.aksrtData&&aksrtData.ajaxTrigger||"加载更多",nomoreText=window.aksrtData&&aksrtData.ajaxNomore||"没有更多了",errorText=window.aksrtData&&aksrtData.ajaxLoadError||"加载失败,请重试";containers.forEach(function(container){if(container.dataset.aksrtPaginationBound==="1")return;container.dataset.aksrtPaginationBound="1";var mode=container.dataset.mode||"load_more",nextPage=parseInt(container.dataset.nextPage,10)||2,maxPages=parseInt(container.dataset.maxPages,10)||1,isComment=container.classList.contains("aksrt-comment-pagination"),postId=container.dataset.postId||"",commentOrder=container.dataset.commentOrder||"newest",loading=!1,failed=!1,clickTarget=container.querySelector(".next-page.ajax-next, .ias-btn")||container,loadMoreBtn=container.querySelector("[data-aksrt-load-more]")||clickTarget,successfulAutoLoads=0,iasMax=isComment?window.aksrtData&&typeof aksrtData.commentIasMax<"u"?parseInt(aksrtData.commentIasMax,10):0:window.aksrtData&&typeof aksrtData.iasMax<"u"?parseInt(aksrtData.iasMax,10):0,listContainer=container.closest(".ajaxpager, .posts-row"),target=container.previousElementSibling;if(listContainer&&container.parentNode===listContainer&&(target=listContainer),isComment){var commentList=container.closest("#comment-list, .commentlist, ol.commentlist")||document.getElementById("comment-list");commentList&&(target=commentList)}!target&&container.parentElement&&(target=container.parentElement.querySelector(".post-grid, .comment-list, .commentlist, .content-stream__list"));var CARD_ITEM='

    ',LIST_ITEM='

    ';function skeletonCount(style){var wide=window.innerWidth>766;return style==="card"?wide?window.innerWidth>992&&!document.querySelector(".sidebar")?8:6:4:wide?4:3}function postSkeleton(){for(var first=target&&target.querySelector?target.querySelector(".posts-item.card, .posts-item.list"):null,isCard=!!first&&/(^|\s)card(\s|$)/.test(first.className||""),tpl=isCard?CARD_ITEM:LIST_ITEM,out="",i=0,n=skeletonCount(isCard?"card":"list");i'+out+""}function fallbackLoader(){var text=window.aksrtData&&aksrtData.ajaxLoading||"加载中...";return'
    '+text+"
    "}function showSkeleton(){if(target){var loader=target.querySelector(".post_ajax_loader");loader||(loader=document.createElement("div"),loader.className="post_ajax_loader",loader.innerHTML=postSkeleton()||fallbackLoader()),target.insertBefore(loader,container.parentNode===target?container:null),loader.classList.add("is-loading")}}function hideSkeleton(){if(target){var loader=target.querySelector(".post_ajax_loader");loader&&loader.classList.remove("is-loading")}}function stopInfinite(markNomore){if(container.classList.remove("ias-pending"),markNomore&&loadMoreBtn){loadMoreBtn.innerHTML=nomoreText,loadMoreBtn.classList.add("ajax-nomore");var nextWrap=loadMoreBtn.closest(".next-page");nextWrap&&nextWrap.classList.add("no-more"),loadMoreBtn.style.pointerEvents="none"}else loadMoreBtn&&!loadMoreBtn.classList.contains("ajax-nomore")&&(failed?loadMoreBtn.textContent=errorText:loadMoreBtn.innerHTML=triggerText,loadMoreBtn.style.pointerEvents="")}function markFailed(message){failed=!0,stopInfinite(!1),loadMoreBtn&&(loadMoreBtn.textContent=message||errorText,loadMoreBtn.classList.remove("ajax-nomore"),loadMoreBtn.style.pointerEvents="")}function loadNextPage(fromAuto){if(loading||failed||nextPage>maxPages||!target)return Promise.resolve(!1);if(!hasAjaxConfig())return markFailed(errorText),Promise.resolve(!1);loading=!0,showSkeleton();var action=isComment?"aksrt_load_more_comments":"aksrt_load_more_posts",queryContext=container.dataset.queryContext||"",queryVars=container.dataset.queryVars||"",renderConfig=container.dataset.renderConfig||"",body=new URLSearchParams;if(body.set("action",action),body.set("nonce",aksrtData.nonce),body.set("page",String(nextPage)),queryContext&&body.set("query_context",queryContext),!isComment&&queryVars&&body.set("query_vars",queryVars),!isComment&&renderConfig&&body.set("render_config",renderConfig),isComment&&postId){body.set("post_id",postId),body.set("comment_order",commentOrder);var authorOnly=container.dataset.authorOnly||"0";authorOnly==="1"&&body.set("author_only","1")}return fetch(aksrtData.ajaxUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},credentials:"same-origin",body:body.toString()}).then(function(r){if(!r.ok)throw new Error("HTTP "+r.status);return r.text().then(function(text){try{return JSON.parse(text)}catch{throw new Error("Invalid JSON")}})}).then(function(res){if(!(res&&res.success&&res.data&&typeof res.data.html=="string")){var msg=res&&res.data&&res.data.message?res.data.message:errorText;return markFailed(msg),!1}var temp=document.createElement("div");temp.innerHTML=res.data.html;for(var newItems=temp.children;newItems.length>0;)container.parentNode===target?target.insertBefore(newItems[0],container):target.appendChild(newItems[0]);return target.dispatchEvent(new CustomEvent("post_ajax.ed",{bubbles:!0})),typeof window.auto_fun=="function"&&window.auto_fun(),nextPage++,container.dataset.nextPage=String(nextPage),fromAuto&&successfulAutoLoads++,(nextPage>maxPages||!res.data.has_more)&&(stopInfinite(!0),loadMoreBtn||(container.innerHTML=''+nomoreText+"")),!0}).catch(function(){return markFailed(errorText),!1}).finally(function(){if(loading=!1,hideSkeleton(),loadMoreBtn&&!loadMoreBtn.classList.contains("ajax-nomore")&&!failed&&(loadMoreBtn.innerHTML=triggerText,mode==="infinite")){var lazyTrigger=clickTarget.closest(".next-page")||clickTarget;iasMax>0&&successfulAutoLoads>=iasMax?(container.classList.remove("ias-pending"),lazyTrigger.classList.remove("lazyload","lazyloaded","lazyloading"),lazyTrigger.removeAttribute("lazyload-action")):(lazyTrigger.classList.remove("lazyloaded","lazyloading"),lazyTrigger.classList.add("lazyload"),window.lazySizes&&lazySizes.loader&&lazySizes.loader.checkElems())}})}if(loadMoreBtn&&clickTarget.addEventListener("click",function(e){if(!(e.target.closest&&e.target.closest(".ajax-option, .post_ajax_trigger"))){if(e.preventDefault(),loadMoreBtn.dataset.jumpComments==="1"){var jumpInput=container.querySelector(".jump-input");if(!jumpInput)return;var targetPage=parseInt(jumpInput.value,10)||1,max=parseInt(jumpInput.dataset.maxPages||String(maxPages),10)||maxPages;if(targetPage=Math.max(1,Math.min(max,targetPage)),window.AksrtComments&&typeof window.AksrtComments.loadPage=="function"){e.preventDefault(),window.AksrtComments.loadPage(targetPage);return}window.location.hash="comments",window.location.reload();return}if(loadMoreBtn.dataset.jumpArchive==="1"){var archiveJumpInput=container.querySelector(".jump-input");if(!archiveJumpInput)return;var archiveTargetPage=parseInt(archiveJumpInput.value,10)||1,archiveMax=parseInt(archiveJumpInput.dataset.maxPages||String(maxPages),10)||maxPages;archiveTargetPage=Math.max(1,Math.min(archiveMax,archiveTargetPage));var archiveUrl=new URL(window.location.href);archiveUrl.searchParams.set(loadMoreBtn.dataset.pageVar||"paged",String(archiveTargetPage)),window.location.href=archiveUrl.toString();return}var fromAuto=clickTarget.dataset.lazyAuto==="1";if(delete clickTarget.dataset.lazyAuto,fromAuto&&iasMax>0&&successfulAutoLoads>=iasMax){container.classList.remove("ias-pending");return}failed=!1,loadNextPage(fromAuto)}}),(container.classList.contains("lazyload")||clickTarget.classList.contains("lazyload"))&&container.addEventListener("lazybeforeunveil",function(e){e.target!==container&&e.target!==clickTarget||(clickTarget.dataset.lazyAuto="1",clickTarget.click())}),mode==="infinite"){if(isComment&&window.aksrtData&&aksrtData.commentIasAuto===!1||!hasAjaxConfig()){var autoTrigger=clickTarget.closest(".next-page")||clickTarget;autoTrigger.classList.remove("lazyload"),autoTrigger.removeAttribute("lazyload-action");return}container.classList.add("ias-pending")}})}}function init(root){initAjaxPagination(root)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){init()}):init(),window.jQuery&&window.jQuery(document).on("auto_fun",function(){init()})})(),(function(){"use strict";function initFooterTabbar(){var tabbar=document.getElementById("footer-tabbar");if(!tabbar||tabbar.dataset.aksrtTabbarInit==="1")return;tabbar.dataset.aksrtTabbarInit="1";var addBackdrop=document.getElementById("tabbar-add-backdrop"),ticking=!1,scrollThreshold=100,isHidden=!1;function handleScrollDownHide(){var body=document.body,scrollTop=window.pageYOffset||document.documentElement.scrollTop;scrollTop>scrollThreshold?body.classList.contains("scroll-down")&&!isHidden?(tabbar.classList.add("is-hidden"),isHidden=!0):body.classList.contains("scroll-up")&&isHidden&&(tabbar.classList.remove("is-hidden"),isHidden=!1):(tabbar.classList.remove("is-hidden"),isHidden=!1)}function handleOntopWrap(){var ontopWraps=tabbar.querySelectorAll(".tabbar-ontop-wrap"),scrollTop=window.pageYOffset||document.documentElement.scrollTop;ontopWraps.forEach(function(wrap){scrollTop>scrollThreshold?wrap.classList.add("is-scrolled"):wrap.classList.remove("is-scrolled")})}function onScroll(){ticking||(requestAnimationFrame(function(){tabbar.classList.contains("scroll-down-hide")&&handleScrollDownHide(),handleOntopWrap(),ticking=!1}),ticking=!0)}window.addEventListener("scroll",onScroll,{passive:!0});function closeAddPanels(){document.querySelectorAll(".tabbar-add-panel").forEach(function(panel){panel.setAttribute("hidden","")}),addBackdrop&&addBackdrop.setAttribute("hidden",""),document.body.classList.remove("tabbar-add-open")}function openAddPanel(panelId){closeAddPanels();var panel=document.getElementById(panelId);panel&&(panel.removeAttribute("hidden"),addBackdrop&&addBackdrop.removeAttribute("hidden"),document.body.classList.add("tabbar-add-open"))}addBackdrop&&addBackdrop.addEventListener("click",closeAddPanels),document.addEventListener("keydown",function(e){e.key==="Escape"&&closeAddPanels()});var homeClickTimer=null;tabbar.addEventListener("click",function(e){var addBtn=e.target.closest('.tabbar-item[data-type="add"]');if(addBtn){e.preventDefault(),openAddPanel(addBtn.getAttribute("data-panel-id"));return}var searchBtn=e.target.closest('.tabbar-item[data-type="search"]');if(searchBtn){e.preventDefault(),typeof window.__aksrtOpenSearchPanel=="function"&&window.__aksrtOpenSearchPanel();return}var ontopBtn=e.target.closest(".tabbar-ontop-btn");if(ontopBtn){e.preventDefault(),window.scrollTo({top:0,behavior:"smooth"});return}var homeBtn=e.target.closest('.tabbar-item[data-type="home"]');if(homeBtn&&tabbar.classList.contains("has-animation")){if(homeClickTimer){clearTimeout(homeClickTimer),homeClickTimer=null,window.location.reload();return}homeClickTimer=setTimeout(function(){homeClickTimer=null},350)}}),document.addEventListener("click",function(e){e.target.closest("[data-close-tabbar-add-panel]")&&closeAddPanels()})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initFooterTabbar):initFooterTabbar()})(),(function(){"use strict";function renderGradientBackground(container){if(!(!container||container.dataset.aksrtGradientState||typeof window.Grade!="function")){var source=container.querySelector("img");!source||!source.classList.contains("lazyloaded")&&!(source.complete&&source.naturalWidth>0)||(container.dataset.aksrtGradientState="loading",window.Grade(container,null,function(result){var gradientData=result&&result[0],colors=gradientData&&gradientData.gradientData;if(!gradientData||!colors||!colors[0]||!colors[1]){delete container.dataset.aksrtGradientState;return}var opacity=container.getAttribute("data-opacity"),colorName=opacity?"rgba":"rgb",alpha=opacity?","+opacity:"",color1=colorName+"("+colors[0].rgba.slice(0,3).join(",")+alpha+") 10%",color2=colorName+"("+colors[1].rgba.slice(0,3).join(",")+alpha+") 80%";gradientData.element.classList.add("gradient-bg-loaded"),gradientData.element.style.backgroundImage="linear-gradient(135deg, "+color1+", "+color2+")",container.dataset.aksrtGradientState="loaded"}))}}function initGradientBackgrounds(root){var scope=root||document;scope.nodeType===1&&scope.matches(".gradient-bg")&&renderGradientBackground(scope),scope.querySelectorAll(".gradient-bg").forEach(renderGradientBackground)}document.addEventListener("lazyloaded",function(event){!(event.target instanceof Element)||!event.target.matches(".gradient-bg img")||renderGradientBackground(event.target.closest(".gradient-bg"))},!0);function initPostThumbMedia(root){var scope=root||document;scope.querySelectorAll("[data-post-thumb-video]").forEach(function(box){if(box.dataset.aksrtThumbVideoBound==="1")return;box.dataset.aksrtThumbVideoBound="1";var video=box.querySelector("video");if(!video)return;function loadVideo(){!video.getAttribute("src")&&video.dataset.src&&(video.setAttribute("src",video.dataset.src),video.load())}function playVideo(){loadVideo();var result=video.play(),postItem=box.closest(".posts-item");postItem&&postItem.classList.add("thumb-dplayer-playing"),result&&typeof result.catch=="function"&&result.catch(function(){})}function pauseVideo(){video.pause();var postItem=box.closest(".posts-item");postItem&&postItem.classList.remove("thumb-dplayer-playing")}var item=box.closest(".item-thumbnail")||box;item.addEventListener("mouseenter",playVideo),item.addEventListener("mouseleave",pauseVideo),item.addEventListener("focusin",playVideo),item.addEventListener("focusout",pauseVideo)})}function init(root){initPostThumbMedia(root),initGradientBackgrounds(root)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){init()}):init(),window.jQuery&&window.jQuery(document).on("auto_fun",function(){init()})})(),(function(){"use strict";function initHiddenContent(){document.addEventListener("click",function(e){var btn=e.target.closest(".aksrt-hidden-content__submit-btn");if(btn){e.preventDefault();var wrapper=btn.closest(".aksrt-hidden-content--locked");if(wrapper){var mode=wrapper.getAttribute("data-aksrt-visibility-mode"),pid=wrapper.getAttribute("data-aksrt-visibility-pid"),input=wrapper.querySelector(".aksrt-hidden-content__password-input"),password=input?input.value.trim():"";if(mode==="password"&&!password){input&&input.focus();return}var formData=new FormData;formData.append("action","aksrt_check_visibility"),formData.append("_nonce",window.aksrtData&&aksrtData.visibilityNonce||""),formData.append("mode",mode),formData.append("pid",pid),password&&formData.append("password",password),btn.disabled=!0,btn.textContent="...",fetch(window.aksrtData&&aksrtData.ajaxUrl||"/wp-admin/admin-ajax.php",{method:"POST",body:formData,credentials:"same-origin"}).then(function(res){return res.json()}).then(function(data){if(data.success)window.location.reload();else{var msg=data.data&&data.data.message?data.data.message:"验证失败";alert(msg),btn.disabled=!1,btn.textContent="验证"}}).catch(function(){alert("网络错误,请重试"),btn.disabled=!1,btn.textContent="验证"})}}}),document.addEventListener("keydown",function(e){if(e.key==="Enter"&&e.target.classList.contains("aksrt-hidden-content__password-input")){e.preventDefault();var wrapper=e.target.closest(".aksrt-hidden-content--locked");if(wrapper){var btn=wrapper.querySelector(".aksrt-hidden-content__submit-btn");btn&&btn.click()}}})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initHiddenContent):initHiddenContent()})(),(function(){"use strict";var THEME_KEY="aksrt-theme",THEME_COOKIE_KEY="theme_mode";function normalizeStoredTheme(value){return value==="dark"||value==="dark-theme"?"dark":value==="light"||value==="white-theme"?"light":null}function toCookieTheme(value){return value==="dark"?"dark-theme":"white-theme"}function getCookie(name){for(var parts=document.cookie?document.cookie.split("; "):[],i=0;i=20||hour<8?"dark":"light"}function resolveConfiguredTheme(mode){var normalized=normalizeStoredTheme(mode);return normalized||(mode==="time-auto"||mode==="auto"?getTimeAutoTheme():"light")}function syncBrandLogos(isDark){document.querySelectorAll("[data-logo-light]").forEach(function(img){var lightSrc=img.getAttribute("data-logo-light")||"",darkSrc=img.getAttribute("data-logo-dark")||"";lightSrc&&img.setAttribute("src",isDark&&darkSrc?darkSrc:lightSrc)})}function syncThemeColorMeta(isDark){var meta=document.querySelector('meta[name="theme-color"]');meta||(meta=document.createElement("meta"),meta.setAttribute("name","theme-color"),document.head.appendChild(meta)),meta.setAttribute("content",isDark?"#2F3135":"#FDFCFE")}function getThemeImageAttr(img,name){return img.getAttribute(name)||img.getAttribute("data-"+name)||""}function setThemeImageSource(img,src){!src||img.getAttribute("src")===src||img.setAttribute("src",src)}function syncThemeImages(isDark){document.querySelectorAll("img[switch-src], img[data-switch-src]").forEach(function(img){var darkSrc=getThemeImageAttr(img,"switch-src");img.dataset.aksrtThemeLightSrc||(img.dataset.aksrtThemeLightSrc=img.getAttribute("src")||""),setThemeImageSource(img,isDark&&darkSrc?darkSrc:img.dataset.aksrtThemeLightSrc)}),document.querySelectorAll("img[white-src], img[dark-src], img[data-white-src], img[data-dark-src]").forEach(function(img){var lightSrc=getThemeImageAttr(img,"white-src")||img.dataset.aksrtThemeLightSrc||img.getAttribute("src")||"",darkSrc=getThemeImageAttr(img,"dark-src");!img.dataset.aksrtThemeLightSrc&&lightSrc&&(img.dataset.aksrtThemeLightSrc=lightSrc),setThemeImageSource(img,isDark&&darkSrc?darkSrc:lightSrc)})}function syncCodeHighlightTheme(isDark){if(typeof window.AksrtPrecodeApplyTheme=="function"){window.AksrtPrecodeApplyTheme(isDark);return}var settings=window.aksrtData&&window.aksrtData.codeHighlight||{},theme=isDark?settings.darkTheme||"monokai":settings.lightTheme||"enlighter";document.querySelectorAll(".enlighter-default").forEach(function(el){el.className=el.className.replace(/\benlighter-t-[\w-]+\b/g,"").replace(/\s+/g," ").trim(),el.classList.add("enlighter-t-"+theme)})}function dispatchThemeChange(isDark){try{document.dispatchEvent(new CustomEvent("aksrt:theme-change",{detail:{theme:isDark?"dark":"light",isDark}}))}catch{}}function applyTheme(mode){var isDark=mode==="dark";document.documentElement.classList.toggle("dark",isDark),document.documentElement.setAttribute("data-theme",isDark?"dark":"light"),document.body.classList.toggle("theme-dark",isDark),document.body.classList.toggle("dark-theme",isDark),document.body.classList.toggle("white-theme",!isDark),document.body.setAttribute("data-theme",isDark?"dark":"light"),syncBrandLogos(isDark),syncThemeColorMeta(isDark),syncThemeImages(isDark),syncCodeHighlightTheme(isDark),dispatchThemeChange(isDark),document.querySelectorAll("#theme-toggle, #theme-toggle-desktop, #theme-toggle-mobile, #dropdown-theme-toggle, .toggle-theme, [data-action='toggle-theme']").forEach(function(btn){if(btn){btn.setAttribute("aria-pressed",isDark?"true":"false"),btn.classList.toggle("is-dark",isDark);var moon=btn.querySelector(".theme-icon-moon"),sun=btn.querySelector(".theme-icon-sun");moon&&(moon.removeAttribute("style"),moon.setAttribute("aria-hidden",isDark?"true":"false")),sun&&(sun.removeAttribute("style"),sun.setAttribute("aria-hidden",isDark?"false":"true"))}});var ddBtn=document.getElementById("dropdown-theme-toggle");ddBtn&&ddBtn.setAttribute("aria-pressed",isDark?"true":"false")}var themeInitialized=!1;function initTheme(){if(themeInitialized)return;themeInitialized=!0;var stored=getStoredTheme(),configuredMode=window.aksrtData&&window.aksrtData.themeMode||"light";applyTheme(stored==="dark"||stored==="light"?stored:resolveConfiguredTheme(configuredMode));function prefersReducedMotion(){return window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function getThemeTransitionPoint(event){return event&&typeof event.clientX=="number"&&typeof event.clientY=="number"?{x:event.clientX,y:event.clientY}:{x:window.innerWidth/2,y:window.innerHeight/2}}function runThemeTransition(next,event){if(!document.startViewTransition||prefersReducedMotion()){applyTheme(next);return}var point=getThemeTransitionPoint(event),endRadius=Math.hypot(Math.max(point.x,window.innerWidth-point.x),Math.max(point.y,window.innerHeight-point.y)),clipPath=["circle(0px at "+point.x+"px "+point.y+"px)","circle("+endRadius+"px at "+point.x+"px "+point.y+"px)"],enteringDark=next==="dark";try{var transition=document.startViewTransition(function(){applyTheme(next)});transition.ready.then(function(){try{document.documentElement.animate({clipPath:enteringDark?clipPath:clipPath.slice().reverse()},{duration:500,easing:enteringDark?"ease-in":"ease-out",fill:"both",pseudoElement:enteringDark?"::view-transition-new(root)":"::view-transition-old(root)"})}catch{}}).catch(function(){})}catch{applyTheme(next)}}function bindToggle(id){var el=document.getElementById(id);el&&el.addEventListener("click",function(event){var next=document.body.classList.contains("theme-dark")?"light":"dark";setStoredTheme(next),runThemeTransition(next,event)})}bindToggle("theme-toggle"),bindToggle("theme-toggle-desktop"),bindToggle("dropdown-theme-toggle"),bindToggle("theme-toggle-mobile")}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initTheme):initTheme()})(),(function(){"use strict";var API_ROOT=(function(){var data=window.aksrtData||{},raw=data.apiUrl||data.restUrl||data.rest_url||"/index.php?rest_route=/aksrt/v1";return String(raw).replace(/\/$/,"")})(),NONCE=window.aksrtData&&window.aksrtData.restNonce||"";function buttonsFor(userId){return Array.prototype.slice.call(document.querySelectorAll('[data-aksrt-follow="'+userId+'"]'))}function setLoading(buttons,loading){buttons.forEach(function(button){button.disabled=loading,button.classList.toggle("is-loading",loading)})}function updateButton(button,isFollowing){var icon=button.querySelector("i"),label=button.querySelector("[data-aksrt-follow-label]");label&&(button.classList.toggle("is-following",isFollowing),icon&&(icon.className=isFollowing?"fa fas fa-heart em09":"fa far fa-heart em09"),label.textContent=isFollowing?"已关注":"关注",button.title=isFollowing?"点击取消关注":"关注该用户")}function updateFollowerCount(count){var countEl=document.querySelector(".aksrt-user-home__stat-value[data-followers]");countEl&&count!==void 0&&(countEl.textContent=count)}document.addEventListener("click",function(event){var button=event.target.closest("[data-aksrt-follow]");if(button){event.preventDefault();var targetUserId=parseInt(button.getAttribute("data-aksrt-follow"),10);if(!(!targetUserId||button.disabled)){var matchingButtons=buttonsFor(targetUserId);setLoading(matchingButtons,!0),fetch(API_ROOT+"/follow/toggle",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":NONCE},body:JSON.stringify({target_user_id:targetUserId})}).then(function(response){return response.json()}).then(function(result){if(!result.success||!result.data){notyf(result.message||"操作失败","danger");return}var isFollowing=!!result.data.is_following;if(matchingButtons.forEach(function(matchingButton){updateButton(matchingButton,isFollowing)}),updateFollowerCount(result.data.follower_count),!isFollowing){var managementItem=button.closest(".uc-follow-management__item");managementItem&&managementItem.remove()}notyf(isFollowing?"关注成功":"已取消关注","success")}).catch(function(){notyf("网络错误,请重试","danger")}).finally(function(){setLoading(matchingButtons,!1)})}}})})(),(function(){"use strict";var initialized=!1;function initScrollDirection(){var body=document.body;function sync(){body.classList.toggle("aksrt-body-scroll",body.classList.contains("body-scroll")),body.classList.toggle("aksrt-scroll-down",body.classList.contains("scroll-down")),body.classList.toggle("aksrt-scroll-up",body.classList.contains("scroll-up")),body.classList.add("aksrt-scrolling"),clearTimeout(body._aksrtScrollTimer),body._aksrtScrollTimer=setTimeout(function(){body.classList.remove("aksrt-scrolling")},300)}function onScroll(){requestAnimationFrame(sync)}window.addEventListener("scroll",onScroll,{passive:!0})}function init(){initialized||(initialized=!0,initScrollDirection())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init()})(),(function(){"use strict";function initTilt(){document.querySelectorAll("[data-aksrt-tilt]").forEach(function(el){if(!el.dataset.tiltInit){el.dataset.tiltInit="1";var maxTilt=parseInt(el.dataset.aksrtTiltMax||"15",10),perspective=parseInt(el.dataset.aksrtTiltPerspective||"1000",10),scale=parseFloat(el.dataset.aksrtTiltScale||"1.03"),speed=parseInt(el.dataset.aksrtTiltSpeed||"400",10),glare=el.dataset.aksrtTiltGlare==="1";el.style.transformStyle="preserve-3d",el.style.transition="transform "+speed+"ms ease";var glareEl=null;glare&&(glareEl=document.createElement("div"),glareEl.style.cssText="position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity "+speed+"ms;",el.style.position=el.style.position||"relative",el.style.overflow="hidden",el.appendChild(glareEl)),el.addEventListener("mousemove",function(e){var rect=el.getBoundingClientRect(),x=(e.clientX-rect.left)/rect.width,y=(e.clientY-rect.top)/rect.height,tiltX=(.5-y)*maxTilt,tiltY=(x-.5)*maxTilt;el.style.transform="perspective("+perspective+"px) rotateX("+tiltX+"deg) rotateY("+tiltY+"deg) scale3d("+scale+","+scale+","+scale+")",glareEl&&(glareEl.style.opacity="1",glareEl.style.background="linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%)",glareEl.style.transform="translate("+(x-.5)*100+"%, "+(y-.5)*100+"%)")}),el.addEventListener("mouseleave",function(){el.style.transform="perspective("+perspective+"px) rotateX(0deg) rotateY(0deg) scale3d(1,1,1)",glareEl&&(glareEl.style.opacity="0")})}})}function initScrollAnimations(){if(!("IntersectionObserver"in window)){document.querySelectorAll("[data-aksrt-animate]").forEach(function(el){el.style.opacity="1",el.style.transform="none"});return}var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){var el=entry.target,animation=el.dataset.aksrtAnimate||"fadeInUp",delay=parseInt(el.dataset.aksrtAnimateDelay||"0",10),duration=parseInt(el.dataset.aksrtAnimateDuration||"600",10);setTimeout(function(){el.style.transition="opacity "+duration+"ms ease, transform "+duration+"ms ease",el.style.opacity="1",el.style.transform="translateY(0) translateX(0) scale(1)",el.classList.add("aksrt-animated")},delay),observer.unobserve(el)}})},{threshold:.1,rootMargin:"0px 0px -50px 0px"});document.querySelectorAll("[data-aksrt-animate]").forEach(function(el){if(!el.dataset.aksrtAnimateInit){el.dataset.aksrtAnimateInit="1";var animation=el.dataset.aksrtAnimate||"fadeInUp";switch(el.style.opacity="0",animation){case"fadeIn":el.style.transform="none";break;case"fadeInUp":el.style.transform="translateY(30px)";break;case"fadeInDown":el.style.transform="translateY(-30px)";break;case"fadeInLeft":el.style.transform="translateX(-30px)";break;case"fadeInRight":el.style.transform="translateX(30px)";break;case"zoomIn":el.style.transform="scale(0.9)";break;default:el.style.transform="translateY(30px)"}observer.observe(el)}})}function initSticky(){document.querySelectorAll("[data-aksrt-sticky]").forEach(function(el){if(el.dataset.aksrtStickyInit)return;el.dataset.aksrtStickyInit="1";var top=parseInt(el.dataset.aksrtStickyTop||"80",10),offset=parseInt(el.dataset.aksrtStickyOffset||"0",10);function update(){var rect=el.getBoundingClientRect(),parentRect=el.parentElement.getBoundingClientRect();parentRect.topel.offsetHeight+top&&(el.style.position="sticky",el.style.top=top+"px")}window.addEventListener("scroll",update,{passive:!0})})}var parallaxScrollBound=!1;function initParallax(){if(!document.querySelector("[data-aksrt-parallax]")||parallaxScrollBound)return;parallaxScrollBound=!0;var ticking=!1;function update(){document.querySelectorAll("[data-aksrt-parallax]").forEach(function(el){var speed=parseFloat(el.dataset.aksrtParallax||"0.3"),rect=el.getBoundingClientRect(),center=rect.top+rect.height/2,windowCenter=window.innerHeight/2,offset=(center-windowCenter)*speed;el.style.transform="translateY("+offset+"px)"}),ticking=!1}window.addEventListener("scroll",function(){ticking||(requestAnimationFrame(update),ticking=!0)},{passive:!0})}var rippleBound=!1;function initRipple(){rippleBound||(rippleBound=!0,document.addEventListener("click",function(e){var el=e.target.closest(".aksrt-ripple");if(el){var rect=el.getBoundingClientRect(),x=e.clientX-rect.left,y=e.clientY-rect.top,size=Math.max(rect.width,rect.height)*2,wave=document.createElement("span");wave.className="aksrt-ripple__wave",wave.style.width=wave.style.height=size+"px",wave.style.left=x-size/2+"px",wave.style.top=y-size/2+"px",el.appendChild(wave),wave.addEventListener("animationend",function(){wave.remove()})}}))}function initFloatLabels(){document.querySelectorAll(".aksrt-float-label__input").forEach(function(input){input.dataset.aksrtFloatInit||(input.dataset.aksrtFloatInit="1",input.value&&input.setAttribute("data-has-value","1"),input.addEventListener("input",function(){this.value?this.setAttribute("data-has-value","1"):this.removeAttribute("data-has-value")}))})}function init(){initTilt(),initScrollAnimations(),initRipple(),initSticky(),initParallax(),initFloatLabels()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init),window.AksrtEnhancements={initTilt,initScrollAnimations,initRipple}})(),(function(){"use strict";var canvas=null,ctx=null;function getCanvas(){return canvas||(canvas=document.createElement("canvas"),canvas.width=40,canvas.height=40,ctx=canvas.getContext("2d",{willReadFrequently:!0})),{canvas,ctx}}function extractColor(img){try{var c=getCanvas();c.ctx.drawImage(img,0,0,40,40);for(var data=c.ctx.getImageData(0,0,40,40).data,r=0,g=0,b=0,count=0,step=4,i=0;i240||data[i+3]<128||(r+=pr,g+=pg,b+=pb,count++)}return count===0?null:(r=Math.round(r/count),g=Math.round(g/count),b=Math.round(b/count),{r,g,b,hex:rgbToHex(r,g,b)})}catch{return null}}function rgbToHex(r,g,b){return"#"+((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1)}function lighten(r,g,b,amount){return rgbToHex(Math.min(255,r+amount),Math.min(255,g+amount),Math.min(255,b+amount))}function darken(r,g,b,amount){return rgbToHex(Math.max(0,r-amount),Math.max(0,g-amount),Math.max(0,b-amount))}function applyColor(target,color){if(!(!target||!color)){var r=color.r,g=color.g,b=color.b;target.style.setProperty("--aksrt-dynamic-color",color.hex),target.style.setProperty("--aksrt-dynamic-color-rgb",r+","+g+","+b),target.style.setProperty("--aksrt-dynamic-color-light",lighten(r,g,b,60)),target.style.setProperty("--aksrt-dynamic-color-dark",darken(r,g,b,40)),!target.style.background&&!target.style.backgroundColor&&target.style.setProperty("--aksrt-dynamic-bg","rgba("+r+","+g+","+b+",0.05)")}}function processImage(img){if(img.dataset.aksrtColorDone)return;!img.crossOrigin&&img.src.indexOf(window.location.origin)!==0&&(img.crossOrigin="anonymous");function extract(){var color=extractColor(img);if(color){img.dataset.aksrtColorDone="1";var targetSelector=img.dataset.aksrtColorTarget,target=targetSelector?img.closest(targetSelector)||document.querySelector(targetSelector):img.parentElement;applyColor(target,color)}}img.complete&&img.naturalWidth>0?extract():img.addEventListener("load",extract,{once:!0})}function init(){document.querySelectorAll("[data-aksrt-color-extract]").forEach(processImage)}window.AksrtColorExtract={extract:extractColor,apply:applyColor,process:processImage,init},document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init)})(),(function(){"use strict";var reducedMotion=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function initCountUp(){if(!reducedMotion&&"IntersectionObserver"in window){var els=document.querySelectorAll("[data-aksrt-countup]:not([data-aksrt-countup-init])");if(els.length){var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var el=entry.target;observer.unobserve(el);var target=parseFloat(el.dataset.target||"0"),duration=parseInt(el.dataset.duration||"2000",10),decimals=(el.dataset.decimals||"0|").split("|"),prefix=decimals[1]||"",dec=parseInt(decimals[0],10)||0,start=0,startTime=null;function step(timestamp){startTime||(startTime=timestamp);var progress=Math.min((timestamp-startTime)/duration,1),eased=1-Math.pow(1-progress,3),current=start+(target-start)*eased;el.textContent=prefix+current.toFixed(dec).replace(/\B(?=(\d{3})+(?!\d))/g,","),progress<1?requestAnimationFrame(step):el.textContent=prefix+target.toFixed(dec).replace(/\B(?=(\d{3})+(?!\d))/g,",")}requestAnimationFrame(step)})},{threshold:.3});els.forEach(function(el){el.dataset.aksrtCountupInit="1",observer.observe(el)})}}}function initCountdown(){var els=document.querySelectorAll("[data-aksrt-countdown]:not([data-aksrt-countdown-init])");if(!els.length)return;function pad(n){return n<10?"0"+n:""+n}function update(el){var now=Date.now(),end=new Date(el.dataset.end).getTime(),diff=end-now;if(diff<=0){el.textContent=el.dataset.expired||"已结束";return}var d=Math.floor(diff/864e5),h=Math.floor(diff%864e5/36e5),m=Math.floor(diff%864e5/6e4),s=Math.floor(diff%6e4/1e3),format=el.dataset.format||"dhms";format==="dhms"?el.textContent=(d>0?d+"天 ":"")+pad(h)+":"+pad(m)+":"+pad(s):format==="hms"?el.textContent=pad(h+d*24)+":"+pad(m)+":"+pad(s):el.textContent=(d>0?d+"天 ":"")+pad(h)+"时"+pad(m)+"分"+pad(s)+"秒"}els.forEach(function(el){el.dataset.aksrtCountdownInit="1",update(el),setInterval(function(){update(el)},1e3)})}function initTilt(){reducedMotion||document.querySelectorAll("[data-aksrt-tilt]").forEach(function(el){if(!el.dataset.tiltBound){el.dataset.tiltBound="1";var maxDeg=parseFloat(el.dataset.tiltMax||"10"),perspective=parseFloat(el.dataset.tiltPerspective||"800"),scale=parseFloat(el.dataset.tiltScale||"1.03"),glare=el.dataset.tiltGlare==="1",glareEl=null;glare&&(glareEl=document.createElement("div"),glareEl.style.cssText="position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.25) 100%);opacity:0;transition:opacity 0.2s;",el.style.position=el.style.position||"relative",el.style.overflow="hidden",el.appendChild(glareEl)),el.addEventListener("mousemove",function(e){var rect=el.getBoundingClientRect(),x=(e.clientX-rect.left)/rect.width,y=(e.clientY-rect.top)/rect.height,rotateX=(.5-y)*maxDeg,rotateY=(x-.5)*maxDeg;el.style.transform="perspective("+perspective+"px) rotateX("+rotateX+"deg) rotateY("+rotateY+"deg) scale3d("+scale+","+scale+","+scale+")",glareEl&&(glareEl.style.opacity="1")}),el.addEventListener("mouseleave",function(){el.style.transform="perspective("+perspective+"px) rotateX(0deg) rotateY(0deg) scale3d(1,1,1)",glareEl&&(glareEl.style.opacity="0")})}})}var fpsDetected=!1;function initFpsDetection(){if(fpsDetected||!("requestAnimationFrame"in window))return;fpsDetected=!0;var frames=0,startTime=performance.now();function countFrames(){frames++;var elapsed=performance.now()-startTime;if(elapsed>=1e3){var fps=Math.round(frames*1e3/elapsed);fps<24&&document.body.classList.add("fps-accelerat");return}requestAnimationFrame(countFrames)}requestAnimationFrame(countFrames)}function init(){initCountUp(),initCountdown(),typeof initMarquee=="function"&&initMarquee(),initTilt(),initFpsDetection()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),window.jQuery&&window.jQuery(document).on("auto_fun",init)})(),(function(){"use strict";var TOKEN_FIELDS=Object.freeze(["captcha_verified","aksrt_captcha_challenge","aksrt_captcha_proof","cf_turnstile_response","tencent_ticket","tencent_randstr","geetest_lot_number","geetest_captcha_output","geetest_pass_token","geetest_gen_time","aliyun_captcha_verify_param"]),loaders={},instances={},scenes={};function asElement(scope){if(!scope)return null;if(scope.nodeType===1||scope.nodeType===9)return scope;if(typeof scope!="string")return null;if(instances[scope])return instances[scope].box;try{return document.querySelector(scope)}catch{return null}}function scopeBoundary(box,config){if(config.scope)try{var configured=document.querySelector(config.scope);if(configured)return configured}catch{}return box.closest("[data-aksrt-captcha-scope], form, [data-aksrt-download-box], [data-aksrt-auth], .aksrt-modal, [data-signin-captcha], #comments")||box.parentElement}function register(instance){instances[instance.uid]=instance,scenes[instance.scene]=scenes[instance.scene]||[],scenes[instance.scene].indexOf(instance)===-1&&scenes[instance.scene].push(instance)}function resolve(scene,scope){if(scan(),typeof scope=="string"&&instances[scope]&&instances[scope].scene===scene)return instances[scope];var candidates=scenes[scene]||[],element=asElement(scope);if(element&&element.getAttribute){var uid=element.getAttribute("data-aksrt-captcha-uid")||element.getAttribute("data-captcha-uid");if(uid&&instances[uid]&&instances[uid].scene===scene)return instances[uid]}if(!element)return scope?null:candidates.length===1?candidates[0]:null;var matches=candidates.filter(function(instance){var boundary=instance.scope;return element===instance.box||element===instance.mount||element===boundary||instance.box.contains(element)||instance.mount.contains(element)||boundary&&boundary.contains(element)||element.contains&&(element.contains(instance.box)||boundary&&element.contains(boundary))});return matches.length===1?matches[0]:matches.length?(matches.sort(function(a,b){return a.scope===b.scope?0:a.scope&&b.scope&&a.scope.contains(b.scope)?1:a.scope&&b.scope&&b.scope.contains(a.scope)?-1:0}),matches[0]):null}function verify(scene,scope){var instance=resolve(scene,scope);return instance?instance.verify():Promise.resolve(!0)}function collect(scene,scope){var instance=resolve(scene,scope);return instance?instance.collect():{}}function reset(scene,scope){var instance=resolve(scene,scope);instance&&instance.reset()}function releaseRunLock(instance){instance.runLocked=!1;var waiters=instance.lockWaiters.slice();instance.lockWaiters=[],waiters.forEach(function(resolveWaiter){resolveWaiter(null)})}function run(scene,scope){var instance=resolve(scene,scope);return instance?instance.runLocked?new Promise(function(resolveWaiter){instance.lockWaiters.push(resolveWaiter)}):(instance.runLocked=!0,instance.verify().then(function(passed){return passed||releaseRunLock(instance),passed?instance.collect():null}).catch(function(error){throw releaseRunLock(instance),error})):Promise.resolve({})}window.AKSRTCaptcha=Object.freeze({verify,collect,reset,run,TOKEN_FIELDS});function scan(){var mounts=document.querySelectorAll("[data-aksrt-captcha-config]");Array.prototype.forEach.call(mounts,function(mount){if(!mount.dataset.aksrtCaptchaBound){var config;try{config=JSON.parse(mount.getAttribute("data-aksrt-captcha-config"))}catch{return}!config||!config.scene||!config.uid||!config.vid||(mount.dataset.aksrtCaptchaBound="1",initMount(config,mount))}})}function initMount(C,mount){var box=document.getElementById(C.uid),hField=document.getElementById(C.vid);if(!box||!hField)return;var container=box.closest("form")||mount;mount.setAttribute("data-aksrt-captcha-uid",C.uid);var verified=!1,pending=[],refreshingChallenge=null,providerReset=function(){},triggerCaptcha=function(){showTip("验证码加载中,请稍候","#e67e22"),finishPending(!1)};function loadScriptOnce(key,src,readyCheck){return typeof readyCheck=="function"&&readyCheck()?Promise.resolve():(loaders[key]||(loaders[key]=new Promise(function(resolveLoad,rejectLoad){var existing=document.querySelector('script[data-aksrt-sdk="'+key+'"]');if(existing){if(typeof readyCheck=="function"&&readyCheck()){resolveLoad();return}existing.addEventListener("load",resolveLoad,{once:!0}),existing.addEventListener("error",function(){rejectLoad(new Error(key+" load failed"))},{once:!0});return}var script=document.createElement("script");script.src=src,script.async=!0,script.setAttribute("data-aksrt-sdk",key),script.onload=resolveLoad,script.onerror=function(){rejectLoad(new Error(key+" load failed"))},document.head.appendChild(script)})),loaders[key])}function setField(name,value){var field=container.querySelector('input[name="'+name+'"]');field||(field=document.createElement("input"),field.type="hidden",field.name=name,container.appendChild(field)),field.value=value??""}function collectFields(){var payload={};return TOKEN_FIELDS.forEach(function(name){var field=container.querySelector('input[name="'+name+'"]');field&&field.value!==""&&(payload[name]=field.value)}),payload}function refreshChallenge(){return!C.challenge_url||typeof window.fetch!="function"?Promise.resolve():refreshingChallenge||(refreshingChallenge=window.fetch(C.challenge_url,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({scene:C.scene})}).then(function(response){return response.json().catch(function(){return{}}).then(function(body){if(!response.ok||!body||body.success===!1)throw new Error(body.message||"challenge refresh failed");var data=body.data||body;if(!data.challenge)throw new Error("challenge missing");setField("aksrt_captcha_challenge",data.challenge)})}).catch(function(){showTip("无法刷新人机验证会话,请刷新页面重试","#e74c3c")}).finally(function(){refreshingChallenge=null}),refreshingChallenge)}function clearProviderTokens(){TOKEN_FIELDS.forEach(function(name){name==="captcha_verified"||name==="aksrt_captcha_challenge"||name==="aksrt_captcha_proof"||Array.prototype.forEach.call(container.querySelectorAll('input[name="'+name+'"]'),function(field){field.remove()})})}function resetVerificationState(){verified=!1,releaseRunLock(instance),hField.value="0",setField("aksrt_captcha_proof",""),clearProviderTokens();try{providerReset()}catch{}refreshChallenge()}function finishPending(ok){var callbacks=pending.slice();pending=[],callbacks.forEach(function(callback){callback(!!ok)})}function cancelPending(message){message&&showTip(message,"#e67e22"),finishPending(!1)}function providerPayload(){var payload=collectFields();return payload.scene=C.scene,payload}function exchangeVerification(){if(!C.exchange_url||typeof window.fetch!="function"){cancelPending("人机验证服务不可用,请刷新页面重试");return}window.fetch(C.exchange_url,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(providerPayload())}).then(function(response){return response.json().catch(function(){return{}}).then(function(body){if(!response.ok||!body||body.success===!1)throw new Error(body.message||"人机验证失败");var data=body.data||body;if(!data.proof)throw new Error("人机验证凭证缺失");setField("aksrt_captcha_proof",data.proof),clearProviderTokens(),completeVerification()})}).catch(function(error){cancelPending(error.message||"人机验证失败,请重试"),resetVerificationState()})}function completeProviderVerification(){hField.value="1",exchangeVerification()}function completeVerification(){verified=!0,hField.value="1",finishPending(!0)}function showTip(message,color){var tip=box.querySelector(".captcha-tip");tip||(tip=document.createElement("div"),tip.className="captcha-tip",tip.style.cssText="font-size:12px;margin-top:4px;text-align:left;",box.appendChild(tip)),tip.style.color=color||"#e74c3c",tip.textContent=message,setTimeout(function(){tip.parentNode&&tip.remove()},4e3)}function showLoading(){box.innerHTML='
    验证码加载中...
    '}function clearLoading(){box.innerHTML=""}var instance={uid:C.uid,scene:C.scene,box,mount,scope:scopeBoundary(box,C),runLocked:!1,lockWaiters:[],collect:collectFields,reset:resetVerificationState,verify:function(){var challengeField=container.querySelector('input[name="aksrt_captcha_challenge"]'),preparation=challengeField&&challengeField.value?Promise.resolve():refreshChallenge();return preparation.then(function(){return challengeField=container.querySelector('input[name="aksrt_captcha_challenge"]'),!challengeField||!challengeField.value?(showTip("人机验证会话未就绪,请稍后重试","#e74c3c"),!1):verified||hField.value==="1"?!0:new Promise(function(resolveVerify){pending.push(resolveVerify),pending.length===1&&triggerCaptcha()})})}};register(instance),refreshingChallenge=refreshChallenge();function loadTencent(){showLoading(),loadScriptOnce("tencent","https://turing.captcha.qcloud.com/TJCaptcha.js",function(){return typeof window.TencentCaptcha<"u"}).then(function(){clearLoading();var captchaInstance=null;triggerCaptcha=function(){captchaInstance||(captchaInstance=new window.TencentCaptcha(C.tc.app_id,function(result){if(result.ret===2){cancelPending("已取消验证");return}if(result.ret===0&&result.ticket){if(result.ticket.indexOf("trerror_")===0){cancelPending("验证码服务异常,请刷新页面重试");return}setField("tencent_ticket",result.ticket),setField("tencent_randstr",result.randstr),completeProviderVerification();return}var errorMap={1001:"验证码组件加载失败",1002:"验证码超时",1006:"验证码配置拉取失败",1008:"验证码页面加载异常",1012:"验证码刷新次数过多",1013:"验证码网络异常"};cancelPending(errorMap[result.errorCode]||"验证码异常,请重试")},{userLanguage:"zh-cn"})),captchaInstance.show()}}).catch(function(){clearLoading(),cancelPending("验证码组件加载失败,请刷新重试")})}function loadCloudflare(){var widgetId=null,verifying=!1,modal=null;function closeModal(){if(widgetId!==null&&typeof window.turnstile<"u")try{window.turnstile.remove(widgetId)}catch{}widgetId=null,modal&&modal.parentNode&&modal.parentNode.removeChild(modal),modal=null}function renderWidget(){if(typeof window.turnstile>"u"){setTimeout(renderWidget,200);return}widgetId=window.turnstile.render("#modalWidget_"+C.uid,{sitekey:C.cf.site_key,theme:C.cf.theme,size:C.cf.size,action:"aksrt-verify",cdata:C.scene,callback:function(token){verifying&&(verifying=!1,setField("cf_turnstile_response",token),closeModal(),completeProviderVerification())},"error-callback":function(){verifying=!1,closeModal(),cancelPending("验证码失败,请重试")},"expired-callback":function(){verifying=!1,closeModal(),cancelPending("验证码已过期,请重新验证")}})}function createModal(){modal=document.createElement("div"),modal.className="aksrt-captcha-modal-overlay",modal.innerHTML='
    人机验证

    请完成验证后继续操作

    ',document.body.appendChild(modal);var cancel=function(){verifying=!1,closeModal(),cancelPending("已取消验证")};modal.querySelector(".aksrt-captcha-modal-backdrop").addEventListener("click",cancel),modal.querySelector(".aksrt-captcha-modal-close").addEventListener("click",cancel),renderWidget()}window["onTurnstileLoad_"+C.uid]=function(){},typeof window.turnstile>"u"&&loadScriptOnce("cloudflare","https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onTurnstileLoad_"+C.uid+"&render=explicit",function(){return typeof window.turnstile<"u"}).catch(function(){cancelPending("验证码组件加载失败,请刷新重试")}),triggerCaptcha=function(){verifying||(verifying=!0,createModal())},providerReset=closeModal}function loadGeetest(){showLoading();var captchaId=C.gt&&C.gt.captcha_id?String(C.gt.captcha_id).trim():"",product=C.gt&&C.gt.product?String(C.gt.product):"bind";if(!captchaId){clearLoading(),cancelPending("极验 Captcha ID 未配置");return}function render(){clearLoading(),window.initGeetest4({captchaId,product,hideSuccess:!0},function(captchaInstance){function onSuccess(){var result=captchaInstance.getValidate();if(!result){cancelPending("验证码失败,请重试");return}setField("geetest_lot_number",result.lot_number),setField("geetest_captcha_output",result.captcha_output),setField("geetest_pass_token",result.pass_token),setField("geetest_gen_time",result.gen_time),completeProviderVerification()}captchaInstance.onReady(function(){}).onSuccess(onSuccess).onClose(function(){cancelPending("已取消验证")}),product!=="bind"&&product!=="popup"&&captchaInstance.appendTo("#"+C.uid),triggerCaptcha=function(){product==="bind"||product==="popup"?captchaInstance.showCaptcha():showTip("请先完成人机验证","#e67e22")},providerReset=function(){typeof captchaInstance.reset=="function"&&captchaInstance.reset()}})}typeof window.initGeetest4>"u"?loadScriptOnce("geetest","https://static.geetest.com/v4/gt4.js",function(){return typeof window.initGeetest4<"u"}).then(render).catch(function(){clearLoading(),cancelPending("极验组件加载失败")}):render()}function loadAliyun(){showLoading(),window.AliyunCaptchaConfig={region:C.al.region||"cn",prefix:C.al.prefix};function render(){clearLoading();var captchaInstance=null;window.initAliyunCaptcha({SceneId:C.al.scene_id,mode:"popup",element:"#"+C.uid,success:function(verifyParam){setField("aliyun_captcha_verify_param",verifyParam),completeProviderVerification()},fail:function(){cancelPending("验证码失败,请重试")},getInstance:function(value){captchaInstance=value},slideStyle:{width:360,height:40},language:"cn"}),triggerCaptcha=function(){captchaInstance&&captchaInstance.show?captchaInstance.show():cancelPending("验证码组件加载中,请稍候再试")},providerReset=function(){captchaInstance&&typeof captchaInstance.reset=="function"&&captchaInstance.reset()}}typeof window.initAliyunCaptcha>"u"?loadScriptOnce("aliyun","https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js",function(){return typeof window.initAliyunCaptcha<"u"}).then(render).catch(function(){clearLoading(),cancelPending("验证码组件加载失败,请刷新重试")}):render()}switch(C.provider){case"tencent":loadTencent();break;case"cloudflare":loadCloudflare();break;case"geetest":loadGeetest();break;case"aliyun":loadAliyun();break}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",scan):setTimeout(scan,0),window.jQuery&&window.jQuery(document).on("auto_fun",scan),window.MutationObserver&&new MutationObserver(function(mutations){var shouldScan=mutations.some(function(mutation){return mutation.addedNodes&&mutation.addedNodes.length});shouldScan&&scan()}).observe(document.documentElement,{childList:!0,subtree:!0})})(),(function(){"use strict";if("connection"in navigator){var conn=navigator.connection;if(conn.saveData||conn.effectiveType&&conn.effectiveType.indexOf("2g")!==-1)return}var hasHoverSupport=window.matchMedia("(hover: hover) and (pointer: fine)").matches;if(!hasHoverSupport)return;var prefetcher=document.createElement("link"),isPrefetched={},timer=null,DELAY=65,MAX_PREFETCH=3,prefetchedCount=0;if(!prefetcher.relList||!prefetcher.relList.supports||!prefetcher.relList.supports("prefetch"))return;function prefetch(url){if(!(isPrefetched[url]||prefetchedCount>=MAX_PREFETCH)&&url.indexOf("#")===-1){try{var link=new URL(url,window.location.origin);if(link.origin!==window.location.origin||link.pathname===window.location.pathname&&link.search===window.location.search)return}catch{return}if(!/\.(pdf|zip|rar|7z|tar|gz|exe|dmg|apk|mp[34]|avi|mov|wmv|flv|webm|ogg|wav|bmp|gif|ico|svg|woff2?|ttf|eot)(\?|$)/i.test(url)){isPrefetched[url]=!0,prefetchedCount++;var linkEl=document.createElement("link");linkEl.rel="prefetch",linkEl.href=url,linkEl.as="document",document.head.appendChild(linkEl)}}}function onHoverStart(e){var link=e.target.closest("a");!link||!link.href||link.target!=="_blank"&&(link.hasAttribute("download")||link.getAttribute("rel")!=="nofollow"&&(link.closest(".no-prefetch,[data-no-prefetch]")||(clearTimeout(timer),timer=setTimeout(function(){prefetch(link.href)},DELAY))))}function onHoverEnd(){clearTimeout(timer)}document.addEventListener("mouseover",onHoverStart,{passive:!0,capture:!0}),document.addEventListener("mouseout",onHoverEnd,{passive:!0,capture:!0}),document.addEventListener("focusin",function(e){var link=e.target.closest("a");link&&link.href&&prefetch(link.href)},{passive:!0,capture:!0}),window.addEventListener("pagehide",function(){isPrefetched={},prefetchedCount=0})})(),jQuery.cookie=function(e,o,t){if(o===void 0){var i=null;if(document.cookie&&document.cookie!="")for(var r=document.cookie.split(";"),n=0;n-1||text.indexOf("致命错误")>-1)}function aksrt_sprintf(key){var args=Array.prototype.slice.call(arguments,1),str=aksrt__(key),autoIndex=0;return str.replace(/%(\d+\$)?s/g,function(match,num){var idx=num?parseInt(num,10)-1:autoIndex++;return args[idx]!==void 0&&args[idx]!==null?args[idx]:match})}(function(window2,factory){var lazySizes2=factory(window2,window2.document,Date);window2.lazySizes=lazySizes2,typeof module=="object"&&module.exports&&(module.exports=lazySizes2)})(typeof window<"u"?window:{},function(window2,document2,Date2){"use strict";var lazysizes,lazySizesCfg;if((function(){var prop,lazySizesDefaults={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",loadafterClass:"lazyloadafter",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};lazySizesCfg=window2.lazySizesConfig||window2.lazysizesConfig||{};for(prop in lazySizesDefaults)prop in lazySizesCfg||(lazySizesCfg[prop]=lazySizesDefaults[prop])})(),!document2||!document2.getElementsByClassName)return{init:function(){},cfg:lazySizesCfg,noSupport:!0};var docElem=document2.documentElement,supportPicture=window2.HTMLPictureElement,_addEventListener="addEventListener",_getAttribute="getAttribute",addEventListener=window2[_addEventListener].bind(window2),setTimeout2=window2.setTimeout,requestAnimationFrame2=window2.requestAnimationFrame||setTimeout2,requestIdleCallback=window2.requestIdleCallback,regPicture=/^picture$/i,loadEvents=["load","error","lazyincluded","_lazyloaded"],regClassCache={},forEach=Array.prototype.forEach,hasClass=function(ele,cls){return regClassCache[cls]||(regClassCache[cls]=new RegExp("(\\s|^)"+cls+"(\\s|$)")),regClassCache[cls].test(ele[_getAttribute]("class")||"")&®ClassCache[cls]},addClass=function(ele,cls){hasClass(ele,cls)||ele.setAttribute("class",(ele[_getAttribute]("class")||"").trim()+" "+cls)},removeClass=function(ele,cls){var reg2;(reg2=hasClass(ele,cls))&&ele.setAttribute("class",(ele[_getAttribute]("class")||"").replace(reg2," "))},addRemoveLoadEvents=function(dom,fn,add){var action=add?_addEventListener:"removeEventListener";add&&addRemoveLoadEvents(dom,fn),loadEvents.forEach(function(evt){dom[action](evt,fn)})},triggerEvent=function(elem,name,detail,noBubbles,noCancelable){var event=document2.createEvent("Event");return detail||(detail={}),detail.instance=lazysizes,event.initEvent(name,!noBubbles,!noCancelable),event.detail=detail,elem.dispatchEvent(event),event},updatePolyfill=function(el,full){var polyfill;!supportPicture&&(polyfill=window2.picturefill||lazySizesCfg.pf)?(full&&full.src&&!el[_getAttribute]("srcset")&&el.setAttribute("srcset",full.src),polyfill({reevaluate:!0,elements:[el]})):full&&full.src&&(el.src=full.src)},getCSS=function(elem,style){return(getComputedStyle(elem,null)||{})[style]},getWidth=function(elem,parent,width){for(width=width||elem.offsetWidth;width49?function(){requestIdleCallback(run,{timeout:rICTimeout}),rICTimeout!==lazySizesCfg.ricTimeout&&(rICTimeout=lazySizesCfg.ricTimeout)}:rAFIt(function(){setTimeout2(run)},!0);return function(isPriority){var delay;(isPriority=isPriority===!0)&&(rICTimeout=33),!running&&(running=!0,delay=gDelay-(Date2.now()-lastTime),delay<0&&(delay=0),isPriority||delay<9?idleCallback():setTimeout2(idleCallback,delay))}},debounce2=function(func){var timeout,timestamp,wait=99,run=function(){timeout=null,func()},later=function(){var last=Date2.now()-timestamp;last0,visible&&getCSS(parent,"overflow")!="visible"&&(outerRect=parent.getBoundingClientRect(),visible=eLright>outerRect.left&&eLleftouterRect.top-1&&eLtop500&&docElem.clientWidth>500?500:370:lazySizesCfg.expand,lazysizes._defEx=defaultExpand,preloadExpand=defaultExpand*lazySizesCfg.expFactor,hFac=lazySizesCfg.hFac,isBodyHidden=null,currentExpand2&&loadMode>2&&!document2.hidden?(currentExpand=preloadExpand,lowRuns=0):loadMode>1&&lowRuns>1&&isLoading<6?currentExpand=defaultExpand:currentExpand=shrinkExpand),beforeExpandVal!==elemExpand&&(eLvW=innerWidth+elemExpand*hFac,elvH=innerHeight+elemExpand,elemNegativeExpand=elemExpand*-1,beforeExpandVal=elemExpand),rect=lazyloadElems[i].getBoundingClientRect(),(eLbottom=rect.bottom)>=elemNegativeExpand&&(eLtop=rect.top)<=elvH&&(eLright=rect.right)>=elemNegativeExpand*hFac&&(eLleft=rect.left)<=eLvW&&(eLbottom||eLright||eLleft||eLtop)&&(lazySizesCfg.loadHidden||isVisible(lazyloadElems[i]))&&(isCompleted&&isLoading<3&&!elemExpandVal&&(loadMode<3||lowRuns<4)||isNestedVisible(lazyloadElems[i],elemExpand))){if(unveilElement(lazyloadElems[i]),loadedSomething=!0,isLoading>9)break}else!loadedSomething&&isCompleted&&!autoLoadElem&&isLoading<4&&lowRuns<4&&loadMode>2&&(preloadElems[0]||lazySizesCfg.preloadAfterLoad)&&(preloadElems[0]||!elemExpandVal&&(eLbottom||eLright||eLleft||eLtop||lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr)!="auto"))&&(autoLoadElem=preloadElems[0]||lazyloadElems[i])}autoLoadElem&&!loadedSomething&&unveilElement(autoLoadElem)}},throttledCheckElements=throttle2(checkElements),switchLoadingClass=function(e){var elem=e.target;if(elem._lazyCache){delete elem._lazyCache;return}resetPreloading(e),addClass(elem,lazySizesCfg.loadedClass),removeClass(elem,lazySizesCfg.loadingClass),addRemoveLoadEvents(elem,rafSwitchLoadingClass),triggerEvent(elem,"lazyloaded"),setTimeout2(function(){addClass(elem,lazySizesCfg.loadafterClass)},700)},rafedSwitchLoadingClass=rAFIt(switchLoadingClass),rafSwitchLoadingClass=function(e){rafedSwitchLoadingClass({target:e.target})},changeIframeSrc=function(elem,src){try{elem.contentWindow.location.replace(src)}catch{elem.src=src}},handleSources=function(source){var customMedia,sourceSrcset=source[_getAttribute](lazySizesCfg.srcsetAttr);(customMedia=lazySizesCfg.customMedia[source[_getAttribute]("data-media")||source[_getAttribute]("media")])&&source.setAttribute("media",customMedia),sourceSrcset&&source.setAttribute("srcset",sourceSrcset)},lazyUnveil=rAFIt(function(elem,detail,isAuto,sizes,isImg){var src,srcset,parent,isPicture,event,firesLoad;(event=triggerEvent(elem,"lazybeforeunveil",detail)).defaultPrevented||(sizes&&(isAuto?addClass(elem,lazySizesCfg.autosizesClass):elem.setAttribute("sizes",sizes)),srcset=elem[_getAttribute](lazySizesCfg.srcsetAttr),src=elem[_getAttribute](lazySizesCfg.srcAttr),isImg&&(parent=elem.parentNode,isPicture=parent&®Picture.test(parent.nodeName||"")),firesLoad=detail.firesLoad||"src"in elem&&(srcset||src||isPicture),event={target:elem},addClass(elem,lazySizesCfg.loadingClass),firesLoad&&(clearTimeout(resetPreloadingTimer),resetPreloadingTimer=setTimeout2(resetPreloading,2500),addRemoveLoadEvents(elem,rafSwitchLoadingClass,!0)),isPicture&&forEach.call(parent.getElementsByTagName("source"),handleSources),srcset?elem.setAttribute("srcset",srcset):src&&!isPicture&&(regIframe.test(elem.nodeName)?changeIframeSrc(elem,src):elem.src=src),isImg&&(srcset||isPicture)&&updatePolyfill(elem,{src})),elem._lazyRace&&delete elem._lazyRace,removeClass(elem,lazySizesCfg.lazyClass),rAF(function(){var isLoaded=elem.complete&&elem.naturalWidth>1;(!firesLoad||isLoaded)&&(isLoaded&&addClass(elem,"ls-is-cached"),switchLoadingClass(event),elem._lazyCache=!0,setTimeout2(function(){"_lazyCache"in elem&&delete elem._lazyCache},9)),elem.loading=="lazy"&&isLoading--},!0)}),unveilElement=function(elem){if(!elem._lazyRace){var detail,isImg=regImg.test(elem.nodeName),sizes=isImg&&(elem[_getAttribute](lazySizesCfg.sizesAttr)||elem[_getAttribute]("sizes")),isAuto=sizes=="auto";(isAuto||!isCompleted)&&isImg&&(elem[_getAttribute]("src")||elem.srcset)&&!elem.complete&&!hasClass(elem,lazySizesCfg.errorClass)&&hasClass(elem,lazySizesCfg.lazyClass)||(detail=triggerEvent(elem,"lazyunveilread").detail,isAuto&&autoSizer.updateElem(elem,!0,elem.offsetWidth),elem._lazyRace=!0,isLoading++,lazyUnveil(elem,detail,isAuto,sizes,isImg))}},afterScroll=debounce2(function(){lazySizesCfg.loadMode=3,throttledCheckElements()}),altLoadmodeScrollListner=function(){lazySizesCfg.loadMode==3&&(lazySizesCfg.loadMode=2),afterScroll()},onload=function(){if(!isCompleted){if(Date2.now()-started<999){setTimeout2(onload,999);return}isCompleted=!0,lazySizesCfg.loadMode=3,throttledCheckElements(),addEventListener("scroll",altLoadmodeScrollListner,!0)}};return{_:function(){started=Date2.now(),lazysizes.elements=document2.getElementsByClassName(lazySizesCfg.lazyClass),preloadElems=document2.getElementsByClassName(lazySizesCfg.lazyClass+" "+lazySizesCfg.preloadClass),addEventListener("scroll",throttledCheckElements,!0),addEventListener("resize",throttledCheckElements,!0),addEventListener("pageshow",function(e){if(e.persisted){var loadingElements=document2.querySelectorAll("."+lazySizesCfg.loadingClass);loadingElements.length&&loadingElements.forEach&&requestAnimationFrame2(function(){loadingElements.forEach(function(img){img.complete&&unveilElement(img)})})}}),window2.MutationObserver?new MutationObserver(throttledCheckElements).observe(docElem,{childList:!0,subtree:!0,attributes:!0}):(docElem[_addEventListener]("DOMNodeInserted",throttledCheckElements,!0),docElem[_addEventListener]("DOMAttrModified",throttledCheckElements,!0),setInterval(throttledCheckElements,999)),addEventListener("hashchange",throttledCheckElements,!0),["focus","mouseover","click","load","transitionend","animationend"].forEach(function(name){document2[_addEventListener](name,throttledCheckElements,!0)}),/d$|^c/.test(document2.readyState)?onload():(addEventListener("load",onload),document2[_addEventListener]("DOMContentLoaded",throttledCheckElements),setTimeout2(onload,2e4)),lazysizes.elements.length?(checkElements(),rAF._lsFlush()):throttledCheckElements()},checkElems:throttledCheckElements,unveil:unveilElement,_aLSL:altLoadmodeScrollListner}})(),autoSizer=(function(){var autosizesElems,sizeElement=rAFIt(function(elem,parent,event,width){var sources,i,len;if(elem._lazysizesWidth=width,width+="px",elem.setAttribute("sizes",width),regPicture.test(parent.nodeName||""))for(sources=parent.getElementsByTagName("source"),i=0,len=sources.length;i-40&&angle<40&&distanceX>0?distanceX:0),options.direction=="left"&&(distanceY=0,distanceX=(angle>150||angle<-150)&&0>distanceX?distanceX:0),options.direction=="top"&&(distanceX=0,distanceY=angle>-130&&angle<-50&&0>distanceY?distanceY:0),options.direction=="bottom"&&(distanceX=0,distanceY=angle>50&&angle<130&&distanceY>0?distanceY:0),(distanceX!==0||distanceY!==0)&&(a.preventDefault?a.preventDefault():a.returnValue=!1,cssTransition(_move,distanceX,distanceY,dragging,"grab"),jQuery.isFunction(options.onIng)&&options.onIng(_e,_move,distanceX,distanceY)))}).on("touchend touchcancel pointerup MSPointerUp",touch_selector,function(){var _move=options.start_selector?options.selector?_e.find(options.selector):_e.find(options.start_selector):jQuery(this);dragging&&!is_stop&&(cssTransition(_move,0,0,"null",""),jQuery.isFunction(options.inEnd)&&options.inEnd(_e,_move,distanceX,distanceY),(Math.abs(distanceX)>dep||Math.abs(distanceY)>dep)&&jQuery.isFunction(options.onEnd)&&options.onEnd(_e,_move,distanceX,distanceY),startX=startY=endX=endY=angle=distanceX=distanceY=0,dragging=!1)}).data(is_on,!0)}},_win.bd=jQuery("body"),_win.window=jQuery(window),_win.is_signin=!!_win.bd.hasClass("logged-in");var _wid=_win.window.width(),_hei=_win.window.height();_win.bd.on("click","[data-close]",function(){var e=jQuery(this).attr("data-close");return jQuery(e).removeClass("show in"),!1}),_win.bd.on("click","[data-toggle-class]",function(){var c=jQuery(this).attr("data-toggle-class")||"show",e=jQuery(this).attr("data-target")||this;return jQuery(e).toggleClass(c).trigger("toggleClass"),!1}),_win.bd.on("click",only_drop),_win.bd.on("toggleClass",".dropup,.dropdown",only_drop);function only_drop(e){var drop=jQuery(e.target).closest(".dropup,.dropdown");jQuery(".dropup.open,.dropdown.open").not(drop).removeClass("open")}_win.bd.on("click",".alert-dismissible > .close",function(){jQuery(this).parent().slideUp()}),_win.bd.on("click","[data-onclick]",function(){var e=jQuery(this).attr("data-onclick");return jQuery(e).click()}),jQuery.fn.OnlyOn=function(type,selector,data,fun){var rnotwhite=/\S+/g,is_oned=!1;type=type.match(rnotwhite)[0];var events=jQuery._data(this[0],"events");events&&typeof events.type<"u"&&jQuery.each(events[type],function(i,item){if(item.selector==selector&&item.data==data)return is_oned=!0,!1}),is_oned?console.log("事件重复绑定{type:"+type+",selector:"+selector+",data:"+data+"}"):this.on(type,selector,data,fun)},jQuery.fn.aksrt_ajax=function(data,success,noty,no_loading){return aksrt_ajax(jQuery(this),data,success,noty,no_loading)},jQuery.fn.countdown=function(){function getTimeRemaining(endtime,max_unit){var date=new Date,now=date.getTime(),endDate=new Date(endtime),end=endDate.getTime(),total=end-now,seconds=total/1e3%60;seconds=seconds.toFixed(2);var mseconds=~~(total%1e3),minutes=~~(total/1e3/60%60),hours=~~(total/(1e3*60*60)%24),days=~~(total/(1e3*60*60*24));return max_unit==="minute"&&minutes>0&&(hours=0,days=0,minutes=~~(total/1e3/60)),max_unit==="hour"&&hours>0&&(days=0,hours=~~(total/(1e3*60*60))),seconds=seconds<10?"0"+seconds:seconds,minutes=minutes<10?"0"+minutes:minutes,{total,days,hours,minutes,seconds,mseconds}}jQuery(this).each(function(){var _this=jQuery(this),endtime=_this.attr("data-countdown");if(!endtime)return;var int_second=_this.attr("int-second"),max_unit=_this.attr("max-unit");if(_this.attr("title",aksrt__("countdown_end_time")+endtime),int_second==="auto"){var t=getTimeRemaining(endtime,max_unit);int_second=t.days>0}function updateClock(){var t2=getTimeRemaining(endtime,max_unit);if(int_second&&(t2.seconds=t2.seconds.toString().replace(/\.\d+$/,"")),_this.find(".day").length&&_this.find(".day").html(t2.days),_this.find(".hour").length&&_this.find(".hour").html(t2.hours),_this.find(".minute").length&&_this.find(".minute").html(t2.minutes),_this.find(".second").length)_this.find(".second").html(t2.seconds);else{var html="";t2.days>0&&(html+=''+t2.days+''+aksrt__("countdown_day")+""),(t2.hours>0||t2.days>0)&&(html+=''+t2.hours+''+aksrt__("countdown_hour")+""),(t2.minutes>0||t2.hours>0||t2.days>0)&&(html+=''+t2.minutes+''+aksrt__("countdown_minute")+""),html+=''+t2.seconds+''+aksrt__("countdown_second")+"",_this.html(html)}if(t2.total<=0){clearInterval(timeinterval);var over_text=_this.attr("data-over-text")||aksrt__("countdown_ended");_this.html(over_text).trigger("countdown-over")}}updateClock();var timeinterval=setInterval(updateClock,int_second?1e3:20);_this.removeAttr("data-countdown").addClass("countdown-box")})},_win.dplayer={tbquire:["dplayer"],obj:{}};function new_dplayer(){var selector=".new-dplayer:not(.dplayer-initialized),[data-dplayer]:not(.dplayer-initialized)";jQuery(selector).length&&jQuery(selector).each(function(){var _this=jQuery(this);get_new_dplayer(_this,function(dplayer){_this.addClass("dplayer-initialized").siblings(".dplayer-featured").find(".switch-video").each(function(){var _this2=jQuery(this),video_url=_this2.attr("video-url"),video_pic=_this2.attr("video-pic");_this2.data({"video-url":video_url,"video-pic":video_pic}),_this2.attr({"dplayer-id":dplayer.container.id}),setTimeout(function(){_this2.removeAttr("video-url").removeAttr("video-pic")},50)})})})}function get_new_dplayer(_this,func){var option={},video_url=_this.attr("video-url")||_this.data("video-url"),data_volume=_this.attr("data-volume"),i=parseInt((Math.random()+1)*Math.pow(10,4));if(!(_this.find(".dplayer-video-wrap").length||!video_url)){_this.attr("id","dplayer-"+i),option.container=document.getElementById("dplayer-"+i),option.theme="#f04494",option.video={url:video_url,pic:_this.attr("video-pic")||"",type:_this.attr("video-type")||"auto"},_this.attr("data-loop")&&(option.loop=!0),_this.attr("data-autoplay")&&(option.autoplay=!0),data_volume&&data_volume<1&&(option.volume=data_volume),data_volume==="none"&&(option.volume=0);var option_attr=_this.attr("video-option");if(option_attr){try{option_attr=JSON.parse(option_attr)}catch(e){console.log(e)}jQuery.extend(option,option_attr)}var v_u=video_url.toLowerCase();return v_u.indexOf(".m3u")!=-1&&_win.dplayer.tbquire.push("hls"),v_u.indexOf(".mpd")!=-1&&_win.dplayer.tbquire.push("dash"),v_u.indexOf(".flv")!=-1&&_win.dplayer.tbquire.push("flv"),jQuery("link#dplayer").length||jQuery("dplayer").append(''),_win.dplayer.tbquire.push("dplayer"),tbquire(_win.dplayer.tbquire,function(){try{var newDPlayer=new DPlayer(option);newDPlayer.on("play",function(){_win.dplayer.play=newDPlayer}),_this.data("dplayer",newDPlayer),_win.dplayer.obj[i]=newDPlayer,_this.attr({"video-url":"","video-pic":""}),jQuery.isFunction(func)&&func(newDPlayer)}catch(e){console.error(e)}}),i}}_win.bd.on("click",".swiper-slide.slide-dplayer:not(.slide-dplayer-played) > *",function(){var _this=jQuery(this),dplayer=_this.find(".new-dplayer").data("dplayer");dplayer&&(dplayer.play(),_this.parent().addClass("slide-dplayer-played"))});function thumb_dplayer(mouseenter_e,box_e){var $body=jQuery("body"),thumb_dplayer_data_text="thumb_dplayer_data",thumb_dplayer_data=$body.data(thumb_dplayer_data_text)||{};if(thumb_dplayer_data[mouseenter_e+box_e])return;var ing_class="thumb-dplayer-playing",thumb_hide_class="dplayer-thumb-hide";function to_play(_this_m,_this,dplayer){_this.find(".dplayer-thumb").removeClass(thumb_hide_class),_win.dplayer.thumb_play=dplayer,_this.find(".progress").show(),_this_m.addClass(ing_class)}function to_pause(_this_m,_this,dplayer){dplayer.pause(),_this.find(".dplayer-thumb").addClass(thumb_hide_class),_win.dplayer.thumb_play=!1,_this.find(".progress").hide(),_this_m.removeClass(ing_class)}function video_thumb_stop(){if(_win.dplayer.thumb_play){var _this=jQuery(_win.dplayer.thumb_play.container).closest(box_e),_this_m=_this.closest(mouseenter_e);to_pause(_this_m,_this,_win.dplayer.thumb_play)}}function video_thumb_play(){var _this_m=jQuery(this),_this=_this_m.find(box_e);if(!_this.length)return;var dplayer=_this.find(".dplayer-thumb").data("dplayer");if(dplayer)return to_play(_this_m,_this,dplayer),dplayer.play();function dplayer_init(dplayer2){dplayer2.on("loadeddata",function(){setTimeout(function(){_this.find(".progress-bar").css({width:"100%",opacity:"0",transition:"width .2s, opacity .3s .3s"})},100),setTimeout(function(){_this.find(".progress").remove()},800)}),setTimeout(function(){to_play(_this_m,_this,dplayer2),dplayer2.play()},200)}if(!_this.find(".dplayer-thumb").length){var video_url=_this.attr("video-url"),video_volume=_this.attr("data-volume")||"none",video_pic="",scale_height=~~_this.attr("scale-height"),progress='
    ',_dplayer=jQuery('
    ');_this.find(".video-thumb").html(_dplayer).after(progress),setTimeout(function(){_this.find(".progress-bar").css({transition:"width 6s",width:"80%"})},50),_this.attr("video-url",""),get_new_dplayer(_dplayer,dplayer_init)}}$body.on("mouseenter touchstart",mouseenter_e,video_thumb_play),$body.on("mouseleave",mouseenter_e,video_thumb_stop);var thumb_dplayer_init="thumb_dplayer_init";$body.data(thumb_dplayer_init)||$body.on("touchstart",function(e){var _target=jQuery(e.target);!_target.parents("."+ing_class).length&&_win.dplayer.thumb_play&&video_thumb_stop()}).data(thumb_dplayer_init,!0),thumb_dplayer_data[mouseenter_e+box_e]=!0,$body.data(thumb_dplayer_data_text,thumb_dplayer_data)}_win.bd.on("click",".switch-video",function(){var _this=jQuery(this),dplayer=jQuery("#"+_this.attr("dplayer-id")).data("dplayer"),video_url=_this.data("video-url"),video_pic=_this.data("video-pic");if(!(!video_url||!dplayer||_this.hasClass("active"))){_this.addClass("active").siblings().removeClass("active");var v_u=video_url.toLowerCase();v_u.indexOf(".m3u")!=-1&&_win.dplayer.tbquire.push("hls"),v_u.indexOf(".mpd")!=-1&&_win.dplayer.tbquire.push("dash"),v_u.indexOf(".flv")!=-1&&_win.dplayer.tbquire.push("flv"),tbquire(_win.dplayer.tbquire,function(){try{var op={url:video_url,type:"auto"};video_pic&&(op.pic=video_pic),dplayer.switchVideo(op),setTimeout(function(){dplayer.play()},100)}catch(e){console.log(e)}})}}),_win.bd.on("click",".switch-iframe",function(){var _this=jQuery(this),video_url=_this.attr("iframe-url"),$iframe=_this.closest(".iframe-series").find("iframe");if(!(!video_url||_this.hasClass("active"))){try{$iframe[0].contentWindow.location.replace(video_url)}catch{$iframe.attr("src",video_url)}_this.addClass("active").siblings().removeClass("active")}}),_win.bd.on("click",".post-tab-toggle",function(){var _this=jQuery(this),tab_id=_this.attr("tab-id");if(!_this.parent().hasClass("active")){var _con=_this.parent().addClass("active").siblings().removeClass("active").parent().next().find('[tab-id="'+tab_id+'"]');_con.siblings().removeClass("in"),setTimeout(function(){_con.addClass("active").siblings().removeClass("active")},150),setTimeout(function(){_con.addClass("in")},160)}}),_win.swiper=[],_win.swiper.tab={},_win.swiper.scroll={},_win.swiper.new={};function new_swiper(){jQuery(".swiper-scroll:not(.swiper-container-initialized),.new-swiper:not(.swiper-container-initialized),.swiper-tab:not(.swiper-container-initialized)").length&&(jQuery("link#swiper").length||jQuery("head").append(''),tbquire(["swiper"],function(){jQuery(".swiper-scroll").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var option={},_this=jQuery(this),_eq="swiper-scroll-eq-"+e,slideClass=_this.attr("data-slideClass")||!1;if(slideClass&&(option.slideClass=slideClass),!_this.attr("scroll-nogroup")){var c_w=_this.width(),i_w=_this.find(".swiper-wrapper>*:eq(0)").outerWidth(),slidesPerGroup=~~(c_w/i_w);option.slidesPerGroup=slidesPerGroup||1}option.autoplay=_this.attr("data-autoplay")?{delay:~~_this.attr("data-interval")||4e3,disableOnInteraction:!1}:!1,option.loop=_this.attr("data-loop"),option.slidesPerView="auto",option.mousewheel={forceToAxis:!0},option.freeMode=!0,option.freeModeSticky=!0,option.navigation={nextEl:".swiper-scroll."+_eq+" .swiper-button-next",prevEl:".swiper-scroll."+_eq+" .swiper-button-prev"},_this.addClass(_eq).attr("swiper-scroll-index",e),_win.swiper.scroll[e]=new Swiper(".swiper-scroll."+_eq,option)}}),jQuery(".swiper-tab").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var _eq="swiper-eq-"+e,_this=jQuery(this),speed=~~_this.attr("data-speed")||~~((_this.width()+1200)/170)*50,initialSlide=~~_this.attr("active-index");speed=speed<300?300:speed;var option={loop:!1,initialSlide,autoHeight:!0,spaceBetween:20,autoplay:!1,speed,pagination:{el:".swiper-tab."+_eq+" .swiper-pagination",clickable:!0},on:{init:function(){auto_maxHeight()},slideChangeTransitionEnd:function(bvv){var b=jQuery(".swiper-tab."+_eq+" .swiper-slide-active .post_ajax_trigger .ajax-open");b.length&&(scrollTopTo(jQuery(".swiper-tab."+_eq),-40),b.attr("no-scroll",!0).click());var r=bvv.onStart&&jQuery('[swiper-scroll-index="'+e+'"] .swiper-slide-thumb-active [data-route]');r&&r.length&&history.replaceState(null,document.title,r.attr("data-route")),bvv.onStart=!0}}},tab_id=_this.attr("swiper-tab"),tab_nav=jQuery('[swiper-tab-nav="'+tab_id+'"]');if(tab_nav.length){var tab_nav_index=tab_nav.attr("swiper-scroll-index");option.thumbs={swiper:_win.swiper.scroll[tab_nav_index],autoScrollOffset:2},tab_nav.on("click","a[data-route]",function(e2){e2.preventDefault()})}_this.addClass(_eq).attr("swiper-tab-index",e),_win.swiper.tab[e]=new Swiper(".swiper-tab."+_eq,option)}}),jQuery(".new-swiper").each(function(e){if(!jQuery(this).hasClass("swiper-container-initialized")){var _eq="swiper-eq-"+e,_this=jQuery(this),delay=~~_this.attr("data-interval")||6e3,autoplay=_this.attr("data-autoplay")?{delay,disableOnInteraction:!1}:!1,auto_h=!!_this.attr("auto-height"),speed=~~_this.attr("data-speed")||~~((_this.width()+1e3)/22)*10;speed=speed<400?400:speed,speed=autoplay===!1?speed/1.6:speed;var loop=!!_this.attr("data-loop"),parallax=!!_this.find("[data-swiper-parallax],[data-swiper-parallax-scale]").length,effect=_this.attr("data-effect")||"slide",direction=_this.attr("data-direction")||"horizontal",spaceBetween=~~_this.attr("data-spaceBetween")||0,pagination_type=_this.attr("data-pagination-type")||"bullets";_this.addClass(_eq).attr("swiper-new-index",e);var swiper_args={loop,autoHeight:auto_h,direction,spaceBetween,parallax,effect,lazy:{loadPrevNext:!0},autoplay,speed,pagination:{el:".new-swiper."+_eq+" .swiper-pagination",type:pagination_type,clickable:!0},navigation:{nextEl:".new-swiper."+_eq+" .swiper-button-next",prevEl:".new-swiper."+_eq+" .swiper-button-prev"},on:{lazyImageReady:function(slideEl,imageEl){jQuery(imageEl).addClass("lazyloaded")},slideChange:function(){_this.find(".new-dplayer").each(function(index,item){var dplayer=jQuery(item).data("dplayer");dplayer&&dplayer.pause()})},init:function(){loop&&_this.find(".swiper-slide-duplicate img").addClass("no-imgbox")}}};pagination_type==="thumbnail"&&(swiper_args.pagination.type="bullets",swiper_args.pagination.bulletClass="pagination-thumbnail-item",swiper_args.pagination.bulletActiveClass="pagination-thumbnail-item-active",swiper_args.pagination.renderBullet=function(index,className){var imgsrc,thumbnail,_img=jQuery(this.slides[index]).find("img");return _img.length&&(_img=jQuery(_img[0]),imgsrc=_img.attr("data-src")||_img.attr("src")),imgsrc?(thumbnail='
    ',thumbnail):""}),_win.swiper.new[e]=new Swiper(".new-swiper."+_eq,swiper_args)}})}))}window.swiper_tab_AutoHeight=debounce(function($con){var tab=$con.closest("[swiper-tab-index]");if(tab.length){var tab_index=tab.attr("swiper-tab-index");_win.swiper.tab[tab_index].updateAutoHeight(500)}},100),jQuery.fn.scrollX=function(){return this.each(function(){var _this=jQuery(this),is_on="is-on";if(!_this.data(is_on)){_this.data(is_on,!0);var btn_class="scroll-x-",prev_btn_class=btn_class+"prev",next_btn_class=btn_class+"next",prev=jQuery(''),next=jQuery('');init()}function scroll(type){var data=get_data();_this.animate({scrollLeft:type==="prev"?data[0]:data[1]},300,"linear",hover_show)}function init(){_this.after(prev).after(next),prev.on("click",function(){scroll("prev")}),next.on("click",scroll),_this.parent().hover(hover_show,function(){prev.hide(),next.hide()})}function hover_show(){var data=get_data();data[3]?prev.show():prev.hide(),data[3]0?prev_scroll:0;var next_scroll=~~(_this_scrollLeft+_this_w);return next_scroll=next_scroll>max?max:next_scroll,[prev_scroll,next_scroll,max,_this_scrollLeft]}})},jQuery.fn.Tabcenter=function(){return this.each(function(){var _this=jQuery(this),_active=_this.find(".active");if(_active.length){var _this_w=_this.innerWidth(),_active_w=_active.innerWidth(),_this_scrollLeft=_this.scrollLeft(),_active_left=_active.position().left,max=~~(_this.prop("scrollWidth")-_this_w),_yd=~~(_this_scrollLeft+_active_left-_this_w/2+_active_w/2);_yd=_yd>0?_yd:0,_yd=_yd>max?max:_yd,_yd!=_this_scrollLeft&&_this.animate({scrollLeft:_yd},300)}})},_win.bd.on("shown.bs.tab","a[data-ajax]",function(){jQuery(this).closest("ul.list-inline").Tabcenter()}),jQuery(".tab-nav-theme,.tab-nav-but,.index-tab ul.list-inline").Tabcenter();function post_ajax(_this,con,jcon,item,loader,pag,next,trigger,replace,nomore,top,ajax_trigger){var $con=_this.closest(con);if($con.attr("ing"))return!1;var $item=find(item),href=_this.attr("ajax-href")||_this.attr("href")||_this.find("a").attr("ajax-href")||_this.find("a").attr("href");jcon=jcon||con,ajax_trigger=ajax_trigger||(_win.ajax_trigger?_win.ajax_trigger:''+aksrt__("load_more")),replace=_this.attr("ajax-replace")||replace,nomore=nomore||_win.ajax_nomore;var $loader=find(".post_ajax_loader");$loader.length||(loader=loader||'

    ',$loader=jQuery('
    '+loader+"
    "));function find(selector,$parent,con_selector){$parent=$parent&&$parent.length?$parent:$con,con_selector=con_selector||con;var $element=$parent.find(">"+selector);return $element.length||($element=$parent.find(">*:not("+con_selector+")>"+selector),$element.length)||($element=$parent.find(">*:not("+con_selector+")>*:not("+con_selector+")>"+selector),$element.length)||($element=$parent.find(">*:not("+con_selector+")>*:not("+con_selector+")>*:not("+con_selector+")>"+selector),$element.length)?$element:jQuery("null#null")}return href&&jQuery.ajax({type:"POST",url:href,dataType:"html",beforeSend:function(){replace&&$item.length&&$item.remove(),$con.attr("ing",!0),find(".post_ajax_trigger").remove(),find(".no-more").remove(),find(".post_ajax_loader").remove(),find(".noajax-pag").remove(),find(pag).remove(),$item=find(item),$item.length?top?$item.first().before($loader):$item.last().after($loader):$con.append($loader),$loader.addClass("is-loading"),swiper_tab_AutoHeight($con)},success:function(a){a=jQuery.parseHTML("
    "+a+"
    ");var $a=jQuery(a);$a.find("[win-ajax-replace]").each(function(){var replace_key=jQuery(this).attr("win-ajax-replace"),replace_e=jQuery('[win-ajax-replace="'+replace_key+'"]');replace_e.length&&(replace_e.html(jQuery(this).html()),jQuery(this).remove())});var $jcon=$a.find(jcon),c_c=find(item,$jcon,jcon),c_p=find(pag,$jcon,jcon),n_h=c_p.find(next).attr("href")||c_p.find(next).find("a").attr("href");c_p=c_p.length?c_p:'
    '+nomore+"
    ",c_p=$jcon.find(".noajax-pag").length?$jcon.find(".noajax-pag"):c_p,trigger&&(c_p=typeof n_h<"u"?''+ajax_trigger+"":c_p);var $item_header=find(".ajax-item-header",$jcon,jcon);if($item_header.length&&(find(".ajax-item-header").remove(),$con.prepend($item_header)),$item=find(item),$item.length?top?$item.first().before(c_p).before(c_c):$item.last().after(c_p).after(c_c):top?$con.append(c_p).append(c_c):$con.append(c_c).append(c_p),$con.removeAttr("ing").trigger("post_ajax.ed",jQuery(a)),find(".post_ajax_loader",$con).removeClass("is-loading"),_this.attr("no-scroll"))_win.auto_scroll=!0,setTimeout(function(){_win.window.trigger("scroll"),_win.auto_scroll=!1},20);else{var _scroll_To=replace?$con:jQuery(c_c[0]);setTimeout(function(){scrollTopTo(_scroll_To,-40)},100)}if(_this.attr("route")){var route_title=_this.attr("route-title")||$a.find("title").text();history.replaceState(null,route_title,href),route_title&&jQuery("head title").text(route_title)}swiper_tab_AutoHeight($con),auto_fun()}}),!1}if(_win.bd.on("click","[remote-box]",function(){var _this=jQuery(this),remote=_this.attr("remote-box");remote&&jQuery.post(remote,null,function(data){_this.html(data).removeAttr("remote-box"),auto_fun(),_this.trigger("aksrt:remote-loaded")})}),_win.bd.on("show.bs.tab","a[data-ajax]",function(){var _this=jQuery(this),a=_this.data("target")||_this.attr("href"),selector=a+" .post_ajax_trigger .ajax-next",b=jQuery(selector).attr("ajax-replace",!0);if(b.length)b.click();else{var href=_this.attr("data-ajax");if(href){var trigger='';jQuery(a).append(trigger),jQuery(selector).click()}}_this.attr("only-one")&&_this.removeAttr("data-ajax")}),_win.bd.on("click","[ajax-tab],[ajax-target]",function(){var _this=jQuery(this),replace=_this.attr("ajax-replace")?' ajax-replace="true"':"",target=_this.attr("ajax-tab")||_this.attr("ajax-target"),href=_this.attr("data-ajax"),trigger='";console.log(target),jQuery(target).find(".post_ajax_trigger").remove(),jQuery(target).append(trigger),jQuery(target+" .post_ajax_trigger .ajax-next").click(),jQuery('a[href="'+target+'"]').click()}),_win.bd.on("click",".ajax-next",function(e){e.preventDefault();var _this=jQuery(this);if(_this.hasClass("pag-jump"))return!1;var _loader='
    '+aksrt__("loading")+"
    ";_this.attr("ajax-replace")&&(_loader='

    ',_loader+=_loader,_loader+=_loader),_loader='
    '+_loader+"
    ";var t_con=_this.attr("ajaxpager-target")||".ajaxpager",t_item=_this.attr("ajaxitem-target")||".ajax-item",$item1=_this.parents(t_con+":eq(0)").find(t_item+":first"),$item1_class=$item1.attr("class");if($item1_class&&$item1_class.indexOf("posts-item")>-1)if($item1_class.indexOf("card")>-1){var loader_class=$item1_class.replace("ajax-item","");_loader='

    ',_loader=_loader.repeat(_wid>766?_wid>992&&!jQuery(".sidebar").length?8:6:4)}else $item1_class.indexOf("list")>-1&&(_loader='

    ',_loader=_loader.repeat(_wid>766?4:3));return post_ajax(_this,t_con,t_con,t_item,_loader,".ajax-pag")}),_wid<769&&jQuery(".drawer-sm").length){_win.bd.on("click","[data-drawer]",function(){var _this=jQuery(this),title=_this.attr("drawer-title")||"",drawer_selector=_this.attr("drawer-selector")||".drawer-sm",action=_this.attr("data-drawer"),route=_this.attr("route"),route_back=_this.attr("route-back");jQuery(drawer_selector).Drawer(action,title,route,route_back)});var this_url=(window.parent.location.origin+window.parent.location.pathname).replace(/(\/*$)/g,"");_win.url_request=window.parent.location.search,setTimeout(function(){jQuery('[data-drawer][route="'+this_url+'"]').click()},20)}else _win.bd.on("shown.bs.tab","[data-drawer][route]",tabOnRoute),_win.bd.on("hide.bs.tab","[data-drawer][route]",tabOnRoute_hidden);_win.bd.on("shown.bs.tab","[data-route]",tabOnRoute),_win.bd.on("hide.bs.tab","[data-route]",tabOnRoute_hidden);function tabOnRoute_hidden(){var _this=jQuery(this);if(!history.state){var route=_this.attr("route")||_this.attr("data-route"),tab_id=_this.attr("data-target");route&&history.replaceState({tab_id},null,route)}}function tabOnRoute(){var _this=jQuery(this);if(_this.attr("onpopstate"))_this.attr("onpopstate",!1);else{var route=_this.attr("route")||_this.attr("data-route"),tab_id=_this.attr("data-target");route&&routeGo(route,{tab_id})}}window.onpopstate=function(event){var tab=event.state&&jQuery('[data-toggle="tab"][data-target="'+event.state.tab_id+'"]');tab&&tab.length&&tab.attr("onpopstate",!0).click()};function routeGo(url,data,title){title=title||document.title,url&&history.pushState(data,title,url)}if(jQuery.fn.loading=function(action){var _this=jQuery(this);action=action=="show"||action=="hide"?action:_this.hasClass("loading-show")?"hide":"show";var loading_class="loading-backdrop",loading_html='';return action=="show"?_this.addClass("loading-show").append(loading_html).find("."+loading_class).fadeIn(200):_this.removeClass("loading-show").find("."+loading_class).fadeOut(200,function(){jQuery(this).remove()}),_this},jQuery.fn.Drawer=function(action,title,route,route_back){title=title||"";var _this=jQuery(this);if(!_this.length)return;action=action=="show"||action=="hide"?action:_this.hasClass("show")?"hide":"show";var _body=jQuery("body");_this.attr("on-start")||_this.attr("on-start",!0).minitouch({direction:"right",onEnd:function(){_this.Drawer("hide")}});function urlTo(url){history.replaceState(null,document.title,url)}switch(action){case"show":var header=jQuery('
    '+title+"
    ").on("click",".drawer-close",function(){_this.Drawer("hide")});return _body.append(header),setTimeout(function(){_body.addClass("drawer-show")},10),route_back&&_this.data("route_back",route_back),route&&urlTo(route),_this.addClass("show");case"hide":return _body.removeClass("drawer-show"),setTimeout(function(){jQuery(".drawer-header").remove()},400),urlTo(_this.data("route_back")),_this.removeClass("show");default:}},jQuery(".wp-block-carousel").length){jQuery("link#swiper").length||jQuery("head").append('');var _sc=jQuery(".wp-block-carousel"),Sw=[];tbquire(["swiper"],function(){_sc.each(function(si){var _this=jQuery(this),_eq="swiper-post-"+si;_this.find(".wp-block-gallery>.blocks-gallery-grid").length&&_this.find(".wp-block-gallery").html(_this.find(".wp-block-gallery>.blocks-gallery-grid").html()),_this.find(".wp-block-gallery").removeClass().addClass("swiper-wrapper").find(".blocks-gallery-item,>.wp-block-image").addClass("swiper-slide"),_this.find(".carousel-control.left").replaceWith('
    '),_this.find(".carousel-control.right").replaceWith('
    ');var _ss=_this.find(".carousel"),proportion=_ss.attr("proportion")||.6,style=_ss.attr("style");_ss.addClass(_eq+" new-swiper scale-height").attr("style","--scale-height:"+proportion*100+"%;"),_this.attr("style",style);var delay=~~_ss.attr("data-interval")||6e3,loop=_ss.attr("data-jyloop")||!1,effect=_ss.attr("data-effect")||"slide",speed=~~((_ss.width()+1200)/250)*100;Sw["swiper_wz_"+si]=new Swiper(".wp-block-carousel ."+_eq,{spaceBetween:10,speed,loop,effect,autoplay:{delay,disableOnInteraction:!1},pagination:{el:"."+_eq+" .swiper-pagination",clickable:!0},navigation:{nextEl:"."+_eq+" .swiper-button-next",prevEl:"."+_eq+" .swiper-button-prev"}})})})}_win.bd.on("show.bs.modal loaded.bs.modal",".modal:not(.flex)",function(){var o=jQuery(this),i=o.find(".modal-dialog");o.css("display","block"),i.css({"margin-top":Math.max(0,(_hei-i.height())/2)})}),_win.bd.on("show.bs.modal loaded.bs.modal",".modal",function(){auto_fun()}),_win.modal_z_index=1050,_win.bd.on("show.bs.modal",".modal",function(){_win.modal_z_index++,jQuery(".modal.in").addClass("modal-parent"),jQuery(this).css("z-index",_win.modal_z_index).removeClass("modal-parent")}),_win.bd.on("hide.bs.modal",".modal",function(){jQuery(".modal.modal-parent").removeClass("modal-parent")}),_win.bd.on("click",".oauth-untying",function(){if(confirm(aksrt__("confirm_unbind"))==!0){var _this=jQuery(this),data={action:"user_oauth_untying",user_id:_this.attr("user-id"),type:_this.attr("untying-type"),_wpnonce:_this.attr("_wpnonce")};return aksrt_ajax(_this,data),!1}}),_win.bd.on("click",".medal-add-link",function(){if(confirm(aksrt__("confirm_grant_badge"))==!0)return aksrt_ajax(jQuery(this)),!1}),_win.bd.on("click",".medal-remove-link",function(){if(window.confirm(aksrt__("confirm_revoke_badge")))return aksrt_ajax(jQuery(this)),!1}),_win.bd.on("click","[tab-id]",function(e){var tab=jQuery(this).attr("tab-id");if(tab){var _tab=jQuery('a[data-target="#'+tab+'"]');_tab.length||(_tab=jQuery('a[href="#'+tab+'"]')),_tab.length&&(e.preventDefault(),_tab.tab("show"))}}),_win.bd.on("click",'[data-toggle="RefreshModal"]',function(e){e.preventDefault();var _this=jQuery(this),remote=_this.attr("data-remote");if(!remote){var action=_this.attr("data-action");action&&(remote=_win.ajax_url+"?action="+action)}return refresh_modal({class:_this.attr("data-class")||"",height:_this.attr("data-height")||300,mobile_from_bottom:!!_this.attr("mobile-bottom"),new:_this.attr("new"),touch_close:!_this.attr("no-touch"),remote}),!1});function refresh_modal(_config){_config.mobile_from_bottom=typeof _config.mobile_from_bottom>"u"?!0:_config.mobile_from_bottom;var id="refresh_modal",is_new=_config.new,dataclass=_config.class||"",height=_config.height||200,mobile_bottom=_config.mobile_from_bottom&&_wid<769?" bottom":"",touch_close=typeof _config.touch_close>"u"?!0:_config.touch_close,modal_class="modal flex jc fade"+mobile_bottom,remote=_config.remote||"",content=_config.content||"";dataclass+=" modal-dialog",id+=is_new?parseInt((Math.random()+1)*Math.pow(10,4)):"";var _id="#"+id,_modal=jQuery(_id);if(_modal.length){var is_in=_modal.hasClass("in");is_in&&(modal_class+=" in");var $modal_content=_modal.find(".modal-content");_modal.removeClass().addClass(modal_class),_modal.find(".modal-dialog").removeClass().addClass(dataclass),_modal.find(".loading-mask").fadeIn(200),_modal.find(".modal-body").fadeOut(200),$modal_content.css({overflow:"hidden",height:is_in?$modal_content.height():100}).animate({height})}else{var modal_html='',loading='
    ';_win.bd.append(modal_html),_modal=jQuery(_id),_modal.on("hidden.bs.modal",function(){is_new?jQuery(this).remove():jQuery(this).find(".modal-content").html(loading)}),_modal.find(".modal-content").html(loading).css({height,overflow:"hidden"}),_wid<769&&_modal.minitouch({direction:"bottom",selector:".modal-dialog",start_selector:".modal-colorful-header,.touch-close,.touch",onEnd:function(){_modal.modal("hide")},stop:function(){return!_modal.hasClass("bottom")}})}_modal.find(".touch-close").remove(),mobile_bottom&&touch_close&&_modal.find(".modal-dialog").append('
    '),_modal.modal("show"),content?(_modal.find(".modal-body").html(content),_modal_content_open()):remote&&jQuery.post(remote,null,function(data){_modal.find(".modal-body").html(data),setTimeout(function(){_modal.trigger("loaded.bs.modal")},20),_modal_content_open()});function _modal_content_open(){_modal.find(".modal-body").fadeIn(50,function(){var b_height=jQuery(this).outerHeight(!0);_modal.find(".loading-mask").fadeOut(300),_modal.find(".modal-content").animate({height:b_height},300,"swing",function(){_modal.find(".modal-content").css({height:"",overflow:"",transition:""})})})}return _modal}window.auto_maxHeight=debounce(z_auto,100);function z_auto(){if(_win.do_hh=document.documentElement.clientHeight,_win.do_hh>document.body.clientHeight){var min_h=_win.do_hh-jQuery(".footer").outerHeight()-jQuery(".header").outerHeight()-20;jQuery("main").animate({"min-height":min_h})}}window.auto_fun=debounce(z_auto_fun,100);function z_auto_fun(){jQuery(document).trigger("auto_fun"),jQuery(".auto-search").AutoSearch(),jQuery(".dependency-box").dependency(),jQuery(".cloneable").cloneable(),jQuery("[data-countdown]").countdown(),auto_maxHeight(),jQuery("img[data-src]:not(.lazyload,.lazyloaded,.lazyloading,.swiper-lazy)").addClass("lazyload"),jQuery("[data-toggle='tooltip']").tooltip({container:"body"}),jQuery("[data-clipboard-text]").length&&tbquire(["clipboard"]),jQuery("[data-toggle='popover']").popover({sanitize:!1}),_wid>768?(jQuery(".fixed-wrap-nav").autoAffix(20,38),jQuery(".relative>.scroll-x.no-scrollbar").scrollX()):jQuery(".affix-header-sm").autoAffix(0,20),_wid>900&&jQuery(".sidebar").sidebarAffix(),new_swiper(),new_dplayer(),tbquire(["svg-icon"],()=>{show_svg()});var _h_e=_win.highlight_kg?"pre code:not(.enlighter-origin)":"pre code.gl:not(.enlighter-origin),pre code.special:not(.enlighter-origin)";jQuery(_h_e).length&&tbquire(["enlighterjs"],function(){var lin=!!_win.highlight_hh;jQuery("link#enlighterjs").length||jQuery("head").append(''),jQuery(_h_e).enlight({linenumbers:lin,indent:2,textOverflow:"scroll",rawcodeDbclick:!0,rawButton:!1,infoButton:!1,windowButton:!1,theme:_win.highlight_zt})}),_win.imgbox&&jQuery(".alone-imgbox-img,a[data-imgbox],.comment-content .box-img,.wp-posts-content img,.imgbox-container").length&&tbquire(["imgbox"])}(function(){var scroll_throttle=throttle(function(){var h=document.documentElement.scrollTop+document.body.scrollTop,ontop=jQuery(".ontop");h>100?_win.bd.addClass("body-scroll"):_win.bd.removeClass("body-scroll"),h>400?ontop.addClass("show"):ontop.removeClass("show")},100);_win.window.scroll(scroll_throttle);var debounce_scroll_end=debounce(function(){jQuery("[data-toggle='tooltip']").tooltip("hide")},500,!0);_win.window.scroll(debounce_scroll_end);var debounce_scrolling_hide=debounce(function(){_win.bd.addClass("scroll-ing")},500,!0),debounce_scrolling_hide_end=debounce(function(){_win.bd.removeClass("scroll-ing")},500);jQuery(".scrolling-hide").length&&_win.window.scroll(debounce_scrolling_hide).scroll(debounce_scrolling_hide_end);var _last_scroll_top=0,debounce_scroll_down=debounce(function(){var _scroll_top=document.documentElement.scrollTop+document.body.scrollTop;_last_scroll_top>100&&_scroll_top>_last_scroll_top?_win.auto_scroll||_win.bd.removeClass("scroll-up").addClass("scroll-down"):(!_win.auto_scroll||_last_scroll_top<=100)&&_win.bd.removeClass("scroll-down").addClass("scroll-up"),_last_scroll_top=_scroll_top},10,!0);jQuery(".scroll-down-hide").length&&_win.window.scroll(debounce_scroll_down)})();function scrollTopTo(element,offset){var scrollTop=0,body=jQuery("body,html"),duration=duration||300;if(offset=offset||0,element){var target=element instanceof jQuery?element:jQuery(element);scrollTop=target.length?target.offset().top+offset-(body.hasClass("nav-fixed")?jQuery(".header").innerHeight()+20:0):0}Math.abs(scrollTop-body.scrollTop())<80||(_win.auto_scroll=!0,body.animate({scrollTop},duration,"swing",function(){setTimeout(function(){_win.auto_scroll=!1},20)}))}_win.bd.on("click",".toggle-radius,.float-right a,.but-ripple,.but,.item-thumbnail,.menu-item >a,.yiyan-box,.relates-thumb li a",function(e){var _th=jQuery(this);if(!_th.hasClass("nowave")&&!_th.hasClass("is-disabled")){_th.css({overflow:"hidden",position:"relative"});var R,waveWidth=~~_th.outerWidth(),waveHeight=~~_th.outerHeight();waveWidth").css({display:"block",background:cllor,"border-radius":"50%",position:" absolute","-webkit-transform":"scale(0)",transform:"scale(0)",opacity:".3","-webkit-transition":"all 1.5s cubic-bezier(0.22, 0.61, 0.36, 1)",transition:"all 1.5s cubic-bezier(0.22, 0.61, 0.36, 1)","z-index":"1",overflow:"hidden","pointer-events":"none"});_th.append(wave),wave.css({width:R*2+"px",height:R*2+"px",top:e.pageY-_th.offset().top-R+"px",left:e.pageX-_th.offset().left-R+"px",transform:"scale(1)","-webkit-transform":"scale(1)",opacity:0}),setTimeout(function(){wave.remove()},2e3)}}),jQuery.fn.sidebarAffix=function(){var _this=jQuery(this),_affix=_this.find("[data-affix]"),sidebar_class="sidebar-affix";if(!_affix.length||_this.children("."+sidebar_class).length)return _this;var _body=jQuery("body"),affix_width=_affix.innerWidth(),_header=jQuery(".header");function nav_Height(){return _body.hasClass("nav-fixed")&&(!_header.hasClass("scroll-down-hide")||!_body.hasClass("scroll-down"))?_header.outerHeight(!0):20}var sidebarAffix_con=jQuery('
    ');_this.prepend(sidebarAffix_con);function top_css(){sidebarAffix_con.css({top:nav_Height()})}var last_top=0;return sidebarAffix_con.affix({offset:{top:function(){var new_top=_this.outerHeight(!0)+_this.offset().top-nav_Height();return new_top!==last_top&&sidebarAffix_con.hasClass("affix")&&top_css(),last_top=new_top,new_top},bottom:function(){var _wrap=_this.parent();return document.body.clientHeight-_wrap.outerHeight()-_wrap.offset().top}}}).on("affix-top.bs.affix",function(){sidebarAffix_con.html("")}).on("affix.bs.affix",function(){sidebarAffix_con.find("[data-affix]").length||sidebarAffix_con.append(_this.find("[data-affix]").clone()),top_css()}).find("[lazyload-action]:not(.lazyload)").addClass("lazyload"),sidebarAffix_con.hasClass("affix")&&sidebarAffix_con.trigger("affix.bs.affix"),sidebarAffix_con.hasClass("affix-bottom")&&sidebarAffix_con.trigger("affix-bottom.bs.affix"),_this},jQuery.fn.autoAffix=function(top,bottom){top=~~top,bottom=~~bottom;var _this=jQuery(this);if(_this.data("bs.affix"))return _this;var _body=jQuery("body"),offset_top=~~_this.attr("offset-top"),offset_bottom=~~_this.attr("offset-bottom"),_wrap_attr=_this.attr("data-wrap"),_wrap=_wrap_attr?jQuery(_wrap_attr):_this.parent(),_header=jQuery(".header");function get_nav_Height(){return(_body.hasClass("nav-fixed")&&(!_header.hasClass("scroll-down-hide")||!_body.hasClass("scroll-down"))?_header.outerHeight():0)+top}function remove_clone(){_this.next(".affix-clone").remove()}function top_css(){_this.css({top:get_nav_Height()})}function this_clone(){_this.next(".affix-clone").length||_this.after(_this.clone().removeClass("affix-top affix affix-bottom").addClass("affix-clone").css("opacity","0"))}_wrap.css("min-height",_this.outerHeight()+bottom);var last_top=0;return _this.affix({offset:{top:function(){var new_top=_this.parent().offset().top-get_nav_Height()+offset_top;return new_top!==last_top&&_this.hasClass("affix")&&top_css(),last_top=new_top,new_top},bottom:function(){return document.body.clientHeight-_wrap.outerHeight()-_wrap.offset().top+bottom+offset_bottom}}}).on("affix-top.bs.affix",function(){_this.css({top:"",width:""}),remove_clone()}).on("affix.bs.affix",function(){this_clone(),top_css()}).on("affix-bottom.bs.affix",function(){this_clone()}),_this.hasClass("affix")&&_this.trigger("affix.bs.affix"),_this.hasClass("affix-bottom")&&_this.trigger("affix-bottom.bs.affix"),_this.hasClass("affix-top")&&_this.trigger("affix-top.bs.affix"),_this},_win.bd.on("click",".toggle-theme",function(event){var isDark=jQuery("body").hasClass("dark-theme");if(!document.startViewTransition){toggle();return}const transition=document.startViewTransition(()=>{toggle()}),{clientX,clientY}=event,endRadius=Math.hypot(Math.max(clientX,innerWidth-clientX),Math.max(clientY,innerHeight-clientY)),clipPath=[`circle(0px at ${clientX}px ${clientY}px)`,`circle(${endRadius}px at ${clientX}px ${clientY}px)`];transition.ready.then(()=>{document.documentElement.animate({clipPath:isDark?[...clipPath].reverse():clipPath},{duration:500,easing:isDark?"ease-out":"ease-in",fill:"both",pseudoElement:isDark?"::view-transition-old(root)":"::view-transition-new(root)"})});function toggle(){var highlight_white_zt="enlighter-t-"+_win.highlight_white_zt,highlight_dark_zt="enlighter-t-"+_win.highlight_dark_zt;jQuery("img[switch-src]").each(function(){var _this=jQuery(this),_src=_this.attr("data-src")||_this.attr("src"),_s_src=_this.attr("switch-src");_this.attr("src",_s_src).attr("switch-src",_src).attr("data-src","")}),jQuery("img[white-src],img[dark-src]").each(function(){var _this=jQuery(this),_s_src=isDark?_this.attr("white-src"):_this.attr("dark-src");_s_src&&_this.attr("src",_s_src)});var _enlighter=jQuery(".enlighter-default"),_body=jQuery("body"),_tinymce_body=jQuery("#post_content_ifr").contents().find("body");isDark?(jQuery('meta[name="theme-color"]').attr("content","#FDFCFE"),document.documentElement.classList.remove("dark"),_tinymce_body.removeClass("dark-theme"),_enlighter.removeClass(highlight_dark_zt).addClass(highlight_white_zt),_body.removeClass("dark-theme"),jQuery.cookie("theme_mode","white-theme",{path:"/"})):(jQuery('meta[name="theme-color"]').attr("content","#2F3135"),document.documentElement.classList.add("dark"),_tinymce_body.addClass("dark-theme"),_enlighter.removeClass(highlight_white_zt).addClass(highlight_dark_zt),_body.addClass("dark-theme"),jQuery.cookie("theme_mode","dark-theme",{path:"/"}))}}),_win.bd.on("click","[ajax-action]",function(){var _this=jQuery(this);if(_this.attr("disabled"))return!1;var id=_this.attr("data-id"),action=_this.attr("ajax-action"),_text=_this.find("text");_text=_text.length?_text:_this.siblings("text");var _this_html=_text.html();_this.attr("disabled",!0),_text.html(''),jQuery.ajax({type:"POST",url:_win.ajax_url,dataType:"json",data:{id,action,_wpnonce:_this.attr("data-nonce")},error:function(n){var _msg=aksrt_sprintf("ajax_error",n.status,n.statusText);aksrt_is_fatal_error_response(n.responseText)&&(_msg=aksrt__("ajax_fatal_error")),notyf(_msg,"danger"),_this.attr("disabled",!1),_text.html(_this_html)},success:function(n){if(_this.attr("disabled",!1),!n.data||!n.success)_text.html(_this_html),n.data&&n.data.msg&¬yf(n.data.msg,n.data.ys||"danger");else{if(n=n.data,n.show_modal&&n.modal){var modal_config={class:"modal-mini full-sm",height:330,mobile_from_bottom:!0,touch_close:!0,content:n.modal};n.modal_config&&(modal_config=jQuery.extend(modal_config,n.modal_config)),modal_config.content=n.modal,refresh_modal(modal_config),_text.html(_this_html);return}jQuery('[ajax-action="'+action+'"][data-id="'+id+'"]').each(function(){var _this2=jQuery(this),_text2=_this2.find("text");_text2=_text2.length?_text2:_this2.siblings("text"),_text2.html(n.text||_this_html).addClass("ajaxed"),n.active?_this2.addClass("active").siblings(".active").removeClass("active"):_this2.removeClass("active")})}}})});function throttle(fn,delay){let valid=!0;return function(...args){if(!valid)return!1;valid=!1,setTimeout(function(){fn.apply(this,args),valid=!0},delay)}}function debounce(callback,delay,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||callback.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,delay),callNow&&callback.apply(context,args)}}if(_win.bd.on("input focus","textarea[autoHeight]",function(){var elem=this,border=~~getComputedStyle(elem).getPropertyValue("border-top-width").replace("px","")+~~getComputedStyle(elem).getPropertyValue("border-bottom-width").replace("px",""),max=~~jQuery(elem).attr("maxHeight");elem.style.height="auto",max>elem.scrollHeight?(elem.style.height=elem.scrollHeight+border+"px",elem.style.overflow="hidden"):(elem.style.height=max+"px",elem.style.overflow="auto")}),_win.bd.on("click",".rewards",function(){jQuery("#rewards-popover").modal("show")}),_win.bd.hasClass("search")){var val=jQuery(".search-desc-text .search-key").text();try{var reg=eval("/"+val+"/i");jQuery(".search-tab .item-heading a,.search-tab .item-excerpt,.search-tab .forum-title a,.search-tab .excerpt,#search-tab-user .display-name").each(function(){var $this=jQuery(this);$this.text().search(reg)!=-1&&$this.html($this.html().replace(reg,function(w){return''+w+""}))})}catch(e){}}_win.bd.on("click",".pag-jump .jump-icon",function(){var _input=jQuery(this).siblings(".jump-input");pag_jump_go(_input)}),_win.bd.on("input",".pag-jump .jump-input",debounce(function(){pag_jump(jQuery(this))},200)),_win.bd.on("keydown",".pag-jump .jump-input",function(event){event.keyCode==13&&pag_jump_go(jQuery(this))});function pag_jump(_input){var max=_input.attr("max"),current=_input.attr("current"),val2=~~_input.val();return(!val2||val2<1||val2>max)&&(val2=val2>max?max:"",_input.val(val2)),val2==current?0:val2}function pag_jump_go(_input){var val2=pag_jump(_input);if(val2){var base=_input.attr("base"),url=base.replace("%#%",val2),parent=_input.parent();if(parent.hasClass("ajax-next")){_input.val("");var _ajax_link=parent.clone().removeClass("pag-jump").addClass("hide").attr("href",url);parent.append(_ajax_link),_ajax_link.click(),_ajax_link.remove()}else location.href=url,location.reload}else _input.focus()}jQuery.fn.cloneable=function(){var cloneable_text="cloneable",cloneable_add_e="."+cloneable_text+"-add",cloneable_remove_e="."+cloneable_text+"-remove",cloneable_item_e="."+cloneable_text+"-item";function max_min(_this,max,min){var count=_this.children(cloneable_item_e).length;max&&max<=count?_this.nextAll(cloneable_add_e).hide():_this.nextAll(cloneable_add_e).show(),min&&min>=count?_this.find(cloneable_remove_e).hide():_this.find(cloneable_remove_e).show()}return this.each(function(){var _this=jQuery(this),_item=_this.children(cloneable_item_e),is_on="is-on",click="click",max=_this.data("max")||0,min=_this.data("min")||0;if(max_min(_this,max,min),!(!_item.length||_this.attr(is_on))){var add_item=jQuery(_item[0]).clone(!1);add_item.find("input,textarea").val(""),_this.attr(is_on,!0).on(click,cloneable_remove_e,function(){jQuery(jQuery(this).parents(cloneable_item_e)[0]).remove(),max_min(_this,max,min)}).nextAll(cloneable_add_e).on(click,function(){var _add_item=add_item.clone(!1),count=_this.children(cloneable_item_e).length;_add_item.find("[name]").each(function(){var $this=jQuery(this),name=$this.attr("name");name=="_pseudo"||!name.includes("[0]")||$this.attr("name",$this.attr("name").replace("[0]","["+count+"]"))}),_this.append(_add_item),max_min(_this,max,min)})}})},jQuery.fn.dependency=function(){function _number(val2){return Number(val2)}function checkBoolean(v){switch(v){case!0:case"true":case 1:case"1":return!0;case null:case!1:case"false":case 0:case"0":return!1;default:return v}}function evalCondition(condition,val1,val2){switch(condition){case"==":return checkBoolean(val1)==checkBoolean(val2);case"!=":return checkBoolean(val1)!=checkBoolean(val2);case">=":return _number(val2)>=_number(val1);case"<=":return _number(val2)<=_number(val1);case">":return _number(val2)>_number(val1);case"<":return _number(val2)<_number(val1);case"any":if(jQuery.isArray(val2)){for(let i=val2.length-1;i>=0;i--)if(jQuery.inArray(val2[i],val1.split(","))!==-1)return!0}else if(jQuery.inArray(val2,val1.split(","))!==-1)return!0;return!1;case"not-any":if(jQuery.isArray(val2)){for(let i=val2.length-1;i>=0;i--)if(jQuery.inArray(val2[i],val1.split(","))==-1)return!0}else if(jQuery.inArray(val2,val1.split(","))==-1)return!0;return!1;default:return!1}}return this.each(function(){var $this=jQuery(this),$fields=$this.find("[data-controller]");if($fields.length){var is_on="is-on";$fields.each(function(){var $field=jQuery(this);if(!$field.attr(is_on)){var controllers=$field.attr(is_on,!0).data("controller").split("|"),conditions=$field.data("condition").split("|"),values=$field.data("value").toString().split("|");jQuery.each(controllers,function(index,depend_id){var value=values[index]||"",condition=conditions[index]||conditions[0]||"==";$this.on("change","[name='"+depend_id+"']",function(){var $elem=jQuery(this),_type=$elem.attr("type"),val2=_type=="checkbox"?$elem.is(":checked"):$elem.val(),is_show=evalCondition(condition,value,val2);$field.trigger("controller.change",is_show),is_show?$field.show():$field.hide()})})}})}})},_win.bd.on("click","[data-for]",function(){var _this=jQuery(this),_tt=_this.html(),_for=_this.attr("data-for"),_form=_this.parents("form"),_v=_this.attr("data-value"),multiple=~~_this.attr("data-multiple"),_group=_this.closest("[for-group]"),active_outerHTML=_this.prop("outerHTML");if(_group.length||(_group=_this.parent()),multiple>1){_tt="",active_outerHTML="";var active_array=[],_input="",is_active=_this.hasClass("active");if(is_active)_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').removeClass("active");else{var ii={};if(_group.find('[data-for="'+_for+'"].active').each(function(){ii[jQuery(this).attr("data-value")]=1}),Object.keys(ii).length>=multiple)return notyf(aksrt_sprintf("select_max",multiple),"danger");_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').addClass("active")}_group.find('[data-for="'+_for+'"].active').each(function(){var _this_value=jQuery(this).attr("data-value");active_array.indexOf(_this_value)==-1&&(_tt+=jQuery(this).html(),_input+='',active_array.push(_this_value),active_outerHTML+=jQuery(this).clone().addClass("outerhtml-copy").prop("outerHTML"))}),jQuery.each(active_array,function(index,value){_group.find('[data-for="'+_for+'"][data-value="'+value+'"]').addClass("active")}),_form.find("input[name='"+_for+"[]']").remove(),_form.append(_input)}else _group.find('[data-for="'+_for+'"]').removeClass("active"),_group.find('[data-for="'+_for+'"][data-value="'+_v+'"]').addClass("active"),_form.find("input[name='"+_for+"']").val(_v).trigger("change");_form.find("span[name='"+_for+"']").html(_tt),_form.find("input[name=s]").focus(),_form.find(".active-outerhtml[name='"+_for+"']").html(active_outerHTML)}),_win.bd.on("input","input[limit-min],input[limit-max]",debounce(function(){var _this=jQuery(this),min=Number(_this.attr("limit-min")),max=Number(_this.attr("limit-max")),val2=Number(_this.val()),text,warning_class="limit-warning";_this.next("."+warning_class).length||_this.after('');var _warning=_this.next("."+warning_class);_this.val().length<1?_warning.html("").hide():val2>max?(text=_this.attr("warning-max")||aksrt__("input_max"),_warning.html(text.replace("1$",max)).fadeIn(150)):val2',loading_remind=loading_icon+''+aksrt__("search_loading")+"",is_on="is-on";if(_this.data(is_on))return;function ajax(){var data={},serializeObject=_this.serializeObject();jQuery.each(serializeObject,function(key,val2){data[key]=val2}),_this.find("input[name]").each(function(){var _th=jQuery(this),v=_th.val()||"";data[_th.attr("name")]=v}),_this.addClass(loading),_remind.html(loading_remind),_icon.html(loading_icon),_container.css({height:_container.outerHeight(),overflow:"hidden"}),jQuery.post(ajax_url,data,function(result){var data_html=result.data;data_html&&_container.html('
    '+data_html+"
    ").animate({height:_container.children("."+centent).outerHeight()},200,"swing",function(){_container.css({height:"",overflow:"",transition:""})}),_this.removeClass(loading),_remind.html(result.remind||""),_icon.html(_icon_html),auto_fun()},"json")}function submitted(_input){_input.val().length>=min_length?ajax():_remind.html(min_length_remind)}_this.data(is_on,!0).find(input).on("input",debounce(function(){submitted(jQuery(this))},500)).on("keydown",function(event){event.keyCode==13&&(event.preventDefault(),submitted(jQuery(this)))})})},_win.bd.on("click",".main-search [data-for]",function(){var _placeholder=jQuery(".main-search").find(".scale-placeholder");_placeholder.length&&_placeholder.text(_placeholder.attr("default"))}),_win.bd.on("submit",".main-search form",function(){var _this=jQuery(this),inputs=_this.serializeObject();jQuery.each(inputs,function(k,v){(!v||v=="null")&&k!="s"&&_this.find('input[name="'+k+'"]').remove()})}),_win.bd.on("click",".main-search-btn",function(){var _this=jQuery(this);jQuery(".main-search").addClass("show");var _remote_search=jQuery(".main-search [remote-box]").first();if(_remote_search.length){_remote_search.one("aksrt:remote-loaded",function(){_this.trigger("click")}),_remote_search.trigger("click");return}var _search_form=jQuery(".main-search form");if(_search_form.length){var attr_="search-",obj={type:_this.attr(attr_+"type"),user:_this.attr(attr_+"user"),trem:_this.attr(attr_+"trem")};jQuery.each(obj,function(k,v){if(v){var _k=_search_form.find('input[name="'+k+'"]').val(v),_data_for=_search_form.find('[data-for="'+k+'"][data-value="'+v+'"]').click();if(!_data_for.length&&k=="trem"){var cat_name=_this.attr("trem-name"),_cat_drop=_search_form.find(".cat-drop");cat_name&&_cat_drop.length&&(_cat_drop.append('
  • '+cat_name+"
  • "),_cat_drop.find('[data-value="'+v+'"]').click())}_k.length||_search_form.append('')}});var placeholder=_this.attr(attr_+"placeholder")||_search_form.find(".scale-placeholder").attr("default");_search_form.find(".scale-placeholder").text(placeholder),setTimeout(function(){_search_form.find('[name="s"]').focus()},100)}}),jQuery(".search-page-ajaxpager").length&&(_win.bd.on("click",".page-search-box a.search_keywords",function(){var $this=jQuery(this).clone();return $this.addClass("ajax-next").attr("ajax-replace","true").attr("route","true"),jQuery(".search-page-ajaxpager").append($this),$this.click().remove(),!1}),_win.bd.on("submit",".page-search-box .search-form",function(){var $this=jQuery(this),data=$this.serializeObject(),url=new URL($this.attr("action"));url.search=new URLSearchParams(data).toString();var $link=jQuery('');return jQuery(".search-page-ajaxpager").append($link),$link.click().remove(),!1}));function nav_folding(){var navbar_nav_t=".navbar-nav",sub_menu_t="sub-menu",_collapse=jQuery(".navbar-collapse"),surplus_width=_collapse.width();_collapse.find(">:not("+navbar_nav_t+")").each(function(){surplus_width-=jQuery(this).outerWidth()}),surplus_width-=jQuery(".navbar-header").outerWidth()+40;var navs_width=66,_folding=jQuery('');jQuery(navbar_nav_t+">li").each(function(){navs_width+=jQuery(this).outerWidth(),navs_width>surplus_width&&_folding.find(">."+sub_menu_t).append(jQuery(this))}),_folding.find(">."+sub_menu_t+" li").length&&jQuery(navbar_nav_t).append(_folding)}window.debounce_notyf=debounce(notyf,100,!0);function notyf(str,ys,time,id){jQuery(".notyn").length||_win.bd.append('
    '),ys=ys||"success",ys=="error"&&(ys="danger"),time=time||5e3,time=time<100?time*1e3:time;var id_attr=id?' id="'+id+'"':"",_html=jQuery('
    '+str+"
    "),is_close=!id;id&&jQuery("#"+id).length?(jQuery("#"+id).find(".notyf").removeClass().addClass("notyf "+ys).html(str),_html=jQuery("#"+id),is_close=!0):jQuery(".notyn").append(_html),is_close&&setTimeout(function(){notyf_close(_html)},time)}function notyf_close(_e){_e.addClass("notyn-out"),setTimeout(function(){_e.remove()},1e3)}_win.bd.on("click",".noty1",function(){notyf_close(jQuery(this))}),_win.passw=1,_win.bd.on("click",".passw",function(){var _this=jQuery(this);_win.passw==1?(_this.find(".fa").addClass("fa-eye-slash"),_this.siblings("input").attr("type","text"),_win.passw=2):(_this.find(".fa").removeClass("fa-eye-slash"),_this.siblings("input").attr("type","password"),_win.passw=1)}),_win.bd.on("input change focus",".line-form-input",debounce(function(){placeholder_scale(jQuery(this))},100));function placeholder_scale(_this){var val2=_this.val(),placeholder=_this.siblings(".scale-placeholder");val2.length>0?placeholder.addClass("is-focus"):placeholder.removeClass("is-focus")}function aksrt_is_url(str){try{return new URL(str),!0}catch{return!1}}function is_mail(str){return/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/.test(str)}jQuery.fn.serializeObject=function(){var o={},a=this.serializeArray();return jQuery.each(a,function(){o[this.name]!==void 0?(o[this.name].push||(o[this.name]=[o[this.name]]),o[this.name].push(this.value||"")):o[this.name]=this.value||""}),o},_win.bd.on("click",".trash-history-search",function(){confirm(aksrt__("confirm_clear_search"))==!0&&(jQuery(".history-search").slideUp().delay(1e3,function(){jQuery(this).remove()}),jQuery.cookie("history_search",""))}),_win.bd.on("click",".initiate-checkin",function(){aksrt_ajax(jQuery(this),0,function(data){data.details_link&&jQuery(".initiate-checkin").each(function(){var $link=jQuery(data.details_link),_this=jQuery(this),_class=_this.attr("class"),_text=_this.attr("ed-text");$link.addClass(_class).removeClass("initiate-checkin").html(_text),_this.prop("outerHTML",$link.prop("outerHTML"))})},aksrt__("checkin_loading"))}),_win.bd.on("click",".single-pay-tabbar",function(){scrollTo("#posts-pay",-50),jQuery("#posts-pay .cashier-link").click()}),_win.bd.on("submit","[ajax-submit]",function(){var _this=jQuery(this),but=_this.attr("ajax-submit")||'.wp-ajax-submit,[zibajax="submit"]';return _this.find(but).click(),!1}),_win.bd.on("click",'.wp-ajax-submit,[zibajax="submit"]',function(){var _this=jQuery(this),confirm_text=_this.attr("data-confirm");return confirm_text&&!confirm(confirm_text)||aksrt_ajax(jQuery(this)),!1});function aksrt_ajax(_this,data,success,noty,no_loading){if(_this.attr("disabled"))return!1;if(!data){var _data=_this.attr("form-data");if(_data)try{data=jQuery.parseJSON(_data)}catch{}if(!data){var form=_this.parents("form");data=form.serializeObject()}}var _action=_this.attr("form-action");_action&&(data.action=_action);var _text=_this.html(),_loading=no_loading?_text:''+aksrt__("please_wait")+"";noty!="stop"&¬yf(noty||aksrt__("processing"),"load","","wp_ajax"),_this.attr("disabled",!0).html(_loading);var _url=_this.attr("ajax-href")||_win.ajax_url;jQuery.ajax({type:"POST",url:_url,data,dataType:"json",error:function(n){var _msg=aksrt_sprintf("ajax_error",n.status,n.statusText);aksrt_is_fatal_error_response(n.responseText)&&(_msg=aksrt__("ajax_fatal_error")),console.error("ajax请求错误,错误信息如下:",n),notyf(_msg,"danger","",noty!="stop"?"wp_ajax":""),_this.attr("disabled",!1).html(_text)},success:function(n){var ys=n.ys?n.ys:n.error?"danger":"";noty!="stop"?notyf(n.msg||aksrt__("done"),ys,"","wp_ajax"):n.msg&¬yf(n.msg,ys),_this.attr("disabled",!1).html(_text).trigger("zib_ajax.success",n),jQuery.isFunction(success)&&success(n,_this,data),n.hide_modal&&_this.closest(".modal").modal("hide"),n.reload&&(n.goto?(window.location.href=n.goto,window.location.reload):window.location.reload())}})}_win.bd.on("zib_ajax.success","[next-tab]",function(e,n){var _next=jQuery(this).attr("next-tab");_next&&n&&!n.error&&jQuery('a[href="#'+_next+'"]').tab("show")}),jQuery(".erphp-login-must").each(function(){jQuery(this).addClass("signin-loader")}),_win.window.resize(debounce(function(){_wid=_win.window.width(),auto_fun()},500)),jQuery(".collapse").on("shown.bs.collapse",function(){auto_fun()}),_win.bd.on("click",".read-more-open",function(){jQuery(this).parents(".limit-height").css({height:"","max-height":""}).find(".read-more").remove()});function posts_limit_height(){if(jQuery(".limit-height").length){var r=jQuery(".limit-height");if(r.data("posts-limit-ison"))return;var r_h=r.height(),r_m=r.attr("data-maxheight");if(~~r_h>=~~r_m+79){var nn='';r.append(nn).data("posts-limit-ison",!0)}}}auto_fun(),thumb_dplayer(_wid>640?".posts-item .item-thumbnail,.forum-lists-cover":".posts-item,.forum-posts",".video-thumb-box[video-url]"),jQuery("[load-click]").attr("no-scroll",!0).click(),jQuery(document).on("lazybeforeunveil",function(e){var _this=jQuery(e.target),lazyload_action=_this.attr("lazyload-action");setTimeout(function(){if(lazyload_action==="ias")if(_this.attr("remote-box"))_this.click();else{var _a=_this.is(".ajax-next,.ias-btn")?_this:_this.find(".ajax-next,.ias-btn");_a.attr("no-scroll",!0).click()}if(lazyload_action=="animated"){var animated=_this.attr("data-animated");animated&&_this.addClass("animated "+animated).css("visibility","unset")}},200);var bg=_this.attr("data-bg");bg&&_this.css("background-image","url("+bg+")")});function fps_yh(){var lastTime=0,frames=0,fps=0,fps_average=0,currentTime,stop=0;function updateFPS(){currentTime=performance.now(),frames++,currentTime-lastTime>=300&&(fps=Math.round(frames*1e3/(currentTime-lastTime)),frames=0,lastTime=currentTime,fps>5&&lastTime>1600&&(fps_average=fps_average||fps,fps_average=(fps_average+fps)/2,fps_average<20&&stop++,stop>5&&jQuery("body").addClass("fps-accelerat"))),stop<=5&&lastTime<15e3?requestAnimationFrame(updateFPS):setCookie()}function setCookie(){jQuery.cookie("fps_accelerat",~~fps_average,{path:"/",expires:604800})}requestAnimationFrame(updateFPS)}!jQuery.cookie("fps_accelerat")&&!jQuery("body").hasClass("fps-accelerat")&&fps_yh();function partners_scroll_init(){function init(widget){if(!(!widget||widget.dataset.zpsReady==="1")){var speed=parseFloat(widget.style.getPropertyValue("--zps-speed"))||3,rows=widget.querySelectorAll("[data-zps-row]");rows.forEach(function(row){var track=row.querySelector("[data-zps-track]");if(track){var seed=track.querySelector(".zps-group");if(seed){var setup=function(){var extras=track.querySelectorAll(".zps-group.zps-clone");extras.forEach(function(el){el.remove()});var groupWidth=seed.scrollWidth;if(!(groupWidth<10)){var rowWidth=row.clientWidth||widget.clientWidth||window.innerWidth,needTotal=Math.max(groupWidth*2,rowWidth+groupWidth),copies=Math.ceil(needTotal/groupWidth);copies<2&&(copies=2);for(var i=1;i0)){pending++;var done=function(){pending--,pending<=0&&setup()};img.addEventListener("load",done,{once:!0}),img.addEventListener("error",done,{once:!0})}});var resizeTimer;window.addEventListener("resize",function(){clearTimeout(resizeTimer),resizeTimer=setTimeout(setup,200)})}}}),widget.dataset.zpsReady="1"}}function initAll(){document.querySelectorAll(".zib-partners-scroll").forEach(init)}initAll()}function translate_init(){var translate_config=_win.translate_config;translate_config.s&&tbquire(["translate"],function(){translate.selectLanguageTag.show=!1,translate.language.setLocal(translate_config.local||"chinese_simplified"),translate_config.service_url&&translate.request.setHost(translate_config.service_url),translate_config.ignore_text&&(translate.ignore.text=translate_config.ignore_text),translate_config.nomenclature&&translate_config.nomenclature.length>0&&jQuery.each(translate_config.nomenclature,function(index,item){var from=item.from,to=item.to,value=item.value;from=="auto"&&(from=""),value&&to&&translate.nomenclature.append(from,to,value)}),translate_config.auto_discriminate_local&&translate.setAutoDiscriminateLocalLanguage(),translate_config.range&&translate_config.range.length>0&&(translate.language.translateLanguagesRange=translate_config.range),translate_config.loading&&translate.progress.api.startUITip();var $language_dropdown=jQuery(".language-dropdown .dropdown-menu"),translateStart=debounce(function(){jQuery("[data-language]").removeClass("active"),$language_dropdown.loading("show")},400,!0);translate.lifecycle.changeLanguage.trigger.push(translateStart);var renderFinish=debounce(function(uuid){$language_dropdown.loading("hide"),jQuery("[data-language='"+uuid.to+"']").addClass("active")},400);translate.lifecycle.execute.finally.push(renderFinish),_wid>996&&jQuery(".navbar-top .nav>li>a>.menu-item-title").each(function(){var _this=jQuery(this);_this.css({"max-width":~~_this.outerWidth(!0)+5+"px"})}),translate.ignore.class.push("translate-ignore"),translate.ignore.tag.push("svg"),translate.service.use(translate_config.service_use||"client.edge"),translate.listener.start(),translate.execute()})}_win.bd.on("click",".translate-button",function(){var _this=jQuery(this),language=_this.attr("data-language");translate&&translate.changeLanguage(language)}),(function(){var SELECTOR_class="obs-animate",SELECTOR="."+SELECTOR_class,BASE_CLS="in-view",OBS_FLAG="__zaniObserved",REPEAT_CLS="obs-animate-repeat",noAnim=!("IntersectionObserver"in window)||window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(noAnim){removeAnimation(SELECTOR);return}var rootMargin="100px 0px 0px 0px",c_i=0;function execute(entries){c_i=0;for(var isIntersecting_count=0,j=0;j8&&(delay=delay/(isIntersecting_count/8)),$el.css("transition-delay",delay+"s"),$el.addClass(BASE_CLS),c_i++,is_repeat||stop(el)}else is_repeat&&$el.removeClass(BASE_CLS)}}var io=new IntersectionObserver(execute,{root:null,rootMargin,threshold:.01});function stop(el){!el||el.nodeType!==1||!el[OBS_FLAG]||(el[OBS_FLAG]=!1,io.unobserve(el),setTimeout(function(){removeAnimation(el)},50))}function removeAnimation(el){var animation=jQuery(el).attr("data-animation"),animation_class="ani-"+animation;jQuery(el).removeClass(BASE_CLS+" "+SELECTOR_class+" "+animation_class+" "+REPEAT_CLS).removeAttr("data-animation").removeAttr("data-animation-repeat").css("transition-delay","")}function register(el){!el||el.nodeType!==1||el[OBS_FLAG]||(el[OBS_FLAG]=!0,io.observe(el))}function scan(){jQuery(SELECTOR).each(function(){register(this)})}scan()})();function number_stats_init(){function animateCount(el,duration){var target=parseFloat(el.getAttribute("data-target"))||0;if(target===0){el.textContent="0";return}var raw=el.getAttribute("data-target")||"0",decimals=(raw.split(".")[1]||"").length,_duration=~~el.getAttribute("data-duration");duration=_duration>10?_duration:duration;var start=0,startTs=null;duration=duration||1500;function step(ts){startTs||(startTs=ts);var progress=Math.min((ts-startTs)/duration,1),eased=1-Math.pow(1-progress,1.5),value=start+(target-start)*eased;el.textContent=decimals>0?value.toFixed(decimals):Math.floor(value).toString(),progress<1?requestAnimationFrame(step):el.textContent=decimals>0?target.toFixed(decimals):target.toString()}requestAnimationFrame(step)}var wraps=document.querySelectorAll(".stat-number-wrap");if(wraps.length){if(!("IntersectionObserver"in window)){wraps.forEach(function(wrap){wrap.querySelectorAll(".stat-number").forEach(function(el){el.textContent=el.getAttribute("data-target")||""})});return}var io=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){var wrap=entry.target;wrap.dataset.counted!=="1"&&(wrap.dataset.counted="1",wrap.querySelectorAll(".stat-number").forEach(function(el){animateCount(el,1500)}),io.unobserve(wrap))}})},{threshold:.3});wraps.forEach(function(wrap){io.observe(wrap)})}}_win.bd.on("click",".produck-wid-feature-intro .fi-tab",function(){var _this=jQuery(this);if(!_this.hasClass("is-active")){_this.addClass("is-active"),_this.siblings().removeClass("is-active");var panels=_this.closest(".produck-wid-feature-intro").find(".fi-panel");panels.removeClass("is-active"),panels.eq(_this.index()).addClass("is-active")}});function tilt_cases_init(){function isTouchOrMobile(){var isTouch="ontouchstart"in window||navigator.maxTouchPoints&&navigator.maxTouchPoints>0,isSmall=window.matchMedia&&window.matchMedia("(max-width: 768px)").matches;return isTouch||isSmall}if(isTouchOrMobile())return;var cases=jQuery(".vanilla-tilt:not(.is-initialized)");if(!cases.length)return;function setTranslate3d(imgs,translate3d){var transform=imgs[0].style.transform;transform.includes("translate3d")&&(transform=transform.replace(/translate3d\(.*?\)/g,"").trim()),transform=transform+" "+translate3d,imgs.css("transform",transform)}tbquire(["tilt"],function(){cases.each(function(){var _this=jQuery(this),imgs=_this.find("img"),maxTilt=parseFloat(_this.attr("data-tilt-max"))||10,n=imgs.length,gain=1.22,hoverZone=_this.closest(".tilt-cases-container")||_this,mes=_this.data("tilt-mouse-event-element");if(mes){_this.removeAttr("data-tilt-mouse-event-element");var elZone=_this.closest(mes);hoverZone=elZone.length?elZone:hoverZone}var opt={};hoverZone.length&&(opt["mouse-event-element"]=hoverZone[0]),_this.addClass("is-initialized"),VanillaTilt.init(this,opt),!(n<=1)&&(this.addEventListener("tiltChange",function(e){var detail=e.detail||{},tx=parseFloat(detail.tiltX)||0,ty=parseFloat(detail.tiltY)||0;imgs.each(function(i){var $img=jQuery(this),base=parseFloat($img.attr("data-tilt-depth"));if(isNaN(base)&&(base=20),base===0){setTranslate3d($img,"translate3d(0,0,0)");return}var layerMul=1;n>1&&(layerMul=.48+i/(n-1)*1.14);var effective=base*gain*layerMul,dx=tx/maxTilt*effective*-1,dy=ty/maxTilt*effective;setTranslate3d($img,"translate3d("+dx+"px, "+dy+"px, 0)")})}),hoverZone&&hoverZone.on("mouseleave",function(){imgs.each(function(){setTranslate3d(jQuery(this),"translate3d(0,0,0)")})}))})})}_win.bd.on("click",".customize-preview-widget-edit",function(e){if(!(!wp||!wp.customize||!wp.customize.widgetsPreview)){var _this=jQuery(this),box=_this.closest(".customize-preview-widget-box");e.preventDefault(),wp.customize.widgetsPreview.preview.send("focus-widget-control",box.prop("id"))}}),jQuery(document).ready(function(){if(setTimeout(function(){jQuery(".line-form-input").each(function(){placeholder_scale(jQuery(this))}),_win.views&&jQuery.post(_win.ajax_url,{action:"views_record",id:_win.views}),posts_limit_height(),_win.window.trigger("scroll")},1e3),number_stats_init(),translate_init(),partners_scroll_init(),tilt_cases_init(),jQuery(".navbar-top li.menu-item-has-children>a").each(function(){jQuery(this).append('')}),_wid>996&&jQuery(".header").height()>81&&nav_folding(),posts_limit_height(),auto_maxHeight(),jQuery(".feature").length){var _feh=0,_fehm=0;jQuery(".feature").each(function(){var _th=jQuery(this);(_feh=_th.find(".feature-icon").innerHeight()+_th.find(".feature-title").innerHeight()+_th.find(".feature-note").innerHeight())>_fehm&&(_fehm=_feh)}),jQuery(".feature").css("height",_fehm)}jQuery(".qrcode").length&&tbquire(["qrcode"],function(){jQuery(".qrcode").each(function(){var _this=jQuery(this),text=_this.attr("data-qrcode"),size=_this.attr("data-size")||160;_this.qrcode({width:size,height:size,correctLevel:0,text:text||document.URL,background:"#fff",foreground:"#333"})})}),jQuery(document).on("lazyloaded",function(e){var _this=jQuery(e.target);swiper_tab_AutoHeight(_this)}),jQuery(document).on("lazyloaded",".gradient-bg img",function(e){var _this=jQuery(e.target),_parent=_this.closest(".gradient-bg"),opacity=_parent.attr("data-opacity"),c_11=opacity?"a":"",c_12=opacity?","+opacity:"";tbquire(["grade"],function(){Grade(_parent[0],null,function(gradientData){gradientData=gradientData[0];var rgba=gradientData.gradientData,c_1="rgb"+c_11+"("+rgba[0].rgba.slice(0,3).join(",")+c_12+") 10%",c_2="rgb"+c_11+"("+rgba[1].rgba.slice(0,3).join(",")+c_12+") 80%";jQuery(gradientData.element).addClass("gradient-bg-loaded").css("background-image","linear-gradient(135deg, "+c_1+", "+c_2+")")})})}),_win.qj_loading&&jQuery(".qj_loading").fadeOut(500).delay(1e3,function(){jQuery(this).remove(),jQuery("#qj_dh_css").remove()});function yiyan_nr(n){var yylink=_win.uri+"/yiyan/qv-yiyan.php",y_nr;jQuery.ajax({type:"POST",url:yylink}).done(function(i){var lines=i.replace(/\r\n|\r/g,"/&/").trim().split("/&/");if(lines){var type=n.attr("type");type?y_nr=type==="en"?lines[0]:lines[1]:y_nr='
    '+lines[0]+'
    '+lines[1]+"
    ",n.html(y_nr)}})}jQuery(".yiyan").each(function(){yiyan_nr(jQuery(this))}),setInterval(function(){jQuery(".yiyan").each(function(){yiyan_nr(jQuery(this))})},3e4),jQuery(".yiyan").on("click",function(){yiyan_nr(jQuery(this))}),jQuery("[mini-touch]").each(function(){var _this=jQuery(this),fx=_this.attr("touch-direction");_this.minitouch({direction:fx,onEnd:function(e){_this.attr("mini-touch")==="mobile-nav"?jQuery("body").removeClass("mobile-navbar-show"):e.removeClass("show")}})})}); diff --git a/assets/js/yiyan.js b/assets/js/yiyan.js index 535e80be..9eaa0634 100644 --- a/assets/js/yiyan.js +++ b/assets/js/yiyan.js @@ -1,255 +1,85 @@ /** - * AKSRT Yiyan — 一言轮播组件 - * - * Fetches random quotes from hitokoto.cn API and auto-rotates. - * Public v1 returns one sentence per request; multi-quote carousels - * issue parallel fetches. Category `c` must be a letter a–l (or omitted). + * Bilingual quote switcher, matching the reference theme's local quote file. * * @package AKSRT */ - (function () { 'use strict'; - var API_BASE = 'https://v1.hitokoto.cn/'; - var TYPE_RE = /^[a-l]$/i; - var MIN_COUNT = 1; - var MAX_COUNT = 10; - var DEFAULT_COUNT = 5; - var DEFAULT_INTERVAL_SEC = 5; + var REFRESH_MS = 30000; - function normalizeType(raw) { - if (raw == null || raw === '') { - return ''; - } - var t = String(raw).trim().toLowerCase(); - return TYPE_RE.test(t) ? t : ''; - } + function updateQuote(el) { + if (el.dataset.loading === '1') return; + el.dataset.loading = '1'; - function normalizeCount(raw) { - var n = parseInt(raw, 10); - if (isNaN(n) || n < MIN_COUNT) { - return DEFAULT_COUNT; - } - return Math.min(MAX_COUNT, n); - } + fetch(el.dataset.endpoint, { + method: 'POST', + credentials: 'same-origin', + headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }, + body: 'action=aksrt_yiyan', + }) + .then(function (response) { + if (!response.ok) throw new Error('HTTP ' + response.status); + return response.json(); + }) + .then(function (response) { + var quote = response && response.success && response.data; + if (!quote || !quote.cn || !quote.en) throw new Error('empty quote'); - function normalizeIntervalMs(raw) { - var sec = parseInt(raw, 10); - if (isNaN(sec) || sec < 3) { - sec = DEFAULT_INTERVAL_SEC; - } - return Math.min(60, sec) * 1000; - } - - function buildApiUrl(type) { - var params = new URLSearchParams(); - params.set('encode', 'json'); - if (type) { - params.set('c', type); - } - return API_BASE + '?' + params.toString(); - } - - function mapQuote(data) { - if (!data || typeof data !== 'object') { - return null; - } - var text = data.hitokoto || data.text || ''; - if (!text) { - return null; - } - return { - text: String(text), - from: data.from ? String(data.from) : '', - }; - } - - function ensureStructure(el) { - var textEl = el.querySelector('.aksrt-yiyan__text'); - if (textEl) { - return { - textEl: textEl, - fromEl: el.querySelector('.aksrt-yiyan__from'), - dotsEl: el.querySelector('.aksrt-yiyan__dots'), - }; - } - - var content = document.createElement('div'); - content.className = 'aksrt-yiyan__content'; - - textEl = document.createElement('p'); - textEl.className = 'aksrt-yiyan__text'; - textEl.textContent = '加载中…'; - content.appendChild(textEl); - - var fromEl = document.createElement('p'); - fromEl.className = 'aksrt-yiyan__from'; - content.appendChild(fromEl); - - el.appendChild(content); - - var dotsEl = document.createElement('div'); - dotsEl.className = 'aksrt-yiyan__dots'; - dotsEl.setAttribute('aria-hidden', 'true'); - el.appendChild(dotsEl); - - return { textEl: textEl, fromEl: fromEl, dotsEl: dotsEl }; - } - - function fetchOneQuote(type) { - return fetch(buildApiUrl(type), { - credentials: 'omit', - mode: 'cors', - }).then(function (r) { - return r - .json() - .catch(function () { - return null; - }) - .then(function (data) { - if (!r.ok) { - var msg = - data && data.message - ? String(data.message) - : 'HTTP ' + r.status; - throw new Error(msg); - } - var quote = mapQuote(data); - if (!quote) { - throw new Error('empty'); - } - return quote; - }); - }); - } - - function fetchQuotes(type, count) { - var jobs = []; - var i; - for (i = 0; i < count; i += 1) { - jobs.push( - fetchOneQuote(type).catch(function () { - return null; - }) - ); - } - return Promise.all(jobs).then(function (results) { - var quotes = []; - var seen = Object.create(null); - results.forEach(function (q) { - if (!q || !q.text) { - return; - } - // Dedupe identical text from parallel random draws. - if (seen[q.text]) { - return; - } - seen[q.text] = 1; - quotes.push(q); - }); - return quotes; - }); - } - - function initYiyan(el) { - if (el.dataset.yiyanBound) { - return; - } - el.dataset.yiyanBound = '1'; - - var count = normalizeCount(el.dataset.count); - var interval = normalizeIntervalMs(el.dataset.interval); - var type = normalizeType(el.dataset.type); - var parts = ensureStructure(el); - var textEl = parts.textEl; - var fromEl = parts.fromEl; - var dotsEl = parts.dotsEl; - var quotes = []; - var currentIndex = 0; - var timer = null; - - function showQuote(index) { - if (!quotes.length || !textEl) { - return; - } - var q = quotes[index % quotes.length]; - textEl.style.opacity = '0'; - setTimeout(function () { - textEl.textContent = '"' + q.text + '"'; - textEl.style.opacity = '1'; - if (fromEl) { - fromEl.textContent = q.from ? '—— ' + q.from : ''; - } - }, 200); - - if (dotsEl) { - dotsEl.querySelectorAll('.aksrt-yiyan__dot').forEach(function (dot, i) { - dot.classList.toggle('is-active', i === index % quotes.length); - }); - } - } - - function nextQuote() { - if (quotes.length < 2) { - return; - } - currentIndex = (currentIndex + 1) % quotes.length; - showQuote(currentIndex); - } - - function startTimer() { - if (timer) { - clearInterval(timer); - timer = null; - } - if (quotes.length > 1) { - timer = setInterval(nextQuote, interval); - } - } - - function buildDots() { - if (!dotsEl || quotes.length < 2) { - if (dotsEl) { - dotsEl.innerHTML = ''; - } - return; - } - dotsEl.innerHTML = ''; - quotes.forEach(function (_, i) { - var dot = document.createElement('span'); - dot.className = 'aksrt-yiyan__dot' + (i === 0 ? ' is-active' : ''); - dotsEl.appendChild(dot); - }); - } - - el.addEventListener('mouseenter', function () { - if (timer) { - clearInterval(timer); - timer = null; - } - }); - el.addEventListener('mouseleave', function () { - startTimer(); - }); - - fetchQuotes(type, count) - .then(function (list) { - quotes = list; - if (!quotes.length) { - textEl.textContent = '暂无内容'; - return; - } - buildDots(); - showQuote(0); - startTimer(); + var cn = el.querySelector('.cn'); + var en = el.querySelector('.en'); + if (cn) cn.textContent = quote.cn; + if (en) en.textContent = quote.en; + el.classList.remove('is-loading'); + el.classList.remove('is-error'); + el.classList.add('is-ready'); }) .catch(function () { - textEl.textContent = '加载失败,请稍后再试'; + el.classList.remove('is-loading'); + el.classList.add('is-error'); + var cn = el.querySelector('.cn'); + if (cn && !el.classList.contains('is-ready')) cn.textContent = '加载失败,点击重试'; + }) + .finally(function () { + delete el.dataset.loading; }); } - jQuery(document).off('auto_fun.aksrt-yiyan').on('auto_fun.aksrt-yiyan', function () { - document.querySelectorAll('[data-aksrt-yiyan]').forEach(initYiyan); - }); + function init(root) { + var scope = root || document; + var elements = []; + if (scope.matches && scope.matches('[data-aksrt-yiyan]')) elements.push(scope); + if (scope.querySelectorAll) elements = elements.concat(Array.prototype.slice.call(scope.querySelectorAll('[data-aksrt-yiyan]'))); + elements.forEach(function (el) { + if (el.dataset.yiyanBound) return; + el.dataset.yiyanBound = '1'; + + el.addEventListener('click', function () { + updateQuote(el); + }); + el.addEventListener('keydown', function (event) { + if (event.key === 'Enter' || event.key === ' ') { + event.preventDefault(); + updateQuote(el); + } + }); + updateQuote(el); + window.setInterval(function () { + if (!document.hidden) updateQuote(el); + }, REFRESH_MS); + }); + } + + window.AksrtYiyan = { init: init }; + + if (window.jQuery) { + window.jQuery(document).off('auto_fun.aksrt-yiyan').on('auto_fun.aksrt-yiyan', function () { + init(document); + }); + } + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', init, { once: true }); + } else { + init(); + } })(); diff --git a/assets/widgets/admin-core.js b/assets/widgets/admin-core.js index 4023fac7..e8d4f7f6 100644 --- a/assets/widgets/admin-core.js +++ b/assets/widgets/admin-core.js @@ -48,9 +48,17 @@ }); } + function resolveWidgetNumber(inputName, widgetId, fallback) { + var inputMatch = String(inputName || '').match(/\[(\d+)\]/); + var idMatch = String(widgetId || '').match(/-(\d+)$/); + var number = inputMatch ? inputMatch[1] : (idMatch ? idMatch[1] : String(fallback || '')); + return /^\d+$/.test(number) && Number(number) > 0 ? number : ''; + } + return { parseDependency: parseDependency, dependencyVisible: dependencyVisible, - replaceRepeaterIndexes: replaceRepeaterIndexes + replaceRepeaterIndexes: replaceRepeaterIndexes, + resolveWidgetNumber: resolveWidgetNumber }; }); diff --git a/assets/widgets/admin.css b/assets/widgets/admin.css index f95c8c17..3b9354b9 100644 --- a/assets/widgets/admin.css +++ b/assets/widgets/admin.css @@ -1,13 +1,15 @@ .aksrt-widget-form { --aksrt-field-border: #dcdcde; - --aksrt-field-accent: #2271b1; + --aksrt-field-accent: #0991f5; display: grid; - gap: 14px; - padding: 4px 0 10px; + gap: 0; + padding: 0 0 8px; } .aksrt-widget-field { min-width: 0; + padding: 11px 0; + border-bottom: 1px solid #eee; } .aksrt-widget-field[hidden] { @@ -18,12 +20,27 @@ display: block; margin-bottom: 6px; font-weight: 600; + color: #0991f5; } +.customize-control-widget_form .aksrt-widget-field__label { color: inherit; } + .aksrt-widget-field .description { margin: -2px 0 7px; + font-size: 12px; } +.aksrt-widget-field--switcher { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + align-items: center; + column-gap: 12px; +} + +.aksrt-widget-field--switcher .aksrt-widget-field__label { margin: 0; } +.aksrt-widget-field--switcher .description { grid-column: 1 / -1; grid-row: 2; } +.aksrt-widget-field--switcher > .aksrt-widget-switch { grid-column: 2; grid-row: 1; } + .aksrt-widget-switch { display: inline-flex; cursor: pointer; @@ -70,12 +87,12 @@ opacity: 0; } -.aksrt-widget-choices label span { +.aksrt-widget-choices label > span { display: block; - padding: 5px 9px; + padding: 5px 10px; border: 1px solid var(--aksrt-field-border); - border-radius: 5px; - background: #fff; + border-radius: 4px; + background: #f7f8fa; cursor: pointer; } @@ -85,6 +102,14 @@ box-shadow: 0 0 0 1px var(--aksrt-field-accent); } +.aksrt-widget-choices label input:focus-visible + span { outline: 2px solid #72aee6; outline-offset: 2px; } + +.aksrt-widget-choices--palette { display: grid; grid-template-columns: repeat(auto-fill, minmax(46px, 1fr)); gap: 5px; } +.aksrt-widget-choices--palette label > span { padding: 4px; text-align: center; } +.aksrt-widget-palette-choice { display: grid; justify-items: center; gap: 3px; } +.aksrt-widget-palette-choice i { display: block; width: 100%; height: 18px; border: 1px solid rgba(0, 0, 0, .12); border-radius: 3px; } +.aksrt-widget-palette-choice small { font-size: 10px; line-height: 1.2; } + .aksrt-widget-number, .aksrt-widget-link, .aksrt-widget-background { @@ -130,7 +155,7 @@ .aksrt-widget-nested { margin-bottom: 9px; border: 1px solid var(--aksrt-field-border); - border-radius: 6px; + border-radius: 4px; background: #fff; } @@ -140,15 +165,42 @@ gap: 7px; padding: 8px 10px; border-bottom: 1px solid var(--aksrt-field-border); - background: #f6f7f7; + background: #f9fafc; } +.aksrt-widget-repeater__bar::-webkit-details-marker { display: none; } +.aksrt-widget-repeater__bar { list-style: none; cursor: pointer; } +.aksrt-widget-repeater__bar::after { content: "\f140"; margin-left: auto; font: 20px/1 dashicons; color: #646970; } +.aksrt-widget-repeater__row[open] > .aksrt-widget-repeater__bar::after { content: "\f142"; } .aksrt-widget-repeater__bar .dashicons { cursor: move; } .aksrt-widget-repeater__bar strong { flex: 1; } +.aksrt-widget-repeater__remove:disabled { visibility: hidden; } +.aksrt-widget-repeater__add:disabled { opacity: .55; cursor: not-allowed; } .aksrt-widget-repeater__fields, .aksrt-widget-nested__body { display: grid; gap: 12px; padding: 10px; } .aksrt-widget-nested > summary { padding: 9px 10px; font-weight: 600; cursor: pointer; } +.aksrt-widget-form input[type="text"], +.aksrt-widget-form input[type="url"], +.aksrt-widget-form input[type="number"], +.aksrt-widget-form select, +.aksrt-widget-form textarea { + min-height: 32px; + border-color: #d5d8dc; + border-radius: 3px; + box-shadow: none; +} + +.aksrt-widget-form input:focus, +.aksrt-widget-form select:focus, +.aksrt-widget-form textarea:focus { + border-color: #0991f5; + box-shadow: 0 0 0 1px #0991f5; +} + +.aksrt-widget-form .button { min-height: 32px; line-height: 30px; border-radius: 3px; } +.aksrt-widget-form .button-primary { background: #0991f5; border-color: #087bcf; } + .aksrt-widget-form-lazy { padding: 14px; border: 1px dashed #c3c4c7; @@ -175,20 +227,29 @@ color: #614200; } -.aksrt-widget-transfer { margin: 16px 20px 16px 0; } -.aksrt-widget-transfer__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } -.aksrt-widget-transfer form { display: grid; align-content: start; gap: 9px; padding: 12px; border: 1px solid #dcdcde; border-radius: 6px; } -.aksrt-widget-transfer form h3 { margin: 0 0 3px; } -.aksrt-widget-transfer select, -.aksrt-widget-transfer input[type="file"] { width: 100%; } +.aksrt-widget-transfer-toolbar { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; } +.aksrt-widget-transfer-toolbar .button { margin: 0; } +.aksrt-widget-customizer-remove { margin-left: 8px; color: #b32d2e; } +.aksrt-widget-transfer-modal[hidden] { display: none !important; } +.aksrt-widget-transfer-modal.is-open { position: fixed; inset: 0; z-index: 1000100; display: flex; align-items: center; justify-content: center; padding: 20px; } +.aksrt-widget-transfer-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(0, 0, 0, .45); } +.aksrt-widget-transfer-modal__dialog { position: relative; z-index: 1; box-sizing: border-box; width: min(720px, 96vw); max-height: 90vh; overflow: auto; padding: 18px 20px 16px; border: 1px solid #c3c4c7; border-radius: 6px; background: #fff; box-shadow: 0 8px 32px rgba(0, 0, 0, .14); } +.aksrt-widget-transfer-modal__dialog h2 { margin: 0 36px 10px 0; font-size: 16px; } +.aksrt-widget-transfer-modal__area { margin: 0 0 12px; } +.aksrt-widget-transfer-modal__close { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border: 0; background: transparent; color: #646970; font-size: 22px; cursor: pointer; } +.aksrt-widget-transfer-modal__tabs { display: flex; gap: 6px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #dcdcde; } +.aksrt-widget-transfer-modal__tabs .is-active { border-color: #0991f5; color: #087bcf; box-shadow: inset 0 -2px #0991f5; } +.aksrt-widget-transfer-modal__panel form { display: grid; align-content: start; gap: 10px; } +.aksrt-widget-transfer-modal__panel select, +.aksrt-widget-transfer-modal__panel input[type="file"] { width: 100%; } .aksrt-widget-transfer__actions { display: flex; flex-wrap: wrap; gap: 8px; } -.aksrt-widget-template-preview-output { grid-column: 1 / -1; max-height: 520px; overflow: auto; padding: 14px; border: 1px solid #dcdcde; background: #fff; } +.aksrt-widget-template-preview-output { max-height: 420px; overflow: auto; margin-top: 14px; padding: 14px; border: 1px solid #dcdcde; background: #fff; } .aksrt-widget-template-preview__area { margin-bottom: 18px; } .aksrt-widget-template-preview__module { margin: 10px 0; padding: 12px; border: 1px dashed #c3c4c7; border-radius: 6px; } -@media (max-width: 1100px) { - .aksrt-widget-transfer__grid { grid-template-columns: 1fr; } - .aksrt-widget-template-preview-output { grid-column: auto; } +@media (max-width: 600px) { + .aksrt-widget-transfer-modal.is-open { padding: 10px; } + .aksrt-widget-transfer-modal__dialog { width: 100%; padding: 16px; } } @media (prefers-reduced-motion: reduce) { diff --git a/assets/widgets/admin.js b/assets/widgets/admin.js index d18eca4e..35ca801d 100644 --- a/assets/widgets/admin.js +++ b/assets/widgets/admin.js @@ -23,6 +23,7 @@ evaluateDependencies($root); updateWidgetTitle($root); updatePlacementWarning($root); + updateRepeaterControls($root); } /* terms 字段:以“已选标签”为唯一真源,同步隐藏输入(选择顺序)与复选框。 */ @@ -63,17 +64,91 @@ $hint.toggleClass('is-warning', (size === 'wide' && isSidebar) || (size === 'sidebar' && !isSidebar && area !== '')); } + function injectTransferToolbar($anchor, sidebarId) { + if (!$anchor?.length || !sidebarId || $anchor.next('.aksrt-widget-transfer-toolbar').length) return; + const $toolbar = $('
    '); + [ + ['export', config.i18n?.export || '导出'], + ['import', config.i18n?.import || '导入'], + ['template', config.i18n?.template || '应用模板'], + ].forEach(([action, label]) => { + $('') + .text(label) + .attr('data-aksrt-transfer-action', action) + .attr('data-sidebar-id', sidebarId) + .appendTo($toolbar); + }); + $anchor.after($toolbar); + } + + function scanWidgetAreas() { + $('.widgets-holder-wrap:not(#available-widgets):not(.inactive-sidebar)').each(function () { + const $wrap = $(this); + const $sortables = $wrap.find('.widgets-sortables').first(); + const sidebarId = String($sortables.attr('id') || ''); + if (!sidebarId) return; + const $description = $sortables.find('.sidebar-description .description').first(); + const $anchor = $description.length ? $description : $sortables.find('.description').first(); + if ($anchor.length) injectTransferToolbar($anchor, sidebarId); + }); + + $('.control-section-sidebar').each(function () { + const $section = $(this); + const sectionId = String($section.attr('id') || ''); + const prefix = 'sub-accordion-section-sidebar-widgets-'; + if (!sectionId.startsWith(prefix)) return; + const sidebarId = sectionId.slice(prefix.length); + const $description = $section.find('.section-meta .description').first(); + const $anchor = $description.length ? $description : $section.find('.accordion-section-title, .customize-section-title').first(); + if ($anchor.length) injectTransferToolbar($anchor, sidebarId); + }); + + $('.customize-control-widget_form').each(function () { + const $control = $(this); + const $nav = $control.find('.widget-reorder-nav').first(); + if (!$nav.length || $nav.find('.aksrt-widget-customizer-remove').length) return; + $('').appendTo($nav); + }); + } + + function openTransferModal(action, sidebarId) { + const $modal = $('#aksrt-widget-transfer-modal'); + if (!$modal.length) return; + const sidebars = config.sidebars || {}; + const areaName = sidebars[sidebarId] || sidebarId; + $modal.find('.aksrt-widget-transfer-modal__area').text(areaName); + $modal.find('input[name="sidebar"], input[name="target_sidebar"]').val(sidebarId); + $modal.find('[data-transfer-tab]').removeClass('is-active'); + $modal.find(`[data-transfer-tab="${action}"]`).addClass('is-active'); + $modal.find('[data-transfer-panel]').prop('hidden', true); + $modal.find(`[data-transfer-panel="${action}"]`).prop('hidden', false); + $modal.prop('hidden', false).addClass('is-open').attr('aria-hidden', 'false'); + $modal.find('[data-transfer-panel="' + action + '"] button, [data-transfer-panel="' + action + '"] input, [data-transfer-panel="' + action + '"] select').filter(':visible').first().trigger('focus'); + } + + function closeTransferModal() { + $('#aksrt-widget-transfer-modal').removeClass('is-open').attr('aria-hidden', 'true').prop('hidden', true); + } + function loadForm(container) { const $container = $(container); if ($container.data('loading') || $container.data('loaded')) return; + const $widget = $container.closest('.widget, .customize-control-widget_form'); + const inputName = String($widget.find('input[name^="widget-"]').first().attr('name') || ''); + const number = core.resolveWidgetNumber(inputName, $widget.attr('id'), $container.data('widget-number')); + // New-widget templates use __i__ until WordPress assigns a real instance number. + if (!number) return; $container.data('loading', true).find('.aksrt-widget-form-lazy__status').text(config.i18n?.loading || 'Loading…'); $.post(config.ajaxUrl, { action: config.action, nonce: config.nonce, id_base: $container.data('id-base'), - widget_number: $container.data('widget-number'), + widget_number: number, }).done((response) => { - if (!response?.success || !response.data?.html) throw new Error('Invalid response'); + if (!response?.success || !response.data?.html) { + $container.data('loading', false).find('.aksrt-widget-form-lazy__status').text(response?.data?.message || config.i18n?.error || 'Failed to load.'); + return; + } const $form = $(response.data.html); $container.replaceWith($form); initForm($form); @@ -94,6 +169,31 @@ if (!rowIndexes.length) return; this.name = core.replaceRepeaterIndexes(this.name, rowIndexes); }); + updateRepeaterTitles($form); + } + + function updateRepeaterTitles($form) { + $form.find('.aksrt-widget-repeater__rows').each(function () { + $(this).children('.aksrt-widget-repeater__row').each(function (index) { + const $row = $(this); + const $title = $row.find('.aksrt-widget-repeater__title').first(); + const prefix = String($title.data('title-prefix') || '项目'); + const $firstControl = $row.children('.aksrt-widget-repeater__fields').find('input:not([type="hidden"]), select, textarea').first(); + const value = String($firstControl.val() || '').trim(); + $title.text(prefix + (index + 1) + (value ? ':' + value : '')); + }); + }); + } + + function updateRepeaterControls($root) { + $root.filter('.aksrt-widget-repeater').add($root.find('.aksrt-widget-repeater')).each(function () { + const $repeater = $(this); + const count = $repeater.children('.aksrt-widget-repeater__rows').children('.aksrt-widget-repeater__row').length; + const min = Number($repeater.data('min-items') || 0); + const max = Number($repeater.data('max-items') || 50); + $repeater.children('.aksrt-widget-repeater__rows').children('.aksrt-widget-repeater__row').children('.aksrt-widget-repeater__bar').children('.aksrt-widget-repeater__remove').prop('disabled', count <= min); + $repeater.children('.aksrt-widget-repeater__add').prop('disabled', count >= max); + }); } function fieldValue($form, id) { @@ -116,12 +216,29 @@ } $(document) + .on('click', '[data-aksrt-transfer-action]', function () { + openTransferModal(String($(this).data('aksrt-transfer-action')), String($(this).data('sidebar-id'))); + }) + .on('click', '[data-aksrt-transfer-close]', closeTransferModal) + .on('click', '[data-transfer-tab]', function () { + const $modal = $(this).closest('.aksrt-widget-transfer-modal'); + const panel = String($(this).data('transfer-tab')); + $modal.find('[data-transfer-tab]').removeClass('is-active'); + $(this).addClass('is-active'); + $modal.find('[data-transfer-panel]').prop('hidden', true); + $modal.find(`[data-transfer-panel="${panel}"]`).prop('hidden', false); + }) + .on('click', '.aksrt-widget-customizer-remove', function (event) { + event.preventDefault(); + $(this).closest('.customize-control-widget_form').find('.widget-control-remove').first().trigger('click'); + }) .on('click', '.aksrt-widget-form-lazy__load', function () { loadForm($(this).closest('.aksrt-widget-form-lazy')); }) - .on('click', '.widget.open .aksrt-widget-form-lazy', function () { loadForm(this); }) + .on('click', '.widget.open .aksrt-widget-form-lazy, .customize-control-widget_form .aksrt-widget-form-lazy', function () { loadForm(this); }) .on('change input', '.aksrt-widget-form input, .aksrt-widget-form select, .aksrt-widget-form textarea', function () { const $form = $(this).closest('.aksrt-widget-form'); evaluateDependencies($form); updateWidgetTitle($form); + updateRepeaterTitles($form); }) .on('click', '.aksrt-widget-repeater__add', function () { const $repeater = $(this).closest('.aksrt-widget-repeater'); @@ -134,11 +251,17 @@ const $row = $(html).appendTo($rows); initForm($row); renumberRepeaters.call($rows[0]); + updateRepeaterControls($repeater); }) - .on('click', '.aksrt-widget-repeater__remove', function () { - const $rows = $(this).closest('.aksrt-widget-repeater__rows'); + .on('click', '.aksrt-widget-repeater__remove', function (event) { + event.preventDefault(); + event.stopPropagation(); + const $repeater = $(this).closest('.aksrt-widget-repeater'); + const $rows = $repeater.children('.aksrt-widget-repeater__rows'); + if ($rows.children('.aksrt-widget-repeater__row').length <= Number($repeater.data('min-items') || 0)) return; $(this).closest('.aksrt-widget-repeater__row').remove(); renumberRepeaters.call($rows[0]); + updateRepeaterControls($repeater); }) .on('click', '.aksrt-widget-terms__remove', function () { $(this).closest('.aksrt-widget-terms__chip').remove(); @@ -150,6 +273,7 @@ const id = String(this.value); const name = (option.querySelector('[data-term-name]') || option).getAttribute('data-term-name'); if (this.checked) addTermChip(wrap, id, name || id); + else $(wrap).find('.aksrt-widget-terms__chip').filter((_index, chip) => String($(chip).data('term-id')) === id).remove(); syncTerms(wrap); }) .on('input', '.aksrt-widget-terms__search', function () { @@ -186,17 +310,40 @@ nonce: config.transferNonce, template: $form.find('[name="template"]').val(), }).done((response) => { - if (!response?.success) throw new Error('Invalid response'); + if (!response?.success || !response.data) { + $output.empty().append($('

    ').text(response?.data?.message || config.i18n?.error || '预览加载失败,请重试。')); + return; + } $output.html(response.data.html || '

    模板为空。

    '); - }).fail(() => $output.html('

    预览加载失败。

    ')); + }).fail((xhr) => { + const message = xhr?.responseJSON?.data?.message || config.i18n?.error || '预览加载失败,请重试。'; + $output.empty().append($('

    ').text(message)); + }); }); $(document).on('widget-added widget-updated', function (_event, widget) { $(widget).find('.aksrt-widget-form-lazy').each(function () { loadForm(this); }); updatePlacementWarning(widget); + scanWidgetAreas(); }); + if (window.wp?.customize?.bind) { + window.wp.customize.bind('ready', function () { + $('#customize-theme-controls').on('expanded', function (_event, section) { + if (!section || !String(section.id || section).includes('sidebar-widgets')) return; + window.setTimeout(function () { + scanWidgetAreas(); + $('.customize-control-widget_form .aksrt-widget-form-lazy').each(function () { loadForm(this); }); + }, 100); + }); + }); + } + $(function () { + scanWidgetAreas(); + $(document).on('keydown', function (event) { + if (event.key === 'Escape') closeTransferModal(); + }); $('.aksrt-widget-form').each(function () { initForm(this); }); $('.widget.open .aksrt-widget-form-lazy').each(function () { loadForm(this); }); }); diff --git a/assets/widgets/frontend.css b/assets/widgets/frontend.css index 637d7a5a..3577b351 100644 --- a/assets/widgets/frontend.css +++ b/assets/widgets/frontend.css @@ -50,16 +50,19 @@ .aksrt-widget-search--compact button span { display: none; } .aksrt-widget-search--large { min-height: 58px; border-radius: 14px; } -.aksrt-widget-quote { position: relative; min-height: 130px; margin: 0; padding: 24px 48px 24px 25px; overflow: hidden; border-radius: var(--aksrt-widget-radius); background: linear-gradient(135deg, #6772e5, #8b5cf6); color: #fff; } -.aksrt-widget-quote > i { opacity: .35; font-size: 26px; } -.aksrt-widget-quote blockquote { margin: 12px 0 0; font-size: 16px; line-height: 1.8; } -.aksrt-widget-quote button { position: absolute; right: 13px; bottom: 13px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(255,255,255,.16); color: #fff; cursor: pointer; } +.aksrt-widget-quote { margin: 0; padding: 12px 15px; border-radius: var(--aksrt-widget-radius); background: var(--main-bg-color, #fff); color: var(--main-color, inherit); box-shadow: 0 0 10px var(--main-shadow, rgba(116,116,116,.08)); } +.aksrt-widget-quote .yiyan { line-height: 1.8; } +.aksrt-widget-quote .yiyan .en { font-size: .9em; opacity: .8; } +.aksrt-widget-quote.is-loading { opacity: .65; } /* The AKSRT base stylesheet already carries Zibll's icon-card and utility rules. * Restore the one renamed primitive used verbatim by these two widget renderers. */ .zib-widget { clear:both; margin-bottom:20px; padding:15px; border-radius:var(--main-radius,8px); background:var(--main-bg-color,#fff); box-shadow:0 0 10px var(--main-shadow,rgba(116,116,116,.08)); } .zib-widget.padding-10 { padding:10px; } .zib-widget.nobottom.notop { padding-top:0; padding-bottom:0; } +.zib-widget.posts-mini-lists { padding:5px; } +.zib-widget.posts-mini-lists .relative > .tab-nav-theme ~ .scroll-x-prev, +.zib-widget.posts-mini-lists .relative > .tab-nav-theme ~ .scroll-x-next { top:10px; } .zib-widget-wrap { padding:var(--aksrt-widget-space-top,0) var(--aksrt-widget-space-right,0) var(--aksrt-widget-space-bottom,0) var(--aksrt-widget-space-left,0); background-color:var(--aksrt-widget-bg-light,transparent); background-image:var(--aksrt-widget-bg-image-light,none); background-position:center; background-size:cover; } .dark-theme .zib-widget-wrap, [data-theme="dark"] .zib-widget-wrap { background-color:var(--aksrt-widget-bg-dark,var(--aksrt-widget-bg-light,transparent)); background-image:var(--aksrt-widget-bg-image-dark,var(--aksrt-widget-bg-image-light,none)); } @@ -151,12 +154,7 @@ /* Zibll modern widget contracts */ .widget-tab-post .tab-content > .tab-pane { display: none; } .widget-tab-post .tab-content > .tab-pane.active { display: block; } -.widget-tab-post .list-inline { margin: 0 0 15px; padding: 0; list-style: none; } -.widget-tab-post .list-inline > li { display: inline-block; margin: 0 15px 0 0; } -.widget-tab-post .list-inline > li > a { color: inherit; text-decoration: none; cursor: pointer; } -.widget-tab-post .list-inline > li.active > a { color: var(--focus-color, #f04494); } -.widget-tab-post .tab-nav-theme > li { position: relative; padding-bottom: 5px; } -.widget-tab-post .tab-nav-theme > li.active::before { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--focus-color, #f04494); } +.widget-tab-post, .term-aggregation { line-height:1.42857143; } .widget-tab-post .post_ajax_loader { min-height: 40px; } /* Widget pagination mirrors the reference .ajax-next rules while staying on the REST client. */ .theme-pagination { margin: 20px 0; } diff --git a/assets/widgets/frontend.js b/assets/widgets/frontend.js index 470296e6..9a7be9b3 100644 --- a/assets/widgets/frontend.js +++ b/assets/widgets/frontend.js @@ -74,26 +74,9 @@ } } - function updateQuote(figure) { - if (figure.dataset.source !== 'api' || !config.quoteUrl) return Promise.resolve(); - var button = figure.querySelector('button'); - if (button) button.disabled = true; - return fetch(config.quoteUrl, { credentials: 'same-origin', headers: { Accept: 'application/json' } }) - .then(function (response) { if (!response.ok) throw new Error('quote'); return response.json(); }) - .then(function (data) { - if (data && data.text) figure.querySelector('blockquote').textContent = data.text; - }) - .catch(function () {}) - .finally(function () { if (button) button.disabled = false; }); - } - function initQuote(figure) { if (!once(figure, 'Quote')) return; - var button = figure.querySelector('button'); - if (button) button.addEventListener('click', function () { updateQuote(figure); }); - if (!reducedMotion && figure.dataset.source === 'api') { - window.setInterval(function () { if (!document.hidden) updateQuote(figure); }, Math.max(5, Number(figure.dataset.interval || 30)) * 1000); - } + if (window.AksrtYiyan) window.AksrtYiyan.init(figure); } function errorMarkup() { @@ -187,6 +170,7 @@ Array.prototype.slice.call(container.querySelectorAll(':scope > .ajax-pag')).forEach(function (node) { node.remove(); }); if (data.paginate_html) container.insertAdjacentHTML('beforeend', data.paginate_html); container.dataset.page = String(data.page || page); + container.dataset.loaded = '1'; anchorLoader(container); scan(container); }) @@ -247,7 +231,7 @@ if (!panel) return; panel.dataset.segment = button.dataset.segment; panel.setAttribute('aria-labelledby', button.id); - loadItems(panel, 1, false); + if (panel.dataset.loaded !== '1') loadItems(panel, 1, false); }); } diff --git a/category.php b/category.php index f0acafe7..ef9492c9 100644 --- a/category.php +++ b/category.php @@ -33,124 +33,54 @@ if (!$term instanceof WP_Term) { return; } -$archive_settings = class_exists('\AKSRT\Core\TermMeta') - ? \AKSRT\Core\TermMeta::resolve_archive_settings($term) - : [ - 'header_style' => 'cover', - 'show_sidebar' => true, - 'show_cover' => false, - 'show_desc' => !empty($term->description), - 'filter_bar' => true, - 'cover_url' => '', - 'description' => (string) $term->description, - ]; - -$has_sidebar = function_exists('aksrt_archive_has_sidebar') - ? aksrt_archive_has_sidebar(!empty($archive_settings['show_sidebar'])) - : (!empty($archive_settings['show_sidebar']) && is_active_sidebar('cat_sidebar')); -$description = !empty($archive_settings['show_desc']) ? wp_kses_post((string) $archive_settings['description']) : ''; -$header_style = (string) $archive_settings['header_style']; +$archive_settings = \AKSRT\Core\TermMeta::resolve_archive_settings($term); +$has_sidebar = aksrt_archive_has_sidebar(!empty($archive_settings['show_sidebar'])); $ajax_filter = !empty($archive_settings['filter_bar']); -$sort_state = function_exists('aksrt_archive_get_sort_state') - ? aksrt_archive_get_sort_state((array) ($archive_settings['orderby_option'] ?? [])) - : ['current' => 'date', 'links' => []]; -$current_sort = $sort_state['current']; -$sort_links = $sort_state['links']; -$render_config = function_exists('aksrt_archive_get_render_config') - ? aksrt_archive_get_render_config(['context' => 'category']) - : ['context' => 'category']; - +$sort_state = aksrt_archive_get_sort_state((array) ($archive_settings['orderby_option'] ?? [])); $filter_groups = []; -if (!empty($archive_settings['ajax_category_enabled']) && function_exists('aksrt_archive_build_term_filter_group')) { - $group = aksrt_archive_build_term_filter_group('category', (array) ($archive_settings['ajax_category'] ?? []), __('分类', 'aksrt'), $ajax_filter); - if ($group !== []) { - $filter_groups[] = $group; +foreach (['category' => __('分类', 'aksrt'), 'post_tag' => __('标签', 'aksrt')] as $taxonomy => $label) { + $key = $taxonomy === 'category' ? 'ajax_category' : 'ajax_tag'; + if (!empty($archive_settings[$key . '_enabled'])) { + $group = aksrt_archive_build_term_filter_group($taxonomy, (array) $archive_settings[$key], $label); + if ($group) { + $filter_groups[] = $group; + } } } -if (!empty($archive_settings['ajax_tag_enabled']) && function_exists('aksrt_archive_build_term_filter_group')) { - $group = aksrt_archive_build_term_filter_group('post_tag', (array) ($archive_settings['ajax_tag'] ?? []), __('标签', 'aksrt'), $ajax_filter); - if ($group !== []) { - $filter_groups[] = $group; - } +if (!empty($archive_settings['custom_filter_enabled'])) { + $filter_groups = array_merge($filter_groups, aksrt_archive_build_custom_filter_groups( + (array) $archive_settings['custom_dimensions'], $archive_settings['custom_filter_keys'] + )); } -if (!empty($archive_settings['custom_filter_enabled']) && function_exists('aksrt_archive_build_custom_filter_groups')) { - $filter_groups = array_merge( - $filter_groups, - aksrt_archive_build_custom_filter_groups( - (array) ($archive_settings['custom_dimensions'] ?? []), - $archive_settings['custom_filter_keys'] ?? 'all', - $ajax_filter - ) - ); -} - -if (function_exists('aksrt_archive_open_shell')) { - aksrt_archive_open_shell([ - 'main_class' => 'site-main container', - 'has_sidebar' => $has_sidebar, - 'top_fluid' => ['cat_top_fluid'], - 'page_kind' => 'category', +aksrt_archive_open_shell([ + 'main_class' => 'site-main container', 'has_sidebar' => $has_sidebar, + 'top_fluid' => ['cat_top_fluid'], 'page_kind' => 'category', +]); +aksrt_archive_render_widget_zone(['cat_top_content']); +aksrt_archive_render_term_header([ + 'header_style' => $archive_settings['header_style'], + 'show_cover' => !empty($archive_settings['show_cover']), + 'cover_url' => (string) $archive_settings['cover_url'], + 'title' => single_cat_title('', false), + 'description' => !empty($archive_settings['show_desc']) ? $archive_settings['description'] : '', + 'post_count' => !empty($archive_settings['post_count']), +]); +ob_start(); +if ($ajax_filter) { + aksrt_archive_render_filter_bar([ + 'aria_label' => __('分类筛选', 'aksrt'), 'groups' => $filter_groups, + 'sort_enabled' => !empty($archive_settings['orderby_enabled']), + 'sort_current' => $sort_state['current'], 'sort_links' => $sort_state['links'], + 'sort_labels' => \AKSRT\Settings\Settings::homepage_sort_labels(), + 'sort_option' => (array) $archive_settings['orderby_option'], ]); } -?> - - -
    - - - $header_style, - 'show_cover' => !empty($archive_settings['show_cover']), - 'cover_url' => (string) ($archive_settings['cover_url'] ?? ''), - 'eyebrow' => __('分类归档', 'aksrt'), - 'title' => single_cat_title('', false), - 'description' => $description, - 'admin_path' => 'page-display/category', - 'admin_label' => __('分类页设置', 'aksrt'), - ]); - } - ?> - - $ajax_filter, - 'ajax_archive' => 'category', - 'term_id' => (int) $term->term_id, - 'aria_label' => __('分类筛选', 'aksrt'), - 'meta_text' => !empty($archive_settings['post_count']) ? sprintf(_n('%d 篇文章', '%d 篇文章', (int) $term->count, 'aksrt'), (int) $term->count) : '', - 'groups' => $filter_groups, - 'sort_enabled' => !empty($archive_settings['orderby_enabled']), - 'sort_current' => $current_sort, - 'sort_links' => $sort_links, - 'sort_labels' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_sort_labels() : [], - 'sort_as_main' => false, - ]); - } - ?> - - 'category', - 'query_context' => 'archive', - 'stream_class' => 'archive__ajax-wrap content-stream--archive content-stream--category', - 'empty_text' => __('该分类下暂无文章', 'aksrt'), - 'ajax_enabled' => $ajax_filter, - ]); - } - ?> - - -
    - $has_sidebar, - 'bottom_fluid' => ['cat_bottom_fluid'], - ]); -} - +$filter_html = (string) ob_get_clean(); +aksrt_archive_render_stream(null, aksrt_archive_get_render_config(['context' => 'category']), [ + 'page_kind' => 'category', 'query_context' => 'archive', + 'empty_text' => __('暂无内容', 'aksrt'), + 'filter_html' => $filter_html, +]); +aksrt_archive_render_widget_zone(['cat_bottom_content']); +aksrt_archive_close_shell(['has_sidebar' => $has_sidebar, 'bottom_fluid' => ['cat_bottom_fluid']]); get_footer(); diff --git a/inc/helpers/aksrt-archive-filters.php b/inc/helpers/aksrt-archive-filters.php index 3244dbe6..3cbb11e3 100644 --- a/inc/helpers/aksrt-archive-filters.php +++ b/inc/helpers/aksrt-archive-filters.php @@ -10,58 +10,43 @@ defined('ABSPATH') || exit; if (!function_exists('aksrt_archive_render_term_header')) : - /** - * Shared term archive header for category/tag pages. - * - * @param array $args Header args. - */ + /** Reference term cover, including first-page count and term search. */ function aksrt_archive_render_term_header(array $args = []): void { $args = wp_parse_args($args, [ - 'header_style' => 'simple', - 'show_cover' => false, - 'cover_url' => '', - 'eyebrow' => '', - 'title' => '', - 'description' => '', - 'admin_path' => '', - 'admin_label' => '', + 'header_style' => 'simple', 'show_cover' => false, 'cover_url' => '', + 'title' => '', 'description' => '', 'post_count' => false, ]); - - $header_style = (string) $args['header_style']; - if ($header_style === 'none') { + if ($args['header_style'] === 'none') { return; } - - $show_cover = !empty($args['show_cover']) && (string) $args['cover_url'] !== ''; - $cover_url = (string) $args['cover_url']; - ?> - - taxonomy === 'post_tag'; + $paged = max(1, (int) get_query_var('paged', 1)); + $title = '' . esc_html((string) $args['title']); + global $wp_query; + if (!empty($args['post_count']) && $paged === 1) { + $count = $wp_query instanceof WP_Query ? (int) $wp_query->found_posts : 0; + $title .= '' . sprintf(esc_html__('共%s篇', 'aksrt'), (string) $count) . ''; + } + $description = esc_html(trim(wp_strip_all_tags((string) $args['description']))); + $more = ''; + if ($term instanceof WP_Term) { + $more = '
    '; + } + if (empty($args['show_cover'])) { + echo '

    ' . $title . '

    ' . $description . '
    ' . $more . '
    '; + return; + } + if ($paged > 1) { + $title .= ' ' . sprintf(esc_html__('第%s页', 'aksrt'), $paged) . ''; + } + $cover = (string) $args['cover_url']; + if ($cover === '') { + $cover = get_template_directory_uri() . '/assets/img/user_t.jpg'; + } + echo ''; + echo ''; + echo '
    ' . $title . '
    ' . $description . '
    ' . $more . ''; } endif; @@ -76,46 +61,43 @@ if (!function_exists('aksrt_archive_render_filter_chip')) : 'label' => '', 'url' => '', 'active' => false, - 'attrs' => '', ]); if ((string) $chip['label'] === '' || (string) $chip['url'] === '') { return; } ?> - > + $group Group args. - */ + /** One reference option row; dropdown entries stay separate from inline entries. */ function aksrt_archive_render_filter_group(array $group): void { - $group = wp_parse_args($group, [ - 'label' => '', - 'chips' => [], - 'class' => '', - ]); - $chips = is_array($group['chips'] ?? null) ? $group['chips'] : []; - if (empty($chips)) { + $group = wp_parse_args($group, ['label' => '', 'chips' => [], 'dropdown' => []]); + if (empty($group['chips']) && empty($group['dropdown'])) { return; } - $class = trim('archive-filter-bar__main ' . (string) $group['class']); - ?> -
    - - - -
    - - - -
    -
    -
      '; + foreach ((array) $group['chips'] as $chip) { + aksrt_archive_render_filter_chip($chip); + } + echo '
    '; + foreach ((array) ($group['children'] ?? []) as $child_group) { + aksrt_archive_render_filter_group($child_group); + } } endif; @@ -126,10 +108,9 @@ if (!function_exists('aksrt_archive_build_term_filter_group')) : * @param string $taxonomy category|post_tag. * @param array $option lists/dropdown/dropdown_lists fieldset. * @param string $label Visible group label. - * @param bool $ajax Whether to attach archive AJAX attributes. * @return array */ - function aksrt_archive_build_term_filter_group(string $taxonomy, array $option, string $label, bool $ajax): array { + function aksrt_archive_build_term_filter_group(string $taxonomy, array $option, string $label): array { if (!in_array($taxonomy, ['category', 'post_tag'], true)) { return []; } @@ -153,113 +134,81 @@ if (!function_exists('aksrt_archive_build_term_filter_group')) : return []; } - $query_key = $taxonomy === 'category' ? 'aksrt_filter_cat' : 'aksrt_filter_tag'; - $data_key = $taxonomy === 'category' ? 'data-filter-cat' : 'data-filter-tag'; - $current = isset($_GET[$query_key]) ? absint(wp_unslash($_GET[$query_key])) : 0; - $chips = [[ - 'label' => __('全部', 'aksrt'), - 'url' => remove_query_arg([$query_key, 'paged']), - 'active' => $current === 0, - 'attrs' => $ajax ? ' ' . $data_key . '=""' : '', - ]]; - + $inline_ids = array_map('absint', (array) ($option['lists'] ?? [])); + $dropdown_ids = !empty($option['dropdown']) ? array_map('absint', (array) ($option['dropdown_lists'] ?? [])) : []; + $current = get_queried_object(); + $active_ids = $current instanceof WP_Term + ? array_merge([(int) $current->term_id], get_ancestors($current->term_id, $current->taxonomy, 'taxonomy')) : []; + $group = ['label' => $label, 'chips' => [], 'dropdown' => [], 'children' => []]; + $child_ids = []; foreach ($terms as $term) { - $term_id = (int) $term->term_id; - $chips[] = [ - 'label' => $term->name, - 'url' => add_query_arg($query_key, $term_id, remove_query_arg('paged')), - 'active' => $current === $term_id, - 'attrs' => $ajax ? ' ' . $data_key . '="' . $term_id . '"' : '', - ]; + $link = get_term_link($term); + if (is_wp_error($link)) { + continue; + } + $chip = ['label' => aksrt_widget_str_cut((string) $term->name, 8), 'url' => $link, 'active' => in_array((int) $term->term_id, $active_ids, true)]; + if (in_array((int) $term->term_id, $inline_ids, true)) { + $group['chips'][] = $chip; + if ($chip['active']) { + $children = get_terms(['taxonomy' => $taxonomy, 'parent' => (int) $term->term_id, 'fields' => 'ids']); + if (!is_wp_error($children)) { + $child_ids = array_merge($child_ids, $children); + } + } + } + if (in_array((int) $term->term_id, $dropdown_ids, true)) { + $group['dropdown'][] = $chip; + } } - - return [ - 'label' => $label, - 'chips' => $chips, - ]; + if ($child_ids) { + $child_group = aksrt_archive_build_term_filter_group($taxonomy, ['lists' => array_unique($child_ids)], $taxonomy === 'category' ? __('子分类', 'aksrt') : __('子标签', 'aksrt')); + if ($child_group) { + $group['children'][] = $child_group; + } + } + return $group; } endif; if (!function_exists('aksrt_archive_render_filter_bar')) : - /** - * Shared filter bar shell for category/tag archives. - * - * @param array $args Filter bar args. - */ + /** Category/tag filter rows share the homepage option menu presentation. */ function aksrt_archive_render_filter_bar(array $args = []): void { - // legacy zib_ajax_option_menu:nofilter 请求(首页更多栏目 tab 加载)不输出筛选菜单。 if (!empty($_GET['nofilter'])) { return; } - $args = wp_parse_args($args, [ - 'ajax' => false, - 'ajax_archive' => '', - 'term_id' => 0, - 'aria_label' => '', - 'meta_text' => '', - 'groups' => [], - 'sort_enabled' => false, - 'sort_current' => 'date', - 'sort_links' => [], - 'sort_labels' => [], - 'sort_as_main' => false, + 'aria_label' => '', 'groups' => [], 'sort_enabled' => false, + 'sort_current' => '', 'sort_links' => [], 'sort_labels' => [], 'sort_option' => [], ]); - - $groups = is_array($args['groups'] ?? null) ? $args['groups'] : []; - $sort_links = is_array($args['sort_links'] ?? null) ? $args['sort_links'] : []; - $sort_labels = is_array($args['sort_labels'] ?? null) ? $args['sort_labels'] : []; - $has_sort = !empty($args['sort_enabled']) && !empty($sort_links); - if (empty($groups) && !$has_sort && (string) $args['meta_text'] === '') { + $groups = (array) $args['groups']; + if (!empty($args['sort_enabled'])) { + $sort = ['label' => __('排序', 'aksrt'), 'chips' => [], 'dropdown' => []]; + $option = (array) $args['sort_option']; + foreach ((array) $args['sort_links'] as $key => $url) { + $chip = [ + 'label' => (string) ($args['sort_labels'][$key] ?? $key), 'url' => $url, + 'active' => (string) $args['sort_current'] === (string) $key, + ]; + if (in_array($key, (array) ($option['lists'] ?? []), true)) { + $sort['chips'][] = $chip; + } + if (!empty($option['dropdown'])) { + $sort['dropdown'][] = $chip; + } + } + if ($sort['chips'] || $sort['dropdown']) { + $groups[] = $sort; + } + } + if (!$groups) { return; } - - $ajax = !empty($args['ajax']); - ?> -
    - data-ajax-archive="" - data-term-id="" - data-query-context="archive" - - > - - - - - -
    - - - - $sort_url) { - $sort_chips[] = [ - 'label' => (string) ($sort_labels[$sort_key] ?? $sort_key), - 'url' => (string) $sort_url, - 'active' => (string) $args['sort_current'] === (string) $sort_key, - 'attrs' => $ajax ? ' data-filter-sort="' . esc_attr((string) $sort_key) . '"' : '', - ]; - } - if (!empty($args['sort_as_main'])) { - aksrt_archive_render_filter_group([ - 'label' => __('排序', 'aksrt'), - 'chips' => $sort_chips, - ]); - } else { - ?> -
    - -
    - - -
    - '; + foreach ($groups as $group) { + aksrt_archive_render_filter_group($group); + } + echo '
    '; } endif; @@ -272,10 +221,9 @@ if (!function_exists('aksrt_archive_build_custom_filter_groups')) : * * @param array> $dimensions Dimension definitions (custom_filter settings). * @param mixed $keys 'all' or list of enabled dimension keys. - * @param bool $ajax Attach AJAX attributes. * @return array> */ - function aksrt_archive_build_custom_filter_groups(array $dimensions, $keys, bool $ajax): array { + function aksrt_archive_build_custom_filter_groups(array $dimensions, $keys): array { $groups = []; foreach ($dimensions as $dimension) { $dim_key = sanitize_key((string) ($dimension['key'] ?? '')); @@ -301,10 +249,9 @@ if (!function_exists('aksrt_archive_build_custom_filter_groups')) : $chips[] = [ 'label' => $value_name, 'url' => $is_active - ? remove_query_arg([$dim_key, 'paged']) - : add_query_arg([$dim_key => $value_key], remove_query_arg('paged')), + ? remove_query_arg($dim_key, aksrt_homepage_url_del_paged(aksrt_homepage_get_current_url())) + : add_query_arg([$dim_key => $value_key], aksrt_homepage_url_del_paged(aksrt_homepage_get_current_url())), 'active' => $is_active, - 'attrs' => $ajax ? ' data-filter-dim="' . esc_attr($dim_key) . '" data-filter-dim-value="' . esc_attr($value_key) . '"' : '', ]; if ($is_active) { $has_focus = true; @@ -316,9 +263,8 @@ if (!function_exists('aksrt_archive_build_custom_filter_groups')) : if ($has_focus) { array_unshift($chips, [ 'label' => __('全部', 'aksrt'), - 'url' => remove_query_arg([$dim_key, 'paged']), + 'url' => remove_query_arg($dim_key, aksrt_homepage_url_del_paged(aksrt_homepage_get_current_url())), 'active' => false, - 'attrs' => $ajax ? ' data-filter-dim="' . esc_attr($dim_key) . '" data-filter-dim-value=""' : '', ]); } diff --git a/inc/helpers/aksrt-archive.php b/inc/helpers/aksrt-archive.php index 61676cbe..6048e1d5 100644 --- a/inc/helpers/aksrt-archive.php +++ b/inc/helpers/aksrt-archive.php @@ -100,12 +100,12 @@ if (!function_exists('aksrt_archive_get_sort_state')) : $lists = array_values(array_unique(array_merge($lists, $all))); } - $current = isset($_GET['orderby']) ? sanitize_key(wp_unslash((string) $_GET['orderby'])) : 'date'; - if (!in_array($current, $all, true)) { + $current = isset($_GET['orderby']) ? sanitize_key(wp_unslash((string) $_GET['orderby'])) : ''; + if ($current !== '' && !in_array($current, $all, true)) { $current = 'date'; } - $base_url = remove_query_arg(['orderby', 'order', 'paged']); + $base_url = remove_query_arg(['orderby', 'order'], aksrt_homepage_url_del_paged(aksrt_homepage_get_current_url())); $links = []; foreach ($lists as $orderby) { $links[$orderby] = add_query_arg('orderby', $orderby, $base_url); @@ -176,12 +176,12 @@ if (!function_exists('aksrt_archive_render_stream')) : 'query_context' => 'archive', 'empty_text' => __('暂无文章', 'aksrt'), 'stream_class' => '', - 'ajax_enabled' => false, 'ajax_attrs' => '', + 'filter_html' => '', ]); $classes = [ - 'content-stream', + 'content-stream', 'posts-row', 'ajaxpager', 'content-stream--' . sanitize_html_class((string) $args['page_kind']), ]; if (!empty($args['stream_class'])) { @@ -192,9 +192,6 @@ if (!function_exists('aksrt_archive_render_stream')) : } } } - if (!empty($args['ajax_enabled'])) { - $classes[] = 'is-ajax-enabled'; - } $mode = (string) ($render_config['mode'] ?? 'list'); $has_posts = $query instanceof WP_Query ? $query->have_posts() : have_posts(); @@ -204,12 +201,9 @@ if (!function_exists('aksrt_archive_render_stream')) : data-page-kind="" data-render-mode="" data-list-type="" - - data-ajax-wrap - data-query-context="" - > + ' . aksrt_render_placeholder( @@ -232,14 +226,12 @@ if (!function_exists('aksrt_archive_render_stream')) : . ''; aksrt_render_post_list(array_merge($render_config, [ - 'wrapper_class' => 'content-stream__list', + 'skip_wrapper' => true, 'append_inner_html' => $pagination_html . $loader_html, ]), $query); ?> -
    -

    -
    +
    query_vars['aksrt_hottest_order'])) { + return $clauses; + } + + global $wpdb; + $clauses['join'] .= " LEFT JOIN {$wpdb->commentmeta} AS aksrt_cm_hot ON ({$wpdb->comments}.comment_ID = aksrt_cm_hot.comment_id AND aksrt_cm_hot.meta_key = 'aksrt_comment_likes')"; + $clauses['orderby'] = 'CAST(COALESCE(aksrt_cm_hot.meta_value, 0) AS UNSIGNED) DESC, ' . $wpdb->comments . '.comment_date_gmt DESC'; + return $clauses; +}, 20, 2); + if (!function_exists('aksrt_comment_box_visible')) : /** * Whether the comment module may render for the current visitor. @@ -103,14 +108,12 @@ if (!function_exists('aksrt_comments_build_context')) : 'nested_depth' => 3, 'require_login' => false, 'avatar_size' => 48, - 'empty_text' => __('暂无评论,来做第一个评论的人吧~', 'aksrt'), ]; - $default_order = (($settings['order'] ?? 'desc') === 'asc') ? 'oldest' : 'newest'; $order = isset($_GET['aksrt_comment_order']) ? sanitize_key((string) wp_unslash($_GET['aksrt_comment_order'])) - : $default_order; - if (!in_array($order, ['newest', 'oldest', 'hottest'], true)) { + : 'newest'; + if (!in_array($order, ['newest', 'hottest'], true)) { $order = 'newest'; } @@ -126,13 +129,10 @@ if (!function_exists('aksrt_comments_build_context')) : 'current_user' => wp_get_current_user(), 'require_login' => !empty($settings['require_login']), 'order' => $order, - 'reverse_comments' => $order === 'newest', - 'is_hottest' => $order === 'hottest', 'author_only' => isset($_GET['aksrt_author_only']) && (int) $_GET['aksrt_author_only'] === 1, 'post_author_id' => (int) get_the_author_meta('ID'), 'avatar_size' => $avatar_size, 'max_depth' => max(1, (int) ($settings['nested_depth'] ?? 3)), - 'empty_text' => (string) ($settings['empty_text'] ?? __('暂无评论,来做第一个评论的人吧~', 'aksrt')), 'toolbar' => $toolbar, 'upload_enabled' => !empty($toolbar['upload_img']), 'link_enabled' => !empty($toolbar['link']), @@ -140,7 +140,7 @@ if (!function_exists('aksrt_comments_build_context')) : 'box_placeholder' => (string) ($settings['box_placeholder'] ?? __('说点什么吧...', 'aksrt')), 'submit_text' => (string) ($settings['submit_text'] ?? __('提交评论', 'aksrt')), 'title_text' => (string) ($settings['title'] ?? __('评论', 'aksrt')), - 'corderby_enabled' => !empty($settings['corderby']), + 'corderby_enabled' => !empty($settings['corderby']) && !empty($settings['like_enabled']), 'close_comments' => !empty($settings['close_comments']), 'box_hidden' => !aksrt_comment_box_visible(), 'oauth_providers' => class_exists('\AKSRT\Auth\OAuth') @@ -150,26 +150,6 @@ if (!function_exists('aksrt_comments_build_context')) : } endif; -if (!function_exists('aksrt_comments_apply_hottest_order')) : - /** - * Apply hottest-order SQL once for the current comments query. - */ - function aksrt_comments_apply_hottest_order(): void { - static $applied = false; - if ($applied) { - return; - } - $applied = true; - - add_filter('comments_clauses', static function ($clauses) { - global $wpdb; - $clauses['join'] .= " LEFT JOIN {$wpdb->commentmeta} AS aksrt_cm ON ({$wpdb->comments}.comment_ID = aksrt_cm.comment_id AND aksrt_cm.meta_key = 'aksrt_comment_likes')"; - $clauses['orderby'] = 'CAST(aksrt_cm.meta_value AS UNSIGNED) DESC, ' . $clauses['orderby']; - return $clauses; - }); - } -endif; - if (!function_exists('aksrt_comments_normalize_order')) : /** @@ -177,13 +157,7 @@ if (!function_exists('aksrt_comments_normalize_order')) : */ function aksrt_comments_normalize_order(string $order = ''): string { $order = sanitize_key($order); - if (!in_array($order, ['newest', 'oldest', 'hottest'], true)) { - $settings = class_exists('\AKSRT\Settings\Settings') - ? \AKSRT\Settings\Settings::get_comment_display_settings() - : []; - $order = (($settings['order'] ?? 'desc') === 'asc') ? 'oldest' : 'newest'; - } - if (!in_array($order, ['newest', 'oldest', 'hottest'], true)) { + if (!in_array($order, ['newest', 'hottest'], true)) { $order = 'newest'; } return $order; @@ -212,7 +186,7 @@ if (!function_exists('aksrt_comments_query_for_post')) : 'number' => $per_page, 'offset' => ($page - 1) * $per_page, 'orderby' => 'comment_date_gmt', - 'order' => $order === 'oldest' ? 'ASC' : 'DESC', + 'order' => 'DESC', 'hierarchical' => 'threaded', ]; @@ -228,46 +202,13 @@ if (!function_exists('aksrt_comments_query_for_post')) : // WP_Comment_Query does not support mixed status easily; keep approve only for list fragment. } - // Hottest uses meta_value_num when meta exists; fall back to date. - $hottest_filter = null; if ($order === 'hottest') { - $query_args['orderby'] = 'meta_value_num'; - $query_args['meta_key'] = 'aksrt_comment_likes'; - $query_args['order'] = 'DESC'; - // Ensure comments without like meta still appear. - $query_args['meta_query'] = [ - 'relation' => 'OR', - [ - 'key' => 'aksrt_comment_likes', - 'compare' => 'EXISTS', - ], - [ - 'key' => 'aksrt_comment_likes', - 'compare' => 'NOT EXISTS', - ], - ]; - // Prefer clauses filter for stable hottest ordering. - $hottest_filter = static function ($clauses) { - global $wpdb; - if (strpos($clauses['join'], 'aksrt_cm_hot') === false) { - $clauses['join'] .= " LEFT JOIN {$wpdb->commentmeta} AS aksrt_cm_hot ON ({$wpdb->comments}.comment_ID = aksrt_cm_hot.comment_id AND aksrt_cm_hot.meta_key = 'aksrt_comment_likes')"; - } - $clauses['orderby'] = 'CAST(COALESCE(aksrt_cm_hot.meta_value, 0) AS UNSIGNED) DESC, ' . $wpdb->comments . '.comment_date_gmt DESC'; - return $clauses; - }; - add_filter('comments_clauses', $hottest_filter, 20); - // Prefer date orderby with clauses override. - $query_args['orderby'] = 'comment_date_gmt'; - unset($query_args['meta_key'], $query_args['meta_query']); + $query_args['aksrt_hottest_order'] = true; } $comment_query = new WP_Comment_Query($query_args); $comments = is_array($comment_query->comments) ? $comment_query->comments : []; - if ($hottest_filter) { - remove_filter('comments_clauses', $hottest_filter, 20); - } - // Pin reorder for page 1 when not author-only. if ($page === 1 && !$author_only && function_exists('aksrt_reorder_pinned_comments')) { $comments = aksrt_reorder_pinned_comments($comments, $post_id); @@ -325,8 +266,6 @@ if (!function_exists('aksrt_comments_render_items_html')) : 'style' => 'ol', 'avatar_size' => $avatar, 'max_depth' => $depth, - 'reverse_top_level' => $reverse, - 'reverse_children' => $reverse, ], $comments); return (string) ob_get_clean(); } @@ -370,9 +309,8 @@ if (!function_exists('aksrt_comments_render_list_fragment')) : 'order' => $order, 'author_only' => $author_only, 'post_author_id' => (int) get_post_field('post_author', $post_id), - 'corderby_enabled' => !empty($settings['corderby']), + 'corderby_enabled' => !empty($settings['corderby']) && !empty($settings['like_enabled']), 'comment_count' => $total, - 'empty_text' => (string) ($settings['empty_text'] ?? __('暂无评论,来做第一个评论的人吧~', 'aksrt')), ]; ob_start(); @@ -623,7 +561,7 @@ if (!function_exists('aksrt_comments_render_filter')) : 0) : ?> - + @@ -652,12 +590,9 @@ if (!function_exists('aksrt_comments_render_empty')) : * @param array $ctx Comments context. */ function aksrt_comments_render_empty(array $ctx): void { - $text = (string) ($ctx['empty_text'] ?? __('暂无评论内容', 'aksrt')); - if (!empty($ctx['author_only'])) { - $text = __('暂无作者评论', 'aksrt'); - } + $text = __('暂无评论内容', 'aksrt'); if (function_exists('aksrt_get_null')) { - echo aksrt_get_null($text, 40, 'null.svg', 'comment comment-null', 280); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo aksrt_get_null($text, 40, 'comment-null.svg', 'comment comment-null', 280); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped return; } echo '

    ' . esc_html($text) . '

    '; @@ -678,10 +613,6 @@ if (!function_exists('aksrt_comments_render')) : return; } - if (!empty($ctx['is_hottest'])) { - aksrt_comments_apply_hottest_order(); - } - set_query_var('aksrt_comment_order', (string) $ctx['order']); set_query_var('aksrt_comment_settings', $ctx['settings']); @@ -707,7 +638,7 @@ if (!function_exists('aksrt_comments_render')) :
      0 || !empty($ctx['author_only']) || have_comments()); + $show_filter = !empty($ctx['corderby_enabled']) && have_comments(); if ($show_filter) { aksrt_comments_render_filter($ctx); } @@ -740,8 +671,6 @@ if (!function_exists('aksrt_comments_render_list_items')) : 'avatar_size' => (int) $ctx['avatar_size'], 'max_depth' => (int) $ctx['max_depth'], 'callback' => 'aksrt_comment_callback', - 'reverse_top_level' => !empty($ctx['reverse_comments']), - 'reverse_children' => !empty($ctx['reverse_comments']), ]); echo aksrt_get_comment_ajax_loader(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if (function_exists('aksrt_render_comment_pagination')) { diff --git a/inc/helpers/aksrt-graphic-card.php b/inc/helpers/aksrt-graphic-card.php index f1b90d65..b99e24b1 100644 --- a/inc/helpers/aksrt-graphic-card.php +++ b/inc/helpers/aksrt-graphic-card.php @@ -135,6 +135,8 @@ if (!function_exists('aksrt_graphic_card')) : $more_safe = $more !== '' ? wp_kses($more, array_merge($allow, [ 'div' => ['class' => true, 'style' => true], 'badge' => ['class' => true], + 'svg' => ['class' => true, 'viewbox' => true, 'aria-hidden' => true], + 'use' => ['href' => true, 'xlink:href' => true], ])) : ''; $text = ''; diff --git a/inc/helpers/aksrt-homepage.php b/inc/helpers/aksrt-homepage.php index 1c14d6e3..4421c59d 100644 --- a/inc/helpers/aksrt-homepage.php +++ b/inc/helpers/aksrt-homepage.php @@ -65,22 +65,18 @@ if (!function_exists('aksrt_homepage_get_tab_configs')) { return []; } - $excluded_cat_ids = array_flip(\AKSRT\Settings\Settings::home_exclude_category_ids()); $configs = []; foreach ($structured_tabs as $tab) { if ($tab['term_id'] <= 0) { continue; } - if (isset($excluded_cat_ids[$tab['term_id']])) { - continue; - } $term = get_term($tab['term_id']); if (!$term || is_wp_error($term)) { continue; } - if ($term->taxonomy !== 'category') { + if ($term->taxonomy !== 'category' || (int) $term->count === 0) { continue; } @@ -106,7 +102,7 @@ if (!function_exists('aksrt_homepage_get_sort_mode')) { : ['modified', 'date', 'views', 'like', 'comment_count', 'favorite', 'rand']; $default_sort = class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_default_sort() - : 'modified'; + : 'date'; $override_sort = get_query_var('aksrt_homepage_sort_override'); $sort = is_string($override_sort) && $override_sort !== '' ? sanitize_key($override_sort) diff --git a/inc/helpers/aksrt-widgets-markup.php b/inc/helpers/aksrt-widgets-markup.php index 40e74c98..af3dd3ea 100644 --- a/inc/helpers/aksrt-widgets-markup.php +++ b/inc/helpers/aksrt-widgets-markup.php @@ -214,7 +214,6 @@ if (!function_exists('aksrt_widget_term_aggregation')) : } $href = esc_url((string) $href); - $icon = ''; $img = aksrt_widget_term_cover_url((int) $term->term_id, true); $img_html = aksrt_graphic_card([ 'class' => '', @@ -228,7 +227,12 @@ if (!function_exists('aksrt_widget_term_aggregation')) : $img_html = '
      ' . $img_html . '
      '; $name = '' . esc_html($term->name) . ''; - $description = '
      ' . esc_html($term->description) . '
      '; + $description = wp_kses_post((string) $term->description); + if ($description === '' && current_user_can('manage_categories')) { + $description = esc_html__('请在WordPress后台-文章-文章分类中添加描述!', 'aksrt') + . '' . esc_html__('立即编辑', 'aksrt') . ''; + } + $description = '
      ' . $description . '
      '; $query_args = [ 'cat' => (string) $term->term_id, @@ -241,14 +245,18 @@ if (!function_exists('aksrt_widget_term_aggregation')) : ]; $query = \AKSRT\WidgetSystem\PostQuery::build($query_args, 1, []); - $meta = '' . sprintf(esc_html__('%s篇文章', 'aksrt'), esc_html(aksrt_format_number(max(0, (int) $query->found_posts)))) . ''; + if (!$query->have_posts()) { + wp_reset_postdata(); + return ''; + } + $meta = '' . sprintf(esc_html__('%s篇文章', 'aksrt'), esc_html((string) max(0, (int) $query->found_posts))) . ''; $meta .= '' . esc_html__('更多文章', 'aksrt') . ''; $meta = '
      ' . $meta . '
      '; $posts_html = ''; while ($query->have_posts()) { $query->the_post(); - $data = aksrt_renderer_collect_post_data(['time_source' => 'date']); + $data = aksrt_renderer_collect_post_data(['time_source' => $args['orderby'] === 'date' ? 'date' : 'modified']); if (!$data) { continue; } @@ -258,20 +266,20 @@ if (!function_exists('aksrt_widget_term_aggregation')) : $post_meta = ''; switch ((string) $args['orderby']) { case 'views': - $post_meta = aksrt_format_number((int) $data['views']); + $post_meta = esc_html__('阅读[', 'aksrt') . aksrt_format_number((int) $data['views']) . ']'; break; case 'favorite': - $post_meta = aksrt_format_number((int) aksrt_get_post_favorites((int) $data['post_id'])); + $post_meta = esc_html__('收藏[', 'aksrt') . aksrt_format_number((int) aksrt_get_post_favorites((int) $data['post_id'])) . ']'; break; case 'like': - $post_meta = aksrt_format_number((int) aksrt_get_post_likes((int) $data['post_id'])); + $post_meta = esc_html__('点赞[', 'aksrt') . aksrt_format_number((int) aksrt_get_post_likes((int) $data['post_id'])) . ']'; break; case 'comment_count': - $post_meta = aksrt_format_number((int) $data['comments']); + $post_meta = esc_html__('评论[', 'aksrt') . aksrt_format_number((int) $data['comments']) . ']'; break; } if ($post_meta === '') { - $post_meta = '' . esc_html((string) $data['time_ago']); + $post_meta = '' . esc_html((string) $data['time_ago']); } $posts_html .= '
      ' . $title . '
      ' . $post_meta . '
      '; } diff --git a/inc/helpers/aksrt-yiyan.php b/inc/helpers/aksrt-yiyan.php index 8b9426db..e0b0c3bd 100644 --- a/inc/helpers/aksrt-yiyan.php +++ b/inc/helpers/aksrt-yiyan.php @@ -9,47 +9,67 @@ defined('ABSPATH') || exit; +add_action('wp_ajax_aksrt_yiyan', 'aksrt_ajax_yiyan'); +add_action('wp_ajax_nopriv_aksrt_yiyan', 'aksrt_ajax_yiyan'); + +if (!function_exists('aksrt_ajax_yiyan')) : + /** Return one random Chinese/English pair from the theme quote file. */ + function aksrt_ajax_yiyan(): void { + $custom_file = WP_CONTENT_DIR . '/yiyan.txt'; + $theme_file = get_template_directory() . '/yiyan/qv-yiyan.txt'; + $file = is_readable($custom_file) ? $custom_file : $theme_file; + $lines = is_readable($file) ? file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : false; + $pairs = []; + + if (is_array($lines)) { + // The first line is the reference file's title; the rest alternate EN/CN. + array_shift($lines); + $lines = array_values(array_map('trim', $lines)); + for ($i = 0, $length = count($lines); $i + 1 < $length; $i += 2) { + if ($lines[$i] !== '' && $lines[$i + 1] !== '') { + $pairs[] = ['en' => $lines[$i], 'cn' => $lines[$i + 1]]; + } + } + } + + if (!$pairs) { + wp_send_json_error(['message' => __('一言内容暂不可用', 'aksrt')], 503); + } + + wp_send_json_success($pairs[array_rand($pairs)]); + } +endif; + if (!function_exists('aksrt_render_yiyan_block')) : /** * Shared 一言 shell for single-post placements (and reusable markup). * - * Hitokoto category `c` must be a letter a–l, or empty for mixed random. - * Client loads quotes via parallel fetches when count > 1. + * Reads bilingual pairs from the bundled reference file and supports the + * same optional wp-content/yiyan.txt override used by the reference theme. * * @param array $args { * @type string $class Extra CSS classes on the root. - * @type string $type Category letter a–l, or empty for random. - * @type int $count Number of quotes to load (1–10). - * @type int $interval Rotation interval in seconds. - * @type string $icon Optional FA icon class; empty = no icon. * } */ function aksrt_render_yiyan_block(array $args = []): void { + echo aksrt_get_yiyan_markup($args); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped by the markup helper. + } + function aksrt_get_yiyan_markup(array $args = []): string { $class = trim((string) ($args['class'] ?? 'aksrt-yiyan')); - $type_raw = strtolower(trim((string) ($args['type'] ?? ''))); - $type = preg_match('/^[a-l]$/', $type_raw) ? $type_raw : ''; - $count = max(1, min(10, (int) ($args['count'] ?? 5))); - $interval = max(3, min(30, (int) ($args['interval'] ?? 8))); - $icon = sanitize_text_field((string) ($args['icon'] ?? '')); if (strpos($class, 'aksrt-yiyan') === false) { $class = trim($class . ' aksrt-yiyan'); } - ?> -
      > -
      - - - -

      -

      -
      - -
      - ' + . '
      ' . esc_html__('加载中…', 'aksrt') . '
      ' + . '
    '; + return $html; } endif; diff --git a/inc/helpers/homepage/layout.php b/inc/helpers/homepage/layout.php index c4262861..8dd0ce08 100644 --- a/inc/helpers/homepage/layout.php +++ b/inc/helpers/homepage/layout.php @@ -120,20 +120,11 @@ if (!function_exists('aksrt_homepage_get_tab_panes_html')) { return ''; } - $is_card = class_exists('\AKSRT\Settings\PostDisplay') - && \AKSRT\Settings\PostDisplay::get_archive_layout() === 'card'; - $is_mobel = wp_is_mobile(); - if ($is_card) { - $placeholder_type = 'card'; - $placeholder_num = $is_mobel ? 4 : 12; - } else { - $placeholder_type = 'list'; - $placeholder_num = $is_mobel ? 4 : 6; - } - $placeholder = aksrt_render_placeholder($placeholder_type, $placeholder_num); - $html = ''; foreach ($tab_configs as $index => $tab_cfg) { + $config = aksrt_archive_get_render_config(['context' => 'category', 'term_id' => (int) $tab_cfg['term_id']]); + $is_card = ($config['mode'] ?? 'list') === 'card'; + $placeholder = aksrt_render_placeholder($is_card ? 'card' : 'list', $is_card ? (wp_is_mobile() ? 4 : 12) : (wp_is_mobile() ? 4 : 6)); $html .= '
    '; $html .= ''; $html .= '
    ' . $placeholder . '
    '; diff --git a/src/Admin/GlobalController.php b/src/Admin/GlobalController.php index 51cf10e7..04fa8c97 100644 --- a/src/Admin/GlobalController.php +++ b/src/Admin/GlobalController.php @@ -93,22 +93,6 @@ class GlobalController extends ControllerBase { 'permission_callback' => [$this, 'check_permission'], ]); - // Archive AJAX filter (public) — §2.5/§2.6/§2.7 - register_rest_route(self::API_NAMESPACE, '/archive/posts', [ - 'methods' => 'GET', - 'callback' => [$this, 'rest_archive_posts'], - 'permission_callback' => '__return_true', - 'args' => [ - 'archive_type' => ['type' => 'string', 'default' => 'category', 'sanitize_callback' => 'sanitize_key'], - 'term_id' => ['type' => 'integer', 'default' => 0, 'sanitize_callback' => 'absint'], - 'filter_cat' => ['type' => 'string', 'default' => '', 'sanitize_callback' => 'sanitize_text_field'], - 'filter_tag' => ['type' => 'string', 'default' => '', 'sanitize_callback' => 'sanitize_text_field'], - 'custom_filter' => ['type' => 'string', 'default' => '', 'sanitize_callback' => 'sanitize_text_field'], - 'sort' => ['type' => 'string', 'default' => 'date', 'sanitize_callback' => 'sanitize_key'], - 'page' => ['type' => 'integer', 'default' => 1, 'sanitize_callback' => 'absint'], - ], - ]); - // Homepage categories (for admin tab editor) register_rest_route(self::API_NAMESPACE, '/homepage/categories', [ 'methods' => 'GET', @@ -164,104 +148,6 @@ class GlobalController extends ControllerBase { return $this->success(['message' => '测试邮件已发送']); } - public function rest_archive_posts(\WP_REST_Request $request): \WP_REST_Response { - $archive_type = sanitize_key((string) ($request->get_param('archive_type') ?: 'category')); - $archive_type = in_array($archive_type, ['category', 'tag'], true) ? $archive_type : 'category'; - $term_id = absint($request->get_param('term_id')); - $page = max(1, absint($request->get_param('page'))); - $page_settings = $archive_type === 'tag' - ? \AKSRT\Settings\Settings::get_tag_page_settings() - : \AKSRT\Settings\Settings::get_category_page_settings(); - $per_page = min(50, max(1, (int) ($page_settings['per_page'] ?? get_option('posts_per_page', 10)))); - $sort = sanitize_key((string) ($request->get_param('sort') ?: 'date')); - $allowed_sorts = \AKSRT\Settings\Settings::homepage_allowed_sorts(); - if (!in_array($sort, $allowed_sorts, true)) { - $sort = 'date'; - } - - $args = [ - 'post_type' => 'post', - 'post_status' => 'publish', - 'posts_per_page' => $per_page, - 'paged' => $page, - 'ignore_sticky_posts' => true, - ]; - $tax_query = []; - if ($term_id > 0) { - $tax_query[] = [ - 'taxonomy' => $archive_type === 'tag' ? 'post_tag' : 'category', - 'field' => 'term_id', - 'terms' => [$term_id], - ]; - } - $filter_cat = absint($request->get_param('filter_cat')); - $filter_tag = absint($request->get_param('filter_tag')); - if ($filter_cat > 0) { - $tax_query[] = ['taxonomy' => 'category', 'field' => 'term_id', 'terms' => [$filter_cat]]; - } - if ($filter_tag > 0) { - $tax_query[] = ['taxonomy' => 'post_tag', 'field' => 'term_id', 'terms' => [$filter_tag]]; - } - if ($tax_query !== []) { - $args['tax_query'] = $tax_query; - } - - // 自定义高级筛选维度(custom_filter=JSON {dim_key:value};参考主题 meta_query LIKE 语义)。 - $custom_raw = (string) $request->get_param('custom_filter'); - $custom = $custom_raw !== '' ? json_decode($custom_raw, true) : []; - if (is_array($custom) && $custom !== []) { - $filter_cfg = \AKSRT\Settings\Settings::get_post_filter_settings(); - $allowed = []; - foreach ($filter_cfg['custom_filter'] as $dimension) { - $dim_key = sanitize_key((string) ($dimension['key'] ?? '')); - if ($dim_key === '') { - continue; - } - $vals = []; - foreach ((array) ($dimension['vals'] ?? []) as $val) { - $vkey = sanitize_key((string) ($val['key'] ?? '')); - if ($vkey !== '') { - $vals[] = $vkey; - } - } - $allowed[$dim_key] = $vals; - } - $meta_query = []; - foreach ($custom as $dim_key => $dim_value) { - $dim_key = sanitize_key((string) $dim_key); - $dim_value = sanitize_key((string) $dim_value); - if ($dim_key === '' || $dim_value === '' || !isset($allowed[$dim_key]) || !in_array($dim_value, $allowed[$dim_key], true)) { - continue; - } - $meta_query[] = [ - 'key' => '_aksrt_cf_' . $dim_key, - 'value' => '"' . $dim_value . '"', - 'compare' => 'LIKE', - ]; - } - if ($meta_query !== []) { - $args['meta_query'] = $meta_query; - } - } - if (function_exists('aksrt_homepage_apply_named_sort_args')) { - $args = aksrt_homepage_apply_named_sort_args($args, $sort); - } - - $query = new \WP_Query($args); - $render_config = aksrt_resolve_post_list_render_config([ - 'context' => $archive_type, - 'term_id' => $archive_type === 'category' ? $term_id : 0, - ]); - $render_config['skip_wrapper'] = true; - $html = aksrt_render_post_list($render_config, $query, false); - - return $this->success([ - 'html' => $html, - 'total' => (int) $query->found_posts, - 'has_more' => $page < (int) $query->max_num_pages, - ]); - } - public function rest_homepage_categories(): \WP_REST_Response { $data = []; diff --git a/src/Core/TermMeta.php b/src/Core/TermMeta.php index a3d4e7a2..58e4e247 100644 --- a/src/Core/TermMeta.php +++ b/src/Core/TermMeta.php @@ -96,7 +96,11 @@ class TermMeta { $cover_url = isset($saved['cover_url']) ? esc_url_raw((string) $saved['cover_url']) : ''; if ($cover_url === '' && !empty($global['cover_enabled'])) { - $cover_url = esc_url_raw((string) ($global['default_cover'] ?? '')); + $cover_id = (int) get_term_meta($term->term_id, 'aksrt_category_cover_id', true); + $cover_url = $cover_id > 0 ? (string) wp_get_attachment_url($cover_id) : ''; + if ($cover_url === '') { + $cover_url = esc_url_raw((string) ($global['default_cover'] ?? '')); + } } $description = isset($saved['description']) ? sanitize_textarea_field((string) $saved['description']) : ''; @@ -138,7 +142,7 @@ class TermMeta { 'taxonomy' => $taxonomy, 'header_style' => $header_style, 'show_sidebar' => $sidebar_enabled, - 'show_cover' => $header_style === 'cover' && !empty($global['cover_enabled']) && $cover_url !== '', + 'show_cover' => $header_style === 'cover' && !empty($global['cover_enabled']), 'show_desc' => $taxonomy === 'post_tag' ? $description !== '' : (!empty($global['desc_enabled']) && $description !== ''), 'filter_bar' => !empty($global['filter_bar']) || $ajax_category_enabled || $ajax_tag_enabled || $orderby_enabled || !empty($custom_filter['custom_enabled']), 'post_count' => !empty($global['post_count']), @@ -198,18 +202,6 @@ class TermMeta { $query->set('posts_per_page', (int) $settings['per_page']); } - $tax_query = is_array($query->get('tax_query')) ? $query->get('tax_query') : []; - $filter_cat = isset($_GET['aksrt_filter_cat']) ? absint(wp_unslash($_GET['aksrt_filter_cat'])) : 0; - $filter_tag = isset($_GET['aksrt_filter_tag']) ? absint(wp_unslash($_GET['aksrt_filter_tag'])) : 0; - if ($filter_cat > 0) { - $tax_query[] = ['taxonomy' => 'category', 'field' => 'term_id', 'terms' => [$filter_cat]]; - } - if ($filter_tag > 0) { - $tax_query[] = ['taxonomy' => 'post_tag', 'field' => 'term_id', 'terms' => [$filter_tag]]; - } - if ($tax_query !== []) { - $query->set('tax_query', $tax_query); - } // 自定义高级筛选维度 meta 过滤(参考主题 zib_sift_posts_per_page:meta_query LIKE; // meta 值为序列化数组,用带引号精确匹配避免前缀误命中)。 diff --git a/src/Settings/HomeCms.php b/src/Settings/HomeCms.php index b14293e9..f9875cbf 100644 --- a/src/Settings/HomeCms.php +++ b/src/Settings/HomeCms.php @@ -104,7 +104,6 @@ class HomeCms { public static function get_homepage_fixed_settings(): array { $s = Settings::read_domain('page_display', 'homepage'); - $allowed_sorts = self::homepage_allowed_sorts(); // Canonical legacy-aligned primary list contract. $main_list_enabled = !array_key_exists('home_posts_list_s', $s) || !empty($s['home_posts_list_s']); @@ -113,19 +112,11 @@ class HomeCms { $orderby_option = isset($s['home_list1_orderby_option']) && is_array($s['home_list1_orderby_option']) ? $s['home_list1_orderby_option'] : []; - $sort_options_raw = $orderby_option['lists'] ?? []; + $sort_options_raw = $orderby_option['lists'] ?? ['modified', 'views', 'like', 'comment_count']; if (!is_array($sort_options_raw)) { $sort_options_raw = []; } $sort_options = self::normalize_sort_options($sort_options_raw); - $default_sort = sanitize_key((string) ($sort_options[0] ?? 'modified')); - if (!in_array($default_sort, $allowed_sorts, true)) { - $default_sort = 'modified'; - } - if (!in_array($default_sort, $sort_options, true)) { - array_unshift($sort_options, $default_sort); - $sort_options = array_values(array_unique($sort_options)); - } $list_title = wp_kses_post((string) ($s['index_list_title'] ?? '')); @@ -171,8 +162,7 @@ class HomeCms { } public static function homepage_default_sort(): string { - $settings = self::get_homepage_fixed_settings(); - return $settings['home_list1_orderby_option']['lists'][0] ?? 'modified'; + return 'date'; } public static function home_posts_list_enabled(): bool { @@ -223,10 +213,6 @@ class HomeCms { } } - if (empty($result)) { - $result = ['modified', 'views', 'like', 'comment_count']; - } - return $result; } diff --git a/src/WidgetSystem/AdminFormController.php b/src/WidgetSystem/AdminFormController.php index 95f018da..994e51ce 100644 --- a/src/WidgetSystem/AdminFormController.php +++ b/src/WidgetSystem/AdminFormController.php @@ -31,14 +31,22 @@ final class AdminFormController { aksrt_icon_picker_assets(['wp-color-picker']); wp_enqueue_script('aksrt-widget-admin-core', AKSRT_URI . '/assets/widgets/admin-core.js', [], AKSRT_VERSION, true); wp_enqueue_script('aksrt-widget-admin', AKSRT_URI . '/assets/widgets/admin.js', ['jquery', 'jquery-ui-sortable', 'wp-color-picker', 'aksrt-widget-admin-core'], AKSRT_VERSION, true); + $sidebars = []; + foreach ((array) ($GLOBALS['wp_registered_sidebars'] ?? []) as $id => $sidebar) { + $sidebars[(string) $id] = (string) ($sidebar['name'] ?? $id); + } wp_localize_script('aksrt-widget-admin', 'aksrtWidgetAdmin', [ 'ajaxUrl' => admin_url('admin-ajax.php'), 'action' => self::AJAX_ACTION, 'nonce' => wp_create_nonce(self::NONCE_ACTION), 'transferNonce' => wp_create_nonce('aksrt_widgets_transfer'), + 'sidebars' => $sidebars, 'i18n' => [ 'loading' => __('正在加载模块配置…', 'aksrt'), 'error' => __('加载失败,请重试。', 'aksrt'), + 'export' => __('导出', 'aksrt'), + 'import' => __('导入', 'aksrt'), + 'template' => __('应用模板', 'aksrt'), ], ]); } @@ -60,6 +68,10 @@ final class AdminFormController { $widget->_set($number); $settings = $widget->get_settings(); $instance = isset($settings[$number]) && is_array($settings[$number]) ? $settings[$number] : []; + $instance = apply_filters('widget_form_callback', $instance, $widget); + if (!is_array($instance)) { + $instance = []; + } ob_start(); $widget->render_full_form($instance); $html = (string) ob_get_clean(); diff --git a/src/WidgetSystem/AssetManager.php b/src/WidgetSystem/AssetManager.php index 4ed41684..70e4bca7 100644 --- a/src/WidgetSystem/AssetManager.php +++ b/src/WidgetSystem/AssetManager.php @@ -34,7 +34,6 @@ final class AssetManager { if (!self::$configured) { $config = [ 'restUrl' => esc_url_raw(rest_url('aksrt/v1/widgets/')), - 'quoteUrl' => esc_url_raw(rest_url('aksrt/v1/widgets/quote')), 'i18n' => [ 'loading' => __('正在加载…', 'aksrt'), 'error' => __('加载失败,请重试。', 'aksrt'), @@ -57,7 +56,9 @@ final class AssetManager { $js = $root . '/assets/widgets/frontend.js'; wp_register_style(self::STYLE_HANDLE, $uri . '/assets/widgets/frontend.css', ['aksrt-public'], is_file($css) ? (string) filemtime($css) : null); wp_register_style('aksrt-pay-box', $uri . '/assets/css/frontend/pay-box.css', ['aksrt-public'], is_file($pay_css) ? (string) filemtime($pay_css) : null); - wp_register_script(self::SCRIPT_HANDLE, $uri . '/assets/widgets/frontend.js', ['loader_js'], is_file($js) ? (string) filemtime($js) : null, true); + $yiyan_js = $root . '/assets/js/yiyan.js'; + wp_register_script('aksrt-yiyan', $uri . '/assets/js/yiyan.js', ['loader_js'], is_file($yiyan_js) ? (string) filemtime($yiyan_js) : null, true); + wp_register_script(self::SCRIPT_HANDLE, $uri . '/assets/widgets/frontend.js', ['loader_js', 'aksrt-yiyan'], is_file($js) ? (string) filemtime($js) : null, true); $third_party = $uri . '/assets/widgets/third-party/'; wp_register_script('aksrt-widget-hls', $third_party . 'hls.min.js', [], 'reference-pinned', true); wp_register_script('aksrt-widget-flv', $third_party . 'flv.min.js', [], 'reference-pinned', true); diff --git a/src/WidgetSystem/FormRenderer.php b/src/WidgetSystem/FormRenderer.php index f58fd9df..d01b43b1 100644 --- a/src/WidgetSystem/FormRenderer.php +++ b/src/WidgetSystem/FormRenderer.php @@ -121,14 +121,37 @@ final class FormRenderer { $image = is_array($label) ? (string) ($label['image'] ?? $label['url'] ?? '') : (string) $label; $text = is_array($label) ? (string) ($label['label'] ?? $label['title'] ?? $key) : (string) $label; if ($type === 'image_select' && $text === $image) $text = (string) $key; - $body = $type === 'image_select' && filter_var($image, FILTER_VALIDATE_URL) - ? '' . esc_attr($text) . '' . esc_html($text) . '' - : esc_html($text); + if ($type === 'image_select' && filter_var($image, FILTER_VALIDATE_URL)) { + $body = '' . esc_attr($text) . '' . esc_html($text) . ''; + } elseif ($type === 'palette') { + $body = '' . esc_html($text) . ''; + } else { + $body = esc_html($text); + } echo ''; } echo '
    '; } + private static function palette_color(string $key): string { + $colors = [ + '' => '#fff', 'c-red' => 'rgba(255,84,115,.4)', 'c-red-2' => 'rgba(194,41,46,.4)', + 'c-yellow' => 'rgba(255,111,6,.4)', 'c-yellow-2' => 'rgba(179,103,8,.4)', 'c-cyan' => 'rgba(8,196,193,.4)', + 'c-blue' => 'rgba(41,151,247,.4)', 'c-blue-2' => 'rgba(77,130,249,.4)', 'c-green' => 'rgba(18,185,40,.4)', + 'c-green-2' => 'rgba(72,135,24,.4)', 'c-purple' => 'rgba(213,72,245,.4)', 'c-purple-2' => 'rgba(154,72,245,.4)', + 'b-red' => '#f74b3d', 'b-yellow' => '#f3920a', 'b-cyan' => '#08c4c1', 'b-blue' => '#0a8cf3', + 'b-green' => '#1fd05a', 'b-purple' => '#c133f5', 'b-black' => '#121517', + 'jb-red' => 'linear-gradient(135deg,#ffbeb4 10%,#f61a1a 100%)', 'jb-pink' => 'linear-gradient(135deg,#ff5e7f 30%,#ff967e 100%)', + 'jb-yellow' => 'linear-gradient(135deg,#ffd6b2 10%,#ff651c 100%)', 'jb-cyan' => 'linear-gradient(140deg,#039ab3 10%,#58dbcf 90%)', + 'jb-blue' => 'linear-gradient(135deg,#b6e6ff 10%,#198aff 100%)', 'jb-green' => 'linear-gradient(135deg,#ccffcd 10%,#52bb51 100%)', + 'jb-purple' => 'linear-gradient(135deg,#fec2ff 10%,#d000de 100%)', 'jb-vip1' => 'linear-gradient(25deg,#eab869 10%,#fbecd4 60%,#ffe0ae 100%)', + 'jb-vip2' => 'linear-gradient(317deg,#4d4c4c 30%,#878787 70%,#5f5c5c 100%)', + 'focus-color' => 'linear-gradient(135deg,#74d5f6,#9866ff)', 'key-color' => '#333', 'muted-color' => '#777', + 'muted-2-color' => '#999', 'muted-3-color' => '#b1b1b1', + ]; + return $colors[$key] ?? '#dcdcde'; + } + private static function select(string $id, string $name, array $field, $value): void { $multiple = !empty($field['multiple']); echo ' - - - - -
    -

    - - - - - - -
    -
    -

    - - - - - -
    - - -
    -
    - - + ' . esc_html__('小工具区域', 'aksrt') . ''; - } - private static function mode_select(): void { echo ''; } diff --git a/src/WidgetSystem/WidgetCatalog.php b/src/WidgetSystem/WidgetCatalog.php index 9677245a..dee93d2c 100644 --- a/src/WidgetSystem/WidgetCatalog.php +++ b/src/WidgetSystem/WidgetCatalog.php @@ -13,7 +13,7 @@ final class WidgetCatalog { 'general' => [ ['search', '搜索框', '显示多种样式的站内搜索框', 'sidebar'], ['posts_toc', '文章目录树', '显示当前文章的标题目录', 'sidebar'], - ['quote', '一言', '定时切换本地或在线句子', 'sidebar'], + ['quote', '一言', '显示并定时切换中英文一言', 'sidebar'], ['icon_cards', '图标卡片(竖版)', '图标在文字上方的特色卡片', 'wide'], ['video', '视频', '支持常规视频与流媒体格式', 'any'], ['embed', '超级嵌入', '按比例嵌入外部在线内容', 'any'], diff --git a/src/WidgetSystem/WidgetSchemas.php b/src/WidgetSystem/WidgetSchemas.php index ba1b1264..3a5a955b 100644 --- a/src/WidgetSystem/WidgetSchemas.php +++ b/src/WidgetSystem/WidgetSchemas.php @@ -43,11 +43,7 @@ final class WidgetSchemas { ['id' => 'in_affix', 'type' => 'switcher', 'label' => '侧栏随动(仅在侧边栏有效)', 'default' => false], ]; case 'quote': - return [ - ['id' => 'source', 'type' => 'select', 'label' => '内容来源', 'default' => 'local', 'options' => ['local' => '本地句子', 'api' => '在线一言']], - ['id' => 'quotes', 'type' => 'textarea', 'label' => '本地句子', 'description' => '每行一句', 'default' => "保持好奇,持续创造。\n知识因为分享而更有价值。"], - ['id' => 'interval', 'type' => 'spinner', 'label' => '自动更新间隔(秒)', 'default' => 30, 'min' => 5, 'max' => 300], - ]; + return []; case 'video': return [ ['id' => 'url', 'type' => 'upload', 'label' => '视频地址', 'default' => ''], diff --git a/tag.php b/tag.php index 5f1b9c44..60eef5c2 100644 --- a/tag.php +++ b/tag.php @@ -43,13 +43,13 @@ $render_config = function_exists('aksrt_archive_get_render_config') $filter_groups = []; if (!empty($archive_settings['ajax_category_enabled']) && function_exists('aksrt_archive_build_term_filter_group')) { - $group = aksrt_archive_build_term_filter_group('category', (array) ($archive_settings['ajax_category'] ?? []), __('分类', 'aksrt'), $ajax_filter); + $group = aksrt_archive_build_term_filter_group('category', (array) ($archive_settings['ajax_category'] ?? []), __('分类', 'aksrt')); if ($group !== []) { $filter_groups[] = $group; } } if (!empty($archive_settings['ajax_tag_enabled']) && function_exists('aksrt_archive_build_term_filter_group')) { - $group = aksrt_archive_build_term_filter_group('post_tag', (array) ($archive_settings['ajax_tag'] ?? []), __('标签', 'aksrt'), $ajax_filter); + $group = aksrt_archive_build_term_filter_group('post_tag', (array) ($archive_settings['ajax_tag'] ?? []), __('标签', 'aksrt')); if ($group !== []) { $filter_groups[] = $group; } @@ -59,8 +59,7 @@ if (!empty($archive_settings['custom_filter_enabled']) && function_exists('aksrt $filter_groups, aksrt_archive_build_custom_filter_groups( (array) ($archive_settings['custom_dimensions'] ?? []), - $archive_settings['custom_filter_keys'] ?? 'all', - $ajax_filter + $archive_settings['custom_filter_keys'] ?? 'all' ) ); } @@ -85,7 +84,7 @@ if (function_exists('aksrt_archive_open_shell')) { 'header_style' => $header_style, 'show_cover' => !empty($archive_settings['show_cover']), 'cover_url' => (string) ($archive_settings['cover_url'] ?? ''), - 'eyebrow' => __('标签归档', 'aksrt'), + 'post_count' => !empty($archive_settings['post_count']), 'title' => single_tag_title('', false), 'description' => $description, 'admin_path' => 'page-display/tag', @@ -97,17 +96,13 @@ if (function_exists('aksrt_archive_open_shell')) { $ajax_filter, - 'ajax_archive' => 'tag', - 'term_id' => (int) $term->term_id, 'aria_label' => __('标签工具条', 'aksrt'), - 'meta_text' => !empty($archive_settings['post_count']) ? sprintf(_n('%d 篇文章', '%d 篇文章', (int) $term->count, 'aksrt'), (int) $term->count) : '', 'groups' => $filter_groups, 'sort_enabled' => !empty($archive_settings['orderby_enabled']), 'sort_current' => $current_sort, 'sort_links' => $sort_links, 'sort_labels' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_sort_labels() : [], - 'sort_as_main' => true, + 'sort_option' => (array) $archive_settings['orderby_option'], ]); } ?> @@ -119,7 +114,6 @@ if (function_exists('aksrt_archive_open_shell')) { 'query_context' => 'archive', 'stream_class' => 'archive__ajax-wrap content-stream--archive content-stream--tag', 'empty_text' => __('该标签下暂无文章', 'aksrt'), - 'ajax_enabled' => $ajax_filter, ]); } ?> diff --git a/tests/admin/filter-settings-reference-contract.test.cjs b/tests/admin/filter-settings-reference-contract.test.cjs index 286cb266..93fb5c45 100644 --- a/tests/admin/filter-settings-reference-contract.test.cjs +++ b/tests/admin/filter-settings-reference-contract.test.cjs @@ -21,7 +21,7 @@ const termMeta = read('src/Core/TermMeta.php'); const filtersHelper = read('inc/helpers/aksrt-archive-filters.php'); const categoryTpl = read('category.php'); const tagTpl = read('tag.php'); -const archiveJs = read('assets/js/core/archive.js'); +const listJs = read('assets/js/runtime/main.js'); const globalController = read('src/Admin/GlobalController.php'); // 参考主题字段键(顺序即参考主题定义顺序)。 @@ -150,18 +150,16 @@ test('前台链路:覆盖与门禁(参考主题 zib-category.php 语义)', test('前台链路:维度筛选渲染与查询过滤', () => { // 渲染:维度 chip 组(全部 chip 参考主题 focus 语义)。 assert.match(filtersHelper, /function aksrt_archive_build_custom_filter_groups\(/); - assert.match(filtersHelper, /data-filter-dim/); + assert.match(filtersHelper, /ajax-replace="true" class="ajax-next/); assert.match(filtersHelper, /\$keys !== 'all' && !in_array\(\$dim_key, \(array\) \$keys, true\)/); assert.match(categoryTpl, /aksrt_archive_build_custom_filter_groups\(/); assert.match(tagTpl, /aksrt_archive_build_custom_filter_groups\(/); // 查询:_aksrt_cf_{key} meta_query LIKE(主查询 + AJAX 端点)。 assert.match(termMeta, /'_aksrt_cf_' \. \$dim_key/); assert.match(termMeta, /'compare'\s*=>\s*'LIKE'/); - assert.match(globalController, /'custom_filter'\s*=>\s*\['type' => 'string'/); - assert.match(globalController, /json_decode\(\$custom_raw, true\)/); - assert.match(globalController, /'_aksrt_cf_' \. \$dim_key/); - // JS:维度 chip 状态、请求参数与 URL 同步。 - assert.match(archiveJs, /data-filter-dim/); - assert.match(archiveJs, /JSON\.stringify\(state\.custom\)/); - assert.match(archiveJs, /state\.custom\[dimKey\]/); + // Category filtering uses the same HTML AJAX pipeline as the homepage. + assert.doesNotMatch(globalController, /rest_archive_posts|\/archive\/posts/); + assert.match(listJs, /win-ajax-replace/); + assert.match(listJs, /post_ajax/); + assert.match(filtersHelper, /'key'\s*=>\s*'_aksrt_cf_|\$dim_key/); }); diff --git a/tests/reference-alignment-2026-10-29.md b/tests/reference-alignment-2026-10-29.md new file mode 100644 index 00000000..4c0f854f --- /dev/null +++ b/tests/reference-alignment-2026-10-29.md @@ -0,0 +1,45 @@ +# 首页、分类与新版小工具对齐记录 + +参考目录:`C:\Users\Xing\Desktop\zibll`。对照当前启用的实现,不使用标记为旧版或即将删除的文章小工具。 + +## 七项改动 + +| 任务 | 实现与修正 | 主要参考源码 | +| --- | --- | --- | +| 首页 | 恢复 14px 基础字号和参考行高;清除首页额外卡片、导航和分页覆盖;默认按发布时间排序;允许清空排序按钮;栏目骨架采用对应分类的列表模式 | `index.php`、`inc/functions/zib-index.php`、`inc/functions/zib-category.php` | +| 分类页 | 封面、标题计数、描述、搜索入口、分页提示和筛选菜单结构对齐;分类与下拉项分开;子分类按层级展开;筛选使用通用 HTML 列表加载机制 | `category.php`、`inc/functions/zib-category.php` | +| 多栏目文章 | 采用新版 `widget-tab-post` 的 list/card/mini 结构;恢复导航间距、mini 内边距和下划线;保存已加载栏目和翻页内容;列表模式禁用全局多图/无图模式干扰 | `inc/widgets/widget-posts.php` 的 `zib_widget_ui_tab_post`、`css/main.css` | +| 分类聚合卡片 | SVG 白名单保留火焰;时钟、文章统计改为线框字形并修正字重;更新时间随排序来源变化;恢复各类统计文案;空分类不产生空白列 | `inc/functions/zib-category.php` 的 `zib_term_aggregation`、`inc/functions/zib-theme.php` | +| 后台小工具 | 按区域操作工具条、单一导入/导出/模板弹窗、自定义器移除按钮;表单懒加载、失败重试、折叠分组、色样和分类勾选行为 | `inc/widgets/widget-index.php`、`js/widget-set.js`、当前 `inc/csf-framework` | +| 一言 | 文章内一言和新版小工具共用本地双语句库、点击切换和 30 秒刷新;保留参考主题的自定义句库入口 | `yiyan/qv-yiyan.php`、`yiyan/qv-yiyan.txt`、`js/main.js` | +| 评论区 | 最新查询固定 DESC;最热按点赞与时间排序且保留无点赞元数据的评论;空态插图、文案和筛选栏显示条件对齐 | `template/comments.php`、`inc/functions/zib-comments-list.php`、`css/main.css` | + +已删除独立分类 REST 筛选端点与 `assets/js/core/archive.js`,以及在线一言 REST 接口、旧一言来源配置、后台常驻三栏工具面板和被替代的样式。没有添加迁移或兼容双路。 + +## 验证 + +- `node tools/build-public-assets.mjs`:通过,公共 CSS 和前台运行时资源已更新。 +- `assets/admin` 中 `npm run build`:通过,SPA 和 NaiveUI 样式已生成。 +- 所有改动及新增 PHP 文件的 `php -l`:通过。 +- 改动 JavaScript 的 `node --check`:通过。 +- `php tests/widget-system/run.php`:139 项断言通过。 +- 递归执行 `tests/` 下全部 `*.test.cjs`,包含小工具、后台、导航和投稿测试:760 项全部通过,无失败、跳过或取消。 +- `git diff --check`:通过。 + +新增发现页渲染、评论排序行为、一言和后台表单契约测试。分类页头覆盖首屏计数、默认封面、搜索、第二页和简洁标题;小工具覆盖 SVG、行内/下拉分离、栏目缓存标记、数字分页和 mini 样式。渲染 harness 使用轻量 WordPress 桩,未启动真实 WordPress。 + +按任务要求,没有进行浏览器截图对比或真实视觉效果验收。 + +## 既有 8 项失败的修复 + +这些失败均由模块拆分或资源打包后未更新的测试契约引起。已核对现有实现并保留原有功能校验,没有恢复旧实现或删除断言来掩盖失败: + +- `financial-flow-contract.test.cjs`:提现历史交互已经拆到 `credits-withdraw-history.js`,测试改为检查该模块;每页 10 条、到账金额、时间、隐私字段等原有断言保留。 +- `referral-qr-contract.test.cjs`:推广海报已拆到 `credits-affiliate.js`,测试改为检查真实模块及其本地二维码依赖;画布、弹窗静止隐藏和复制等原有功能断言保留。 +- `toast-contract.test.cjs`:缓存版本现在取全部 runtime JS 文件的最新修改时间,校验更新为该机制,继续禁止旧支付运行时入口。 +- `vip-modal-skeleton.test.cjs`:用户菜单样式已经并入公共 CSS,校验改为公共包仅包含一次且不再单独入队,与导航契约一致。 + +另新增两项实际行为测试: + +- `withdrawal-history-runtime.test.cjs`:执行真实提现历史脚本,验证打开弹窗、第一页和第二页请求、固定每页 10 条、到账金额渲染及隐藏私有 note。 +- `runtime-assets-behavior-contract.test.cjs`:通过 PHP harness 调用真实 `ScriptsPart1c`,验证主运行时文件更新、叶子模块更新及无文件时的主题版本回退。 diff --git a/tests/widget-system/comment-order-behavior.php b/tests/widget-system/comment-order-behavior.php new file mode 100644 index 00000000..28728fa6 --- /dev/null +++ b/tests/widget-system/comment-order-behavior.php @@ -0,0 +1,94 @@ + */ + public array $query_vars; + + /** @param array $query_vars */ + public function __construct(array $query_vars) { + $this->query_vars = $query_vars; + } +} + +final class AKSRT_Test_WPDB { + public string $comments = 'wp_comments'; + public string $commentmeta = 'wp_commentmeta'; +} + +$GLOBALS['wpdb'] = new AKSRT_Test_WPDB(); +$GLOBALS['aksrt_test_filters'] = []; + +function add_filter(string $tag, callable $callback, int $priority = 10, int $accepted_args = 1): void { + $GLOBALS['aksrt_test_filters'][$tag][] = [$callback, $priority, $accepted_args]; +} + +function sanitize_key(string $key): string { + return strtolower(preg_replace('/[^a-z0-9_\-]/', '', $key) ?? ''); +} + +function wp_unslash($value) { + return $value; +} + +function aksrt_test_apply_comments_clauses(array $clauses, WP_Comment_Query $query): array { + $filters = $GLOBALS['aksrt_test_filters']['comments_clauses'] ?? []; + usort($filters, static fn (array $a, array $b): int => $a[1] <=> $b[1]); + foreach ($filters as [$callback, $priority, $accepted_args]) { + $clauses = $callback($clauses, $query); + } + return $clauses; +} + +require __DIR__ . '/../../inc/helpers/aksrt-comments.php'; + +$newest_args = aksrt_comments_template_query_args(['order' => 'ASC']); +if (($newest_args['order'] ?? '') !== 'DESC' || ($newest_args['orderby'] ?? '') !== 'comment_date_gmt') { + throw new RuntimeException('The newest tab must use descending comment date order regardless of the WordPress discussion setting.'); +} + +$_GET['aksrt_comment_order'] = 'hottest'; +$hottest_args = aksrt_comments_template_query_args([]); +if (empty($hottest_args['aksrt_hottest_order']) || ($hottest_args['order'] ?? '') !== 'DESC') { + throw new RuntimeException('The hottest tab must set a descending, query-local hottest marker.'); +} +unset($_GET['aksrt_comment_order']); + +$base = [ + 'join' => '', + 'where' => 'wp_comments.comment_post_ID = 42', + 'orderby' => 'wp_comments.comment_date_gmt DESC', +]; + +$hot = aksrt_test_apply_comments_clauses($base, new WP_Comment_Query([ + 'post_id' => 42, + 'aksrt_hottest_order' => true, +])); + +if (!str_contains($hot['join'], 'LEFT JOIN wp_commentmeta AS aksrt_cm_hot')) { + throw new RuntimeException('Hottest ordering must use LEFT JOIN so comments without like metadata remain in the result.'); +} +if (!str_contains($hot['orderby'], 'COALESCE(aksrt_cm_hot.meta_value, 0) AS UNSIGNED) DESC')) { + throw new RuntimeException('Hottest ordering must sort likes from high to low and treat missing metadata as zero.'); +} +if (!str_contains($hot['orderby'], 'wp_comments.comment_date_gmt DESC')) { + throw new RuntimeException('Equal like counts must use newest date as the stable tie-breaker.'); +} +if ($hot['where'] !== $base['where']) { + throw new RuntimeException('Hottest sorting must not alter the query scope.'); +} + +$ordinary = aksrt_test_apply_comments_clauses($base, new WP_Comment_Query([ + 'post_id' => 99, + 'orderby' => 'comment_date_gmt', +])); +if ($ordinary !== $base) { + throw new RuntimeException('Queries without the hottest marker must remain unchanged.'); +} + +fwrite(STDOUT, "Hottest comment query behavior passed.\n"); diff --git a/tests/widget-system/comment-order-behavior.test.cjs b/tests/widget-system/comment-order-behavior.test.cjs new file mode 100644 index 00000000..3bbc66fd --- /dev/null +++ b/tests/widget-system/comment-order-behavior.test.cjs @@ -0,0 +1,14 @@ +'use strict'; + +const assert = require('node:assert/strict'); +const { spawnSync } = require('node:child_process'); +const path = require('node:path'); +const test = require('node:test'); + +test('hottest query hook retains unliked comments and is query-local', () => { + const script = path.resolve(__dirname, 'comment-order-behavior.php'); + const result = spawnSync('php', [script], { encoding: 'utf8' }); + + assert.equal(result.status, 0, result.stderr || result.stdout); + assert.match(result.stdout, /Hottest comment query behavior passed/); +}); diff --git a/tests/widget-system/comment-order-empty-contract.test.cjs b/tests/widget-system/comment-order-empty-contract.test.cjs new file mode 100644 index 00000000..6f6f5ac0 --- /dev/null +++ b/tests/widget-system/comment-order-empty-contract.test.cjs @@ -0,0 +1,31 @@ +'use strict'; + +const assert = require('node:assert/strict'); +const fs = require('node:fs'); +const path = require('node:path'); +const test = require('node:test'); + +const root = path.resolve(__dirname, '..', '..'); +const read = (file) => fs.readFileSync(path.join(root, file), 'utf8'); + +test('comment order matches the reference newest and hottest behavior', () => { + const php = read('inc/helpers/aksrt-comments.php'); + + assert.match(php, /\$args\['order'\] = 'DESC';\s*\$args\['orderby'\] = 'comment_date_gmt';/); + assert.match(php, /\$args\['aksrt_hottest_order'\] = true;/); + assert.match(php, /CAST\(COALESCE\(aksrt_cm_hot\.meta_value, 0\) AS UNSIGNED\) DESC/); + assert.match(php, /\$query->query_vars\['aksrt_hottest_order'\]/); + assert.equal(php.includes("$args['order'] = 'ASC'"), false, 'the reference always orders newest comments first'); + assert.equal(php.includes("$order === 'oldest'"), false, 'the unsupported oldest tab must not remain in the UI query path'); + assert.equal(php.includes('aksrt_comments_apply_hottest_order'), false, 'unscoped global hot-order hook must be removed'); + assert.equal(php.includes('reverse_top_level'), false, 'DESC results must not be reversed a second time'); +}); + +test('empty comment state uses the reference illustration and caption', () => { + const php = read('inc/helpers/aksrt-comments.php'); + + assert.match(php, /aksrt_get_null\(\$text, 40, 'comment-null\.svg', 'comment comment-null', 280\)/); + assert.match(php, /\$text = __\('暂无评论内容', 'aksrt'\);/); + assert.ok(fs.existsSync(path.join(root, 'assets/img/comment-null.svg')), 'the reference empty-state illustration must ship with the theme'); + assert.equal(php.includes('暂无作者评论'), false, 'empty filter state uses the reference caption'); +}); diff --git a/tests/widget-system/discovery-reference-contract.test.cjs b/tests/widget-system/discovery-reference-contract.test.cjs new file mode 100644 index 00000000..6f556e25 --- /dev/null +++ b/tests/widget-system/discovery-reference-contract.test.cjs @@ -0,0 +1,114 @@ +const test = require('node:test'); +const assert = require('node:assert/strict'); +const { execFileSync } = require('node:child_process'); +const fs = require('node:fs'); +const path = require('node:path'); + +const root = path.resolve(__dirname, '..', '..'); +const read = (file) => fs.readFileSync(path.join(root, file), 'utf8'); + +function renderFixtures() { + const output = execFileSync('php', [path.join(__dirname, 'discovery-reference-harness.php')], { encoding: 'utf8' }); + return JSON.parse(output); +} + +test('term aggregation renders the real SVG use element, total count, and configured first page', () => { + const fixture = renderFixtures(); + const card = fixture.aggregation; + assert.match(card, /