diff --git a/.specs/plans/aksrt-widgets-rewrite.md b/.specs/plans/aksrt-widgets-rewrite.md index d2597196..7c323a9a 100644 --- a/.specs/plans/aksrt-widgets-rewrite.md +++ b/.specs/plans/aksrt-widgets-rewrite.md @@ -27,10 +27,10 @@ ## Phase 3 — 原子切换、挂载区域与导入导出 -- [ ] 替换注册器并删除旧小工具类、旧公共层、旧路由和重复资源。 -- [ ] 重写 40 个静态挂载区域、动态页面区域及所有模板消费点。 -- [ ] 实现 `aksrt.widgets.v1` 导入导出和 5 套知识付费模板。 -- [ ] 核对默认 WordPress 小工具注销策略与区块编辑器/自定义器行为。 +- [x] 替换注册器并删除旧小工具类、旧公共层、旧路由和重复资源。 +- [x] 重写 40 个静态挂载区域、动态页面区域及所有模板消费点。 +- [x] 实现 `aksrt.widgets.v1` 导入导出和 5 套知识付费模板。 +- [x] 核对默认 WordPress 小工具注销策略与区块编辑器/自定义器行为。 ## Phase 4 — 自动化与视觉终验 diff --git a/assets/css/frontend/widget-batch3.css b/assets/css/frontend/widget-batch3.css deleted file mode 100644 index ee42ba19..00000000 --- a/assets/css/frontend/widget-batch3.css +++ /dev/null @@ -1,277 +0,0 @@ -/** - * Batch3 widgets: iframe, combo info, text title, and user lists. - * @package AKSRT - */ - -/* ---- Iframe embed ---- */ -.aksrt-iframe-embed { - margin-bottom: 16px; -} -.aksrt-iframe-ratio { - position: relative; - width: 100%; - height: 0; - border-radius: 8px; - overflow: hidden; - background: var(--surface-2, #f3f4f6); -} -.aksrt-iframe-ratio iframe, -.aksrt-iframe-el { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - border: 0; -} - -/* ---- Combo info cards ---- */ -.aksrt-combo-info { - display: grid; - grid-template-columns: repeat(var(--aksrt-zci-pc, 4), minmax(0, 1fr)); - gap: 14px; - margin-bottom: 16px; - --aksrt-zci-radius: 12px; - --aksrt-zci-band-h: 70px; -} -@media (max-width: 991.98px) { - .aksrt-combo-info { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } -} -@media (max-width: 575.98px) { - .aksrt-combo-info { - grid-template-columns: repeat(var(--aksrt-zci-m, 1), minmax(0, 1fr)); - } -} -.aksrt-zci-card { - position: relative; - display: flex; - flex-direction: column; - border-radius: var(--aksrt-zci-radius); - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - padding: 18px 16px 16px; - overflow: hidden; - min-height: 100%; -} -.aksrt-combo-info.has-band .aksrt-zci-card::before { - content: ""; - position: absolute; - left: 0; - right: 0; - top: 0; - height: 4px; - background: var(--color-primary, #3b82f6); -} -.aksrt-zci-band-blue::before { background: #3b82f6; } -.aksrt-zci-band-cyan::before { background: #06b6d4; } -.aksrt-zci-band-green::before { background: #22c55e; } -.aksrt-zci-band-yellow::before { background: #eab308; } -.aksrt-zci-band-pink::before { background: #ec4899; } -.aksrt-zci-band-purple::before { background: #a855f7; } -.aksrt-zci-icon { - width: 48px; - height: 48px; - margin-bottom: 14px; - display: flex; - align-items: center; - justify-content: center; - font-size: 28px; - color: var(--color-primary, #3b82f6); -} -.aksrt-zci-icon img { - max-width: 48px; - max-height: 48px; - object-fit: contain; -} -.aksrt-zci-title { - font-weight: 700; - font-size: 16px; - margin-bottom: 8px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.aksrt-zci-tags { - display: flex; - flex-wrap: wrap; - gap: 6px; - margin-bottom: 8px; -} -.aksrt-zci-tag { - display: inline-block; - font-size: 12px; - padding: 2px 10px; - border-radius: 999px; - background: var(--surface-2, #f3f4f6); - color: var(--color-ink-3, #666); -} -.aksrt-zci-desc { - font-size: 13px; - color: var(--muted-2-color, #888); - line-height: 1.5; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - overflow: hidden; - flex: 1; -} -.aksrt-zci-cta { - margin-top: 14px; - display: inline-flex; - align-items: center; - gap: 6px; - font-size: 13px; - font-weight: 600; - color: var(--color-primary, #3b82f6); - text-decoration: none; -} -.aksrt-zci-cta:hover i { - transform: translateX(3px); -} -.aksrt-zci-cta i { - transition: transform .2s ease; - font-size: 12px; -} - -/* ---- Text title ---- */ -.aksrt-text-title { - margin: 8px 0 18px; - --aksrt-tt-title-size: 22px; - --aksrt-tt-desc-size: 14px; -} -.aksrt-text-title.align-center { text-align: center; } -.aksrt-text-title.align-left { text-align: left; } -.aksrt-text-title.align-right { text-align: right; } -.aksrt-text-title__main { - display: inline-flex; - align-items: center; - gap: 8px; - font-size: var(--aksrt-tt-title-size); - font-weight: 700; - color: var(--aksrt-tt-title-color, inherit); - line-height: 1.3; -} -.aksrt-text-title.align-center .aksrt-text-title__main { - justify-content: center; -} -.aksrt-text-title__desc { - margin-top: 8px; - font-size: var(--aksrt-tt-desc-size); - color: var(--aksrt-tt-desc-color, var(--muted-2-color, #888)); - line-height: 1.5; -} -.aksrt-text-title__icon { - display: inline-flex; - opacity: .85; -} - -/* ---- User lists ---- */ -.aksrt-user-lists { - display: grid; - grid-template-columns: repeat(4, minmax(0, 1fr)); - gap: 12px 8px; - text-align: center; - padding: 4px 0 8px; -} -.aksrt-user-lists.is-bare { - padding: 0; -} -@media (max-width: 575.98px) { - .aksrt-user-lists { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } -} -.aksrt-user-lists__item { - display: flex; - flex-direction: column; - align-items: center; - gap: 6px; - text-decoration: none; - color: inherit; - min-width: 0; -} -.aksrt-user-lists__avatar { - width: 48px; - height: 48px; - border-radius: 50%; - object-fit: cover; - background: var(--surface-2, #eee); -} -.aksrt-user-lists__name { - font-size: 12px; - max-width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -/* ---- FAQ ---- */ -.aksrt-faq { margin-bottom: 16px; } -.aksrt-faq__search { display: flex; gap: 8px; margin-bottom: 14px; } -.aksrt-faq__search-input { - flex: 1; - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 8px; - padding: 8px 12px; -} -.aksrt-faq__search-btn { - border: 0; - border-radius: 8px; - padding: 8px 14px; - background: var(--color-primary, #3b82f6); - color: #fff; - cursor: pointer; -} -.aksrt-faq__item { - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 10px; - padding: 0; - margin-bottom: 10px; - background: var(--surface-1, #fff); -} -.aksrt-faq__q { - list-style: none; - display: flex; - align-items: center; - gap: 10px; - padding: 12px 14px; - cursor: pointer; - font-weight: 600; -} -.aksrt-faq__q::-webkit-details-marker { display: none; } -.aksrt-faq__num { - width: 28px; - height: 28px; - border-radius: 8px; - display: inline-flex; - align-items: center; - justify-content: center; - font-size: 12px; - background: var(--surface-2, #f3f4f6); - color: var(--color-primary, #3b82f6); - flex-shrink: 0; -} -.aksrt-faq__a { - padding: 0 14px 14px 52px; - font-size: 13px; - color: var(--muted-2-color, #666); - line-height: 1.6; -} -.aksrt-faq__aside { display: grid; gap: 12px; margin-top: 14px; } -.aksrt-faq__doc, .aksrt-faq__help { - border-radius: 10px; - border: 1px solid var(--color-line, #e5e7eb); - padding: 14px; - background: var(--surface-2, #f8fafc); -} -.aksrt-faq__help-btn { - display: inline-block; - margin-top: 8px; - padding: 6px 12px; - border-radius: 999px; - background: var(--color-primary, #3b82f6); - color: #fff !important; - text-decoration: none; - font-size: 13px; -} diff --git a/assets/css/frontend/widget-batch3c.css b/assets/css/frontend/widget-batch3c.css deleted file mode 100644 index c9c0475a..00000000 --- a/assets/css/frontend/widget-batch3c.css +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Batch3c: highlights. - */ - -.aksrt-highlights { margin-bottom: 16px; display: flex; flex-direction: column; gap: 12px; } -.aksrt-highlights__row { - display: grid; - gap: 12px; -} -.aksrt-highlights__row.is-large { grid-template-columns: 1fr; } -.aksrt-highlights__row.is-medium { grid-template-columns: repeat(2, minmax(0, 1fr)); } -.aksrt-highlights__row.is-small { grid-template-columns: repeat(3, minmax(0, 1fr)); } -@media (max-width: 767.98px) { - .aksrt-highlights__row.is-medium, - .aksrt-highlights__row.is-small { grid-template-columns: 1fr; } -} -.aksrt-hl-card { - display: flex; - gap: 12px; - border-radius: 12px; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - padding: 14px; - text-decoration: none; - color: inherit; - overflow: hidden; - min-height: 100%; -} -.aksrt-hl-card.color-blue { --hl: #3b82f6; } -.aksrt-hl-card.color-pink { --hl: #ec4899; } -.aksrt-hl-card.color-purple { --hl: #a855f7; } -.aksrt-hl-card.color-green { --hl: #22c55e; } -.aksrt-hl-card.color-orange { --hl: #f97316; } -.aksrt-hl-card.color-cyan { --hl: #06b6d4; } -.aksrt-hl-card.size-large { min-height: 140px; } -.aksrt-hl-card__media { - width: 96px; - flex-shrink: 0; - border-radius: 10px; - overflow: hidden; - background: var(--surface-2, #f3f4f6); -} -.aksrt-hl-card.size-large .aksrt-hl-card__media { width: 160px; } -.aksrt-hl-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 80px; } -.aksrt-hl-card__body { min-width: 0; flex: 1; display: flex; flex-direction: column; } -.aksrt-hl-card__icon { color: var(--hl, #3b82f6); font-size: 22px; margin-bottom: 8px; } -.aksrt-hl-card__title { font-weight: 700; font-size: 15px; margin-bottom: 4px; } -.aksrt-hl-card__desc { font-size: 12px; color: var(--muted-2-color, #888); line-height: 1.5; } diff --git a/assets/css/frontend/widget-batch3d.css b/assets/css/frontend/widget-batch3d.css deleted file mode 100644 index 203b8859..00000000 --- a/assets/css/frontend/widget-batch3d.css +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Batch3d: term cards. - */ - -.aksrt-term-cards { - display: grid; - grid-template-columns: repeat(var(--aksrt-tc-cols, 2), minmax(0, 1fr)); - gap: 12px; - margin-bottom: 12px; -} -.aksrt-term-card { - display: block; - border-radius: 12px; - overflow: hidden; - border: 1px solid var(--color-line, #e5e7eb); - text-decoration: none; - color: inherit; - background: var(--surface-1, #fff); -} -.aksrt-term-card__cover { - height: 88px; - background: var(--surface-2, #f3f4f6) center/cover no-repeat; -} -.aksrt-term-card__cover.is-empty { - background: linear-gradient(135deg, #dbeafe, #eff6ff); -} -.aksrt-term-card__body { padding: 10px 12px 12px; } -.aksrt-term-card__name { font-weight: 700; font-size: 14px; } -.aksrt-term-card__count { font-size: 12px; color: var(--muted-2-color, #888); margin-top: 2px; } diff --git a/assets/css/frontend/widget-batch3e.css b/assets/css/frontend/widget-batch3e.css deleted file mode 100644 index 05a04663..00000000 --- a/assets/css/frontend/widget-batch3e.css +++ /dev/null @@ -1,78 +0,0 @@ -/** - * Batch3e: author card. - */ - -.aksrt-author-card { - border-radius: 12px; - overflow: hidden; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - margin-bottom: 0; - text-align: center; -} -.aksrt-author-card__cover { - height: 139px; - min-height: 139px; - max-height: 139px; - background: linear-gradient(135deg, #93c5fd, #c4b5fd) center/cover no-repeat; -} -.aksrt-author-card__body { - display: flex; - flex-direction: column; - align-items: center; - padding: 0 14px 16px; -} -.aksrt-author-card__body .user-content { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; -} -.aksrt-author-card__avatar { - display: flex; - flex: 0 0 auto; - margin: -38px auto 0; - border-radius: 50%; - overflow: hidden; - border: 3px solid var(--surface-1, #fff); - width: 76px; - height: 76px; -} -.aksrt-author-card__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-author-card__name { - display: block; - margin-top: 8px; - font-weight: 700; - font-size: 16px; - color: inherit; - text-decoration: none; -} -.aksrt-author-card__bio { - margin-top: 6px; - font-size: 12px; - color: var(--muted-2-color, #888); - line-height: 1.5; -} -.aksrt-author-card__stats { - display: flex; - justify-content: center; - gap: 16px; - margin-top: 12px; - font-size: 12px; - color: var(--muted-2-color, #888); -} -.aksrt-author-card__stats b { - display: block; - font-size: 16px; - color: var(--color-ink, #111); -} -.aksrt-author-card__btn { - display: inline-block; - margin-top: 12px; - padding: 6px 16px; - border-radius: 999px; - background: var(--color-primary, #3b82f6); - color: #fff !important; - text-decoration: none; - font-size: 13px; -} diff --git a/assets/css/frontend/widget-batch3f.css b/assets/css/frontend/widget-batch3f.css deleted file mode 100644 index 9609e788..00000000 --- a/assets/css/frontend/widget-batch3f.css +++ /dev/null @@ -1,278 +0,0 @@ -/** - * Batch3f: oneline posts + tilt cases. - */ - -.aksrt-oneline { margin-bottom: 12px; } -.aksrt-oneline__track { - display: grid; - grid-auto-flow: column; - grid-auto-columns: minmax(180px, 220px); - gap: 12px; - overflow-x: auto; - scroll-snap-type: x mandatory; - padding-bottom: 6px; - -webkit-overflow-scrolling: touch; -} -.aksrt-oneline.style-mini .aksrt-oneline__track { - grid-auto-columns: minmax(140px, 160px); -} -.aksrt-oneline__item { - display: flex; - flex-direction: column; - border-radius: 12px; - overflow: hidden; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - text-decoration: none; - color: inherit; - scroll-snap-align: start; - min-width: 0; -} -.aksrt-oneline.style-list .aksrt-oneline__item { - flex-direction: row; - align-items: center; - gap: 10px; - padding: 8px; -} -.aksrt-oneline__thumb { - height: 110px; - background: var(--surface-2, #f3f4f6) center/cover no-repeat; - overflow: hidden; -} -.aksrt-oneline.style-mini .aksrt-oneline__thumb { height: 90px; } -.aksrt-oneline.style-list .aksrt-oneline__thumb { - width: 64px; - height: 64px; - border-radius: 8px; - flex-shrink: 0; -} -.aksrt-oneline__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-oneline__thumb.is-empty { background: linear-gradient(135deg, #e2e8f0, #f8fafc); } -.aksrt-oneline__body { padding: 10px 12px 12px; min-width: 0; } -.aksrt-oneline.style-list .aksrt-oneline__body { padding: 0; } -.aksrt-oneline__title { - font-size: 13px; - font-weight: 600; - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} -.aksrt-oneline__meta { margin-top: 4px; font-size: 11px; color: var(--muted-2-color, #999); } - -.aksrt-tilt { - display: grid; - grid-template-columns: 1fr 1.1fr; - gap: 28px; - align-items: center; - margin-bottom: 18px; -} -@media (max-width: 991.98px) { - .aksrt-tilt { grid-template-columns: 1fr; } -} -.aksrt-tilt__badge { - display: inline-flex; - align-items: center; - gap: 6px; - font-size: 12px; - padding: 4px 10px; - border-radius: 999px; - background: #eff6ff; - color: #2563eb; - margin-bottom: 12px; -} -.aksrt-tilt__title { - font-size: 30px; - line-height: 1.25; - margin: 0 0 12px; -} -.aksrt-tilt__hl { - font-style: normal; - background: linear-gradient(90deg, #3b82f6, #a855f7); - -webkit-background-clip: text; - background-clip: text; - color: transparent; -} -.aksrt-tilt__subtitle { - font-size: 14px; - color: var(--muted-2-color, #666); - line-height: 1.7; - margin: 0 0 14px; -} -.aksrt-tilt__features { - list-style: none; - margin: 0 0 16px; - padding: 0; - display: flex; - flex-wrap: wrap; - gap: 8px 14px; - font-size: 13px; -} -.aksrt-tilt__features i { color: var(--color-primary, #3b82f6); margin-right: 4px; } -.aksrt-tilt__actions { display: flex; flex-wrap: wrap; gap: 10px; } -.aksrt-tilt__btn { - display: inline-flex; - align-items: center; - padding: 8px 16px; - border-radius: 999px; - background: var(--color-primary, #3b82f6); - color: #fff !important; - text-decoration: none; - font-size: 13px; - font-weight: 600; -} -.aksrt-tilt__showcase { - position: relative; - min-height: 260px; -} -.aksrt-tilt__img { - position: absolute; - border-radius: 14px; - overflow: hidden; - box-shadow: 0 16px 40px rgba(0,0,0,.12); - background: var(--surface-2, #f3f4f6); -} -.aksrt-tilt__img.is-main { - position: relative; - width: 100%; - aspect-ratio: 4/3; -} -.aksrt-tilt__img:not(.is-main) { - width: 42%; - aspect-ratio: 4/3; - right: -4%; - bottom: -8%; - z-index: 2; -} -.aksrt-tilt__img:nth-child(3) { - left: -4%; - top: -6%; - right: auto; - bottom: auto; - width: 38%; - z-index: 1; -} -.aksrt-tilt__img img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-tilt__img.is-empty { background: linear-gradient(135deg, #dbeafe, #ede9fe); } - - -/* Check-in details modal */ -.aksrt-checkin-modal { padding: 4px 2px 8px; } -.aksrt-checkin-modal__head { - display: flex; - align-items: center; - gap: 8px; - font-size: 16px; - margin-bottom: 14px; -} -.aksrt-checkin-modal__head .aksrt-modal-runtime__close { - margin-left: auto; - border: 0; - background: transparent; - font-size: 22px; - line-height: 1; - cursor: pointer; - opacity: .55; -} -.aksrt-checkin-modal__user { - display: flex; - align-items: center; - gap: 10px; - margin-bottom: 12px; -} -.aksrt-checkin-modal__avatar { - width: 40px; - height: 40px; - border-radius: 50%; - object-fit: cover; -} -.aksrt-checkin-modal__name { font-weight: 700; } -.aksrt-checkin-modal__sub { font-size: 12px; color: var(--muted-2-color, #888); } -.aksrt-checkin-modal__wallet { margin-bottom: 12px; } -.aksrt-checkin-modal__wallet-item { - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 12px; - border-radius: 10px; - background: var(--surface-2, #f3f4f6); - text-decoration: none; - color: inherit; -} -.aksrt-checkin-modal__card { - display: flex; - align-items: center; - justify-content: space-between; - gap: 12px; - padding: 12px; - border-radius: 12px; - border: 1px solid var(--color-line, #e5e7eb); - margin-bottom: 14px; -} -.aksrt-checkin-modal__card-title { font-size: 13px; margin-bottom: 6px; } -.aksrt-checkin-modal__badge { - display: inline-block; - font-size: 12px; - padding: 2px 8px; - border-radius: 999px; - background: #ecfdf5; - color: #059669; -} -.aksrt-checkin-modal__done { text-align: right; color: #2563eb; font-size: 13px; } -.aksrt-checkin-modal__btn { white-space: nowrap; } -.aksrt-checkin-modal__streak-head { - display: flex; - justify-content: space-between; - align-items: center; - font-size: 13px; - margin-bottom: 8px; -} -.aksrt-checkin-modal__ladder { - display: grid; - grid-template-columns: repeat(7, minmax(0, 1fr)); - gap: 6px; - margin-bottom: 14px; -} -.aksrt-checkin-modal__day { - text-align: center; - border-radius: 8px; - padding: 8px 2px; - background: var(--surface-2, #f8fafc); - border: 1px solid transparent; - font-size: 11px; -} -.aksrt-checkin-modal__day.is-done { - background: #eff6ff; - border-color: #bfdbfe; - color: #1d4ed8; -} -.aksrt-checkin-modal__day-n { font-weight: 700; margin-bottom: 2px; } -.aksrt-checkin-modal__cal-title { - font-size: 13px; - margin-bottom: 8px; -} -.aksrt-signin-calendar__grid { - display: grid; - grid-template-columns: repeat(10, minmax(0, 1fr)); - gap: 4px; -} -.aksrt-signin-calendar__day { - aspect-ratio: 1; - border-radius: 6px; - display: flex; - align-items: center; - justify-content: center; - font-size: 11px; - background: var(--surface-2, #f3f4f6); - color: #999; -} -.aksrt-signin-calendar__day.is-signed { - background: #dbeafe; - color: #1d4ed8; - font-weight: 700; -} -.aksrt-signin-calendar__day.is-today { - outline: 1px solid var(--color-primary, #3b82f6); -} -.aksrt-header-checkin-details { text-decoration: none; } diff --git a/assets/css/frontend/widget-batch5.css b/assets/css/frontend/widget-batch5.css deleted file mode 100644 index b649d729..00000000 --- a/assets/css/frontend/widget-batch5.css +++ /dev/null @@ -1,2296 +0,0 @@ -/** - * Batch5: user card guest/login depth, main posts, term aggregation. - */ - -/* 用户卡/作者卡:外层 .zib-widget 包裹层永不作为卡片绘制, - 内层 .aksrt-user-card / .aksrt-author-card 是唯一卡片。 - - classname 钩子(.widget_aksrt_user_card / _author_card)命中侧栏 before_widget 包裹层; - - :has() 兜底:无论包裹层类名如何,只要它内部含一张 .aksrt-*-card 就透明化 - (用后代而非直接子选择器,因为开启吸顶时中间还隔着 .is-affix 包裹层); - - !important 确保胜过 widgets/part-1.css 的 `html.dark .zib-widget`(0-2-1)、 - homepage-fixed/base-3.css 的 `.aksrt-homepage__aside > .zib-widget` 等卡片绘制规则。 */ -.zib-widget.widget_aksrt_user_card, -.zib-widget.widget_aksrt_author_card, -.zib-widget:has(.aksrt-user-card), -.zib-widget:has(.aksrt-author-card) { - background: none !important; - border: 0 !important; - box-shadow: none !important; - padding: 0 !important; - border-radius: 0 !important; - margin-bottom: 20px; -} - -.aksrt-user-card { - position: relative; - box-sizing: border-box; - width: 100%; - max-width: 100%; - min-width: 0; - border-radius: 8px; - overflow: visible; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - text-align: center; - margin-bottom: 0; -} -.aksrt-user-card__cover { - position: relative; - box-sizing: border-box; - width: 100%; - height: 139px; - min-height: 139px; - max-height: 139px; - margin: 0; - padding: 0 !important; - overflow: hidden; - border-radius: 7px 7px 0 0; - background-color: #93c5fd; - background-image: linear-gradient(135deg, #93c5fd, #c4b5fd); - background-position: center; - background-repeat: no-repeat; - background-size: cover; -} -.aksrt-user-card__cover.is-empty { - background: linear-gradient(135deg, #e2e8f0, #f8fafc); -} -.aksrt-user-card__body { - position: relative; - display: flex; - flex-direction: column; - align-items: center; - min-width: 0; - padding: 0 16px 18px; -} -.aksrt-user-card__checkin { - position: absolute; - top: 66%; - right: 0; - z-index: 3; - max-width: calc(100% - 56px); - transform: translateY(-50%); -} -.aksrt-user-card__checkin--without-cover { - position: relative; - top: auto; - right: auto; - display: flex; - justify-content: flex-end; - max-width: none; - margin: 10px 0 0; - transform: none; -} -.aksrt-user-card .aksrt-user-card__checkin .aksrt-header-checkin { - width: auto !important; - min-height: 40px; - padding: 8px 12px !important; - border-radius: 6px 0 0 6px !important; - font-size: 13px !important; - line-height: 1.25; -} -.aksrt-user-card__checkin .aksrt-header-checkin-details { display: none; } -.aksrt-user-card__avatar-wrap { - position: relative; - display: inline-block; - flex: 0 0 auto; - width: 76px; - height: 76px; - margin: -38px auto 0; -} -.aksrt-user-card.no-cover .aksrt-user-card__avatar-wrap { - margin-top: 16px; -} -.aksrt-user-card__avatar { - display: block; - box-sizing: border-box; - width: 76px; - height: 76px; - border-radius: 50%; - overflow: hidden; - border: 3px solid var(--surface-1, #fff); - background: var(--surface-2, #eee); -} -.aksrt-user-card__avatar > a { - display: block; - width: 100%; - height: 100%; -} -.aksrt-user-card__avatar > img, -.aksrt-user-card__avatar > a > img { - display: block; - width: 100%; - height: 100%; - object-fit: cover; -} -.aksrt-user-card__name { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - min-width: 0; - margin: 10px 0 0; - font-size: 16px; - font-weight: 700; - line-height: 1.35; -} -.aksrt-user-card__name-row { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 0; - max-width: 100%; - gap: 4px; -} -.aksrt-user-card__name .display-name { - min-width: 0; - max-width: 100%; -} -.aksrt-user-card__name a { color: inherit; text-decoration: none; } -.aksrt-user-card__bio, -.aksrt-user-card__guest-title { - width: 100%; - margin: 8px 0 0; - font-size: 12px; - color: var(--muted-2-color, #888); - line-height: 1.5; - overflow-wrap: anywhere; -} -.aksrt-user-card__guest-title { font-size: 14px; font-weight: 600; color: inherit; } -.aksrt-user-card__stats { - display: flex; - width: 100%; - justify-content: center; - gap: 18px; - margin-top: 12px; -} -.aksrt-user-card__stat-value { - display: block; - font-size: 16px; - font-weight: 700; -} -.aksrt-user-card__stat-label { - font-size: 11px; - color: var(--muted-2-color, #999); -} -.aksrt-user-card__actions { - display: flex; - width: 100%; - justify-content: center; - flex-wrap: wrap; - gap: 8px; - margin-top: 14px; -} -.aksrt-user-card__btn { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 96px; - padding: 7px 14px; - border-radius: 999px; - font-size: 13px; - text-decoration: none; - font-weight: 600; -} -.aksrt-user-card__btn--primary { - background: var(--color-primary, #3b82f6); - color: #fff !important; -} -.aksrt-user-card__btn--ghost { - background: var(--surface-2, #f3f4f6); - color: inherit !important; -} - -/* Main posts */ -.aksrt-main-posts { display: flex; flex-direction: column; gap: 10px; } -.aksrt-main-posts.style-card { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 12px; -} -@media (max-width: 575.98px) { - .aksrt-main-posts.style-card { grid-template-columns: 1fr; } -} -.aksrt-main-posts__card { - display: block; - border-radius: 12px; - overflow: hidden; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - text-decoration: none; - color: inherit; -} -.aksrt-main-posts__thumb { - height: 110px; - background: var(--surface-2, #f3f4f6); - overflow: hidden; -} -.aksrt-main-posts__thumb.mini { - width: 56px; - height: 56px; - border-radius: 8px; - flex-shrink: 0; -} -.aksrt-main-posts__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-main-posts__thumb.is-empty { background: linear-gradient(135deg, #e2e8f0, #f8fafc); } -.aksrt-main-posts__body { padding: 10px 12px 12px; min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 4px; } -.aksrt-main-posts__title { - font-size: 13px; - font-weight: 600; - line-height: 1.4; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} -.aksrt-main-posts__meta { - display: flex; - gap: 10px; - font-size: 11px; - color: var(--muted-2-color, #999); -} -.aksrt-main-posts__row { - display: flex; - align-items: center; - gap: 10px; - text-decoration: none; - color: inherit; - padding: 4px 0; - border-bottom: 1px dashed var(--color-line, #e5e7eb); -} -.aksrt-main-posts__row:last-child { border-bottom: 0; } -.aksrt-main-posts__num { - width: 20px; - flex-shrink: 0; - font-size: 12px; - font-weight: 700; - color: var(--color-primary, #3b82f6); - text-align: center; -} - -/* Term aggregation */ -.aksrt-term-agg { - display: grid; - grid-template-columns: repeat(var(--aksrt-ta-cols, 1), minmax(0, 1fr)); - gap: 12px; -} -.aksrt-term-agg__card { - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 12px; - overflow: hidden; - background: var(--surface-1, #fff); -} -.aksrt-term-agg__head { - display: block; - text-decoration: none; - color: inherit; - position: relative; -} -.aksrt-term-agg__cover { - height: 96px; - background: var(--surface-2, #f3f4f6) center/cover no-repeat; -} -.aksrt-term-agg__cover.is-empty { - background: linear-gradient(135deg, #dbeafe, #eff6ff); -} -.aksrt-term-agg__name { - position: absolute; - left: 12px; - bottom: 10px; - font-weight: 700; - color: #fff; - text-shadow: 0 1px 3px rgba(0,0,0,.45); -} -.aksrt-term-agg__count { - position: absolute; - right: 10px; - top: 10px; - font-size: 11px; - padding: 2px 8px; - border-radius: 999px; - background: rgba(0,0,0,.45); - color: #fff; -} -.aksrt-term-agg__posts { - list-style: none; - margin: 0; - padding: 8px 12px 10px; -} -.aksrt-term-agg__posts li { - padding: 6px 0; - border-bottom: 1px dashed var(--color-line, #eee); -} -.aksrt-term-agg__posts li:last-child { border-bottom: 0; } -.aksrt-term-agg__posts a { - color: inherit; - text-decoration: none; - font-size: 13px; - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - - -/* Icon cover cards */ -.aksrt-icon-cover { - display: grid; - grid-template-columns: repeat(var(--aksrt-icc-pc, 2), minmax(0, 1fr)); - gap: 10px; - --aksrt-icc-icon: 25px; -} -@media (max-width: 575.98px) { - .aksrt-icon-cover { - grid-template-columns: repeat(var(--aksrt-icc-m, 1), minmax(0, 1fr)); - } -} -.aksrt-icon-cover__item { - display: flex; - align-items: center; - gap: 10px; - padding: 12px; - border-radius: 12px; - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-1, #fff); - text-decoration: none; - color: inherit; -} -.aksrt-icon-cover__icon { - width: calc(var(--aksrt-icc-icon) + 18px); - height: calc(var(--aksrt-icc-icon) + 18px); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - font-size: var(--aksrt-icc-icon); - color: var(--color-primary, #3b82f6); - background: var(--surface-2, #f3f4f6); - flex-shrink: 0; - overflow: hidden; -} -.aksrt-icon-cover.is-radius .aksrt-icon-cover__icon { border-radius: 10px; } -.aksrt-icon-cover__icon img { width: 70%; height: 70%; object-fit: contain; } -.aksrt-icon-cover__title { font-weight: 700; font-size: 14px; } -.aksrt-icon-cover__desc { font-size: 12px; color: var(--muted-2-color, #888); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } - -/* Bookmark links */ -.aksrt-bookmark-links { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 10px; -} -.aksrt-bookmark-links.has-box { - padding: 10px; - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 12px; -} -.aksrt-bookmark-links.style-simple { - grid-template-columns: 1fr; -} -.aksrt-bookmark-links__item { - display: flex; - align-items: center; - gap: 10px; - padding: 8px; - border-radius: 10px; - background: var(--surface-2, #f8fafc); - text-decoration: none; - color: inherit; - min-width: 0; -} -.aksrt-bookmark-links__img { - width: 36px; - height: 36px; - border-radius: 8px; - object-fit: cover; - flex-shrink: 0; -} -.aksrt-bookmark-links__text { min-width: 0; display: flex; flex-direction: column; } -.aksrt-bookmark-links__name { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -.aksrt-bookmark-links__desc { font-size: 11px; color: var(--muted-2-color, #999); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } - - -/* Search keywords */ -.aksrt-search-widget__keywords { margin-top: 10px; } -.aksrt-search-widget__kw-head { - display: flex; - align-items: center; - justify-content: space-between; - gap: 8px; - margin-bottom: 6px; -} -.aksrt-search-widget__kw-title { - font-size: 12px; - color: var(--muted-2-color, #888); - margin-bottom: 6px; -} -.aksrt-search-widget__kw-head .aksrt-search-widget__kw-title { margin-bottom: 0; } -.aksrt-search-widget__kw-refresh { - display: inline-flex; - align-items: center; - justify-content: center; - width: 18px; - height: 18px; - padding: 0; - border: 0; - border-radius: 50%; - background: transparent; - color: var(--muted-2-color, #999); - font-size: 12px; - opacity: .65; - cursor: pointer; -} -.aksrt-search-widget__kw-refresh:hover, -.aksrt-search-widget__kw-refresh:focus-visible { color: var(--color-primary, #3b82f6); opacity: 1; } -.aksrt-search-widget__kw-refresh.is-refreshing i { animation: aksrt-search-keyword-refresh .2s linear; } -@keyframes aksrt-search-keyword-refresh { to { transform: rotate(360deg); } } -.aksrt-search-widget__kw-list { display: flex; flex-wrap: wrap; gap: 6px; } -.aksrt-search-widget__kw { - display: inline-block; - padding: 3px 10px; - border-radius: 999px; - background: var(--surface-2, #f3f4f6); - color: inherit; - text-decoration: none; - font-size: 12px; -} -/* Product list widgets (batch6) */ -.aksrt-product-widget { margin-bottom: 8px; } -.aksrt-product-widget__grid { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 10px; -} -.aksrt-product-widget--list .aksrt-product-widget__grid, -.aksrt-product-widget--mini .aksrt-product-widget__grid { - grid-template-columns: 1fr; -} -.aksrt-product-widget--oneline .aksrt-product-widget__grid { - display: flex; - overflow-x: auto; - gap: 10px; - scroll-snap-type: x mandatory; - -webkit-overflow-scrolling: touch; - padding-bottom: 4px; -} -.aksrt-product-widget--oneline .aksrt-product-widget__item, -.aksrt-product-widget--oneline .aksrt-product-card { - flex: 0 0 42%; - min-width: 140px; - scroll-snap-align: start; -} -.aksrt-product-widget__item, -.aksrt-product-widget .aksrt-product-card { - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 10px; - overflow: hidden; - background: var(--surface-1, #fff); -} -.aksrt-product-widget__thumb, -.aksrt-product-widget .aksrt-product-card__image { - display: block; - aspect-ratio: 1 / 1; - background: var(--surface-2, #f3f4f6); - overflow: hidden; -} -.aksrt-product-widget__thumb img, -.aksrt-product-widget .aksrt-product-card__image img { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} -.aksrt-product-widget__info, -.aksrt-product-widget .aksrt-product-card__body { padding: 8px 10px 10px; } -.aksrt-product-widget__title, -.aksrt-product-widget .aksrt-product-card__title { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - font-size: 13px; - font-weight: 600; - line-height: 1.35; - color: inherit; - text-decoration: none; -} -.aksrt-product-widget__meta { - display: flex; - justify-content: space-between; - gap: 6px; - margin-top: 6px; - font-size: 12px; -} -.aksrt-product-widget__price, -.aksrt-product-widget .aksrt-product-card__price { - color: var(--color-primary, #ef4444); - font-weight: 700; -} -.aksrt-product-widget__sales { color: var(--muted-2-color, #999); font-size: 11px; } -.aksrt-product-widget__empty { font-size: 13px; color: var(--muted-2-color, #999); padding: 12px 0; } -.aksrt-product-widget .ajax-pag { margin-top: 12px; text-align: center; } -.aksrt-product-tab__headers { - display: flex; - gap: 6px; - overflow-x: auto; - margin-bottom: 12px; - -webkit-overflow-scrolling: touch; -} -.aksrt-product-tab__header { - flex: 0 0 auto; - border: 0; - background: var(--surface-2, #f3f4f6); - border-radius: 999px; - padding: 6px 12px; - font-size: 13px; - cursor: pointer; - color: inherit; -} -.aksrt-product-tab__header.is-active { - background: var(--color-primary, #3b82f6); - color: #fff; -} - -/* Scroll notice */ -.aksrt-scroll-notice { - display: flex; - align-items: center; - gap: 10px; - padding: 8px 14px; - border-radius: 10px; - background: #eff6ff; - color: #1d4ed8; - margin-bottom: 8px; - overflow: hidden; -} -.aksrt-scroll-notice.is-radius, -.aksrt-scroll-notice.radius { border-radius: 999px; } -.aksrt-scroll-notice.color-c-green { background: #ecfdf5; color: #047857; } -.aksrt-scroll-notice.color-c-yellow { background: #fffbeb; color: #b45309; } -.aksrt-scroll-notice.color-c-red { background: #fef2f2; color: #b91c1c; } -.aksrt-scroll-notice.color-c-purple { background: #f5f3ff; color: #6d28d9; } -.aksrt-scroll-notice.color-c-blue-2 { background: #dbeafe; color: #1e3a8a; } -.aksrt-scroll-notice.color-c-green-2 { background: #d1fae5; color: #065f46; } -.aksrt-scroll-notice.color-c-yellow-2 { background: #ffedd5; color: #9a3412; } -.aksrt-scroll-notice.color-c-red-2 { background: #fee2e2; color: #991b1b; } -.aksrt-scroll-notice.color-c-purple-2 { background: #ede9fe; color: #5b21b6; } -.aksrt-scroll-notice.color-b-theme { background: var(--color-primary, #3b82f6); color: #fff; } -.aksrt-scroll-notice.color-b-red { background: #ef4444; color: #fff; } -.aksrt-scroll-notice.color-b-yellow { background: #f59e0b; color: #fff; } -.aksrt-scroll-notice.color-b-blue { background: #3b82f6; color: #fff; } -.aksrt-scroll-notice.color-b-green { background: #10b981; color: #fff; } -.aksrt-scroll-notice.color-b-purple { background: #8b5cf6; color: #fff; } -.aksrt-scroll-notice.text-center { justify-content: center; text-align: center; } -.aksrt-scroll-notice.text-right { justify-content: flex-end; text-align: right; } -.aksrt-scroll-notice.is-affix[data-affix="true"] { - position: sticky; - top: calc(var(--nav-height, 60px) + 12px); - z-index: 5; -} -.aksrt-scroll-notice__icon { flex-shrink: 0; } -.aksrt-scroll-notice .aksrt-notice-swiper, -.aksrt-scroll-notice .new-swiper { - flex: 1; - min-width: 0; - height: 1.5em; - margin: 0; -} -.aksrt-scroll-notice .swiper-slide { - height: 1.5em !important; - display: flex; - align-items: center; -} -.aksrt-scroll-notice .swiper-slide a, -.aksrt-scroll-notice .swiper-slide .text-ellipsis { - display: block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: inherit; - text-decoration: none; - font-size: 13px; - line-height: 1.5; -} -.aksrt-scroll-notice .bulletin-icon { - display: inline-flex; - width: 1.1em; - margin-right: 6px; -} -.aksrt-scroll-notice__viewport { position: relative; flex: 1; min-width: 0; height: 1.4em; } -.aksrt-scroll-notice__item { - position: absolute; - inset: 0; - opacity: 0; - transform: translateY(8px); - transition: opacity .35s ease, transform .35s ease; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - line-height: 1.4em; - font-size: 13px; -} -.aksrt-scroll-notice__item.is-active { - opacity: 1; - transform: translateY(0); -} -.aksrt-scroll-notice__item a { color: inherit; text-decoration: none; } -.aksrt-scroll-notice__item i { margin-right: 6px; opacity: .85; } - -.hot-post-item { display: flex; align-items: center; gap: 10px; } -.hot-post-item__thumb { - width: 48px; height: 48px; border-radius: 8px; overflow: hidden; flex-shrink: 0; - background: var(--surface-2, #eee); -} -.hot-post-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-cover-card__bg.is-video video { - width: 100%; height: 100%; object-fit: cover; display: block; -} - -.widget-buttons { - display: flex; - flex-wrap: wrap; - gap: var(--btn-gap, 10px); - margin-bottom: 8px; -} -.widget-buttons--vertical { flex-direction: column; } -.widget-buttons.align-center { justify-content: center; } -.widget-buttons.align-left { justify-content: flex-start; } -.widget-buttons.align-right { justify-content: flex-end; } -.widget-buttons__btn { - display: inline-flex; - align-items: center; - justify-content: center; - gap: 6px; - padding: 8px 16px; - border-radius: 8px; - text-decoration: none; - font-size: 13px; - font-weight: 600; - background: var(--color-primary, #3b82f6); - color: #fff !important; -} -.widget-buttons.is-radius .widget-buttons__btn { border-radius: 999px; } -.widget-buttons.is-hollow .widget-buttons__btn { - background: transparent; - color: var(--color-primary, #3b82f6) !important; - border: 1px solid currentColor; -} -.widget-buttons__btn--secondary { background: #64748b; } -.widget-buttons__btn--outline { - background: transparent; - color: inherit !important; - border: 1px solid var(--color-line, #ddd); -} -.widget-buttons__btn--text { - background: transparent; - color: var(--color-primary, #3b82f6) !important; - padding-left: 0; - padding-right: 0; -} -.widget-buttons__btn--pink { background: #ec4899; } -.widget-buttons__btn--blue { background: #3b82f6; } -.widget-buttons__btn--green { background: #22c55e; } - -.aksrt-video-widget { - position: relative; - width: 100%; - height: 0; - border-radius: 8px; - overflow: hidden; - background: #111; - margin-bottom: 10px; -} -.aksrt-video-widget iframe, -.aksrt-video-widget video { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - border: 0; - object-fit: cover; -} -.aksrt-video-widget.controller-hide video::-webkit-media-controls { - display: none !important; -} - -.widget-recent-comments__post { - margin-top: 2px; - font-size: 11px; -} -.widget-recent-comments__post a { - color: var(--muted-2-color, #999); - text-decoration: none; -} - -.widget-icon-cards { - display: grid; - grid-template-columns: repeat(var(--ic-columns, 2), minmax(0, 1fr)); - gap: 10px; -} -@media (max-width: 575.98px) { - .widget-icon-cards { - grid-template-columns: repeat(var(--ic-m-columns, 2), minmax(0, 1fr)); - } -} -.widget-icon-cards.is-bare .widget-icon-cards__item { - background: transparent; - border: 0; - box-shadow: none; -} -.widget-icon-cards__item.is-vertical { - flex-direction: column; - text-align: center; - padding: 16px 10px; -} -.widget-icon-cards__item.is-vertical .widget-icon-cards__icon { - margin: 0 auto 10px; - width: calc(var(--ic-icon, 28px) + 20px); - height: calc(var(--ic-icon, 28px) + 20px); - font-size: var(--ic-icon, 28px); - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - background: var(--surface-2, #f3f4f6); - color: var(--color-primary, #3b82f6); -} -.aksrt-tag-cloud.tag-cloud { - display: flex; - flex-wrap: wrap; - gap: 8px; -} -.aksrt-tag-cloud .but { - display: inline-flex; - align-items: center; - padding: 4px 10px; - border-radius: 999px; - background: var(--surface-2, #f3f4f6); - color: inherit; - text-decoration: none; - font-size: 12px; -} -.aksrt-tag-cloud .c-blue { background: #dbeafe; color: #1d4ed8; } -.aksrt-tag-cloud .c-green { background: #dcfce7; color: #15803d; } -.aksrt-tag-cloud .c-yellow { background: #fef3c7; color: #b45309; } -.aksrt-tag-cloud .c-purple { background: #ede9fe; color: #6d28d9; } -.aksrt-tag-cloud .c-red { background: #fee2e2; color: #b91c1c; } -.aksrt-tag-cloud.fixed-width a { min-width: 72px; justify-content: center; } -.aksrt-cat-list .count { - float: right; - color: var(--muted-2-color, #999); - font-size: 12px; -} - -.aksrt-user-card__oauth { - margin-top: 14px; - padding-top: 12px; - border-top: 1px dashed var(--color-line, #e5e7eb); -} -.aksrt-user-card__oauth .social-login-divider { - font-size: 12px; - color: var(--muted-2-color, #999); - margin-bottom: 8px; -} -.aksrt-user-card__oauth .social-login-item, -.aksrt-user-card__oauth a { - margin: 0 4px; -} - -.aksrt-author-card__follow { - border: 0; - cursor: pointer; - margin-right: 6px; - background: #ef4444; - color: #fff !important; -} -.aksrt-author-card__follow.is-following { - background: var(--surface-2, #e5e7eb); - color: inherit !important; -} - -/* 徽章入口与弹窗样式统一由 assets/css/frontend/medal.css 提供。 */ - -/* User ranking extras (batch8) */ -.aksrt-user-ranking__item { align-items: center; } -.aksrt-user-ranking__meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } -.aksrt-user-ranking__desc { - font-size: 11px; - color: var(--muted-2-color, #999); - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.aksrt-tag-cloud .c-blue-2 { background: #bfdbfe; color: #1e40af; } -.aksrt-tag-cloud .c-green-2 { background: #bbf7d0; color: #166534; } -.aksrt-tag-cloud .c-yellow-2 { background: #fde68a; color: #92400e; } -.aksrt-tag-cloud .c-purple-2 { background: #ddd6fe; color: #5b21b6; } -.aksrt-tag-cloud .c-red-2 { background: #fecaca; color: #991b1b; } - -.aksrt-home-widget__ajax .ajax-pag { margin-top: 12px; text-align: center; } - -/* ---- batch10: user-card more-posts + slider wrap + ranking top badge ---- */ -.user-card-posts .more-posts-mini .item { - padding: 6px 0; - border-bottom: 1px dashed var(--color-line, rgba(0, 0, 0, 0.06)); -} -.user-card-posts .more-posts-mini .item:last-child { border-bottom: 0; } -.user-card-posts .more-posts-mini .item a { - display: block; - color: inherit; - text-decoration: none; - font-size: 13px; -} -.user-card-posts .more-posts-mini .item a:hover { - color: var(--color-primary, #3b82f6); -} -.user-card-posts .more-posts.swiper-container { - margin: 8px 0 0; - padding: 0 2px 4px; - overflow: hidden; -} -.user-card-posts .more-posts .swiper-slide { - width: auto; - max-width: 46%; -} -.aksrt-more-post-card { - display: block; - color: inherit; - text-decoration: none; - border-radius: 8px; - overflow: hidden; - background: var(--surface-2, #f8fafc); -} -.aksrt-more-post-card__thumb { - display: block; - aspect-ratio: 16 / 10; - overflow: hidden; - background: var(--surface-3, #eef2f7); -} -.aksrt-more-post-card__thumb img { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} -.aksrt-more-post-card__body { - display: block; - padding: 6px 8px 8px; -} -.aksrt-more-post-card__title { - display: block; - font-size: 12px; - font-weight: 600; - line-height: 1.35; -} -.aksrt-more-post-card__meta { - display: flex; - justify-content: space-between; - gap: 6px; - margin-top: 4px; - font-size: 11px; -} - -.aksrt-widget-slider-wrap { - border-radius: 10px; - overflow: hidden; -} -.aksrt-widget-slider-wrap .new-swiper { - --pc-height: 220px; - --m-height: 180px; - height: var(--pc-height); -} -@media (max-width: 768px) { - .aksrt-widget-slider-wrap .new-swiper { - height: var(--m-height); - } -} -.aksrt-widget-slider-wrap .swiper-slide img.fit-cover { - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} -.aksrt-widget-slider-wrap .aksrt-slide-text { - position: absolute; - left: 0; - right: 0; - bottom: 0; - padding: 18px 14px 12px; - background: linear-gradient(transparent, rgba(0, 0, 0, 0.55)); - color: #fff; - pointer-events: none; -} -.aksrt-widget-slider-wrap .aksrt-slide-text__title { - font-size: 15px; - font-weight: 700; -} -.aksrt-widget-slider-wrap .aksrt-slide-text__desc { - font-size: 12px; - opacity: 0.9; - margin-top: 2px; -} - -.muted-box.c-red, -.c-red.muted-box { - color: #b91c1c; - background: #fef2f2; - border: 1px solid #fecaca; - border-radius: 8px; - padding: 12px 14px; - font-size: 13px; -} - -/* ranking empty state */ -.aksrt-user-ranking__empty { - margin: 8px 0 0; - font-size: 13px; - color: var(--muted-2-color, #999); - text-align: center; -} - -/* ---- batch11: search widget type/cat + FAQ structure ---- */ -.aksrt-search-widget__form { margin: 0; } -.aksrt-search-widget__types { - display: flex; - flex-wrap: wrap; - gap: 6px; - margin-bottom: 10px; -} -.aksrt-search-widget__type { - border: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-2, #f8fafc); - color: inherit; - border-radius: 999px; - padding: 4px 12px; - font-size: 12px; - font-weight: 600; - cursor: pointer; - line-height: 1.4; -} -.aksrt-search-widget__type.is-active { - background: var(--color-primary, #3b82f6); - border-color: var(--color-primary, #3b82f6); - color: #fff; -} -.aksrt-search-widget__line { - display: flex; - align-items: stretch; - gap: 0; - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 10px; - overflow: hidden; - background: var(--surface-1, #fff); -} -.aksrt-search-widget__cat { - flex: 0 0 auto; - max-width: 38%; - border-right: 1px solid var(--color-line, #e5e7eb); - background: var(--surface-2, #f8fafc); -} -.aksrt-search-widget__cat-select { - width: 100%; - height: 42px; - border: 0; - background: transparent; - padding: 0 10px; - font-size: 13px; - color: inherit; - outline: none; - cursor: pointer; -} -.aksrt-search-widget__field { - position: relative; - flex: 1; - min-width: 0; - display: flex; - align-items: center; -} -.aksrt-search-widget__field .widget-search-box__input, -.aksrt-search-widget .widget-search-box__input { - width: 100%; - height: 42px; - border: 0; - background: transparent; - padding: 0 44px 0 12px; - font-size: 14px; - color: inherit; - outline: none; -} -.aksrt-search-widget .widget-search-box__btn { - position: absolute; - right: 4px; - top: 50%; - transform: translateY(-50%); - width: 34px; - height: 34px; - border: 0; - border-radius: 8px; - background: var(--color-primary, #3b82f6); - color: #fff; - cursor: pointer; - display: inline-flex; - align-items: center; - justify-content: center; -} -.aksrt-search-widget .widget-search-box__btn:hover { filter: brightness(1.05); } - -/* FAQ structure parity */ -.aksrt-faq.produck-wid-faq-block { margin: 0; } -.aksrt-faq__head { margin-bottom: 14px; } -.aksrt-faq__search-wrap { - display: flex; - align-items: center; - gap: 8px; - padding: 8px 10px; - border-radius: 12px; - background: var(--surface-2, #f3f4f6); - border: 1px solid var(--color-line, #e5e7eb); -} -.aksrt-faq__search-icon { color: var(--muted-2-color, #999); } -.aksrt-faq__search-input { - flex: 1; - min-width: 0; - border: 0; - background: transparent; - outline: none; - font-size: 14px; - color: inherit; - height: 34px; -} -.aksrt-faq__search-btn { - border: 0; - border-radius: 8px; - background: var(--color-primary, #3b82f6); - color: #fff; - padding: 0 14px; - height: 34px; - font-weight: 600; - cursor: pointer; - font-size: 13px; -} -.aksrt-faq__main { - display: grid; - grid-template-columns: minmax(0, 1.4fr) minmax(220px, .9fr); - gap: 16px; - align-items: start; -} -.aksrt-faq__main.is-full { grid-template-columns: 1fr; } -.aksrt-faq__list { display: flex; flex-direction: column; gap: 10px; } -.aksrt-faq__item { - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 12px; - background: var(--surface-1, #fff); - padding: 0; - overflow: hidden; -} -.aksrt-faq__summary { - list-style: none; - display: flex; - align-items: center; - gap: 12px; - padding: 12px 14px; - cursor: pointer; -} -.aksrt-faq__summary::-webkit-details-marker { display: none; } -.aksrt-faq__badge { - flex-shrink: 0; - width: 34px; - height: 34px; - border-radius: 10px; - display: inline-flex; - align-items: center; - justify-content: center; - font-size: 12px; - font-weight: 700; - color: #fff; - background: #8b5cf6; -} -.aksrt-faq__badge.tone-pink { background: #ec4899; } -.aksrt-faq__badge.tone-green { background: #10b981; } -.aksrt-faq__badge.tone-orange { background: #f59e0b; } -.aksrt-faq__badge.tone-blue { background: #3b82f6; } -.aksrt-faq__badge.tone-purple { background: #8b5cf6; } -.aksrt-faq__qblock { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; } -.aksrt-faq__q { font-weight: 700; font-size: 14px; line-height: 1.35; } -.aksrt-faq__preview { - font-size: 12px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.aksrt-faq__chevron { - color: var(--muted-2-color, #999); - transition: transform .2s ease; - flex-shrink: 0; -} -.aksrt-faq__item[open] .aksrt-faq__chevron { transform: rotate(180deg); } -.aksrt-faq__a { - padding: 0 14px 14px 60px; - font-size: 13px; - color: var(--color-ink-3, #555); - line-height: 1.65; -} -.aksrt-faq__aside { display: flex; flex-direction: column; gap: 12px; } -.aksrt-faq__doc { - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 12px; - padding: 14px; - background: var(--surface-1, #fff); -} -.aksrt-faq__doc-head { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; } -.aksrt-faq__doc-ico { - width: 36px; height: 36px; border-radius: 10px; - display: inline-flex; align-items: center; justify-content: center; - background: #eff6ff; color: #2563eb; flex-shrink: 0; -} -.aksrt-faq__doc-title { margin: 0; font-size: 15px; } -.aksrt-faq__doc-desc { margin: 4px 0 0; font-size: 12px; } -.aksrt-faq__doc-list { list-style: none; margin: 0; padding: 0; } -.aksrt-faq__doc-li + .aksrt-faq__doc-li { margin-top: 8px; } -.aksrt-faq__doc-a { - display: flex; - align-items: center; - gap: 10px; - padding: 8px; - border-radius: 10px; - background: var(--surface-2, #f8fafc); - text-decoration: none; - color: inherit; -} -.aksrt-faq__doc-li-ico { - width: 28px; height: 28px; border-radius: 8px; - display: inline-flex; align-items: center; justify-content: center; - background: #fff; color: var(--color-primary, #3b82f6); flex-shrink: 0; -} -.aksrt-faq__doc-li-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } -.aksrt-faq__doc-li-title { font-size: 13px; font-weight: 600; } -.aksrt-faq__doc-li-desc { font-size: 11px; } -.aksrt-faq__doc-go { - font-size: 12px; - color: var(--color-primary, #3b82f6); - white-space: nowrap; - flex-shrink: 0; -} -.aksrt-faq__help { - border-radius: 12px; - padding: 14px; - background: linear-gradient(135deg, #3b82f6, #8b5cf6); - color: #fff; -} -.aksrt-faq__help-top { display: flex; gap: 10px; align-items: flex-start; } -.aksrt-faq__help-ico { - width: 36px; height: 36px; border-radius: 10px; - display: inline-flex; align-items: center; justify-content: center; - background: rgba(255,255,255,.18); flex-shrink: 0; -} -.aksrt-faq__help-title { margin: 0; font-size: 15px; } -.aksrt-faq__help-sub { margin: 4px 0 0; font-size: 12px; opacity: .92; } -.aksrt-faq__help-btn { - display: inline-flex; - align-items: center; - gap: 6px; - margin-top: 12px; - padding: 8px 14px; - border-radius: 999px; - background: #fff; - color: #1d4ed8 !important; - text-decoration: none; - font-weight: 700; - font-size: 13px; -} -@media (max-width: 900px) { - .aksrt-faq__main { grid-template-columns: 1fr; } - .aksrt-faq__a { padding-left: 14px; } -} - -/* ---- batch12: video shell + bookmark links styles + product oneline swiper ---- */ -.aksrt-video-widget { - position: relative; - width: 100%; - overflow: hidden; - border-radius: 10px; - background: #000; -} -.aksrt-video-widget.radius8 { border-radius: 10px; } -.aksrt-video-widget__frame, -.aksrt-video-widget__player, -.aksrt-video-widget .aksrt-video { - position: absolute; - inset: 0; - width: 100%; - height: 100%; -} -.aksrt-video-widget__frame { - border: 0; - display: block; -} -.aksrt-video-widget.controller-hide .aksrt-video video::-webkit-media-controls { - opacity: 0; - transition: opacity .2s ease; -} -.aksrt-video-widget.controller-hide:hover .aksrt-video video::-webkit-media-controls { - opacity: 1; -} - -.aksrt-bookmark-links.links-box { - display: flex; - flex-wrap: wrap; - gap: 12px; -} -.aksrt-bookmark-links.style-card .author-minicard, -.aksrt-bookmark-links.style-bigcard .author-minicard { - flex: 1 1 calc(50% - 12px); - min-width: 140px; - background: var(--surface-2, #f8fafc); - border: 1px solid var(--color-line, #e5e7eb); - padding: 12px; - box-sizing: border-box; -} -.aksrt-bookmark-links.style-bigcard .author-minicard { - flex: 1 1 100%; - text-align: center; -} -.aksrt-bookmark-links .avatar-img img, -.aksrt-bookmark-links .link-img img { - width: 42px; - height: 42px; - border-radius: 50%; - object-fit: cover; -} -.aksrt-bookmark-links.style-bigcard .avatar-img img { - width: 64px; - height: 64px; -} -.aksrt-bookmark-links.style-image { - display: flex; - flex-wrap: wrap; - gap: 10px; -} -.aksrt-bookmark-links.style-image .link-only-img img { - width: 48px; - height: 48px; - border-radius: 10px; - object-fit: cover; -} -.aksrt-bookmark-links.style-simple { - display: block; - line-height: 1.9; - font-size: 13px; -} -.aksrt-bookmark-links.style-simple a { - color: inherit; - text-decoration: none; - margin-right: 8px; -} -.aksrt-bookmark-links.style-simple a:hover { - color: var(--color-primary, #3b82f6); -} -.aksrt-bookmark-links.has-box { - padding: 12px; - border: 1px solid var(--color-line, #e5e7eb); - border-radius: 12px; - background: var(--surface-1, #fff); -} - -.aksrt-product-oneline-swiper { - position: relative; - overflow: hidden; - padding: 0 28px 4px; -} -.aksrt-product-oneline-swiper .swiper-wrapper { - display: flex; -} -.aksrt-product-oneline-swiper .swiper-slide { - width: auto; - max-width: 46%; - min-width: 150px; - height: auto; -} -.aksrt-product-oneline-swiper .aksrt-product-card { - height: 100%; -} -.aksrt-product-oneline-swiper .swiper-button-prev, -.aksrt-product-oneline-swiper .swiper-button-next { - width: 28px; - height: 28px; - margin-top: 0; - top: 42%; - border-radius: 50%; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - color: var(--color-ink, #111); - box-shadow: 0 2px 8px rgba(0,0,0,.06); -} -.aksrt-product-oneline-swiper .swiper-button-prev:after, -.aksrt-product-oneline-swiper .swiper-button-next:after { - font-size: 12px; - font-weight: 700; -} -.aksrt-product-oneline-swiper .swiper-button-prev { left: 0; } -.aksrt-product-oneline-swiper .swiper-button-next { right: 0; } -.aksrt-product-widget--oneline .aksrt-product-widget__grid { - /* legacy flex fallback if swiper unavailable */ -} - -/* ===== Batch13: oneline posts swiper-scroll + user minicards + term graphic ===== */ - -.widget-main-post.aksrt-oneline-posts { - margin-bottom: 16px; -} -.aksrt-oneline-swiper { - position: relative; - overflow: hidden; - padding: 0 28px 4px; -} -.aksrt-oneline-swiper .swiper-wrapper { - display: flex; - align-items: stretch; -} -.aksrt-oneline-swiper .swiper-slide { - width: auto; - max-width: 46%; - min-width: 160px; - height: auto; -} -.widget-main-post.style-mini .aksrt-oneline-swiper .swiper-slide { - max-width: 280px; - min-width: 220px; -} -.widget-main-post.style-list .aksrt-oneline-swiper .swiper-slide { - max-width: 320px; - min-width: 240px; -} -.aksrt-oneline-swiper .posts-item, -.aksrt-oneline-swiper .posts-mini { - height: 100%; - margin: 0 8px 0 0; -} -.aksrt-oneline-swiper .swiper-button-prev, -.aksrt-oneline-swiper .swiper-button-next { - width: 28px; - height: 28px; - margin-top: 0; - top: 42%; - border-radius: 50%; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - color: var(--color-ink, #111); - box-shadow: 0 2px 8px rgba(0,0,0,.06); -} -.aksrt-oneline-swiper .swiper-button-prev:after, -.aksrt-oneline-swiper .swiper-button-next:after { - font-size: 12px; - font-weight: 700; -} -.aksrt-oneline-swiper .swiper-button-prev { left: 0; } -.aksrt-oneline-swiper .swiper-button-next { right: 0; } - -/* User lists → author-minicard */ -.aksrt-user-lists .user_lists { - display: flex; - flex-direction: column; - gap: 10px; - text-align: left; -} -.aksrt-user-lists .author-minicard { - display: block; - padding: 12px 14px; - border-radius: 8px; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - overflow: hidden; -} -.aksrt-user-lists.is-bare .author-minicard { - background: transparent; -} -.aksrt-user-lists .author-minicard > ul.list-inline { - display: flex; - align-items: center; - gap: 12px; - margin: 0; - padding: 0; - list-style: none; -} -.aksrt-user-lists .author-minicard > ul.list-inline > li { - margin: 0; - list-style: none; -} -.aksrt-user-lists .author-minicard .avatar-img img.avatar { - width: 42px; - height: 42px; - border-radius: 50%; - object-fit: cover; - display: block; -} -.aksrt-user-lists .author-minicard dl { - margin: 0; - min-width: 0; -} -.aksrt-user-lists .author-minicard dt.flex { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 4px; -} -.aksrt-user-lists .author-minicard dd { - margin: 0; - max-width: 100%; -} -.aksrt-user-lists .author-minicard .abs-blur-bg { - position: absolute; - inset: 0; - overflow: hidden; - z-index: 0; - opacity: .18; - pointer-events: none; -} -.aksrt-user-lists .author-minicard .abs-blur-bg img { - width: 100%; - height: 100%; - object-fit: cover; - filter: blur(18px); - transform: scale(1.2); -} -.aksrt-user-lists .author-minicard .relative { - position: relative; - z-index: 1; -} - -/* Graphic card polish */ -.graphic { - background: var(--surface-2, #f3f4f6); -} -.graphic .graphic-mask { - position: absolute; - inset: 0; - background: #000; - pointer-events: none; - z-index: 1; -} -.graphic .graphic-text, -.graphic .abs-center { - z-index: 2; - padding: 10px 12px; -} -.graphic .title-h-center { - font-size: 16px; - font-weight: 700; -} -.graphic badge.b-black, -.graphic .img-badge { - display: inline-flex; - align-items: center; - gap: 4px; - padding: 2px 8px; - border-radius: 4px; - background: rgba(0,0,0,.55); - color: #fff; - font-size: 12px; - line-height: 1.4; -} -.graphic video.fit-cover { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - object-fit: cover; -} -.hover-zoom-img .graphic img.fit-cover, -.hover-zoom-img.graphic img.fit-cover { - transition: transform .45s ease; -} -.hover-zoom-img:hover .graphic img.fit-cover, -.hover-zoom-img.graphic:hover img.fit-cover { - transform: scale(1.06); -} -.aksrt-term-cards .row.gutters-5 { - display: flex; - flex-wrap: wrap; - margin: 0 -4px; -} -.aksrt-term-cards .row.gutters-5 > [class*="col-"] { - padding: 0 4px; - box-sizing: border-box; -} -.aksrt-term-cards .col-sm-12 { width: 100%; } -.aksrt-term-cards .col-sm-6 { width: 50%; } -.aksrt-term-cards .col-sm-4 { width: 33.333%; } -.aksrt-term-cards .col-sm-3 { width: 25%; } -.aksrt-term-cards .col-sm-2 { width: 16.666%; } -@media (max-width: 767px) { - .aksrt-term-cards .col-xs-12 { width: 100%; } - .aksrt-term-cards .col-xs-6 { width: 50%; } - .aksrt-term-cards .col-xs-4 { width: 33.333%; } -} - -/* Term aggregation (zibll term-aggregation) */ -.term-aggregation.aksrt-term-agg__card, -.zib-widget.term-aggregation { - padding: 14px; - border-radius: 10px; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - margin-bottom: 12px; -} -.aksrt-term-agg { - display: grid; - gap: 12px; - grid-template-columns: repeat(var(--aksrt-ta-cols, 1), minmax(0, 1fr)); -} -.term-aggregation .hover-zoom-img.flex { - display: flex; - align-items: stretch; - gap: 0; -} -.term-aggregation .term-img { - width: 38%; - max-width: 180px; - min-width: 110px; -} -.term-aggregation .term-img .graphic { - margin: 0; - border-radius: 8px; -} -.term-aggregation .term-title { - min-width: 0; - padding-left: 4px; -} -.term-aggregation .term-title > a { - font-weight: 700; - text-decoration: none; - color: inherit; -} -.term-aggregation .term-meta { - display: flex; - justify-content: space-between; - align-items: center; - gap: 8px; - margin-top: 6px; -} -.term-aggregation .icon-circle { - position: relative; - padding-left: 14px; - color: inherit; - text-decoration: none; -} -.term-aggregation .icon-circle:before { - content: ""; - position: absolute; - left: 0; - top: 50%; - width: 6px; - height: 6px; - border-radius: 50%; - background: var(--theme-color, var(--focus-color, #f04494)); - transform: translateY(-50%); -} -.term-aggregation .but.c-blue { - display: inline-flex; - align-items: center; - gap: 2px; - border-radius: 999px; - padding: 2px 10px; - font-size: 12px; - background: rgba(59,130,246,.1); - color: #2563eb; - text-decoration: none; -} -@media (max-width: 640px) { - .aksrt-term-agg { grid-template-columns: 1fr; } - .term-aggregation .term-img { max-width: 120px; min-width: 88px; width: 34%; } - .term-aggregation .hide-sm { display: none !important; } - .aksrt-oneline-swiper .swiper-slide { max-width: 72%; min-width: 140px; } -} - -/* ===== Batch14: recent comments mini + friend links + iframe + cover ===== */ - -.comment-mini-lists.widget-recent-comments, -.comment-mini-lists.zib-widget { - padding: 4px 0; -} -.comment-mini-lists .posts-mini { - display: flex; - align-items: flex-start; - gap: 0; - padding: 10px 0; - border-bottom: 1px solid var(--color-line, rgba(0,0,0,.06)); -} -.comment-mini-lists .posts-mini:last-child { - border-bottom: 0; -} -.comment-mini-lists .avatar-img { - flex: 0 0 auto; - --this-size: 36px; -} -.comment-mini-lists .avatar-img img.avatar { - width: 36px; - height: 36px; - border-radius: 50%; - object-fit: cover; - display: block; -} -.comment-mini-lists .posts-mini-con { - min-width: 0; - flex: 1; -} -.comment-mini-lists .posts-mini-con > p.flex { - display: flex; - justify-content: space-between; - align-items: center; - margin: 0 0 4px; - gap: 8px; -} -.comment-mini-lists .icon-spot:before { - content: "·"; - margin: 0 6px; - opacity: .5; -} -.comment-mini-lists a.muted-color { - color: var(--muted-2-color, #666); - text-decoration: none; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - overflow: hidden; - line-height: 1.5; -} -.comment-mini-lists a.muted-color:hover { - color: var(--theme-color, var(--focus-color, #f04494)); -} - -/* Friend links reuse bookmark-links styles */ -.aksrt-friend-links.links-box { - display: flex; - flex-wrap: wrap; - gap: 10px; -} -.aksrt-friend-links.style-simple { - gap: 6px 12px; -} -.aksrt-friend-links.style-image { - gap: 8px; -} - -/* Iframe lazy shell */ -.wp-block-embed.is-type-video.relative-h, -.aksrt-iframe-embed .relative-h { - position: relative; - overflow: hidden; - border-radius: 8px; - background: #0f172a; -} -.aksrt-iframe-ratio { - position: relative; - width: 100%; - height: 0; -} -.aksrt-iframe-ratio iframe, -.aksrt-iframe-el { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - border: 0; -} - -/* Cover cards row already covered by term-cards col rules — scope shared */ -.widget-graphic-cover .row.gutters-5 { - display: flex; - flex-wrap: wrap; - margin: 0 -4px; -} -.widget-graphic-cover .row.gutters-5 > [class*="col-"] { - padding: 0 4px; - box-sizing: border-box; -} -.widget-graphic-cover .col-sm-12 { width: 100%; } -.widget-graphic-cover .col-sm-6 { width: 50%; } -.widget-graphic-cover .col-sm-4 { width: 33.333%; } -.widget-graphic-cover .col-sm-3 { width: 25%; } -.widget-graphic-cover .col-sm-2 { width: 16.666%; } -@media (max-width: 767px) { - .widget-graphic-cover .col-xs-12 { width: 100%; } - .widget-graphic-cover .col-xs-6 { width: 50%; } - .widget-graphic-cover .col-xs-4 { width: 33.333%; } -} -.widget-graphic-cover .this-font { - font-size: var(--font-size, 18px); - font-weight: var(--font-weight, 600); - color: var(--color, #fff); -} -@media (max-width: 767px) { - .widget-graphic-cover .this-font { - font-size: var(--font-size-sm, 14px); - font-weight: var(--font-weight-sm, 600); - } -} - -/* ===== Batch15: icon-card / icon-cover / buttons / yiyan / text-title ===== */ - -.icon-card { - text-align: center; - padding: 16px 10px; -} -.icon-card .card-icon { - display: inline-flex; - align-items: center; - justify-content: center; - line-height: 1; - color: var(--theme-color, var(--focus-color, #f04494)); -} -.icon-card .card-icon.toggle-radius { - width: 3.2em; - height: 3.2em; - border-radius: 50%; - background: rgba(240, 68, 148, 0.1); -} -.icon-card .card-icon img { - width: 1em; - height: 1em; - object-fit: contain; -} -.icon-card .main-color { - color: inherit; - text-decoration: none; -} -.icon-card .main-color:hover { - color: var(--theme-color, var(--focus-color, #f04494)); -} - -.icon-cover-card { - display: flex; - align-items: center; - gap: 0; - /* Surface: .zib-widget / .padding-10 on same node (zibll). Do not re-box. */ -} -a.main-color > .icon-cover-card:hover { - opacity: 0.92; -} -/* Icon badge uses .badg.cir (+ c-* / jb-*); only ensure flex centering. */ -.icon-cover-icon.badg.cir { - display: inline-flex; - align-items: center; - justify-content: center; - flex-shrink: 0; -} -.icon-cover-icon.radius4, -.icon-cover-icon.badg.cir.radius4 { - border-radius: 4px !important; -} -.icon-cover-icon img { - width: 70%; - height: 70%; - object-fit: contain; -} -.icon-cover-desc { - min-width: 0; - overflow: hidden; -} -.icon-cover-desc .font-bold { - font-weight: bold; -} - -/* Buttons wrap (zibll flex hh) */ -.widget-buttons .widget-buttons-wrap { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: var(--pc-gap, 12px); -} -.widget-buttons .widget-buttons-wrap.align-center { justify-content: center; } -.widget-buttons .widget-buttons-wrap.align-left { justify-content: flex-start; } -.widget-buttons .widget-buttons-wrap.align-right { justify-content: flex-end; } -.widget-buttons .widget-buttons-wrap .but { - display: inline-flex; - align-items: center; - justify-content: center; - gap: 4px; - padding: 8px 16px; - border-radius: 6px; - text-decoration: none; - font-size: 14px; - line-height: 1.3; - background: var(--theme-color, #3b82f6); - color: #fff; - border: 1px solid transparent; - min-width: var(--pc-width, auto); -} -.widget-buttons .widget-buttons-wrap .but.radius { - border-radius: 999px; -} -.widget-buttons .widget-buttons-wrap .but.hollow { - background: transparent; - color: var(--theme-color, #3b82f6); - border-color: currentColor; -} -.widget-buttons .widget-buttons-wrap .but.c-blue { background: #3b82f6; } -.widget-buttons .widget-buttons-wrap .but.c-green { background: #22c55e; } -.widget-buttons .widget-buttons-wrap .but.c-yellow { background: #eab308; color: #1a1a1a; } -.widget-buttons .widget-buttons-wrap .but.c-red { background: #ef4444; } -.widget-buttons .widget-buttons-wrap .but.c-purple { background: #a855f7; } -.widget-buttons .widget-buttons-wrap .but.hollow.c-blue { color: #3b82f6; background: transparent; } -.widget-buttons .widget-buttons-wrap .but.hollow.c-green { color: #22c55e; background: transparent; } -.widget-buttons .widget-buttons-wrap .but.hollow.c-red { color: #ef4444; background: transparent; } -.widget-buttons .widget-buttons-wrap .but.hollow.c-purple { color: #a855f7; background: transparent; } -.widget-buttons .widget-buttons-wrap .but.hollow.c-yellow { color: #ca8a04; background: transparent; } -.widget-buttons.pc-size-small .but { padding: 4px 10px; font-size: 12px; } -.widget-buttons.pc-size-medium .but { padding: 6px 14px; font-size: 13px; } -.widget-buttons.pc-size-large .but { padding: 10px 18px; font-size: 15px; } -@media (max-width: 767px) { - .widget-buttons .widget-buttons-wrap { - gap: var(--m-gap, 6px); - } - .widget-buttons .widget-buttons-wrap .but { - min-width: var(--m-width, auto); - } - .widget-buttons.m-size-small .but { padding: 4px 10px; font-size: 12px; } - .widget-buttons.m-size-medium .but { padding: 6px 12px; font-size: 13px; } - .widget-buttons.m-size-large .but { padding: 8px 14px; font-size: 14px; } -} - -/* Yiyan shell */ -.yiyan-box.main-bg, -.yiyan-box-wrap .yiyan-box { - background: var(--surface-1, #fff); - border-radius: 8px; - box-shadow: 0 0 10px var(--main-shadow, rgba(116,116,116,.08)); - padding: 18px 16px; - text-align: center; -} -.yiyan-box .aksrt-yiyan, -.yiyan-box .yiyan { - margin: 0; -} - -/* Text title char animation inherits data-aksrt-animate */ -.aksrt-text-title__main > span[data-aksrt-animate] { - display: inline-block; -} - -/* Shared icon grid columns (reuse term-cards pattern) */ -.widget_aksrt_icon_cards .row.gutters-5, -.widget_aksrt_icon_cover_cards .row.gutters-5 { - display: flex; - flex-wrap: wrap; - margin: 0 -4px; -} -.widget_aksrt_icon_cards .row.gutters-5 > [class*="col-"], -.widget_aksrt_icon_cover_cards .row.gutters-5 > [class*="col-"] { - padding: 0 4px; - box-sizing: border-box; -} -.widget_aksrt_icon_cards .col-sm-12, -.widget_aksrt_icon_cover_cards .col-sm-12 { width: 100%; } -.widget_aksrt_icon_cards .col-sm-6, -.widget_aksrt_icon_cover_cards .col-sm-6 { width: 50%; } -.widget_aksrt_icon_cards .col-sm-4, -.widget_aksrt_icon_cover_cards .col-sm-4 { width: 33.333%; } -.widget_aksrt_icon_cards .col-sm-3, -.widget_aksrt_icon_cover_cards .col-sm-3 { width: 25%; } -.widget_aksrt_icon_cards .col-sm-2, -.widget_aksrt_icon_cover_cards .col-sm-2 { width: 16.666%; } -@media (max-width: 767px) { - .widget_aksrt_icon_cards .col-xs-12, - .widget_aksrt_icon_cover_cards .col-xs-12 { width: 100%; } - .widget_aksrt_icon_cards .col-xs-6, - .widget_aksrt_icon_cover_cards .col-xs-6 { width: 50%; } - .widget_aksrt_icon_cards .col-xs-4, - .widget_aksrt_icon_cover_cards .col-xs-4 { width: 33.333%; } - .widget_aksrt_icon_cards .col-xs-3, - .widget_aksrt_icon_cover_cards .col-xs-3 { width: 25%; } -} - -/* ===== Batch16-18: highlights/combo/announcement/gap polish ===== */ - -.aksrt-highlights__row { - display: grid; - gap: 12px; - margin-bottom: 12px; -} -.aksrt-highlights__row.is-large { grid-template-columns: 1fr; } -.aksrt-highlights__row.is-medium { grid-template-columns: repeat(2, minmax(0, 1fr)); } -.aksrt-highlights__row.is-small { grid-template-columns: repeat(3, minmax(0, 1fr)); } -@media (max-width: 767px) { - .aksrt-highlights__row.is-medium, - .aksrt-highlights__row.is-small { grid-template-columns: 1fr; } -} -.aksrt-hl-card { - display: block; - position: relative; - overflow: hidden; - border-radius: 12px; - text-decoration: none; - color: inherit; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); - min-height: 120px; - transition: transform .25s ease, box-shadow .25s ease; -} -.aksrt-hl-card:hover { - transform: translateY(-2px); - box-shadow: 0 10px 24px rgba(0,0,0,.06); -} -.aksrt-hl-card__media { - position: absolute; - inset: 0; - z-index: 0; -} -.aksrt-hl-card__media img { - width: 100%; - height: 100%; - object-fit: cover; -} -.aksrt-hl-card__body { - position: relative; - z-index: 1; - padding: 16px; -} -.aksrt-hl-card.color-blue { --hl: #3b82f6; } -.aksrt-hl-card.color-pink { --hl: #ec4899; } -.aksrt-hl-card.color-purple { --hl: #a855f7; } -.aksrt-hl-card.color-green { --hl: #22c55e; } -.aksrt-hl-card.color-orange { --hl: #f97316; } -.aksrt-hl-card.color-cyan { --hl: #06b6d4; } -.aksrt-hl-card__icon { - width: 36px; - height: 36px; - border-radius: 10px; - display: inline-flex; - align-items: center; - justify-content: center; - background: color-mix(in srgb, var(--hl, #3b82f6) 16%, transparent); - color: var(--hl, #3b82f6); - margin-bottom: 8px; -} -.aksrt-hl-card__title { font-weight: 700; font-size: 16px; } -.aksrt-hl-card__desc { margin-top: 6px; font-size: 13px; color: var(--muted-2-color, #888); } - -/* Combo row gutters */ -.aksrt-combo-info.row.gutters-10 { - display: flex; - flex-wrap: wrap; - margin: 0 -5px; -} -.aksrt-combo-info.row.gutters-10 > [class*="col-"] { - padding: 0 5px 10px; - box-sizing: border-box; -} -.aksrt-combo-info .col-sm-12 { width: 100%; } -.aksrt-combo-info .col-sm-6 { width: 50%; } -.aksrt-combo-info .col-sm-4 { width: 33.333%; } -.aksrt-combo-info .col-sm-3 { width: 25%; } -.aksrt-combo-info .col-sm-2 { width: 16.666%; } -@media (max-width: 767px) { - .aksrt-combo-info .col-xs-12 { width: 100%; } - .aksrt-combo-info .col-xs-6 { width: 50%; } - .aksrt-combo-info .col-xs-4 { width: 33.333%; } -} - -/* Announcement vertical swiper reuse notice styles */ -body .content-layout__aside .widget.widget_aksrt_announcement, -.theme-dark .content-layout__aside .widget.widget_aksrt_announcement, -html.dark .content-layout__aside .widget.widget_aksrt_announcement, -.theme-dark .zib-widget.widget_aksrt_announcement, -html.dark .zib-widget.widget_aksrt_announcement, -.zib-widget.widget_aksrt_announcement, -.zib-widget[id^="aksrt_announcement-"], -.zib-widget:has(> .aksrt-announcement), -.widget.widget_aksrt_announcement { - /* The announcement bar owns its surface; avoid stacking the generic widget card around it. */ - background: transparent !important; - background-color: transparent !important; - border: 0 !important; - border-radius: 0 !important; - box-shadow: none !important; - padding: 0 !important; - overflow: visible !important; -} - -/* Category block owns the post cards inside it; remove the generic widget card around the block. */ -.zib-widget.widget_aksrt_category_block, -.zib-widget[id^="aksrt_category_block-"], -.zib-widget:has(> .aksrt-home-widget--category-block) { - background: transparent !important; - background-color: transparent !important; - border: 0 !important; - border-radius: 0 !important; - box-shadow: none !important; - padding: 0 !important; - overflow: visible !important; -} - -.aksrt-announcement-swiper-wrap { - display: flex; - align-items: center; - gap: 10px; - padding: 10px 12px; - border-radius: 8px; - background: var(--surface-1, #fff); - border: 1px solid var(--color-line, #e5e7eb); -} -.aksrt-announcement-swiper-wrap .aksrt-notice-swiper, -.aksrt-announcement-swiper { - flex: 1; - min-width: 0; - height: 28px; - overflow: hidden; -} -.aksrt-announcement-swiper .notice-slide, -.aksrt-announcement-swiper .swiper-slide { - height: 28px; - line-height: 28px; -} -.aksrt-announcement-swiper .text-ellipsis { - display: block; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - color: inherit; - text-decoration: none; -} - -/* Layout gap responsive */ -.aksrt-layout-gap { - width: 100%; - pointer-events: none; -} -@media (max-width: 767px) { - .aksrt-layout-gap { - height: var(--aksrt-gap-m, 20px) !important; - } -} -.widget-custom-html.is-full { - margin-left: calc(50% - 50vw); - margin-right: calc(50% - 50vw); - width: 100vw; - max-width: 100vw; -} - -/* ===== Batch19-21: categories tree, hot meta, paid mini, main renderer, lang ===== */ - -.aksrt-cat-list.has-thumb .aksrt-cat-list__link, -.aksrt-cat-list.is-tree .aksrt-cat-list__link { - display: flex; - align-items: center; - gap: 10px; - text-decoration: none; - color: inherit; -} -.aksrt-cat-list__thumb { - width: 32px; - height: 32px; - border-radius: 8px; - overflow: hidden; - flex: 0 0 auto; - background: var(--surface-2, #f3f4f6); - display: inline-flex; - align-items: center; - justify-content: center; - color: #999; -} -.aksrt-cat-list__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } -.aksrt-cat-list__text { min-width: 0; flex: 1; display: flex; flex-direction: column; } -.aksrt-cat-list__name { font-weight: 600; } -.aksrt-cat-list__desc { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } -.aksrt-cat-list__children { - list-style: none; - margin: 6px 0 0 18px; - padding: 0; - border-left: 2px solid var(--color-line, #e5e7eb); - padding-left: 10px; -} -.aksrt-cat-list .count { - margin-left: auto; - font-size: 12px; - color: var(--muted-2-color, #999); - background: var(--surface-2, #f3f4f6); - border-radius: 999px; - padding: 1px 8px; -} - -.tag-cloud.aksrt-tag-cloud a { transition: transform .15s ease; } -.tag-cloud.aksrt-tag-cloud a:hover { transform: translateY(-1px); } - - -.user-ranking-box .user-ranking-item, -.aksrt-user-ranking-box .user-ranking-item { position: relative; } -.user-ranking-item .avatar-img img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; display: block; } -.user-ranking-item .badg { white-space: nowrap; } - -.aksrt-category-recommend__card[data-aksrt-animate] { will-change: transform, opacity; } -.aksrt-category-recommend__posts.posts-mini-wrap { margin-top: 8px; } - -/* batch34-36 residual */ -.widget-hot-posts--graphic .hot-posts-graphic { margin-bottom: 12px; border-radius: 8px; overflow: hidden; } -.widget-hot-posts--graphic .hot-posts-graphic .graphic { position: relative; overflow: hidden; border-radius: 8px; background: var(--surface-2, #f3f4f6); } -.widget-hot-posts--graphic .hot-posts-graphic img.fit-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; } -.widget-hot-posts--graphic .linear-mask { - position: absolute; inset: 0; - background: linear-gradient(to top, rgba(0,0,0,.62), transparent 55%); - pointer-events: none; -} -.widget-hot-posts--graphic .abs-center.left-bottom { position: absolute; left: 0; right: 0; bottom: 0; color: #fff; } -.widget-hot-posts--graphic .hot-posts-graphic__title { font-weight: 600; line-height: 1.35; } -.widget-hot-posts--graphic .hot-post-item { position: relative; align-items: flex-start; gap: 0; } -.widget-hot-posts--graphic .hot-post-item__thumb { - flex: 0 0 72px; width: 72px; height: 54px; border-radius: 8px; overflow: hidden; - position: relative; background: var(--surface-2, #f3f4f6); -} -.widget-hot-posts--graphic .hot-post-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } -.widget-hot-posts--graphic badge.img-badge.left.hot { - position: absolute; top: 6px; left: 6px; z-index: 2; - padding: 2px 6px; border-radius: 4px; font-size: 11px; line-height: 1.2; color: #fff; -} -.widget-hot-posts--graphic badge.img-badge.jb-red { background: #f04438; } -.widget-hot-posts--graphic badge.img-badge.jb-yellow { background: #f79009; color: #111; } -.widget-hot-posts--graphic badge.img-badge.b-gray { background: #667085; } -.widget-hot-posts--graphic badge.img-badge.em12 { font-size: 12px; } -.pagenav.ajax-pag { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center; margin-top: 12px; } -.pagenav.ajax-pag .page-numbers { - display: inline-flex; min-width: 32px; height: 32px; padding: 0 8px; - align-items: center; justify-content: center; border-radius: 8px; - background: var(--surface-2, #f3f4f6); color: inherit; text-decoration: none; font-size: 13px; -} -.pagenav.ajax-pag .page-numbers.current { background: var(--theme-color, #f04494); color: #fff; } -.pagenav.ajax-pag .page-numbers.dots { background: transparent; min-width: auto; } -.widget-tab-posts__skeleton .placeholder-row { - display: flex; gap: 10px; align-items: center; padding: 8px 0; -} -.widget-tab-posts__skeleton .thumb-placeholder { - width: 56px; height: 42px; border-radius: 6px; background: var(--surface-2, #eee); -} -.widget-tab-posts__skeleton .placeholder.k1, -.widget-tab-posts__skeleton .placeholder.s1 { - height: 12px; border-radius: 4px; background: var(--surface-2, #eee); -} -.widget-tab-posts__skeleton .placeholder.k1 { width: 80%; } -.widget-tab-posts__skeleton .placeholder.s1 { width: 48%; } -.posts-mini-lists.aksrt-main-posts { /* zibll mini outer */ } - - -/* Compact paid-content purchase card for the article sidebar. */ -.aksrt-post-pay-card { - --aksrt-pay-accent: var(--color-primary, #3b82f6); - display: grid; - gap: 12px; - padding: 16px; - border: 1px solid color-mix(in srgb, var(--aksrt-pay-accent) 26%, var(--color-line, #e5e7eb)); - border-radius: 12px; - background: linear-gradient(145deg, color-mix(in srgb, var(--aksrt-pay-accent) 8%, var(--surface-1, #fff)), var(--surface-1, #fff)); -} -.aksrt-post-pay-card.jb-red { --aksrt-pay-accent: #ef4444; } -.aksrt-post-pay-card.jb-yellow { --aksrt-pay-accent: #f59e0b; } -.aksrt-post-pay-card.jb-blue { --aksrt-pay-accent: #3b82f6; } -.aksrt-post-pay-card.jb-green { --aksrt-pay-accent: #22c55e; } -.aksrt-post-pay-card.jb-purple { --aksrt-pay-accent: #8b5cf6; } -.aksrt-post-pay-card.jb-vip1 { --aksrt-pay-accent: #d49a25; } -.aksrt-post-pay-card.jb-vip2 { --aksrt-pay-accent: #64748b; } -.aksrt-post-pay-card__header, -.aksrt-post-pay-card__price-row, -.aksrt-post-pay-card__actions { display: flex; align-items: center; gap: 8px; } -.aksrt-post-pay-card__header { justify-content: space-between; } -.aksrt-post-pay-card__type, -.aksrt-post-pay-card__sales { - font-size: 12px; - line-height: 1; -} -.aksrt-post-pay-card__type { - padding: 5px 8px; - border-radius: 999px; - color: var(--aksrt-pay-accent); - background: color-mix(in srgb, var(--aksrt-pay-accent) 13%, transparent); - font-weight: 700; -} -.aksrt-post-pay-card__sales { color: var(--muted-2-color, #888); } -.aksrt-post-pay-card__price-row { min-height: 32px; } -.aksrt-post-pay-card__price, -.aksrt-post-pay-card__status { color: var(--aksrt-pay-accent); font-size: 25px; line-height: 1.2; } -.aksrt-post-pay-card__status { font-size: 19px; } -.aksrt-post-pay-card__status i { margin-right: 6px; } -.aksrt-post-pay-card__price-row del { color: var(--muted-2-color, #888); font-size: 13px; } -.aksrt-post-pay-card__hint { margin: -4px 0 0; color: var(--muted-2-color, #888); font-size: 12px; } -.aksrt-post-pay-card__actions { align-items: stretch; flex-direction: column; } -.aksrt-post-pay-card__actions .but { justify-content: center; width: 100%; } -.aksrt-main-posts__skeleton .placeholder-row, -.aksrt-product-tab__skeleton .placeholder-row { - display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; -} -.aksrt-main-posts__skeleton .posts-mini.placeholder-row { flex-direction: row; align-items: center; gap: 10px; } -.aksrt-main-posts__skeleton .thumb-placeholder, -.aksrt-product-tab__skeleton .placeholder.thumb { - width: 72px; height: 54px; border-radius: 8px; background: var(--surface-2, #eee); -} -.aksrt-product-tab__skeleton .placeholder.thumb { width: 100%; height: 100px; } -.aksrt-main-posts__skeleton .placeholder.k1, -.aksrt-main-posts__skeleton .placeholder.t1, -.aksrt-main-posts__skeleton .placeholder.s1, -.aksrt-product-tab__skeleton .placeholder.k1, -.aksrt-product-tab__skeleton .placeholder.s1 { - height: 12px; border-radius: 4px; background: var(--surface-2, #eee); -} -.aksrt-main-posts__skeleton .placeholder.k1, -.aksrt-product-tab__skeleton .placeholder.k1 { width: 80%; } -.aksrt-main-posts__skeleton .placeholder.s1, -.aksrt-product-tab__skeleton .placeholder.s1 { width: 48%; } -.aksrt-main-posts[data-load-mode="ajax"].is-ajax-loading { opacity: .85; } -.widget-search-box.is-affix { position: sticky; top: 72px; } - - -/* batch43-45 residual */ -.aksrt-product-widget__item--mini { - gap: 10px; padding: 8px 0; - border-bottom: 1px solid var(--color-line, rgba(0,0,0,.06)); -} -.aksrt-product-widget__item--mini:last-child { border-bottom: 0; } -.aksrt-product-widget__thumb.mini { - flex: 0 0 56px; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; - background: var(--surface-2, #f3f4f6); display: block; -} -.aksrt-product-widget__thumb.mini img { width: 100%; height: 100%; object-fit: cover; display: block; } -/* batch46-48 residual */ -.widget .is-affix[data-affix="true"], -.ajaxpager.is-affix[data-affix="true"], -.zib-widget.is-affix[data-affix="true"], -.aksrt-author-card.is-affix[data-affix="true"], -.aksrt-text-title.is-affix[data-affix="true"] { - position: sticky; - top: 72px; - z-index: 2; -} -.avatar-img.link-img img.aksrt-lazy { object-fit: cover; } - - -/* batch49-51 residual */ -.aksrt-mod-apply-modal[hidden] { display: none !important; } -.aksrt-mod-apply-modal { - position: fixed; inset: 0; z-index: 10050; - display: flex; align-items: center; justify-content: center; -} -.aksrt-mod-apply-modal__backdrop { - position: absolute; inset: 0; background: rgba(15, 23, 42, .45); -} -.aksrt-mod-apply-modal__dialog { - position: relative; z-index: 1; width: min(420px, calc(100vw - 32px)); - max-height: min(80vh, 560px); overflow: auto; - padding: 16px; border-radius: 12px; background: var(--surface-1, #fff); - box-shadow: 0 18px 50px rgba(0,0,0,.2); -} -.aksrt-mod-apply-modal__dialog textarea { - width: 100%; min-height: 96px; border: 1px solid var(--color-line, #e5e7eb); - border-radius: 8px; padding: 8px 10px; resize: vertical; -} -.aksrt-mod-apply-modal__dialog .js-aksrt-action-feedback.is-error { color: #ef4444; } -.aksrt-mod-apply-modal__dialog .js-aksrt-action-feedback.is-success { color: #10b981; } -.aksrt-mod-apply-modal__dialog .js-aksrt-action-feedback.is-loading { color: #64748b; } -body.aksrt-mod-apply-open { overflow: hidden; } -.aksrt-product-widget__item--list { gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--color-line, rgba(0,0,0,.06)); } -.aksrt-product-widget__item--list:last-child { border-bottom: 0; } -.aksrt-product-widget__thumb.list { - flex: 0 0 80px; width: 80px; height: 80px; border-radius: 10px; overflow: hidden; - background: var(--surface-2, #f3f4f6); display: block; -} -.aksrt-product-widget__thumb.list img { width: 100%; height: 100%; object-fit: cover; display: block; } -.text-ellipsis-2 { - display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; -} diff --git a/assets/css/frontend/widget-slider.css b/assets/css/frontend/widget-slider.css deleted file mode 100644 index 7e64fbec..00000000 --- a/assets/css/frontend/widget-slider.css +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Widget slider (AKSRT 幻灯片). - * @package AKSRT - */ -.aksrt-widget-slider { - position: relative; - overflow: hidden; - border-radius: 8px; - background: var(--surface-2, #f3f4f6); -} -.aksrt-widget-slider__track { - position: relative; - width: 100%; - height: var(--aksrt-slider-h, 220px); -} -.aksrt-widget-slider__slide { - position: absolute; - inset: 0; - opacity: 0; - pointer-events: none; - transition: opacity .35s ease; -} -.aksrt-widget-slider__slide.is-active { - opacity: 1; - pointer-events: auto; - z-index: 1; -} -.aksrt-widget-slider__slide img, -.aksrt-widget-slider__link { - display: block; - width: 100%; - height: 100%; - object-fit: cover; -} -.aksrt-widget-slider__caption { - position: absolute; - left: 0; - right: 0; - bottom: 0; - padding: 10px 12px; - background: linear-gradient(transparent, rgba(0,0,0,.55)); - color: #fff; - display: flex; - flex-direction: column; - gap: 2px; - font-size: 13px; -} -.aksrt-widget-slider__caption strong { - font-size: 14px; -} -.aksrt-widget-slider__prev, -.aksrt-widget-slider__next { - position: absolute; - top: 50%; - transform: translateY(-50%); - z-index: 2; - width: 28px; - height: 28px; - border: 0; - border-radius: 50%; - background: rgba(0,0,0,.35); - color: #fff; - cursor: pointer; - line-height: 28px; - text-align: center; - padding: 0; -} -.aksrt-widget-slider__prev { left: 8px; } -.aksrt-widget-slider__next { right: 8px; } -.aksrt-widget-slider__dots { - position: absolute; - left: 0; - right: 0; - bottom: 8px; - z-index: 2; - display: flex; - justify-content: center; - gap: 6px; - pointer-events: none; -} -.aksrt-widget-slider__dot { - pointer-events: auto; - width: 7px; - height: 7px; - border-radius: 50%; - border: 0; - padding: 0; - background: rgba(255,255,255,.45); - cursor: pointer; -} -.aksrt-widget-slider__dot.is-active { - background: #fff; -} diff --git a/assets/css/frontend/widgets.css b/assets/css/frontend/widgets.css deleted file mode 100644 index 69820df2..00000000 --- a/assets/css/frontend/widgets.css +++ /dev/null @@ -1,11 +0,0 @@ -@import url("widgets/part-1.css"); -@import url("widgets/part-2.css"); -@import url("widgets/part-3.css"); -@import url("widgets/part-4.css"); -@import url("widget-slider.css"); -@import url("widget-batch3.css"); -@import url("widget-batch3c.css"); -@import url("widget-batch3d.css"); -@import url("widget-batch3e.css"); -@import url("widget-batch3f.css"); -@import url("widget-batch5.css"); diff --git a/assets/css/frontend/widgets/part-1.css b/assets/css/frontend/widgets/part-1.css deleted file mode 100644 index c9d68f41..00000000 --- a/assets/css/frontend/widgets/part-1.css +++ /dev/null @@ -1,299 +0,0 @@ -/* ========== 侧栏小工具(模仿 zibll .zib-widget) ========== */ -.content-layout__aside .widget, -.widget-card, -.zib-widget { - clear: both; - background: var(--surface-1); - padding: var(--card-padding); - box-shadow: var(--shadow-sm); - border-radius: var(--radius); - margin-bottom: 20px; - border: 1px solid var(--color-line); -} - -/* Custom HTML widgets: de-card (no background, no padding — matches Zibll) */ -.widget_custom_html, -.zib-widget.widget_custom_html { - background: transparent; - padding: 0; - box-shadow: none; -} - -/* Zibll zib-widget-sm / noshadow modifier */ -.zib-widget-sm, -.zib-widget.noshadow { - box-shadow: none !important; -} - -.widget-title { - font-size: 15px; - font-weight: 700; - margin: 0 0 10px; - padding-bottom: 8px; - position: relative; - color: var(--color-ink); - border-bottom: none; - text-transform: none; - letter-spacing: normal; -} - -/* 标题下划线装饰(模仿 zibll) */ -.widget-title::before { - content: ''; - position: absolute; - left: 0; - bottom: 3px; - width: 40px; - height: 3px; - background: var(--color-primary); - border-radius: 5px; - box-shadow: 1px 1px 3px -1px var(--color-primary); - transition: transform 0.4s ease; - transform-origin: left; -} - -/* 暗色模式 */ -.theme-dark .content-layout__aside .widget, -html.dark .content-layout__aside .widget, -.theme-dark .widget-card, -html.dark .widget-card, -.theme-dark .zib-widget, -html.dark .zib-widget { - background: var(--surface-1); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); -} - -.author-card { - text-align: center; - padding: 28px 20px; - border-radius: var(--radius-lg); - background: linear-gradient(145deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); - color: #fff; - box-shadow: var(--shadow-md); - border: none; -} - -.author-card img { - width: 100px; - height: 100px; - border-radius: var(--radius-avatar); - border: 3px solid rgba(255, 255, 255, 0.35); - margin-bottom: 14px; - object-fit: cover; -} - -.author-card h3 { - margin: 0 0 8px; - color: #fff; - font-size: 1.125rem; -} - -.author-card p { - margin: 0 0 16px; - font-size: 0.875rem; - opacity: 0.92; - line-height: 1.55; -} - -.author-card .social-row, -.author-card .profile-social-links { - justify-content: center; -} - -.profile-social-links { - display: flex; - flex-wrap: wrap; - gap: 10px; - justify-content: center; -} - -.profile-social-links a, -.social-icon-link { - width: 36px; - height: 36px; - border-radius: var(--radius-avatar); - background: rgba(255, 255, 255, 0.2); - display: flex; - align-items: center; - justify-content: center; - color: #fff; - transition: background 0.2s; -} -.profile-social-links a i, -.social-icon-link i { - font-size: 18px; - line-height: 1; - display: block; -} - - -.profile-social-links a:hover, -.social-icon-link:hover { - background: rgba(255, 255, 255, 0.35); - color: #fff; -} - -.widget_search .search-form { - display: flex; - position: relative; -} - -.widget_search label { - position: absolute; - left: 16px; - top: 50%; - transform: translateY(-50%); - color: var(--color-ink-4); -} - -.widget_search .search-field { - width: 100%; - height: 44px; - padding: 0 16px 0 44px; - border-radius: var(--radius-btn); - border: 1px solid var(--color-line); - background: var(--surface-3); - color: var(--color-ink); - font-size: 14px; -} - -.widget_search .search-field:focus { - outline: none; - border-color: var(--color-primary); - box-shadow: 0 0 0 3px var(--color-primary-50); -} - -.widget_search .search-submit { - position: absolute; - right: 4px; - top: 4px; - height: 36px; - padding: 0 14px; - border-radius: 6px; - border: none; - background: var(--color-primary); - color: #fff; - font-weight: 600; - cursor: pointer; -} - -.widget-list { - list-style: none; - margin: 0; - padding: 0; -} - -.widget-list li { - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 0; - border-bottom: 1px solid var(--color-line); - font-size: 14px; - color: var(--color-ink-3); -} - -.widget-list li:last-child { - border-bottom: none; -} - -.widget-list li a { - flex: 1; - transition: color 0.2s, padding 0.2s; -} - -.widget-list li a:hover { - color: var(--color-primary); - padding-left: 6px; -} - -.widget-list li span { - color: var(--color-ink-4); - font-variant-numeric: tabular-nums; -} - -.widget_recent_entries li, -.recent-posts-row { - display: flex; - gap: 12px; - align-items: flex-start; - padding: 10px 0; - border-bottom: 1px solid var(--color-line); -} - -.widget_recent_entries li:last-child, -.recent-posts-row:last-child { - border-bottom: none; -} - -.recent-posts-row img { - width: 60px; - height: 60px; - border-radius: var(--radius-btn); - object-fit: cover; - flex-shrink: 0; -} - -.tag-cloud { - display: flex; - flex-wrap: wrap; - gap: 8px; -} - -.tag-cloud a { - padding: 6px 12px; - border-radius: var(--radius-pill); - border: 1px solid var(--color-line); - font-weight: 500; - color: var(--color-ink-3); - transition: background 0.2s, border-color 0.2s, color 0.2s; -} - -.tag-cloud a:hover { - border-color: var(--color-primary); - background: var(--color-primary); - color: #fff; -} - -.content-layout__aside .widget:last-child { - margin-bottom: 0; -} - -/* ============================================================ - * 热榜文章小工具 — v4.0 Zibll-Inspired - * ============================================================ */ -.widget-hot-posts { - display: flex; - flex-direction: column; - gap: 0; -} - -.hot-post-item { - display: flex; - align-items: flex-start; - gap: 10px; - padding: 10px 0; - border-bottom: 1px solid var(--color-line); -} - -.hot-post-item:last-child { - border-bottom: none; - padding-bottom: 0; -} - -.hot-post-item:first-child { - padding-top: 0; -} - -.hot-post-item__rank { - display: inline-flex; - align-items: center; - justify-content: center; - width: 22px; - height: 22px; - min-width: 22px; - border-radius: 4px; - font-size: 12px; - font-weight: 700; - background: var(--surface-3); - color: var(--color-ink-4); diff --git a/assets/css/frontend/widgets/part-2.css b/assets/css/frontend/widgets/part-2.css deleted file mode 100644 index 9cc4840d..00000000 --- a/assets/css/frontend/widgets/part-2.css +++ /dev/null @@ -1,312 +0,0 @@ - flex-shrink: 0; - margin-top: 2px; -} - -/* 前三名高亮 */ -.hot-post-item.rank-top .hot-post-item__rank { - background: var(--color-primary); - color: #fff; -} - -.hot-post-item__info { - flex: 1; - min-width: 0; -} - -.hot-post-item__title { - font-size: 13px; - font-weight: 500; - line-height: 1.4; - color: var(--color-ink); - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - transition: color 0.15s ease; -} - -.hot-post-item__title:hover { - color: var(--color-primary); -} - -.hot-post-item__meta { - display: flex; - gap: 10px; - font-size: 11px; - color: var(--color-ink-4); - margin-top: 4px; -} - -.hot-post-item__meta span { - display: inline-flex; - align-items: center; - gap: 3px; -} - -.hot-post-item__meta i { - font-size: 10px; -} - -/* ============================================================ - * 多栏目 Tab 切换小工具 — v4.0 Zibll-Inspired - * ============================================================ */ -.widget-tab-posts__nav { - display: flex; - list-style: none; - margin: 0 0 12px; - padding: 0; - gap: 2px; - border-bottom: 1px solid var(--color-line); -} - -.widget-tab-posts__nav li { - margin: 0; -} - -.widget-tab-posts__tab { - display: inline-block; - padding: 6px 14px; - font-size: 13px; - font-weight: 500; - color: var(--color-ink-4); - background: none; - border: none; - border-bottom: 2px solid transparent; - cursor: pointer; - transition: color 0.15s ease, border-color 0.15s ease; - margin-bottom: -1px; -} - -.widget-tab-posts__tab:hover { - color: var(--color-ink); -} - -.widget-tab-posts__tab.active { - color: var(--color-primary); - border-bottom-color: var(--color-primary); - font-weight: 600; -} - -.widget-tab-posts__panel { - display: none; -} - -.widget-tab-posts__panel.active { - display: block; -} - -.widget-tab-posts__list { - list-style: none; - margin: 0; - padding: 0; -} - -.widget-tab-posts__item { - display: flex; - gap: 10px; - padding: 8px 0; - border-bottom: 1px solid var(--color-line); -} - -.widget-tab-posts__item:last-child { - border-bottom: none; -} - -.widget-tab-posts__thumb { - width: 56px; - height: 42px; - border-radius: 4px; - overflow: hidden; - flex-shrink: 0; -} - -.widget-tab-posts__thumb img { - width: 100%; - height: 100%; - object-fit: cover; -} - -.widget-tab-posts__info { - flex: 1; - min-width: 0; - display: flex; - flex-direction: column; - justify-content: center; -} - -.widget-tab-posts__title { - font-size: 13px; - font-weight: 500; - line-height: 1.4; - color: var(--color-ink); - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - transition: color 0.15s ease; -} - -.widget-tab-posts__title:hover { - color: var(--color-primary); -} - -.widget-tab-posts__meta { - font-size: 11px; - color: var(--color-ink-4); - margin-top: 2px; -} - -.aksrt-homepage__aside .widget-tab-posts__list--mini, -.aksrt-homepage__aside .aksrt-home-widget__sidebar-list { - display: block; -} - -.aksrt-homepage__aside .posts-mini { - display: flex; - align-items: flex-start; - width: 100% !important; - gap: 12px; - padding: 10px 0; - min-width: 0; -} - -.aksrt-homepage__aside .widget-tab-posts__list--mini .posts-mini + .posts-mini, -.aksrt-homepage__aside .aksrt-home-widget__sidebar-list .posts-mini + .posts-mini { - border-top: 1px solid var(--color-line); -} - -.aksrt-homepage__aside .widget-tab-posts__list--mini .posts-mini:first-of-type, -.aksrt-homepage__aside .aksrt-home-widget__sidebar-list .posts-mini:first-of-type { - padding-top: 0; -} - -.aksrt-homepage__aside .widget-tab-posts__list--mini .posts-mini:last-of-type, -.aksrt-homepage__aside .aksrt-home-widget__sidebar-list .posts-mini:last-of-type { - padding-bottom: 0; -} - -.aksrt-homepage__aside .posts-mini-con { - flex: auto; - min-width: 0; - overflow: hidden; -} - -.aksrt-homepage__aside .posts-mini .item-thumbnail { - display: block; - position: relative; - flex: 0 0 96px; - width: 96px; - min-width: 96px; - height: 0; - padding-bottom: var(--posts-list-scale, 70%); - border-radius: var(--radius, 8px); - overflow: hidden; - line-height: 0; -} - -.aksrt-homepage__aside .posts-mini .item-thumbnail img { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - object-fit: cover; - display: block; -} - -.aksrt-homepage__aside .posts-mini .item-heading { - margin: 0; - font-size: 13px; - font-weight: 500; - line-height: 1.45; - max-height: 2.9em; - overflow: hidden; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; -} - -.aksrt-homepage__aside .posts-mini .item-heading a { - color: var(--color-ink); - text-decoration: none; - transition: color 0.15s ease; -} - -.aksrt-homepage__aside .posts-mini .item-heading a:hover { - color: var(--color-primary, var(--color-primary)); -} - -.aksrt-homepage__aside .posts-mini .item-meta { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 6px; - margin-top: 6px; - font-size: 12px; - color: var(--color-ink-4); -} - -.aksrt-homepage__aside .posts-mini .item-meta .meta-dot { - width: 3px; - height: 3px; - min-width: 3px; - border-radius: 50%; - background: currentColor; - opacity: 0.55; -} - -.aksrt-homepage__aside .posts-mini .item-meta .meta-item { - display: inline-flex; - align-items: center; - gap: 4px; -} - -.aksrt-homepage__aside .posts-mini .item-meta i { - font-size: 10px; -} - -.aksrt-homepage__aside .widget-hot-posts--mini .hot-post-item { - align-items: stretch; - gap: 12px; -} - -.aksrt-homepage__aside .widget-hot-posts--mini .hot-post-item .posts-mini { - flex: 1; - align-items: flex-start; - min-width: 0; - width: auto !important; - padding: 0; -} - -.aksrt-homepage__aside .widget-hot-posts--mini .hot-post-item .posts-mini-con { - display: flex; - flex: 1 1 auto; - flex-direction: column; - justify-content: center; - min-width: 0; -} - -.aksrt-homepage__aside .widget-hot-posts--mini .hot-post-item__rank { - margin-top: 2px; - align-self: flex-start; -} - -.widget-empty { - text-align: center; - font-size: 13px; - color: var(--color-ink-4); - padding: 16px 0; -} - -/* ============================================================ - - -.aksrt-null--widget { - padding: 12px 0 !important; -} -.aksrt-null--widget .aksrt-null__img { - margin: 0 auto; - display: block; -} -.aksrt-null .separator { - border: 0; -} diff --git a/assets/css/frontend/widgets/part-3.css b/assets/css/frontend/widgets/part-3.css deleted file mode 100644 index b203094d..00000000 --- a/assets/css/frontend/widgets/part-3.css +++ /dev/null @@ -1,332 +0,0 @@ - * Homepage content widgets - * ============================================================ */ -.aksrt-home-widget { - display: block; -} - -.aksrt-home-widget__header { - display: flex; - align-items: center; - justify-content: space-between; - gap: 12px; - margin-bottom: 14px; -} - -.aksrt-home-widget__header--tabs { - align-items: flex-end; - flex-wrap: wrap; -} - -.aksrt-home-widget__title { - position: relative; - margin: 0; - padding-left: 16px; - color: var(--color-ink); - font: 700 15px/1.4 var(--font-ui, var(--font-ui)); -} - -.aksrt-home-widget__title::before { - content: ""; - position: absolute; - top: 10%; - bottom: 10%; - left: 2px; - width: 4px; - border-radius: 5px; - background: var(--color-primary); - box-shadow: 1px 1px 3px -1px var(--color-primary); -} - -.aksrt-home-widget__more { - display: inline-flex; - align-items: center; - justify-content: center; - min-height: 30px; - padding: 0 12px; - border-radius: 20px; - background: var(--surface-3); - color: var(--color-ink-3); - font-size: 12px; - font-weight: 600; - transition: background 0.2s ease, color 0.2s ease; -} - -.aksrt-home-widget__more:hover { - background: var(--color-primary); - color: #fff; -} - -.aksrt-home-widget__footer { - display: flex; - justify-content: center; - margin-top: 16px; -} - -.aksrt-home-widget__tab-nav.widget-tab-posts__nav { - margin: 0; - padding: 0; - gap: 4px; - border-bottom: 0; - flex: 1 1 auto; - justify-content: flex-end; - flex-wrap: wrap; -} - -.aksrt-home-widget__tab-nav .widget-tab-posts__tab { - padding: 5px 12px; - margin-bottom: 0; - border: 0; - border-radius: 20px; - background: var(--surface-3); - color: var(--color-ink-3); -} - -.aksrt-home-widget__tab-nav .widget-tab-posts__tab:hover { - color: var(--color-primary); -} - -.aksrt-home-widget__tab-nav .widget-tab-posts__tab.active { - background: var(--color-primary); - color: #fff; -} - -.aksrt-home-widget__post-grid { - display: grid; - grid-template-columns: 1fr; - gap: 16px; -} - -.aksrt-home-widget__post-grid--list { - gap: 0; -} - -@media (min-width: 640px) { - .aksrt-home-widget__post-grid--card, - .aksrt-home-widget__post-grid--grid-cms { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } -} - -@media (min-width: 992px) { - .aksrt-home-widget__post-grid--card, - .aksrt-home-widget__post-grid--grid-cms { - grid-template-columns: repeat(var(--aksrt-widget-columns, 3), minmax(0, 1fr)); - } -} - -.aksrt-home-widget__post-grid .posts-item.card { - height: 100%; - border: 1px solid var(--color-line); - box-shadow: none; -} - -.aksrt-home-widget__post-grid .posts-item.card:hover { - transform: none; - box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08)); -} - -/* Category block uses the unified renderer's .posts-row wrapper. Keep its card - * layout horizontal and wrap according to the configured column count. */ -.zib-widget.widget_aksrt_category_block .posts-row.post-grid--card, -.zib-widget[id^="aksrt_category_block-"] .posts-row.post-grid--card { - display: grid; - grid-template-columns: 1fr; - gap: 16px; - margin: 0; - font-size: initial; -} - -.zib-widget.widget_aksrt_category_block .posts-row.post-grid--card > .posts-item.card, -.zib-widget[id^="aksrt_category_block-"] .posts-row.post-grid--card > .posts-item.card { - width: auto; - display: block; - margin: 0; -} - -@media (min-width: 640px) { - .zib-widget.widget_aksrt_category_block .posts-row.post-grid--card, - .zib-widget[id^="aksrt_category_block-"] .posts-row.post-grid--card { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } -} - -@media (min-width: 992px) { - .zib-widget.widget_aksrt_category_block .posts-row.post-grid--card, - .zib-widget[id^="aksrt_category_block-"] .posts-row.post-grid--card { - grid-template-columns: repeat(var(--aksrt-widget-columns, 3), minmax(0, 1fr)); - } -} - -.aksrt-home-widget__post-grid .posts-item.list { - border-bottom: 1px solid var(--color-line); -} - -.aksrt-home-widget__post-grid .posts-item.list:last-child { - border-bottom: 0; -} - -.aksrt-home-widget__post-grid .item-heading { - font-size: 14px; -} - -.aksrt-home-widget__post-grid .item-tags { - gap: 0; - margin-bottom: 6px; -} - -.aksrt-home-widget__post-grid .item-tags .badge { - margin-right: 5px; - padding: 2px 5px; - font-size: 11px; - line-height: 1.4; -} - -.aksrt-home-widget__post-grid .item-meta { - font-size: 12px; -} - -.aksrt-home-widget__sidebar-list { - margin: 0; - padding: 0; -} - -.aksrt-home-widget__sidebar-list .widget-tab-posts__item:first-child { - padding-top: 0; -} - -.aksrt-category-recommend__grid { - display: grid; - grid-template-columns: 1fr; - gap: 16px; -} - -@media (min-width: 768px) { - .aksrt-category-recommend__grid { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } -} - -@media (min-width: 992px) { - .aksrt-category-recommend__grid { - grid-template-columns: repeat(var(--aksrt-recommend-columns, 2), minmax(0, 1fr)); - } -} - -.aksrt-category-recommend__card { - display: flex; - flex-direction: column; - min-width: 0; - background: var(--surface-page); - border: 1px solid var(--color-line); - border-radius: 8px; - overflow: hidden; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); - transition: transform 0.2s ease, box-shadow 0.2s ease; -} - -.aksrt-category-recommend__card:hover { - transform: none; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); -} - -.aksrt-category-recommend__hero { - position: relative; - aspect-ratio: 16 / 9; - overflow: hidden; - background: var(--surface-3); -} - -.aksrt-category-recommend__hero > a { - position: absolute; - inset: 0; - display: block; -} - -.aksrt-category-recommend__cover { - width: 100%; - height: 100%; - object-fit: cover; - transition: transform 0.3s ease; -} - -.aksrt-category-recommend__card:hover .aksrt-category-recommend__cover { - transform: scale(1.04); -} - -.aksrt-category-recommend__badge, -.aksrt-category-recommend__views { - position: absolute; - top: 10px; - z-index: 2; - display: inline-flex; - align-items: center; - gap: 4px; - min-height: 24px; - padding: 0 9px; - border-radius: 20px; - font-size: 11px; - font-weight: 600; - color: #fff; - background: rgba(17, 24, 39, 0.72); - backdrop-filter: blur(8px); -} - -.aksrt-category-recommend__badge { - left: 10px; -} - -.aksrt-category-recommend__views { - right: 10px; -} - -.aksrt-category-recommend__body { - display: flex; - flex: 1 1 auto; - flex-direction: column; - gap: 12px; - padding: 14px; -} - -.aksrt-category-recommend__meta { - display: flex; - flex-direction: column; - gap: 6px; -} - -.aksrt-category-recommend__name { - margin: 0; - font-size: 15px; - line-height: 1.35; -} - -.aksrt-category-recommend__name a { - color: var(--color-ink); -} - -.aksrt-category-recommend__name a:hover { - color: var(--color-primary); -} - -.aksrt-category-recommend__desc { - margin: 0; - color: var(--color-ink-4); - font-size: 13px; - line-height: 1.55; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; -} - -.aksrt-category-recommend__posts { - list-style: none; - margin: 0; - padding: 0; - border-top: 1px solid var(--color-line); -} - -.aksrt-category-recommend__post { - display: flex; - align-items: center; - gap: 8px; - justify-content: space-between; diff --git a/assets/css/frontend/widgets/part-4.css b/assets/css/frontend/widgets/part-4.css deleted file mode 100644 index 4775276a..00000000 --- a/assets/css/frontend/widgets/part-4.css +++ /dev/null @@ -1,95 +0,0 @@ - padding: 9px 0; - border-bottom: 1px dashed var(--color-line); -} - -.aksrt-category-recommend__post:last-child { - border-bottom: 0; -} - -.aksrt-category-recommend__post-link { - flex: 1 1 auto; - min-width: 0; - font-size: 13px; - line-height: 1.45; - color: var(--color-ink); - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.aksrt-category-recommend__post-link:hover { - color: var(--color-primary); -} - -.aksrt-category-recommend__date { - flex: 0 0 auto; - color: var(--color-ink-4); - font-size: 11px; - white-space: nowrap; -} - -@media (max-width: 767.98px) { - .aksrt-home-widget__header, - .aksrt-home-widget__header--tabs { - align-items: flex-start; - flex-direction: column; - } - - .aksrt-home-widget__tab-nav.widget-tab-posts__nav { - justify-content: flex-start; - } -} - -/* ============================================================ - * 流体挂件区(Fluid Widget Areas) - * 模仿 zibll 的 all_top_fluid / single_top_fluid 等全宽挂载位 - * ============================================================ */ -.aksrt-fluid-widget { - width: 100%; - max-width: var(--container-wide, 1440px); - margin: 0 auto; - padding: 0 16px; -} - -@media (min-width: 768px) { - .aksrt-fluid-widget { - padding: 0 24px; - } -} - -.aksrt-fluid-widget .widget { - margin-bottom: 0; -} - -.aksrt-fluid-widget--all-top { - padding-top: 16px; -} - -.aksrt-fluid-widget--all-bottom { - padding-bottom: 16px; -} - -.aksrt-fluid-widget--home-top { - margin-bottom: 24px; -} - -.aksrt-fluid-widget--single-top { - margin-bottom: 24px; -} - -.aksrt-fluid-widget--single-bottom { - margin-top: 24px; -} - -.aksrt-fluid-widget--archive-bottom { - margin-top: 24px; -} - -/* 流体挂件区内无边框无背景(全宽展示) */ -.aksrt-fluid-widget .widget_custom_html { - background: transparent; - border: none; - box-shadow: none; - padding: 0; -} - diff --git a/assets/js/widget-set.js b/assets/js/widget-set.js deleted file mode 100644 index 71bcb5b6..00000000 --- a/assets/js/widget-set.js +++ /dev/null @@ -1,337 +0,0 @@ -/** - * AKSRT Widget Set - * - * Handles widget-local interactions and floating QR widgets. - * - * @package AKSRT - */ - -(function () { - 'use strict'; - - function restHeaders() { - var headers = { Accept: 'application/json' }; - if (window.aksrtData && aksrtData.restNonce) { - headers['X-WP-Nonce'] = aksrtData.restNonce; - } - return headers; - } - - function initWidgetTabs() { - document.querySelectorAll('.widget-tab-posts[data-aksrt-tab-posts]').forEach(function (widget) { - if (widget.dataset.aksrtWidgetTabsBound === '1') return; - widget.dataset.aksrtWidgetTabsBound = '1'; - - var tabs = widget.querySelectorAll('.widget-tab-posts__tab'); - var panels = widget.querySelectorAll('.widget-tab-posts__panel'); - if (!tabs.length || !panels.length) return; - var rest = widget.getAttribute('data-rest') || ''; - var defaultCount = widget.getAttribute('data-count') || '5'; - - function loadPanel(panel, tab) { - if (!panel || panel.getAttribute('data-loaded') === '1' || !rest) return; - var orderby = tab.getAttribute('data-orderby') || 'date'; - var cat = tab.getAttribute('data-cat') || '0'; - var tabCount = tab.getAttribute('data-tab-count') || '0'; - var style = widget.getAttribute('data-style') || 'mini'; - var paginate = widget.getAttribute('data-paginate') || 'none'; - var qs = new URLSearchParams({ - count: defaultCount, - orderby: orderby, - cat: cat, - tab_count: tabCount, - style: style, - paginate: paginate, - limit_day: tab.getAttribute('data-limit-day') || '0', - pay_type: tab.getAttribute('data-pay-type') || '', - }); - var url = rest + (rest.indexOf('?') > -1 ? '&' : '?') + qs.toString(); - panel.classList.add('is-ajax-loading'); - fetch(url, { credentials: 'same-origin', headers: restHeaders() }) - .then(function (r) { return r.json(); }) - .then(function (j) { - var d = (j && j.data) || j || {}; - var html = d.html || ''; - var pag = d.paginate_html || d.paginateHtml || ''; - panel.innerHTML = (html || '
') + (pag || ''); - panel.setAttribute('data-loaded', '1'); - panel.classList.remove('is-ajax-loading'); - }) - .catch(function () { - panel.classList.remove('is-ajax-loading'); - }); - } - - tabs.forEach(function (tab) { - tab.addEventListener('click', function () { - var target = tab.getAttribute('data-tab'); - tabs.forEach(function (item) { - var active = item === tab; - item.classList.toggle('active', active); - item.classList.toggle('is-active', active); - item.setAttribute('aria-selected', active ? 'true' : 'false'); - }); - panels.forEach(function (panel) { - var active = panel.getAttribute('data-tab-panel') === target; - panel.classList.toggle('active', active); - panel.classList.toggle('is-active', active); - if (active) { - panel.removeAttribute('hidden'); - loadPanel(panel, tab); - } else { - panel.setAttribute('hidden', ''); - } - }); - }); - }); - }); - } - - // Homepage category tabs (was inline in CategoryTabsWidget). - function initCategoryTabs() { - document.querySelectorAll('[data-aksrt-home-cat-tabs]').forEach(function (section) { - if (section.dataset.aksrtCatTabsBound === '1') return; - section.dataset.aksrtCatTabsBound = '1'; - var rest = section.getAttribute('data-rest') || ''; - var count = section.getAttribute('data-count') || '6'; - var layout = section.getAttribute('data-layout') || 'card'; - var columns = section.getAttribute('data-columns') || '3'; - var context = section.getAttribute('data-context') || 'homepage'; - var showMore = section.getAttribute('data-show-more') === '1'; - var tabs = [].slice.call(section.querySelectorAll('.widget-tab-posts__tab')); - var panels = [].slice.call(section.querySelectorAll('.widget-tab-posts__panel')); - if (!tabs.length || !panels.length || !rest) return; - - function load(panel) { - if (!panel || panel.getAttribute('data-loaded') === '1') return; - var cat = panel.getAttribute('data-cat') || '0'; - var more = panel.getAttribute('data-more') || ''; - var qs = new URLSearchParams({ - cat: cat, - count: String(count), - layout: layout, - columns: String(columns), - context: context, - }); - var url = rest + (rest.indexOf('?') > -1 ? '&' : '?') + qs.toString(); - panel.classList.add('is-ajax-loading'); - fetch(url, { credentials: 'same-origin', headers: restHeaders() }) - .then(function (r) { return r.json(); }) - .then(function (j) { - var d = (j && j.data) || j || {}; - var html = d.html || ''; - if (showMore && more) { - html += ''; - } - panel.innerHTML = html || ''; - panel.setAttribute('data-loaded', '1'); - panel.classList.remove('is-ajax-loading'); - }) - .catch(function () { - panel.classList.remove('is-ajax-loading'); - }); - } - - tabs.forEach(function (tab) { - tab.addEventListener('click', function () { - var target = tab.getAttribute('data-tab'); - tabs.forEach(function (item) { - var active = item === tab; - item.classList.toggle('active', active); - item.setAttribute('aria-selected', active ? 'true' : 'false'); - }); - panels.forEach(function (panel) { - var active = panel.getAttribute('data-tab-panel') === target; - panel.classList.toggle('active', active); - if (active) { - panel.removeAttribute('hidden'); - load(panel); - } else { - panel.setAttribute('hidden', ''); - } - }); - }); - }); - }); - } - - // Product multi-tab. - function initProductTabs() { - document.querySelectorAll('[data-aksrt-product-tab]').forEach(function (root) { - if (root.dataset.aksrtProductTabBound === '1') return; - root.dataset.aksrtProductTabBound = '1'; - var rest = root.getAttribute('data-rest') || ''; - var per = root.getAttribute('data-per-page') || '8'; - var style = root.getAttribute('data-style') || 'default'; - var paginate = root.getAttribute('data-paginate') || 'ajax'; - - function skeleton(n) { - n = Math.max(1, Math.min(12, parseInt(n, 10) || 4)); - var html = '正在生成预览…
'); + $.post(config.ajaxUrl, { + action: 'aksrt_widgets_template_preview', + nonce: config.transferNonce, + template: $form.find('[name="template"]').val(), + }).done((response) => { + if (!response?.success) throw new Error('Invalid response'); + $output.html(response.data.html || '模板为空。
'); + }).fail(() => $output.html('预览加载失败。
')); + }); $(document).on('widget-added widget-updated', function (_event, widget) { $(widget).find('.aksrt-widget-form-lazy').each(function () { loadForm(this); }); + updatePlacementWarning(widget); }); $(function () { diff --git a/assets/widgets/third-party/DPlayer.min.js b/assets/widgets/third-party/DPlayer.min.js new file mode 100644 index 00000000..f15b197b --- /dev/null +++ b/assets/widgets/third-party/DPlayer.min.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(window,function(){return function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:i})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(i,r,function(t){return e[t]}.bind(null,r));return i},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=23)}([function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(i=window)}e.exports=i},function(e,t,n){"use strict";var i=n(4),r=n.n(i)()(function(e){return e[1]});r.push([e.i,'.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{box-sizing:content-box}.dplayer svg{width:100%;height:100%}.dplayer svg circle,.dplayer svg path{fill:#fff}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0;margin:0;padding:0;transform:translate(0)}.dplayer.dplayer-live .dplayer-bar-wrap,.dplayer.dplayer-live .dplayer-controller .dplayer-icons .dplayer-loop,.dplayer.dplayer-live .dplayer-time{display:none}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;transform:translateY(100%)}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%!important;height:100%!important}.dplayer.dplayer-mobile .dplayer-bar-time,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full-in,.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume{display:none}.dplayer-web-fullscreen-fix{position:fixed;top:0;left:0;margin:0;padding:0}.dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;transform-origin:4px 4px}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;transform:scale(1.2)}50%{opacity:.25;transform:scale(.9)}to{opacity:.25;transform:scale(.85)}}.dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer-controller,.dplayer-controller-mask{position:absolute;bottom:0;transition:all .3s ease}.dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{background:hsla(0,0%,100%,.4);transition:all .5s ease}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded,.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer-controller .dplayer-icons .dplayer-live-badge,.dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer-controller .dplayer-icons .dplayer-live-dot{display:inline-block;width:6px;height:6px;vertical-align:4%;margin-right:5px;content:"";border-radius:6px}.dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;position:relative;cursor:pointer;vertical-align:middle;box-sizing:border-box;display:inline-block}.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{transition:all .2s ease-in-out;opacity:.8}.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar{width:45px}.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{transform:scale(1)}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 15px 0 -5px;vertical-align:middle;height:100%}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;transition:all .3s ease-in-out}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;transition:all .1s ease;will-change:width}.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer;transition:all .3s ease-in-out;transform:scale(0)}.dplayer-controller .dplayer-icons .dplayer-full,.dplayer-controller .dplayer-icons .dplayer-full-in,.dplayer-controller .dplayer-icons .dplayer-loop,.dplayer-icons .dplayer-setting{display:inline-block;height:100%}.dplayer-setting-box.dplayer-setting-box-speed { position: absolute;color:#aaa; left: -11px;transform-origin: bottom; bottom: 40px; transform: scale(0); border-radius: 2px; background: rgba(28, 28, 28, 0.9); padding: 0; transition: all 0.2s ease; overflow: hidden; z-index: 2; width: 70px; }.dplayer-setting-box.dplayer-setting-box-open { transform: scale(1); }.dplayer-setting-speed-item {padding: 7px 10px; box-sizing: border-box; cursor: pointer; position: relative; }.dplayer-setting .dplayer-setting-speed-item:hover { background-color: rgba(255, 255, 255, 0.1); }.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon.dplayer-setting-icon { width: auto; color: #eee; }@media (max-width: 640px){.dplayer-controller .dplayer-icons.dplayer-icons-right { right: 10px; }.dplayer-icons.dplayer-icons-left { left: 6px; }} .dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}.dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer-mask.dplayer-mask-show{display:block}.dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer-video-wrap .dplayer-video-current{display:block}',""]),t.a=r},function(e,t,n){"use strict";e.exports=n(21)},function(e,t,n){"use strict";function i(e){for(var t=-1,n=0;n