:root {
    /* 旧站主色。用于覆盖早期市场页留下的绿色按钮、焦点和边框变量。 */
    --market-theme: #2274ff;
    --market-text: #333;
    --market-text-muted: #777;
    --market-bg: #f0f2f5;
    --market-border: #dee2e6;
    --market-radius: 0.5rem;
    /* 登录工具的品牌面板背景。与旧站登录弹层主色保持一致。 */
    --pt-auth-brand-bg: #2274ff;
    /* 登录工具的正文与辅助文字颜色。 */
    --pt-auth-text: #333;
    --pt-auth-text-muted: #777;
    /* 登录工具的边框与焦点颜色。 */
    --pt-auth-border: #e4e7ed;
    --pt-auth-focus: #2274ff;
}

.pt-user-avatar {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    flex-shrink: 0;
    border-radius: inherit;
    object-fit: cover;
}

.pt-user-avatar--generated {
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* 账户页的两个资料头像使用圆形容器，其它默认头像保持方形蓝底。 */
.pt-account-sidebar__profile .pt-user-avatar--generated,
.pt-account-profile__avatar.pt-user-avatar--generated {
    overflow: hidden;
    border-radius: 50% !important;
}

/*
 * 官网问答。沿用官网蓝白品牌体系，强调内容扫描、解决状态与稳定表单尺寸。
 * 变量限定在问答页面，避免影响应用市场和账户中心。
 */
.pt-qa-page {
    --pt-qa-theme: #2274ff;
    --pt-qa-theme-strong: #145bd7;
    --pt-qa-theme-soft: #eef5ff;
    --pt-qa-text-title: #242b35;
    --pt-qa-text-body: #4f5966;
    --pt-qa-text-muted: #737d89;
    --pt-qa-bg: #f3f6f9;
    --pt-qa-surface: #fff;
    --pt-qa-border: #e1e6ec;
    --pt-qa-success: #16845b;
    --pt-qa-success-soft: #eaf7f1;
    /* 搜索命中背景。用于标题与正文摘要中的关键词标记。 */
    --pt-qa-highlight-bg: #fff1a8;
    /* 搜索命中文字。与高亮背景保持清晰对比。 */
    --pt-qa-highlight-text: #5f4300;
    --pt-qa-radius: 0.5rem;
    min-height: 70vh;
    margin-top: 6rem;
    padding-bottom: 6rem;
    background: var(--pt-qa-bg);
    color: var(--pt-qa-text-body);
}

.pt-qa-hero {
    padding: 8rem 2rem;
    background-color: #2274ff;
    background-color: var(--pt-qa-theme);
    background-image: url("../static/images/banner-forum-community.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}

.pt-qa-hero__inner {
    display: flex;
    min-height: 25rem;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    padding-top: 0;
    padding-bottom: 0;
}

.pt-qa-hero__content {
    min-width: 0;
    flex: 1 1 auto;
}

.pt-qa-eyebrow {
    display: block;
    margin-bottom: 1rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0;
}

.pt-qa-hero h1,
.pt-qa-hero p,
.pt-qa-search h2,
.pt-qa-sidebar h2,
.pt-qa-list-item h2,
.pt-qa-editor-header h1,
.pt-qa-editor h2,
.pt-qa-editor-notes h2,
.pt-qa-question h1,
.pt-qa-section-title h2 {
    margin: 0;
    letter-spacing: 0;
}

.pt-qa-hero h1 {
    font-size: 3.4rem;
    font-weight: 600;
    line-height: 1.3;
}

.pt-qa-hero p {
    max-width: 66rem;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.6rem;
    line-height: 1.8;
}

.pt-qa-hero__actions,
.pt-qa-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.pt-qa-button {
    display: inline-flex;
    min-height: 4rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--pt-qa-theme);
    border-radius: 0.4rem;
    background: var(--pt-qa-theme);
    color: #fff;
    font: inherit;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.pt-qa-button:hover,
.pt-qa-button:focus-visible {
    border-color: var(--pt-qa-theme-strong);
    background: var(--pt-qa-theme-strong);
    color: #fff;
}

.pt-qa-button:focus-visible,
.pt-qa-page a:focus-visible,
.pt-qa-page summary:focus-visible,
.pt-qa-page input:focus-visible,
.pt-qa-page select:focus-visible,
.pt-qa-page textarea:focus-visible {
    outline: 2px solid var(--pt-qa-theme);
    outline-offset: 2px;
}

.pt-qa-button:disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.pt-qa-button.is-disabled {
    cursor: not-allowed;
    opacity: 0.62;
    pointer-events: none;
}

.pt-qa-button--white {
    border-color: #fff;
    background: #fff;
    color: var(--pt-qa-theme);
}

.pt-qa-button--white:hover,
.pt-qa-button--white:focus-visible,
.pt-qa-button--light:hover,
.pt-qa-button--light:focus-visible {
    border-color: #fff;
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme-strong);
}

.pt-qa-button--light {
    border-color: rgba(255, 255, 255, 0.55);
    background: transparent;
    color: #fff;
}

.pt-qa-button--quiet {
    border-color: var(--pt-qa-border);
    background: #fff;
    color: var(--pt-qa-text-body);
}

.pt-qa-button--quiet:hover,
.pt-qa-button--quiet:focus-visible {
    border-color: var(--pt-qa-theme);
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
}

.pt-qa-button--accept {
    border-color: #a9d8c5;
    background: var(--pt-qa-success-soft);
    color: var(--pt-qa-success);
}

.pt-qa-button--accept:hover,
.pt-qa-button--accept:focus-visible {
    border-color: var(--pt-qa-success);
    background: var(--pt-qa-success);
    color: #fff;
}

.pt-qa-button--block {
    width: 100%;
}

.pt-qa-discovery {
    border-bottom: 1px solid var(--pt-qa-border);
    background: var(--pt-qa-surface);
}

.pt-qa-discovery__inner {
    display: grid;
    min-width: 0;
    gap: 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.pt-qa-layout,
.pt-qa-detail-layout {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 28rem;
    align-items: start;
    gap: 2.4rem;
    padding-top: 2.4rem;
}

.pt-qa-main,
.pt-qa-detail-main,
.pt-qa-sidebar {
    display: grid;
    min-width: 0;
    gap: 1.6rem;
}

.pt-qa-layout > .pt-qa-sidebar {
    position: sticky;
    top: 8rem;
}

.pt-qa-search {
    position: relative;
    display: grid;
    min-width: 0;
    width: 28rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.pt-qa-hero .pt-qa-search {
    width: min(100%, 52rem);
    margin-top: 2rem;
}

.pt-qa-search input,
.pt-qa-search button,
.pt-qa-form-field input,
.pt-qa-form-field select,
.pt-qa-form-field textarea,
.pt-qa-answer-form textarea {
    border: 1px solid var(--pt-qa-border);
    background: #fff;
    color: var(--pt-qa-text-title);
    font: inherit;
}

.pt-qa-search input {
    min-width: 0;
    min-height: 4.4rem;
    padding: 0.8rem 4.6rem 0.8rem 1.4rem;
    border-radius: 0.4rem 0 0 0.4rem;
    font-size: 1.4rem;
}

.pt-qa-search input::-webkit-search-cancel-button {
    width: 0;
    height: 0;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
}

.pt-qa-search button {
    display: inline-flex;
    min-width: 9rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-color: var(--pt-qa-theme);
    border-radius: 0 0.4rem 0.4rem 0;
    background: var(--pt-qa-theme);
    color: #fff;
    cursor: pointer;
}

.pt-qa-hero .pt-qa-search input {
    border-color: #fff;
}

.pt-qa-hero .pt-qa-search button {
    border-color: #fff;
    border-left-color: #d9e4f5;
    background: #fff;
    color: var(--pt-qa-theme);
}

.pt-qa-page .pt-qa-search .pt-qa-search__clear {
    position: absolute;
    top: 50%;
    right: 9rem;
    z-index: 1;
    width: 3.2rem;
    min-width: 3.2rem;
    height: 3.2rem;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #2274ff;
}

.pt-qa-page .pt-qa-search .pt-qa-search__clear[hidden] {
    display: none;
}

.pt-qa-page .pt-qa-search .pt-qa-search__clear:hover,
.pt-qa-page .pt-qa-search .pt-qa-search__clear:focus-visible {
    border: 0;
    outline: 0;
    background: transparent;
    color: #2274ff;
    box-shadow: none;
}

.pt-qa-page .pt-qa-search .pt-qa-search__clear .iconfont {
    font-size: 1.6rem;
}

.pt-qa-hero .pt-qa-search input:focus-visible,
.pt-qa-hero .pt-qa-search button:focus-visible {
    outline-color: #fff;
}

.pt-qa-hero .pt-qa-search button:hover,
.pt-qa-hero .pt-qa-search button:focus-visible {
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme-strong);
}

.pt-qa-category-nav {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.2rem;
    min-height: 4.8rem;
}

.pt-qa-category-nav + .pt-qa-category-nav {
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-category-nav__label {
    flex: 0 0 auto;
    color: var(--pt-qa-text-muted);
    font-size: 1.25rem;
    font-weight: 600;
}

.pt-qa-category-nav > div {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 0.4rem 0.6rem;
}

.pt-qa-category-nav a {
    display: inline-flex;
    min-height: 3.4rem;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 0.4rem;
    color: var(--pt-qa-text-body);
    font-size: 1.3rem;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 180ms ease, color 180ms ease;
}

.pt-qa-category-nav a:hover,
.pt-qa-category-nav a:focus-visible,
.pt-qa-category-nav a.is-active {
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
}

.pt-qa-topic-board {
    overflow: hidden;
    border: 1px solid var(--pt-qa-border);
    border-radius: var(--pt-qa-radius);
    background: var(--pt-qa-surface);
}

.pt-qa-topic-board__toolbar {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.4rem 2rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-topic-board__heading {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 1rem;
}

.pt-qa-topic-board__heading h2 {
    margin: 0;
    padding: 0;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

.pt-qa-topic-board__heading span {
    flex: 0 0 auto;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
}

.pt-qa-topic-board__tools {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
}

.pt-qa-filter-group {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.2rem;
}

.pt-qa-filter-group--sort {
    padding-left: 0;
    border-left: 0;
}

.pt-qa-filter-label {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
    white-space: nowrap;
}

.pt-qa-filter-group a {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    padding: 0.5rem 0.9rem;
    border-radius: 0.3rem;
    color: var(--pt-qa-text-body);
    font-size: 1.3rem;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 180ms ease, color 180ms ease;
}

.pt-qa-filter-group a:hover,
.pt-qa-filter-group a:focus-visible,
.pt-qa-filter-group a.is-active {
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
}

.pt-qa-list {
    min-width: 0;
}

.pt-qa-list-item {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 13rem;
    align-items: center;
    gap: 2rem;
    padding: 1.4rem 2rem;
    transition: background-color 180ms ease;
}

.pt-qa-list-item + .pt-qa-list-item {
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-list-item:hover {
    background: #f8faff;
}

.pt-qa-list-item__main {
    min-width: 0;
}

.pt-qa-question__labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.pt-qa-list-item__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.pt-qa-list-item__tags {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

.pt-qa-list-item__category {
    display: inline-flex;
    align-items: center;
    color: var(--pt-qa-theme);
    font-size: 1.2rem;
    font-weight: 600;
    text-decoration: none;
}

.pt-qa-list-item__category:hover,
.pt-qa-list-item__category:focus-visible {
    color: var(--pt-qa-theme-strong);
}

.pt-qa-question__labels span {
    display: inline-flex;
    min-height: 2.4rem;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.7rem;
    border: 1px solid #d9e1ea;
    border-radius: 0.3rem;
    background: #f6f8fa;
    color: #596575;
    font-size: 1.1rem;
}

.pt-qa-question__labels .is-solved {
    border-color: #add9c7;
    background: var(--pt-qa-success-soft);
    color: var(--pt-qa-success);
}

.pt-qa-question__labels .is-unsolved {
    border-color: #e7d49f;
    background: #fff8e6;
    color: #825600;
}

.pt-qa-question__labels .is-pinned {
    border-color: #bfd3f5;
    background: #eef5ff;
    color: #1d5fbf;
}

.pt-qa-question__labels .is-featured {
    border-color: #efc79b;
    background: #fff5e8;
    color: #9a570f;
}

.pt-qa-list-item h2 {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
}

.pt-qa-list-item h2 a {
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    text-decoration: none;
}

.pt-qa-list-item h2 a:hover,
.pt-qa-list-item h2 a:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-search-highlight {
    padding: 0 0.12em;
    border-radius: 0.2rem;
    background: var(--pt-qa-highlight-bg);
    color: var(--pt-qa-highlight-text);
    font: inherit;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.pt-qa-list-item__main > p {
    display: -webkit-box;
    margin: 0.45rem 0 0;
    overflow: hidden;
    color: var(--pt-qa-text-muted);
    font-size: 1.3rem;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.pt-qa-list-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem;
    margin-top: 0.55rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
}

.pt-qa-list-item__meta > * + * {
    padding-left: 0.7rem;
    border-left: 1px solid var(--pt-qa-border);
}

.pt-qa-list-item__tag {
    display: inline-flex;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.6rem;
    border: 1px solid #d7dce2;
    border-radius: 0.3rem;
    background: #f5f6f8;
    color: #606875;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

.pt-qa-list-item__tag.is-unsolved {
    border-color: #e7d49f;
    background: #fff8e6;
    color: #825600;
}

.pt-qa-list-item__tag.is-solved {
    border-color: #add9c7;
    background: var(--pt-qa-success-soft);
    color: var(--pt-qa-success);
}

.pt-qa-list-item__tag.is-pinned {
    border-color: #bfd3f5;
    background: #eef5ff;
    color: #1d5fbf;
}

.pt-qa-list-item__tag.is-featured {
    border-color: #efc79b;
    background: #fff5e8;
    color: #9a570f;
}

.pt-qa-list-item__metrics {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-left: 1px solid var(--pt-qa-border);
}

.pt-qa-list-item__metrics > div {
    display: grid;
    min-width: 0;
    gap: 0.3rem;
    padding: 0.4rem 1rem;
    text-align: center;
}

.pt-qa-list-item__metrics > div + div {
    border-left: 1px solid var(--pt-qa-border);
}

.pt-qa-list-item__metrics strong,
.pt-qa-list-item__metrics span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.pt-qa-list-item__metrics strong {
    color: var(--pt-qa-text-title);
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.2;
}

.pt-qa-list-item__metrics span {
    color: var(--pt-qa-text-muted);
    font-size: 1.1rem;
}

.pt-qa-list-item__metrics .is-solved strong {
    color: var(--pt-qa-success);
}

.pt-qa-sidebar > section {
    padding: 2rem;
    border: 1px solid var(--pt-qa-border);
    border-radius: var(--pt-qa-radius);
    background: var(--pt-qa-surface);
}

.pt-qa-sidebar-actions {
    display: grid;
    gap: 0.8rem;
}

.pt-qa-sidebar header {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pt-qa-sidebar header > .iconfont {
    color: var(--pt-qa-theme);
    font-size: 1.8rem;
}

.pt-qa-sidebar h2 {
    margin: 0;
    padding: 0;
    color: var(--pt-qa-text-title);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
}

.pt-qa-sidebar section > p {
    margin: 1rem 0 1.6rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.25rem;
    line-height: 1.8;
}

.pt-qa-sidebar > .pt-qa-sidebar-popular {
    padding: 0;
}

.pt-qa-sidebar-popular > header {
    justify-content: space-between;
    gap: 1rem;
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-sidebar-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.pt-qa-sidebar-heading > .iconfont {
    color: var(--pt-qa-theme);
    font-size: 1.8rem;
}

.pt-qa-sidebar-more {
    flex: 0 0 auto;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
    text-decoration: none;
}

.pt-qa-sidebar-more:hover,
.pt-qa-sidebar-more:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-hot-list {
    margin: 0;
    padding: 0 1.8rem;
    list-style: none;
    counter-reset: qa-hot;
}

.pt-qa-hot-list li {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
    padding: 1.2rem 0;
    counter-increment: qa-hot;
}

.pt-qa-hot-list li + li {
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-hot-list li::before {
    content: counter(qa-hot, decimal-leading-zero);
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
}

.pt-qa-hot-list__content {
    min-width: 0;
}

.pt-qa-hot-list__content > a {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.55;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pt-qa-hot-list__content > a:hover,
.pt-qa-hot-list__content > a:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-hot-list__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.5rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.1rem;
}

.pt-qa-hot-list__status {
    color: #825600;
}

.pt-qa-hot-list__status.is-solved {
    color: var(--pt-qa-success);
}

.pt-qa-hot-list__empty {
    display: block;
    color: var(--pt-qa-text-muted);
    font-size: 1.25rem;
}

.pt-qa-hot-list__empty::before {
    display: none;
}

.pt-qa-empty {
    display: flex;
    min-height: 18rem;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 3rem;
}

.pt-qa-empty > .iconfont {
    display: inline-flex;
    width: 5rem;
    height: 5rem;
    flex: 0 0 5rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
    font-size: 2.2rem;
}

.pt-qa-empty strong,
.pt-qa-empty p {
    margin: 0;
}

.pt-qa-empty strong {
    color: var(--pt-qa-text-title);
    font-size: 1.5rem;
}

.pt-qa-empty p {
    margin-top: 0.5rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.25rem;
}

.pt-qa-empty > a {
    color: var(--pt-qa-theme);
    font-size: 1.3rem;
    text-decoration: none;
}

.pt-qa-pagination {
    display: flex;
    justify-content: center;
    padding: 1.6rem 2rem;
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-pagination nav {
    max-width: 100%;
}

.pt-qa-editor-page {
    min-height: calc(100vh - 137px - 6rem);
    min-height: calc(100svh - 137px - 6rem);
    padding-top: 3rem;
}

.pt-qa-editor-page > .container-xxl {
    display: grid;
    gap: 2rem;
}

.pt-qa-editor-header {
    padding: 2.6rem 3rem;
    border: 1px solid var(--pt-qa-border);
    border-radius: var(--pt-qa-radius);
    background: #fff;
}

.pt-qa-editor-header > div,
.pt-qa-breadcrumb {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.6rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
}

.pt-qa-editor-header > div a,
.pt-qa-breadcrumb a {
    color: var(--pt-qa-theme);
    text-decoration: none;
}

.pt-qa-editor-header h1 {
    margin-top: 1.2rem;
    color: var(--pt-qa-text-title);
    font-size: 2.4rem;
    font-weight: 600;
}

.pt-qa-editor-header > p {
    margin: 0.7rem 0 0;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-muted);
    font-size: 1.3rem;
}

.pt-qa-editor-layout {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) 28rem;
    align-items: start;
    gap: 2rem;
}

.pt-qa-editor,
.pt-qa-editor-notes,
.pt-qa-moderation-note {
    padding: 2.6rem;
    border: 1px solid var(--pt-qa-border);
    border-radius: var(--pt-qa-radius);
    background: #fff;
}

.pt-qa-editor h2,
.pt-qa-editor-notes h2 {
    color: var(--pt-qa-text-title);
    font-size: 1.7rem;
    font-weight: 600;
}

.pt-qa-editor-notes ul {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0 0;
    padding-left: 1.8rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.25rem;
    line-height: 1.8;
}

.pt-qa-form {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

.pt-qa-form-field {
    display: grid;
    gap: 0.7rem;
}

.pt-qa-form-field label {
    color: var(--pt-qa-text-title);
    font-size: 1.3rem;
    font-weight: 600;
}

.pt-qa-form-field input,
.pt-qa-form-field select {
    width: 100%;
    min-height: 4.4rem;
    padding: 0.8rem 1.2rem;
    border-radius: 0.4rem;
}

.pt-qa-form-field textarea,
.pt-qa-answer-form textarea {
    width: 100%;
    min-height: 18rem;
    padding: 1.2rem;
    border-radius: 0.4rem;
    line-height: 1.8;
    resize: vertical;
}

.pt-qa-form-field > span {
    color: var(--pt-qa-text-muted);
    font-size: 1.15rem;
}

.pt-qa-rich-text-feedback {
    display: grid;
    min-width: 0;
    gap: 0.5rem;
    padding-top: 0.2rem;
}

.pt-qa-rich-text-feedback .pt-qa-rich-text-help {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.6rem 1.6rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.15rem;
}

.pt-qa-rich-text-upload-status {
    min-height: 20px;
    color: var(--pt-qa-text-muted);
    font-size: 1.15rem;
}

.pt-qa-rich-text-upload-status:empty {
    display: none;
}

.pt-qa-rich-text-upload-status.is-error {
    color: #b42318;
}

.pt-qa-rich-text-help .is-under-limit,
.pt-qa-rich-text-help .is-over-limit {
    color: #b42318;
    font-weight: 600;
}

.pt-qa-rich-text-shell {
    display: block;
    min-width: 0;
    height: auto;
}

.pt-qa-rich-text-shell > textarea:not([hidden]) {
    display: block;
}

.pt-qa-rich-text-shell > .ql-toolbar,
.pt-qa-rich-text-shell > .ql-container {
    margin: 0;
}

.pt-qa-rich-text-shell.is-invalid > .ql-toolbar,
.pt-qa-rich-text-shell.is-invalid > .ql-container {
    border-color: #b42318;
}

.pt-qa-form-field .pt-qa-rich-text-validation {
    width: 100%;
    line-height: 1.6;
}

.pt-qa-form-field .pt-qa-rich-text-validation[hidden] {
    display: none;
}

.pt-qa-form .ql-toolbar.ql-snow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.4rem;
    padding: 0.5rem 0.6rem;
    border-color: var(--pt-qa-border);
    border-radius: 0.4rem 0.4rem 0 0;
    background: #f8fafc;
}

.pt-qa-form .ql-toolbar.ql-snow .ql-formats {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    margin: 0 0.5rem 0 0;
}

.pt-qa-form .ql-toolbar.ql-snow button {
    display: inline-flex;
    width: 3.2rem;
    height: 3.2rem;
    align-items: center;
    justify-content: center;
    padding: 0.7rem;
    border-radius: 0.3rem;
    cursor: pointer;
}

.pt-qa-form .ql-toolbar.ql-snow button svg {
    width: 1.8rem;
    height: 1.8rem;
    flex: 0 0 1.8rem;
}

.pt-qa-form .ql-toolbar.ql-snow button.ql-code {
    color: #444;
}

.pt-qa-form .ql-toolbar.ql-snow button.ql-code svg {
    display: none;
}

.pt-qa-form .ql-toolbar.ql-snow button.ql-code::before {
    content: "<>";
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

.pt-qa-form .ql-toolbar.ql-snow button:hover,
.pt-qa-form .ql-toolbar.ql-snow button:focus,
.pt-qa-form .ql-toolbar.ql-snow button.ql-active,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label:hover,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label.ql-active {
    background: #eaf2ff;
    color: var(--pt-qa-theme);
}

.pt-qa-form .ql-toolbar.ql-snow button:hover .ql-stroke,
.pt-qa-form .ql-toolbar.ql-snow button:focus .ql-stroke,
.pt-qa-form .ql-toolbar.ql-snow button.ql-active .ql-stroke,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label:hover .ql-stroke,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label.ql-active .ql-stroke {
    stroke: var(--pt-qa-theme);
}

.pt-qa-form .ql-toolbar.ql-snow button:hover .ql-fill,
.pt-qa-form .ql-toolbar.ql-snow button:focus .ql-fill,
.pt-qa-form .ql-toolbar.ql-snow button.ql-active .ql-fill,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label:hover .ql-fill,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label.ql-active .ql-fill {
    fill: var(--pt-qa-theme);
}

.pt-qa-form .ql-toolbar.ql-snow .ql-header {
    width: 9.6rem;
    height: 3.2rem;
}

.pt-qa-form .ql-toolbar.ql-snow .ql-header .ql-picker-label {
    display: flex;
    width: 100%;
    height: 3.2rem;
    align-items: center;
    padding: 0.4rem 2.4rem 0.4rem 0.8rem;
    border-radius: 0.3rem;
    cursor: pointer;
    font-size: 1.2rem;
}

.pt-qa-form .ql-toolbar.ql-snow .ql-header .ql-picker-label::before {
    line-height: 2.2rem;
}

.pt-qa-form .ql-toolbar.ql-snow .ql-picker-options {
    z-index: 10;
    border-color: var(--pt-qa-border);
    border-radius: 0.4rem;
    font-size: 1.2rem;
}

.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-label::before,
.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-item::before {
    content: "正文";
}

.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
    content: "大标题";
}

.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
    content: "中标题";
}

.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.pt-qa-form .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
    content: "小标题";
}

.pt-qa-form .ql-toolbar.ql-snow button:focus-visible,
.pt-qa-form .ql-toolbar.ql-snow .ql-picker-label:focus-visible {
    outline: 2px solid var(--pt-qa-theme);
    outline-offset: 1px;
}

.pt-qa-form .ql-container.ql-snow {
    height: auto;
    min-height: 24rem;
    overflow: visible;
    border-color: var(--pt-qa-border);
    border-radius: 0 0 0.4rem 0.4rem;
    background: #fff;
    color: var(--pt-qa-text-title);
    font-family: inherit;
    font-size: 1.4rem;
}

.pt-qa-form .ql-container.ql-snow:focus-within {
    border-color: var(--pt-qa-theme);
    box-shadow: 0 0 0 2px rgba(34, 116, 255, 0.12);
}

.pt-qa-form .ql-editor {
    height: auto;
    min-height: 24rem;
    overflow-y: visible;
    padding: 1.4rem 1.6rem;
    line-height: 1.8;
}

.pt-qa-form > .pt-qa-form-actions {
    margin-top: 0.4rem;
}

.pt-qa-form .ql-editor.ql-blank::before {
    right: 1.6rem;
    left: 1.6rem;
    color: var(--pt-qa-text-muted);
    font-style: normal;
}

.pt-qa-form .ql-editor img,
.pt-qa-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 16px 0;
}

.pt-qa-form-field .form-error,
.pt-qa-answer-form .form-error {
    margin: 0;
}

.pt-qa-moderation-note {
    border-color: #efd6a3;
    background: #fffaf0;
}

.pt-qa-moderation-note strong,
.pt-qa-moderation-note p {
    margin: 0;
}

.pt-qa-moderation-note strong {
    color: #76520d;
    font-size: 1.3rem;
}

.pt-qa-moderation-note p {
    margin-top: 0.5rem;
    color: #76520d;
    font-size: 1.25rem;
}

.pt-qa-detail-page {
    padding-top: 2.4rem;
}

.pt-qa-breadcrumb {
    min-height: 3.6rem;
}

.pt-qa-detail-layout {
    padding-top: 1.2rem;
}

.pt-qa-question,
.pt-qa-answers,
.pt-qa-answer-form {
    overflow: hidden;
    border: 1px solid var(--pt-qa-border);
    border-radius: var(--pt-qa-radius);
    background: #fff;
}

.pt-qa-question > header {
    position: relative;
    padding: 2.4rem 2.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-question__labels--floating {
    position: absolute;
    top: 2.4rem;
    right: 2.6rem;
    max-width: 18rem;
    justify-content: flex-end;
}

.pt-qa-question h1 {
    max-width: calc(100% - 19.2rem);
    margin-top: 0;
    padding: 0;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.4;
}

.pt-qa-question__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.4rem;
    margin-top: 1.4rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
}

.pt-qa-question__author {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.7rem;
    color: var(--pt-qa-text-body);
    font-weight: 500;
}

.pt-qa-question__author img,
.pt-qa-question__author .pt-user-avatar {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    border-radius: 50%;
    object-fit: cover;
}

.pt-qa-content {
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-body);
    font-size: 1.45rem;
    line-height: 1.95;
    white-space: normal;
}

.pt-qa-content > :first-child {
    margin-top: 0;
}

.pt-qa-content > :last-child {
    margin-bottom: 0;
}

.pt-qa-content p,
.pt-qa-content ul,
.pt-qa-content ol,
.pt-qa-content blockquote,
.pt-qa-content pre {
    margin: 0 0 1.4rem;
}

.pt-qa-content h2,
.pt-qa-content h3,
.pt-qa-content h4 {
    margin: 2.2rem 0 1rem;
    color: var(--pt-qa-text-title);
    font-weight: 600;
    line-height: 1.5;
}

.pt-qa-content h2 {
    font-size: 2rem;
}

.pt-qa-content h3 {
    font-size: 1.7rem;
}

.pt-qa-content h4 {
    font-size: 1.5rem;
}

.pt-qa-content ul,
.pt-qa-content ol {
    padding-left: 2.2rem;
}

.pt-qa-content blockquote {
    padding: 0.8rem 1.4rem;
    border-left: 0.3rem solid var(--pt-qa-theme);
    background: var(--pt-qa-theme-soft);
}

.pt-qa-content pre {
    overflow-x: auto;
    padding: 1.4rem 1.6rem;
    border-radius: 0.4rem;
    background: #202936;
    color: #f4f7fb;
    font: 1.3rem/1.75 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    white-space: pre-wrap;
}

.pt-qa-content code:not(pre code) {
    padding: 0.15rem 0.4rem;
    border-radius: 0.3rem;
    background: #eef1f5;
    color: #b42318;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.pt-qa-content a {
    color: var(--pt-qa-theme-strong);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.pt-qa-question > .pt-qa-content {
    padding: 2.4rem 2.6rem 2.8rem;
}

.pt-qa-section-title {
    display: flex;
    min-height: 5.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.4rem 2.2rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-section-title h2 {
    margin: 0;
    padding: 0;
    color: var(--pt-qa-text-title);
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.4;
}

.pt-qa-section-title span {
    color: var(--pt-qa-text-muted);
    font-size: 1.2rem;
}

.pt-qa-answer {
    padding: 2rem 2.4rem;
}

.pt-qa-answer + .pt-qa-answer {
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-answer.is-accepted {
    background: #fbfefd;
    box-shadow: inset 0.4rem 0 var(--pt-qa-success);
}

.pt-qa-answer > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
}

.pt-qa-answer__author {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
}

.pt-qa-answer__author img,
.pt-qa-answer__author .pt-user-avatar {
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    border-radius: 50%;
    object-fit: cover;
}

.pt-qa-answer__author strong,
.pt-qa-answer__author time {
    display: block;
}

.pt-qa-answer__author strong {
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    font-size: 1.3rem;
}

.pt-qa-answer__author time {
    margin-top: 0.3rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.1rem;
}

.pt-qa-accepted-badge {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid #add9c7;
    border-radius: 0.3rem;
    background: var(--pt-qa-success-soft);
    color: var(--pt-qa-success);
    font-size: 1.15rem;
    white-space: nowrap;
}

.pt-qa-answer > .pt-qa-content {
    padding: 1.6rem 0;
}

.pt-qa-content-actions,
.pt-qa-answer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.6rem;
    margin-top: 1.4rem;
}

.pt-qa-question > .pt-qa-content + .pt-qa-content-actions {
    margin-top: 0;
    padding: 1.2rem 2.6rem;
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-content-actions a,
.pt-qa-answer-actions > a {
    color: #7b8495;
    font-size: 13px;
}

.pt-qa-content-actions a:hover,
.pt-qa-content-actions a:focus-visible,
.pt-qa-answer-actions > a:hover,
.pt-qa-answer-actions > a:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-answer-actions form {
    margin: 0;
}

.pt-qa-answer-actions__commands,
.pt-qa-helpful-action {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.pt-qa-answer-actions {
    justify-content: space-between;
    padding-top: 1.4rem;
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-answer-actions__commands > a {
    color: #7b8495;
    font-size: 1.3rem;
}

.pt-qa-answer-actions__commands > a:hover,
.pt-qa-answer-actions__commands > a:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-helpful-button,
.pt-qa-helpful-count {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.7rem 1.2rem;
    border: 1px solid var(--pt-qa-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-qa-text-body);
    font: inherit;
    font-size: 1.25rem;
    line-height: 1.4;
    text-decoration: none;
}

.pt-qa-helpful-button {
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.pt-qa-helpful-button:hover,
.pt-qa-helpful-button:focus-visible,
.pt-qa-helpful-button.is-active {
    border-color: var(--pt-qa-theme);
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
}

.pt-qa-helpful-button strong {
    font-variant-numeric: tabular-nums;
}

.pt-qa-helpful-count {
    border-color: transparent;
    background: transparent;
    color: var(--pt-qa-text-muted);
}

.pt-qa-related-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0 1.8rem;
    list-style: none;
}

.pt-qa-related-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 1rem 0;
}

.pt-qa-related-list li + li {
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-related-list a {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-body);
    line-height: 1.55;
    text-decoration: none;
}

.pt-qa-related-list a:hover,
.pt-qa-related-list a:focus-visible {
    color: var(--pt-qa-theme);
}

.pt-qa-related-list span {
    color: var(--pt-qa-text-muted);
    font-size: 1.1rem;
    white-space: nowrap;
}

.pt-qa-governance-form {
    display: grid;
    gap: 20px;
}

.pt-qa-governance-form > div {
    display: grid;
    gap: 8px;
}

.pt-qa-governance-form label,
.pt-account-governance-form label {
    color: #252b3a;
    font-weight: 600;
}

.pt-qa-governance-form select,
.pt-qa-governance-form textarea,
.pt-account-governance-form textarea {
    width: 100%;
    border: 1px solid #dfe3eb;
    border-radius: 4px;
    background: #fff;
    color: #252b3a;
}

.pt-qa-governance-form select {
    min-height: 42px;
    padding: 0 12px;
}

.pt-qa-governance-form textarea,
.pt-account-governance-form textarea {
    padding: 12px;
    line-height: 1.7;
    resize: vertical;
}

.pt-qa-governance-form__actions,
.pt-account-governance-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.pt-account-governance-form__body {
    display: grid;
    gap: 20px;
    padding: 22px;
}

.pt-account-governance-form__body dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border: 1px solid var(--pt-account-border);
}

.pt-account-governance-form__body dl > div {
    padding: 12px 16px;
}

.pt-account-governance-form__body dl > div + div {
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-governance-form__body dt {
    color: var(--pt-account-text-muted);
    font-size: 12px;
}

.pt-account-governance-form__body dd {
    margin: 4px 0 0;
    color: var(--pt-account-text-title);
}

.pt-account-governance-form__content {
    margin: 0;
    padding: 14px 16px;
    background: #f7f8fa;
    color: var(--pt-account-text-body);
    line-height: 1.7;
    white-space: pre-wrap;
}

.pt-account-question-list__appeal {
    margin-top: 10px;
    padding: 10px 12px;
    border-left: 3px solid var(--pt-account-theme);
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-text-body);
    font-size: 13px;
}

.pt-account-question-list__appeal span {
    display: block;
    margin-top: 4px;
}

.pt-qa-answer > form {
    display: flex;
    justify-content: flex-end;
    padding-top: 1.4rem;
    border-top: 1px solid var(--pt-qa-border);
}

.pt-qa-empty--answers {
    min-height: 14rem;
}

.pt-qa-answer-form > form {
    display: grid;
    gap: 1.2rem;
    padding: 2.4rem;
}

.pt-qa-answer-form textarea {
    min-height: 15rem;
}

.pt-qa-answer-form form > .pt-qa-button {
    justify-self: start;
}

.pt-qa-login-callout {
    display: flex;
    min-height: 12rem;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 2.4rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.3rem;
}

.pt-qa-detail-sidebar {
    position: sticky;
    top: 8rem;
}

.pt-qa-topic-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-detail-summary > .pt-qa-topic-stats:last-child {
    border-bottom: 0;
}

.pt-qa-topic-stats > div {
    min-width: 0;
    text-align: center;
}

.pt-qa-topic-stats > div + div {
    border-left: 1px solid var(--pt-qa-border);
}

.pt-qa-topic-stats dt,
.pt-qa-topic-stats dd {
    margin: 0;
}

.pt-qa-follow-action {
    padding: 1.4rem 1.8rem;
}

.pt-qa-follow-action form {
    margin: 0;
}

.pt-qa-detail-user {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.2rem;
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-detail-user img,
.pt-qa-detail-user .pt-user-avatar {
    width: 4.4rem;
    height: 4.4rem;
    flex: 0 0 4.4rem;
    border-radius: 50%;
    object-fit: cover;
}

.pt-qa-detail-user > div {
    min-width: 0;
}

.pt-qa-detail-user strong,
.pt-qa-detail-user span,
.pt-qa-detail-guest strong,
.pt-qa-detail-guest small {
    display: block;
    overflow-wrap: anywhere;
}

.pt-qa-detail-user strong,
.pt-qa-detail-guest strong {
    color: var(--pt-qa-text-title);
    font-size: 1.35rem;
    font-weight: 600;
}

.pt-qa-detail-user span,
.pt-qa-detail-guest small {
    margin-top: 0.35rem;
    color: var(--pt-qa-text-muted);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.5;
}

.pt-qa-detail-guest {
    display: grid;
    gap: 1.2rem;
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-qa-detail-guest > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
}

.pt-qa-detail-guest > div > .iconfont {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-qa-theme-soft);
    color: var(--pt-qa-theme);
    font-size: 1.8rem;
}

.pt-qa-detail-guest > div > span {
    min-width: 0;
}

.pt-qa-detail-sidebar > .pt-qa-detail-summary,
.pt-qa-detail-sidebar > .pt-qa-related-panel {
    padding: 0;
}

.pt-qa-related-panel > header {
    padding: 1.6rem 1.8rem;
    border-bottom: 1px solid var(--pt-qa-border);
}

.pt-account-followed-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: 2rem 2.4rem;
}

.pt-account-followed-list article + article {
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-followed-list__main {
    min-width: 0;
}

.pt-account-followed-list__heading,
.pt-account-followed-list__meta,
.pt-account-followed-list__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.pt-account-followed-list__heading {
    justify-content: space-between;
    gap: 1rem;
}

.pt-account-followed-list h2,
.pt-account-followed-list p,
.pt-account-followed-list time {
    margin: 0;
}

.pt-account-followed-list h2 {
    min-width: 0;
    flex: 1 1 24rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    line-height: 1.45;
}

.pt-account-followed-list h2 a {
    color: inherit;
    text-decoration: none;
}

.pt-account-followed-list h2 a:hover,
.pt-account-followed-list h2 a:focus-visible {
    color: var(--pt-account-theme);
}

.pt-account-followed-list__meta {
    gap: 0.6rem 1.2rem;
    margin-top: 0.8rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-followed-list__meta span + span,
.pt-account-followed-list__meta time + span,
.pt-account-followed-list__meta span + time {
    padding-left: 1.2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-followed-list p {
    margin-top: 0.8rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-account-followed-list__actions {
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-account-followed-list__actions form {
    margin: 0;
}

.pt-qa-topic-stats dt {
    color: var(--pt-qa-text-muted);
    font-size: 1.1rem;
}

.pt-qa-topic-stats dd {
    margin-top: 0.4rem;
    overflow-wrap: anywhere;
    color: var(--pt-qa-text-title);
    font-size: 1.35rem;
    font-weight: 600;
}

.pt-account-question-tabs {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 2rem;
}

.pt-account-question-tabs a {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    gap: 0.6rem;
    border-bottom: 0.2rem solid transparent;
    color: var(--pt-account-text-muted);
    font-size: 1.4rem;
    text-decoration: none;
}

.pt-account-questions__toolbar {
    flex-wrap: wrap;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
}

.pt-account-question-tabs a.is-active {
    border-bottom-color: var(--pt-account-theme);
    color: var(--pt-account-theme);
}

.pt-account-question-tabs a span {
    display: inline-flex;
    min-width: 2.2rem;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.6rem;
    border-radius: 1.1rem;
    background: #f0f2f5;
    color: var(--pt-account-text-muted);
    font-size: 1.1rem;
}

.pt-account-question-filter {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
    margin-left: auto;
}

.pt-account-question-helpful {
    display: inline-flex;
    min-height: 3.4rem;
    align-items: center;
    gap: 0.5rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-question-filter label {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-question-filter select {
    min-width: 10rem;
    min-height: 3.4rem;
    padding: 0.5rem 3rem 0.5rem 1rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-text-body);
    font: inherit;
    font-size: 1.25rem;
}

.pt-account-question-list {
    min-width: 0;
}

.pt-account-question-list article {
    display: block;
    min-width: 0;
    padding: 2rem 2.4rem;
    transition: background-color 180ms ease;
}

.pt-account-question-list article + article {
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-question-list article:hover {
    background: #fafbfd;
}

.pt-account-question-list__main {
    min-width: 0;
}

.pt-account-question-list__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem 1.6rem;
}

.pt-account-question-list__controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 1rem;
}

.pt-account-question-list h2,
.pt-account-question-list p,
.pt-account-question-list time {
    margin: 0;
}

.pt-account-question-list h2 {
    min-width: 0;
    flex: 1 1 28rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.45;
}

.pt-account-question-list h2 a {
    color: inherit;
    text-decoration: none;
    transition: color 180ms ease;
}

.pt-account-question-list h2 a:hover,
.pt-account-question-list h2 a:focus-visible {
    color: var(--pt-account-theme);
}

.pt-account-question-list__states {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.6rem;
}

.pt-account-question-list__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 1.2rem;
    margin-top: 0.8rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-question-list__meta span + span,
.pt-account-question-list__meta time + span,
.pt-account-question-list__meta span + time {
    padding-left: 1.2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-question-list p {
    margin-top: 0.8rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-account-question-list__reason {
    margin-top: 1rem;
    padding: 0.9rem 1.2rem;
    border-left: 0.3rem solid #d69b25;
    background: #fff9eb;
    color: #76520d;
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-account-question-list__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-account-notification-tabs {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 2.4rem;
}

.pt-account-notification-tabs a {
    display: inline-flex;
    min-height: 4.2rem;
    align-items: center;
    gap: 0.6rem;
    border-bottom: 0.2rem solid transparent;
    color: var(--pt-account-text-muted);
    font-size: 1.4rem;
    text-decoration: none;
    transition: color 180ms ease, border-color 180ms ease;
}

.pt-account-notification-tabs a:hover,
.pt-account-notification-tabs a:focus-visible,
.pt-account-notification-tabs a.is-active {
    border-bottom-color: var(--pt-account-theme);
    color: var(--pt-account-theme);
}

.pt-account-notification-tabs span {
    display: inline-flex;
    min-width: 2.2rem;
    min-height: 2.2rem;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.6rem;
    border-radius: 1.1rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.1rem;
}

.pt-account-notification-list article {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.6rem;
    padding: 2rem 2.4rem;
    border-left: 0.3rem solid transparent;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.pt-account-notification-list article + article {
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-notification-list article.is-unread {
    border-left-color: var(--pt-account-theme);
    background: #f8fbff;
}

.pt-account-notification-list article:hover {
    background: #f6f8fa;
}

.pt-account-notification-list__icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-account-notification-list__main {
    min-width: 0;
}

.pt-account-notification-list__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
}

.pt-account-notification-list h2,
.pt-account-notification-list p,
.pt-account-notification-list time {
    margin: 0;
}

.pt-account-notification-list h2 {
    margin-top: 0.6rem;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.45;
}

.pt-account-notification-list p {
    margin-top: 0.5rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-body);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-account-notification-list time {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-notification-list__actions,
.pt-account-notification-list__actions form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
}

.status-text--solved {
    border-color: #a8d6bd;
    background: #edf8f1;
    color: #135d3e;
}

.status-text--pending {
    border-color: #e7d49f;
    background: #fff8e6;
    color: #825600;
}

.status-text--unsolved {
    border-color: #d7dce2;
    background: #f5f6f8;
    color: #606875;
}

.status-text--rejected {
    border-color: #e6b1b1;
    background: #fff1f1;
    color: #9b2c2c;
}

.status-text--hidden {
    border-color: #d7dce2;
    background: #f5f6f8;
    color: #707782;
}

@media (max-width: 991.98px) {
    .pt-qa-layout,
    .pt-qa-detail-layout,
    .pt-qa-editor-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-qa-layout > .pt-qa-sidebar,
    .pt-qa-detail-sidebar {
        position: static;
    }

    .pt-qa-detail-sidebar > .pt-qa-button {
        align-self: stretch;
    }
}

@media (max-width: 767.98px) {
    .pt-qa-hero__inner {
        min-height: 25rem;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 2rem;
    }

    .pt-qa-hero__content {
        width: 100%;
    }

    .pt-qa-hero h1 {
        font-size: 2.8rem;
    }

    .pt-qa-hero p {
        font-size: 1.4rem;
    }

    .pt-qa-discovery__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-topic-board__toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 1.2rem;
    }

    .pt-qa-filter-group--sort {
        flex-wrap: wrap;
        padding-left: 0;
        border-left: 0;
    }

    .pt-qa-list-item {
        grid-template-columns: minmax(0, 1fr) 13rem;
        gap: 1.6rem;
    }

    .pt-qa-question > header,
    .pt-qa-question > .pt-qa-content,
    .pt-qa-answer {
        padding-right: 2rem;
        padding-left: 2rem;
    }

}

/* Make purchase, app information, and engagement read as one sidebar card. */
.plugin-detail .pt-market-detail-sidebar {
    gap: 0;
}

.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-right: 1px solid #edf0f5;
    border-left: 1px solid #edf0f5;
    border-radius: 0;
    box-shadow: none;
}

.plugin-detail .pt-market-detail-aside .download {
    border-top: 1px solid #edf0f5;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem;
    box-shadow: 0 2px 2px rgba(23, 32, 51, 0.05);
}

.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-top: 1px solid #edf0f5;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-bottom: 1px dashed #dfe5ee;
    border-bottom-left-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem;
    box-shadow: 0 2px 2px rgba(23, 32, 51, 0.05);
}

.plugin-detail .pt-market-detail-aside .recommend {
    margin-top: 2rem;
}

@media (max-width: 767.98px) {
    .plugin-detail .pt-market-detail-aside .recommend {
        margin-top: 1.6rem;
    }
}

@media (max-width: 575.98px) {
    .pt-qa-page {
        padding-bottom: 4rem;
    }

    .pt-qa-layout,
    .pt-qa-detail-layout {
        gap: 1.2rem;
        padding-top: 1.6rem;
    }

    .pt-qa-editor-page,
    .pt-qa-detail-page {
        padding-top: 2.4rem;
    }

    .pt-qa-hero {
        padding: 5rem 0;
    }

    .pt-qa-hero__inner {
        min-height: 18rem;
        padding-top: 0;
        padding-bottom: 0;
    }

    .pt-qa-hero__actions,
    .pt-qa-hero__actions .pt-qa-button,
    .pt-qa-form-actions,
    .pt-qa-form-actions .pt-qa-button {
        width: 100%;
    }

    .pt-qa-discovery__inner,
    .pt-qa-editor-header,
    .pt-qa-editor,
    .pt-qa-editor-notes,
    .pt-qa-moderation-note {
        padding: 1.8rem;
    }

    .pt-qa-search {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 4.4rem;
    }

    .pt-qa-search button {
        min-width: 4.4rem;
    }

    .pt-qa-page .pt-qa-search .pt-qa-search__clear {
        right: 4.4rem;
    }

    .pt-qa-search button span {
        display: none;
    }

    .pt-qa-sidebar {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.2rem;
    }

    .pt-qa-list-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.4rem;
        padding: 1.4rem;
    }

    .pt-qa-list-item__heading {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 0.5rem 0.8rem;
    }

    .pt-qa-list-item__metrics {
        width: 100%;
        border-top: 1px solid var(--pt-qa-border);
        border-left: 0;
    }

    .pt-qa-list-item__metrics > div {
        padding-top: 1rem;
        padding-bottom: 0;
    }

    .pt-qa-topic-board__toolbar {
        padding: 1.4rem 1.8rem;
    }

    .pt-qa-topic-board__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.3rem;
    }

    .pt-qa-topic-board__tools {
        align-items: stretch;
        flex-direction: column;
        gap: 0.6rem;
    }

    .pt-qa-filter-group--sort {
        padding-top: 0;
        border-top: 0;
    }

    .pt-qa-category-nav {
        align-items: flex-start;
    }

    .pt-qa-category-nav > div {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.4rem;
    }

    .pt-qa-category-nav a {
        min-height: 4.4rem;
    }

    .pt-qa-empty {
        align-items: flex-start;
        flex-direction: column;
        padding: 2.4rem 1.8rem;
    }

    .pt-qa-question h1 {
        max-width: none;
        padding-top: 2.8rem;
        font-size: 2.1rem;
    }

    .pt-qa-question__labels--floating {
        top: 2rem;
        right: 2rem;
        max-width: calc(100% - 4rem);
    }

    .pt-qa-login-callout {
        align-items: flex-start;
        flex-direction: column;
    }

    .pt-qa-section-title,
    .pt-qa-answer > header {
        flex-wrap: wrap;
    }

    .pt-qa-answer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pt-qa-filter-group a {
        min-height: 4.4rem;
    }

    .pt-qa-helpful-action,
    .pt-qa-helpful-action form,
    .pt-qa-helpful-button,
    .pt-qa-helpful-count {
        width: 100%;
        min-height: 4.4rem;
    }

    .pt-qa-answer-actions__commands {
        min-height: 4.4rem;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .pt-qa-answer > form,
    .pt-qa-answer > form .pt-qa-button,
    .pt-qa-answer-form form > .pt-qa-button {
        width: 100%;
    }

    .pt-account-question-tabs {
        width: 100%;
        justify-content: space-between;
        gap: 1rem;
    }

    .pt-account-question-filter {
        width: 100%;
        align-items: stretch;
        margin-left: 0;
    }

    .pt-account-question-helpful {
        width: 100%;
    }

    .pt-account-question-filter label {
        display: inline-flex;
        align-items: center;
    }

    .pt-account-question-filter select {
        flex: 1 1 auto;
    }

    .pt-account-question-list {
        padding: 0;
    }

    .pt-account-question-list article {
        padding: 1.8rem;
    }

    .pt-account-followed-list article {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.4rem;
        padding: 1.8rem;
    }

    .pt-account-followed-list__actions {
        justify-content: flex-start;
    }

    .pt-account-followed-list__actions .pt-account-button {
        min-height: 4.4rem;
    }

    .pt-account-question-list__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .pt-account-question-list h2 {
        flex-basis: auto;
    }

    .pt-account-question-list__states {
        justify-content: flex-start;
    }

    .pt-account-question-list__controls {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    .pt-account-question-list__actions,
    .pt-account-question-list__actions .pt-account-button {
        width: 100%;
    }
}

/* Doubao-inspired layout only: purchase and metadata read as one compact sidebar card. */
@media (min-width: 992px) {
    .template-detail .template-detail-sidebar {
        gap: 0;
    }

    .template-detail .template-purchase-panel {
        border-radius: .4rem .4rem 0 0;
        box-shadow: 0 2px 8px rgba(39, 64, 91, .05);
    }

    .template-detail .template-info-panel {
        border-radius: 0 0 .4rem .4rem;
        box-shadow: 0 2px 8px rgba(39, 64, 91, .05);
    }
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.8rem !important;
    padding: 0 2.2rem !important;
}

.template-detail .template-info-panel .template-info-grid {
    display: block;
    padding: .4rem 2.2rem 0 !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-info-grid > div {
    display: flex !important;
    min-height: 4rem !important;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.template-detail .template-info-panel .template-info-grid > div:last-child {
    border-bottom: 0;
}

.template-detail .template-info-panel .template-info-grid span,
.template-detail .template-info-panel .template-info-grid strong {
    display: block;
    margin: 0;
    line-height: 1.4;
}

.template-detail .template-info-panel .template-info-grid span {
    color: #8993a1;
    font-size: 1.2rem;
}

.template-detail .template-info-panel .template-info-grid strong {
    overflow-wrap: anywhere;
    color: #333;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: right;
}

.template-detail .template-info-panel .template-info-grid .pt-rate {
    flex: 0 0 auto;
    margin-left: auto;
}

.template-detail .template-info-panel .template-service-info__links {
    gap: .7rem;
    padding: 1.4rem 2.2rem 2.2rem !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.6rem;
    padding: .8rem .5rem;
    border-radius: .25rem;
    background: #f6f8fb;
    color: #596575;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 6.2rem !important;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-info-grid {
        padding: .3rem 2rem 0 !important;
    }

    .template-detail .template-info-panel .template-info-grid > div {
        min-height: 4rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        padding: 1.2rem 2rem 2rem !important;
    }
}

/* Final polish: keep the information panel quiet and structured without extra rules. */
.template-detail .template-info-panel {
    background: #fff !important;
    border-radius: .4rem;
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.8rem !important;
    padding: 0 2.2rem !important;
}

.template-detail .template-info-panel .template-section-heading h2 {
    font-size: 1.7rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.template-detail .template-info-panel .template-info-grid {
    gap: .7rem;
    padding: 1.4rem 2.2rem 1.1rem !important;
}

.template-detail .template-info-panel .template-info-grid > div {
    min-height: 5.2rem;
    padding: .9rem 1.1rem;
    border-radius: .25rem;
    background: #f6f8fb;
}

.template-detail .template-info-panel .template-info-grid span {
    color: #8993a1;
    font-size: 1.2rem;
    line-height: 1.4;
}

.template-detail .template-info-panel .template-info-grid strong {
    margin-top: .45rem;
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
}

.template-detail .template-info-panel .template-service-info__links {
    gap: .7rem;
    padding: 1.1rem 2.2rem 2.2rem !important;
}

.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.6rem;
    padding: .8rem .5rem;
    border-radius: .25rem;
    background: #f6f8fb;
    color: #596575;
}

.template-detail .template-info-panel .template-service-info__links .template-service-info__label,
.template-detail .template-info-panel .template-service-info__links .template-service-info__action {
    font-size: 1.2rem;
    line-height: 1.3;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 6.2rem !important;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-info-grid {
        gap: .7rem;
        padding: 1.2rem 2rem 1rem !important;
    }

    .template-detail .template-info-panel .template-info-grid > div {
        min-height: 5rem;
        padding: .85rem 1rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        gap: .6rem;
        padding: 1rem 2rem 2rem !important;
    }
}

/* Final related-template card match for the template market list. */
.template-detail .template-detail-bottom .content {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

.template-detail .template-detail-bottom .content .image {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
    padding-top: 56.25% !important;
    background: #fff !important;
}

.template-detail .template-detail-bottom .content .image .pt-application-cover {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none;
}

.template-detail .template-detail-bottom .content .introduce {
    display: grid !important;
    min-height: 9.6rem !important;
    align-content: center !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 1.2rem !important;
    row-gap: 1rem !important;
    padding: 1.4rem 1.6rem 1.5rem !important;
    border: 0 !important;
    background: #f8fafd !important;
}

.template-detail .template-detail-bottom .content .introduce .title {
    min-width: 0 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #2f3742 !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

.template-detail .template-detail-bottom .content .introduce .author-box {
    display: contents !important;
    color: #7c8795 !important;
    font-size: 1.4rem !important;
    line-height: 1.6 !important;
}

.template-detail .template-detail-bottom .content .introduce .author {
    display: inline-flex !important;
    min-width: 0 !important;
    align-items: center !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    gap: .5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.template-detail .template-detail-bottom .content .introduce .download {
    align-self: center !important;
    justify-self: end !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.template-detail .template-detail-bottom .content .introduce .rate-box {
    display: flex !important;
    width: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.template-detail .template-detail-bottom .content .introduce .rate-box .price {
    color: #2274ff !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* Platform progress timeline list. */
.pt-progress-page .pt-progress-timeline {
    position: relative;
    max-width: 112rem;
    padding: 6rem 0 7rem;
}

.pt-progress-page .pt-progress-timeline::before {
    position: absolute;
    top: 6rem;
    bottom: 7rem;
    left: 50%;
    width: 1px;
    background: #dce5f0;
    content: '';
    transform: translateX(-50%);
}

.pt-progress-page .pt-progress-timeline::after {
    position: absolute;
    top: 5.3rem;
    left: 50%;
    width: 0;
    height: 0;
    border-right: .45rem solid transparent;
    border-bottom: .7rem solid #2274ff;
    border-left: .45rem solid transparent;
    transform: translateX(-50%);
    content: '';
}

.pt-progress-item {
    position: relative;
    display: grid;
    min-height: 16rem;
    grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr);
    align-items: center;
}

.pt-progress-item + .pt-progress-item { margin-top: 1.6rem; }
.pt-progress-item.is-left .pt-progress-date { grid-column: 1; grid-row: 1; padding-right: 2.4rem; text-align: right; }
.pt-progress-item.is-left .pt-progress-card { grid-column: 3; grid-row: 1; }
.pt-progress-item.is-right .pt-progress-date { grid-column: 3; grid-row: 1; padding-left: 2.4rem; text-align: left; }
.pt-progress-item.is-right .pt-progress-card { grid-column: 1; grid-row: 1; }

.pt-progress-marker {
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    width: 1.2rem;
    height: 1.2rem;
    margin: auto;
    border: .3rem solid #fff;
    border-radius: 50%;
    background: #2274ff;
    box-shadow: 0 0 0 .1rem #2274ff;
}

.pt-progress-date {
    color: #7b8797;
    font-size: 1.4rem;
    line-height: 1.5;
}

.pt-progress-card {
    padding: 2.2rem 2.6rem;
    border: 1px solid #e9eef5;
    border-radius: .4rem;
    background: #fff;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .05);
}

.pt-progress-card__meta { display: flex; gap: .8rem; align-items: center; color: #8a96a6; font-size: 1.3rem; }
.pt-progress-card__meta span { padding: .2rem .6rem; background: #edf4ff; color: #2274ff; }
.pt-progress-card h2 { margin: .8rem 0 0; font-size: 1.8rem; font-weight: 500; line-height: 1.5; }
.pt-progress-card h2 a { color: #263445; }
.pt-progress-card h2 a:hover { color: #2274ff; }
.pt-progress-card p { margin: 1rem 0 0; color: #68778b; font-size: 1.4rem; line-height: 1.8; }
.pt-progress-card__link { display: inline-flex; gap: .5rem; align-items: center; margin-top: 1.4rem; color: #2274ff; font-size: 1.4rem; }

@media (max-width: 767.98px) {
    .pt-progress-page .pt-progress-timeline { padding: 4rem 2rem 5rem 4.8rem; }
    .pt-progress-page .pt-progress-timeline::before { top: 4rem; bottom: 5rem; left: 2rem; }
    .pt-progress-page .pt-progress-timeline::after { top: 3.3rem; left: 2rem; }
    .pt-progress-item,
    .pt-progress-item.is-left,
    .pt-progress-item.is-right { display: grid; min-height: 0; grid-template-columns: 2.4rem minmax(0, 1fr); align-items: start; }
    .pt-progress-item.is-left .pt-progress-date,
    .pt-progress-item.is-right .pt-progress-date { display: none; }
    .pt-progress-item.is-left .pt-progress-card,
    .pt-progress-item.is-right .pt-progress-card { grid-column: 2; grid-row: 1; }
    .pt-progress-page .pt-progress-marker {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        margin-top: 2.4rem;
        transform: translateX(calc(-50% - 0.6rem));
    }
    .pt-progress-card { padding: 1.8rem 2rem; }
}

/* Final override for the addon sidebar card grouping. */
.plugin-detail .pt-market-detail-sidebar { gap: 0 !important; }
.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border: 1px solid #edf0f5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.plugin-detail .pt-market-detail-aside .download {
    border-top-left-radius: .4rem !important;
    border-top-right-radius: .4rem !important;
    box-shadow: 0 2px 2px rgba(23, 32, 51, .05) !important;
}
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement { border-top: 0 !important; }
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-bottom-left-radius: .4rem !important;
    border-bottom-right-radius: .4rem !important;
    box-shadow: 0 2px 2px rgba(23, 32, 51, .05) !important;
}
.plugin-detail .pt-market-detail-aside .recommend { margin-top: 2rem !important; }
@media (max-width: 767.98px) {
    .plugin-detail .pt-market-detail-aside .recommend { margin-top: 1.6rem !important; }
}

/* Related templates use the same compact list card as the template market. */
.template-detail .template-detail-bottom > .row {
    --bs-gutter-x: 1.6rem;
    --bs-gutter-y: 1.6rem;
}

.template-detail .template-detail-bottom .content {
    display: block;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: #fff;
}

.template-detail .template-detail-bottom .content .image {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-top: 56.25%;
    background: #fff;
}

.template-detail .template-detail-bottom .content .image .pt-application-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    object-fit: cover;
    transition: none !important;
}

.template-detail .template-detail-bottom .content:hover .image .pt-application-cover {
    transform: none !important;
}

/* Restore the template-list edge light sweep for related cards only. */
.template-detail .template-detail-bottom .content {
    position: relative;
}

.template-detail .template-detail-bottom .content::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    padding: 1px;
    opacity: 0;
    pointer-events: none;
    content: '';
    background: conic-gradient(
        from var(--pt-market-card-angle),
        transparent 0deg 245deg,
        rgba(34, 116, 255, .18) 270deg,
        #2274ff 315deg,
        rgba(34, 116, 255, .18) 345deg,
        transparent 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    transition: opacity 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .template-detail .template-detail-bottom .content:hover::after,
    .template-detail .template-detail-bottom .content:focus-visible::after {
        opacity: 1;
        animation: pt-market-card-border 5s linear infinite;
    }
}

.template-detail .template-detail-bottom .content .image .tags {
    position: absolute;
    z-index: 2;
    top: 1.2rem;
    left: 1.2rem;
    display: flex;
    gap: .6rem;
    margin: 0;
}

.template-detail .template-detail-bottom .content .introduce {
    display: grid;
    min-height: 9.6rem;
    align-content: center;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 1.2rem;
    row-gap: 1rem;
    padding: 1.4rem 1.6rem 1.5rem;
    border: 0;
    background: #f8fafd;
}

.template-detail .template-detail-bottom .content .introduce .title {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

.template-detail .template-detail-bottom .content .introduce .author-box {
    display: contents;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.template-detail .template-detail-bottom .content .introduce .author {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    grid-column: 1;
    grid-row: 2;
    gap: .5rem;
    padding: 0;
}

.template-detail .template-detail-bottom .content .introduce .download {
    align-self: center;
    justify-self: end;
    grid-column: 2;
    grid-row: 1;
}

.template-detail .template-detail-bottom .content .introduce .rate-box {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: flex-end;
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    padding: 0;
    border: 0;
}

.template-detail .template-detail-bottom .content .introduce .rate-box .price {
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
}

/* Keep progress cards compact and free of visible outline lines. */
.pt-progress-item.is-left .pt-progress-card,
.pt-progress-item.is-right .pt-progress-card {
    width: min(44rem, 100%);
}

.pt-progress-item.is-left .pt-progress-card { justify-self: start; }
.pt-progress-item.is-right .pt-progress-card { justify-self: end; }

.pt-progress-card {
    padding: 1.8rem 2.2rem;
    border: 0;
    box-shadow: 0 4px 16px rgba(23, 32, 51, .045);
}

.pt-progress-item {
    min-height: 0;
}

.pt-progress-item + .pt-progress-item {
    margin-top: 2.4rem;
}

.pt-progress-card {
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}

.pt-progress-card h2 { margin-top: .5rem; }
.pt-progress-card p { margin-top: .6rem; line-height: 1.6; }
.pt-progress-card__link { margin-top: .8rem; }

@keyframes pt-progress-line-rise {
    from { background-position: 0 100%; }
    to { background-position: 0 0; }
}

.pt-progress-page .pt-progress-timeline::before {
    transform-origin: 50% 100%;
    transform: translateX(-50%);
    background-color: #dce5f0;
    background-image: linear-gradient(
        to top,
        #dce5f0 0%,
        #dce5f0 43%,
        #2274ff 50%,
        #dce5f0 57%,
        #dce5f0 100%
    );
    background-repeat: no-repeat;
    background-size: 100% 240%;
    animation: pt-progress-line-rise 1.8s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .pt-progress-page .pt-progress-timeline::before {
        animation: none;
        transform: translateX(-50%);
        background: #dce5f0;
    }
}

@media (max-width: 767.98px) {
    .pt-progress-item.is-left .pt-progress-card,
    .pt-progress-item.is-right .pt-progress-card {
        width: 100%;
    }
}

/* Final override: join the three primary addon sidebar sections into one card. */
.plugin-detail .pt-market-detail-sidebar {
    gap: 0 !important;
}

.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-right: 1px solid #edf0f5 !important;
    border-left: 1px solid #edf0f5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.plugin-detail .pt-market-detail-aside .download {
    border-top: 1px solid #edf0f5 !important;
    border-top-left-radius: .4rem !important;
    border-top-right-radius: .4rem !important;
    box-shadow: 0 2px 2px rgba(23, 32, 51, .05) !important;
}

.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-top: 1px solid #edf0f5 !important;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement {
    border-bottom: 1px solid #edf0f5 !important;
    border-bottom-left-radius: .4rem !important;
    border-bottom-right-radius: .4rem !important;
    box-shadow: 0 2px 2px rgba(23, 32, 51, .05) !important;
}

.plugin-detail .pt-market-detail-aside .recommend {
    margin-top: 2rem !important;
}

@media (max-width: 767.98px) {
    .plugin-detail .pt-market-detail-aside .recommend {
        margin-top: 1.6rem !important;
    }
}

/* Keep template engagement inside the information card, immediately after downloads. */
.template-detail .template-info-panel .template-info-grid > .template-info-rating {
    grid-column: 1 / -1;
    min-width: 0;
    margin: .2rem 0 0;
    padding: 1.2rem 0 1rem;
    border-top: 1px solid var(--market-border);
    border-bottom: 1px solid var(--market-border);
    border-radius: 0;
    background: #fff;
}

.template-detail .template-info-rating.pt-market-engagement {
    margin-top: .2rem;
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
    border-left: 0;
    background: #fff;
}

.template-detail .template-info-rating .pt-market-engagement__heading {
    gap: 1rem;
}

.template-detail .template-info-rating .pt-market-engagement__metrics {
    margin-top: 1rem;
}

.template-detail .template-info-rating .pt-market-engagement__metrics > div {
    padding: .9rem 1rem;
    background: #f6f8fb;
}

.template-detail .template-info-rating .pt-market-engagement__notice {
    margin-top: 1rem;
    padding: .9rem 1rem;
    background: #f6f8fb;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-info-grid > .template-info-rating {
        margin-top: .1rem;
        padding-top: 1rem;
        padding-bottom: .8rem;
    }
}

/* Doubao-inspired layout only: purchase and metadata read as one compact sidebar card. */
@media (min-width: 992px) {
    .template-detail .template-detail-sidebar { gap: 0 !important; }
    .template-detail .template-purchase-panel {
        border-radius: .4rem .4rem 0 0;
        box-shadow: 0 2px 8px rgba(39, 64, 91, .05);
    }
    .template-detail .template-info-panel {
        border-radius: 0 0 .4rem .4rem;
        box-shadow: 0 2px 8px rgba(39, 64, 91, .05);
    }
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.8rem !important;
    padding: 0 2.2rem !important;
}

.template-detail .template-info-panel .template-info-grid {
    display: block !important;
    grid-template-columns: none !important;
    padding: .4rem 2.2rem 0 !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-info-grid > div {
    display: flex !important;
    min-height: 4rem !important;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.template-detail .template-info-panel .template-info-grid > div:last-child { border-bottom: 0; }
.template-detail .template-info-panel .template-info-grid span,
.template-detail .template-info-panel .template-info-grid strong {
    display: block;
    margin: 0;
    line-height: 1.4;
}
.template-detail .template-info-panel .template-info-grid span {
    color: #8993a1;
    font-size: 1.2rem;
}
.template-detail .template-info-panel .template-info-grid strong {
    overflow-wrap: anywhere;
    color: #333;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: right;
}
.template-detail .template-info-panel .template-info-grid .pt-rate {
    flex: 0 0 auto;
    margin-left: auto;
}
.template-detail .template-info-panel .template-service-info__links {
    gap: .7rem;
    padding: 1.4rem 2.2rem 2.2rem !important;
    background: #fff !important;
}
.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.6rem;
    padding: .8rem .5rem;
    border-radius: .25rem;
    background: #f6f8fb;
    color: #596575;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 6.2rem !important;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }
    .template-detail .template-info-panel .template-info-grid {
        padding: .3rem 2rem 0 !important;
    }
    .template-detail .template-info-panel .template-info-grid > div { min-height: 4rem; }
    .template-detail .template-info-panel .template-service-info__links {
        padding: 1.2rem 2rem 2rem !important;
    }
}

/* Rebuild the information card into three deliberate layers. */
.template-detail .template-info-panel {
    padding: 0 !important;
    overflow: hidden;
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.4rem;
    margin: 0;
    padding: 0 2.2rem;
    background: #fff;
}

.template-detail .template-info-panel .template-info-grid {
    margin: 0;
    padding: 1.8rem 2.2rem;
    background: #f5f8fc;
}

.template-detail .template-info-panel .template-service-info__links {
    margin: 0;
    padding: 1.6rem 2.2rem 2.2rem;
    background: #fff;
}

.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.8rem;
    background: #f5f8fc;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 5.8rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .template-detail .template-info-panel .template-info-grid {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

/* Keep template rating metrics in the same full-width row format as downloads. */
.template-detail .template-info-rating .pt-market-engagement__metrics {
    display: block;
    margin-top: 1rem;
    border-top: 0;
    border-bottom: 0;
}

.template-detail .template-info-rating .pt-market-engagement__metrics > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "label value" "label count";
    min-height: 4rem;
    align-items: center;
    gap: 0 1rem;
    padding: .75rem 0;
    border-bottom: 1px solid #eef2f7;
    background: transparent;
}

.template-detail .template-info-rating .pt-market-engagement__metrics > div + div {
    border-left: 0;
}

.template-detail .template-info-rating .pt-market-engagement__metrics dt {
    grid-area: label;
}

.template-detail .template-info-rating .pt-market-engagement__metrics dd {
    grid-area: value;
    margin: 0;
    color: #333;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: right;
}

.template-detail .template-info-rating .pt-market-engagement__metrics small {
    grid-area: count;
    text-align: right;
}

/* Embedded rating rows use the exact same treatment as the surrounding metadata rows. */
.template-detail .template-info-panel .template-info-grid > .template-info-rating {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.template-detail .template-info-rating .pt-market-engagement__metrics {
    margin: 0 !important;
    border: 0 !important;
}

.template-detail .template-info-rating .pt-market-engagement__metrics > div {
    min-height: 4rem !important;
    margin: 0 !important;
    padding: .75rem 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    background: transparent !important;
}

/* Match metadata rows exactly: same weight, color, spacing, and no rating-module chrome. */
.template-detail .template-info-rating .pt-market-engagement__metrics dt {
    color: #8993a1 !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
}

.template-detail .template-info-rating .pt-market-engagement__metrics dd {
    color: #333 !important;
    font-size: 1.3rem !important;
    font-weight: 500 !important;
}

.template-detail .template-info-rating .pt-market-engagement__metrics small {
    color: #8993a1 !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
}

/* Give template actions a clear hierarchy: buy, preview, then save. */
.template-detail .template-detail-top .introduce-box .btns {
    align-items: center;
    gap: 0.8rem;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-buy,
.template-detail .template-detail-top .introduce-box .btns form.template-action-buy button {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 2rem;
    border: 1px solid #2274ff;
    border-radius: 0.2rem;
    background: #2274ff;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-buy:hover,
.template-detail .template-detail-top .introduce-box .btns form.template-action-buy button:hover {
    border-color: #1768e8;
    background: #1768e8;
    color: #fff;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-demo {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.8rem;
    border: 1px solid #c9d9f2;
    border-radius: 0.2rem;
    background: #edf4ff;
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-demo:hover,
.template-detail .template-detail-top .introduce-box .btns .template-action-demo:focus-visible {
    border-color: #a9c4ec;
    background: #e3efff;
    color: #1768e8;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-favorite {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.8rem 1rem;
    border: 0 !important;
    border-radius: 0.2rem;
    background: transparent !important;
    color: #526176;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-favorite:hover,
.template-detail .template-detail-top .introduce-box .btns .template-action-favorite:focus-visible {
    border: 0 !important;
    background: #f6f9fd !important;
    color: #2274ff;
}

.template-detail .template-detail-top .introduce-box .btns form.template-action-buy,
.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite {
    margin: 0;
}

.template-detail .template-detail-top .introduce-box .btns form.template-action-buy button,
.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button {
    font: inherit;
    cursor: pointer;
}

.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button {
    min-height: 4.4rem;
    padding: 0.8rem 1rem;
    border: 0 !important;
    background: transparent !important;
    color: #526176;
}

.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button:hover {
    color: #2274ff;
}

@media (max-width: 767.98px) {
    .template-detail .template-detail-top .introduce-box .btns .template-action-favorite,
    .template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button {
        padding-right: 0.8rem;
        padding-left: 0.8rem;
    }
}

/* Align the PTAdmin desktop hero copy with the content column below it. */
@media (min-width: 992px) {
    .pt-open-source-hero__inner {
        padding-right: 7.5px;
        padding-left: 7.5px;
    }

    .pt-open-source-hero__content {
        width: 510px;
    }

    .pt-open-source-hero__description {
        width: 560px;
        max-width: none;
        white-space: nowrap;
    }

    .pt-open-source-hero__preview {
        transform: translateX(20px);
    }
}

/* Give the directive tool and documentation home a shared blue banner treatment. */
.pt-directive-tool .pt-directive-header {
    min-height: 48rem;
    display: flex;
    align-items: center;
    padding: 6rem 0;
    border-bottom-color: rgba(255, 255, 255, 0.2);
    background: #2274ff;
    color: #fff;
}

.pt-directive-tool .pt-directive-header__inner {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    column-gap: 6rem;
}

.pt-directive-tool .pt-directive-header__title h1 {
    margin: 2.4rem 0 0;
    color: #fff;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.25;
}

.pt-directive-tool .pt-directive-header__title p {
    max-width: 58rem;
    margin: 1.8rem 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.7rem;
    line-height: 1.9;
}

.pt-directive-tool .pt-directive-search input {
    border-color: rgba(255, 255, 255, 0.55);
}

@media (min-width: 768px) {
    .pt-directive-tool .pt-directive-search {
        width: min(100%, 48rem);
        justify-self: end;
    }
}

.docs-page .docs-home-banner {
    width: 100%;
    min-height: 48rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem;
    border: 0;
    border-radius: 0;
    background: #2274ff;
    color: #fff;
}

.docs-page .docs-home-banner__inner {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

.docs-page .docs-home-banner__content {
    max-width: 72rem;
}

.pt-directive-tool .pt-utility-hero-eyebrow,
.docs-page .pt-utility-hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
}

.pt-directive-tool .pt-utility-hero-eyebrow::before,
.docs-page .pt-utility-hero-eyebrow::before {
    width: 4rem;
    height: 0.3rem;
    flex: 0 0 auto;
    background: #83e6c2;
    content: "";
}

.docs-page .docs-home-banner h1 {
    margin: 2.4rem 0 0;
    color: #fff;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.25;
}

.docs-page .docs-home-banner .pt-utility-hero-description {
    max-width: 68rem;
    margin: 1.8rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.7rem;
    line-height: 1.9;
}

.docs-page .docs-home-banner .tag-row {
    margin-top: 2.4rem;
}

.docs-page .docs-home-banner h1,
.docs-page .docs-home-banner h2,
.docs-page .docs-home-banner p,
.docs-page .docs-home-banner .section-head p {
    color: #fff;
}

.docs-page .docs-home-banner .status-box {
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

.docs-page .docs-home-banner .status-box span {
    color: rgba(255, 255, 255, 0.8);
}

.docs-page .docs-home-banner .tag-row a {
    display: inline-flex;
    min-height: 3.8rem;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.8rem;
    border-color: rgba(255, 255, 255, 0.42);
    border-style: solid;
    border-width: 1px;
    color: #fff;
    background: transparent;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.docs-page .docs-home-banner .tag-row a:hover,
.docs-page .docs-home-banner .tag-row a:focus-visible,
.docs-page .docs-home-banner .tag-row a.is-active,
.docs-page .docs-home-banner .tag-row a.active {
    border-color: #fff;
    background: #fff;
    color: #155dcc;
}

@media (max-width: 767.98px) {
    .pt-directive-tool .pt-directive-header {
        min-height: 36rem;
        padding: 3rem 2rem;
    }

    .pt-directive-tool .pt-directive-header__inner {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 2.4rem;
    }

    .docs-page .docs-home-banner {
        min-height: 36rem;
        padding: 3rem 2rem;
    }

    .docs-page .docs-home-banner__inner {
        width: 100%;
    }

    .pt-directive-tool .pt-utility-hero-eyebrow,
    .docs-page .pt-utility-hero-eyebrow {
        gap: 1rem;
        font-size: 1.2rem;
    }

    .pt-directive-tool .pt-utility-hero-eyebrow::before,
    .docs-page .pt-utility-hero-eyebrow::before {
        width: 3rem;
        height: 0.2rem;
    }

    .pt-directive-tool .pt-directive-header__title h1,
    .docs-page .docs-home-banner h1 {
        margin-top: 2rem;
        font-size: 3.2rem;
        line-height: 1.28;
    }

    .pt-directive-tool .pt-directive-header__title p,
    .docs-page .docs-home-banner .pt-utility-hero-description {
        margin-top: 1.5rem;
        font-size: 1.5rem;
        line-height: 1.75;
    }

    .docs-page .docs-home-banner .tag-row {
        margin-top: 1.8rem;
    }

    .docs-page .docs-home-banner .tag-row a {
        min-height: 3.6rem;
        padding: 0.7rem 1.4rem;
        font-size: 1.3rem;
    }
}

@media (max-width: 575.98px) {
    .pt-about-page-nav__inner a,
    .pt-about-page-nav__inner a:nth-child(2n) {
        border-right: 0;
    }
}

/* Keep each question's status tags and title centered on the same row on small screens. */
@media (max-width: 767.98px) {
    .pt-qa-page .pt-qa-list-item__heading {
        align-items: center;
    }
}

/* Final narrow-screen override: keep the forum main column from being squeezed by page-specific desktop rules. */
@media (max-width: 1199.98px) {
    .pt-qa-page .pt-qa-layout,
    .pt-qa-page .pt-qa-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-page .pt-qa-layout > .pt-qa-sidebar,
    .pt-qa-page .pt-qa-detail-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .pt-qa-page .pt-qa-topic-board__toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Keep top-level mobile links clickable while their separate controls open child panels. */
@media (max-width: 991.98px) {
    #navigation-small-box .mobile-nav-item-group {
        display: flex;
        min-width: 0;
        align-items: stretch;
    }

    #navigation-small-box .mobile-nav-item-group > .mobile-nav-link {
        min-width: 0;
        width: auto;
        flex: 1 1 auto;
        padding-right: 0.4rem;
        white-space: nowrap;
    }

    #navigation-small-box .mobile-nav-item-group:has(> .mobile-nav-toggle[aria-selected="true"]),
    #navigation-small-box .mobile-nav-item-group:has(> .mobile-nav-link.is-current) {
        border-left: 3px solid #2274ff;
        background: #fff;
    }

    #navigation-small-box .mobile-nav-item-group:has(> .mobile-nav-toggle[aria-selected="true"]) > .mobile-nav-link,
    #navigation-small-box .mobile-nav-item-group:has(> .mobile-nav-link.is-current) > .mobile-nav-link {
        border-left: 0;
    }

    #navigation-small-box .mobile-nav-toggle {
        display: inline-flex;
        width: 4.8rem;
        min-width: 4.8rem;
        height: 4.8rem;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        background: transparent;
        color: #7d8793;
        cursor: pointer;
    }

    #navigation-small-box .mobile-nav-toggle .iconfont {
        font-size: 1.5rem;
        transform: rotate(0deg);
        transition: transform 160ms ease, color 160ms ease;
    }

    #navigation-small-box .mobile-nav-toggle[aria-selected="true"] {
        background: transparent;
        color: #2274ff;
    }

    #navigation-small-box .mobile-nav-toggle[aria-selected="true"] .iconfont {
        transform: rotate(90deg);
    }

    #navigation-small-box .mobile-nav-toggle:hover,
    #navigation-small-box .mobile-nav-toggle:focus,
    #navigation-small-box .mobile-nav-toggle:focus-visible,
    #navigation-small-box .mobile-nav-link:focus,
    #navigation-small-box .mobile-nav-link:focus-visible {
        color: #2274ff;
        outline: 0;
        box-shadow: none;
    }
}

@media (min-width: 992px) {
    #navigation-small-box {
        display: none !important;
    }
}

/* Align the answer editor with the full-width response section above it. */
.pt-qa-detail-page .pt-qa-answer-form > form {
    padding-right: 0;
    padding-left: 0;
}

/* Match the about-page image width to the company facts rule beneath it. */
.pt-about-intro__image {
    width: min(100%, 46rem) !important;
}

.pt-about-intro__image img {
    width: 100%;
}

@media (max-width: 767.98px) {
    .pt-qa-detail-page .pt-qa-answer-form > form {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }
}

/* Give related-question links a little more vertical breathing room. */
.pt-qa-detail-page .pt-qa-related-list li {
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
}

.pt-qa-detail-page .pt-qa-related-list a {
    line-height: 1.8;
}

/* Separate related questions with whitespace and surfaces instead of rules. */
.pt-qa-detail-page .pt-qa-related-panel > header {
    border-bottom: 0;
}

.pt-qa-detail-page .pt-qa-related-list {
    padding-right: 0;
    padding-left: 0;
    gap: 0.4rem;
}

.pt-qa-detail-page .pt-qa-related-list li {
    border-top: 0;
    padding-right: 1.8rem;
    padding-left: 1.8rem;
    background: #fff;
}

.pt-qa-detail-page .pt-qa-related-list li:nth-child(even) {
    background: #f3f7ff;
}

/* Keep accepted answers quiet and keep the author row from crowding its text. */
.pt-qa-detail-page .pt-qa-answer.is-accepted {
    box-shadow: none;
    background: #fff;
}

.pt-qa-detail-page .pt-qa-answer__author {
    gap: 1.4rem;
}

.pt-qa-detail-page .pt-qa-answer__author > div {
    min-width: 0;
}

/* Use the navigation blue for resolved states while keeping their background subtle. */
.pt-qa-page .pt-qa-question__labels .is-solved,
.pt-qa-page .pt-qa-list-item__tag.is-solved,
.pt-qa-page .pt-qa-hot-list__status.is-solved,
.pt-qa-detail-page .pt-qa-accepted-badge,
.pt-qa-detail-page .pt-qa-question__labels .is-solved {
    border-color: #cfe0ff;
    background: #f3f7ff;
    color: #2274ff;
}

.pt-qa-page .pt-qa-list-item__metrics .is-solved strong {
    color: #2274ff;
}

/* Normalize QA status badges to the larger, more readable size. */
.pt-qa-page .pt-qa-list-item__tag,
.pt-qa-page .pt-qa-question__labels span,
.pt-qa-detail-page .pt-qa-accepted-badge {
    min-height: 3.6rem;
    padding: 0.6rem 1.2rem;
    font-size: 1.4rem;
    line-height: 1.4;
}

.pt-qa-detail-page .pt-qa-related-list {
    gap: 0;
}

/* Refine question detail pages to match the forum's flatter, more spacious content style. */
.pt-qa-detail-page {
    padding-top: 1.8rem;
    padding-bottom: 5rem;
    background: #fff;
}

.pt-qa-detail-page .pt-qa-detail-layout {
    gap: 3.2rem;
    padding-top: 1rem;
}

.pt-qa-detail-page .pt-qa-question,
.pt-qa-detail-page .pt-qa-answers,
.pt-qa-detail-page .pt-qa-answer-form {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.pt-qa-detail-page .pt-qa-question > header {
    padding: 2.2rem 0 1.8rem;
    border-bottom: 1px solid #eef1f5;
}

.pt-qa-detail-page .pt-qa-question > .pt-qa-content {
    padding: 2.2rem 0 2.6rem;
}

.pt-qa-detail-page .pt-qa-question > .pt-qa-content + .pt-qa-content-actions {
    padding: 1.2rem 0;
    border-top: 1px solid #eef1f5;
}

.pt-qa-detail-page .pt-qa-section-title {
    min-height: 6.4rem;
    padding: 0;
    border-bottom: 1px solid #eef1f5;
}

.pt-qa-detail-page .pt-qa-answer {
    padding: 2.2rem 0;
}

.pt-qa-detail-page .pt-qa-answer + .pt-qa-answer {
    border-top: 1px solid #eef1f5;
}

.pt-qa-detail-page .pt-qa-answer-actions {
    border-top-color: #eef1f5;
}

.pt-qa-detail-page .pt-qa-detail-sidebar {
    gap: 2.4rem;
}

.pt-qa-detail-page .pt-qa-detail-sidebar > .pt-qa-detail-summary,
.pt-qa-detail-page .pt-qa-detail-sidebar > .pt-qa-related-panel {
    border: 0;
    border-radius: 0;
    background: #f8fafc;
}

@media (max-width: 767.98px) {
    .pt-qa-detail-page {
        padding-top: 1.2rem;
        padding-bottom: 4rem;
    }

    .pt-qa-detail-page .pt-qa-detail-layout {
        gap: 1.8rem;
        padding-top: 0.6rem;
    }

    .pt-qa-detail-page .pt-qa-question > header,
    .pt-qa-detail-page .pt-qa-question > .pt-qa-content,
    .pt-qa-detail-page .pt-qa-answer {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .pt-qa-detail-page .pt-qa-question > header {
        padding-top: 1.8rem;
        padding-bottom: 1.4rem;
    }

    .pt-qa-detail-page .pt-qa-question > .pt-qa-content {
        padding-top: 1.8rem;
        padding-bottom: 2rem;
    }

    .pt-qa-detail-page .pt-qa-question > .pt-qa-content + .pt-qa-content-actions {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .pt-qa-detail-page .pt-qa-section-title {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }
}

/* Keep the forum content readable on narrow devices that use a wider CSS viewport. */
@media (max-width: 1199.98px) {
    .pt-qa-layout,
    .pt-qa-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-layout > .pt-qa-sidebar,
    .pt-qa-detail-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .pt-qa-topic-board__toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}

/* QA content follows the documentation pages: flat groups, clear spacing, no framed cards. */
.pt-qa-page .pt-qa-discovery {
    border-bottom: 0;
    background: #fff;
}

.pt-qa-discovery__inner {
    gap: 0;
    padding-top: 20px;
    padding-bottom: 20px;
}

.pt-qa-discovery .pt-qa-category-nav {
    min-height: 40px;
    gap: 1.6rem;
    padding: 0 1.6rem;
    border-bottom: 0;
    background: transparent;
}

.pt-qa-discovery .pt-qa-category-nav + .pt-qa-category-nav {
    margin-top: 4px;
    border-top: 0;
}

.pt-qa-discovery .pt-qa-category-nav__label {
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-qa-discovery .pt-qa-category-nav a {
    min-height: 3.6rem;
    padding: 0.6rem 1.2rem;
    border-radius: 0;
    font-size: 1.4rem;
}

.pt-qa-page .pt-qa-layout {
    grid-template-columns: minmax(0, 1fr) 28rem;
    gap: 2.4rem;
    padding-top: 2.2rem;
}

.pt-qa-page .pt-qa-topic-board,
.pt-qa-page .pt-qa-sidebar > section {
    border: 0;
    border-radius: 0;
    background: #fff;
}

.pt-qa-page .pt-qa-topic-board__toolbar,
.pt-qa-page .pt-qa-sidebar-popular > header {
    padding: 1.6rem;
    border-bottom: 0;
    background: #f8fafc;
}

.pt-qa-page .pt-qa-topic-board__heading h2 {
    font-size: 2rem;
    font-weight: 500;
}

.pt-qa-page .pt-qa-topic-board__heading span,
.pt-qa-page .pt-qa-filter-label {
    font-size: 1.4rem;
}

.pt-qa-page .pt-qa-filter-group a {
    min-height: 3.6rem;
    padding: 0.6rem 1.1rem;
    border-radius: 0;
    font-size: 1.4rem;
}

.pt-qa-page .pt-qa-list-item {
    min-height: 9.2rem;
    padding: 1.8rem 1.6rem;
    background: #fff;
}

.pt-qa-page .pt-qa-list-item:nth-child(even) {
    background: #fafbfd;
}

.pt-qa-page .pt-qa-list-item + .pt-qa-list-item,
.pt-qa-page .pt-qa-list-item__metrics > div + div {
    border-top: 0;
    border-left: 0;
}

.pt-qa-page .pt-qa-list-item__metrics {
    border-left: 0;
}

.pt-qa-page .pt-qa-list-item h2 {
    font-size: 1.7rem;
    font-weight: 500;
}

.pt-qa-page .pt-qa-list-item__main > p {
    font-size: 1.4rem;
    line-height: 1.8;
}

.pt-qa-page .pt-qa-list-item__meta {
    font-size: 1.4rem;
}

.pt-qa-page .pt-qa-sidebar {
    gap: 2.2rem;
}

.pt-qa-page .pt-qa-sidebar > .pt-qa-sidebar-actions {
    gap: 1.4rem;
    padding: 0;
    background: transparent;
}

.pt-qa-page .pt-qa-sidebar-actions .pt-qa-button {
    min-height: 5.6rem;
    border-radius: 0;
}

.pt-qa-page .pt-qa-sidebar > section {
    background: #f8fafc;
}

.pt-qa-page .pt-qa-sidebar-popular > header {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
}

.pt-qa-page .pt-qa-hot-list {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
}

.pt-qa-page .pt-qa-hot-list li + li {
    border-top: 0;
}

.pt-qa-page .pt-qa-hot-list li {
    margin-right: -1rem;
    margin-left: -1rem;
    padding-right: 1rem;
    padding-left: 1rem;
}

.pt-qa-page .pt-qa-hot-list li:nth-child(odd) { background: #ffffff; }
.pt-qa-page .pt-qa-hot-list li:nth-child(even) { background: #f3f8ff; }

.pt-qa-page .pt-qa-hot-list__content > a {
    font-size: 1.4rem;
    line-height: 1.7;
}

.pt-qa-page .pt-qa-hero .pt-qa-search input:focus,
.pt-qa-page .pt-qa-hero .pt-qa-search input:focus-visible,
.pt-qa-page .pt-qa-hero .pt-qa-search button:focus,
.pt-qa-page .pt-qa-hero .pt-qa-search button:focus-visible {
    outline: 0;
    box-shadow: none;
}

@media (max-width: 575.98px) {
    .pt-qa-discovery__inner {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .pt-qa-discovery .pt-qa-category-nav {
        min-height: 40px;
        align-items: center;
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .pt-qa-discovery .pt-qa-category-nav > div {
        align-items: center;
    }

    .pt-qa-discovery .pt-qa-category-nav + .pt-qa-category-nav {
        margin-top: 4px;
    }

    .pt-qa-page .pt-qa-layout {
        gap: 1.2rem;
        padding-top: 1.6rem;
    }

    .pt-qa-page .pt-qa-topic-board__toolbar,
    .pt-qa-page .pt-qa-sidebar-popular > header {
        padding: 1.4rem 1.2rem;
    }

    .pt-qa-page .pt-qa-sidebar > .pt-qa-sidebar-actions {
        gap: 1.4rem;
    }

    .pt-qa-page .pt-qa-list-item {
        min-height: 0;
        padding: 1.6rem 1.2rem;
    }
}

/* Keep every public mobile banner on the same 20px content gutter. */
@media (max-width: 767.98px) {
    .plugin-banner,
    .template-banner,
    .pt-news-hero,
    .pt-directive-tool .pt-directive-header,
    .docs-page .docs-home-banner {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .plugin-banner .content,
    .template-banner .content,
    .pt-news-hero__inner,
    .pt-qa-hero__inner,
    .pt-about-hero__inner,
    .pt-open-source-hero__inner,
    .pt-directive-tool .pt-directive-header__inner,
    .docs-page .docs-home-banner__inner,
    .plugin-detail .plugin-detail-banner .plugin_banner_box,
    .template-detail .template-detail-banner .template_banner_box,
    .pt-auth-page .pt-auth-stage__brand-inner,
    .pt-site-search-hero > .container-xxl {
        width: 100%;
        max-width: none;
        margin-right: auto;
        margin-left: auto;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
        box-sizing: border-box;
    }
}

.plugin-banner,
.template-banner,
.pt-news-hero {
    position: relative;
    isolation: isolate;
}

.plugin-banner::after,
.template-banner::after,
.pt-news-hero::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: #2274ff;
    content: "";
    opacity: 0.4;
    pointer-events: none;
}

.plugin-banner .content,
.template-banner .content,
.pt-news-hero__inner {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .pt-qa-hero {
        background-position: 68% bottom;
        background-size: 220% auto;
    }
}

/* Give the two utility banners distinct, restrained line-art compositions. */
.pt-directive-tool .pt-directive-header {
    background-image: url("../static/images/banner-directives.svg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.docs-page .docs-home-banner {
    background-image: url("../static/images/banner-docs.svg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@media (max-width: 767.98px) {
    .pt-directive-tool .pt-directive-header {
        background-position: 66% bottom;
        background-size: 220% auto;
    }

    .docs-page .docs-home-banner {
        background-position: 64% bottom;
        background-size: 220% auto;
    }
}

@media (max-width: 991.98px) {
    #navigation-small-box .mobile-nav-rail .mobile-nav-auth-link {
        color: #1769e0;
        font-weight: 500;
    }

    #navigation-small-box .mobile-nav-rail .mobile-nav-auth-link--login {
        margin-top: 0.8rem;
        border-top: 1px solid #dfe4eb;
    }
}

.pt-open-source-page .pt-open-source-hero {
    border-bottom-color: rgba(255, 255, 255, 0.22);
    background-color: #2274ff;
    background-image: url("../static/images/banner-ptadmin.svg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

@media (max-width: 767.98px) {
    .pt-open-source-page .pt-open-source-hero {
        background-position: 66% bottom;
        background-size: 220% auto;
    }
}

.pt-open-source-page .pt-open-source-label,
.pt-open-source-page .pt-open-source-hero h1,
.pt-open-source-page .pt-open-source-hero__summary {
    color: #fff;
}

.pt-open-source-page .pt-open-source-hero__description {
    color: rgba(255, 255, 255, 0.82);
}

.pt-open-source-page .pt-open-source-label::before {
    background: rgba(255, 255, 255, 0.82);
}

.pt-open-source-page .pt-open-source-hero .pt-open-source-button--primary {
    background: #fff;
    color: #1769e0;
}

.pt-open-source-page .pt-open-source-hero .pt-open-source-button--primary:hover {
    background: #eef4ff;
    color: #155dcc;
}

.pt-open-source-page .pt-open-source-hero .pt-open-source-button--secondary {
    border-color: rgba(255, 255, 255, 0.62);
    background: transparent;
    color: #fff;
}

.pt-open-source-page .pt-open-source-hero .pt-open-source-button--secondary:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.pt-open-source-page .pt-open-source-hero .pt-open-source-button--text,
.pt-open-source-page .pt-open-source-hero .pt-open-source-button--text:hover {
    color: #fff;
}

.pt-open-source-page .pt-open-source-meta__grid > div,
.pt-open-source-page .pt-open-source-meta__grid > div:first-child {
    border-right: 0;
    border-left: 0;
}

.pt-open-source-page .pt-open-source-release-cta {
    border-left-color: #2274ff;
}

.pt-open-source-page .pt-open-source-release-card,
.pt-open-source-page .pt-open-source-release-cta,
.pt-open-source-page .pt-open-source-install-item {
    border: 0;
}

.pt-open-source-page .pt-open-source-section-heading h2,
.pt-open-source-page .pt-open-source-aside-section h2 {
    font-weight: 500;
}

@media (min-width: 992px) {
    .pt-open-source-page .pt-open-source-hero__inner {
        min-height: 540px;
        gap: 72px;
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .pt-open-source-page .pt-open-source-hero h1 {
        font-size: 64px;
    }

    .pt-open-source-page .pt-open-source-hero__summary {
        margin-top: 26px !important;
        font-size: 24px;
    }

    .pt-open-source-page .pt-open-source-meta__grid > div {
        padding-top: 24px;
        padding-bottom: 25px;
    }

    .pt-open-source-page .pt-open-source-download-center {
        gap: 5.5rem;
        padding-bottom: 7rem;
    }

    .pt-open-source-page .pt-open-source-section {
        padding-top: 6rem;
    }

    .pt-open-source-page .pt-open-source-section-heading p {
        margin-top: 1rem !important;
        line-height: 1.8;
    }

    .pt-open-source-page .pt-open-source-release-cta {
        min-height: 21rem;
        margin-top: 2rem;
        padding: 3.2rem 2.5rem;
    }

    .pt-open-source-page .pt-open-source-release-cta strong {
        margin-top: 0.5rem;
        font-size: 1.2rem;
    }

    .pt-open-source-page .pt-open-source-release-cta p {
        margin-top: 0.5rem !important;
        line-height: 1.7;
    }

    .pt-open-source-page .pt-open-source-install-list,
    .pt-open-source-page .pt-open-source-history-list {
        margin-top: 2.2rem;
    }

    .pt-open-source-page .pt-open-source-install-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
        border-top: 0;
    }

    .pt-open-source-page .pt-open-source-install-item {
        min-height: 17rem;
        align-items: flex-start;
        flex-direction: column;
        padding: 3rem;
        border: 0;
        background: #f8fafc;
    }

    .pt-open-source-page .pt-open-source-install-item > div {
        gap: 0.5rem;
    }

    .pt-open-source-page .pt-open-source-install-item code {
        max-width: 100%;
        margin-top: auto;
        padding-top: 1rem;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .pt-open-source-page .pt-open-source-install-item > .iconfont {
        align-self: flex-end;
        margin-top: auto;
    }

    .pt-open-source-page .pt-open-source-download-aside {
        padding-top: 6rem;
    }

    .pt-open-source-page .pt-open-source-aside-section {
        padding: 1.75rem 0 2.25rem;
    }

    .pt-open-source-page .pt-open-source-aside-section + .pt-open-source-aside-section {
        margin-top: 4rem;
    }

    .pt-open-source-page .pt-open-source-link-list {
        margin-top: 1.5rem;
    }

    .pt-open-source-page .pt-open-source-link-list > a,
    .pt-open-source-page .pt-open-source-link-list__static {
        min-height: 7.5rem;
    }

    .pt-open-source-page .pt-open-source-aside-commands {
        margin-top: 1.5rem;
    }

    .pt-open-source-page .pt-open-source-aside-commands > div {
        padding: 1.35rem 0;
    }

    .pt-open-source-page .pt-open-source-frontend {
        padding-top: 6rem;
        padding-bottom: 6rem;
        margin-top: 7rem;
    }
}

@media (max-width: 991.98px) {
    #navigation-small-box .mobile-nav-auth-link {
        color: #1769e0;
        font-weight: 500;
    }

    #navigation-small-box .mobile-nav-auth-link--login {
        margin-top: 0.8rem;
        border-top: 1px solid #dfe4eb;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-qa-page *,
    .pt-qa-page *::before,
    .pt-qa-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Document navigation is sourced from the CMS default navigation group. */
.header-nav .navigation-default .navigation-box .navs .docs-navigation-item:hover > .docs-sub-nav,
.header-nav .navigation-default .navigation-box .navs .docs-navigation-item:focus-within > .docs-sub-nav {
    display: block;
}

.header-nav .navigation-default .navigation-box .navs .docs-navigation-item .docs-sub-nav {
    width: 20rem;
    min-width: 20rem;
    padding: 0.7rem 0;
    border: 1px solid #e4e9f0;
    border-top: 0;
    border-radius: 0;
    overflow: visible;
    box-shadow: 0 1rem 2.8rem rgba(23, 43, 77, 0.16);
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav a::before {
    content: none !important;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item {
    position: relative;
    min-width: 0;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item + .docs-sub-nav-item {
    border-top: 1px solid #edf1f5;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item > a {
    display: block;
    min-height: 0;
    padding: 1rem 1.6rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #555;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    box-shadow: inset 0 0 0 #2274ff;
    transition: color 160ms ease, box-shadow 160ms ease;
}

.header-nav .navigation-default .navigation-box .navs .docs-navigation-item .docs-sub-nav .docs-sub-nav-item > a:hover,
.header-nav .navigation-default .navigation-box .navs .docs-navigation-item .docs-sub-nav .docs-sub-nav-item > a:focus-visible {
    background: #fff;
    color: #2274ff;
    padding-left: 1.6rem;
    box-shadow: inset 3px 0 0 #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-navigation-item .docs-sub-nav .docs-sub-nav-item > a.is-current {
    background: #eef5ff;
    color: #2274ff;
    padding-left: 1.6rem;
    box-shadow: inset 3px 0 0 #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children)::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: -0.9rem;
    width: 0.9rem;
    height: 100%;
    content: "";
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) > a {
    padding: 1rem 1.6rem;
    border: 0;
    background: #fff;
    color: #344054;
    font-weight: 600;
    text-align: left;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) > a::after {
    display: inline-block;
    float: right;
    color: #98a2b3;
    content: "\203A";
    font-size: 1.4rem;
    font-weight: 400;
    transition: transform 160ms ease;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children):hover > a::after,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children):focus-within > a::after {
    color: #2274ff;
    transform: translateX(2px);
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) > a:hover,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) > a:focus-visible {
    background: #fff;
    color: #2274ff;
    padding-left: 1.6rem;
    box-shadow: inset 3px 0 0 #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children) > a.is-current {
    background: #eef5ff;
    color: #2274ff;
    padding-left: 1.6rem;
    box-shadow: inset 3px 0 0 #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:has(.docs-sub-nav-children a.is-current) > a {
    background: #eef5ff;
    color: #2274ff;
    padding-left: 1.6rem;
    box-shadow: inset 3px 0 0 #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children {
    display: none;
    position: absolute;
    z-index: 3;
    top: -0.7rem;
    left: calc(100% + 0.8rem);
    width: 22rem;
    min-width: 22rem;
    margin: 0;
    padding: 0.8rem 1rem 0.8rem 1.2rem;
    border: 1px solid #e4e9f0;
    border-left: 2px solid #c9dcfb;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 1.4rem 3.6rem rgba(23, 43, 77, 0.18);
    animation: docs-sub-nav-in 140ms ease-out both;
}

@keyframes docs-sub-nav-in {
    from { opacity: 0; transform: translateX(-4px); }
    to { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children {
        animation: none;
    }
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li {
    position: relative;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li::before {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: calc(-1.2rem - 2px);
    width: 2px;
    background: transparent;
    content: "";
    pointer-events: none;
    transition: background-color 160ms ease;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li:has(> a:hover)::before,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li:has(> a:focus-visible)::before,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li:has(> a.is-current)::before {
    background: #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:hover > .docs-sub-nav-children,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav .docs-sub-nav-item:focus-within > .docs-sub-nav-children {
    display: block;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children a {
    display: block;
    min-height: 0;
    padding: 1rem 1.2rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #6b7280;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
    transition: background-color 160ms ease, color 160ms ease;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children > li + li {
    border-top: 1px solid #f0f3f7;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children a:hover,
.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children a:focus-visible {
    background: transparent;
    color: #2274ff;
}

.header-nav .navigation-default .navigation-box .navs .docs-sub-nav-children a.is-current {
    background: #eaf2ff;
    color: #2274ff;
}

#navigation-small-box .docs-mobile-subnav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    padding: 0 0 1rem 1rem;
}

#navigation-small-box .docs-mobile-subnav-link {
    min-width: 0;
    padding: 0.8rem 1rem;
    border-radius: 0.3rem;
    color: #555;
    font-size: 1.4rem;
}

#navigation-small-box .docs-mobile-subnav-link:hover,
#navigation-small-box .docs-mobile-subnav-link:focus-visible {
    background: #f3f7ff;
    color: #2274ff;
}

#navigation-small-box .docs-mobile-subnav-child {
    padding-left: 2rem;
    color: #777;
    font-size: 1.3rem;
}

@media (max-width: 575.98px) {
    #navigation-small-box .docs-mobile-subnav {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Bug 反馈页面使用独立语义变量，避免影响应用详情和账户中心的其他模块。 */
.pt-bug-feedback-page,
.pt-account-bug-reports {
    --pt-bug-accent: #2274ff;
    --pt-bug-accent-soft: #eef5ff;
    --pt-bug-text: #20252c;
    --pt-bug-muted: #5f6b7a;
    --pt-bug-border: #dfe5ec;
    --pt-bug-surface: #fff;
    --pt-bug-warning: #a65b00;
    --pt-bug-success: #137547;
}

.pt-bug-feedback-page {
    --pt-account-theme: #2274ff;
    --pt-account-theme-soft: #eef5ff;
    min-height: 65vh;
    padding: 4rem 0 7rem;
    background: #f5f7fa;
    color: var(--pt-bug-text);
}

.pt-bug-feedback-header {
    margin-bottom: 2.4rem;
}

.pt-bug-feedback-header > div {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 1.6rem;
    color: var(--pt-bug-muted);
    font-size: 1.3rem;
}

.pt-bug-feedback-header > div a {
    color: var(--pt-bug-accent);
}

.pt-bug-feedback-header h1 {
    margin: 0;
    color: var(--pt-bug-text);
    font-size: 3rem;
    line-height: 1.25;
    letter-spacing: 0;
}

.pt-bug-feedback-header > p {
    margin: 0.8rem 0 0;
    color: var(--pt-bug-muted);
    font-size: 1.5rem;
}

.pt-bug-feedback-layout {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(28rem, 34rem);
    gap: 2rem;
}

.pt-bug-feedback-form,
.pt-bug-feedback-context {
    border: 1px solid var(--pt-bug-border);
    border-radius: 0.4rem;
    background: var(--pt-bug-surface);
}

.pt-bug-feedback-form {
    padding: 2.4rem;
}

.pt-bug-feedback-form > h2,
.pt-bug-feedback-context h2 {
    margin: 0;
    color: var(--pt-bug-text);
    letter-spacing: 0;
}

.pt-bug-feedback-form > h2 {
    padding-bottom: 1.8rem;
    border-bottom: 1px solid var(--pt-bug-border);
    font-size: 2rem;
}

.pt-bug-feedback-form form {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

.pt-bug-feedback-error {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin: 0;
    padding: 1rem 1.2rem;
    border: 1px solid #efc1bd;
    border-radius: 0.4rem;
    background: #fff3f2;
    color: #9f241b;
    font-size: 1.3rem;
    line-height: 1.6;
}

.pt-bug-feedback-field {
    display: grid;
    gap: 0.8rem;
}

.pt-bug-feedback-field label {
    color: var(--pt-bug-text);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-bug-feedback-field label span,
.pt-bug-feedback-field small {
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
    font-weight: 400;
}

.pt-bug-feedback-field input,
.pt-bug-feedback-field select,
.pt-bug-feedback-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #cfd8e3;
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-bug-text);
    font-size: 1.4rem;
    line-height: 1.5;
}

.pt-bug-feedback-field input,
.pt-bug-feedback-field select {
    min-height: 4.4rem;
    padding: 0 1.2rem;
}

.pt-bug-feedback-field input[type="file"] {
    height: auto;
    padding: 0.8rem;
}

.pt-bug-feedback-field input[type="file"]::file-selector-button {
    margin-right: 1rem;
    padding: 0.7rem 1rem;
    border: 1px solid #c8d5e5;
    border-radius: 0.3rem;
    background: #f4f7fb;
    color: #344256;
    cursor: pointer;
}

.pt-bug-feedback-field textarea {
    min-height: 11rem;
    padding: 1rem 1.2rem;
    resize: vertical;
}

.pt-bug-feedback-field input:focus-visible,
.pt-bug-feedback-field select:focus-visible,
.pt-bug-feedback-field textarea:focus-visible,
.pt-bug-report-toolbar input:focus-visible,
.pt-bug-report-toolbar select:focus-visible {
    border-color: var(--pt-bug-accent);
    outline: 2px solid rgb(34 116 255 / 18%);
    outline-offset: 1px;
}

.pt-bug-feedback-actions {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 0.4rem;
}

.pt-bug-feedback-context {
    position: sticky;
    top: 2rem;
    padding: 2.2rem;
}

.pt-bug-feedback-context > span {
    display: block;
    margin-bottom: 0.6rem;
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-feedback-context h2 {
    overflow-wrap: anywhere;
    font-size: 2rem;
    line-height: 1.4;
}

.pt-bug-feedback-context dl {
    margin: 2rem 0;
    border-top: 1px solid var(--pt-bug-border);
}

.pt-bug-feedback-context dl > div {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.2rem 0;
    border-bottom: 1px solid var(--pt-bug-border);
    font-size: 1.3rem;
}

.pt-bug-feedback-context dt {
    color: var(--pt-bug-muted);
}

.pt-bug-feedback-context dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--pt-bug-text);
    text-align: right;
}

.pt-bug-feedback-context > p {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin: 0;
    padding: 1.2rem;
    border: 1px solid #cfe0f8;
    border-radius: 0.4rem;
    background: var(--pt-bug-accent-soft);
    color: #31547d;
    font-size: 1.3rem;
    line-height: 1.6;
}

.pt-bug-report-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
}

.pt-bug-report-toolbar h2 {
    margin: 0;
    font-size: 1.8rem;
    letter-spacing: 0;
}

.pt-bug-report-toolbar form {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pt-bug-report-toolbar form label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.pt-bug-report-toolbar input,
.pt-bug-report-toolbar select {
    min-height: 3.8rem;
    border: 1px solid var(--pt-bug-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-bug-text);
    font-size: 1.3rem;
}

.pt-bug-report-toolbar input {
    width: min(24rem, 32vw);
    padding: 0 1rem;
}

.pt-bug-report-toolbar select {
    min-width: 12rem;
    padding: 0 2.8rem 0 1rem;
}

.pt-bug-report-list article {
    position: relative;
    padding: 2rem;
    border-bottom: 1px solid var(--pt-bug-border);
}

.pt-bug-report-list article:last-child {
    border-bottom: 0;
}

.pt-bug-report-list__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.6rem;
}

.pt-bug-report-list__heading > div > span {
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-report-list__heading h2 {
    margin: 0.4rem 0 0;
    overflow-wrap: anywhere;
    font-size: 1.7rem;
    line-height: 1.45;
    letter-spacing: 0;
}

.pt-bug-report-list__heading h2 a {
    color: var(--pt-bug-text);
}

.pt-bug-report-list__heading h2 a:hover {
    color: var(--pt-bug-accent);
}

.pt-bug-report-list__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
    margin-top: 1rem;
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-report-list article > p {
    margin: 1.2rem 0;
    color: #465263;
    font-size: 1.35rem;
    line-height: 1.7;
}

.pt-bug-status {
    display: inline-flex;
    min-height: 2.6rem;
    flex: 0 0 auto;
    align-items: center;
    padding: 0.3rem 0.8rem;
    border: 1px solid #c8d2df;
    border-radius: 999px;
    background: #f4f6f8;
    color: #455468;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.4;
}

.pt-bug-status--pending {
    border-color: #f0cf9e;
    background: #fff7e9;
    color: var(--pt-bug-warning);
}

.pt-bug-status--processing {
    border-color: #bfd5f4;
    background: var(--pt-bug-accent-soft);
    color: #1457a6;
}

.pt-bug-status--resolved {
    border-color: #abd9c3;
    background: #edf9f3;
    color: var(--pt-bug-success);
}

.pt-bug-report-detail > .pt-account-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
}

.pt-bug-report-detail > .pt-account-panel__header h2 {
    margin: 0;
    font-size: 1.8rem;
    letter-spacing: 0;
}

.pt-bug-report-detail > .pt-account-panel__header div > span {
    display: block;
    margin-top: 0.4rem;
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-report-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 2.4rem 2rem;
    border-bottom: 1px solid var(--pt-bug-border);
}

.pt-bug-report-progress > div {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.8rem;
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-report-progress > div::before,
.pt-bug-report-progress > div::after {
    position: absolute;
    top: 0.7rem;
    width: 50%;
    height: 2px;
    background: #dce2e9;
    content: "";
}

.pt-bug-report-progress > div::before {
    left: 0;
}

.pt-bug-report-progress > div::after {
    right: 0;
}

.pt-bug-report-progress > div:first-child::before,
.pt-bug-report-progress > div:last-child::after {
    display: none;
}

.pt-bug-report-progress i {
    position: relative;
    z-index: 1;
    width: 1.6rem;
    height: 1.6rem;
    border: 3px solid #dce2e9;
    border-radius: 50%;
    background: #fff;
}

.pt-bug-report-progress > .is-active {
    color: #1457a6;
    font-weight: 600;
}

.pt-bug-report-progress > .is-active::before,
.pt-bug-report-progress > .is-active::after {
    background: #8cb8ef;
}

.pt-bug-report-progress > .is-active i {
    border-color: var(--pt-bug-accent);
}

.pt-bug-report-reply {
    margin: 2rem;
    padding: 1.6rem;
    border-left: 3px solid var(--pt-bug-accent);
    background: var(--pt-bug-accent-soft);
}

.pt-bug-report-reply h2,
.pt-bug-report-content h2,
.pt-bug-report-attachments h2 {
    margin: 0;
    color: var(--pt-bug-text);
    font-size: 1.5rem;
    letter-spacing: 0;
}

.pt-bug-report-reply p,
.pt-bug-report-content p {
    margin: 0.8rem 0 0;
    overflow-wrap: anywhere;
    color: #344256;
    font-size: 1.35rem;
    line-height: 1.75;
    white-space: pre-wrap;
}

.pt-bug-report-reply time {
    display: block;
    margin-top: 0.8rem;
    color: var(--pt-bug-muted);
    font-size: 1.2rem;
}

.pt-bug-report-content {
    padding: 0 2rem;
}

.pt-bug-report-content section {
    padding: 2rem 0;
    border-bottom: 1px solid var(--pt-bug-border);
}

.pt-bug-report-attachments {
    padding: 2rem;
}

.pt-bug-report-attachments > h2 span {
    color: var(--pt-bug-muted);
    font-weight: 400;
}

.pt-bug-report-attachments > p {
    margin: 1.2rem 0 0;
    color: var(--pt-bug-muted);
}

.pt-bug-report-attachments ul {
    display: grid;
    gap: 0.8rem;
    margin: 1.2rem 0 0;
    padding: 0;
}

.pt-bug-report-attachments li {
    display: grid;
    align-items: center;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border: 1px solid var(--pt-bug-border);
    border-radius: 0.4rem;
    background: #fafbfd;
}

.pt-bug-report-attachments li > .iconfont {
    color: var(--pt-bug-accent);
    font-size: 2rem;
}

.pt-bug-report-attachments li div {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.pt-bug-report-attachments li strong {
    overflow: hidden;
    color: var(--pt-bug-text);
    font-size: 1.3rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-bug-report-attachments li span {
    color: var(--pt-bug-muted);
    font-size: 1.1rem;
}

.pt-bug-report-attachments li a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--pt-bug-accent);
    font-size: 1.3rem;
}

@media (max-width: 767px) {
    .pt-bug-feedback-page {
        padding: 2.4rem 0 5rem;
    }

    .pt-bug-feedback-header h1 {
        font-size: 2.5rem;
    }

    .pt-bug-feedback-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-bug-feedback-form,
    .pt-bug-feedback-context {
        padding: 1.6rem;
    }

    .pt-bug-feedback-context {
        position: static;
    }

    .pt-bug-feedback-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-bug-feedback-actions .pt-account-button {
        justify-content: center;
    }

    .pt-bug-report-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .pt-bug-report-toolbar form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-bug-report-toolbar input,
    .pt-bug-report-toolbar select {
        width: 100%;
    }

    .pt-bug-report-list__heading {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 0.8rem;
    }

    .pt-bug-report-detail > .pt-account-panel__header {
        align-items: flex-start;
        flex-direction: column-reverse;
    }

    .pt-bug-report-progress {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .pt-bug-report-reply {
        margin: 1.6rem;
    }

    .pt-bug-report-content {
        padding: 0 1.6rem;
    }

    .pt-bug-report-attachments {
        padding: 1.6rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-bug-feedback-page *,
    .pt-account-bug-reports * {
        transition-duration: 0.01ms !important;
    }
}

.header-nav .navigation-default .navigation-box .navs .item.active > a {
    background: rgba(255, 255, 255, 0.12);
}

.header-nav .navigation-default .navigation-box .navs .item.active > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    border-bottom: 2px solid #fff;
    background: #fff;
}

.header-nav .navigation-default .person-nav .person-navs form,
.header-nav .navigation-default .person-nav .person-navs button {
    width: 100%;
}

.header-nav .navigation-default .person-nav .person-navs form {
    margin: 0;
}

.header-nav .navigation-default .person-nav .person-navs .item button {
    display: block;
    padding: 1rem 2rem;
    border: 0;
    background: transparent;
    color: #777;
    font: inherit;
    text-align: center;
    cursor: pointer;
}

.header-nav .navigation-default .person-nav .person-navs .item button:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #2274ff;
}

.header-nav .navigation-default .person-nav .person-navs .item a:focus-visible,
.header-nav .navigation-default .person-nav .person-navs .item button:focus-visible {
    outline: 2px solid #2274ff;
    outline-offset: -2px;
    background: rgba(0, 0, 0, 0.1);
    color: #2274ff;
}

.header-nav .navigation-default .person-nav .person-navs .item button .iconfont {
    margin-right: 0.5rem;
}

.navigation-small .menu-btn {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    gap: 0.6rem;
    border: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.navigation-small .menu-btn .iconfont {
    font-size: 2rem;
}

.navigation-small .menu-btn .label {
    color: #fff;
    font-size: 1.6rem;
}

#navigation-small-box {
    display: block;
    position: fixed;
    top: 6rem;
    left: 0;
    right: 0;
    z-index: 9998;
    max-height: calc(100vh - 6rem);
    overflow: auto;
    background: #fff;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
}

#navigation-small-box .navigation-small-box {
    margin: 0;
    padding: 0.6rem 1.5rem;
}

#navigation-small-box .navigation-small-box > .item {
    border-bottom: 1px solid #f0f2f5;
}

#navigation-small-box .navigation-small-box > .item:last-child {
    border-bottom: 0;
}

#navigation-small-box .navigation-small-box .link {
    display: block;
    min-height: 4.8rem;
    color: #333;
    font-size: 1.5rem;
    line-height: 4.8rem;
}

#navigation-small-box[hidden] {
    display: none;
}

.layui-btn {
    display: inline-block;
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 0.8rem 1.8rem;
    color: #fff;
    line-height: 1.2;
    text-align: center;
}

.layui-btn:hover {
    color: #fff;
    opacity: 0.85;
}

.layui-btn-primary {
    border-color: #dcdfe6;
    background: #fff;
    color: #333;
}

.layui-btn-primary:hover {
    color: #2274ff;
}

.layui-badge {
    display: inline-block;
    min-width: 10px;
    padding: 0.2rem 0.6rem;
    border-radius: 2px;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.4;
}

.layui-bg-blue,
.badge.bg-primary {
    background: #048fff !important;
}

.layui-layer.pt-site-message {
    border: 1px solid #dfe4ea;
    border-radius: 0.4rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(25, 35, 50, 0.18);
}

.layui-layer.pt-site-message .layui-layer-content {
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 2rem;
    cursor: pointer;
    user-select: none;
}

.pt-checkbox input {
    width: 1.4rem;
    height: 1.4rem;
    accent-color: #2274ff;
}

.pt-rate {
    color: #ffb800;
    font-size: 1.5rem;
    letter-spacing: 0;
    white-space: nowrap;
}

.ptadmin-addon-market .addon-content .image .pt-application-cover--ptcms {
    padding: 2rem 5rem;
    object-fit: contain;
}

.button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: var(--market-radius, 4px);
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.button--primary {
    border-color: var(--market-theme, #2274ff);
    background: var(--market-theme, #2274ff);
    color: #fff;
}

.button--secondary {
    border-color: var(--market-border, #dee2e6);
    background: var(--market-surface, #fff);
    color: var(--market-text, #333);
}

.button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.form-field input[type="text"],
.form-field input[type="password"],
.form-field input[type="tel"],
.form-field input[type="email"],
.form-field input[type="search"],
.form-field input[type="number"],
.form-field select,
.form-field textarea,
.password-input input[type="password"],
.password-input input[type="text"],
.domain-form input,
.payment-options input[type="radio"],
.checkout-payment input[type="text"] {
    border: 1px solid var(--market-border, #d8dfda);
}

.form-field input[type="text"],
.form-field input[type="password"],
.form-field input[type="tel"],
.form-field input[type="email"],
.form-field input[type="search"],
.form-field input[type="number"],
.form-field select,
.form-field textarea,
.password-input input[type="password"],
.password-input input[type="text"],
.domain-form input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    background: #fff;
    color: var(--market-text, #333);
    font: inherit;
}

.form-field input[type="file"] {
    display: block;
    width: 100%;
    min-height: 4.6rem;
    padding: 0.8rem;
    border: 1px solid var(--market-border, #d8dfda);
    border-radius: var(--market-radius, 0.5rem);
    background: #fff;
    color: var(--market-text, #333);
    font: inherit;
}

.form-field input[type="file"]::file-selector-button {
    min-height: 3.2rem;
    margin-right: 1.2rem;
    padding: 0.6rem 1.2rem;
    border: 1px solid var(--market-border, #d8dfda);
    border-radius: 0.4rem;
    background: #f5f7fa;
    color: var(--market-text, #333);
    font: inherit;
    cursor: pointer;
}

.form-field select {
    padding-right: 3.6rem;
    border-radius: var(--market-radius, 0.5rem);
    background-color: #fff;
}

.form-field select:focus-visible,
.form-field input[type="file"]:focus-visible {
    border-color: var(--pt-account-theme, #2274ff);
    outline: 2px solid rgba(34, 116, 255, 0.18);
    outline-offset: 1px;
}

.form-field textarea {
    min-height: 11.2rem;
    resize: vertical;
}

.password-input button {
    border: 1px solid var(--market-border, #d8dfda);
    border-left: 0;
}

.auth-page,
.account-heading,
.checkout-content,
.account-content,
.settings-page,
.settings-content,
.order-content,
.addon-detail {
    margin-top: 6rem;
}

.account-heading + .checkout-content,
.account-heading + .account-content,
.account-heading + .settings-content,
.account-heading + .order-content {
    margin-top: 0;
}

.account-heading__inner {
    min-height: 16rem;
}

.account-table {
    table-layout: auto;
}

.account-table th,
.account-table td {
    min-width: 10rem;
}

.account-table th:first-child,
.account-table td:first-child {
    min-width: 16rem;
}

.account-inline-action {
    min-width: 7.2rem;
    white-space: nowrap;
}

.home-banner .layui-carousel [carousel-item] {
    height: 100%;
    overflow: hidden;
}

.home-banner .layui-carousel .banner-item {
    height: 100%;
}

.not_cover {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #0d6efd;
    font-size: 4rem;
    font-weight: 700;
}

.pt-application-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #071c33;
}

.ptadmin-addon-market .addon-content .image {
    padding-top: 46%;
    border-radius: 0;
    background: #f8fafd;
}

.ptadmin-addon-market .addon-content .image .pt-application-cover {
    position: absolute;
    inset: 0;
    border-radius: 0;
    background: #f8fafd;
    transition: none;
}

.ptadmin-addon-market .addon-content:hover .image .pt-application-cover {
    transform: none;
}

.ptadmin-addon-market .addon-content {
    display: flex;
    flex-direction: column;
    transition: none;
}

.ptadmin-addon-market .addon-content:hover {
    transform: none;
}

.ptadmin-addon-market .addon-content .introduce {
    display: grid;
    min-height: 9.6rem;
    flex: 1;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    column-gap: 1.2rem;
    row-gap: 1rem;
    align-content: center;
    padding: 1.4rem 1.6rem 1.5rem;
    border-top: 0.5px solid #f4f6f9;
    border-radius: 0;
}

.ptadmin-addon-market .addon-content .introduce .title {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

.ptadmin-addon-market .addon-content:hover .introduce .title {
    color: #2274ff;
}

.ptadmin-addon-market .addon-content .introduce .author-box {
    display: contents;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.ptadmin-addon-market .addon-content .introduce .author-box .author {
    display: inline-flex;
    min-width: 0;
    align-self: center;
    align-items: center;
    grid-column: 1;
    grid-row: 2;
    gap: 0.5rem;
    padding-right: 0;
}

.ptadmin-addon-market .addon-content .introduce .author-box .author .iconfont {
    flex: 0 0 auto;
    font-size: 1.6rem;
    line-height: 1;
}

.ptadmin-addon-market .addon-content .introduce .author-box .download {
    align-self: center;
    grid-column: 2;
    grid-row: 1;
}

.ptadmin-addon-market .addon-content .introduce .rate-box {
    display: flex;
    width: 100%;
    align-self: center;
    grid-column: 1 / -1;
    grid-row: 3;
    justify-content: flex-end;
    align-items: center;
    gap: .8rem;
    margin: 0;
    padding: 0;
    border-top: 0;
}

.ptadmin-addon-market .addon-content .introduce .rate-box .pt-rate {
    width: 7rem;
    max-width: 7rem;
    flex: 0 0 7rem;
    overflow: hidden;
}

.ptadmin-addon-market .addon-content .introduce .rate-box .price {
    margin-left: auto;
    white-space: nowrap;
}

.ptadmin-addon-market .addon-content .introduce .rate-box .price {
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
}

.plugin-market .results-heading {
    margin-top: 2rem;
    color: #7c8795;
    font-size: 1.4rem;
}

.plugin-market .results-heading + .plugins {
    margin-top: 1.2rem;
}

.plugin-detail .plugin-detail-box .recommend .recommend_box .img .pt-application-cover {
    width: 7.2rem;
    height: 4.6rem;
    flex: 0 0 auto;
    border-radius: 2px;
}

.home-template-market-content .home-template {
    display: block;
}

.home-template-market-content .home-template .image {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 56.25% 0 0;
}

.home-template-market-content .home-template .image .pt-application-cover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: transform 0.3s ease;
}

.home-template-market-content .home-template:hover .image .pt-application-cover {
    transform: scale(1.025);
}

.home-template-market-content .home-template .introduce {
    display: flex;
    flex-direction: column;
    min-height: 13rem;
}

.home-template-market-content .home-template .introduce .author-box {
    min-width: 0;
    gap: 1rem;
}

.home-template-market-content .home-template .introduce .author-box .author {
    min-width: 0;
}

.home-template-market-content .home-template .introduce .rate-box {
    position: static;
    width: auto;
    margin-top: auto;
    padding-top: 1rem;
    gap: 1rem;
    border-top: 1px solid #f8f8f8;
}

.home-template-market-content .home-template .introduce .rate-box .price {
    flex-shrink: 0;
    white-space: nowrap;
}

.template-market .templates .content .image,
.template-detail .template-detail-box .templates .content .image {
    overflow: hidden;
    padding-top: 56.25%;
}

.template-market .templates .content .image .pt-application-cover,
.template-detail .template-detail-box .templates .content .image .pt-application-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    transition: transform 0.3s ease;
    transform: none;
}

.template-market .templates .content:hover .image .pt-application-cover,
.template-detail .template-detail-box .templates .content:hover .image .pt-application-cover {
    transform: scale(1.025);
}

.template-market .templates .content .image {
    border: 0;
    background: #fff;
}

.template-market .templates .content .image .tags {
    position: absolute;
    z-index: 2;
    top: 1.2rem;
    left: 1.2rem;
    display: flex;
    width: auto;
    gap: 0.6rem;
    margin: 0;
}

.template-market .templates .content .image .tags .layui-badge {
    height: 2.2rem;
    padding: 0 0.8rem;
    line-height: 2.2rem;
}

.template-market .templates .content .introduce {
    display: grid;
    min-height: 9.6rem;
    align-content: center;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 1.2rem;
    row-gap: 1rem;
    padding: 1.4rem 1.6rem 1.5rem;
    border: 0;
    background: #f8fafd;
}

.template-market .templates .content .introduce .title {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    transition: color 160ms ease;
}

.template-market .templates .content:hover .introduce .title,
.template-market .templates .content:focus-visible .introduce .title {
    color: #2274ff;
}

.template-market .templates .content .introduce .author-box {
    display: contents;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.template-market .templates .content .introduce .author {
    display: inline-flex;
    min-width: 0;
    align-self: center;
    align-items: center;
    grid-column: 1;
    grid-row: 2;
    gap: 0.5rem;
    padding: 0;
}

.template-market .templates .content .introduce .author .iconfont {
    flex: 0 0 auto;
    font-size: 1.6rem;
    line-height: 1;
}

.template-market .templates .content .introduce .download {
    align-self: center;
    justify-self: end;
    grid-column: 2;
    grid-row: 1;
}

.template-market .templates .content .introduce .rate-box {
    width: auto;
    align-self: center;
    grid-column: 2;
    grid-row: 2;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    border: 0;
}

.template-market .templates .content .introduce .rate-box .price {
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
}

.template-detail .template-detail-box .template-detail-top .image .pt-application-cover {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    max-height: 40rem;
}

.home-banner .look-more {
    margin-bottom: 0;
}

.home-banner .look-more .btn {
    border-color: #fff;
    color: #fff;
}

.home-banner .look-more .btn:hover {
    background: #fff;
    color: #2274ff;
}

.results-heading {
    margin: 2rem 0 0;
    color: #777;
    text-align: right;
}

.results-heading h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.price .price,
.price .price-note {
    color: inherit;
}

.form-alert {
    margin-bottom: 2rem;
    padding: 1rem 1.5rem;
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns a + a {
    margin-left: 0.8rem;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns form,
.plugin-detail .plugin-detail-box .download .buttons form {
    margin: 0;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns a,
.template-detail .template-detail-box .template-detail-top .introduce-box .btns button {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.8rem 2rem;
    border: 1px solid #048fff;
    border-radius: 0.4rem;
    background: #048fff;
    color: #fff;
    font: inherit;
    font-size: 1.4rem;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns .is-secondary {
    border-color: #cfd8e5;
    background: #fff;
    color: #475569;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns a:hover,
.template-detail .template-detail-box .template-detail-top .introduce-box .btns button:hover {
    border-color: #2274ff;
    background: #2274ff;
    color: #fff;
    opacity: 1;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .btns a + a {
    margin-left: 0;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .detail .custom-tags .item {
    display: flex;
    min-width: 0;
}

.template-detail .template-detail-box .template-detail-top .introduce-box .detail .item .value,
.plugin-detail .plugin-detail-box .recommend .recommend_box .right .desc,
.q-and-a-box .article-lists-box .lists .item .link .specific .title {
    overflow-wrap: anywhere;
}

.plugin-detail .plugin-detail-box .download .btn,
.plugin-detail .plugin-detail-box .download .btn:hover {
    display: block;
    color: #fff;
    text-align: center;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns {
    flex-wrap: wrap;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy--secondary > a {
    border: 1px solid rgb(255 255 255 / 70%);
    background: transparent;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy--secondary > a:hover {
    border-color: #fff;
    background: rgb(255 255 255 / 12%);
}

.plugin-detail .plugin-detail-box .download .btn {
    border: 0;
}

.plugin-detail .plugin-detail-box .download .buttons {
    display: grid;
    gap: 1rem;
}

.plugin-detail .plugin-detail-box .download .buttons .btn {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-bottom: 0;
    cursor: pointer;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet {
    border: 1px solid #cfd8e5;
    background: #fff;
    color: #475569;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:hover {
    border-color: #2274ff;
    background: #f2f7ff;
    color: #2274ff;
    opacity: 1;
}

.plugin-detail .plugin-detail-box .detail,
.plugin-detail .plugin-detail-box .log,
.plugin-detail .plugin-detail-box .plugin_info,
.plugin-detail .plugin-detail-box .recommend,
.template-detail .template-detail-box .template-details,
.template-detail .template-detail-box .template-detail-bottom {
    min-width: 0;
}

.plugin-detail .plugin-detail-box .log .pt-market-release-badge {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    padding: 0.35rem 0.9rem;
    border: 1px solid #bfd5f4;
    border-radius: 0.4rem;
    background: #eef5ff;
    color: #1457a6;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

.pt-market-faq {
    margin-top: 2.4rem;
    overflow: hidden;
    border: 1px solid #e1e6ed;
    border-radius: 0.4rem;
    background: #fff;
}

.pt-market-faq > .title {
    display: flex;
    min-height: 5.8rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
    padding: 0 2rem;
    border-bottom: 1px solid #e1e6ed;
}

.pt-market-faq > .title .name {
    color: #20252c;
    font-size: 1.8rem;
    font-weight: 600;
}

.pt-market-faq > .title .name_desc {
    color: #8a929d;
    font-size: 1.3rem;
}

.pt-market-faq__list {
    padding: 0 2rem;
}

.pt-market-faq__list details + details {
    border-top: 1px solid #e8ecf1;
}

.pt-market-faq__list summary {
    position: relative;
    padding: 1.8rem 3rem 1.8rem 0;
    color: #303640;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
}

.pt-market-faq__list summary::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: "+";
    color: #6e7782;
    font-size: 2rem;
    font-weight: 400;
    transform: translateY(-50%);
}

.pt-market-faq__list details[open] summary::after {
    content: "-";
}

.pt-market-faq__list details > div {
    padding: 0 3rem 1.8rem 0;
    color: #666f7a;
    font-size: 1.4rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.pt-template-market-faq {
    margin-top: 3rem;
}

.body-center.template-detail {
    display: block;
    gap: 0;
    padding-top: 0;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .title,
.template-detail .template-detail-banner .template_banner_box .title {
    overflow-wrap: anywhere;
}

.plugin_box_nav,
.template_box_nav {
    padding: 2rem 0;
    border-bottom: 0;
    background: #fff;
    box-shadow: none;
}

@media (min-width: 992px) {
    .body-center.template > .template-market {
        padding-top: 0;
    }
}

.plugin_box_nav .main,
.template_box_nav .main {
    margin-bottom: 0.4rem;
}

.plugin_box_nav .main:last-child,
.template_box_nav .main:last-child {
    margin-bottom: 0;
}

.plugin_box_nav .main .content,
.template_box_nav .main .content,
.plugin-market .sort-box .sort-navs,
.template-market .sort-box .sort-navs {
    min-width: 0;
}

.plugin_box_nav .main .content,
.template_box_nav .main .content {
    min-height: 4rem;
    align-items: center;
    gap: 1.6rem;
    padding: 0 1.6rem;
}

.plugin_box_nav .main .content .title,
.template_box_nav .main .content .title {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 3.6rem;
    align-items: center;
    padding: 0;
    color: #667085;
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
}

.plugin_box_nav .main .content .title .text,
.template_box_nav .main .content .title .text {
    margin-right: 0;
    letter-spacing: 0;
}

.plugin_box_nav .main .content .links-box,
.template_box_nav .main .content .links-box,
.plugin-market .sort-box .sort-navs .links-box,
.template-market .sort-box .sort-navs .links-box {
    min-width: 0;
}

.plugin_box_nav .main .content .links-box,
.template_box_nav .main .content .links-box {
    flex-wrap: wrap;
    gap: 0.4rem 0.6rem;
}

.plugin_box_nav .main .content .links-box .item,
.template_box_nav .main .content .links-box .item {
    margin: 0;
}

.plugin_box_nav .main .content .links-box .item a,
.template_box_nav .main .content .links-box .item a {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    padding: 0.6rem 1.2rem;
    border-radius: 0;
    color: #3f4752;
    font-size: 1.4rem;
    text-decoration: none;
}

.plugin_box_nav .main .content .links-box .item:hover a,
.plugin_box_nav .main .content .links-box .item a:focus-visible,
.plugin_box_nav .main .content .links-box .active a,
.template_box_nav .main .content .links-box .item:hover a,
.template_box_nav .main .content .links-box .item a:focus-visible,
.template_box_nav .main .content .links-box .active a {
    color: #2274ff;
    background: #eef5ff;
}

.plugin-market .sort-box .sort-navs .links-box,
.template-market .sort-box .sort-navs .links-box {
    gap: 0.4rem 0.6rem;
}

.plugin-market .sort-box .sort-navs .links-box .item,
.template-market .sort-box .sort-navs .links-box .item {
    margin: 0;
}

.plugin-market .sort-box .sort-navs .links-box .item a,
.template-market .sort-box .sort-navs .links-box .item a {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    padding: 0.6rem 1.2rem;
    border-radius: 0;
    color: #3f4752;
    font-size: 1.4rem;
    text-decoration: none;
}

.plugin-market .sort-box .sort-navs .links-box .item:hover a,
.plugin-market .sort-box .sort-navs .links-box .item a:focus-visible,
.plugin-market .sort-box .sort-navs .links-box .active a,
.template-market .sort-box .sort-navs .links-box .item:hover a,
.template-market .sort-box .sort-navs .links-box .item a:focus-visible,
.template-market .sort-box .sort-navs .links-box .active a {
    color: #2274ff;
    background: #eef5ff;
}

.plugin-market .sort-box .search,
.template-market .sort-box .search {
    min-width: 24rem;
}

.plugin-market .sort-box .search .input-search,
.template-market .sort-box .search .input-search {
    width: 100%;
}

.plugin-market .sort-box .search .input-search,
.template-market .sort-box .search .input-search {
    align-items: stretch;
}

.plugin-market .sort-box .search .search-icon,
.template-market .sort-box .search .search-icon {
    align-self: stretch;
    border: 0;
}

.plugin-market .sort-box .search .addon-market-search__field,
.template-market .sort-box .search .template-market-search__field {
    position: relative;
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
}

.plugin-market .sort-box .search .input,
.template-market .sort-box .search .input {
    min-width: 0;
}

.plugin-market .sort-box .search .addon-market-search__field .input,
.template-market .sort-box .search .template-market-search__field .input {
    width: 100%;
    padding-right: 4.2rem;
}

.plugin-market .sort-box .search .addon-market-search__clear,
.template-market .sort-box .search .template-market-search__clear {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    display: inline-flex;
    width: 3.2rem;
    min-width: 3.2rem;
    height: 3.2rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    outline: 0;
    background: transparent;
    color: #2274ff;
    cursor: pointer;
}

.plugin-market .sort-box .search .addon-market-search__clear[hidden],
.template-market .sort-box .search .template-market-search__clear[hidden] {
    display: none;
}

.plugin-market .sort-box .search .addon-market-search__clear:hover,
.plugin-market .sort-box .search .addon-market-search__clear:focus,
.plugin-market .sort-box .search .addon-market-search__clear:focus-visible,
.plugin-market .sort-box .search .addon-market-search__clear:active,
.template-market .sort-box .search .template-market-search__clear:hover,
.template-market .sort-box .search .template-market-search__clear:focus,
.template-market .sort-box .search .template-market-search__clear:focus-visible,
.template-market .sort-box .search .template-market-search__clear:active {
    border: 0;
    outline: 0;
    background: transparent;
    color: #2274ff;
    box-shadow: none;
}

.plugin-market .sort-box .search .addon-market-search__clear .iconfont,
.template-market .sort-box .search .template-market-search__clear .iconfont {
    font-size: 1.6rem;
}

.plugin-market .sort-box .search .input:hover,
.plugin-market .sort-box .search .input:focus,
.plugin-market .sort-box .search .input:focus-visible,
.template-market .sort-box .search .input:hover,
.template-market .sort-box .search .input:focus,
.template-market .sort-box .search .input:focus-visible {
    border-color: #dee2e6;
    border-right: 0;
    outline: 0;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    .suspension {
        display: none;
    }

    .auth-page,
    .account-heading,
    .checkout-content,
    .account-content,
    .settings-page,
    .settings-content,
    .order-content,
    .addon-detail {
        margin-top: 6rem;
    }

    .template-detail .template-detail-box .template-detail-top .introduce-box .detail .custom-tags .item {
        width: 100%;
        margin-right: 0;
    }

    .plugin-market .sort-box .search,
    .template-market .sort-box .search {
        min-width: 0;
    }

    .plugin_box_nav .main .content,
    .template_box_nav .main .content {
        align-items: flex-start;
    }

    .plugin_box_nav .main .content .links-box,
    .template_box_nav .main .content .links-box {
        flex-wrap: wrap;
        overflow-x: visible;
    }

    .plugin-market .sort-box .sort-navs .links-box,
    .template-market .sort-box .sort-navs .links-box {
        flex-wrap: wrap;
        overflow-x: visible;
    }

    .plugin-detail .plugin-detail-box,
    .template-detail .template-detail-box {
        margin-top: 2rem;
    }
}

@media (max-width: 575.98px) {
    .template_box_nav .main .content .title,
    .plugin_box_nav .main .content .title {
        display: inline-flex;
        flex: 0 0 5.6rem;
        align-items: center;
        font-size: 1.4rem;
        white-space: nowrap;
    }

    .template_box_nav .main .content .title .text,
    .plugin_box_nav .main .content .title .text {
        margin-right: 0;
        letter-spacing: 0;
    }

    .template-market .sort-box,
    .plugin-market .sort-box {
        padding: 1.5rem;
    }

    .plugin-banner,
    .template-banner {
        padding: 5rem 0;
    }

    .plugin-banner .content,
    .template-banner .content {
        min-height: 18rem;
    }

    .plugin-banner .content .introduce .desc,
    .template-banner .content .introduce .desc,
    .plugin-detail .plugin-detail-banner .plugin_banner_box .desc,
    .template-detail .template-detail-banner .template_banner_box .desc {
        line-height: 2.4rem;
        text-indent: 0;
        text-align: left;
    }

    .account-heading__inner {
        min-height: 0;
        padding: 2.4rem 0;
    }

    .account-heading h1 {
        font-size: 2.8rem;
    }

    .account-table {
        min-width: 68rem;
    }

    .checkout-product,
    .checkout-payment,
    .order-step {
        padding: 1.8rem;
    }

    .template-detail .template-detail-box .template-detail-top {
        padding: 1.5rem;
    }

    .template-detail .template-detail-box .template-detail-top .image,
    .template-detail .template-detail-box .template-detail-swiper {
        max-height: none;
    }

    .q-and-a-box .article-lists-box .lists .item {
        align-items: flex-start;
    }

    .q-and-a-box .article-lists-box .lists .item .link .specific {
        display: block;
    }
}

/*
 * 官网账户中心。延续旧站个人中心的蓝色、浅灰底和白色工作区，
 * 仅在账户页面内定义变量，避免影响应用市场与问答页面。
 */
.pt-account-page {
    --pt-account-theme: #2274ff;
    --pt-account-theme-soft: #eef5ff;
    --pt-account-text-title: #333;
    --pt-account-text-body: #555;
    --pt-account-text-muted: #888;
    --pt-account-bg: #f0f2f5;
    --pt-account-surface: #fff;
    --pt-account-border: #e4e7ed;
    --pt-account-radius: 0.5rem;
    --pt-account-shadow: 0 0.8rem 2.4rem rgba(31, 43, 61, 0.05);
    /* 售后处理中状态，用于退款受理和渠道退款阶段。 */
    --pt-account-state-processing: #8a5a00;
    --pt-account-state-processing-soft: #fff8e8;
    /* 售后异常状态，用于退款失败和审核未通过。 */
    --pt-account-state-attention: #a12b1f;
    --pt-account-state-attention-soft: #fff1ef;
    /* 售后完成状态，用于已退款和部分退款后授权保留。 */
    --pt-account-state-success: #177542;
    --pt-account-state-success-soft: #edf8f1;
    min-height: 70vh;
    margin-top: 6rem;
    padding: 3rem 0 6rem;
    background: var(--pt-account-bg);
    color: var(--pt-account-text-body);
}

.pt-account-shell {
    display: grid;
    grid-template-columns: 20rem minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.pt-account-sidebar {
    position: sticky;
    top: 8rem;
    overflow: hidden;
    border-radius: var(--pt-account-radius);
    background: var(--pt-account-surface);
    box-shadow: var(--pt-account-shadow);
}

.pt-account-sidebar__profile {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.2rem;
    padding: 2rem;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-sidebar__profile img,
.pt-account-sidebar__profile .pt-user-avatar {
    width: 4.8rem;
    height: 4.8rem;
    flex: 0 0 4.8rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 50%;
    object-fit: cover;
}

.pt-account-sidebar__profile div {
    min-width: 0;
}

.pt-account-sidebar__profile strong,
.pt-account-sidebar__profile span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-sidebar__profile strong {
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
}

.pt-account-sidebar__profile span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-nav {
    padding: 1.2rem 0 1.6rem;
}

.pt-account-nav__group + .pt-account-nav__group {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-nav__group > p {
    margin: 0;
    padding: 0.6rem 2rem;
    color: #a2a8b1;
    font-size: 1.2rem;
}

.pt-account-nav a,
.pt-account-nav__logout button {
    position: relative;
    display: flex;
    min-height: 4.2rem;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 2rem;
    color: #666;
    font-size: 1.4rem;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease;
}

.pt-account-nav__logout {
    margin: 0;
}

.pt-account-nav__logout button {
    width: 100%;
    border: 0;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.pt-account-nav a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.2rem;
    background: transparent;
}

.pt-account-nav a:hover,
.pt-account-nav a:focus-visible,
.pt-account-nav a.is-active,
.pt-account-nav__logout button:hover,
.pt-account-nav__logout button:focus-visible {
    background: #f5f7fa;
    color: var(--pt-account-theme);
}

.pt-account-nav a.is-active::after {
    background: var(--pt-account-theme);
}

.pt-account-nav a:focus-visible,
.pt-account-nav__logout button:focus-visible,
.pt-account-button:focus-visible,
.pt-account-record__arrow:focus-visible,
.pt-account-panel a:focus-visible,
.pt-account-panel button:focus-visible,
.pt-account-history summary:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: -2px;
}

.pt-account-nav .iconfont {
    width: 1.8rem;
    flex: 0 0 1.8rem;
    color: #9299a2;
    font-size: 1.7rem;
    text-align: center;
}

.pt-account-nav a:hover .iconfont,
.pt-account-nav a:focus-visible .iconfont,
.pt-account-nav a.is-active .iconfont,
.pt-account-nav__logout button:hover .iconfont,
.pt-account-nav__logout button:focus-visible .iconfont {
    color: var(--pt-account-theme);
}

.pt-account-nav__badge {
    display: inline-flex;
    min-width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 0 0.6rem;
    border-radius: 1rem;
    background: #e54d42;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 2rem;
}

.pt-account-workspace {
    display: grid;
    min-width: 0;
    gap: 2rem;
}

.pt-account-panel,
.pt-account-profile,
.pt-account-overview,
.pt-account-page-title {
    min-width: 0;
    border-radius: var(--pt-account-radius);
    background: var(--pt-account-surface);
    box-shadow: var(--pt-account-shadow);
}

.pt-account-profile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: 2.4rem 2.8rem;
}

.pt-account-profile__avatar {
    width: 8rem;
    height: 8rem;
    border: 0.4rem solid #f2f5f8;
    border-radius: 50%;
    object-fit: cover;
}

.pt-account-profile__main {
    min-width: 0;
}

.pt-account-profile h1,
.pt-account-page-title h1 {
    margin: 0;
    color: var(--pt-account-text-title);
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.35;
}

.pt-account-profile__main > p {
    margin: 0.6rem 0 0;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.4rem;
}

.pt-account-identities {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.8rem;
}

.pt-account-profile__edit {
    min-height: 2.6rem;
    gap: 0.5rem;
    padding: 0.3rem 0.8rem;
    border-color: #dfe3e8;
    border-radius: 0.3rem;
    background: #f7f8fa;
    color: #666;
    font-size: 1.2rem;
    line-height: 1.4;
}

.pt-account-profile__edit .iconfont {
    font-size: 1.2rem;
}

.pt-account-identity {
    display: inline-flex;
    min-height: 2.6rem;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.8rem;
    border: 1px solid #dfe3e8;
    border-radius: 0.3rem;
    background: #f7f8fa;
    color: #666;
    font-size: 1.2rem;
}

.pt-account-identity--member {
    border-color: #f0d497;
    background: #fff9eb;
    color: #8a5a00;
}

.pt-account-identity--developer {
    border-color: #bfd5ff;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
}

.pt-account-profile__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 2rem;
    margin-top: 1.2rem;
    color: #777;
    font-size: 1.3rem;
}

.pt-account-profile__meta span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
    overflow-wrap: anywhere;
}

.pt-account-profile__meta .iconfont {
    color: #9aa1aa;
    font-size: 1.4rem;
}

.pt-account-button {
    display: inline-flex;
    min-height: 3.8rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.8rem 1.5rem;
    border: 1px solid transparent;
    border-radius: 0.4rem;
    background: var(--pt-account-theme);
    color: #fff;
    font: inherit;
    font-size: 1.4rem;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.pt-account-button:hover {
    background: #0f65f5;
    color: #fff;
}

.pt-account-button:disabled,
.pt-account-button:disabled:hover {
    border-color: #e1e5ea;
    background: #f4f5f7;
    color: #9299a3;
    cursor: not-allowed;
}

.pt-account-button--quiet {
    border-color: #d9e0e8;
    background: #fff;
    color: #555;
}

.pt-account-button--quiet:hover {
    border-color: var(--pt-account-theme);
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
}

.pt-account-button--danger {
    border-color: #b42318;
    background: #b42318;
    color: #fff;
}

.pt-account-button--danger:hover {
    border-color: #8f1c13;
    background: #8f1c13;
}

.pt-account-button--danger-quiet {
    border-color: #e3b5b1;
    background: #fff;
    color: #a51d14;
}

.pt-account-button--danger-quiet:hover {
    border-color: #b42318;
    background: #fff2f1;
    color: #8f1c13;
}

.pt-account-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    overflow: hidden;
}

.pt-account-overview--developer {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pt-account-overview > a {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.4rem;
    padding: 2rem 2.4rem;
    color: var(--pt-account-text-body);
    text-decoration: none;
    transition: background-color 180ms ease;
}

.pt-account-overview > a + a {
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-overview > a:hover,
.pt-account-overview > a:focus-visible {
    background: #f8faff;
}

.pt-account-overview > a:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: -2px;
}

.pt-account-overview > a > .iconfont:first-child {
    display: inline-flex;
    width: 4.2rem;
    height: 4.2rem;
    flex: 0 0 4.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 2rem;
}

.pt-account-overview > a > span,
.pt-account-overview small,
.pt-account-overview strong {
    min-width: 0;
    margin: 0;
}

.pt-account-overview > a > span {
    flex: 1;
}

.pt-account-overview small,
.pt-account-overview strong {
    display: block;
}

.pt-account-overview small {
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
    font-weight: 400;
}

.pt-account-overview strong {
    margin-top: 0.2rem;
    color: var(--pt-account-text-title);
    font-size: 2.2rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1.2;
}

.pt-account-overview > a > .iconfont:last-child {
    color: #a0a7b0;
    font-size: 1.3rem;
}

.pt-account-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(30rem, 0.92fr);
    gap: 2rem;
}

.pt-account-panel__header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 2rem 2.4rem 1.6rem;
}

.pt-account-panel__header--bordered {
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-panel h2 {
    padding: 0;
    text-align: left;
}

.pt-account-panel__header h2,
.pt-account-history h2 {
    margin: 0;
    color: var(--pt-account-text-title);
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.35;
}

.pt-account-panel__header > a,
.pt-account-panel__header > span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
    text-decoration: none;
    white-space: nowrap;
}

.pt-account-panel__header > a:hover {
    color: var(--pt-account-theme);
}

.pt-account-payment-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.2rem;
    margin-top: 1.2rem;
}

.pt-account-payment-action > span {
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-account-points {
    overflow: hidden;
    background: linear-gradient(110deg, #fff 0%, #fff 62%, #f3f7ff 100%);
}

.pt-account-points__balance {
    display: flex;
    align-items: baseline;
    padding: 0.4rem 2.4rem 1.8rem;
}

.pt-account-points__balance span {
    margin-right: 1.2rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-account-points__balance strong {
    color: var(--pt-account-theme);
    font-size: 3.6rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 1;
}

.pt-account-points__balance small {
    margin-left: 0.6rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-account-points__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 2.4rem;
    padding: 1.5rem 0 2rem;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-points__stats div + div {
    padding-left: 2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-points__stats dt,
.pt-account-points__stats dd {
    margin: 0;
}

.pt-account-points__stats dt {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-points__stats dd {
    margin-top: 0.4rem;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.pt-account-shortcuts nav {
    padding: 0 2.4rem 1rem;
}

.pt-account-shortcuts nav > a {
    display: grid;
    grid-template-columns: 3.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    min-height: 5.8rem;
    border-top: 1px solid var(--pt-account-border);
    color: var(--pt-account-text-body);
    text-decoration: none;
    transition: color 180ms ease;
}

.pt-account-shortcuts nav > a:hover {
    color: var(--pt-account-theme);
}

.pt-account-shortcuts--overview nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-bottom: 0;
}

.pt-account-shortcuts--overview nav > a {
    padding: 1.2rem 2rem;
    border-top: 0;
}

.pt-account-shortcuts--overview nav > a + a {
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-shortcuts nav > a > .iconfont:first-child {
    display: inline-flex;
    width: 3.4rem;
    height: 3.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f3f5f8;
    color: var(--pt-account-theme);
    font-size: 1.7rem;
}

.pt-account-shortcuts nav span,
.pt-account-shortcuts nav strong,
.pt-account-shortcuts nav small {
    display: block;
    min-width: 0;
}

.pt-account-shortcuts nav strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-account-shortcuts nav small {
    margin-top: 0.2rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-records,
.pt-account-point-records,
.pt-account-developers,
.pt-account-legacy-list {
    padding: 0 2.4rem;
}

.pt-account-list-filter {
    display: grid;
    grid-template-columns: minmax(20rem, 1fr) minmax(13rem, 18rem) auto;
    align-items: center;
    gap: 0.8rem;
    padding: 1.4rem 2.4rem;
    border-bottom: 1px solid var(--pt-account-border);
    background: #fafbfc;
}

.pt-account-list-filter--licenses {
    grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
}

.pt-account-list-filter__search,
.pt-account-list-filter__status {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
}

.pt-account-list-filter__search > .iconfont {
    position: absolute;
    top: 50%;
    left: 1.2rem;
    color: var(--pt-account-text-muted);
    font-size: 1.4rem;
    pointer-events: none;
    transform: translateY(-50%);
}

.pt-account-list-filter input,
.pt-account-list-filter select {
    width: 100%;
    min-height: 3.4rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-text-body);
    font: inherit;
    font-size: 1.3rem;
}

.pt-account-list-filter input {
    padding: 0.7rem 1.2rem 0.7rem 3.6rem;
}

.pt-account-list-filter select {
    padding: 0.7rem 3.2rem 0.7rem 1.2rem;
}

.pt-account-list-filter input::placeholder {
    color: #9299a3;
}

.pt-account-list-filter input:focus-visible,
.pt-account-list-filter select:focus-visible {
    border-color: var(--pt-account-theme);
    outline: 2px solid var(--pt-account-theme-soft);
    outline-offset: 1px;
}

.pt-account-list-filter__actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pt-account-record {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    min-width: 0;
    align-items: center;
    gap: 1.5rem;
    padding: 1.8rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-record:last-child,
.pt-account-point-records article:last-child,
.pt-account-developers article:last-child,
.pt-account-legacy-list article:last-child {
    border-bottom: 0;
}

.pt-account-record__icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-account-record__main {
    min-width: 0;
}

.pt-account-record__title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.pt-account-record__title .status-text--completed,
.pt-account-record--license .pt-account-record__title .status-text--active,
.pt-account-record--favorite .pt-account-record__title .status-text--published,
.pt-account-question-list__states .status-text--published,
.pt-account-question-list__states .status-text--solved,
.pt-account-followed-list__heading .status-text--published {
    border-color: #c7dcff;
    background: #eef5ff;
    color: #1d63d6;
}

.pt-account-record h3 {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.5rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-record__main > p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.4rem;
    margin: 0.6rem 0 0;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-record__main > p a {
    color: #6f7782;
    text-decoration: none;
}

.pt-account-record__main > p a:hover {
    color: var(--pt-account-theme);
}

.pt-account-record__amount {
    min-width: 14rem;
    text-align: right;
}

.pt-account-record__amount strong,
.pt-account-record__amount span {
    display: block;
}

.pt-account-record__amount strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.pt-account-record__amount span,
.pt-account-record__muted {
    margin-top: 0.4rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-record__amount .pt-account-record__after-sales {
    font-weight: 600;
}

.pt-account-record__after-sales--pending,
.pt-account-record__after-sales--processing {
    color: var(--pt-account-state-processing);
}

.pt-account-record__after-sales--failed {
    color: var(--pt-account-state-attention);
}

.pt-account-record__after-sales--succeeded {
    color: var(--pt-account-state-success);
}

.pt-account-record__arrow {
    display: inline-flex;
    width: 3.2rem;
    height: 3.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #a0a7b0;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease;
}

.pt-account-record__arrow:hover {
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
}

.pt-account-record--license {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.pt-account-license-groups {
    padding: 0 2.4rem;
}

.pt-account-license-group + .pt-account-license-group {
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-license-group__header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.6rem 0 0.4rem;
}

.pt-account-license-group__header h3,
.pt-account-license-group__header p {
    margin: 0;
}

.pt-account-license-group__header h3 {
    color: var(--pt-account-text-title);
    font-size: 1.45rem;
    font-weight: 600;
}

.pt-account-license-group__header p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.2rem;
    margin-top: 0.4rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-license-group__header > span {
    flex: 0 0 auto;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-record--favorite {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.pt-account-record--favorite h3 a {
    color: inherit;
    text-decoration: none;
}

.pt-account-record--favorite h3 a:hover,
.pt-account-record--favorite h3 a:focus-visible {
    color: var(--pt-account-theme);
}

.pt-account-record__actions {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-account-list-filter__actions .pt-account-button,
.pt-account-record__actions .pt-account-button {
    min-height: 3.4rem;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    font-size: 1.25rem;
}

.pt-account-record__actions form {
    margin: 0;
}

.pt-account-record__actions .pt-account-record__muted {
    margin-top: 0;
}

.pt-account-empty {
    display: flex;
    min-height: 11rem;
    align-items: center;
    gap: 1.6rem;
    margin: 0 2.4rem;
    padding: 2rem 0;
    color: var(--pt-account-text-muted);
}

.pt-account-empty > .iconfont {
    display: inline-flex;
    width: 5rem;
    height: 5rem;
    flex: 0 0 5rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f3f5f8;
    color: #aab1ba;
    font-size: 2.2rem;
}

.pt-account-empty div {
    min-width: 0;
    flex: 1;
}

.pt-account-empty strong,
.pt-account-empty p {
    display: block;
    margin: 0;
}

.pt-account-empty strong {
    color: #666;
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-account-empty p {
    margin-top: 0.5rem;
    font-size: 1.3rem;
}

.pt-account-empty > a {
    color: var(--pt-account-theme);
    font-size: 1.3rem;
    text-decoration: none;
    white-space: nowrap;
}

.pt-account-point-records article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 10rem;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-point-records article > div:first-child strong,
.pt-account-point-records article > div:first-child span,
.pt-account-point-records__value strong,
.pt-account-point-records__value span {
    display: block;
}

.pt-account-point-records article > div:first-child strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-account-point-records article > div:first-child span,
.pt-account-point-records time,
.pt-account-point-records__value span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-point-records__value {
    text-align: right;
}

.pt-account-point-records__value strong {
    font-size: 1.6rem;
}

.pt-account-point-records__value .amount-text--plus {
    color: var(--pt-account-theme);
}

.pt-account-history {
    overflow: hidden;
}

.pt-account-history summary {
    display: flex;
    min-height: 6.8rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.5rem 2.4rem;
    color: var(--pt-account-text-title);
    list-style: none;
    cursor: pointer;
}

.pt-account-history summary::-webkit-details-marker {
    display: none;
}

.pt-account-history summary > span {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 0.2rem 1rem;
}

.pt-account-history summary > span > .iconfont {
    grid-row: 1 / span 2;
    color: #9aa1aa;
    font-size: 2rem;
}

.pt-account-history summary strong {
    font-size: 1.5rem;
    font-weight: 600;
}

.pt-account-history summary small {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-history summary > .iconfont {
    color: #9aa1aa;
    transition: transform 180ms ease;
}

.pt-account-history[open] summary > .iconfont {
    transform: rotate(90deg);
}

.pt-account-history__content {
    display: grid;
    gap: 2.4rem;
    padding: 0 2.4rem 2.4rem;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-history__content section {
    padding-top: 2rem;
}

.pt-account-legacy-list {
    margin-top: 1rem;
    padding: 0;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-legacy-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 14rem;
    align-items: center;
    gap: 1.5rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-legacy-list article > div strong,
.pt-account-legacy-list article > div a,
.pt-account-legacy-list article > div span {
    display: block;
}

.pt-account-legacy-list article > div strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-account-legacy-list article > div a,
.pt-account-legacy-list article > div span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    text-decoration: none;
}

.pt-account-legacy-list article > strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 500;
    text-align: right;
}

.pt-account-legacy-list--panel {
    margin: 0 2.4rem;
}

.pt-account-pagination {
    display: flex;
    min-height: 6rem;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 1.2rem 2.4rem;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-pagination a,
.pt-account-pagination span {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.2rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    color: var(--pt-account-text-body);
    font-size: 1.3rem;
    text-decoration: none;
}

.pt-account-pagination a:hover,
.pt-account-pagination a:focus-visible {
    border-color: var(--pt-account-theme);
    color: var(--pt-account-theme);
}

.pt-account-pagination a:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: 2px;
}

.pt-account-pagination span {
    color: #a2a8b1;
}

.pt-account-pagination strong {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    font-weight: 400;
}

.pt-account-developers article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 1.6rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-developers article > .iconfont {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-account-developers h3,
.pt-account-developers p {
    margin: 0;
}

.pt-account-developers h3 {
    color: var(--pt-account-text-title);
    font-size: 1.5rem;
    font-weight: 600;
}

.pt-account-developers p {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2.4rem 2.8rem;
}

.pt-account-page-title span {
    display: block;
    margin-top: 0.6rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-account-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    align-items: start;
}

.pt-account-settings {
    padding: 2.4rem;
}

.pt-account-settings .settings-section__heading {
    margin-bottom: 2rem;
}

.pt-account-settings .password-input button {
    border: 0;
    box-shadow: none;
}

.pt-account-avatar-editor {
    display: grid;
    grid-template-columns: 7.2rem minmax(0, 1fr);
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-avatar-editor > img,
.pt-account-avatar-editor > .pt-user-avatar {
    width: 7.2rem;
    height: 7.2rem;
    border: 0.3rem solid #f0f3f7;
    border-radius: 50%;
    background: #f5f6f8;
    object-fit: cover;
}

.pt-account-avatar-editor__content {
    min-width: 0;
}

.pt-account-avatar-editor__content > .form-label {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--pt-account-text-title);
    font-size: 1.35rem;
    font-weight: 600;
}

.pt-account-avatar-editor__content > p:not(.form-error) {
    margin: 0;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-account-avatar-editor__actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}

.pt-account-avatar-editor__actions .pt-account-button {
    min-height: 3.4rem;
    padding: 0.5rem 1.1rem;
    font-size: 1.25rem;
}

.pt-account-avatar-editor__actions > span {
    min-width: 0;
    overflow: hidden;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-avatar-editor .form-error {
    margin: 0.8rem 0 0;
}

.pt-account-security .pt-account-panel__header > div {
    min-width: 0;
}

.pt-account-security .pt-account-panel__header > div > span {
    display: block;
    margin-top: 0.4rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-account-security__list {
    padding: 0 2.4rem;
}

.pt-account-security__item {
    min-width: 0;
    padding: 0;
}

.pt-account-security__item + .pt-account-security__item {
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-security__summary {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.4rem;
    padding: 2rem 0;
}

.pt-account-security__icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-account-security__identity,
.pt-account-security__identity > div {
    min-width: 0;
}

.pt-account-security__identity > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
}

.pt-account-security__identity strong,
.pt-account-security__identity p {
    margin: 0;
}

.pt-account-security__identity strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-account-security__identity p {
    margin-top: 0.4rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.25rem;
}

.pt-account-security__status {
    display: inline-flex;
    min-height: 2.2rem;
    align-items: center;
    padding: 0.2rem 0.7rem;
    border: 1px solid #d7dce2;
    border-radius: 0.3rem;
    background: #f5f6f8;
    color: #707782;
    font-size: 1.1rem;
    line-height: 1.4;
}

.pt-account-security__status.is-verified {
    border-color: #a8d6bd;
    background: #edf8f1;
    color: #135d3e;
}

.pt-account-security__availability {
    display: flex;
    align-items: center;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-security__verification {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin: 0 0 1.6rem 5.4rem;
    padding: 1.4rem 1.6rem;
    border: 1px solid #efd89e;
    border-radius: 0.4rem;
    background: #fffaf0;
}

.pt-account-security__verification.is-active {
    border-color: #bed4f8;
    background: #f7faff;
}

.pt-account-security__verification-copy {
    display: grid;
    min-width: 0;
    gap: 0.3rem;
}

.pt-account-security__verification-copy strong {
    color: var(--pt-account-text-title);
    font-size: 1.35rem;
    font-weight: 600;
}

.pt-account-security__verification-copy span {
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-account-security__verification > form,
.pt-account-security__verification-actions form {
    margin: 0;
}

.pt-account-security__verification > form {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.6rem;
}

.pt-account-security__verification > form .form-error {
    width: 100%;
    margin: 0;
    font-size: 1.2rem;
    text-align: right;
}

.pt-account-security__verification-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    gap: 0.8rem;
}

.pt-account-security__code {
    display: grid;
    grid-template-columns: 13rem auto;
    gap: 0.8rem;
}

.pt-account-security__code .form-error {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 1.2rem;
}

.pt-account-security__code input,
.pt-account-contact-change input:not([type="hidden"]) {
    width: 100%;
    min-width: 0;
    min-height: 3.8rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-text-body);
    font: inherit;
    font-size: 1.3rem;
}

.pt-account-security__code input:focus-visible,
.pt-account-contact-change input:focus-visible {
    border-color: var(--pt-account-theme);
    outline: 2px solid rgba(34, 116, 255, 0.18);
    outline-offset: 1px;
}

.pt-account-contact-change {
    margin-left: 5.4rem;
    border-top: 1px solid var(--pt-account-border);
}

.pt-account-contact-change summary {
    display: flex;
    min-width: 0;
    min-height: 6rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.3rem 0;
    color: var(--pt-account-text-body);
    list-style: none;
    cursor: pointer;
    transition: color 180ms ease;
}

.pt-account-contact-change summary::-webkit-details-marker {
    display: none;
}

.pt-account-contact-change summary > span {
    display: grid;
    min-width: 0;
    gap: 0.3rem;
}

.pt-account-contact-change summary strong {
    color: var(--pt-account-text-title);
    font-size: 1.35rem;
    font-weight: 600;
}

.pt-account-contact-change summary small {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
}

.pt-account-contact-change summary > .iconfont {
    flex: 0 0 auto;
    color: #9aa1aa;
    font-size: 1.2rem;
    transition: color 180ms ease, transform 180ms ease;
}

.pt-account-contact-change summary:hover,
.pt-account-contact-change summary:focus-visible,
.pt-account-contact-change[open] summary {
    color: var(--pt-account-theme);
}

.pt-account-contact-change summary:hover strong,
.pt-account-contact-change summary:focus-visible strong,
.pt-account-contact-change[open] summary strong,
.pt-account-contact-change summary:hover > .iconfont,
.pt-account-contact-change summary:focus-visible > .iconfont,
.pt-account-contact-change[open] summary > .iconfont {
    color: var(--pt-account-theme);
}

.pt-account-contact-change[open] summary > .iconfont {
    transform: rotate(90deg);
}

.pt-account-contact-change summary:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: 2px;
}

.pt-account-contact-change__body {
    display: grid;
    max-width: 58rem;
    gap: 1.6rem;
    padding: 0.4rem 0 2rem;
    text-align: left;
}

.pt-account-contact-change__heading {
    display: grid;
    gap: 0.4rem;
}

.pt-account-contact-change__heading strong {
    color: var(--pt-account-text-title);
    font-size: 1.45rem;
    font-weight: 600;
}

.pt-account-contact-change__heading span {
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-account-contact-change__send,
.pt-account-contact-change__verify {
    display: grid;
    gap: 0.7rem;
}

.pt-account-contact-change__send label,
.pt-account-contact-change__verify label {
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    font-weight: 400;
}

.pt-account-contact-change__send > div,
.pt-account-contact-change__verify > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
}

.pt-account-contact-change .form-error {
    margin: 0;
    font-size: 1.2rem;
}

.pt-account-contact-change__resend {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-contact-change__resend button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pt-account-theme);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
}

.pt-account-contact-change__resend button:hover,
.pt-account-contact-change__resend button:focus-visible {
    color: #0f65f5;
    text-decoration: underline;
}

.pt-account-security__unavailable {
    margin: 0 0 1.6rem 5.4rem;
    padding: 1.2rem 1.4rem;
    border-radius: 0.4rem;
    background: #f7f8fa;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

/* 联系方式概览保持紧凑，验证与更换表单由 Layui 操作层承载。 */
.pt-account-security__item {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.4rem;
    padding: 1.8rem 0;
}

.pt-account-security__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-account-security__actions .pt-account-button {
    min-height: 3.4rem;
    padding: 0.6rem 1.2rem;
    font-size: 1.3rem;
}

.layui-layer.pt-account-contact-layer {
    --pt-account-theme: #2274ff;
    --pt-account-theme-soft: #eef5ff;
    --pt-account-text-body: #555;
    --pt-account-border: #e4e7ed;
    --pt-account-contact-theme: #2274ff;
    --pt-account-contact-text: #333;
    --pt-account-contact-muted: #6f7782;
    --pt-account-contact-border: #dfe4ea;
    overflow: hidden;
    border: 1px solid var(--pt-account-contact-border);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1.6rem 4.8rem rgba(25, 35, 50, 0.2);
}

.layui-layer.pt-account-contact-layer .layui-layer-title {
    height: 5.2rem;
    padding: 0 5.2rem 0 2.2rem;
    border-bottom: 1px solid var(--pt-account-contact-border);
    background: #fff;
    color: var(--pt-account-contact-text);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 5.2rem;
}

.layui-layer.pt-account-contact-layer .layui-layer-setwin {
    top: 1.9rem;
    right: 2rem;
}

.pt-account-contact-dialog {
    padding: 2.2rem;
    color: var(--pt-account-contact-text);
}

.pt-account-contact-dialog__intro {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 1.8rem;
}

.pt-account-contact-dialog__intro strong {
    font-size: 1.45rem;
    font-weight: 600;
}

.pt-account-contact-dialog__intro span {
    overflow-wrap: anywhere;
    color: var(--pt-account-contact-muted);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-account-contact-dialog__form {
    display: grid;
    gap: 0.8rem;
}

.pt-account-contact-dialog__form > label {
    color: #555d68;
    font-size: 1.3rem;
    font-weight: 500;
}

.pt-account-contact-dialog__control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
}

.pt-account-contact-dialog__control input {
    width: 100%;
    min-width: 0;
    min-height: 4rem;
    padding: 0.8rem 1.1rem;
    border: 1px solid var(--pt-account-contact-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-contact-text);
    font: inherit;
    font-size: 1.35rem;
}

.pt-account-contact-dialog__control input:focus-visible {
    border-color: var(--pt-account-contact-theme);
    outline: 2px solid rgba(34, 116, 255, 0.18);
    outline-offset: 1px;
}

.pt-account-contact-dialog .form-error {
    margin: 0;
    font-size: 1.2rem;
}

.pt-account-contact-dialog__submit {
    display: flex;
    justify-content: flex-end;
    margin: 0;
}

.pt-account-contact-dialog__resend {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 1.4rem 0 0;
    color: var(--pt-account-contact-muted);
    font-size: 1.2rem;
}

.pt-account-contact-dialog__resend button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pt-account-contact-theme);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
}

.pt-account-contact-dialog__resend button:hover,
.pt-account-contact-dialog__resend button:focus-visible {
    color: #0f65f5;
    text-decoration: underline;
}

.pt-account-contact-dialog__resend button:disabled,
.pt-account-contact-dialog__resend button:disabled:hover {
    color: var(--pt-account-contact-muted);
    text-decoration: none;
    cursor: default;
}

@media (max-width: 575.98px) {
    .pt-account-security__item {
        grid-template-columns: 4rem minmax(0, 1fr) auto;
    }

    .pt-account-security__actions {
        grid-column: auto;
        align-items: stretch;
        flex-direction: column;
        justify-content: center;
        gap: 0.6rem;
    }

    .pt-account-security__actions .pt-account-button {
        min-width: 5.6rem;
    }

    .pt-account-contact-dialog {
        padding: 1.8rem;
    }

    .pt-account-contact-dialog__control {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-contact-dialog__control .pt-account-button,
    .pt-account-contact-dialog__submit .pt-account-button {
        width: 100%;
    }

    .pt-account-avatar-editor {
        grid-template-columns: 6.4rem minmax(0, 1fr);
        align-items: start;
        gap: 1.2rem;
    }

    .pt-account-avatar-editor > img,
    .pt-account-avatar-editor > .pt-user-avatar {
        width: 6.4rem;
        height: 6.4rem;
    }

    .pt-account-avatar-editor__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.7rem;
    }

    .pt-account-avatar-editor__actions > span {
        width: 100%;
    }
}

.auth-page {
    min-height: calc(100vh - 26rem);
    padding: 5rem 0;
}

.auth-shell {
    display: grid;
    min-width: 0;
    width: min(100%, 78rem);
    grid-template-columns: 28rem minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--pt-auth-border);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.2rem rgba(31, 43, 61, 0.08);
}

.auth-shell__brand {
    display: flex;
    min-height: 50rem;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 2.5rem;
    background: var(--pt-auth-brand-bg);
    color: #fff;
    text-align: center;
}

.auth-shell__brand img {
    width: 8rem;
    height: 8.4rem;
    margin-bottom: 2rem;
    object-fit: contain;
}

.auth-shell__brand strong {
    font-size: 2rem;
    font-weight: 600;
}

.auth-shell__brand span {
    margin-top: 0.8rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.3rem;
    line-height: 1.7;
}

.auth-shell .auth-panel {
    width: auto;
    min-width: 0;
    max-width: 100%;
    padding: 3.2rem 4rem;
    border: 0;
    border-radius: 0;
}

.auth-shell form,
.auth-shell .form-field,
.auth-shell .password-input,
.auth-shell .social-login {
    min-width: 0;
    max-width: 100%;
}

.auth-panel__heading .eyebrow {
    margin: 0 0 0.6rem;
    color: var(--pt-auth-focus);
    font-size: 1.2rem;
    font-weight: 600;
}

.auth-panel__heading h1 {
    color: var(--pt-auth-text);
    font-size: 2.8rem;
}

.auth-panel__heading > p:last-child {
    color: var(--pt-auth-text-muted);
    font-size: 1.3rem;
}

.auth-shell .form-field input:focus,
.social-complete .form-field input:focus {
    border-color: var(--pt-auth-focus);
    box-shadow: none;
    outline: 2px solid rgba(34, 116, 255, 0.14);
    outline-offset: 0;
}

.social-login {
    margin-top: 2.4rem;
}

.social-login__divider {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    color: var(--pt-auth-text-muted);
    font-size: 1.2rem;
    white-space: nowrap;
}

.social-login__divider::before,
.social-login__divider::after {
    width: 100%;
    height: 1px;
    background: var(--pt-auth-border);
    content: "";
}

.social-login__options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.6rem;
}

.social-login__button {
    display: inline-flex;
    min-width: 0;
    min-height: 4.2rem;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    border: 1px solid var(--pt-auth-border);
    border-radius: 0.3rem;
    background: #fff;
    color: #555;
    font: inherit;
    font-size: 1.3rem;
    text-decoration: none;
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
    cursor: pointer;
}

.social-login__button .iconfont {
    font-size: 1.8rem;
}

.social-login__button--qq:hover,
.social-login__button--qq:focus-visible {
    border-color: #3db0da;
    color: #1685ad;
}

.social-login__button--wechat:hover,
.social-login__button--wechat:focus-visible {
    border-color: #53bb4c;
    color: #358f30;
}

.social-login__button--weibo:hover,
.social-login__button--weibo:focus-visible {
    border-color: #d52c2b;
    color: #b32221;
}

.social-login__button--alipay:hover,
.social-login__button--alipay:focus-visible {
    border-color: #1677ff;
    color: #1677ff;
}

.social-login__button--disabled {
    background: #f7f8fa;
    color: #9da3ab;
}

.social-complete {
    width: min(100%, 94rem);
    overflow: hidden;
    border: 1px solid var(--pt-auth-border);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1.2rem 3.2rem rgba(31, 43, 61, 0.08);
}

.social-complete__heading {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 2.6rem 3.2rem;
    border-bottom: 1px solid var(--pt-auth-border);
}

.social-complete__heading p,
.social-complete__heading h1,
.social-complete__heading span {
    margin: 0;
}

.social-complete__heading p {
    color: var(--pt-auth-focus);
    font-size: 1.2rem;
    font-weight: 600;
}

.social-complete__heading h1 {
    margin-top: 0.3rem;
    color: var(--pt-auth-text);
    font-size: 2.4rem;
}

.social-complete__heading div > span {
    display: block;
    margin-top: 0.4rem;
    color: var(--pt-auth-text-muted);
    font-size: 1.3rem;
}

.social-complete__provider {
    display: inline-flex;
    width: 5.2rem;
    height: 5.2rem;
    flex: 0 0 5.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef5ff;
    color: var(--pt-auth-focus);
}

.social-complete__provider .iconfont {
    font-size: 2.4rem;
}

.social-complete__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.social-complete__options > section {
    min-width: 0;
    padding: 3.2rem;
}

.social-complete__options > section + section {
    border-left: 1px solid var(--pt-auth-border);
}

.social-complete .settings-section__heading h2 {
    margin: 0;
    padding: 0;
    color: var(--pt-auth-text);
    font-size: 1.8rem;
    text-align: left;
}

.social-complete .settings-section__heading p {
    margin: 0.7rem 0 0;
    color: var(--pt-auth-text-muted);
    font-size: 1.3rem;
}

.pt-account-social__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 2.4rem;
}

.pt-account-social__item {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 2rem 0;
}

.pt-account-social__item + .pt-account-social__item {
    margin-left: 2rem;
    padding-left: 2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-account-social__icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f5f7fa;
    font-size: 1.8rem;
}

.pt-account-social__icon--qq {
    color: #1685ad;
}

.pt-account-social__icon--wechat {
    color: #358f30;
}

.pt-account-social__icon--weibo {
    color: #b32221;
}

.pt-account-social__icon--alipay {
    color: #1677ff;
}

/* iconfont 强制使用图标字体，支付宝文字标识需要切回可显示中文的系统字体。 */
.iconfont.icon-alipay {
    font-family: Arial, "Microsoft YaHei", sans-serif !important;
    font-weight: 700;
}

.icon-alipay::before {
    content: "支";
}

.pt-account-social__identity {
    min-width: 0;
}

.pt-account-social__identity strong,
.pt-account-social__identity span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-social__identity strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
}

.pt-account-social__identity span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-order-content {
    min-width: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.pt-account-order-content .order-summary {
    overflow: hidden;
    border: 0;
    border-radius: var(--pt-account-radius);
    box-shadow: var(--pt-account-shadow);
}

.pt-account-order-content .order-step {
    margin-top: 2rem;
    border-color: var(--pt-account-border);
    border-radius: var(--pt-account-radius);
    box-shadow: var(--pt-account-shadow);
}

.pt-order-detail {
    display: grid;
    min-width: 0;
    gap: 2rem;
}

.pt-order-detail > .form-success,
.pt-order-detail > .form-alert {
    margin: 0;
}

.pt-order-detail__after-sales-notice {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.4rem;
    padding: 1.8rem 2rem;
    border: 1px solid #f0d99f;
    border-left: 0.3rem solid var(--pt-account-state-processing);
    border-radius: var(--pt-account-radius);
    background: var(--pt-account-state-processing-soft);
}

.pt-order-detail__after-sales-notice.is-attention {
    border-color: #efc9c4;
    border-left-color: var(--pt-account-state-attention);
    background: var(--pt-account-state-attention-soft);
}

.pt-order-detail__after-sales-icon {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--pt-account-state-processing);
    font-size: 1.8rem;
}

.pt-order-detail__after-sales-notice.is-attention .pt-order-detail__after-sales-icon {
    color: var(--pt-account-state-attention);
}

.pt-order-detail__after-sales-notice > div {
    min-width: 0;
}

.pt-order-detail__after-sales-notice > div > span,
.pt-order-detail__after-sales-notice p {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-order-detail__after-sales-notice h2,
.pt-order-detail__after-sales-notice p {
    margin: 0;
}

.pt-order-detail__after-sales-notice h2 {
    margin-top: 0.2rem;
    padding: 0;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
    text-align: left;
}

.pt-order-detail__after-sales-notice p {
    margin-top: 0.3rem;
    line-height: 1.6;
}

.pt-order-detail__after-sales-notice > strong {
    color: var(--pt-account-text-title);
    font-size: 1.5rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.pt-order-detail__product {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.4rem;
    padding: 2.4rem;
}

.pt-order-detail__product-icon,
.pt-order-detail__activity-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
}

.pt-order-detail__product-icon {
    width: 4.8rem;
    height: 4.8rem;
    flex: 0 0 4.8rem;
    font-size: 2rem;
}

.pt-order-detail__product > div {
    min-width: 0;
    flex: 1;
}

.pt-order-detail__product > div > span {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-order-detail__product h2,
.pt-order-detail__product p {
    margin: 0;
}

.pt-order-detail__product h2 {
    margin-top: 0.3rem;
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-order-detail__product p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.4rem;
    margin-top: 0.6rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-order-detail__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    border-top: 1px solid var(--pt-account-border);
}

.pt-order-detail__metrics > div {
    min-width: 0;
    padding: 1.8rem 2.4rem;
}

.pt-order-detail__metrics > div + div {
    border-left: 1px solid var(--pt-account-border);
}

.pt-order-detail__metrics dt,
.pt-order-detail__license-facts dt {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-order-detail__metrics dd,
.pt-order-detail__license-facts dd {
    margin: 0.5rem 0 0;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-order-detail__checkout-body {
    padding: 2.4rem;
}

.pt-order-detail__checkout-body > form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.6rem;
}

.pt-order-detail__checkout-body .payment-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pt-order-detail__checkout-body .payment-options legend {
    grid-column: 1 / -1;
}

.pt-order-detail__activity-list,
.pt-order-detail__license-list {
    padding: 0 2.4rem;
}

.pt-order-detail__activity-item {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 2rem 0;
}

.pt-order-detail__activity-item + .pt-order-detail__activity-item {
    border-top: 1px solid var(--pt-account-border);
}

.pt-order-detail__activity-icon {
    width: 3.8rem;
    height: 3.8rem;
    flex: 0 0 3.8rem;
    font-size: 1.6rem;
}

.pt-order-detail__activity-main {
    min-width: 0;
}

.pt-order-detail__activity-main > div {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.pt-order-detail__activity-main strong {
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-order-detail__activity-main p {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    margin: 0.5rem 0 0;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.15rem;
}

.pt-order-detail__activity-amount {
    color: var(--pt-account-text-title);
    font-size: 1.35rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.pt-order-detail__activity-action,
.pt-order-detail__activity-error,
.pt-order-detail__activity-note {
    grid-column: 2 / -1;
}

.pt-order-detail__activity-action {
    display: flex;
    justify-content: flex-end;
}

.pt-order-detail__activity-action,
.pt-order-detail__activity-action form {
    margin: 0;
}

.pt-order-detail__activity-error,
.pt-order-detail__activity-note {
    margin: 0;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    line-height: 1.7;
}

.pt-order-detail__activity-error {
    color: #9f1d1d;
}

.pt-order-detail__after-sales-impact {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.6rem 0;
    border-top: 1px solid var(--pt-account-border);
    color: var(--pt-account-state-attention);
    font-size: 1.2rem;
    line-height: 1.7;
}

.pt-order-detail__after-sales-impact.is-partial {
    color: var(--pt-account-state-success);
}

.pt-order-detail__after-sales-impact .iconfont {
    margin-top: 0.2rem;
    font-size: 1.6rem;
}

.pt-order-detail__after-sales-impact span,
.pt-order-detail__after-sales-impact strong {
    display: block;
}

.pt-order-detail__after-sales-impact span {
    color: var(--pt-account-text-body);
}

.pt-order-detail__after-sales-impact strong {
    margin-bottom: 0.2rem;
    color: inherit;
    font-size: 1.3rem;
}

.pt-order-detail__empty {
    display: flex;
    min-height: 9rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-order-detail__empty .iconfont {
    color: #aab1ba;
    font-size: 1.8rem;
}

.pt-order-detail__license-item {
    min-width: 0;
    padding: 2.4rem 0;
}

.pt-order-detail__license-item + .pt-order-detail__license-item {
    border-top: 1px solid var(--pt-account-border);
}

.pt-order-detail__license-heading {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.4rem;
}

.pt-order-detail__license-heading > div {
    min-width: 0;
}

.pt-order-detail__license-heading h3,
.pt-order-detail__license-heading p {
    margin: 0;
}

.pt-order-detail__license-heading h3 {
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-order-detail__license-heading p {
    margin-top: 0.4rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-order-detail__license-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 2rem 0 0;
    border-top: 1px solid var(--pt-account-border);
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-order-detail__license-facts > div {
    min-width: 0;
    padding: 1.6rem 0;
}

.pt-order-detail__license-facts > div + div {
    padding-left: 2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-order-detail__license-binding {
    display: block;
    max-width: 72rem;
    padding-top: 2rem;
}

.pt-order-detail__license-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 2rem;
}

.pt-order-detail__license-actions form {
    margin: 0;
}

.pt-order-detail__license-unavailable {
    margin: 2rem 0 0;
    color: var(--pt-account-text-muted);
    font-size: 1.25rem;
}

.pt-account-license-detail__body {
    padding: 0 2.4rem 2.4rem;
}

.pt-account-license-detail__product {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.4rem;
    padding: 2.4rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-license-detail__icon {
    display: inline-flex;
    width: 4.8rem;
    height: 4.8rem;
    flex: 0 0 4.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 2rem;
}

.pt-account-license-detail__product-main {
    min-width: 0;
    flex: 1;
}

.pt-account-license-detail__product-actions {
    display: flex;
    min-width: auto;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-account-license-detail__product-actions form {
    margin: 0;
}

.pt-account-license-detail__product h3,
.pt-account-license-detail__product p {
    margin: 0;
}

.pt-account-license-detail__product h3 {
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.8rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-license-detail__product p {
    margin-top: 0.5rem;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-muted);
    font-size: 1.25rem;
}

.pt-account-license-detail__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.pt-account-license-detail__facts > div {
    min-width: 0;
    padding: 2rem 1.8rem;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-account-license-detail__facts > div:nth-child(3n + 1) {
    padding-left: 0;
}

.pt-account-license-detail__facts > div:nth-child(3n) {
    padding-right: 0;
}

.pt-account-license-detail__facts dt,
.pt-account-license-order dt {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-license-detail__facts dd,
.pt-account-license-order dd {
    margin: 0.5rem 0 0;
    overflow-wrap: anywhere;
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-account-license-detail__binding {
    display: block;
    max-width: 72rem;
    padding-top: 2.4rem;
}

.pt-account-license-detail__binding .form-field {
    min-width: 0;
}

.pt-license-binding-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 1rem;
}

.pt-license-binding-controls input {
    min-width: 0;
}

.pt-license-binding-controls .pt-account-button,
.pt-license-binding-controls .button {
    min-height: 4.2rem;
    margin-top: 0;
    white-space: nowrap;
}

.pt-account-license-detail__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 2.4rem;
}

.pt-account-license-detail__actions form {
    margin: 0;
}

.pt-account-license-detail__code {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
    white-space: nowrap;
}

.pt-account-license-detail__code code {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font: inherit;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-account-icon-button {
    display: inline-flex;
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 3.2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-theme);
    cursor: pointer;
}

.pt-account-icon-button:hover,
.pt-account-icon-button:focus-visible {
    border-color: var(--pt-account-theme);
    background: var(--pt-account-theme-soft);
    outline: 0;
}

.pt-account-icon-button .layui-icon {
    font-size: 1.6rem;
}

.pt-account-license-metadata {
    padding-top: 2.4rem;
}

.pt-account-license-metadata__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
}

.pt-account-license-metadata__heading > div {
    min-width: 0;
}

.pt-account-license-metadata__heading h3 {
    margin: 0;
    color: var(--pt-account-text-title);
    font-size: 1.5rem;
    font-weight: 600;
}

.pt-account-license-metadata__heading span {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-account-license-metadata__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
}

.layui-layer.pt-account-license-metadata-layer {
    --pt-account-theme: #2274ff;
    --pt-account-theme-soft: #eef5ff;
    --pt-account-radius: 0.5rem;
    border-radius: var(--pt-account-radius);
    overflow: hidden;
}

.pt-account-license-metadata-dialog {
    padding: 2.4rem;
}

.pt-account-license-metadata-dialog__intro {
    margin: 0 0 1.8rem;
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-account-license-metadata-dialog .form-error {
    margin: 0 0 1.4rem;
}

.pt-account-license-metadata-dialog .form-field .form-error {
    display: block;
    margin: 0.6rem 0 0;
}

.pt-account-license-metadata-dialog__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.8rem;
}

.pt-account-license-metadata__fields .form-field {
    margin: 0;
}

.pt-account-license-metadata__fields input,
.pt-account-license-metadata__fields textarea {
    width: 100%;
}

.pt-account-license-metadata__remark {
    grid-column: 1 / -1;
}

.pt-account-license-metadata > .pt-account-button {
    margin-top: 1.6rem;
}

.pt-account-license-order > dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    align-items: center;
    margin: 0;
    padding: 0 2.4rem;
}

.pt-account-license-order > dl > div {
    min-width: 0;
    padding: 2rem 1.8rem 2rem 0;
}

.pt-account-license-order > dl > .pt-account-license-order__action {
    justify-self: end;
    padding-right: 0;
}

.pt-account-license-order__action > span {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-identities__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0 2.4rem;
}

.pt-developer-identities__list article {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1.2rem;
    padding: 1.8rem 0;
}

.pt-developer-identities__list article + article {
    margin-left: 2rem;
    padding-left: 2rem;
    border-left: 1px solid var(--pt-account-border);
}

.pt-developer-identities__list article > .iconfont {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-developer-identities__list article div,
.pt-developer-identities__list strong,
.pt-developer-identities__list span {
    display: block;
    min-width: 0;
}

.pt-developer-identities__list strong {
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-developer-identities__list span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-filter {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.4rem 2.4rem;
    border-bottom: 1px solid var(--pt-account-border);
    background: #fafbfc;
}

.pt-developer-type-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.pt-developer-type-tabs a {
    display: grid;
    grid-template-columns: 3.8rem minmax(0, 1fr) auto;
    min-height: 6.2rem;
    align-items: center;
    gap: 1.2rem;
    padding: 1.1rem 1.6rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.6rem;
    background: #fff;
    color: var(--pt-account-text-body);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.pt-developer-type-tabs a:hover,
.pt-developer-type-tabs a:focus-visible,
.pt-developer-type-tabs a.is-active {
    border-color: var(--pt-account-theme);
    color: var(--pt-account-theme);
    box-shadow: 0 0 0 1px var(--pt-account-theme);
}

.pt-developer-type-tabs a:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: 2px;
}

.pt-developer-type-tabs .iconfont {
    display: inline-flex;
    width: 3.8rem;
    height: 3.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    font-size: 1.8rem;
}

.pt-developer-type-tabs span {
    min-width: 0;
    overflow: hidden;
    font-size: 1.4rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-developer-type-tabs strong {
    min-width: 2.8rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: #f2f5f8;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    text-align: center;
}

.pt-developer-filter label {
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-developer-filter select {
    width: min(28rem, 100%);
    min-height: 3.8rem;
    padding: 0.6rem 3.2rem 0.6rem 1rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-text-body);
    font: inherit;
    font-size: 1.3rem;
}

.pt-developer-filter select:focus-visible {
    outline: 2px solid var(--pt-account-theme);
    outline-offset: 2px;
}

.pt-developer-apps {
    padding: 0 2.4rem;
}

.pt-developer-apps > article {
    display: grid;
    grid-template-columns: auto minmax(16rem, 1fr) minmax(25rem, auto) auto;
    align-items: center;
    gap: 1.6rem;
    padding: 2rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-developer-apps > article:last-child {
    border-bottom: 0;
}

.pt-developer-apps__icon {
    display: inline-flex;
    width: 4.6rem;
    height: 4.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 2rem;
}

.pt-developer-apps__main {
    min-width: 0;
}

.pt-developer-apps__title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.pt-developer-apps__type {
    flex: 0 0 auto;
    padding: 0.2rem 0.6rem;
    border: 1px solid #c9d9ea;
    border-radius: 0.3rem;
    background: #f3f8fd;
    color: #31658f;
    font-size: 1.1rem;
    line-height: 1.4;
}

.pt-developer-apps h3 {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--pt-account-text-title);
    font-size: 1.5rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-developer-apps__main p {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.2rem;
    margin: 0.5rem 0 0;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-apps dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(7rem, 1fr));
    min-width: 25rem;
    margin: 0;
}

.pt-developer-apps dl > div {
    padding: 0 1.4rem;
}

.pt-developer-apps dl > div + div {
    border-left: 1px solid var(--pt-account-border);
}

.pt-developer-apps dt,
.pt-developer-apps dd {
    margin: 0;
    text-align: center;
}

.pt-developer-apps dd small {
    display: block;
    margin-top: 0.2rem;
    color: var(--pt-account-text-muted);
    font-size: 1.1rem;
    font-weight: 400;
}

.pt-developer-apps dt {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    font-weight: 400;
}

.pt-developer-apps dd {
    margin-top: 0.3rem;
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-developer-apps__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.8rem;
}

.pt-developer-apps__actions form {
    display: flex;
    margin: 0;
}

.pt-developer-readiness {
    display: grid;
    grid-template-columns: auto minmax(8rem, 1fr) auto;
    align-items: center;
    gap: 0.7rem 1rem;
    max-width: 42rem;
    margin-top: 1rem;
}

.pt-developer-readiness > div {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-readiness > div strong {
    color: var(--pt-account-text-title);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.pt-developer-readiness__track,
.pt-developer-publication__track {
    display: block;
    overflow: hidden;
    height: 0.6rem;
    border-radius: 0.3rem;
    background: #e8edf5;
}

.pt-developer-readiness__track i,
.pt-developer-publication__track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--pt-account-theme);
}

.pt-developer-readiness small {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
    white-space: nowrap;
}

.pt-developer-review-feedback {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    margin: 1rem 0 0;
    color: #825600;
    font-size: 1.2rem;
    line-height: 1.6;
}

.pt-developer-review-feedback .iconfont {
    flex: 0 0 auto;
    margin-top: 0.1rem;
}

.pt-developer-review-feedback span,
.pt-developer-review-feedback strong {
    display: block;
}

.pt-developer-review-feedback strong {
    color: #644400;
    font-weight: 600;
}

.pt-developer-title-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.pt-developer-title-actions .status-text {
    margin: 0;
}

.pt-developer-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border: 1px solid var(--pt-account-border);
    border-radius: var(--pt-account-radius);
    background: #fff;
    box-shadow: var(--pt-account-shadow);
    list-style: none;
}

.pt-developer-flow li {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
    min-height: 6rem;
    padding: 1.4rem 2rem;
    color: var(--pt-account-text-muted);
}

.pt-developer-flow li + li {
    border-left: 1px solid var(--pt-account-border);
}

.pt-developer-flow li span {
    display: inline-flex;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef1f5;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.pt-developer-flow li strong {
    overflow: hidden;
    font-size: 1.3rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-developer-flow li.is-current {
    color: var(--pt-account-text-title);
}

.pt-developer-flow li.is-current span {
    background: var(--pt-account-theme);
    color: #fff;
}

.pt-developer-publication__body {
    padding: 2rem 2.4rem 2.2rem;
}

.pt-developer-publication .pt-account-panel__header > strong {
    color: var(--pt-account-theme);
    font-size: 2.2rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.pt-developer-publication__track {
    height: 0.8rem;
}

.pt-developer-publication ul {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.pt-developer-publication li {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.6rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-publication li .iconfont {
    color: #a8afb8;
}

.pt-developer-publication li.is-complete,
.pt-developer-publication li.is-complete .iconfont {
    color: #14774c;
}

.pt-developer-publication .pt-developer-review-feedback {
    margin-top: 1.8rem;
    padding: 1.2rem 1.4rem;
    border: 1px solid #ead59e;
    border-radius: 0.4rem;
    background: #fff9e9;
}

.pt-developer-publication__body > .form-alert {
    margin-top: 1.8rem;
}

.pt-developer-review-action {
    display: grid;
    grid-template-columns: 3.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1.8rem;
    padding: 1.4rem;
    border: 1px solid #bfd5eb;
    border-radius: 0.4rem;
    background: #f4f8fc;
}

.pt-developer-review-action > .iconfont {
    display: inline-flex;
    width: 3.8rem;
    height: 3.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    background: var(--pt-account-theme-soft);
    color: var(--pt-account-theme);
    font-size: 1.8rem;
}

.pt-developer-review-action div,
.pt-developer-review-action strong,
.pt-developer-review-action span {
    display: block;
    min-width: 0;
}

.pt-developer-review-action strong {
    color: var(--pt-account-text-title);
    font-size: 1.4rem;
    font-weight: 600;
}

.pt-developer-review-action span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-review-action form {
    margin: 0;
}

.pt-developer-review-action__actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pt-developer-review-action--pending {
    border-color: #ead59e;
    background: #fff9e9;
}

.pt-developer-review-action--pending > .iconfont {
    background: #fff1c7;
    color: #825600;
}

.pt-developer-editor > .form-alert,
.pt-developer-media > .form-alert,
.pt-developer-faq > .form-alert {
    margin: 2rem 2.4rem 0;
}

.pt-developer-form-section {
    min-width: 0;
    margin: 0;
    padding: 2.4rem;
    border: 0;
}

.pt-developer-form-section + .pt-developer-form-section {
    border-top: 1px solid var(--pt-account-border);
}

.pt-developer-form-section legend {
    display: flex;
    width: 100%;
    align-items: baseline;
    gap: 1rem;
    margin: 0 0 1.8rem;
    padding: 0;
}

.pt-developer-form-section legend span {
    color: var(--pt-account-text-title);
    font-size: 1.6rem;
    font-weight: 600;
}

.pt-developer-form-section legend small {
    color: var(--pt-account-text-muted);
    font-size: 1.2rem;
}

.pt-developer-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8rem 2rem;
}

.pt-developer-form-grid .form-field,
.pt-developer-media__upload .form-field {
    min-width: 0;
    margin: 0;
}

.pt-developer-form-grid__wide {
    grid-column: 1 / -1;
}

.pt-developer-repeat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pt-developer-option-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.pt-developer-option-list label {
    display: inline-flex;
    min-height: 3.6rem;
    align-items: center;
    gap: 0.7rem;
    padding: 0.6rem 1rem;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
    color: var(--pt-account-text-body);
    cursor: pointer;
}

.pt-developer-option-list label:focus-within {
    border-color: var(--pt-account-theme);
    outline: 2px solid rgba(34, 116, 255, 0.16);
}

.pt-developer-option-list input[type="checkbox"],
.pt-developer-option-list input[type="radio"] {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    accent-color: var(--pt-account-theme);
}

.pt-developer-option-list--risks {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pt-developer-editor__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.8rem 2.4rem;
    border-top: 1px solid var(--pt-account-border);
    background: #fafbfc;
}

.pt-developer-editor__footer > span {
    color: var(--pt-account-text-muted);
    font-size: 1.3rem;
}

.pt-developer-editor__footer .settings-submit {
    width: auto;
    margin: 0;
}

.pt-developer-media__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
    padding: 2rem 2.4rem 0;
}

.pt-developer-media__grid article {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--pt-account-border);
    border-radius: 0.4rem;
    background: #fff;
}

.pt-developer-media__grid img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    background: #f2f4f7;
}

.pt-developer-media__grid article > div {
    padding: 1rem 1.2rem;
}

.pt-developer-media__grid strong,
.pt-developer-media__grid span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pt-developer-media__grid strong {
    color: var(--pt-account-text-title);
    font-size: 1.3rem;
    font-weight: 600;
}

.pt-developer-media__grid span {
    margin-top: 0.3rem;
    color: var(--pt-account-text-muted);
    font-size: 1.1rem;
}

.pt-developer-media__grid article > form {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
}

.pt-developer-media__grid button {
    display: inline-flex;
    width: 3.2rem;
    height: 3.2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    background: rgba(30, 36, 45, 0.76);
    color: #fff;
    cursor: pointer;
}

.pt-developer-media__grid button:hover,
.pt-developer-media__grid button:focus-visible {
    background: #b42318;
}

.pt-developer-media__upload {
    display: grid;
    grid-template-columns: 16rem minmax(20rem, 1fr) minmax(20rem, 1fr) auto;
    align-items: end;
    gap: 1.4rem;
    padding: 2.4rem;
}

.pt-developer-media__upload > .pt-account-button {
    min-height: 4.2rem;
}

.pt-developer-faq__list {
    padding: 0 2.4rem;
}

.pt-developer-faq__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    padding: 2.2rem 0;
    border-bottom: 1px solid var(--pt-account-border);
}

.pt-developer-faq__row > form:first-child,
.pt-developer-faq__create {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(22rem, 1.4fr) 9rem 13rem auto;
    align-items: end;
    gap: 1.2rem;
}

.pt-developer-faq__row .form-field,
.pt-developer-faq__create .form-field {
    min-width: 0;
    margin: 0;
}

.pt-developer-faq__question {
    grid-column: 1 / -1;
}

.pt-developer-faq__row textarea,
.pt-developer-faq__create textarea {
    min-height: 8.8rem;
    resize: vertical;
}

.pt-developer-faq__row .pt-account-button,
.pt-developer-faq__create .pt-account-button {
    min-height: 4.2rem;
}

.pt-developer-faq__delete {
    margin: 0;
}

.pt-developer-faq__create {
    margin: 0;
    padding: 2.4rem;
    background: #fafbfc;
}

.status-text--published {
    border-color: #a8d6bd;
    background: #edf8f1;
    color: #135d3e;
}

.status-text--reviewing {
    border-color: #e1c474;
    background: #fff8e6;
    color: #825600;
}

.status-text--draft,
.status-text--offline {
    border-color: #d7dce2;
    background: #f5f6f8;
    color: #707782;
}

@media (max-width: 1199.98px) {
    .pt-account-shell {
        grid-template-columns: 18rem minmax(0, 1fr);
    }

    .pt-account-overview > a {
        gap: 1rem;
        padding: 1.8rem;
    }

    .pt-account-overview > a > .iconfont:first-child {
        width: 3.8rem;
        height: 3.8rem;
        flex-basis: 3.8rem;
    }

    .pt-developer-apps > article {
        grid-template-columns: auto minmax(0, 1fr) minmax(25rem, auto);
    }

    .pt-developer-apps__actions {
        grid-column: 2 / -1;
    }

    .pt-developer-publication ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pt-developer-option-list--risks {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pt-developer-media__upload {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-developer-media__upload > .pt-account-button {
        justify-self: start;
    }
}

@media (max-width: 991.98px) {
    .pt-account-list-filter--licenses {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-account-list-filter__search,
    .pt-account-list-filter__actions {
        grid-column: 1 / -1;
    }

    .social-complete__options {
        grid-template-columns: 1fr;
    }

    .social-complete__options > section + section {
        border-top: 1px solid var(--pt-auth-border);
        border-left: 0;
    }

    .pt-account-social__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2rem;
    }

    .pt-account-social__item + .pt-account-social__item {
        margin-left: 0;
        padding-left: 0;
        border-top: 0;
        border-left: 0;
    }

    .pt-account-social__item:nth-child(even) {
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }

    .pt-account-social__item:nth-child(n + 3) {
        border-top: 0;
    }

    .pt-account-page {
        padding-top: 2rem;
    }

    .pt-account-shell {
        grid-template-columns: 1fr;
    }

    .pt-account-sidebar {
        position: static;
    }

    .pt-account-sidebar__profile {
        display: none;
    }

    .pt-account-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0.8rem;
    }

    .pt-account-nav__group,
    .pt-account-nav__group + .pt-account-nav__group {
        display: contents;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .pt-account-nav__group > p {
        display: none;
    }

    .pt-account-nav a,
    .pt-account-nav__logout button {
        justify-content: center;
        padding: 1rem 0.8rem;
        border-radius: 0.4rem;
        text-align: center;
    }

    .pt-account-nav a::after {
        top: auto;
        left: 1rem;
        right: 1rem;
        bottom: 0;
        width: auto;
        height: 0.2rem;
    }

    .pt-account-dashboard-grid,
    .pt-account-settings-grid {
        grid-template-columns: 1fr;
    }

    .pt-developer-identities__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-developer-identities__list article:nth-child(3) {
        margin-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }
}

@media (max-width: 767.98px) {
    .auth-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .auth-shell__brand {
        display: none;
    }

    .pt-account-profile {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 1.5rem;
        padding: 2rem;
    }

    .pt-account-profile__avatar {
        width: 6rem;
        height: 6rem;
    }

    .pt-account-profile > .pt-account-button {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .pt-account-profile__meta {
        display: none;
    }

    .pt-account-overview {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pt-account-overview--developer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-account-overview--developer > a:nth-child(3) {
        border-left: 0;
    }

    .pt-account-overview--developer > a:nth-child(n + 3) {
        border-top: 1px solid var(--pt-account-border);
    }

    .pt-account-shortcuts--overview nav {
        grid-template-columns: 1fr;
    }

    .pt-account-shortcuts--overview nav > a {
        padding-right: 0;
        padding-left: 0;
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }

    .pt-account-shortcuts--overview nav > a + a {
        border-left: 0;
    }

    .pt-account-record {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .pt-account-record__amount {
        grid-column: 2 / -1;
        min-width: 0;
        text-align: left;
    }

    .pt-account-record__arrow {
        grid-column: 3;
        grid-row: 1;
    }

    .pt-account-record--license form,
    .pt-account-record--license > .pt-account-record__muted,
    .pt-account-record--favorite .pt-account-record__actions {
        grid-column: 2 / -1;
        justify-self: start;
    }

    .pt-account-payment-action {
        align-items: stretch;
        flex-direction: column;
    }

    .pt-account-payment-action .pt-account-button {
        width: 100%;
    }

    .pt-account-point-records article {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.8rem 1.5rem;
    }

    .pt-account-point-records time {
        grid-column: 1;
        grid-row: 2;
    }

    .pt-account-point-records__value {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .pt-developer-apps > article {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-developer-apps dl,
    .pt-developer-apps__actions {
        grid-column: 2;
    }

    .pt-developer-apps__actions {
        justify-content: flex-start;
    }

    .pt-developer-form-grid,
    .pt-developer-repeat-grid {
        grid-template-columns: 1fr;
    }

    .pt-developer-form-grid__wide {
        grid-column: auto;
    }

    .pt-developer-media__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .auth-page {
        width: min(calc(100% - 2.4rem), var(--market-content-width));
        padding: 2.4rem 0 4rem;
    }

    .auth-shell .auth-panel,
    .social-complete__options > section,
    .social-complete__heading {
        padding: 2.2rem 1.8rem;
    }

    .auth-shell,
    .auth-shell .auth-panel {
        width: 100%;
        max-width: 100%;
    }

    .auth-shell input,
    .auth-shell button,
    .auth-shell .social-login__options {
        min-width: 0;
        max-width: 100%;
    }

    .social-login__button span {
        display: none;
    }

    .social-complete__heading h1 {
        font-size: 2rem;
    }

    .pt-account-social__list {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-social__item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-account-social__item > form,
    .pt-account-social__item > .pt-account-button {
        width: 100%;
        min-width: 0;
        grid-column: 2;
        justify-self: stretch;
    }

    .pt-account-social__item > form .pt-account-button,
    .pt-account-social__item > .pt-account-button {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        padding-right: 0.5rem;
        padding-left: 0.5rem;
        justify-content: center;
    }

    .pt-account-page {
        padding: 1.2rem 0 4rem;
    }

    .pt-account-shell,
    .pt-account-workspace,
    .pt-account-dashboard-grid,
    .pt-account-settings-grid {
        gap: 1.2rem;
    }

    .pt-account-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pt-account-nav .pt-account-nav__group:not(:first-child) {
        display: none;
    }

    .pt-account-nav a,
    .pt-account-nav__logout button {
        justify-content: center;
        gap: 0.6rem;
        padding-right: 0.4rem;
        padding-left: 0.4rem;
        font-size: 1.3rem;
    }

    .pt-account-profile,
    .pt-account-page-title {
        padding: 1.8rem;
    }

    .pt-account-profile h1,
    .pt-account-page-title h1 {
        font-size: 2rem;
    }

    .pt-account-page-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .pt-account-overview > a {
        justify-content: center;
        gap: 0;
        padding: 1.5rem;
        text-align: center;
    }

    .pt-account-overview > a + a {
        border-left: 0;
    }

    .pt-account-overview > a > span {
        flex: 0 1 auto;
        text-align: center;
    }

    .pt-account-overview > a > .iconfont:first-child,
    .pt-account-overview > a > .iconfont:last-child {
        display: none;
    }

    .pt-account-dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-panel__header {
        padding: 1.8rem 1.8rem 1.4rem;
    }

    .pt-account-panel__header > a,
    .pt-account-panel__header > span {
        white-space: normal;
        text-align: right;
    }

    .pt-account-points__balance {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-points__stats {
        margin-right: 1.8rem;
        margin-left: 1.8rem;
    }

    .pt-account-points__stats div + div {
        padding-left: 1rem;
    }

    .pt-account-shortcuts nav,
    .pt-account-records,
    .pt-account-point-records,
    .pt-account-developers,
    .pt-account-legacy-list {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-record {
        gap: 1rem;
    }

    .pt-account-record__icon {
        width: 3.6rem;
        height: 3.6rem;
    }

    .pt-account-record__title {
        align-items: flex-start;
        flex-direction: column;
    }

    .pt-account-record h3 {
        white-space: normal;
    }

    .pt-account-empty {
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 0 1.8rem;
    }

    .pt-account-empty > .iconfont {
        width: 4rem;
        height: 4rem;
        flex-basis: 4rem;
    }

    .pt-account-empty > a {
        width: 100%;
        padding-left: 5.6rem;
    }

    .pt-account-history summary,
    .pt-account-history__content {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-legacy-list {
        padding-right: 0;
        padding-left: 0;
    }

    .pt-account-legacy-list article {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .pt-account-legacy-list article > strong {
        grid-column: 1 / -1;
        text-align: left;
    }

    .pt-account-legacy-list--panel {
        margin-right: 1.8rem;
        margin-left: 1.8rem;
        padding-right: 0;
        padding-left: 0;
    }

    .pt-account-pagination {
        gap: 0.8rem;
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .pt-account-pagination a,
    .pt-account-pagination span {
        padding-right: 0.8rem;
        padding-left: 0.8rem;
    }

    .pt-account-settings {
        padding: 1.8rem;
    }

    .pt-account-security__list {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-security__summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-account-security__availability {
        grid-column: 2;
    }

    .pt-account-security__verification {
        align-items: stretch;
        flex-direction: column;
        margin-left: 0;
    }

    .pt-account-security__verification > form {
        justify-content: flex-start;
    }

    .pt-account-security__verification > form .form-error {
        text-align: left;
    }

    .pt-account-contact-change {
        margin-left: 0;
    }

    .pt-account-security__verification-actions {
        flex-wrap: wrap;
    }

    .pt-account-security__code {
        flex: 1 1 28rem;
    }

    .pt-developer-identities__list {
        grid-template-columns: 1fr;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-identities__list article + article {
        margin-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }

    .pt-developer-filter {
        align-items: stretch;
        flex-direction: column;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-filter select {
        width: 100%;
    }

    .pt-developer-type-tabs {
        grid-template-columns: 1fr;
    }

    .pt-developer-apps {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-apps dl {
        min-width: 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pt-developer-apps dl > div {
        padding: 0 0.8rem;
    }

    .pt-developer-apps__actions .pt-account-button {
        flex: 1 1 auto;
    }

    .pt-developer-apps__actions form,
    .pt-developer-apps__actions form .pt-account-button {
        width: 100%;
    }

    .pt-developer-review-action {
        grid-template-columns: 3.8rem minmax(0, 1fr);
    }

    .pt-developer-review-action form {
        grid-column: 1 / -1;
    }

    .pt-developer-review-action__actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-developer-review-action__actions form .pt-account-button {
        width: 100%;
    }

    .pt-developer-title-actions {
        width: 100%;
        align-items: flex-start;
        justify-content: space-between;
    }

    .pt-developer-flow {
        grid-template-columns: 1fr;
    }

    .pt-developer-flow li + li {
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }

    .pt-developer-publication__body,
    .pt-developer-form-section,
    .pt-developer-editor__footer,
    .pt-developer-media__upload {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-publication ul,
    .pt-developer-option-list--risks,
    .pt-developer-media__upload {
        grid-template-columns: 1fr;
    }

    .pt-developer-form-section legend,
    .pt-developer-editor__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .pt-developer-editor__footer .settings-submit,
    .pt-developer-media__upload > .pt-account-button {
        width: 100%;
    }

    .pt-developer-media__grid {
        grid-template-columns: 1fr;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-faq__list {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-developer-faq__row,
    .pt-developer-faq__row > form:first-child,
    .pt-developer-faq__create {
        grid-template-columns: 1fr;
    }

    .pt-developer-faq__row .pt-account-button,
    .pt-developer-faq__create .pt-account-button,
    .pt-developer-faq__delete {
        width: 100%;
    }

    .pt-developer-faq__create {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-account-page *,
    .pt-account-page *::before,
    .pt-account-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* 独立认证页使用局部变量，避免影响官网公开页面和账户中心。 */
.pt-auth-body {
    --pt-auth-page-bg: #f4f7fb;
    --pt-auth-surface: #fff;
    --pt-auth-brand: #1769e0;
    --pt-auth-brand-strong: #0f4fae;
    --pt-auth-text: #172033;
    --pt-auth-text-muted: #5c667a;
    --pt-auth-border: #d9e0ea;
    --pt-auth-focus: #1769e0;

    display: grid;
    min-width: 320px;
    min-height: 100vh;
    grid-template-rows: auto minmax(0, 1fr) auto;
    margin: 0;
    background: var(--pt-auth-page-bg);
    color: var(--pt-auth-text);
}

.pt-auth-header {
    min-height: 72px;
    border-bottom: 1px solid var(--pt-auth-border);
    background: rgba(255, 255, 255, 0.96);
}

.pt-auth-header__inner {
    display: flex;
    width: min(calc(100% - 48px), 1180px);
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
}

.pt-auth-header__brand {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    color: var(--pt-auth-text);
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
}

.pt-auth-header__brand img {
    display: block;
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.pt-auth-header__back {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    color: var(--pt-auth-text-muted);
    font-size: 14px;
    text-decoration: none;
    transition: color 180ms ease;
}

.pt-auth-header__back:hover,
.pt-auth-header__back:focus-visible {
    color: var(--pt-auth-focus);
}

.not-logged-in__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.not-logged-in__actions .layui-btn {
    min-width: 72px;
    margin: 0;
    text-align: center;
}

.pt-auth-main {
    display: grid;
    width: min(calc(100% - 48px), 1180px);
    min-width: 0;
    align-items: center;
    margin: 0 auto;
    padding: 48px 0;
}

.pt-auth-shell {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(320px, 0.88fr) minmax(420px, 1.12fr);
    align-items: stretch;
    gap: 72px;
}

.pt-auth-visual {
    display: flex;
    min-height: 620px;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    padding: 52px 48px;
    border-radius: 4px;
    background: var(--pt-auth-brand);
    color: #fff;
}

.pt-auth-visual > img {
    width: 132px;
    height: 48px;
    object-fit: contain;
    object-position: left center;
}

.pt-auth-visual p,
.pt-auth-visual h1 {
    margin: 0;
}

.pt-auth-visual p {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    font-weight: 600;
}

.pt-auth-visual h1 {
    max-width: 390px;
    margin-top: 14px;
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0;
}

.pt-auth-visual nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.pt-auth-visual nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    text-decoration: none;
}

.pt-auth-visual nav a:hover,
.pt-auth-visual nav a:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pt-auth-content {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
}

.pt-auth-content__inner {
    width: min(100%, 440px);
    min-width: 0;
}

.pt-auth-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 40px;
    border-bottom: 1px solid var(--pt-auth-border);
}

.pt-auth-tabs a {
    position: relative;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    color: var(--pt-auth-text-muted);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.pt-auth-tabs a[aria-current="page"] {
    color: var(--pt-auth-focus);
}

.pt-auth-tabs a[aria-current="page"]::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--pt-auth-focus);
    content: "";
}

.pt-auth-content .auth-panel__heading {
    margin-bottom: 28px;
}

.pt-auth-content .auth-panel__heading .eyebrow {
    margin: 0 0 6px;
    color: var(--pt-auth-focus);
    font-size: 13px;
    font-weight: 600;
}

.pt-auth-content .auth-panel__heading h1 {
    margin: 0;
    color: var(--pt-auth-text);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}

.pt-auth-content .auth-panel__heading > p:last-child {
    margin: 8px 0 0;
    color: var(--pt-auth-text-muted);
    font-size: 14px;
}

.pt-auth-content .form-field + .form-field {
    margin-top: 18px;
}

.pt-auth-content .form-field label {
    margin-bottom: 7px;
    color: var(--pt-auth-text);
    font-size: 14px;
    font-weight: 600;
}

.pt-auth-content .form-field input[type="text"],
.pt-auth-content .form-field input[type="password"] {
    min-height: 48px;
    padding: 10px 13px;
    border-color: var(--pt-auth-border);
    border-radius: 4px;
    background: var(--pt-auth-surface);
    color: var(--pt-auth-text);
    font-size: 15px;
}

.pt-auth-content .form-field input:hover {
    border-color: #aeb8c7;
}

.pt-auth-content .form-field input:focus-visible,
.pt-auth-content .password-input input:focus-visible {
    border-color: var(--pt-auth-focus);
    box-shadow: 0 0 0 3px rgba(23, 105, 224, 0.14);
    outline: 0;
}

.pt-auth-content .password-input input[type="password"],
.pt-auth-content .password-input input[type="text"] {
    padding-right: 68px;
}

.pt-auth-content .password-input button {
    top: 2px;
    right: 2px;
    min-width: 60px;
    min-height: 44px;
    border: 0;
    color: var(--pt-auth-focus);
}

.pt-auth-content .checkbox-field {
    margin-top: 12px;
    color: var(--pt-auth-text-muted);
    font-size: 14px;
}

.pt-auth-content .checkbox-field input {
    accent-color: var(--pt-auth-focus);
}

.pt-auth-content .auth-form-options {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
}

.pt-auth-content .auth-form-options .checkbox-field {
    margin-top: 0;
}

.pt-auth-content .auth-form-options > a,
.pt-auth-content .auth-back-link {
    color: var(--pt-auth-focus);
    font-size: 14px;
    text-decoration: none;
}

.pt-auth-content .auth-form-options > a:hover,
.pt-auth-content .auth-form-options > a:focus-visible,
.pt-auth-content .auth-back-link:hover,
.pt-auth-content .auth-back-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pt-auth-content .auth-back-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 6px;
    margin-top: 20px;
}

.pt-auth-content .auth-submit {
    min-height: 48px;
    margin-top: 18px;
    border-radius: 4px;
    border-color: var(--pt-auth-focus);
    background: var(--pt-auth-focus);
}

.pt-auth-content .auth-submit:hover:not(:disabled),
.pt-auth-content .auth-submit:focus-visible {
    border-color: var(--pt-auth-brand-strong);
    background: var(--pt-auth-brand-strong);
}

.pt-auth-content .pt-auth-mobile__skip-form {
    margin-top: 18px;
}

.pt-auth-content .pt-auth-mobile__skip {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid var(--pt-auth-border);
    border-radius: 4px;
    background: #f7f9fc;
    color: var(--pt-auth-text-muted);
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.pt-auth-content .pt-auth-mobile__skip:hover,
.pt-auth-content .pt-auth-mobile__skip:focus-visible {
    border-color: var(--pt-auth-focus);
    background: #eef5ff;
    color: var(--pt-auth-focus);
    outline: 0;
}

.pt-auth-content .form-help,
.pt-auth-content .form-error {
    font-size: 13px;
    line-height: 1.55;
}

.pt-auth-content .form-success,
.pt-auth-content .form-alert {
    border-radius: 4px;
    font-size: 14px;
}

/* 基于 layui 的官网验证码皮肤，仅作用于当前弹层。 */
.layui-layer.account-captcha-layer {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(24, 34, 48, .18);
}

.account-captcha-layer .layui-layer-title {
    box-sizing: border-box;
    height: 60px;
    padding: 0 60px 0 24px;
    border-bottom: 1px solid #edf0f5;
    background: #fff;
    color: #26354a;
    font-size: 16px;
    font-weight: 600;
    line-height: 60px;
}

.account-captcha-layer .layui-layer-setwin {
    top: 8px;
    right: 8px;
    margin: 0;
}

.account-captcha-layer .layui-layer-setwin .layui-layer-close {
    display: grid;
    width: 44px;
    height: 44px;
    margin: 0;
    place-items: center;
    color: #788596;
    font-size: 16px;
    line-height: 44px;
}

.account-captcha-layer .layui-layer-content {
    max-height: calc(100dvh - 180px);
    overflow: auto;
}

.account-captcha-layer .account-captcha-dialog {
    display: grid;
    gap: 16px;
    padding: 20px 24px 0;
    color: #354256;
    font-size: 14px;
    line-height: 1.5;
}

.account-captcha-layer .account-captcha-prompt,
.account-captcha-layer .account-captcha-status {
    margin: 0;
    overflow-wrap: anywhere;
}

.account-captcha-layer .account-captcha-prompt {
    font-weight: 500;
}

.account-captcha-layer .account-captcha-body,
.account-captcha-layer .account-captcha-text {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.account-captcha-layer .account-captcha-picture {
    display: grid;
    min-height: 88px;
    padding: 12px;
    place-items: center;
    border: 1px solid #e8edf4;
    border-radius: 6px;
    background: #f7f9fc;
}

.account-captcha-layer .account-captcha-label {
    display: grid;
    gap: 8px;
    color: #667386;
    font-size: 13px;
}

.account-captcha-layer .account-captcha-input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d8e0eb;
    border-radius: 6px;
    color: #26354a;
    font-size: 16px;
}

.account-captcha-layer .account-captcha-input:focus {
    /* layui 焦点边框使用 !important，局部覆盖以遵循官网蓝色。 */
    border-color: #2274ff !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(34, 116, 255, .1);
}

.account-captcha-layer .account-captcha-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.account-captcha-layer .account-captcha-stage {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    background: #f7f9fc;
    cursor: crosshair;
}

.account-captcha-layer .account-captcha-stage > .account-captcha-image {
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.account-captcha-layer .account-captcha-piece {
    position: absolute;
    left: 0;
    height: auto;
    pointer-events: none;
}

.account-captcha-layer .account-captcha-point,
.account-captcha-layer .account-captcha-cursor {
    position: absolute;
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    transform: translate(-50%, -50%);
    border: 2px solid #fff;
    border-radius: 50%;
    background: #2274ff;
    color: #fff;
    pointer-events: none;
}

.account-captcha-layer .account-captcha-cursor {
    background: transparent;
    outline: 2px solid #2274ff;
}

.account-captcha-layer .account-captcha-cursor[hidden] {
    display: none;
}

.account-captcha-layer .account-captcha-range {
    width: 100%;
    min-height: 44px;
    margin: 0;
    accent-color: #2274ff;
    cursor: grab;
}

.account-captcha-layer .account-captcha-reset {
    justify-self: start;
    min-height: 44px;
    margin: 0;
    padding: 0 12px;
    border-radius: 6px;
    line-height: 42px;
}

.account-captcha-layer .account-captcha-status {
    color: #c43b32;
    font-size: 13px;
}

.account-captcha-layer .account-captcha-status:empty {
    display: none;
}

.account-captcha-layer .layui-layer-btn {
    display: flex;
    gap: 12px;
    padding: 20px 24px 24px;
}

.account-captcha-layer .layui-layer-btn a {
    box-sizing: border-box;
    height: 44px;
    margin: 0;
    border: 1px solid #d8e0eb;
    border-radius: 6px;
    background: #fff;
    color: #526174;
    font-size: 14px;
    font-weight: 500;
    line-height: 42px;
    white-space: nowrap;
}

.account-captcha-layer .layui-layer-btn .account-captcha-refresh {
    min-width: 88px;
    border-color: #d8e0eb;
    /* 旧站全局 btn0 背景带 !important，换图操作在当前弹层中使用次要样式。 */
    background: #fff !important;
    color: #526174;
}

.account-captcha-layer .layui-layer-btn .account-captcha-confirm {
    flex: 1;
    border-color: #2274ff;
    background: #2274ff;
    color: #fff;
}

.account-captcha-layer .layui-layer-btn a:hover {
    opacity: 1;
    border-color: #2274ff;
    color: #2274ff;
}

.account-captcha-layer .layui-layer-btn .account-captcha-confirm:hover {
    border-color: #1768e8;
    background: #1768e8;
    color: #fff;
}

/* layui 默认禁用样式带 !important，此处同级覆盖以匹配官网配色。 */
.account-captcha-layer .layui-layer-btn a.layui-btn-disabled {
    border-color: #e2e7ef !important;
    background: #f1f4f8 !important;
    color: #9aa6b5 !important;
    cursor: not-allowed;
}

.account-captcha-layer :focus-visible {
    outline: 2px solid #2274ff;
    outline-offset: 2px;
}

.account-captcha-layer .account-captcha-input:focus-visible {
    outline: none;
}

.pt-auth-content .social-login {
    margin-top: 28px;
}

.pt-auth-content .social-login__divider {
    font-size: 13px;
}

.pt-auth-content .social-login__options {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.pt-auth-content .social-login__button {
    min-height: 44px;
    border-radius: 4px;
    font-size: 14px;
}

.pt-auth-footer {
    display: flex;
    width: min(calc(100% - 48px), 1180px);
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 auto;
    border-top: 1px solid var(--pt-auth-border);
    color: var(--pt-auth-text-muted);
    font-size: 13px;
}

.pt-auth-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.pt-auth-footer a {
    color: var(--pt-auth-text-muted);
    text-decoration: none;
}

.pt-auth-footer a:hover,
.pt-auth-footer a:focus-visible {
    color: var(--pt-auth-focus);
}

.pt-auth-completion-page {
    width: min(100%, 960px);
    margin: 0 auto;
}

.pt-auth-completion-page .social-complete {
    width: 100%;
    border-radius: 4px;
    box-shadow: none;
}

@media (max-width: 960px) {
    .pt-auth-shell {
        grid-template-columns: minmax(280px, 0.8fr) minmax(380px, 1.2fr);
        gap: 40px;
    }

    .pt-auth-visual {
        padding: 40px 32px;
    }
}

@media (max-width: 767.98px) {
    .pt-auth-header,
    .pt-auth-header__inner {
        min-height: 64px;
    }

    .pt-auth-header__inner,
    .pt-auth-main,
    .pt-auth-footer {
        width: min(calc(100% - 32px), 520px);
    }

    .pt-auth-main {
        padding: 32px 0 40px;
    }

    .pt-auth-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-auth-visual {
        display: none;
    }

    .pt-auth-tabs {
        margin-bottom: 32px;
    }

    .pt-auth-footer {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 8px;
        padding: 16px 0;
    }
}

@media (max-width: 420px) {
    .pt-auth-header__back {
        font-size: 13px;
    }

    .pt-auth-content .auth-panel__heading h1 {
        font-size: 25px;
    }

    .pt-auth-content .social-login__button span {
        display: inline;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-auth-body *,
    .pt-auth-body *::before,
    .pt-auth-body *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* 认证页面复用官网导航与页脚，本段只定义中间内容区。 */
.pt-auth-page {
    --pt-auth-page-bg: #fff;
    --pt-auth-surface: #fff;
    --pt-auth-brand: #2274ff;
    --pt-auth-brand-strong: #145bd7;
    --pt-auth-text: #333;
    --pt-auth-text-muted: #777;
    --pt-auth-border: #dee2e6;
    --pt-auth-focus: #2274ff;

    min-height: calc(100vh - 6rem);
    margin-top: 6rem;
    background: var(--pt-auth-page-bg);
}

.pt-auth-page .pt-auth-main {
    display: block;
    width: min(calc(100% - 30px), 1080px);
    margin: 0 auto;
    padding: 50px 0;
}

.pt-auth-page .pt-auth-shell {
    display: grid;
    min-width: 0;
    min-height: 580px;
    grid-template-columns: minmax(320px, 0.82fr) minmax(440px, 1.18fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--pt-auth-border);
    border-radius: 0.5rem;
    background: var(--pt-auth-surface);
}

.pt-auth-page .pt-auth-visual {
    min-height: 580px;
    padding: 48px 40px;
    border-radius: 0;
    background-color: var(--pt-auth-brand);
    background-image: url("../static/images/plugin_market_bg.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 145% auto;
}

.pt-auth-page .pt-auth-visual > img {
    width: 130px;
    height: 48px;
}

.pt-auth-page .pt-auth-visual h1 {
    max-width: 360px;
    font-size: 28px;
    line-height: 1.5;
}

.pt-auth-page .pt-auth-content {
    min-width: 0;
    padding: 48px 60px;
    background: var(--pt-auth-surface);
}

.pt-auth-page .pt-auth-content__inner {
    width: min(100%, 440px);
    margin: 0 auto;
}

.pt-auth-page .pt-auth-tabs {
    margin-bottom: 32px;
}

.pt-auth-page .pt-auth-tabs a {
    min-height: 48px;
    font-size: 15px;
}

.pt-auth-page .pt-auth-content .auth-panel__heading h1 {
    color: var(--pt-auth-text);
    font-size: 26px;
}

.pt-auth-page .pt-auth-content .auth-panel__heading .eyebrow,
.pt-auth-page .pt-auth-tabs a[aria-current="page"] {
    color: var(--pt-auth-focus);
}

.pt-auth-page .pt-auth-tabs a[aria-current="page"]::after {
    background: var(--pt-auth-focus);
}

.pt-auth-page .pt-auth-content .form-field input[type="text"],
.pt-auth-page .pt-auth-content .form-field input[type="password"] {
    min-height: 46px;
    border-radius: 3px;
}

.pt-auth-page .pt-auth-content .auth-submit {
    min-height: 46px;
    border-radius: 3px;
    border-color: var(--pt-auth-focus);
    background: var(--pt-auth-focus);
}

.pt-auth-page .pt-auth-content .auth-submit:hover:not(:disabled),
.pt-auth-page .pt-auth-content .auth-submit:focus-visible {
    border-color: var(--pt-auth-brand-strong);
    background: var(--pt-auth-brand-strong);
}

.pt-auth-page .pt-auth-content .social-login__button {
    border-radius: 3px;
}

.pt-auth-page .pt-auth-completion-page {
    width: min(100%, 940px);
}

@media (max-width: 991.98px) {
    .pt-auth-page .pt-auth-main {
        width: min(calc(100% - 30px), 640px);
        padding: 32px 0 40px;
    }

    .pt-auth-page .pt-auth-shell {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-auth-page .pt-auth-visual {
        display: none;
    }

    .pt-auth-page .pt-auth-content {
        padding: 40px 50px;
    }
}

@media (max-width: 575.98px) {
    .pt-auth-page .pt-auth-main {
        width: min(calc(100% - 24px), 520px);
        padding: 24px 0 32px;
    }

    .pt-auth-page .pt-auth-content {
        padding: 28px 18px 32px;
    }

    .pt-auth-page .pt-auth-tabs {
        margin-bottom: 24px;
    }

    .pt-auth-page .pt-auth-content .auth-panel__heading h1 {
        font-size: 24px;
    }

    .pt-auth-page .pt-auth-content .social-login__button span {
        display: inline;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-auth-page *,
    .pt-auth-page *::before,
    .pt-auth-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* 登录和注册页使用独立视口，避免官网页脚和悬浮工具挤压认证表单。 */
.pt-auth-site .footer,
.pt-auth-site .suspension {
    display: none;
}

.pt-auth-site .pt-auth-page {
    min-height: calc(100svh - 6rem);
}

.pt-auth-site .pt-auth-page .pt-auth-main {
    display: flex;
    min-height: calc(100svh - 6rem);
    align-items: center;
    padding: 24px 0;
}

.pt-auth-site .pt-auth-page .pt-auth-shell {
    min-height: 0;
}

.pt-auth-site .pt-auth-page .pt-auth-content {
    padding: 32px 48px;
}

@media (max-width: 575.98px) {
    .pt-auth-site .pt-auth-page .pt-auth-main {
        padding: 12px 0 16px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content {
        padding: 20px 16px 24px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-tabs {
        margin-bottom: 18px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .form-field + .form-field {
        margin-top: 12px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .form-field label {
        margin-bottom: 4px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .form-field input[type="text"],
    .pt-auth-site .pt-auth-page .pt-auth-content .form-field input[type="password"] {
        min-height: 42px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .auth-form-options {
        min-height: 36px;
        margin-top: 4px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .auth-submit {
        min-height: 44px;
        margin-top: 12px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .social-login {
        margin-top: 18px;
    }

    .pt-auth-site .pt-auth-page .pt-auth-content .social-login__button {
        min-height: 42px;
    }
}

/* 内容型认证页取消弹层外壳，只保留页面标题区和无边框表单。 */
.pt-auth-page-heading {
    border-bottom: 1px solid var(--pt-auth-border);
    background: #fff;
}

.pt-auth-page-heading__inner {
    width: min(calc(100% - 30px), 1200px);
    margin: 0 auto;
    padding: 38px 0 36px;
}

.pt-auth-page-heading p,
.pt-auth-page-heading h1,
.pt-auth-page-heading span {
    margin: 0;
}

.pt-auth-page-heading p {
    color: var(--pt-auth-focus);
    font-size: 13px;
    font-weight: 600;
}

.pt-auth-page-heading h1 {
    margin-top: 6px;
    color: var(--pt-auth-text);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

.pt-auth-page-heading span {
    display: block;
    margin-top: 8px;
    color: var(--pt-auth-text-muted);
    font-size: 14px;
}

.pt-auth-page .pt-auth-main {
    width: min(calc(100% - 30px), 440px);
    min-height: 520px;
    padding: 48px 0 64px;
}

.pt-auth-page .pt-auth-main--wide {
    width: min(calc(100% - 30px), 940px);
}

.pt-auth-page .pt-auth-content {
    display: block;
    min-width: 0;
    padding: 0;
    background: transparent;
}

.pt-auth-page .pt-auth-content__inner {
    width: 100%;
}

.pt-auth-page .pt-auth-tabs {
    margin-bottom: 30px;
}

.pt-auth-page .pt-auth-completion-page,
.pt-auth-page .social-complete {
    width: 100%;
}

.pt-auth-page .social-complete {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pt-auth-page .social-complete__heading {
    padding: 0 0 24px;
}

.pt-auth-page .social-complete__heading strong {
    display: block;
    margin-top: 4px;
    color: var(--pt-auth-text);
    font-size: 18px;
    font-weight: 600;
}

.pt-auth-page .social-complete__options > section {
    padding: 32px;
}

.pt-auth-page .social-complete__options > section:first-child {
    padding-left: 0;
}

.pt-auth-page .social-complete__options > section:last-child {
    padding-right: 0;
}

@media (max-width: 991.98px) {
    .pt-auth-page .pt-auth-main,
    .pt-auth-page .pt-auth-main--wide {
        width: min(calc(100% - 30px), 520px);
        min-height: 440px;
        padding: 40px 0 52px;
    }

    .pt-auth-page .social-complete__options > section,
    .pt-auth-page .social-complete__options > section:first-child,
    .pt-auth-page .social-complete__options > section:last-child {
        padding: 28px 0;
    }
}

@media (max-width: 575.98px) {
    .pt-auth-page-heading__inner {
        width: min(calc(100% - 30px), 520px);
        padding: 28px 0 26px;
    }

    .pt-auth-page-heading h1 {
        font-size: 24px;
    }

    .pt-auth-page .pt-auth-main,
    .pt-auth-page .pt-auth-main--wide {
        width: min(calc(100% - 30px), 440px);
        min-height: 0;
        padding: 32px 0 44px;
    }

    .pt-auth-page .pt-auth-tabs {
        margin-bottom: 24px;
    }
}

/* 全宽认证舞台通过页面尺度建立品牌感，不使用卡片、阴影或悬浮外壳。 */
.pt-auth-stage {
    display: grid;
    min-width: 0;
    min-height: max(680px, calc(100vh - 6rem));
    grid-template-columns: 46% 54%;
    background: #fff;
}

.pt-auth-stage__brand {
    height: 48rem;
    min-height: 48rem;
    min-width: 0;
    background-color: var(--pt-auth-brand);
    background-image: url("../static/images/plugin_market_bg.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 120% auto;
    color: #fff;
}

.pt-auth-stage__brand-inner {
    display: flex;
    width: min(calc(100% - 80px), 560px);
    height: 48rem;
    min-height: 48rem;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 auto;
    padding: 64px 0 54px;
}

.pt-auth-stage__brand-inner > img {
    width: 150px;
    height: 54px;
    object-fit: contain;
    object-position: left center;
}

.pt-auth-stage__copy p,
.pt-auth-stage__copy h1,
.pt-auth-stage__copy span {
    margin: 0;
}

.pt-auth-stage__copy p {
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    font-weight: 600;
}

.pt-auth-stage__copy h1 {
    max-width: 520px;
    margin-top: 14px;
    color: #fff;
    font-size: 38px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

.pt-auth-stage__copy span {
    display: block;
    max-width: 480px;
    margin-top: 16px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.8;
}

.pt-auth-stage__brand nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
}

.pt-auth-stage__brand nav a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    text-decoration: none;
}

.pt-auth-stage__brand nav a:hover,
.pt-auth-stage__brand nav a:focus-visible {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.pt-auth-page .pt-auth-stage .pt-auth-main,
.pt-auth-page .pt-auth-stage .pt-auth-main--wide {
    display: flex;
    width: 100%;
    min-height: 680px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 64px clamp(48px, 7vw, 112px);
    background: #fff;
}

.pt-auth-page .pt-auth-stage .pt-auth-main--wide {
    padding-right: clamp(40px, 5vw, 80px);
    padding-left: clamp(40px, 5vw, 80px);
}

.pt-auth-page .pt-auth-stage .pt-auth-content {
    width: min(100%, 480px);
}

.pt-auth-page .pt-auth-stage .pt-auth-tabs {
    margin-bottom: 36px;
}

.pt-auth-page .pt-auth-stage .pt-auth-tabs a {
    min-height: 52px;
    font-size: 16px;
}

.pt-auth-page .pt-auth-stage .form-field label {
    margin-bottom: 8px;
}

.pt-auth-page .pt-auth-stage .form-field input[type="text"],
.pt-auth-page .pt-auth-stage .form-field input[type="password"] {
    min-height: 50px;
}

.pt-auth-page .pt-auth-stage .auth-submit {
    min-height: 50px;
    margin-top: 22px;
}

.pt-auth-page .pt-auth-stage .social-login {
    margin-top: 34px;
}

.pt-auth-page .pt-auth-stage .social-login__divider {
    color: #8a929f;
}

.pt-auth-page .pt-auth-stage .social-login__options {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 28px;
    margin-top: 20px;
}

.pt-auth-page .pt-auth-stage .social-login__button {
    display: grid;
    min-width: 62px;
    min-height: 76px;
    grid-template-rows: 52px auto;
    justify-items: center;
    gap: 7px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #666;
    font: inherit;
    text-decoration: none;
}

.pt-auth-page .pt-auth-stage .social-login__icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9dee7;
    border-radius: 50%;
    background: #fff;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

/* The compact auth breakpoint exposes these spans; keep the icon container flex-centered. */
.pt-auth-page .pt-auth-stage span.social-login__icon {
    display: inline-flex;
}

.pt-auth-page .pt-auth-stage .social-login__icon .iconfont {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    font-size: 22px;
    line-height: 1;
    text-align: center;
}

.pt-auth-page .pt-auth-stage .social-login__button--weibo .social-login__icon .iconfont {
    font-size: 21px;
}

.pt-auth-page .pt-auth-stage .social-login__button--alipay .social-login__icon .iconfont {
    font-size: 21px;
}

.pt-auth-page .pt-auth-stage .social-login__label {
    font-size: 13px;
    line-height: 1.3;
}

.pt-auth-page .pt-auth-stage .social-login__button--qq {
    color: #1685ad;
}

.pt-auth-page .pt-auth-stage .social-login__button--wechat {
    color: #358f30;
}

.pt-auth-page .pt-auth-stage .social-login__button--weibo {
    color: #b32221;
}

.pt-auth-page .pt-auth-stage .social-login__button--alipay {
    color: #1677ff;
}

.pt-auth-page .pt-auth-stage .social-login__button:not(:disabled):hover .social-login__icon,
.pt-auth-page .pt-auth-stage .social-login__button:not(:disabled):focus-visible .social-login__icon {
    border-color: currentColor;
    background: #f7faff;
}

.pt-auth-page .pt-auth-stage .social-login__button--disabled {
    color: #9da3ab;
    opacity: 0.62;
    cursor: not-allowed;
}

.pt-auth-page--completion .pt-auth-stage {
    grid-template-columns: 34% 66%;
}

.pt-auth-page--completion .pt-auth-stage__brand-inner {
    width: min(calc(100% - 64px), 420px);
}

.pt-auth-page--completion .pt-auth-completion-page {
    width: min(100%, 760px);
}

@media (max-width: 991.98px) {
    .pt-auth-stage,
    .pt-auth-page--completion .pt-auth-stage {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-auth-stage__brand-inner,
    .pt-auth-page--completion .pt-auth-stage__brand-inner {
        width: min(calc(100% - 48px), 640px);
        height: 48rem;
        min-height: 48rem;
        padding: 30px 0 28px;
    }

    .pt-auth-stage__brand-inner > img {
        display: none;
    }

    .pt-auth-stage__brand-inner > img {
        width: 116px;
        height: 42px;
    }

    .pt-auth-stage__copy h1 {
        margin-top: 8px;
        font-size: 28px;
    }

    .pt-auth-stage__copy span {
        margin-top: 8px;
        font-size: 14px;
    }

    .pt-auth-stage__brand nav {
        display: none;
    }

    .pt-auth-page .pt-auth-stage .pt-auth-main,
    .pt-auth-page .pt-auth-stage .pt-auth-main--wide {
        min-height: 0;
        padding: 44px 24px 56px;
    }
}

@media (max-width: 575.98px) {
    .pt-auth-page .pt-auth-stage__brand-inner {
        justify-content: center;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .pt-auth-page .pt-auth-stage__copy p {
        margin: 0;
        font-size: 12px;
        line-height: 1.4;
    }

    .pt-auth-page .pt-auth-stage__copy h1 {
        margin-top: 6px;
        font-size: 3.2rem;
        line-height: 1.8;
    }

    .pt-auth-page .pt-auth-stage__copy span {
        margin-top: 6px;
        font-size: 14px;
        line-height: 1.45;
    }

    .pt-auth-stage__brand {
        height: 20rem;
        min-height: 20rem;
    }

    .pt-auth-stage__brand-inner,
    .pt-auth-page--completion .pt-auth-stage__brand-inner {
        width: min(calc(100% - 36px), 520px);
        min-height: 20rem;
        height: 20rem;
        padding: 24px 0 22px;
    }

    .pt-auth-stage__copy p {
        font-size: 12px;
    }

    .pt-auth-stage__copy h1 {
        font-size: 3.2rem;
    }

    .pt-auth-stage__copy span {
        line-height: 1.6;
    }

    .pt-auth-page .pt-auth-stage .pt-auth-main,
    .pt-auth-page .pt-auth-stage .pt-auth-main--wide {
        padding: 34px 18px 46px;
    }

    .pt-auth-page .pt-auth-stage .social-login__options {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.8rem;
        justify-content: stretch;
    }

    .pt-auth-page .pt-auth-stage .social-login__button {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 991.98px) {
    .pt-account-license-detail__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2.4rem;
    }

    .pt-account-license-detail__facts > div,
    .pt-account-license-detail__facts > div:nth-child(3n + 1),
    .pt-account-license-detail__facts > div:nth-child(3n) {
        padding-right: 0;
        padding-left: 0;
    }

    .pt-account-license-order > dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-account-license-order > dl > .pt-account-license-order__action {
        justify-self: start;
    }
}

@media (max-width: 767.98px) {
    .pt-account-list-filter {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-list-filter--licenses {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-license-groups {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-record--license .pt-account-record__actions {
        grid-column: 2 / -1;
        justify-self: start;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .pt-order-detail__checkout-body > form {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-order-detail__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-order-detail__metrics > div:nth-child(odd) {
        border-left: 0;
    }

    .pt-order-detail__metrics > div:nth-child(n + 3) {
        border-top: 1px solid var(--pt-account-border);
    }
}

@media (max-width: 575.98px) {
    .pt-account-license-group__header,
    .pt-account-license-metadata__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.6rem;
    }

    .pt-account-license-metadata__fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-license-metadata__remark {
        grid-column: auto;
    }
    .pt-account-list-filter__actions,
    .pt-account-list-filter__actions .pt-account-button {
        width: 100%;
    }

    .pt-account-list-filter__actions .pt-account-button {
        flex: 1 1 0;
    }

    .pt-account-notification-tabs {
        gap: 1.4rem;
    }

    .pt-account-notification-list article {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        padding: 1.8rem;
    }

    .pt-account-notification-list__icon {
        display: none;
    }

    .pt-account-notification-list__actions {
        justify-content: flex-start;
    }

    .pt-account-nav__badge {
        position: absolute;
        top: 0.4rem;
        right: 0.4rem;
        margin-left: 0;
    }

    .pt-account-record__actions {
        flex-wrap: wrap;
    }

    .pt-account-list-filter input,
    .pt-account-list-filter select,
    .pt-account-list-filter__actions .pt-account-button,
    .pt-account-record__actions .pt-account-button {
        min-height: 4.2rem;
    }

    .pt-account-list-filter__actions .pt-account-button,
    .pt-account-record__actions .pt-account-button {
        padding: 0.7rem 1.2rem;
        font-size: 1.3rem;
    }

    .pt-account-license-detail__body {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-account-license-detail__product {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-account-license-detail__product h3 {
        white-space: normal;
    }

    .pt-account-license-detail__product-actions {
        width: 100%;
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .pt-account-license-detail__product-actions .pt-account-button {
        width: 100%;
    }

    .pt-account-license-detail__product-actions form {
        flex: 1 1 16rem;
    }

    .pt-account-license-detail__facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-license-order > dl {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-order-detail__product {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        padding: 1.8rem;
    }

    .pt-order-detail__after-sales-notice {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 1.6rem 1.8rem;
    }

    .pt-order-detail__after-sales-notice > strong {
        grid-column: 2;
        justify-self: start;
    }

    .pt-order-detail__product h2 {
        white-space: normal;
    }

    .pt-order-detail__product > .status-text {
        grid-column: 2;
        justify-self: start;
    }

    .pt-order-detail__metrics > div {
        padding: 1.6rem 1.8rem;
    }

    .pt-order-detail__checkout-body,
    .pt-order-detail__activity-list,
    .pt-order-detail__license-list {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-order-detail__checkout-body .payment-options {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-order-detail__checkout-body > form > .pt-account-button {
        width: 100%;
    }

    .pt-order-detail__activity-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-order-detail__activity-amount,
    .pt-order-detail__activity-action,
    .pt-order-detail__activity-error,
    .pt-order-detail__activity-note {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .pt-order-detail__license-heading {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pt-order-detail__license-heading h3 {
        white-space: normal;
    }

    .pt-order-detail__license-heading > .status-text {
        grid-column: 2;
        justify-self: start;
    }

    .pt-order-detail__license-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-order-detail__license-facts > div + div {
        padding-left: 0;
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }

    .pt-order-detail__license-actions,
    .pt-order-detail__license-actions .pt-account-button {
        width: 100%;
    }

    .pt-qa-content-actions,
    .pt-qa-answer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pt-qa-answer-actions > form,
    .pt-qa-answer-actions .pt-qa-button,
    .pt-qa-governance-form__actions,
    .pt-qa-governance-form__actions .pt-qa-button,
    .pt-account-governance-form__actions,
    .pt-account-governance-form__actions .pt-account-button {
        width: 100%;
    }

    .pt-account-governance-form__body dl {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-account-governance-form__body dl > div + div {
        border-top: 1px solid var(--pt-account-border);
        border-left: 0;
    }
}

/*
 * 关于胖头。页面以真实平台能力和参与者关系为主，样式作用域不影响市场与账户页面。
 */
.pt-about-page {
    --pt-about-theme: #2274ff;
    --pt-about-theme-strong: #145bd7;
    --pt-about-title: #202832;
    --pt-about-text: #505b68;
    --pt-about-muted: #77828e;
    --pt-about-surface: #fff;
    --pt-about-bg: #f3f6f9;
    --pt-about-border: #e1e7ed;
    margin-top: 6rem;
    overflow: hidden;
    background: var(--pt-about-surface);
    color: var(--pt-about-text);
}

.pt-about-page h1,
.pt-about-page h2,
.pt-about-page h3,
.pt-about-page p {
    margin: 0;
    letter-spacing: 0;
}

.pt-about-page a {
    text-decoration: none;
}

.pt-about-page a:focus-visible {
    outline: 2px solid var(--pt-about-theme);
    outline-offset: 3px;
}

.pt-about-hero {
    position: relative;
    min-height: 48rem;
    overflow: hidden;
    background: #145bd7;
    background: var(--pt-about-theme-strong);
    color: #fff;
}

.pt-about-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 48rem;
    align-items: flex-start;
    padding-top: 7.5rem;
    padding-bottom: 16rem;
}

.pt-about-hero__content {
    max-width: 76rem;
}

.pt-about-eyebrow,
.pt-about-section-heading__eyebrow {
    display: block;
    margin-bottom: 1.2rem;
    color: var(--pt-about-theme);
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
}

.pt-about-eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.pt-about-hero h1 {
    font-size: 4.4rem;
    font-weight: 600;
    line-height: 1.25;
}

.pt-about-hero p {
    max-width: 72rem;
    margin-top: 1.8rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.7rem;
    line-height: 1.9;
}

.pt-about-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 3rem;
}

.pt-about-button {
    display: inline-flex;
    min-height: 4.4rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.9rem 1.8rem;
    border: 1px solid #fff;
    border-radius: 0.4rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.pt-about-button--white {
    background: #fff;
    color: #145bd7;
    color: var(--pt-about-theme-strong);
}

.pt-about-button--white:hover {
    border-color: #e8f0ff;
    background: #e8f0ff;
    color: #145bd7;
    color: var(--pt-about-theme-strong);
}

.pt-about-button--outline {
    background: transparent;
    color: #fff;
}

.pt-about-button--outline:hover {
    background: #fff;
    color: #145bd7;
    color: var(--pt-about-theme-strong);
}

.pt-about-hero__landscape {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: -1px;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    pointer-events: none;
}

.pt-about-intro,
.pt-about-products,
.pt-about-principles,
.pt-about-audience,
.pt-about-contact {
    padding-right: 2rem;
    padding-left: 2rem;
}

.pt-about-intro {
    padding-top: 9rem;
    padding-bottom: 9rem;
}

.pt-about-intro__inner {
    display: grid;
    grid-template-areas: "visual copy";
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: stretch;
    column-gap: 7rem;
}

.pt-about-intro__visual {
    grid-area: visual;
    min-width: 0;
}

.pt-about-intro__visual > .pt-about-section-heading {
    margin: 0 0 2.4rem;
}

.pt-about-intro__visual > .pt-about-section-heading .pt-about-intro__lead {
    margin-top: 0 !important;
    line-height: 1.5;
}

.pt-about-section-heading h2,
.pt-about-contact h2 {
    color: var(--pt-about-title);
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.45;
}

.pt-about-section-heading > p {
    max-width: 68rem;
    margin-top: 1.4rem;
    color: var(--pt-about-muted);
    font-size: 1.5rem;
    line-height: 1.8;
}

.pt-about-section-heading--center {
    max-width: 76rem;
    margin: 0 auto 4.5rem;
    text-align: center;
}

.pt-about-section-heading--center > p {
    margin-right: auto;
    margin-left: auto;
}

.pt-about-intro__copy {
    grid-area: copy;
    padding-top: 0.2rem;
}

@media (min-width: 992px) {
    .pt-about-intro__visual,
    .pt-about-intro__copy {
        min-height: 0;
        height: auto;
    }
}

@media (max-width: 991.98px) {
    .navigation-small .menu-btn .label {
        display: none;
    }
}

.pt-about-intro__image {
    width: min(78%, 36rem);
    margin: 0 0 2.4rem;
    overflow: hidden;
    border-radius: 0.8rem;
    background: var(--pt-about-bg);
}

.pt-about-intro__image img {
    display: block;
    width: 100%;
    max-height: 28rem;
    object-fit: cover;
}

.pt-about-intro__copy p {
    font-size: 1.6rem;
    line-height: 1.95;
}

.pt-about-intro__copy p + p {
    margin-top: 1.8rem;
}

.pt-about-products {
    padding-top: 8.5rem;
    padding-bottom: 9rem;
    background: var(--pt-about-bg);
}

.pt-about-product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.pt-about-product {
    display: grid;
    min-height: 14.5rem;
    grid-template-columns: 5.2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: 2.8rem;
    border: 1px solid var(--pt-about-border);
    border-radius: 0.8rem;
    background: var(--pt-about-surface);
    color: var(--pt-about-text);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.pt-about-product:hover {
    border-color: #b9cbe4;
    box-shadow: 0 1rem 2.6rem rgba(34, 47, 62, 0.08);
    color: var(--pt-about-text);
    transform: translateY(-2px);
}

.pt-about-product__icon {
    display: inline-flex;
    width: 5.2rem;
    height: 5.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
}

.pt-about-product__icon .iconfont {
    font-size: 2.4rem;
}

.pt-about-product__icon.is-blue {
    background: #eaf2ff;
    color: #2274ff;
}

.pt-about-product__icon.is-green {
    background: #eaf7f1;
    color: #16845b;
}

.pt-about-product__icon.is-amber {
    background: #fff4db;
    color: #a66900;
}

.pt-about-product__icon.is-cyan {
    background: #e7f7f8;
    color: #147782;
}

.pt-about-product__body {
    display: block;
    min-width: 0;
}

.pt-about-product__body strong,
.pt-about-product__body small {
    display: block;
}

.pt-about-product__body strong {
    color: var(--pt-about-title);
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.pt-about-product__body small {
    margin-top: 0.7rem;
    color: var(--pt-about-muted);
    font-size: 1.4rem;
    line-height: 1.75;
}

.pt-about-product__arrow {
    color: #a0aab5;
    font-size: 1.4rem;
}

.pt-about-principles {
    padding-top: 9rem;
    padding-bottom: 9rem;
}

.pt-about-principles__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 9rem;
}

.pt-about-principles__lead > p {
    max-width: 48rem;
    margin-top: 2rem;
    color: var(--pt-about-muted);
    font-size: 1.5rem;
    line-height: 1.9;
}

.pt-about-principle-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-about-principle-list li {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 2rem;
    padding: 2.4rem 0;
    border-top: 1px solid var(--pt-about-border);
}

.pt-about-principle-list li:last-child {
    border-bottom: 1px solid var(--pt-about-border);
}

.pt-about-principle-list > li > span {
    padding-top: 0.2rem;
    color: var(--pt-about-theme);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.6;
}

.pt-about-principle-list h3 {
    color: var(--pt-about-title);
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.5;
}

.pt-about-principle-list p {
    margin-top: 0.5rem;
    color: var(--pt-about-muted);
    font-size: 1.4rem;
    line-height: 1.75;
}

.pt-about-audience {
    padding-top: 8.5rem;
    padding-bottom: 8.5rem;
    background: #202b38;
    color: #fff;
}

.pt-about-section-heading--light {
    max-width: 70rem;
}

.pt-about-section-heading--light .pt-about-section-heading__eyebrow {
    color: #7fb0ff;
}

.pt-about-section-heading--light h2 {
    color: #fff;
}

.pt-about-audience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5rem;
    margin-top: 4.5rem;
}

.pt-about-audience__grid > div {
    padding-top: 0;
}

.pt-about-audience__title {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding-bottom: 2rem;
}

.pt-about-audience__grid .iconfont {
    display: inline-flex;
    margin-bottom: 0;
    color: #7fb0ff;
    font-size: 2.6rem;
}

.pt-about-audience__grid strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.pt-about-audience__grid p {
    margin-top: 0;
    padding-top: 1.8rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.68);
    font-size: 1.4rem;
    line-height: 1.8;
}

.pt-about-contact {
    padding-top: 8.5rem;
    padding-bottom: 8.5rem;
    background: var(--pt-about-bg);
}

.pt-about-contact__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 8rem;
}

.pt-about-contact__heading > p {
    max-width: 52rem;
    margin-top: 1.4rem;
    color: var(--pt-about-muted);
    font-size: 1.5rem;
    line-height: 1.8;
}

.pt-about-contact__details {
    margin: 0;
    font-style: normal;
}

.pt-about-contact__details > div,
.pt-about-contact__details > a {
    display: grid;
    grid-template-columns: 4.4rem minmax(0, 1fr);
    align-items: center;
    gap: 1.6rem;
    padding: 1.8rem 0;
    border-top: 1px solid var(--pt-about-border);
    color: var(--pt-about-title);
    font-size: 1.5rem;
    line-height: 1.6;
}

.pt-about-contact__details > :last-child {
    border-bottom: 1px solid var(--pt-about-border);
}

.pt-about-contact__details .iconfont {
    display: inline-flex;
    width: 4.4rem;
    height: 4.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    background: #e7effa;
    color: var(--pt-about-theme-strong);
    font-size: 2rem;
}

.pt-about-contact__details span,
.pt-about-contact__details small {
    display: block;
    min-width: 0;
}

.pt-about-contact__details small {
    margin-bottom: 0.2rem;
    color: var(--pt-about-muted);
    font-size: 1.2rem;
    line-height: 1.5;
}

.pt-about-contact__details > a:hover {
    color: var(--pt-about-theme-strong);
}

@media (max-width: 991.98px) {
    .pt-about-hero,
    .pt-about-hero__inner {
        min-height: 44rem;
    }

    .pt-about-hero__inner {
        padding-top: 6.5rem;
        padding-bottom: 12rem;
    }

    .pt-about-intro__inner,
    .pt-about-principles__inner,
    .pt-about-contact__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 4rem;
    }

    .pt-about-intro__inner {
        grid-template-areas:
            "visual"
            "copy";
        row-gap: 3.2rem;
    }

    .pt-about-intro__image {
        width: 100%;
    }

    .pt-about-intro,
    .pt-about-products,
    .pt-about-principles,
    .pt-about-audience,
    .pt-about-contact {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }

    .pt-about-audience__grid {
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
    .pt-about-hero h1 {
        font-size: 3.6rem;
    }

    .pt-about-section-heading h2,
    .pt-about-contact h2 {
        font-size: 2.6rem;
    }

    .pt-about-product-grid,
    .pt-about-audience__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-about-audience__grid {
        gap: 2.8rem;
    }

    .pt-about-product {
        min-height: 13rem;
    }

    .pt-about-intro__image {
        margin-bottom: 2.4rem;
    }

    .pt-about-intro__image img {
        max-height: 24rem;
    }
}

@media (max-width: 575.98px) {
    .pt-about-hero,
    .pt-about-hero__inner {
        min-height: 42rem;
    }

    .pt-about-hero__inner {
        padding: 5.2rem 2rem 10rem;
    }

    .pt-about-hero h1 {
        font-size: 3.2rem;
    }

    .pt-about-hero p {
        font-size: 1.5rem;
        line-height: 1.8;
    }

    .pt-about-hero__actions,
    .pt-about-button {
        width: 100%;
    }

    .pt-about-intro,
    .pt-about-products,
    .pt-about-principles,
    .pt-about-audience,
    .pt-about-contact {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-about-section-heading--center {
        text-align: left;
    }

    .pt-about-product {
        grid-template-columns: 4.8rem minmax(0, 1fr);
        gap: 1.6rem;
        padding: 2.2rem 1.8rem;
    }

    .pt-about-product__icon {
        width: 4.8rem;
        height: 4.8rem;
    }

    .pt-about-product__arrow {
        display: none;
    }

    .pt-about-principle-list li {
        grid-template-columns: 3.4rem minmax(0, 1fr);
        gap: 1.2rem;
    }
}

/* 官网一级介绍页共用同一 Banner 高度，避免页面切换时首屏内容上下跳动。 */
.plugin-banner,
.template-banner,
.pt-qa-hero,
.pt-about-hero {
    height: 48rem;
    min-height: 48rem;
}

.plugin-banner .content,
.template-banner .content,
.pt-qa-hero__inner,
.pt-about-hero__inner {
    height: 100%;
    min-height: 0;
}

.plugin-banner {
    background-image: url("../static/images/banner-addons.svg");
    background-position: center;
}

.template-banner {
    background-image: url("../static/images/banner-templates.svg");
    background-position: center;
}

@media (max-width: 767.98px) {
    .plugin-banner,
    .template-banner,
    .pt-qa-hero {
        background-position: 30% center;
    }
}

/*
 * CMS 新闻中心。变量限定在新闻页面，用于列表、详情、富文本和分页的统一展示。
 */
.pt-news-page {
    /* 新闻页面品牌色。用于链接、标签、焦点和强调状态。 */
    --pt-news-theme: #2274ff;
    /* 新闻页面深品牌色。用于 Banner 背景和强调文字。 */
    --pt-news-theme-strong: #145bd7;
    /* 新闻页面标题色。用于正文标题和列表标题。 */
    --pt-news-text-title: #202832;
    /* 新闻页面正文色。用于文章和摘要。 */
    --pt-news-text-body: #4f5a67;
    /* 新闻页面辅助文字色。用于时间、来源和浏览量。 */
    --pt-news-text-muted: #75808c;
    /* 新闻页面背景色。用于列表页和空状态区域。 */
    --pt-news-bg: #f3f6f9;
    /* 新闻页面内容表面色。用于独立内容块。 */
    --pt-news-surface: #fff;
    /* 新闻页面边框色。用于列表分隔与内容边界。 */
    --pt-news-border: #e1e7ed;
    /* 新闻页面圆角。用于封面和独立内容块。 */
    --pt-news-radius: 0.8rem;
    min-height: 70vh;
    margin-top: 6rem;
    overflow: hidden;
    background: var(--pt-news-bg);
    color: var(--pt-news-text-body);
}

.pt-news-page--index {
    background: #fff;
}

.pt-news-page h1,
.pt-news-page h2,
.pt-news-page h3,
.pt-news-page p,
.pt-news-page figure {
    margin: 0;
    letter-spacing: 0;
}

.pt-news-page a {
    text-decoration: none;
}

.pt-news-page a:focus-visible {
    outline: 2px solid var(--pt-news-theme);
    outline-offset: 3px;
}

.pt-news-hero {
    height: 48rem;
    min-height: 48rem;
    padding: 0 2rem;
    background-color: #145bd7;
    background-color: var(--pt-news-theme-strong);
    background-image: url("../static/images/banner-news.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}

.pt-news-hero__inner {
    display: flex;
    height: 100%;
    align-items: center;
}

.pt-news-hero__content {
    max-width: 72rem;
}

.pt-news-eyebrow {
    display: block;
    margin-bottom: 1rem;
    color: var(--pt-news-theme);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
}

.pt-news-hero .pt-news-eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.pt-news-hero h1 {
    font-size: 4.2rem;
    font-weight: 600;
    line-height: 1.25;
}

.pt-news-hero p {
    max-width: 66rem;
    margin-top: 1.6rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.6rem;
    line-height: 1.9;
}

@media (min-width: 768px) {
    .pt-qa-hero {
        background-position: center bottom;
        background-size: 100% auto;
    }
}

.pt-news-hero__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2.6rem;
}

.pt-news-hero__categories a {
    display: inline-flex;
    min-height: 3.8rem;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.8rem;
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.pt-news-hero__categories a:hover,
.pt-news-hero__categories a:focus-visible,
.pt-news-hero__categories a.is-active {
    border-color: #fff;
    background: #fff;
    color: #155dcc;
}

.pt-news-index {
    padding: 7rem 2rem 9rem;
}

.pt-news-featured {
    display: grid;
    min-height: 36rem;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    overflow: hidden;
    border: 1px solid var(--pt-news-border);
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    background: var(--pt-news-surface);
    box-shadow: none;
}

@media (min-width: 992px) {
    .pt-news-index {
        padding-right: 7.5px;
        padding-left: 7.5px;
    }

    .pt-news-featured {
        height: 36rem;
    }

    .pt-news-featured h2,
    .pt-news-featured__body > p {
        overflow: hidden;
    }

    .pt-news-featured h2 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

.pt-news-featured__media,
.pt-news-list-item__media {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #e7effa;
    color: #86a8d8;
}

.pt-news-featured__media img,
.pt-news-list-item__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pt-news-featured__media .iconfont {
    font-size: 7rem;
    line-height: 1;
    transform: none;
}

.pt-news-featured__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 1rem 4.5rem 2rem;
}

.pt-news-label {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    padding: 0.4rem 1rem;
    border-radius: 0.4rem;
    background: #eaf2ff;
    color: var(--pt-news-theme-strong);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.5;
}

.pt-news-featured h2 {
    margin-top: 3.1rem;
    padding: 1.2rem 0;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.45;
}

.pt-news-featured h2 a,
.pt-news-list-item h3 a {
    color: var(--pt-news-text-title);
    transition: color 180ms ease;
}

.pt-news-featured h2 a:hover,
.pt-news-list-item h3 a:hover,
.pt-news-featured h2 a:focus-visible,
.pt-news-list-item h3 a:focus-visible {
    color: var(--pt-news-theme-strong);
}

.pt-news-featured__body > p {
    display: -webkit-box;
    margin-top: 1rem;
    overflow: hidden;
    color: var(--pt-news-text-muted);
    font-size: 1.45rem;
    line-height: 1.85;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.pt-news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.4rem;
    color: var(--pt-news-text-muted);
    font-size: 1.25rem;
    line-height: 1.6;
}

.pt-news-featured .pt-news-meta {
    margin-top: 1.8rem;
}

.pt-news-more,
.pt-news-list-item__link,
.pt-news-related__back {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--pt-news-theme-strong);
    font-size: 1.35rem;
    font-weight: 500;
}

.pt-news-more {
    margin-top: 2.4rem;
}

.pt-news-more .iconfont,
.pt-news-list-item__link .iconfont,
.pt-news-related__back .iconfont {
    font-size: 1.1rem;
}

.pt-news-feed {
    margin-top: 5rem;
}

.pt-news-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--pt-news-border);
}

.pt-news-section-heading h2 {
    color: var(--pt-news-text-title);
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.pt-news-section-heading > span {
    color: var(--pt-news-text-muted);
    font-size: 1.25rem;
}

.pt-news-list-item {
    display: grid;
    grid-template-columns: 24rem minmax(0, 1fr);
    gap: 3rem;
    padding: 3rem 0;
    border-bottom: 1px solid rgba(225, 231, 237, 0.3);
}

.pt-news-list-item__media {
    min-height: 14rem;
    aspect-ratio: 16 / 9;
    border-radius: var(--pt-news-radius);
}

.pt-news-list-item__media .iconfont {
    font-size: 4rem;
    line-height: 1;
    transform: none;
}

.pt-news-list-item__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.pt-news-status {
    padding: 0.1rem 0.6rem;
    border-radius: 0.4rem;
    background: #eaf2ff;
    color: var(--pt-news-theme-strong);
}

.pt-news-list-item h3 {
    margin-top: 0.8rem;
    overflow-wrap: anywhere;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
}

.pt-news-list-item__body > p {
    display: -webkit-box;
    margin-top: 0.8rem;
    overflow: hidden;
    color: var(--pt-news-text-muted);
    font-size: 1.4rem;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.pt-news-list-item__link {
    margin-top: 1.2rem;
}

.pt-news-feed .pt-cms-pager {
    margin-top: 3.5rem;
    margin-bottom: 0;
}

.pt-news-empty {
    padding: 9rem 2rem;
    border: 1px solid var(--pt-news-border);
    border-radius: var(--pt-news-radius);
    background: var(--pt-news-surface);
    text-align: center;
}

.pt-news-empty .iconfont {
    display: block;
    margin-bottom: 1.8rem;
    color: #9bb4d2;
    font-size: 5.2rem;
}

.pt-news-empty h2 {
    color: var(--pt-news-text-title);
    font-size: 2.2rem;
    font-weight: 600;
}

.pt-news-empty p {
    margin-top: 0.8rem;
    color: var(--pt-news-text-muted);
    font-size: 1.4rem;
}

.pt-news-detail-page {
    background: var(--pt-news-surface);
}

.pt-news-detail-shell {
    padding: 3rem 2rem 9rem;
}

.pt-news-breadcrumb {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 3.5rem;
    color: var(--pt-news-text-muted);
    font-size: 1.25rem;
    line-height: 1.6;
}

.pt-news-breadcrumb a {
    color: var(--pt-news-theme-strong);
}

.pt-news-breadcrumb .iconfont {
    color: #aab3bd;
    font-size: 1rem;
}

.pt-news-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 21.33%);
    align-items: start;
    gap: 7rem;
}

.pt-news-detail-layout--single {
    grid-template-columns: minmax(0, 1fr);
}

.pt-news-detail-layout--single .pt-news-article-wrap {
    width: 100%;
}

.pt-news-article-wrap,
.pt-news-article {
    min-width: 0;
}

.pt-news-article__header {
    padding-bottom: 3.5rem;
    border-bottom: 1px solid var(--pt-news-border);
}

.pt-news-article__header h1 {
    margin-top: 1.8rem;
    overflow-wrap: anywhere;
    color: var(--pt-news-text-title);
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.4;
}

.pt-news-article__header > p {
    margin-top: 1.5rem;
    color: var(--pt-news-text-muted);
    font-size: 1.55rem;
    line-height: 1.85;
}

.pt-news-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.8rem;
    margin-top: 2.2rem;
    color: var(--pt-news-text-muted);
    font-size: 1.25rem;
    line-height: 1.6;
}

.pt-news-article__toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.pt-news-article__toolbar .pt-news-article__meta {
    min-width: 0;
}

.pt-news-print-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    min-width: 8rem;
    height: 3.6rem;
    padding: 0 1.4rem;
    border: 1px solid #d7e0ea;
    border-radius: 0.4rem;
    background: #fff;
    color: #425466;
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.pt-news-print-button:hover,
.pt-news-print-button:focus-visible {
    border-color: var(--pt-news-theme);
    background: #f5f8fc;
    color: var(--pt-news-theme-strong);
}

.pt-news-print-button:focus-visible {
    outline: 2px solid rgb(34 116 255 / 25%);
    outline-offset: 2px;
}

.pt-news-print-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 4rem;
    padding-top: 2.4rem;
    border-top: 1px solid var(--pt-news-border);
}

.pt-news-article__meta a {
    color: var(--pt-news-theme-strong);
}

.pt-news-article__cover {
    margin-top: 3.5rem;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: var(--pt-news-radius);
    background: var(--pt-news-bg);
}

.pt-news-article__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pt-news-article__content {
    min-width: 0;
    padding-top: 4rem;
    overflow-wrap: anywhere;
    color: #37414c;
    font-size: 1.6rem;
    line-height: 1.95;
}

.pt-news-article__content > :first-child {
    margin-top: 0;
}

.pt-news-article__content h2,
.pt-news-article__content h3,
.pt-news-article__content h4 {
    color: var(--pt-news-text-title);
    font-weight: 600;
    line-height: 1.5;
}

.pt-news-article__content h2 {
    margin: 4rem 0 1.5rem;
    font-size: 2.5rem;
    text-align: left;
}

/* Platform progress uses compact section headings inside long-form updates. */
.pt-progress-article__content {
    padding-top: 3.2rem;
}

.pt-progress-article__content h2 {
    height: auto;
    min-height: 0;
    margin: 3.6rem 0 1rem;
    padding: 0;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.pt-progress-article__content h2:first-child {
    margin-top: 0;
}

.pt-progress-article__content h2 + p {
    margin-top: 0;
}

.pt-progress-article__content p {
    margin-bottom: 0;
}

.pt-progress-article__content a {
    text-decoration-color: rgba(34, 116, 255, 0.38);
    text-decoration-thickness: 1px;
}

@media (max-width: 767.98px) {
    .pt-progress-article__content {
        padding-top: 2.6rem;
    }

    .pt-progress-article__content h2 {
        margin-top: 3rem;
        font-size: 1.9rem;
    }
}

.pt-news-article__content h3 {
    margin: 3.2rem 0 1.2rem;
    font-size: 2.1rem;
}

.pt-news-article__content h4 {
    margin: 2.8rem 0 1rem;
    font-size: 1.8rem;
}

.pt-news-article__content p,
.pt-news-article__content ul,
.pt-news-article__content ol,
.pt-news-article__content blockquote,
.pt-news-article__content pre,
.pt-news-article__content table,
.pt-news-article__content figure {
    margin: 1.6rem 0;
}

.pt-news-article__content ul,
.pt-news-article__content ol {
    padding-left: 2.4rem;
}

.pt-news-article__content ul {
    list-style: disc;
}

.pt-news-article__content ol {
    list-style: decimal;
}

.pt-news-article__content li + li {
    margin-top: 0.6rem;
}

.pt-news-article__content a {
    color: var(--pt-news-theme-strong);
    text-decoration: underline;
    text-underline-offset: 0.25em;
}

.pt-news-article__content img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 2.5rem auto;
    border-radius: 0.6rem;
}

.pt-news-article__content blockquote {
    padding: 1.6rem 2rem;
    border-left: 0.4rem solid var(--pt-news-theme);
    background: #f5f8fc;
    color: var(--pt-news-text-body);
}

.pt-news-article__content pre {
    max-width: 100%;
    padding: 1.8rem;
    overflow-x: auto;
    border-radius: 0.6rem;
    background: #202b38;
    color: #edf2f7;
    font-size: 1.35rem;
    line-height: 1.7;
    white-space: pre;
}

.pt-news-article__content code {
    font-family: SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

.pt-news-article__content :not(pre) > code {
    padding: 0.15rem 0.45rem;
    border-radius: 0.3rem;
    background: #edf2f7;
    color: #9b2c2c;
    font-size: 0.9em;
}

.pt-news-article__content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    table-layout: auto;
}

.pt-news-article__content th,
.pt-news-article__content td {
    min-width: 10rem;
    padding: 1rem 1.2rem;
    border: 1px solid var(--pt-news-border);
    text-align: left;
    vertical-align: top;
}

.pt-news-article__content th {
    background: #f5f8fc;
    color: var(--pt-news-text-title);
    font-weight: 600;
}

/* Agreements and policies use a compact formal-document rhythm. */
.pt-legal-document__content {
    color: #2c3744;
    font-size: 1.6rem;
    line-height: 1.95;
}

.pt-legal-document__content > p:first-child {
    margin: 0 0 2.8rem;
    padding: 0 0 1.4rem;
    border-bottom: 1px solid #e3e8ef;
    color: #6a7685;
    font-size: 1.35rem;
    line-height: 1.7;
    text-align: right;
}

.pt-legal-document__content h2,
.pt-legal-document__content h3,
.pt-legal-document__content h4 {
    padding: 0;
    letter-spacing: 0;
    text-align: left;
}

.pt-legal-document__content h2 {
    margin: 4.6rem 0 2rem;
    padding: 0.35rem 0 0.35rem 1.35rem;
    border-left: 3px solid var(--pt-news-theme);
    color: #1f2a37;
    font-size: 2.2rem;
    font-weight: 650;
    line-height: 1.45;
}

.pt-legal-document__content h3 {
    margin: 3rem 0 1.2rem;
    color: #24466f;
    font-size: 1.8rem;
    font-weight: 650;
    line-height: 1.55;
}

.pt-legal-document__content h4 {
    margin: 2.4rem 0 1rem;
    color: #344054;
    font-size: 1.65rem;
    font-weight: 650;
    line-height: 1.55;
}

.pt-legal-document__content p {
    margin: 0 0 1.35rem;
    text-align: justify;
    text-justify: inter-ideograph;
}

.pt-legal-document__content strong {
    color: #182230;
    font-weight: 600;
}

.pt-legal-document__content ul,
.pt-legal-document__content ol {
    margin: 1.2rem 0 1.8rem;
    padding-left: 2.6rem;
}

.pt-legal-document__content li {
    padding-left: 0.2rem;
}

.pt-legal-document__content ul > li {
    list-style-type: disc;
}

.pt-legal-document__content ol > li {
    list-style-type: decimal;
}

.pt-legal-document__content table {
    margin: 2.2rem 0 3rem;
    border: 1px solid #d8e0ea;
    background: #fff;
    font-size: 1.45rem;
    line-height: 1.7;
}

.pt-legal-document__content th,
.pt-legal-document__content td {
    padding: 1.1rem 1.3rem;
    border-color: #d8e0ea;
}

.pt-legal-document__content th {
    background: #edf4fd;
    color: #243b56;
}

.pt-news-article__empty {
    color: var(--pt-news-text-muted);
}

.pt-news-attachments {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--pt-news-border);
}

.pt-news-attachments h2 {
    color: var(--pt-news-text-title);
    font-size: 1.8rem;
    font-weight: 600;
}

.pt-news-attachments ul {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.pt-news-attachments a {
    display: flex;
    min-height: 4.8rem;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.4rem;
    border: 1px solid var(--pt-news-border);
    border-radius: 0.6rem;
    color: var(--pt-news-text-body);
    font-size: 1.35rem;
    overflow-wrap: anywhere;
    transition: border-color 180ms ease, color 180ms ease;
}

.pt-news-attachments a:hover {
    border-color: #adc5e5;
    color: var(--pt-news-theme-strong);
}

.pt-news-attachments .iconfont {
    flex: 0 0 auto;
    color: var(--pt-news-theme);
    font-size: 1.8rem;
}

.pt-news-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    margin-top: 4rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--pt-news-border);
    color: var(--pt-news-text-muted);
    font-size: 1.25rem;
}

.pt-news-tags a,
.pt-news-tags__item {
    padding: 0.5rem 0.9rem;
    border-radius: 0.4rem;
    background: #eef3f8;
    color: var(--pt-news-text-body);
}

.pt-news-adjacent {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem;
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: 1px solid var(--pt-news-border);
}

.pt-news-adjacent a,
.pt-news-adjacent > span {
    display: block;
    min-width: 0;
}

.pt-news-adjacent .is-next {
    text-align: right;
}

.pt-news-adjacent small,
.pt-news-adjacent strong {
    display: block;
}

.pt-news-adjacent small {
    color: var(--pt-news-text-muted);
    font-size: 1.2rem;
}

.pt-news-adjacent strong {
    margin-top: 0.6rem;
    overflow-wrap: anywhere;
    color: var(--pt-news-text-title);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.65;
}

.pt-news-adjacent a:hover strong {
    color: var(--pt-news-theme-strong);
}

.pt-news-related {
    position: sticky;
    top: 9rem;
    min-width: 0;
    padding-left: 3rem;
    border-left: 1px solid var(--pt-news-border);
}

.pt-news-related h2 {
    color: var(--pt-news-text-title);
    font-size: 2rem;
    font-weight: 600;
}

.pt-news-related ol {
    margin-top: 1.5rem;
    counter-reset: related-news;
}

.pt-news-related li {
    position: relative;
    padding: 1.6rem 0 1.6rem 3rem;
    border-bottom: 1px solid var(--pt-news-border);
    counter-increment: related-news;
}

.pt-news-related li::before {
    position: absolute;
    top: 1.7rem;
    left: 0;
    color: #9aa7b5;
    content: counter(related-news, decimal-leading-zero);
    font-size: 1.15rem;
    font-weight: 600;
}

.pt-news-related li a,
.pt-news-related li time {
    display: block;
}

.pt-news-related li a {
    overflow-wrap: anywhere;
    color: var(--pt-news-text-title);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.65;
}

.pt-news-related li a:hover {
    color: var(--pt-news-theme-strong);
}

.pt-news-related li time {
    margin-top: 0.5rem;
    color: var(--pt-news-text-muted);
    font-size: 1.15rem;
}

.pt-news-related > p {
    margin-top: 1.5rem;
    color: var(--pt-news-text-muted);
    font-size: 1.3rem;
    line-height: 1.7;
}

.pt-news-related__back {
    margin-top: 2.4rem;
}

@media (max-width: 991.98px) {
    .pt-news-featured {
        min-height: 32rem;
    }

    .pt-news-featured__body {
        justify-content: center;
        padding: 3.5rem;
    }

    .pt-news-detail-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 5rem;
    }

    .pt-news-related {
        position: static;
        padding: 3rem 0 0;
        border-top: 1px solid var(--pt-news-border);
        border-left: 0;
    }

    .pt-news-related ol {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 3rem;
    }
}

@media (max-width: 767.98px) {
    .pt-news-hero {
        background-position: 30% center;
    }

    .pt-news-hero h1 {
        font-size: 3.6rem;
    }

    .pt-news-featured {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-news-featured__media {
        aspect-ratio: 16 / 9;
    }

    .pt-news-list-item {
        grid-template-columns: 18rem minmax(0, 1fr);
        gap: 2rem;
    }

    .pt-news-article__header h1 {
        font-size: 3rem;
    }
}

@media (max-width: 575.98px) {
    .pt-news-hero {
        height: 48rem;
        min-height: 48rem;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
        background-position: 38% center;
    }

    .pt-news-hero h1 {
        font-size: 3.2rem;
    }

    .pt-news-hero p {
        font-size: 1.5rem;
    }

    .pt-news-hero__categories {
        gap: 0.8rem;
        margin-top: 2.2rem;
    }

    .pt-news-hero__categories a {
        min-height: 3.6rem;
        padding: 0.7rem 1.4rem;
        font-size: 1.3rem;
    }

    .pt-news-index,
    .pt-news-detail-shell {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .pt-news-index {
        padding-top: 4.5rem;
        padding-bottom: 6rem;
    }

    .pt-news-featured__body {
        padding: 2.5rem 2rem;
    }

    .pt-news-featured h2 {
        font-size: 2.3rem;
    }

    .pt-news-feed {
        margin-top: 5rem;
    }

    .pt-news-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.8rem;
    }

    .pt-news-section-heading h2 {
        font-size: 2.4rem;
    }

    .pt-news-list-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.8rem;
        padding: 2.5rem 0;
    }

    .pt-news-list-item__media {
        width: 100%;
        min-height: 0;
    }

    .pt-news-detail-shell {
        padding-top: 2.2rem;
        padding-bottom: 6rem;
    }

    .pt-news-breadcrumb {
        margin-bottom: 2.5rem;
    }

    .pt-news-article__header h1 {
        font-size: 2.7rem;
    }

    .pt-news-article__toolbar {
        align-items: flex-start;
    }

    .pt-news-print-button {
        min-width: 7.2rem;
        height: 3.4rem;
        padding: 0 1.1rem;
    }

    .pt-news-article__header > p,
    .pt-news-article__content {
        font-size: 1.5rem;
    }

    .pt-news-article__content {
        padding-top: 3rem;
    }

    .pt-news-article__content h2 {
        font-size: 2.2rem;
    }

    .pt-news-article__content h3 {
        font-size: 1.9rem;
    }

    .pt-legal-document__content {
        font-size: 1.5rem;
        line-height: 1.9;
    }

    .pt-legal-document__content > p:first-child {
        margin-bottom: 2.2rem;
        font-size: 1.3rem;
    }

    .pt-legal-document__content h2 {
        margin: 3.6rem 0 1.6rem;
        padding: 0.25rem 0 0.25rem 1rem;
        font-size: 2rem;
    }

    .pt-legal-document__content h3 {
        margin-top: 2.6rem;
        font-size: 1.7rem;
    }

    .pt-legal-document__content h4 {
        margin-top: 2.2rem;
        font-size: 1.55rem;
    }

    .pt-legal-document__content p {
        margin-bottom: 1.2rem;
    }

    .pt-legal-document__content th,
    .pt-legal-document__content td {
        min-width: 8.6rem;
        padding: 0.9rem 1rem;
    }

    .pt-news-adjacent {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .pt-news-adjacent .is-next {
        text-align: left;
    }

    .pt-news-related ol {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pt-news-page *,
    .pt-news-page *::before,
    .pt-news-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    @page {
        margin: 16mm 14mm;
    }

    .header-nav,
    #navigation-small-box,
    .skip-link,
    .pt-news-breadcrumb,
    .pt-news-print-button,
    .pt-news-print-footer,
    .pt-news-adjacent,
    .footer,
    .suspension {
        display: none !important;
    }

    body,
    .site-main,
    .pt-news-page,
    .pt-news-detail-page {
        background: #fff !important;
    }

    .pt-news-detail-shell {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }

    .pt-news-detail-layout,
    .pt-news-detail-layout--single,
    .pt-news-detail-layout--single .pt-news-article-wrap {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
    }

    .pt-news-article__header {
        padding-bottom: 8mm;
    }

    .pt-news-article__header h1 {
        color: #000;
        font-size: 22pt;
    }

    .pt-news-article__content,
    .pt-legal-document__content {
        padding-top: 8mm;
        color: #000;
        font-size: 11pt;
        line-height: 1.75;
    }

    .pt-news-article__content h2,
    .pt-news-article__content h3,
    .pt-news-article__content h4,
    .pt-news-article__content strong {
        color: #000;
    }

    .pt-news-article__content h2,
    .pt-news-article__content h3,
    .pt-news-article__content h4 {
        break-after: avoid-page;
    }

    .pt-news-article__content p,
    .pt-news-article__content li {
        orphans: 3;
        widows: 3;
    }

    .pt-news-article__content a {
        color: inherit;
        text-decoration: none;
    }
}

/* Public page banners share the homepage's blue, typography and alignment. */
.plugin-banner,
.template-banner,
.pt-news-hero,
.pt-qa-hero,
.pt-about-hero {
    height: 48rem;
    min-height: 48rem;
    overflow: hidden;
    background-color: #2274ff;
}

.plugin-banner,
.template-banner {
    padding: 0 2rem;
    color: #fff;
}

.plugin-banner .content,
.template-banner .content {
    height: 100%;
    min-height: 0;
    align-items: center;
}

.plugin-banner .content .introduce,
.template-banner .content .introduce {
    width: min(100%, 60rem);
}

.pt-market-hero-eyebrow,
.pt-market-detail-eyebrow,
.pt-news-hero .pt-news-eyebrow,
.pt-qa-hero .pt-qa-eyebrow,
.pt-about-hero .pt-about-eyebrow {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
}

.pt-market-hero-eyebrow::before,
.pt-market-detail-eyebrow::before,
.pt-news-hero .pt-news-eyebrow::before,
.pt-qa-hero .pt-qa-eyebrow::before,
.pt-about-hero .pt-about-eyebrow::before {
    width: 4rem;
    height: 0.3rem;
    flex: 0 0 auto;
    background: #83e6c2;
    content: "";
}

.plugin-banner .content .introduce .title,
.template-banner .content .introduce .title {
    margin: 2.4rem 0 0;
    color: #fff;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
}

.plugin-banner .content .introduce .desc,
.template-banner .content .introduce .desc {
    max-width: 58rem;
    margin: 2rem 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.7rem;
    line-height: 1.9;
    text-align: left;
    text-indent: 0;
}

.pt-market-hero-action {
    display: inline-flex;
    min-height: 4.6rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 3rem;
    padding: 0 2rem;
    border: 1px solid #fff;
    border-radius: 0.4rem;
    background: #fff;
    color: #155dcc;
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
}

.pt-market-hero-action:hover,
.pt-market-hero-action:focus-visible {
    background: #eef5ff;
    color: #155dcc;
}

.pt-news-hero h1,
.pt-qa-hero h1,
.pt-about-hero h1 {
    margin-top: 2.4rem;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.25;
}

.pt-news-hero p,
.pt-qa-hero p,
.pt-about-hero p {
    margin-top: 1.8rem;
    font-size: 1.7rem;
    line-height: 1.9;
}

/* PTAdmin keeps its product screenshot on desktop and uses a focused mobile hero. */
.pt-open-source-hero {
    height: 480px;
    min-height: 480px;
}

.pt-open-source-hero__inner {
    height: 100%;
    min-height: 0;
    padding-top: 32px;
    padding-bottom: 32px;
}

/* Product detail banners use the same hierarchy in a compact format. */
.plugin-detail .plugin-detail-banner,
.template-detail .template-detail-banner {
    height: 32rem;
    min-height: 32rem;
    overflow: hidden;
    background-color: #1768e8;
    background-position: right center;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box,
.template-detail .template-detail-banner .template_banner_box {
    display: flex;
    height: 100%;
    min-height: 32rem;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    padding: 4rem 2rem;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .title,
.template-detail .template-detail-banner .template_banner_box .title {
    max-width: 72rem;
    margin: 1.8rem 0 0;
    color: #fff;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .desc,
.template-detail .template-detail-banner .template_banner_box .desc {
    max-width: 68rem;
    margin: 1.2rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.5rem;
    line-height: 1.8;
    text-align: left;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns {
    justify-content: flex-start;
    margin-top: 2.4rem;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy {
    margin: 0 1rem 0 0;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy > a {
    min-height: 4.2rem;
    padding: 0.9rem 1.8rem;
    border: 1px solid #fff;
    border-radius: 0.4rem;
    background: #fff;
    color: #155dcc;
    font-weight: 700;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy:not(.buy--secondary) > a:hover,
.plugin-detail .plugin-detail-banner .plugin_banner_box .banner-btns .buy:not(.buy--secondary) > a:focus-visible {
    border-color: #fff;
    background: #eef5ff;
    color: #155dcc;
}

@media (max-width: 991.98px) {
    .pt-open-source-hero__inner {
        display: flex;
        align-items: center;
        padding: 4rem 2.4rem;
    }

    .pt-open-source-hero__content {
        width: min(100%, 68rem);
    }

    .pt-open-source-hero__preview {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .plugin-banner,
    .template-banner {
        padding: 0 2rem;
        background-position: center;
    }

    .plugin-banner .content .introduce,
    .template-banner .content .introduce {
        width: min(100%, 35rem);
    }

    .pt-market-hero-eyebrow,
    .pt-market-detail-eyebrow,
    .pt-news-hero .pt-news-eyebrow,
    .pt-qa-hero .pt-qa-eyebrow,
    .pt-about-hero .pt-about-eyebrow {
        gap: 1rem;
        font-size: 1.2rem;
    }

    .pt-market-hero-eyebrow::before,
    .pt-market-detail-eyebrow::before,
    .pt-news-hero .pt-news-eyebrow::before,
    .pt-qa-hero .pt-qa-eyebrow::before,
    .pt-about-hero .pt-about-eyebrow::before {
        width: 3rem;
        height: 0.2rem;
    }

    .plugin-banner .content .introduce .title,
    .template-banner .content .introduce .title,
    .pt-news-hero h1,
    .pt-qa-hero h1,
    .pt-about-hero h1 {
        margin-top: 2rem;
        font-size: 3.2rem;
        line-height: 1.28;
        text-align: left;
    }

    .plugin-banner .content .introduce .desc,
    .template-banner .content .introduce .desc,
    .pt-news-hero p,
    .pt-qa-hero p,
    .pt-about-hero p {
        margin-top: 1.5rem;
        font-size: 1.5rem;
        line-height: 1.75;
        text-align: left;
    }

    .pt-market-hero-action {
        min-height: 4.2rem;
        margin-top: 2.4rem;
        padding: 0 1.8rem;
        font-size: 1.4rem;
    }

    .pt-open-source-hero h1 {
        font-size: 4.2rem;
    }

    .plugin-detail .plugin-detail-banner,
    .template-detail .template-detail-banner {
        height: 28rem;
        min-height: 28rem;
        background-position: center;
    }

    .plugin-detail .plugin-detail-banner .plugin_banner_box,
    .template-detail .template-detail-banner .template_banner_box {
        min-height: 28rem;
        padding: 3rem 2rem;
    }

    .plugin-detail .plugin-detail-banner .plugin_banner_box .title,
    .template-detail .template-detail-banner .template_banner_box .title {
        margin-top: 1.5rem;
        font-size: 3rem;
    }

    .plugin-detail .plugin-detail-banner .plugin_banner_box .desc,
    .template-detail .template-detail-banner .template_banner_box .desc {
        font-size: 1.4rem;
    }
}

/* Keep plugin detail heroes aligned with the plugin market hero. */
.plugin-detail .plugin-detail-banner {
    height: 48rem;
    min-height: 48rem;
}

.plugin-detail .plugin-detail-banner .plugin_banner_box {
    min-height: 48rem;
}

@media (max-width: 767.98px) {
    .plugin-detail .plugin-detail-banner {
        height: 48rem;
        min-height: 48rem;
    }

    .plugin-detail .plugin-detail-banner .plugin_banner_box {
        min-height: 48rem;
    }
}

/* Refined public footer layout. Content remains supplied by the CMS/template. */
.home-friend-links {
    border-bottom: 1px solid rgba(197, 206, 216, 0.18);
}

.home-friend-links__inner {
    min-height: 7.2rem;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
    border-bottom: 0;
}

.home-friend-links__title {
    min-width: 8.4rem;
    font-weight: 600;
    line-height: 1.5;
}

.home-friend-links__list {
    gap: 0.8rem 2.6rem;
}

.home-friend-links__list a,
.home-friend-links__empty {
    line-height: 1.6;
}

.footer .links-box {
    padding: 4.8rem 0 4.4rem;
}

.footer .links-box .row {
    align-items: stretch;
    margin-top: 0;
    margin-bottom: 0;
}

.footer .links-box .content {
    min-height: 18rem;
    padding-right: 3.2rem;
    padding-left: 3.2rem;
}

.footer .links-box .content:first-child {
    padding-left: 0.75rem;
}

.footer .links-box .content + .content {
    border-left: 1px solid rgba(197, 206, 216, 0.15);
}

.footer .links-box .content .links {
    height: 100%;
}

.footer .links .title {
    margin-bottom: 2rem;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
}

.footer .links li:not(.title) {
    margin-bottom: 1.1rem;
    line-height: 1.6;
}

.footer .links li a {
    line-height: 1.6;
}

.footer .links-box .content:last-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.footer .links-box .content:last-child .logo {
    margin-bottom: 1.6rem;
}

.footer .links-box .content:last-child .website-introduction {
    max-width: 28rem;
    line-height: 1.9;
}

.footer .filings-box {
    padding-top: 2.4rem;
    padding-bottom: 2.8rem;
}

.footer .filings-box .container {
    line-height: 1.9;
}

.footer .filings-box .footer-reprint-notice {
    margin-bottom: 1.1rem;
    line-height: 1.8;
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .links-box .content {
        min-height: 19rem;
        padding-right: 2.4rem;
        padding-left: 2.4rem;
    }

    .footer .links-box .content:first-child {
        padding-left: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .home-friend-links__inner {
        align-items: flex-start;
        gap: 1rem;
        min-height: 0;
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .home-friend-links__title {
        min-width: 0;
    }

    .home-friend-links__list {
        width: 100%;
    }

    .footer .links-box {
        padding-top: 2.4rem;
        padding-bottom: 1rem;
    }

    .footer .links-box .content,
    .footer .links-box .content:first-child {
        display: block;
        min-height: 0;
        margin-bottom: 0;
        padding: 2rem 0 2.2rem;
        border-left: 0;
        border-bottom: 1px solid rgba(197, 206, 216, 0.15);
    }

    .footer .links-box .content:first-child {
        padding-top: 0;
    }

    .footer .links-box .content:last-child {
        border-bottom: 0;
    }

    .footer .links-box .content .links {
        text-align: left;
    }

    .footer .links .title {
        margin-bottom: 1.4rem;
    }

    .footer .links li:not(.title) {
        margin-bottom: 0.8rem;
    }

    .footer .links-box .content:last-child .website-introduction {
        max-width: none;
        padding: 0;
    }

    .footer .filings-box {
        padding-top: 1.8rem;
        padding-bottom: 2.2rem;
    }

    .footer .filings-box .container {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }
}

/* Footer company fields and final responsive spacing. */
.footer .footer-contact-item {
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.6;
}

@media (min-width: 992px) {
    .footer .links-box .row {
        display: grid;
        grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.92fr) minmax(0, 1.28fr) minmax(0, 1.18fr);
    }

    .footer .links-box .content {
        width: auto;
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .footer .links-box .row {
        margin-right: 0;
        margin-left: 0;
    }

    .footer .links-box .content,
    .footer .links-box .content:first-child {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }
}

/* Footer column dividers removed by request. */
.footer .links-box .content + .content {
    border-left: 0;
}

/* Footer uses grouped navigation with agreements as a stable fourth content source. */
.footer .links-box {
    padding: 5.6rem 0 5.2rem;
}

.footer .footer-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr));
    gap: 4.8rem;
}

.footer .footer-brand,
.footer .footer-group {
    min-width: 0;
}

.footer .footer-brand__logo {
    display: inline-flex;
    margin-bottom: 1.8rem;
}

.footer .footer-brand__logo img {
    width: 13rem;
    max-width: 100%;
}

.footer .footer-brand h2,
.footer .footer-group h2 {
    margin: 0 0 1.8rem;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
}

.footer .footer-brand__description {
    max-width: 34rem;
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.9;
}

.footer .footer-brand__contact {
    display: grid;
    gap: 0.8rem;
    margin: 2rem 0 0;
}

.footer .footer-brand__contact > div {
    display: flex;
    gap: 1.2rem;
    min-width: 0;
    line-height: 1.6;
}

.footer .footer-brand__contact dt {
    flex: 0 0 3.2rem;
    color: #8996a5;
    font-size: 1.3rem;
}

.footer .footer-brand__contact dd {
    min-width: 0;
    margin: 0;
}

.footer .footer-brand__contact a,
.footer .footer-brand__contact dd {
    color: #c5ced8;
    font-size: 1.4rem;
    overflow-wrap: anywhere;
}

.footer .footer-group ul {
    display: grid;
    gap: 1.1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer .footer-group li {
    margin: 0;
    line-height: 1.6;
}

.footer .footer-group li a {
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.footer .footer-group li a:hover,
.footer .footer-brand__contact a:hover {
    color: #fff;
}

.footer .footer-group__address {
    max-width: 22rem;
    margin: 2rem 0 0;
    color: #8996a5;
    font-size: 1.3rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4rem 5rem;
    }
}

@media (max-width: 575.98px) {
    .footer .links-box {
        padding: 3.6rem 0 2.8rem;
    }

    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .footer .footer-brand,
    .footer .footer-group {
        padding: 0 1.8rem 2.8rem;
        margin-bottom: 2.8rem;
        border-bottom: 1px solid rgba(197, 206, 216, 0.14);
    }

    .footer .footer-group:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .footer .footer-brand h2,
    .footer .footer-group h2 {
        margin-bottom: 1.4rem;
    }
}

/* Footer visual hierarchy refined without divider lines. */
.footer .footer-layout {
    grid-template-columns: minmax(0, 1.75fr) repeat(3, minmax(0, 1fr));
    gap: 4.4rem;
}

.footer .footer-brand__head {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2.2rem;
}

.footer .footer-brand__head .footer-brand__logo {
    margin-bottom: 0;
}

.footer .footer-brand__head h2 {
    margin: 0;
}

.footer .footer-brand__description {
    max-width: 38rem;
}

.footer .footer-brand__contact {
    gap: 0.9rem;
    margin-top: 2.2rem;
}

.footer .footer-brand__contact dd {
    line-height: 1.7;
}

.footer .footer-group {
    padding-top: 0.4rem;
}

.footer .footer-group h2 {
    margin-bottom: 2rem;
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4.4rem 5rem;
    }
}

@media (max-width: 575.98px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .footer .footer-brand,
    .footer .footer-group {
        padding: 0 1.8rem 3rem;
        margin-bottom: 3rem;
        border-bottom: 0;
    }

    .footer .footer-brand__head {
        margin-bottom: 1.8rem;
    }

    .footer .footer-brand__description {
        max-width: none;
    }

    .footer .footer-group h2 {
        margin-bottom: 1.6rem;
    }

    .footer .footer-group:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }
}

/* Footer spacing and separators finalized. */
.home-friend-links {
    border-bottom: 0;
}

.footer .filings-box {
    border-top: 0 !important;
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        gap: 3.6rem;
    }
}

@media (max-width: 575.98px) {
    .footer .links-box {
        padding-top: 3.2rem;
    }

    .footer .footer-brand,
    .footer .footer-group {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }
}

/* Footer headings aligned with their content. */
.footer .footer-brand h2,
.footer .footer-group h2 {
    padding: 0;
    text-align: left;
}

.footer .footer-brand__head h2 {
    padding: 0;
    text-align: left;
}

/* Footer structure rebuilt as brand plus grouped navigation. */
.footer .links-box {
    padding: 4.8rem 0 4.6rem;
}

.footer .footer-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.65fr);
    gap: 8rem;
    align-items: start;
}

.footer .footer-brand,
.footer .footer-groups,
.footer .footer-group {
    min-width: 0;
}

.footer .footer-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4.2rem;
}

.footer .footer-brand__head {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 1.8rem;
}

.footer .footer-brand__logo {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}

.footer .footer-brand__logo img {
    width: 13rem;
    max-width: 100%;
}

.footer .footer-brand h2,
.footer .footer-group h2 {
    margin: 0 0 1.6rem;
    padding: 0;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.footer .footer-brand__head h2 {
    margin: 0;
}

.footer .footer-brand__description {
    max-width: 34rem;
    margin: 0;
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.85;
}

.footer .footer-brand__contact {
    display: grid;
    gap: 0.9rem;
    margin: 2.2rem 0 0;
}

.footer .footer-brand__contact > div {
    display: flex;
    gap: 1.2rem;
    min-width: 0;
    line-height: 1.6;
}

.footer .footer-brand__contact dt {
    flex: 0 0 3.2rem;
    color: #8996a5;
    font-size: 1.3rem;
}

.footer .footer-brand__contact dd {
    min-width: 0;
    margin: 0;
    color: #c5ced8;
    font-size: 1.4rem;
    overflow-wrap: anywhere;
}

.footer .footer-brand__contact a,
.footer .footer-group li a {
    color: #c5ced8;
}

.footer .footer-group ul {
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer .footer-group li {
    margin: 0;
    line-height: 1.6;
}

.footer .footer-group li a {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.footer .footer-group li a:hover,
.footer .footer-brand__contact a:hover {
    color: #fff;
}

.footer .filings-box {
    border-top: 0 !important;
    padding: 2rem 0 2.2rem;
}

.footer .filings-box .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem 4rem;
    line-height: 1.8;
}

.footer .filings-box .footer-reprint-notice,
.footer .filings-box .footer-copyright {
    margin: 0;
    color: #c5ced8;
    font-size: 1.3rem;
}

.footer .filings-box .footer-reprint-notice {
    flex: 1 1 34rem;
}

.footer .filings-box .footer-copyright {
    flex: 0 1 auto;
    text-align: right;
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 4.4rem;
    }

    .footer .footer-groups {
        gap: 3.6rem;
    }
}

@media (max-width: 575.98px) {
    .footer .links-box {
        padding: 3.6rem 0 3.2rem;
    }

    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 3.2rem;
    }

    .footer .footer-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.8rem 2.4rem;
    }

    .footer .footer-group:last-child {
        grid-column: 1 / -1;
    }

    .footer .filings-box {
        padding: 1.8rem 0 2rem;
    }

    .footer .filings-box .container {
        display: grid;
        gap: 0.8rem;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .footer .filings-box .footer-copyright {
        text-align: left;
    }
}

/* Footer bottom boundary restored above filings. */
.footer .filings-box {
    border-top: 1px solid #2b2b2b !important;
}

/* Footer company information separated with icon labels. */
.footer .links-box {
    padding: 4.8rem 0 4.6rem;
}

.footer .footer-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 0.9fr) minmax(0, 1.7fr);
    gap: 5.4rem;
    align-items: start;
}

.footer .footer-brand,
.footer .footer-company-info,
.footer .footer-groups,
.footer .footer-group {
    min-width: 0;
}

.footer .footer-brand__head {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin-bottom: 1.8rem;
}

.footer .footer-brand__logo {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}

.footer .footer-brand__logo img {
    width: 13rem;
    max-width: 100%;
}

.footer .footer-brand h2,
.footer .footer-company-info h2,
.footer .footer-group h2 {
    margin: 0 0 1.6rem;
    padding: 0;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.footer .footer-brand__head h2 {
    margin: 0;
}

.footer .footer-brand__description {
    max-width: 28rem;
    margin: 0;
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.85;
}

.footer .footer-company-info__list {
    display: grid;
    gap: 1.4rem;
}

.footer .footer-company-info__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.7;
}

.footer .footer-company-info__item > i {
    flex: 0 0 1.8rem;
    margin-top: 0.25rem;
    color: #5d9bff;
    font-size: 1.6rem;
    line-height: 1;
}

.footer .footer-company-info__item > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.footer .footer-company-info__item strong {
    color: #fff;
    font-size: 1.3rem;
    font-weight: 600;
}

.footer .footer-company-info__item span,
.footer .footer-company-info__item a {
    color: #c5ced8;
    overflow-wrap: anywhere;
}

.footer .footer-company-info__item a:hover {
    color: #fff;
}

.footer a.footer-company-info__item--complaint {
    color: #c5ced8;
    text-decoration: none;
}

.footer a.footer-company-info__item--complaint:hover > i,
.footer a.footer-company-info__item--complaint:hover strong,
.footer a.footer-company-info__item--complaint:hover span {
    color: #fff;
}

.footer .footer-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.6rem;
}

.footer .footer-group ul {
    display: grid;
    gap: 0.9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer .footer-group li {
    margin: 0;
    line-height: 1.6;
}

.footer .footer-group li a {
    display: inline-block;
    color: #c5ced8;
    font-size: 1.4rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.footer .footer-group li a:hover {
    color: #fff;
}

.footer .filings-box {
    border-top: 1px solid #2b2b2b !important;
    padding: 2rem 0 2.2rem;
}

.footer .filings-box .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem 4rem;
    line-height: 1.8;
}

.footer .filings-box .footer-reprint-notice,
.footer .filings-box .footer-copyright {
    margin: 0;
    color: #c5ced8;
    font-size: 1.3rem;
}

.footer .filings-box .footer-reprint-notice {
    flex: 1 1 34rem;
}

.footer .filings-box .footer-copyright {
    flex: 0 1 auto;
    text-align: right;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 1.6fr);
        gap: 3.2rem;
    }

    .footer .footer-groups {
        gap: 2rem;
    }
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4rem 5rem;
    }

    .footer .footer-groups {
        grid-column: 1 / -1;
        gap: 3.6rem;
    }
}

@media (max-width: 575.98px) {
    .footer .links-box {
        padding: 3.6rem 0 3.2rem;
    }

    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 3.2rem;
    }

    .footer .footer-brand__description {
        max-width: none;
    }

    .footer .footer-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.8rem 2.4rem;
    }

    .footer .footer-group:last-child {
        grid-column: 1 / -1;
    }

    .footer .filings-box {
        padding: 1.8rem 0 2rem;
    }

    .footer .filings-box .container {
        display: grid;
        gap: 0.8rem;
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .footer .filings-box .footer-copyright {
        text-align: left;
    }
}

/* Brand description removed: keep the footer columns compact and aligned. */
.footer .footer-layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.75fr);
    gap: 4.8rem;
}

.footer .footer-brand__head {
    margin-bottom: 0;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.95fr) minmax(0, 1.65fr);
        gap: 3rem;
    }
}

@media (max-width: 575.98px) {
    .footer .footer-layout {
        gap: 2.8rem;
    }
}
/* Keep the brand and company details together as one identity area. */
.footer .footer-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    gap: 7rem;
}

.footer .footer-identity {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 3.6rem;
    align-items: start;
    min-width: 0;
}

.footer .footer-identity > .footer-brand,
.footer .footer-identity > .footer-company-info {
    min-width: 0;
}

.footer .footer-identity .footer-company-info h2 {
    margin-bottom: 1.6rem;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.65fr);
        gap: 3rem;
    }

    .footer .footer-identity {
        gap: 2.4rem;
    }

    .footer .footer-groups {
        gap: 2rem;
    }
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 4rem;
    }

    .footer .footer-groups {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    .footer .footer-identity {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.8rem;
    }
}
/* Tune grouped footer identity proportions. */
.footer .footer-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.45fr);
    gap: 6rem;
}

.footer .footer-identity {
    grid-template-columns: minmax(22rem, 0.85fr) minmax(0, 1.15fr);
    gap: 3.2rem;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.65fr);
        gap: 3rem;
    }

    .footer .footer-identity {
        grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.1fr);
        gap: 2.4rem;
    }
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 4rem;
    }
}

@media (max-width: 575.98px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.8rem;
    }

    .footer .footer-identity {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.8rem;
    }
}
/* Stack brand and company details vertically. */
.footer .footer-identity {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
}

.footer .footer-identity .footer-brand__head {
    margin-bottom: 0;
}

@media (max-width: 575.98px) {
    .footer .footer-identity {
        gap: 2.8rem;
    }
}
/* Company heading removed so contact details join the brand block cleanly. */
.footer .footer-identity {
    gap: 2.4rem;
}

@media (max-width: 575.98px) {
    .footer .footer-identity {
        gap: 2.2rem;
    }
}
/* Keep footer contact icon, label, and value on one line. */
.footer .footer-company-info__item > div {
    display: flex;
    align-items: baseline;
    gap: 1.2rem;
}

.footer .footer-company-info__item strong {
    flex: 0 0 auto;
    white-space: nowrap;
}

.footer .footer-company-info__item span,
.footer .footer-company-info__item a {
    flex: 1 1 auto;
    min-width: 0;
}
/* Constrained divider below home friend links. */
.home-friend-links {
    border-bottom: 0;
}

.home-friend-links .home-friend-links__inner {
    border-bottom: 1px solid #2b2b2b;
}
/* Final footer rhythm and responsive alignment. */
.home-friend-links__inner {
    min-height: 6.6rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.footer .links-box {
    padding: 4.4rem 0 4.2rem;
}

.footer .footer-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    gap: 5.6rem;
    align-items: start;
}

.footer .footer-identity {
    gap: 2.6rem;
}

.footer .footer-brand__head {
    min-height: 3rem;
}

.footer .footer-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4rem;
    align-items: start;
}

.footer .footer-group {
    padding-top: 0;
}

.footer .footer-brand__head,
.footer .footer-group h2 {
    margin-bottom: 0;
}

.footer .footer-group h2 {
    min-height: 3rem;
    line-height: 3rem;
}

.footer .footer-group ul {
    margin-top: 1.2rem;
}

.footer .footer-company-info__list {
    gap: 1.3rem;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.65fr);
        gap: 3.2rem;
    }

    .footer .footer-groups {
        gap: 2.4rem;
    }
}

@media (max-width: 991.98px) and (min-width: 576px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 4rem;
    }
}

@media (max-width: 575.98px) {
    .home-friend-links {
        display: none;
    }

    .home-friend-links__inner {
        min-height: 0;
        padding-top: 1.7rem;
        padding-bottom: 1.7rem;
    }

    .footer .links-box {
        padding: 3.2rem 0 3.4rem;
    }

    .footer .footer-layout {
        gap: 3.8rem;
    }

    .footer .footer-identity,
    .footer .footer-groups {
        padding-right: 1.8rem;
        padding-left: 1.8rem;
    }

    .footer .footer-identity {
        gap: 2.4rem;
    }

    .footer .footer-identity > .footer-brand,
    .footer .footer-group,
    .footer .footer-group:last-child {
        margin: 0;
        padding: 0;
        border: 0;
    }

    .footer .footer-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3.6rem 3.2rem;
    }

    .footer .footer-group:last-child {
        grid-column: 1 / -1;
    }

    .footer .footer-group h2 {
        min-height: 2.4rem;
        line-height: 2.4rem;
    }

    .footer .footer-group ul {
        margin-top: 1.2rem;
    }
}
/* Final mobile footer must remain a single outer column. */
@media (max-width: 575.98px) {
    .footer .footer-layout {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* Remove vertical dividers from the home capability row. */
.home-platform-capabilities__list li,
.home-platform-capabilities__list li:first-child,
.home-platform-capabilities__list li:nth-child(3) {
    border-left: 0;
}
/* Unify partner and capability section backgrounds. */
.cooperate-pal,
.home-platform-capabilities {
    background: #f7f9fc;
}
/* Keep both legal notices together on the right on desktop. */
@media (min-width: 992px) {
    .footer .filings-box .container {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }

    .footer .filings-box .footer-reprint-notice {
        flex: 0 0 auto;
        text-align: left;
    }

    .footer .filings-box .footer-copyright {
        text-align: left;
    }
}

/* About navigation and anchored company information. */
.header-nav .navigation-default .navigation-box .navs .about-navigation-item .about-sub-nav {
    width: 17rem;
    min-width: 17rem;
}

#about-company,
#about-contact {
    scroll-margin-top: 8rem;
}

.pt-about-contact__details > a {
    text-decoration: none;
    transition: color 160ms ease;
}

/* About page information rhythm and visual anchors. */
.pt-about-page-nav {
    position: relative;
    z-index: 3;
    border-bottom: 1px solid var(--pt-about-border);
    background: #fff;
}

.pt-about-page-nav__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 7.2rem;
}

.pt-about-page-nav__inner a {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
    padding: 0 2.4rem;
    color: var(--pt-about-title);
    font-size: 1.4rem;
    font-weight: 500;
    transition: background-color 160ms ease, color 160ms ease;
}

.pt-about-page-nav__inner a::after {
    position: absolute;
    right: 2.4rem;
    bottom: 0;
    left: 2.4rem;
    height: 2px;
    background: transparent;
    content: "";
}

.pt-about-page-nav__inner a:hover,
.pt-about-page-nav__inner a:focus-visible {
    background: #f6f9fd;
    color: var(--pt-about-theme-strong);
}

.pt-about-page-nav__inner a:hover::after,
.pt-about-page-nav__inner a:focus-visible::after {
    background: var(--pt-about-theme);
}

.pt-about-page-nav__inner span {
    color: var(--pt-about-theme);
    font-size: 1.1rem;
    font-weight: 600;
}

.pt-about-intro__lead {
    max-width: 46rem;
    margin-top: 2rem !important;
    color: var(--pt-about-muted);
    font-size: 1.4rem;
    line-height: 1.8;
}

.pt-about-company-facts {
    display: grid;
    gap: 0;
    max-width: 46rem;
    margin: 3rem 0 0;
    border-top: 1px solid var(--pt-about-border);
}

.pt-about-company-facts > div {
    display: grid;
    grid-template-columns: 13rem minmax(0, 1fr);
    align-items: center;
    gap: 1.6rem;
    min-height: 6.4rem;
    border-bottom: 1px solid var(--pt-about-border);
}

.pt-about-company-facts dt,
.pt-about-company-facts dd {
    margin: 0;
}

.pt-about-company-facts dt {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--pt-about-title);
    font-size: 1.3rem;
    font-weight: 600;
}

.pt-about-company-facts dt .iconfont {
    color: var(--pt-about-theme);
    font-size: 1.7rem;
}

.pt-about-company-facts dd {
    color: var(--pt-about-muted);
    font-size: 1.3rem;
    line-height: 1.65;
}

.pt-about-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 3rem;
}

.pt-about-contact__actions a {
    display: inline-flex;
    min-height: 4.2rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--pt-about-theme);
    border-radius: 0.4rem;
    background: transparent;
    color: var(--pt-about-theme-strong);
    font-size: 1.4rem;
    font-weight: 500;
    transition: background-color 160ms ease, color 160ms ease;
}

.pt-about-contact__actions a:first-child {
    background: var(--pt-about-theme);
    color: #fff;
}

.pt-about-contact__actions a:hover,
.pt-about-contact__actions a:focus-visible {
    background: var(--pt-about-theme-strong);
    color: #fff;
}

#about-company,
#about-products,
#about-principles,
#about-contact {
    scroll-margin-top: 8rem;
}

@media (max-width: 991.98px) {
    .pt-about-page-nav__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-about-page-nav__inner a {
        min-height: 5.6rem;
        border-bottom: 1px solid var(--pt-about-border);
    }

    .pt-about-page-nav__inner a:nth-child(2n) {
        border-right: 1px solid var(--pt-about-border);
    }
}

@media (max-width: 575.98px) {
    .pt-about-page-nav__inner {
        display: flex;
        min-height: 5.4rem;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .pt-about-page-nav__inner::-webkit-scrollbar {
        display: none;
    }

    .pt-about-page-nav__inner a {
        min-width: 12rem;
        min-height: 5.4rem;
        flex: 0 0 auto;
        padding: 0 1.6rem;
        border-bottom: 0;
        white-space: nowrap;
    }

    .pt-about-page-nav__inner a::after {
        right: 1.6rem;
        left: 1.6rem;
    }

    .pt-about-company-facts {
        margin-top: 2.4rem;
    }

    .pt-about-company-facts > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.5rem;
        padding: 1.4rem 0;
    }

    .pt-about-contact__actions,
    .pt-about-contact__actions a {
        width: 100%;
    }
}

/* Align the desktop footer navigation groups to their right edge. */
@media (min-width: 992px) {
    .footer .footer-group {
        text-align: right;
    }

    .footer .footer-group h2 {
        text-align: right;
    }

    .footer .footer-group ul {
        justify-items: end;
    }

    .footer .footer-group li {
        width: 100%;
    }
}

/* Keep the footer filing separator aligned with the content container. */
.footer .filings-box {
    border-top: 0 !important;
    padding-top: 0;
}

.footer .filings-box .container {
    border-top: 1px solid #2b2b2b;
    padding-top: 2rem;
}

@media (max-width: 575.98px) {
    .footer .filings-box {
        padding-top: 0;
    }

    .footer .filings-box .container {
        padding-top: 1.8rem;
    }
}

/* Give the compact mobile footer clear section boundaries. */
@media (max-width: 575.98px) {
    .footer .footer-company-info {
        padding-top: 2.2rem;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer .footer-groups {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2.8rem 1.4rem;
        padding-top: 2.8rem;
        border-top: 0;
    }

    .footer .footer-group {
        padding-top: 1.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer .footer-group h2 {
        min-height: 2.2rem;
        line-height: 2.2rem;
    }

    .footer .footer-group ul {
        margin-top: 0.8rem;
    }

    .footer .footer-group {
        text-align: center;
    }

    .footer .footer-group ul {
        width: 100%;
        justify-items: stretch;
    }

    .footer .footer-group h2,
    .footer .footer-group li,
    .footer .footer-group li a {
        text-align: center;
    }

    .footer .footer-group:last-child {
        grid-column: auto;
        padding-top: 1.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer .filings-box .container {
        display: block;
        padding-top: 1.6rem;
        text-align: left;
    }

    .footer .filings-box .footer-reprint-notice,
    .footer .filings-box .footer-copyright {
        display: inline;
        margin: 0;
        line-height: 1.7;
    }

    .footer .filings-box .footer-reprint-notice {
        margin-right: 0.4rem;
    }
}

/* Keep the desktop footer navigation compact and aligned right. */
@media (min-width: 992px) {
    .footer .footer-groups {
        grid-template-columns: repeat(3, 14rem);
        justify-content: end;
        column-gap: 8.2rem;
        transform: none;
    }
}

/* Keep the desktop contact heading aligned left. */
@media (min-width: 992px) {
    .pt-about-contact__heading h2 {
        text-align: left;
    }
}

/* Match the audience section to the navigation theme. */
.pt-about-audience {
    background: #2274ff;
    background-image: url("../static/images/home_banner.png");
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.pt-about-audience .pt-about-section-heading--light {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.pt-about-audience__grid .iconfont {
    color: #fff;
}

/* Keep the desktop service-principles heading aligned left. */
@media (min-width: 992px) {
    .pt-about-principles__lead h2 {
        text-align: left;
    }
}

/* Move the principles split slightly right while keeping the right side wider. */
@media (min-width: 992px) {
    .pt-about-principles__inner {
        grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
    }
}

/* Shift the entire principles list block right on desktop. */
@media (min-width: 992px) {
    .pt-about-principle-list {
        margin-left: 5.4rem;
    }
}

/* Shift the contact details block to the centered split on desktop. */
@media (min-width: 992px) {
    .pt-about-contact__details {
        margin-left: 2.4rem;
    }
}

/* Add breathing room between contact icons and their text. */
.pt-about-contact__details > div,
.pt-about-contact__details > a {
    column-gap: 3.6rem;
}

/* Keep the company name heading aligned left. */
.pt-about-intro #about-intro-title {
    text-align: left;
}

/* Keep mobile page and footer content on one consistent 2rem gutter. */
@media (max-width: 575.98px) {
    .container-xxl,
    .footer .filings-box .container {
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }
}

/* Present the mobile menu as a primary-navigation rail with a detail panel. */
@media (max-width: 991.98px) {
    body:has(#navigation-small-box:not([hidden])) {
        overflow: hidden;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav {
        background: #2274ff;
        border-bottom-color: rgba(244, 244, 244, 0.2941176471);
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .navigation-small .logo img {
        filter: none;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .menu-btn .iconfont,
    body:has(#navigation-small-box:not([hidden])) .header-nav .menu-btn .label {
        display: none;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .menu-btn {
        min-width: 4.4rem;
        justify-content: center;
        border: 0;
        background: transparent;
        color: #fff;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .menu-btn:focus-visible {
        outline: 0;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .menu-btn::before {
        display: block;
        color: #fff;
        content: "\00d7";
        font-size: 3.2rem;
        font-weight: 300;
        line-height: 1;
    }

    #navigation-small-box {
        height: calc(100vh - 6rem);
        max-height: none;
        overflow: hidden;
        background: #fff;
    }

    #navigation-small-box .mobile-nav-utility {
        display: flex;
        min-height: 4.2rem;
        align-items: center;
        justify-content: center;
        gap: 2.2rem;
        padding: 0 1.8rem;
        overflow-x: auto;
        border-bottom: 1px solid #e5e9ef;
        color: #697482;
        font-size: 1.3rem;
        white-space: nowrap;
        scrollbar-width: none;
    }

    #navigation-small-box .mobile-nav-utility::-webkit-scrollbar {
        display: none;
    }

    #navigation-small-box .mobile-nav-utility a {
        color: #4c5663;
        text-decoration: none;
    }

    #navigation-small-box .mobile-nav-utility a:hover,
    #navigation-small-box .mobile-nav-utility a:focus-visible {
        color: #2274ff;
    }

    #navigation-small-box .mobile-nav-utility__language {
        color: #303945;
    }

    .header-nav .navigation-small .mobile-header-actions {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .header-nav .navigation-small .mobile-user-link {
        display: inline-flex;
        width: 4rem;
        height: 4.4rem;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
    }

    .header-nav .navigation-small .mobile-user-link .iconfont {
        font-size: 2.2rem;
    }

    .header-nav .navigation-small .mobile-user-avatar {
        display: block;
        width: 2.4rem;
        height: 2.4rem;
        overflow: hidden;
        border-radius: 50%;
    }

    .header-nav .navigation-small .mobile-user-avatar .pt-user-avatar {
        width: 100%;
        height: 100%;
    }

    body:has(#navigation-small-box:not([hidden])) .header-nav .navigation-small .mobile-user-link {
        display: none;
    }

    #navigation-small-box .navigation-small-box {
        display: block;
        height: calc(100% - 4.2rem);
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: #fff;
        border-radius: 0;
    }

    #navigation-small-box .mobile-nav-rail {
        min-width: 0;
        width: 100%;
        padding: 0.6rem 0;
        overflow-y: auto;
        scrollbar-width: none;
        background: #f7f8fa;
        border-right: 1px solid #edf0f4;
    }

    #navigation-small-box .mobile-nav-rail::-webkit-scrollbar,
    #navigation-small-box .mobile-nav-content::-webkit-scrollbar {
        display: none;
    }

    #navigation-small-box .mobile-nav-item,
    #navigation-small-box .mobile-nav-link {
        display: flex;
        width: 100%;
        min-height: 4.8rem;
        align-items: center;
        margin: 0;
        padding: 0 1.6rem;
        border: 0;
        border-left: 3px solid transparent;
        background: transparent;
        color: #3d4652;
        font: inherit;
        font-size: 1.5rem;
        line-height: 1.4;
        text-align: left;
        cursor: pointer;
        text-decoration: none;
    }

    #navigation-small-box .mobile-nav-item[aria-selected="true"],
    #navigation-small-box .mobile-nav-link.is-current {
        border-left-color: #2274ff;
        background: #fff;
        color: #202833;
        font-weight: 600;
    }

    #navigation-small-box .mobile-nav-item:focus-visible,
    #navigation-small-box .mobile-nav-link:focus-visible {
        position: relative;
        z-index: 1;
        outline: 0;
        box-shadow: inset 0 0 0 2px rgba(34, 116, 255, 0.24);
    }

    #navigation-small-box .mobile-nav-content {
        display: none;
        min-width: 0;
        overflow-y: auto;
        scrollbar-width: none;
        background: #fff;
    }

    #navigation-small-box.has-mobile-content .navigation-small-box {
        display: grid;
        grid-template-columns: 12.8rem minmax(0, 1fr);
    }

    #navigation-small-box.has-mobile-content .mobile-nav-rail {
        width: auto;
    }

    #navigation-small-box.has-mobile-content .mobile-nav-content {
        display: block;
    }

    #navigation-small-box .mobile-nav-panel[hidden] {
        display: none;
    }

    #navigation-small-box .mobile-nav-panel__title {
        display: flex;
        min-height: 5.4rem;
        align-items: center;
        justify-content: space-between;
        padding: 0 1.8rem;
        border-bottom: 1px solid #e5e9ef;
        color: #252d38;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
        text-decoration: none;
    }

    #navigation-small-box .mobile-nav-panel__title .iconfont {
        color: #707b88;
        font-size: 1.5rem;
    }

    #navigation-small-box .mobile-nav-panel__title:hover,
    #navigation-small-box .mobile-nav-panel__title:focus-visible {
        color: #2274ff;
    }

    #navigation-small-box .mobile-nav-panel__links {
        padding: 0 1.8rem 1rem;
    }

    #navigation-small-box .mobile-nav-panel__links a {
        display: flex;
        min-height: 4.6rem;
        align-items: center;
        padding: 1.2rem 1rem;
        border-bottom: 1px solid #f0f2f5;
        color: #606b78;
        font-size: 1.4rem;
        line-height: 1.55;
        text-decoration: none;
    }

    #navigation-small-box .mobile-nav-panel__links a:hover,
    #navigation-small-box .mobile-nav-panel__links a:focus-visible,
    #navigation-small-box .mobile-nav-panel__links a.is-current {
        background: #f3f7ff;
        color: #2274ff;
    }

    #navigation-small-box .mobile-nav-panel__links a.is-child {
        padding-left: 2.2rem;
        color: #7a8490;
        font-size: 1.3rem;
    }

    #navigation-small-box .mobile-nav-nested-group {
        border-bottom: 1px solid #f0f2f5;
    }

    #navigation-small-box .mobile-nav-nested-heading {
        display: flex;
        min-height: 4.6rem;
        align-items: center;
    }

    #navigation-small-box .mobile-nav-nested-heading > a {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 4.6rem;
        padding: 1.2rem 1rem;
        border: 0;
        color: #606b78;
        font-size: 1.4rem;
        line-height: 1.55;
        text-decoration: none;
    }

    #navigation-small-box .mobile-nav-nested-toggle {
        display: inline-flex;
        width: 4.6rem;
        height: 4.6rem;
        flex: 0 0 4.6rem;
        align-items: center;
        justify-content: center;
        border: 0;
        background: transparent;
        color: #7d8793;
        cursor: pointer;
    }

    #navigation-small-box .mobile-nav-nested-toggle .iconfont {
        font-size: 1.4rem;
        transform: rotate(90deg);
        transition: transform 160ms ease, color 160ms ease;
    }

    #navigation-small-box .mobile-nav-nested-toggle[aria-expanded="true"] .iconfont {
        color: #2274ff;
        transform: rotate(-90deg);
    }

    #navigation-small-box .mobile-nav-nested-toggle:focus-visible,
    #navigation-small-box .mobile-nav-nested-heading > a:focus-visible {
        outline: 2px solid rgba(34, 116, 255, 0.28);
        outline-offset: -2px;
    }

    #navigation-small-box .mobile-nav-nested-heading > a:hover,
    #navigation-small-box .mobile-nav-nested-toggle:hover {
        color: #2274ff;
    }

    #navigation-small-box .mobile-nav-nested-children[hidden] {
        display: none;
    }

    #navigation-small-box .mobile-nav-nested-children {
        padding: 0 0 0.4rem 1rem;
    }

    #navigation-small-box .mobile-nav-nested-children a.is-child {
        min-height: 4.2rem;
        padding-top: 1.1rem;
        padding-bottom: 1.1rem;
        border-bottom: 0;
        font-size: 1.3rem;
    }
}

@media (max-width: 359.98px) {
    #navigation-small-box.has-mobile-content .navigation-small-box {
        grid-template-columns: 10.8rem minmax(0, 1fr);
    }

    #navigation-small-box .mobile-nav-item {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }
}

/* Keep the mobile menu split into left and right areas even when the right side is empty. */
@media (max-width: 991.98px) {
    #navigation-small-box .navigation-small-box {
        display: grid;
        grid-template-columns: 12.8rem minmax(0, 1fr);
    }

    #navigation-small-box .mobile-nav-rail {
        width: auto;
    }

    #navigation-small-box .mobile-nav-content {
        display: block;
    }
}

@media (max-width: 359.98px) {
    #navigation-small-box .navigation-small-box {
        grid-template-columns: 10.8rem minmax(0, 1fr);
    }
}

/* Use a stable state icon in the public header instead of generated user artwork. */
.header-nav .person-nav .site-auth-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.header-nav .person-nav .site-auth-avatar svg {
    display: block;
    width: 2.1rem;
    height: 2.1rem;
}

.header-nav .person-nav .site-auth-avatar--outline svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.header-nav .person-nav .site-auth-avatar--filled svg {
    fill: currentColor;
}

/* Keep the PC auth banner logo close to its copy. */
@media (min-width: 992px) {
    .pt-auth-page .pt-auth-stage__brand-inner {
        position: relative;
        justify-content: center;
    }

    .pt-auth-page .pt-auth-stage__brand-inner > img {
        position: absolute;
        top: calc(50% - 170px);
        left: 0;
    }
}

/* Center and enlarge only the PC guest icon; authenticated avatars keep their source image size. */
@media (min-width: 992px) {
    .pt-auth-page .pt-auth-stage__brand {
        height: 100%;
        min-height: 0;
    }

    .pt-auth-page .pt-auth-stage__brand-inner {
        height: 100%;
        min-height: 0;
    }

    .header-nav .navigation-default .person-nav > .person--guest {
        display: inline-flex;
        width: 6rem;
        height: 6rem;
        align-items: center;
        justify-content: center;
        padding: 0;
        color: #fff;
    }

    .header-nav .navigation-default .person-nav > .person--guest > .avatar {
        display: inline-flex;
        width: 2.8rem;
        height: 2.8rem;
        align-items: center;
        justify-content: center;
    }

    .header-nav .navigation-default .person-nav > .person--guest > .avatar .iconfont,
    .header-nav .navigation-default .person-nav .not-logged-in .info > .avatar .iconfont {
        display: block;
        font-size: 2.4rem;
        line-height: 1;
    }

    .header-nav .navigation-default .person-nav > .person--guest > .avatar .iconfont {
        color: #fff;
    }

    .header-nav .navigation-default .person-nav .not-logged-in .info > .avatar {
        display: inline-flex;
        width: 3.2rem;
        height: 3.2rem;
        flex: 0 0 3.2rem;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 991.98px) {
    .navigation-small .menu-btn .iconfont {
        display: block;
        width: 2.2rem;
        height: 1.6rem;
        position: relative;
        border-top: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        font-size: 0;
    }

    .navigation-small .menu-btn .iconfont::after {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 2px;
        background: currentColor;
        content: "";
        transform: translateY(-50%);
    }
}

@media (min-width: 992px) {
    .pt-auth-stage__brand-inner {
        align-items: center;
    }

    .pt-auth-stage__copy {
        width: max-content;
        max-width: 100%;
    }

    .pt-auth-stage__brand-inner > nav {
        margin-top: 22px;
        padding-top: 14px;
        border-top: 1px solid rgba(255, 255, 255, 0.32);
    }
}

@media (min-width: 992px) {
    .pt-auth-page .pt-auth-stage__brand-inner > img {
        left: 50%;
        transform: translateX(-12rem);
    }

    .pt-auth-stage__copy,
    .pt-auth-stage__brand-inner > nav {
        width: 24rem;
        max-width: 100%;
    }
}

.pt-auth-page .pt-auth-stage .social-login__options {
    display: flex;
    flex-wrap: wrap;
    align-items: normal;
    justify-content: space-between;
    gap: normal;
    margin-top: 1.6rem;
}

.pt-auth-page .pt-auth-stage .social-login__button {
    width: auto;
    min-width: 6.2rem;
    flex: 0 0 auto;
}

@media (min-width: 992px) {
    .header-nav .navigation-default {
        width: 100%;
        max-width: none;
        justify-content: flex-start;
        padding-right: clamp(2.4rem, 3vw, 4.8rem);
        padding-left: clamp(2.4rem, 3vw, 4.8rem);
    }

    .header-nav .navigation-default .navigation-box > .logo {
        margin-right: 3rem;
    }

    .header-nav .navigation-default .navigation-box {
        min-width: 0;
    }

    .desktop-site-search {
        display: flex;
        width: clamp(16rem, 14vw, 22rem);
        height: 3.6rem;
        align-items: center;
        margin: auto 1rem auto auto;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.32);
        background: rgba(255, 255, 255, 0.08);
    }

    .desktop-site-search:focus-within {
        border-color: rgba(255, 255, 255, 0.78);
        background: rgba(255, 255, 255, 0.14);
    }

    .desktop-site-search input {
        width: 100%;
        min-width: 0;
        height: 100%;
        padding: 0 0 0 1.2rem;
        border: 0;
        outline: 0;
        background: transparent;
        color: #fff;
        font-size: 1.4rem;
    }

    .desktop-site-search input::placeholder {
        color: rgba(255, 255, 255, 0.7);
    }

    .desktop-site-search input::-webkit-search-cancel-button {
        width: 0;
        height: 0;
        margin: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .desktop-site-search button {
        display: inline-flex;
        width: 4rem;
        height: 100%;
        flex: 0 0 4rem;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
    }

    .desktop-site-search button:hover,
    .desktop-site-search button:focus-visible {
        background: rgba(255, 255, 255, 0.12);
        outline: 0;
    }

    .desktop-site-search .iconfont {
        font-size: 1.8rem;
    }

    .desktop-site-search .desktop-site-search__clear {
        width: 3.2rem;
        height: 3.2rem;
        flex-basis: 3.2rem;
        color: rgba(255, 255, 255, 0.82);
    }

    .desktop-site-search .desktop-site-search__clear[hidden] {
        display: none;
    }

    .desktop-site-search .desktop-site-search__clear:hover,
    .desktop-site-search .desktop-site-search__clear:focus-visible {
        color: #fff;
        background: transparent;
    }

    .desktop-site-search .desktop-site-search__clear .iconfont {
        font-size: 1.6rem;
    }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
    .header-nav .navigation-default {
        padding-right: 1.6rem;
        padding-left: 1.6rem;
    }

    .header-nav .navigation-default .navigation-box .navs .item > a {
        padding-right: 0.9rem;
        padding-left: 0.9rem;
    }

    .desktop-site-search {
        width: 12rem;
        margin-right: 0.4rem;
    }
}

.pt-site-search-page {
    min-height: 60vh;
    background: #fff;
    color: #202b3c;
}

.pt-site-search-hero {
    position: relative;
    height: 48rem;
    min-height: 48rem;
    overflow: hidden;
    background: #2274ff;
}

.pt-site-search-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    background-image: url("../static/images/banner-search.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
}

.pt-site-search-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    height: 100%;
    align-items: center;
}

.pt-site-search-hero__copy {
    width: min(100%, 70rem);
}

.pt-site-search-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 1.4rem;
    color: #dff5ff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

.pt-site-search-hero__eyebrow::before {
    width: 3.6rem;
    height: 2px;
    content: "";
    background: #67e8d1;
}

.pt-site-search-hero h1 {
    margin: 1.8rem 0 1.2rem;
    color: #fff;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.28;
}

.pt-site-search-hero__lead {
    max-width: 60rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.6rem;
    line-height: 1.9;
}

.pt-site-search-hero form {
    display: flex;
    width: min(100%, 68rem);
    height: 5.4rem;
    margin-top: 2.8rem;
    background: #fff;
    box-shadow: 0 10px 24px rgba(17, 62, 126, 0.14);
}

.pt-site-search-hero input {
    min-width: 0;
    flex: 1 1 auto;
    padding: 0 1.8rem;
    border: 0;
    outline: 0;
    background: #fff;
    font-size: 1.5rem;
}

.pt-site-search-hero input::placeholder {
    color: #8a96a8;
}

.pt-site-search-hero button {
    display: inline-flex;
    width: 10.8rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border: 0;
    background: #125fd6;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    cursor: pointer;
}

.pt-site-search-hero button:hover,
.pt-site-search-hero button:focus-visible {
    background: #0d55c5;
}

.pt-site-search-hero__scope {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 0;
    margin-top: 1.5rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.4rem;
    line-height: 1.5;
}

.pt-site-search-hero__scope span {
    display: inline-flex;
    align-items: center;
}

.pt-site-search-hero__scope span + span::before {
    margin: 0 1.2rem;
    content: "/";
    color: rgba(255, 255, 255, 0.4);
}

.pt-site-search-results {
    padding-top: 5rem;
    padding-bottom: 7rem;
}

.pt-site-search-results__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #dfe5ed;
}

.pt-site-search-results__heading h2 {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
}

.pt-site-search-results__heading span,
.pt-site-search-result__meta {
    color: #778294;
    font-size: 1.4rem;
}

.pt-site-search-result {
    padding: 3rem 0;
    border-bottom: 1px solid #e4e9ef;
}

.pt-site-search-result__meta {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    line-height: 1.5;
}

.pt-site-search-result__meta span:first-child {
    color: #2274ff;
    font-weight: 500;
}

.pt-site-search-result h3 {
    margin: 1rem 0 0.8rem;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.45;
}

.pt-site-search-result h3 a {
    color: #202b3c;
}

.pt-site-search-result h3 a:hover {
    color: #2274ff;
}

.pt-site-search-result p {
    max-width: 96rem;
    margin: 0;
    color: #5f6b7c;
    font-size: 1.5rem;
    line-height: 1.9;
}

.pt-site-search-empty {
    padding: 7rem 0;
    color: #778294;
    text-align: center;
}

.pt-site-search-empty .iconfont {
    color: #2274ff;
    font-size: 3.6rem;
}

.pt-site-search-empty h2 {
    margin: 1.4rem 0 0.8rem;
    color: #202b3c;
    font-size: 2rem;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    .pt-site-search-hero {
        height: auto;
        min-height: 40rem;
    }

    .pt-site-search-hero::before {
        background-position: 62% center;
        background-size: auto 100%;
        opacity: 0.62;
    }

    .pt-site-search-hero__inner {
        min-height: 40rem;
        padding-top: 4.4rem;
        padding-bottom: 4.4rem;
    }

    .pt-site-search-hero h1 {
        margin-top: 1.4rem;
        font-size: 3rem;
    }

    .pt-site-search-hero__lead {
        font-size: 1.5rem;
        line-height: 1.8;
    }

    .pt-site-search-hero form {
        height: 5rem;
        margin-top: 2.2rem;
    }

    .pt-site-search-hero button {
        width: 5.4rem;
    }

    .pt-site-search-hero button span {
        display: none;
    }

    .pt-site-search-results {
        padding-top: 3.6rem;
        padding-bottom: 5rem;
    }

    .pt-site-search-results__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.6rem;
    }

    .pt-site-search-results__heading h2 {
        font-size: 2.1rem;
    }

    .pt-site-search-result {
        padding: 2.6rem 0;
    }

    .pt-site-search-result h3 {
        font-size: 1.9rem;
    }
}

@media (max-width: 575.98px) {
    .pt-about-page-nav__inner a,
    .pt-about-page-nav__inner a:nth-child(2n) {
        border-right: 0;
    }
}

/* Final narrow-screen override: keep the forum main column from being squeezed by page-specific desktop rules. */
@media (max-width: 1199.98px) {
    .pt-qa-page .pt-qa-layout,
    .pt-qa-page .pt-qa-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-page .pt-qa-layout > .pt-qa-sidebar,
    .pt-qa-page .pt-qa-detail-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .pt-qa-page .pt-qa-topic-board__toolbar {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .pt-news-page--index .pt-news-featured__body {
        padding-right: 0;
        padding-left: 0;
    }

    .docs-detail-shell .panel.section-block,
    .docs-detail-shell .article-body {
        padding-right: 0;
        padding-left: 0;
    }

    .pt-qa-detail-page .pt-qa-question,
    .pt-qa-detail-page .pt-qa-content {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .pt-qa-detail-page .pt-qa-content > *,
    .pt-qa-detail-page .pt-qa-content p,
    .pt-qa-detail-page .pt-qa-content a,
    .pt-qa-detail-page .pt-qa-content code,
    .pt-qa-detail-page .pt-qa-content pre {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .pt-qa-detail-page .pt-qa-content code,
    .pt-qa-detail-page .pt-qa-content pre {
        white-space: pre-wrap;
    }

    .pt-qa-detail-page .pt-qa-content pre {
        width: 100%;
        min-width: 0;
        overflow-x: auto;
    }

    /* About sections already inherit the shared 2rem container gutter. */
    .pt-about-page .pt-about-intro,
    .pt-about-page .pt-about-products,
    .pt-about-page .pt-about-principles,
    .pt-about-page .pt-about-audience,
    .pt-about-page .pt-about-contact {
        padding-right: 0;
        padding-left: 0;
    }
}

/* Desktop customer-service dock. */
@media (min-width: 992px) {
    .suspension.pt-support-dock {
        position: fixed;
        right: 0.82rem;
        bottom: 8rem;
        z-index: 99;
        display: flex;
        width: 7.2rem;
        flex-direction: column;
        overflow: visible;
        border: 0;
        border-radius: 6px;
        background: transparent;
        box-shadow: 0 10px 30px rgba(26, 55, 92, 0.14);
    }

    .pt-support-dock__head {
        display: flex;
        min-height: 5.8rem;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0.3rem;
        border-radius: 6px 6px 0 0;
        color: #fff;
        background: #2274ff;
        text-align: center;
    }

    .pt-support-dock__head .pt-support-dock__logo {
        display: block;
        width: 2.2rem;
        height: 2.2rem;
        object-fit: contain;
    }

    .pt-support-dock__head strong {
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.2;
    }

    .suspension.pt-support-dock .pt-support-dock__item,
    .suspension.pt-support-dock .pt-support-dock__back {
        position: relative;
        display: flex;
        width: 100%;
        min-height: 5.4rem;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0.4rem;
        margin: 0;
        padding: 0.7rem 0.4rem;
        border: 0;
        border-bottom: 1px solid #edf1f6;
        border-radius: 0;
        outline: 0;
        color: #4e5d70;
        background: #fff;
        box-shadow: none;
        font: inherit;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition: color 160ms ease, background-color 160ms ease;
    }

    .suspension.pt-support-dock .pt-support-dock__item:hover,
    .suspension.pt-support-dock .pt-support-dock__item:focus-visible {
        color: #2274ff;
        background: #f3f7ff;
    }

    .suspension.pt-support-dock .pt-support-dock__item > .iconfont {
        color: #2274ff;
        font-size: 2.2rem;
        line-height: 1;
    }

    .pt-support-dock__brand-icon {
        display: block;
        width: 2.3rem;
        height: 2.3rem;
        object-fit: contain;
    }

    .suspension.pt-support-dock .pt-support-dock__item > span:not(.pt-support-dock__qr) {
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.2;
    }

    .pt-support-dock__qr {
        position: absolute;
        top: 50%;
        right: calc(100% + 1.2rem);
        display: flex;
        width: 19rem;
        align-items: center;
        flex-direction: column;
        padding: 1.6rem;
        border: 1px solid #dce6f2;
        border-radius: 6px;
        opacity: 0;
        visibility: hidden;
        color: #27364a;
        background: #fff;
        box-shadow: 0 12px 32px rgba(26, 55, 92, 0.16);
        pointer-events: none;
        transform: translate(0.8rem, -50%);
        transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    }

    .pt-support-dock__qr::after {
        position: absolute;
        top: 50%;
        right: -0.6rem;
        width: 1.1rem;
        height: 1.1rem;
        border-top: 1px solid #dce6f2;
        border-right: 1px solid #dce6f2;
        content: "";
        background: #fff;
        transform: translateY(-50%) rotate(45deg);
    }

    .pt-support-dock__item--qr:hover .pt-support-dock__qr,
    .pt-support-dock__item--qr:focus .pt-support-dock__qr,
    .pt-support-dock__item--qr:focus-visible .pt-support-dock__qr {
        opacity: 1;
        visibility: visible;
        transform: translate(0, -50%);
    }

    .pt-support-dock__qr strong {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.4;
    }

    .pt-support-dock__qr small {
        margin-top: 0.2rem;
        color: #778397;
        font-size: 1.3rem;
        line-height: 1.5;
    }

    .pt-support-dock__qr > img {
        display: block;
        width: 13.2rem;
        height: 13.2rem;
        margin-top: 1.2rem;
        padding: 0.5rem;
        object-fit: contain;
        background: #fff;
        image-rendering: crisp-edges;
        image-rendering: pixelated;
    }

    .pt-support-dock__qr em {
        margin-top: 0.8rem;
        color: #5f6c7d;
        font-size: 1.3rem;
        font-style: normal;
        line-height: 1.4;
    }

    .suspension.pt-support-dock .pt-support-dock__back {
        min-height: 3.8rem;
        padding: 0;
        border-bottom: 0;
        border-radius: 0 0 6px 6px;
        color: #8290a3;
    }

    .suspension.pt-support-dock .pt-support-dock__back:hover,
    .suspension.pt-support-dock .pt-support-dock__back:focus-visible {
        color: #2274ff;
        background: #f3f7ff;
    }

    .pt-support-dock__back .iconfont {
        font-size: 1.9rem;
        line-height: 1;
    }
}

/* Forum create workspace refinement */
.pt-qa-create-page {
    padding-top: 3.2rem;
    padding-bottom: 5rem;
    background: #f4f7fb;
}

.pt-qa-create-page > .container-xxl {
    gap: 2.4rem;
}

.pt-qa-create-page .pt-qa-editor-header {
    padding: 2.5rem 3rem 2.7rem;
    border: 0;
    border-top: 3px solid #2274ff;
    border-radius: 0;
    box-shadow: none;
}

.pt-qa-create-page .pt-qa-editor-header > div {
    font-size: 1.4rem;
}

.pt-qa-create-page .pt-qa-editor-header h1 {
    margin-top: 1rem;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.35;
}

.pt-qa-create-page .pt-qa-editor-header > p {
    margin-top: 0.8rem;
    font-size: 1.4rem;
    line-height: 1.8;
}

.pt-qa-create-page .pt-qa-editor-layout {
    grid-template-columns: minmax(0, 1fr) 28rem;
    gap: 2.4rem;
}

.pt-qa-create-page .pt-qa-editor,
.pt-qa-create-page .pt-qa-editor-notes {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.pt-qa-create-page .pt-qa-editor {
    padding: 3rem;
}

.pt-qa-create-page .pt-qa-editor-notes {
    position: sticky;
    top: 8rem;
    padding: 2.8rem 2.4rem;
    background: #edf4ff;
}

.pt-qa-create-page .pt-qa-editor h2,
.pt-qa-create-page .pt-qa-editor-notes h2 {
    margin: 0;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid #dfe7f1;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.pt-qa-create-page .pt-qa-editor-notes ul {
    counter-reset: forum-rule;
    gap: 1.4rem;
    margin-top: 2rem;
    padding-left: 0;
    font-size: 1.4rem;
    line-height: 1.8;
    list-style: none;
}

.pt-qa-create-page .pt-qa-editor-notes li {
    position: relative;
    min-height: 2.4rem;
    padding-left: 3.4rem;
    counter-increment: forum-rule;
}

.pt-qa-create-page .pt-qa-editor-notes li::before {
    position: absolute;
    top: 0.15rem;
    left: 0;
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: #2274ff;
    content: counter(forum-rule);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
}

.pt-qa-create-page .pt-qa-form {
    gap: 2.2rem;
    margin-top: 2.2rem;
}

.pt-qa-create-page .pt-qa-form-field {
    gap: 0.9rem;
}

.pt-qa-create-page .pt-qa-form-field label {
    font-size: 1.4rem;
    font-weight: 500;
}

.pt-qa-create-page .pt-qa-form-field input,
.pt-qa-create-page .pt-qa-form-field select {
    min-height: 4.6rem;
    padding-right: 1.4rem;
    padding-left: 1.4rem;
    border-color: #dce3ec;
    border-radius: 0;
    background: #fff;
    font-size: 1.4rem;
}

.pt-qa-create-page .pt-qa-form .ql-toolbar.ql-snow {
    padding: 0.7rem 0.8rem;
    border-color: #dce3ec;
    border-radius: 0;
    background: #f7f9fc;
}

.pt-qa-create-page .pt-qa-form .ql-container.ql-snow {
    min-height: 24rem;
    border-color: #dce3ec;
    border-radius: 0;
    font-size: 1.4rem;
}

.pt-qa-create-page .pt-qa-form .ql-editor {
    min-height: 24rem;
    padding: 1.6rem;
    line-height: 1.8;
}

.pt-qa-create-page .pt-qa-rich-text-feedback .pt-qa-create-page .pt-qa-rich-text-help,
.pt-qa-create-page .pt-qa-rich-text-upload-status,
.pt-qa-create-page .pt-qa-form-field > span {
    font-size: 1.4rem;
}

.pt-qa-create-page .pt-qa-form-actions {
    gap: 1rem;
    padding-top: 0.2rem;
}

.pt-qa-create-page .pt-qa-form-actions .pt-qa-button {
    min-height: 4.4rem;
    padding-right: 2rem;
    padding-left: 2rem;
    border-radius: 0;
    font-size: 1.4rem;
    font-weight: 500;
}

@media (max-width: 991.98px) {
    .pt-qa-create-page .pt-qa-editor-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pt-qa-create-page .pt-qa-editor-notes {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .pt-qa-create-page {
        padding-top: 2rem;
        padding-bottom: 4rem;
    }

    .pt-qa-create-page > .container-xxl {
        gap: 1.6rem;
    }

    .pt-qa-create-page .pt-qa-editor-header,
    .pt-qa-create-page .pt-qa-editor,
    .pt-qa-create-page .pt-qa-editor-notes {
        padding: 2rem;
    }

    .pt-qa-create-page .pt-qa-editor-header h1 {
        font-size: 2.3rem;
    }

    .pt-qa-create-page .pt-qa-editor-layout {
        gap: 1.6rem;
    }

    .pt-qa-create-page .pt-qa-form .ql-container.ql-snow,
    .pt-qa-create-page .pt-qa-form .ql-editor {
        min-height: 20rem;
    }
}
/* Forum create publishing notes refinement */
.pt-qa-create-page .pt-qa-editor-notes {
    padding: 0;
    overflow: hidden;
    background: transparent;
}

.pt-qa-create-page .pt-qa-editor-notes h2 {
    padding: 1.6rem 2rem;
    border: 0;
    background: #2274ff;
    color: #fff;
    font-size: 1.7rem;
    line-height: 1.5;
}

.pt-qa-create-page .pt-qa-editor-notes ul {
    gap: 0;
    margin: 0;
    padding: 1.2rem 0;
    background: #fff;
}

.pt-qa-create-page .pt-qa-editor-notes li {
    display: flex;
    min-height: 5.2rem;
    align-items: center;
    padding: 1.2rem 1.8rem 1.2rem 5.2rem;
    color: #526174;
}

.pt-qa-create-page .pt-qa-editor-notes li:nth-child(even) {
    background: #f3f7ff;
}

.pt-qa-create-page .pt-qa-editor-notes li::before {
    top: 50%;
    left: 1.8rem;
    background: #e8f1ff;
    transform: translateY(-50%);
}

@media (max-width: 575.98px) {
    .pt-qa-create-page .pt-qa-editor-notes {
        padding: 0;
    }
}
/* Forum create publishing notes uniform background */
.pt-qa-create-page .pt-qa-editor-notes li:nth-child(even) {
    background: transparent;
}

.pt-qa-create-page .pt-qa-editor-notes li + li {
    border-top: 1px solid #edf1f6;
}
/* Forum create category select arrow */
.pt-qa-create-page .pt-qa-category-select {
    position: relative;
    display: block;
    width: 100%;
}

.pt-qa-create-page .pt-qa-category-select select {
    padding-right: 4.8rem;
    appearance: none;
    -webkit-appearance: none;
}

.pt-qa-create-page .pt-qa-category-select > .iconfont {
    position: absolute;
    top: 50%;
    right: 1.6rem;
    color: #506176;
    font-size: 1.4rem;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%) rotate(90deg);
}
/* Forum create publishing notes title icon */
.pt-qa-create-page .pt-qa-editor-notes h2 {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.pt-qa-create-page .pt-qa-editor-notes h2 .iconfont {
    flex: 0 0 auto;
    font-size: 1.8rem;
    line-height: 1;
}
/* Forum QQ community entry */
.pt-qa-page .pt-qa-sidebar > .pt-qa-sidebar-community {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.pt-qa-sidebar-community > a {
    display: grid;
    min-height: 7.6rem;
    align-items: center;
    grid-template-columns: 4rem minmax(0, 1fr) 1.6rem;
    gap: 1.2rem;
    padding: 1.6rem;
    color: #172033;
    text-decoration: none;
}

.pt-qa-sidebar-community > a > .icon-QQ {
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    background: #eaf2ff;
    color: #2274ff;
    font-size: 2.2rem;
}

.pt-qa-sidebar-community > a > span {
    display: grid;
    min-width: 0;
    gap: 0.4rem;
}

.pt-qa-sidebar-community strong {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
}

.pt-qa-sidebar-community small {
    color: #6b778a;
    font-size: 1.3rem;
    line-height: 1.6;
}

.pt-qa-sidebar-community > a > .icon-right {
    color: #8a97a8;
    font-size: 1.4rem;
}

.pt-qa-sidebar-community > a:hover,
.pt-qa-sidebar-community > a:focus-visible {
    background: #f4f8ff;
    color: #2274ff;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .pt-qa-page .pt-qa-sidebar > .pt-qa-sidebar-community {
        grid-column: 1 / -1;
    }
}
/* Forum QQ community visible background */
.pt-qa-page .pt-qa-sidebar > .pt-qa-sidebar-community {
    background: #fff;
}

.pt-qa-sidebar-community > a > .icon-QQ {
    background: #fff;
}

.pt-qa-sidebar-community > a:hover,
.pt-qa-sidebar-community > a:focus-visible {
    background: #fff;
}
/* About contact QQ QR tooltip */
.pt-about-contact__actions .pt-about-contact__qq {
    position: relative;
}

.pt-about-contact__qq-qr {
    position: absolute;
    bottom: calc(100% + 1.2rem);
    left: 50%;
    z-index: 20;
    display: grid;
    width: 20rem;
    justify-items: center;
    gap: 0.8rem;
    padding: 1.6rem;
    background: #fff;
    box-shadow: 0 12px 32px rgba(28, 50, 82, 0.18);
    color: #172033;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 0.8rem);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    visibility: hidden;
}

.pt-about-contact__qq-qr::after {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1.2rem;
    content: "";
}

.pt-about-contact__qq-qr strong {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
}

.pt-about-contact__qq-qr img {
    display: block;
    width: 15rem;
    height: 15rem;
    object-fit: contain;
}

.pt-about-contact__qq-qr small {
    color: #6b778a;
    font-size: 1.3rem;
    line-height: 1.5;
}

.pt-about-contact__qq:hover .pt-about-contact__qq-qr,
.pt-about-contact__qq:focus-visible .pt-about-contact__qq-qr,
.pt-about-contact__qq:focus-within .pt-about-contact__qq-qr {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
    visibility: visible;
}

@media (max-width: 575.98px) {
    .pt-about-contact__qq-qr {
        left: auto;
        right: 0;
        max-width: calc(100vw - 4rem);
        transform: translateY(0.8rem);
    }

    .pt-about-contact__qq:hover .pt-about-contact__qq-qr,
    .pt-about-contact__qq:focus-visible .pt-about-contact__qq-qr,
    .pt-about-contact__qq:focus-within .pt-about-contact__qq-qr {
        transform: translateY(0);
    }
}
/* About QQ consultation is a QR button, not a link */
.pt-about-contact__actions button.pt-about-contact__qq {
    display: inline-flex;
    min-height: 4.2rem;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--pt-about-theme);
    border-radius: 0.4rem;
    background: transparent;
    color: var(--pt-about-theme-strong);
    font: inherit;
    font-size: 1.4rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.pt-about-contact__actions button.pt-about-contact__qq:hover,
.pt-about-contact__actions button.pt-about-contact__qq:focus-visible {
    background: var(--pt-about-theme-strong);
    color: #fff;
}

@media (max-width: 575.98px) {
    .pt-about-contact__actions button.pt-about-contact__qq {
        width: 100%;
    }
}
/* Homepage body refresh. Header, hero banner and footer are intentionally excluded. */
.home-refresh {
    --home-refresh-blue: #2274ff;
    --home-refresh-title: #172033;
    --home-refresh-body: #526174;
    --home-refresh-muted: #7a8798;
    --home-refresh-line: #e3e9f0;
    --home-refresh-soft: #f4f7fb;
}

.home-refresh .home-value-strip {
    padding: 0;
    border-bottom: 1px solid var(--home-refresh-line);
    background: #fff;
}

.home-refresh .home-value-strip .product-main {
    margin: 0;
}

.home-refresh .home-value-strip .product-main > div {
    padding: 0;
}

.home-refresh .home-value-strip .introduce-box {
    display: grid;
    min-height: 22rem;
    align-items: start;
    grid-template-columns: 4.8rem minmax(0, 1fr);
    gap: 2rem;
    padding: 4.2rem 3rem;
}

.home-refresh .home-value-strip .product-main > div:first-child .introduce-box {
    padding-left: 0;
}

.home-refresh .home-value-strip .product-main > div + div .introduce-box {
    border-left: 0;
}

.home-value-strip__icon {
    display: inline-flex;
    width: 4.8rem;
    height: 4.8rem;
    align-items: center;
    justify-content: center;
    background: #edf4ff;
    color: var(--home-refresh-blue);
}

.home-value-strip__icon .iconfont {
    font-size: 2.2rem;
    line-height: 1;
}

.home-refresh .home-value-strip .content {
    min-width: 0;
    text-align: left;
}

.home-refresh .home-value-strip .content > span {
    display: block;
    margin-bottom: 0.8rem;
    color: var(--home-refresh-blue);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
}

.home-refresh .home-value-strip .content .title {
    margin: 0;
    padding: 0;
    color: var(--home-refresh-title);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
}

.home-refresh .home-value-strip .content .desc {
    display: block;
    margin: 1.8rem 0 0;
    padding: 0;
    color: var(--home-refresh-body);
    font-size: 1.4rem;
    line-height: 1.85;
    overflow: visible;
}

.home-refresh .home-market-section {
    padding: 6.4rem 0 6.8rem;
}

.home-refresh .home-market-section--addons {
    background: var(--home-refresh-soft);
}

.home-refresh .home-market-section--templates {
    background: #fff;
}

.home-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 3.2rem;
}

.home-section-heading > div {
    min-width: 0;
}

.home-section-heading > div > span,
.home-roadmap__header > div > span {
    display: block;
    margin-bottom: 0.7rem;
    color: var(--home-refresh-blue);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
}

.home-section-heading h2,
.home-roadmap__header h2 {
    margin: 0;
    padding: 0;
    color: var(--home-refresh-title);
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
}

.home-section-heading p {
    max-width: 64rem;
    margin: 0.8rem 0 0;
    color: var(--home-refresh-body);
    font-size: 1.4rem;
    line-height: 1.8;
}

.home-section-heading > a {
    display: inline-flex;
    min-height: 4.2rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0.7rem 1.4rem;
    border-bottom: 0;
    color: var(--home-refresh-body);
    font-size: 1.4rem;
    font-weight: 500;
    transition: color 160ms ease;
}

.home-section-heading > a:hover,
.home-section-heading > a:focus-visible {
    color: var(--home-refresh-blue);
}

.home-refresh .ptadmin-addon-market .addon-content,
.home-refresh .home-template-market-content .home-template,
.template-market .templates .content {
    color: var(--home-refresh-title);
}

.home-refresh .ptadmin-addon-market .addon-content {
    position: relative;
    filter: drop-shadow(0 2px 2px rgba(23, 32, 51, 0.08));
}

.template-market .templates .content {
    position: relative;
    filter: drop-shadow(0 2px 2px rgba(23, 32, 51, 0.08));
}

@property --pt-market-card-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

.home-refresh .ptadmin-addon-market .addon-content::after,
.home-refresh .home-template-market-content .home-template::after,
.template-market .templates .content::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    padding: 1px;
    opacity: 0;
    pointer-events: none;
    content: "";
    background: conic-gradient(
        from var(--pt-market-card-angle),
        transparent 0deg 245deg,
        rgba(34, 116, 255, 0.18) 270deg,
        #2274ff 315deg,
        rgba(34, 116, 255, 0.18) 345deg,
        transparent 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    transition: opacity 160ms ease;
}

/* The application card wrapper keeps Bootstrap's horizontal gutter; align the glow with the visible card. */
.home-refresh .ptadmin-addon-market .addon-content::after {
    inset: 0 7.5px;
}

.home-refresh .home-template-market-content .home-template::after {
    top: 0;
    right: 7.5px;
    bottom: 0;
    left: 7.5px;
    width: auto;
}

.home-refresh .home-template-market-content .home-template {
    filter: none !important;
}

.template-market .templates .content {
    filter: none !important;
}

.home-refresh .home-template-market-content .home-template .introduce,
.template-market .templates .content .introduce,
.home-refresh .home-template-market-content .home-template .image,
.template-market .templates .content .image {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.home-refresh .home-template-market-content .home-template,
.home-refresh .home-template-market-content .home-template .image,
.home-refresh .home-template-market-content .home-template .introduce {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Disable the template-card conic border: browser zoom can rasterize it as a stray edge line. */
.home-refresh .home-template-market-content .home-template::after,
.home-refresh .home-template-market-content .home-template:hover::after,
.home-refresh .home-template-market-content .home-template:focus-visible::after,
.template-market .templates .content::after,
.template-market .templates .content:hover::after,
.template-market .templates .content:focus-visible::after {
    display: none !important;
    content: none !important;
}

.template-market .templates .content,
.template-market .templates .content * {
    outline: 0 !important;
}

.template-market .templates .content::after {
    top: 0;
    right: 7.5px;
    bottom: 0;
    left: 7.5px;
    width: auto;
}

.template-market .templates .content:hover,
.template-market .templates .content:focus,
.template-market .templates .content:focus-visible {
    border: 0;
    outline: 0;
    box-shadow: none;
}

.template-market .templates .content::after,
.template-market .templates .content:hover::after,
.template-market .templates .content:focus-visible::after {
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .home-refresh .ptadmin-addon-market .addon-content:hover::after,
    .home-refresh .ptadmin-addon-market .addon-content:focus-visible::after,
    .home-refresh .home-template-market-content .home-template:hover::after,
    .home-refresh .home-template-market-content .home-template:focus-visible::after,
    .template-market .templates .content:hover::after,
    .template-market .templates .content:focus-visible::after {
        opacity: 1;
        animation: pt-market-card-border 5s linear infinite;
    }
}

@keyframes pt-market-card-border {
    to {
        --pt-market-card-angle: 360deg;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-refresh .ptadmin-addon-market .addon-content::after,
    .home-refresh .home-template-market-content .home-template::after,
    .template-market .templates .content::after {
        animation: none !important;
    }
}

.home-refresh .ptadmin-addon-market .addon-content .introduce {
    border-top: 0.5px solid #edf1f5;
    background: #fff;
}

.home-refresh .home-template-market-content .home-template .introduce {
    border-top: 0;
    background: #f8fafd;
}

.home-refresh .home-market-section--templates .home-template .image {
    background: #fff;
}

.home-refresh .home-template-market-content .home-template:hover {
    transform: none;
}

.home-refresh .home-template-market-content .home-template:hover .title,
.home-refresh .ptadmin-addon-market .addon-content:hover .title {
    color: var(--home-refresh-blue);
}

.home-refresh .home-template-market-content .home-template {
    position: relative;
    filter: drop-shadow(0 2px 2px rgba(23, 32, 51, 0.08));
}

.home-refresh .home-template-market-content .home-template .introduce {
    display: grid;
    min-height: 9.6rem;
    align-content: center;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 1.2rem;
    row-gap: 1rem;
    padding: 1.4rem 1.6rem 1.5rem;
}

.home-refresh .home-template-market-content .home-template .introduce .title {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    transition: color 160ms ease;
}

.home-refresh .home-template-market-content .home-template:hover .introduce .title,
.home-refresh .home-template-market-content .home-template:focus-visible .introduce .title {
    color: #2274ff;
}

.home-refresh .home-template-market-content .home-template .image .tags {
    position: absolute;
    z-index: 2;
    top: 1.2rem;
    left: 1.2rem;
    display: flex;
    width: auto;
    gap: 0.6rem;
    margin: 0;
}

.home-refresh .home-template-market-content .home-template .image .tags .layui-badge {
    height: 2.2rem;
    padding: 0 0.8rem;
    line-height: 2.2rem;
}

.home-refresh .home-template-market-content .home-template .introduce .author-box {
    display: contents;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.home-refresh .home-template-market-content .home-template .introduce .author {
    display: inline-flex;
    min-width: 0;
    align-self: center;
    align-items: center;
    grid-column: 1;
    grid-row: 2;
    gap: 0.5rem;
    padding: 0;
}

.home-refresh .home-template-market-content .home-template .introduce .author .iconfont {
    flex: 0 0 auto;
    font-size: 1.6rem;
    line-height: 1;
}

.home-refresh .home-template-market-content .home-template .introduce .download {
    align-self: center;
    justify-self: end;
    grid-column: 2;
    grid-row: 1;
}

.home-refresh .home-template-market-content .home-template .introduce .rate-box {
    width: auto;
    align-self: center;
    grid-column: 2;
    grid-row: 2;
    gap: 0.8rem;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    border-top: 0;
}

.home-refresh .home-template-market-content .home-template .introduce .rate-box .price {
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
}

.home-refresh .home-template-market-content .home-template .introduce .pt-rate {
    font-size: 1.2rem;
    line-height: 1;
}

.home-refresh .home-template-market-content .home-template .introduce .author-box .author::first-line {
    font-weight: 400;
}

/* Final template-card edge reset. Keep zoomed browsers from exposing the old shadow as an L-shaped line. */
.home-refresh .home-template-market-content .home-template,
.template-market .templates .content {
    filter: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.home-refresh .home-template-market-content .home-template .image,
.home-refresh .home-template-market-content .home-template .introduce,
.template-market .templates .content .image,
.template-market .templates .content .introduce {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Keep the application information card on the intended light surface. */
.plugin-detail .pt-market-detail-aside .plugin_info {
    background: #f7f9fc !important;
}

/* Keep the application information card on the intended light surface. */
.plugin-detail .pt-market-detail-aside .plugin_info {
    background: #f7f9fc !important;
}

/* Keep the compact rating metrics readable without breaking values onto two lines. */
.plugin-detail .pt-market-engagement__metrics dd {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

/* Match the rating notice to the site's blue navigation palette. */
.plugin-detail .pt-market-detail-aside .pt-market-engagement__notice {
    background: #eef5ff;
}

/* Give the application information panel the same restrained blue tone. */
.plugin-detail .pt-market-detail-aside .plugin_info {
    background: #f7f9fc;
}

/* Final application-detail content refinements. Keep the banner unchanged. */
.plugin-detail .pt-market-detail-main > .detail,
.plugin-detail .pt-market-detail-main > .log,
.plugin-detail .pt-market-detail-main > .pt-market-faq,
.plugin-detail .pt-market-detail-main > .pt-market-structured-copy,
.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement,
.plugin-detail .pt-market-detail-aside .recommend {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 4px rgba(23, 32, 51, 0.045) !important;
}

.plugin-detail .pt-market-detail-main .log_desc_box {
    border-bottom: 0 !important;
}

.plugin-detail .pt-market-purchase-summary {
    margin: -0.2rem -0.2rem 2rem !important;
    padding: 1.4rem 1.6rem 1.6rem !important;
    background: #f6f9fd !important;
}

.plugin-detail .pt-market-purchase-summary > strong {
    margin-top: 0.6rem !important;
    font-size: 2.2rem !important;
}

.plugin-detail .plugin-detail-box .download .buttons {
    gap: 0.8rem 1rem !important;
}

.plugin-detail .plugin-detail-box .download .buttons .btn {
    min-height: 4rem;
    transition: background-color 160ms ease, color 160ms ease;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet,
.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:hover {
    min-height: 3.4rem;
    border: 0 !important;
    background: transparent;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:hover,
.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:focus-visible {
    background: #f6f9fd !important;
    color: #2274ff;
}

.plugin-detail .pt-market-detail-aside .secondary_title {
    margin-bottom: 2rem;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__metrics {
    border: 0 !important;
    background: #f6f9fd !important;
}

.plugin-detail .pt-market-detail-aside .recommend .secondary_title {
    margin-bottom: 1.6rem;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 2px 8px rgba(23, 32, 51, .06);
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-addon-sidebar-title {
    display: block;
    min-height: 0;
    padding: 1.8rem 2.2rem .2rem;
    color: #263445;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.4;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-addon-sidebar-title img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 4.4rem;
    object-fit: contain;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .download,
.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .download {
    padding: 2.2rem 2.2rem 1.6rem !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-market-purchase-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .4rem 1.2rem;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-market-purchase-summary > span,
.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-market-purchase-summary > strong {
    display: block;
    margin: 0 !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-market-purchase-summary > strong {
    text-align: right;
    white-space: nowrap;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .pt-market-purchase-summary > p {
    grid-column: 1 / -1;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info {
    padding: 1.1rem 2.2rem 2.2rem !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .row {
    --bs-gutter-x: .7rem;
    --bs-gutter-y: .7rem;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info {
    min-height: 5.2rem;
    padding: .9rem 1.1rem;
    border-radius: .25rem;
    background: #f6f8fb;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info h3 {
    margin: 0;
    color: #8993a1;
    font-size: 1.2rem;
    line-height: 1.4;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info p {
    margin-top: .45rem;
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
}

/* Match the template detail sidebar: one full-width label/value row per item. */
.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .row {
    display: block !important;
    margin: 0 !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info {
    display: flex !important;
    min-height: 4.2rem !important;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: .8rem 0 !important;
    border-bottom: 1px dashed #dfe5ee;
    border-radius: 0 !important;
    background: #fff !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info h3 {
    flex: 0 0 auto;
    margin: 0 !important;
    color: #7c8795 !important;
    font-size: 1.3rem !important;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .info p {
    min-width: 0;
    margin: 0 !important;
    color: #334155 !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    text-align: right;
}

.plugin-detail .pt-market-detail-aside .pt-addon-sidebar-panel .plugin_info .row > [class*="col-"]:last-child .info {
    border-bottom: 0;
}

.plugin-detail .pt-market-detail-aside .recommend_box {
    margin: 0 !important;
    padding: 0.8rem !important;
    border: 0 !important;
    background: #f6f9fd !important;
}

.plugin-detail .pt-market-detail-aside .recommend_box + .recommend_box {
    margin-top: 0.8rem !important;
}

.plugin-detail .pt-market-detail-aside .recommend_box .img .pt-application-cover {
    background: #fff !important;
}

@media (max-width: 767.98px) {
    .plugin-detail .pt-market-purchase-summary {
        margin: 0 0 1.6rem !important;
    }
}

/* Application detail content polish. The hero remains intentionally untouched. */
.plugin-detail .plugin-detail-box {
    --pt-detail-surface: #fff;
    --pt-detail-soft: #f6f9fd;
    --pt-detail-muted: #718096;
    --pt-detail-title: #263445;
}

.plugin-detail .pt-market-detail-main > .detail,
.plugin-detail .pt-market-detail-main > .log,
.plugin-detail .pt-market-detail-main > .pt-market-faq,
.plugin-detail .pt-market-detail-main > .pt-market-structured-copy {
    background: var(--pt-detail-surface);
    box-shadow: 0 2px 4px rgba(23, 32, 51, 0.045);
}

.plugin-detail .pt-market-detail-main .title .name,
.plugin-detail .pt-market-detail-aside .secondary_title .name {
    color: var(--pt-detail-title);
    font-weight: 500;
}

.plugin-detail .pt-market-detail-main .title .name_desc,
.plugin-detail .pt-market-detail-main .log .pt-market-release-badge {
    border-radius: 0.2rem;
    background: #eef5ff;
    color: #2274ff;
}

.plugin-detail .pt-market-detail-main .function_introduction,
.plugin-detail .pt-market-detail-main .pt-market-rich-content,
.plugin-detail .pt-market-detail-main .log_desc_box .desc {
    color: #526176;
}

.plugin-detail .pt-market-detail-main .log_desc_box {
    border-bottom: 0 !important;
}

.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement,
.plugin-detail .pt-market-detail-aside .recommend {
    background: var(--pt-detail-surface);
    box-shadow: 0 2px 4px rgba(23, 32, 51, 0.045);
}

.plugin-detail .pt-market-purchase-summary {
    margin: -0.2rem -0.2rem 2rem;
    padding: 1.4rem 1.6rem 1.6rem;
    background: var(--pt-detail-soft);
}

.plugin-detail .pt-market-purchase-summary > strong {
    margin-top: 0.6rem;
    font-size: 2.2rem;
}

.plugin-detail .plugin-detail-box .download .buttons {
    gap: 0.8rem 1rem;
}

.plugin-detail .plugin-detail-box .download .buttons .btn {
    min-height: 4rem;
    transition: background-color 160ms ease, color 160ms ease;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet {
    min-height: 3.4rem;
    background: transparent;
    color: #64748b;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:hover,
.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:focus-visible {
    background: var(--pt-detail-soft);
    color: #2274ff;
}

.plugin-detail .pt-market-detail-aside .secondary_title {
    margin-bottom: 2rem;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info h3 {
    color: var(--pt-detail-muted);
}

.plugin-detail .pt-market-detail-aside .plugin_info .info p {
    color: #334155;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__metrics {
    background: var(--pt-detail-soft);
}

.plugin-detail .pt-market-detail-aside .recommend .secondary_title {
    margin-bottom: 1.6rem;
}

.plugin-detail .pt-market-detail-aside .recommend_box {
    padding: 0.8rem;
    background: var(--pt-detail-soft);
}

.plugin-detail .pt-market-detail-aside .recommend_box + .recommend_box {
    margin-top: 0.2rem;
}

.plugin-detail .pt-market-detail-aside .recommend_box .img .pt-application-cover {
    background: #fff;
}

.plugin-detail .pt-market-detail-aside .recommend_box .right a {
    color: #334155;
}

@media (max-width: 767.98px) {
    .plugin-detail .pt-market-purchase-summary {
        margin: 0 0 1.6rem;
    }
}

/* Keep card edges clean when fractional pixels are introduced by browser zoom. */
.home-refresh .home-template-market-content a.home-template,
.template-market .templates a.content {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}

.home-refresh .home-template-market-content a.home-template::before,
.home-refresh .home-template-market-content a.home-template::after,
.template-market .templates a.content::before,
.template-market .templates a.content::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.home-refresh .home-template-market-content a.home-template > .image,
.home-refresh .home-template-market-content a.home-template > .introduce,
.template-market .templates a.content > .image,
.template-market .templates a.content > .introduce {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.home-refresh .home-template-market-content a.home-template > .image > .pt-application-cover,
.template-market .templates a.content > .image > .pt-application-cover {
    background: #fff !important;
    vertical-align: top !important;
}

/* Render the blue runner only while the template card is actively targeted. */
@media (hover: hover) and (pointer: fine) {
    .home-refresh .home-template-market-content a.home-template:hover::after,
    .home-refresh .home-template-market-content a.home-template:focus-visible::after,
    .template-market .templates a.content:hover::after,
    .template-market .templates a.content:focus-visible::after {
        display: block !important;
        position: absolute;
        z-index: 4;
        top: 0;
        right: 7.5px;
        bottom: 0;
        left: 7.5px;
        width: auto;
        padding: 1px;
        opacity: 1;
        pointer-events: none;
        content: "" !important;
        background: conic-gradient(
            from var(--pt-market-card-angle),
            transparent 0deg 245deg,
            rgba(34, 116, 255, 0.18) 270deg,
            #2274ff 315deg,
            rgba(34, 116, 255, 0.18) 345deg,
            transparent 360deg
        );
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        animation: pt-market-card-border 5s linear infinite;
    }
}

.plugin-market .ptadmin-addon-market .addon-content {
    position: relative;
}

.plugin-market .ptadmin-addon-market .addon-content::after {
    display: none !important;
    content: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .plugin-market .ptadmin-addon-market .addon-content:hover::after,
    .plugin-market .ptadmin-addon-market .addon-content:focus-within::after {
        display: block !important;
        position: absolute;
        z-index: 4;
        inset: 0 7.5px;
        padding: 1px;
        opacity: 1;
        pointer-events: none;
        content: "" !important;
        background: conic-gradient(
            from var(--pt-market-card-angle),
            transparent 0deg 245deg,
            rgba(34, 116, 255, 0.18) 270deg,
            #2274ff 315deg,
            rgba(34, 116, 255, 0.18) 345deg,
            transparent 360deg
        );
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        mask-composite: exclude;
        animation: pt-market-card-border 5s linear infinite;
    }
}

.home-refresh .home-roadmap {
    padding: 6.4rem 0 6.8rem;
    background-color: #2274ff;
    background-image: url("../static/images/home_banner.png");
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.home-roadmap__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 3.6rem;
}

.home-roadmap__header > div > span,
.home-roadmap__header h2,
.home-roadmap__header > p {
    color: #fff;
}

.home-roadmap__header > p {
    max-width: 48rem;
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.8;
    opacity: 0.82;
    text-align: right;
}

.home-roadmap__list {
    display: flex;
    grid-template-columns: none;
    row-gap: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    border-top: 0;
    border-bottom: 0;
    cursor: grab;
}

.home-roadmap__list.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.home-roadmap__list::-webkit-scrollbar {
    display: none;
}

.home-roadmap__list article {
    position: relative;
    flex: 0 0 25%;
    min-width: 0;
    min-height: 20rem;
    padding: 2.6rem 2.4rem 3rem;
    color: #fff;
    scroll-snap-align: start;
}

.home-roadmap__list article::before {
    position: absolute;
    top: 6.3rem;
    right: 0;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    content: "";
}

.home-roadmap__list article::after {
    position: absolute;
    top: 5.9rem;
    left: 3.15rem;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #2274ff;
    content: "";
}

.home-roadmap__list article + article {
    border-left: 0;
}

.home-roadmap__list article > span {
    display: block;
    margin-bottom: 4.4rem;
    font-size: 1.3rem;
    font-weight: 500;
    opacity: 0.72;
}

.home-roadmap__list article > .iconfont {
    display: block;
    width: 2.8rem;
    margin-bottom: 1.6rem;
    font-size: 2.8rem;
    line-height: 1;
    text-align: center;
}

.home-roadmap__list h3 {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.55;
}

.home-roadmap__list p {
    margin: 0.8rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.4rem;
    line-height: 1.75;
}

.home-refresh .home-content-hub {
    padding: 6.4rem 0 6.8rem;
    background: #fff;
}

.home-refresh .home-content-hub__header {
    margin-bottom: 3.6rem;
}

.home-refresh .home-content-hub__eyebrow {
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0;
}

.home-refresh .home-content-hub__header h2 {
    font-size: 3rem;
}

.home-refresh .home-content-tab {
    font-size: 1.4rem;
    font-weight: 500;
}

.home-refresh .cooperate-pal {
    padding: 5.6rem 0 6rem;
    background: var(--home-refresh-soft);
}

.home-refresh .home-section-heading--center {
    justify-content: center;
    margin-bottom: 3.2rem;
    text-align: center;
}

.home-refresh .home-section-heading--center h2,
.home-refresh .home-section-heading--center p {
    text-align: center;
}

.home-refresh .cooperate-pal .content-box {
    align-items: center;
    margin-top: 0;
}

.home-refresh .cooperate-pal .content-box .item {
    min-height: 9rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-refresh .cooperate-pal .content-box .item img {
    width: min(17.4rem, 100%);
    height: auto;
    max-width: 100%;
    max-height: 8.4rem;
    object-fit: contain;
}

@media (max-width: 991.98px) {
    .home-refresh .home-value-strip .product-main > div:nth-child(3) .introduce-box {
        border-top: 1px solid var(--home-refresh-line);
        border-left: 0;
    }

    .home-roadmap__list {
        grid-template-columns: none;
    }

    .home-roadmap__list article {
        flex-basis: 42%;
    }

    .home-roadmap__list article:nth-child(3) {
        border-top: 0;
        border-left: 0;
    }

    .home-roadmap__list article:nth-child(4) {
        border-top: 0;
    }
}

@media (max-width: 767.98px) {
    .home-section-heading,
    .home-roadmap__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.6rem;
    }

    .home-refresh .home-market-section .home-section-heading {
        display: grid;
        align-items: center;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.8rem 1.2rem;
    }

    .home-refresh .home-market-section .home-section-heading > div {
        display: contents;
    }

    .home-refresh .home-market-section .home-section-heading h2 {
        grid-column: 1;
        grid-row: 1;
    }

    .home-refresh .home-market-section .home-section-heading p {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 0;
    }

    .home-refresh .home-market-section .home-section-heading > a {
        min-height: 0;
        align-self: center;
        grid-column: 2;
        grid-row: 1;
        padding: 0;
        white-space: nowrap;
    }

    .home-roadmap__header > p {
        text-align: left;
    }
}

@media (max-width: 575.98px) {
    .home-refresh .home-value-strip .introduce-box {
        min-height: 0;
        grid-template-columns: 4.4rem minmax(0, 1fr);
        gap: 1.6rem;
        padding: 2.6rem 0;
    }

    .home-refresh .home-value-strip .product-main > div + div .introduce-box,
    .home-refresh .home-value-strip .product-main > div:nth-child(3) .introduce-box {
        border-top: 1px solid var(--home-refresh-line);
        border-left: 0;
    }

    .home-value-strip__icon {
        width: 4.4rem;
        height: 4.4rem;
    }

    .home-refresh .home-market-section,
    .home-refresh .home-roadmap,
    .home-refresh .home-content-hub,
    .home-refresh .cooperate-pal {
        padding-top: 4.6rem;
        padding-bottom: 5rem;
    }

    .home-section-heading {
        margin-bottom: 2.4rem;
    }

    .home-section-heading h2,
    .home-roadmap__header h2,
    .home-refresh .home-content-hub__header h2 {
        font-size: 2.6rem;
    }

    .home-section-heading > a {
        align-self: flex-start;
    }

    .home-roadmap__list {
        grid-template-columns: none;
    }

    .home-roadmap__list article {
        flex-basis: 82%;
        min-height: 0;
        padding: 2.4rem 2rem 2.6rem 0;
    }

    .home-roadmap__list article::before {
        top: 6.1rem;
    }

    .home-roadmap__list article::after {
        top: 5.7rem;
        left: 0.75rem;
    }

    .home-roadmap__list article + article,
    .home-roadmap__list article:nth-child(3),
    .home-roadmap__list article:nth-child(4) {
        border-top: 0;
        border-left: 0;
    }

    .home-roadmap__list article > span {
        margin-bottom: 1.8rem;
    }

    .home-refresh .home-content-tabs {
        gap: 0;
    }

    .home-refresh .cooperate-pal .content-box {
        row-gap: 1.2rem;
    }

    .home-refresh .cooperate-pal .content-box .item {
        min-height: 7rem;
    }
}

/* Homepage refresh finishing adjustments. */
.home-refresh .product-introduce .product-main .introduce-box .content,
.home-refresh .product-introduce .product-main .introduce-box .content .title,
.home-refresh .product-introduce .product-main .introduce-box .content .desc {
    text-align: left;
}

.home-refresh .product-introduce .product-main .introduce-box .content .title,
.home-refresh .product-introduce .product-main .introduce-box .content .desc {
    padding-right: 0;
    padding-left: 0;
}

.home-refresh .product-introduce .product-main .introduce-box .content .desc {
    margin-top: 1.8rem;
}

@media (min-width: 992px) {
    .home-refresh .product-introduce .product-main .introduce-box .content .title {
        font-size: 1.8rem;
        white-space: nowrap;
    }
}

.home-platform-capabilities {
    padding: 4.6rem 0 4.8rem;
    border-top: 1px solid #e3e9f0;
    background: #f4f7fb;
}

.home-platform-capabilities__header {
    display: block;
    margin: 0;
}

.home-platform-capabilities__header h2 {
    font-size: 2.4rem;
}

.home-platform-capabilities__header > div > p {
    max-width: 25rem;
    margin-top: 1.2rem;
    color: #64748b;
    line-height: 1.75;
}

.home-platform-capabilities__list {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4rem;
    margin: 0;
    padding: 0;
    border-top: 0;
    list-style: none;
    margin-top: 2.4rem;
}

.home-platform-capabilities__list li,
.home-platform-capabilities__list li:first-child,
.home-platform-capabilities__list li:nth-child(3) {
    display: grid;
    min-height: 0;
    align-items: start;
    grid-template-columns: 3.6rem minmax(0, 1fr);
    gap: 1.5rem;
    padding: 0;
    border-left: 0;
}

.home-platform-capabilities__list li > span {
    display: inline-flex;
    width: 3.6rem;
    height: 3.6rem;
    align-items: center;
    justify-content: center;
    background: #edf4ff;
    color: #2274ff;
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
}

.home-platform-capabilities__list li > span::after {
    display: none;
}

.home-platform-capabilities__list li > span .iconfont {
    font-size: 1.8rem;
    line-height: 1;
}

.home-platform-capabilities__list h3 {
    margin: 0 0 0.8rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.5;
}

.home-platform-capabilities__list p {
    margin: 0;
    color: #64748b;
    font-size: 1.4rem;
    line-height: 1.75;
}

@media (max-width: 991.98px) {
    .home-platform-capabilities__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3.2rem 4rem;
    }
}

@media (min-width: 1200px) {
    .home-platform-capabilities > .container-xxl {
        display: grid;
        align-items: start;
        grid-template-columns: minmax(21rem, 0.9fr) minmax(0, 4fr);
        gap: 5rem;
    }

    .home-platform-capabilities__list {
        gap: 2.8rem;
    }
}

@media (max-width: 575.98px) {
    .home-refresh .product-introduce .product-main .introduce-box .content .title {
        font-size: 2rem;
        line-height: 1.55;
    }

    .home-platform-capabilities {
        padding: 3.6rem 0;
    }

    .home-platform-capabilities__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.4rem;
    }

    .home-platform-capabilities__list li,
    .home-platform-capabilities__list li:first-child,
    .home-platform-capabilities__list li:nth-child(3) {
        padding: 1.2rem 0;
    }

    .home-refresh .cooperate-pal .home-section-heading--center {
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
    }

    .home-refresh .cooperate-pal .home-section-heading--center > div {
        width: 100%;
    }

    .home-refresh .cooperate-pal .home-section-heading--center h2,
    .home-refresh .cooperate-pal .home-section-heading--center p {
        max-width: none;
        text-align: left;
    }

    .home-platform-capabilities__header,
    .home-platform-capabilities__header > div {
        width: 100%;
    }

    .home-platform-capabilities__header > div > p {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .home-refresh .home-roadmap {
        background-image: url("../static/images/home_banner.png");
        background-attachment: scroll;
        background-position: 38% center;
        background-repeat: no-repeat;
        background-size: auto 100%;
    }

    .home-roadmap__list article > .iconfont {
        position: relative;
        top: 1.2rem;
        margin-bottom: 1.8rem;
    }
}

/* Marketplace application detail layout. */
.plugin-detail .plugin-detail-box {
    margin-top: 0;
    padding-top: 4.8rem;
    padding-bottom: 6.4rem;
}

.plugin-detail .pt-market-detail-layout {
    --bs-gutter-x: 2.4rem;
    align-items: flex-start;
    margin-right: 0;
    margin-left: 0;
}

@media (min-width: 768px) {
    .plugin-detail .pt-market-detail-main {
        flex: 0 0 72%;
        max-width: 72%;
    }

    .plugin-detail .pt-market-detail-aside {
        flex: 0 0 28%;
        max-width: 28%;
    }
}

.plugin-detail .pt-market-detail-main > .detail,
.plugin-detail .pt-market-detail-main > .log,
.plugin-detail .pt-market-detail-main > .pt-market-faq,
.plugin-detail .pt-market-detail-main > .pt-market-structured-copy {
    margin: 0 0 2.4rem;
    padding: 2.6rem 2.8rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 2px 2px rgba(23, 32, 51, 0.05);
}

.plugin-detail .pt-market-detail-main .title,
.plugin-detail .pt-market-detail-aside .secondary_title {
    display: flex;
    min-height: 0;
    align-items: center;
    gap: 0.8rem;
    margin: 0 0 1.8rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.plugin-detail .pt-market-detail-main .title .name,
.plugin-detail .pt-market-detail-aside .secondary_title .name {
    color: #202938;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
}

.plugin-detail .pt-market-detail-main .title .name_desc {
    display: inline-flex;
    min-height: 2.4rem;
    align-items: center;
    padding: 0.2rem 0.8rem;
    background: #edf4ff;
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

.plugin-detail .pt-market-detail-main .function_introduction,
.plugin-detail .pt-market-detail-main .pt-market-rich-content,
.plugin-detail .pt-market-detail-main .log_desc_box .desc {
    color: #526176;
    font-size: 1.5rem;
    line-height: 1.9;
}

.plugin-detail .pt-market-detail-main .function_introduction {
    padding: 0;
}

.plugin-detail .pt-market-detail-main .log-roll-box {
    max-height: none;
    overflow: visible;
    padding: 0;
}

.plugin-detail .pt-market-detail-main .log_desc_box {
    margin: 0;
    padding: 0;
    border: 0;
}

.plugin-detail .pt-market-detail-main .log_desc_box .time {
    margin: 1rem 0 0.8rem;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.plugin-detail .pt-market-detail-main .log .pt-market-release-badge {
    min-height: 2.4rem;
    padding: 0.2rem 0.8rem;
    border: 0;
    border-radius: 0;
    background: #edf4ff;
    color: #2274ff;
    font-size: 1.4rem;
    font-weight: 500;
}

.plugin-detail .pt-market-detail-sidebar {
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .plugin-detail .pt-market-detail-sidebar {
        position: sticky;
        top: 8rem;
    }
}

.plugin-detail .pt-market-detail-aside .download,
.plugin-detail .pt-market-detail-aside .plugin_info,
.plugin-detail .pt-market-detail-aside .pt-market-engagement,
.plugin-detail .pt-market-detail-aside .recommend {
    margin: 0;
    padding: 2.2rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 2px 2px rgba(23, 32, 51, 0.05);
}

.plugin-detail .pt-market-purchase-summary {
    margin-bottom: 2rem;
}

.plugin-detail .pt-market-purchase-summary > span {
    display: block;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.5;
}

.plugin-detail .pt-market-purchase-summary > strong {
    display: block;
    margin-top: 0.5rem;
    color: #2274ff;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.4;
}

.plugin-detail .pt-market-purchase-summary > p {
    margin: 0.8rem 0 0;
    color: #64748b;
    font-size: 1.4rem;
    line-height: 1.7;
}

.plugin-detail .plugin-detail-box .download .buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.plugin-detail .plugin-detail-box .download .buttons > :first-child {
    grid-column: 1 / -1;
}

.plugin-detail .plugin-detail-box .download .buttons .btn {
    width: 100%;
    min-height: 4.2rem;
    padding: 0.8rem 1.2rem;
    border-radius: 0;
    font-size: 1.4rem;
    font-weight: 500;
}

.plugin-detail .plugin-detail-box .download .buttons .btn--quiet,
.plugin-detail .plugin-detail-box .download .buttons .btn--quiet:hover {
    border: 0;
}

.plugin-detail .pt-market-detail-aside .plugin_info > .container,
.plugin-detail .pt-market-detail-aside .recommend .container {
    max-width: none;
    padding: 0;
}

.plugin-detail .pt-market-detail-aside .plugin_info .row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 1.8rem;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info {
    margin: 0;
    padding: 0;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info h3 {
    margin: 0 0 0.4rem;
    color: #7c8795;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.5;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info p {
    margin: 0;
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__heading {
    align-items: flex-start;
    margin-bottom: 1.6rem;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__heading h2 {
    margin: 0;
    padding: 0;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__heading p {
    margin-top: 0.6rem;
    text-align: left;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__heading p,
.plugin-detail .pt-market-detail-aside .pt-market-engagement__notice {
    font-size: 1.4rem;
    line-height: 1.7;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__metrics {
    margin: 0 0 1.6rem;
    border: 0;
    background: #f7f9fc;
}

.plugin-detail .pt-market-detail-aside .pt-market-engagement__metrics dt,
.plugin-detail .pt-market-detail-aside .pt-market-engagement__metrics small {
    font-size: 1.4rem;
}

.plugin-detail .plugin-detail-box .pt-market-detail-aside .recommend .recommend-addon-box {
    display: grid;
    gap: 0.8rem;
    height: auto;
    max-height: none;
    overflow: visible;
}

.plugin-detail .pt-market-detail-aside .recommend_box {
    margin: 0;
    padding: 1rem;
    border: 0;
    background: #f7f9fc;
}

.plugin-detail .pt-market-detail-aside .recommend_box .row {
    align-items: center;
    margin-right: 0;
    margin-left: 0;
}

.plugin-detail .pt-market-detail-aside .recommend_box .right p {
    margin: 0;
}

.plugin-detail .pt-market-detail-aside .recommend_box .right a {
    color: #2f3742;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    transition: color 160ms ease;
}

.plugin-detail .pt-market-detail-aside .recommend_box:hover .right a {
    color: #2274ff;
}

.plugin-detail .pt-market-detail-aside .recommend_box .right .desc {
    display: -webkit-box;
    margin-top: 0.4rem;
    overflow: hidden;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 767.98px) {
    .plugin-detail .plugin-detail-box {
        padding-top: 3.2rem;
        padding-bottom: 4.8rem;
    }

    .plugin-detail .pt-market-detail-layout {
        --bs-gutter-x: 0;
        gap: 0.8rem;
    }

    .plugin-detail .pt-market-detail-main > .detail,
    .plugin-detail .pt-market-detail-main > .log,
    .plugin-detail .pt-market-detail-main > .pt-market-faq,
    .plugin-detail .pt-market-detail-main > .pt-market-structured-copy,
    .plugin-detail .pt-market-detail-aside .download,
    .plugin-detail .pt-market-detail-aside .plugin_info,
    .plugin-detail .pt-market-detail-aside .pt-market-engagement,
    .plugin-detail .pt-market-detail-aside .recommend {
        padding: 2rem;
    }

    .plugin-detail .pt-market-detail-sidebar {
        gap: 1.6rem;
    }
}

/* Keep mobile detail cards flush with the shared content column. */
@media (max-width: 767.98px) {
    .plugin-detail .pt-market-detail-layout,
    .plugin-detail .pt-market-detail-aside,
    .plugin-detail .pt-market-detail-sidebar,
    .plugin-detail .pt-market-detail-sidebar > * {
        width: 100%;
        max-width: 100%;
    }

.plugin-detail .pt-market-detail-aside {
        flex: 0 0 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

/* Keep the desktop navigation on one line at the compact desktop breakpoint. */
@media (min-width: 992px) and (max-width: 1279.98px) {
    .header-nav .navigation-default .navigation-box {
        flex-wrap: nowrap;
    }

    .header-nav .navigation-default .navigation-box .logo {
        margin-right: 1.2rem;
    }

    .header-nav .navigation-default .navigation-box .navs > .item > a {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }
}

/* Final template-card edge reset. Keep zoomed browsers from exposing the old shadow as an L-shaped line. */
.home-refresh .home-template-market-content .home-template,
.template-market .templates .content {
    filter: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.home-refresh .home-template-market-content .home-template .image,
.home-refresh .home-template-market-content .home-template .introduce,
.template-market .templates .content .image,
.template-market .templates .content .introduce {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Give the application information heading a quiet visual layer above its details. */
.plugin-detail .pt-market-detail-aside .plugin_info {
    background: #fff !important;
}

.plugin-detail .pt-market-detail-aside .plugin_info > .secondary_title {
    margin: -2.2rem -2.2rem 1.8rem;
    min-height: 6.4rem;
    padding: 0 2.2rem;
    background: #f6f9fd;
}

.plugin-detail .pt-market-detail-aside .plugin_info > .secondary_title .name {
    color: #333;
    font-weight: 500;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info h3 {
    color: #7c8795;
    font-weight: 400;
}

.plugin-detail .pt-market-detail-aside .plugin_info .info p {
    color: #2f3742;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    .plugin-detail .pt-market-detail-aside .plugin_info > .secondary_title {
        margin-right: -2rem;
        margin-left: -2rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

/* Template detail refinement. Keep the existing page header and banner unchanged. */
.template-detail .template-detail-box {
    max-width: 132rem;
    margin-top: 3.2rem;
    margin-bottom: 4.8rem;
}

.template-detail .template-detail-top,
.template-detail .template-details,
.template-detail .pt-market-engagement {
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 2px 6px rgba(23, 32, 51, 0.06);
}

.template-detail .template-detail-top {
    padding: 2.4rem;
}

.template-detail .template-detail-top > .row {
    align-items: stretch;
}

.template-detail .template-detail-top .template-detail-swiper {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f6f9fd;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-wrapper,
.template-detail .template-detail-top .template-detail-swiper .swiper-slide {
    height: 100%;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-slide.image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    background: #f6f9fd;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-slide.image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-pagination {
    bottom: 1.2rem;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-pagination-bullet {
    width: 0.7rem;
    height: 0.7rem;
    background: #fff;
    opacity: 0.72;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-pagination-bullet-active {
    background: #2274ff;
    opacity: 1;
}

.template-detail .template-detail-top .introduce-box {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: 0.4rem 0 0;
}

.template-detail .template-detail-top .introduce-box .detail {
    min-width: 0;
}

.template-detail .template-detail-top .introduce-box .detail > .title {
    margin: 0 0 1.4rem;
    color: #333;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.45;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
    margin: 0 0 1.8rem;
    padding: 0.9rem 1.2rem;
    background: #f6f9fd;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .item,
.template-detail .template-detail-top .introduce-box .detail .info .item,
.template-detail .template-detail-top .introduce-box .detail > .introduce {
    min-width: 0;
    color: #526176;
    font-size: 1.4rem;
    line-height: 1.6;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .label,
.template-detail .template-detail-top .introduce-box .detail .info .label,
.template-detail .template-detail-top .introduce-box .detail > .introduce .label {
    color: #7c8795;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .value,
.template-detail .template-detail-top .introduce-box .detail .info .value,
.template-detail .template-detail-top .introduce-box .detail > .introduce .value {
    min-width: 0;
    color: #334155;
    overflow-wrap: anywhere;
}

.template-detail .template-detail-top .introduce-box .detail .info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem 1.6rem;
}

.template-detail .template-detail-top .introduce-box .detail .info .item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.4rem;
    margin: 0;
}

.template-detail .template-detail-top .introduce-box .detail .info .price {
    color: #2274ff;
    font-size: 1.7rem;
    font-weight: 600;
}

.template-detail .template-detail-top .introduce-box .detail > .introduce {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.4rem;
    margin: 1.8rem 0 0;
    padding: 1.2rem 1.4rem;
    background: #f6f9fd;
}

.template-detail .template-detail-top .introduce-box .btns {
    justify-content: flex-start;
    margin-top: auto;
    padding-top: 2rem;
}

.template-detail .template-detail-top .introduce-box .btns a,
.template-detail .template-detail-top .introduce-box .btns button {
    min-height: 4.4rem;
    border-radius: 0.2rem;
    font-weight: 500;
}

.template-detail .template-detail-top .introduce-box .btns .is-secondary {
    border-color: #d8e0ea;
    color: #526176;
}

.template-detail .template-detail-top .introduce-box .btns .is-secondary:hover,
.template-detail .template-detail-top .introduce-box .btns .is-secondary:focus-visible {
    border-color: #d8e0ea;
    background: #f6f9fd;
    color: #526176;
}

.template-detail .pt-market-engagement {
    margin-top: 2rem;
    padding: 2.4rem;
}

.template-detail .pt-market-engagement__heading {
    min-height: 0;
    align-items: flex-start;
}

.template-detail .pt-market-engagement__heading > div:first-child {
    display: grid;
    gap: 0.6rem;
}

.template-detail .pt-market-engagement__heading h2,
.template-detail .template-detail-bottom > h3 {
    margin: 0;
    padding: 0 !important;
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}

.template-detail .pt-market-engagement__heading p {
    margin: 0;
    color: #7c8795;
    font-size: 1.4rem;
    line-height: 1.6;
}

.template-detail .pt-market-engagement__score strong {
    color: #333;
    font-size: 2.4rem;
    font-weight: 500;
}

.template-detail .pt-market-engagement__score span {
    color: #7c8795;
}

.template-detail .pt-market-engagement__metrics {
    gap: 1.2rem;
    margin-top: 1.8rem;
    border: 0 !important;
}

.template-detail .pt-market-engagement__metrics > div {
    min-width: 0;
    padding: 1.4rem 1.6rem;
    border: 0 !important;
    background: #f6f9fd;
}

.template-detail .pt-market-engagement__metrics dt {
    color: #7c8795;
}

.template-detail .pt-market-engagement__metrics dd {
    color: #333;
    font-weight: 500;
}

.template-detail .pt-market-engagement__metrics small {
    color: #7c8795;
}

.template-detail .pt-market-engagement__notice {
    margin-top: 1.6rem;
    background: #f6f9fd;
    color: #526176;
}

.template-detail .template-details {
    margin-top: 2rem;
}

.template-detail .template-details .tabs {
    min-height: 5.6rem;
    align-items: stretch;
    border-bottom: 0 !important;
}

.template-detail .template-details .tabs .item {
    display: inline-flex;
    min-width: 9.6rem;
    min-height: 5.6rem;
    align-items: center;
    justify-content: center;
    padding: 0 1.8rem;
    color: #7c8795;
    font-weight: 500;
}

.template-detail .template-details .tabs .item.active {
    border-bottom: 0 !important;
    background: #f6f9fd;
    color: #333;
}

.template-detail .template-details .content {
    min-height: 10rem;
    padding: 2.2rem 2.4rem;
    color: #526176;
    line-height: 1.8;
}

.template-detail .template-details .content .item {
    overflow-wrap: anywhere;
}

.template-detail .template-details .content .notice + .notice {
    margin-top: 0.8rem;
}

.template-detail .template-detail-bottom {
    margin-top: 3.2rem;
}

.template-detail .template-detail-bottom > h3 {
    margin: 0 0 1.6rem !important;
    text-align: left !important;
}

.template-detail .template-detail-bottom > .row {
    margin: 0 !important;
}

.template-detail .template-detail-bottom .templates .content,
.template-detail .template-detail-bottom .content {
    background: #fff;
}

@media (max-width: 767.98px) {
    .template-detail .template-detail-box {
        margin-top: 2rem;
        margin-bottom: 3.2rem;
    }

    .template-detail .template-detail-top,
    .template-detail .pt-market-engagement {
        padding: 1.6rem;
    }

    .template-detail .template-detail-top .introduce-box {
        padding-top: 0.4rem;
    }

    .template-detail .template-detail-top .introduce-box .detail > .title {
        font-size: 2rem;
    }

    .template-detail .template-detail-top .introduce-box .detail .info {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .template-detail .template-detail-box .template-detail-top .introduce-box .btns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-top: 1.6rem;
    }

    .template-detail .template-detail-top .introduce-box .btns a,
    .template-detail .template-detail-top .introduce-box .btns button,
    .template-detail .template-detail-top .introduce-box .btns form {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .template-detail .pt-market-engagement__heading {
        gap: 1rem;
    }

    .template-detail .pt-market-engagement__score strong {
        font-size: 2rem;
    }

    .template-detail .pt-market-engagement__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .template-detail .template-details .content {
        padding: 1.8rem 1.6rem;
    }
}

/* Final right-column refinement. Keep this after the legacy responsive rules. */
.template-detail .template-detail-top .introduce-box .detail .custom-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0 0 2rem;
    padding: 0;
    background: transparent;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .item {
    display: inline-flex;
    width: auto;
    min-height: 3.2rem;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.6rem 1rem;
    background: #f6f9fd;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .item--status {
    background: rgba(34, 116, 255, 0.08);
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .item--status .label {
    display: none;
}

.template-detail .template-detail-top .introduce-box .detail .custom-tags .item--status .value {
    color: #2274ff;
    font-weight: 500;
}

.template-detail .template-detail-top .introduce-box .detail .info {
    column-gap: 2.4rem;
    row-gap: 1.4rem;
}

.template-detail .template-detail-top .introduce-box .detail .info .item {
    grid-template-columns: 7.2rem minmax(0, 1fr);
    align-items: baseline;
    gap: 0.6rem;
}

.template-detail .template-detail-top .introduce-box .detail .info .item--rating {
    align-items: center;
}

.template-detail .template-detail-top .introduce-box .detail > .introduce {
    margin-top: 2rem;
}

.template-detail .template-detail-top .introduce-box .btns {
    align-items: center;
    gap: 0.8rem 1rem;
    margin-top: 2rem;
    padding-top: 0;
}

@media (max-width: 767.98px) {
    .template-detail .template-detail-box .template-detail-top .introduce-box .detail .custom-tags .item {
        width: auto !important;
    }

    .template-detail .template-detail-top .introduce-box .detail .info .item {
        grid-template-columns: 7.2rem minmax(0, 1fr);
    }

    .template-detail .template-detail-top .introduce-box .btns {
        margin-top: 1.8rem;
    }
}

/* Template detail right column: give the product information a clear market-style hierarchy. */
.template-detail .template-detail-top .introduce-box .detail {
    display: block;
}

.template-detail .template-detail-top .introduce-box .template-product-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.template-detail .template-detail-top .introduce-box .template-product-heading {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .title {
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    color: #333;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.4;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .custom-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    width: auto !important;
    margin: 1rem 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .custom-tags .item,
.template-detail .template-detail-top .introduce-box .template-product-heading .custom-tags .item--status {
    display: inline-flex;
    width: auto !important;
    min-height: 2.8rem;
    align-items: center;
    margin: 0 !important;
    padding: 0.4rem 0.9rem;
    background: #edf4ff;
    color: #2274ff;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .custom-tags .item--status .label {
    display: none;
}

.template-detail .template-detail-top .introduce-box .template-product-price {
    display: flex;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 8rem;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.3rem;
    padding-top: 0.2rem;
}

.template-detail .template-detail-top .introduce-box .template-product-heading > *,
.template-detail .template-detail-top .introduce-box .template-product-price > * {
    width: auto;
}

.template-detail .template-detail-top .introduce-box .template-product-price > span {
    width: auto !important;
    color: #7c8795;
    font-size: 1.3rem;
    line-height: 1.5;
}

.template-detail .template-detail-top .introduce-box .template-product-price > strong {
    width: auto !important;
    color: #2274ff;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}

.template-detail .template-detail-top .introduce-box .detail > .info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2.4rem;
    margin-top: 2.4rem;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin: 0;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item .label {
    color: #7c8795;
    font-size: 1.3rem;
    line-height: 1.5;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item .value {
    min-width: 0;
    color: #334155;
    font-size: 1.5rem;
    line-height: 1.5;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item--updated .value {
    white-space: nowrap;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item--rating {
    justify-content: flex-start;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item--rating .pt-rate {
    min-height: 2.25rem;
}

.template-detail .template-detail-top .introduce-box .btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.8rem 1rem;
    margin-top: 2.4rem;
    padding-top: 0;
}

@media (max-width: 767.98px) {
    .template-detail .template-detail-top .introduce-box .template-product-header {
        display: block;
    }

    .template-detail .template-detail-top .introduce-box .template-product-heading .title {
        font-size: 2rem;
    }

    .template-detail .template-detail-top .introduce-box .template-product-price {
        align-items: flex-start;
        margin-top: 1.4rem;
    }

    .template-detail .template-detail-top .introduce-box .detail > .info {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.2rem;
        margin-top: 2rem;
    }

    .template-detail .template-detail-top .introduce-box .detail > .info .item--updated .value {
        white-space: normal;
    }
}

/* Final template detail page layout. Header and banner stay unchanged. */
.template-detail .template-detail-box {
    max-width: 132rem;
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
}

.template-detail .template-detail-top,
.template-detail .pt-market-engagement,
.template-detail .template-details,
.template-detail .pt-template-market-faq {
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff;
    box-shadow: 0 2px 8px rgba(23, 32, 51, 0.06);
}

.template-detail .template-detail-top {
    overflow: hidden;
    padding: 0 !important;
}

.template-detail .template-detail-top > .row {
    align-items: stretch;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

.template-detail .template-detail-top > .row > [class*="col-"] {
    padding: 0;
}

.template-detail .template-detail-top .template-detail-swiper {
    height: 100%;
    min-height: 34rem;
    aspect-ratio: auto;
    background: #f6f9fd;
}

.template-detail .template-detail-top .template-detail-swiper .swiper-slide.image img {
    object-fit: cover;
}

.template-detail .template-detail-top .introduce-box {
    min-height: 34rem;
    padding: 3.2rem 3.6rem 2.8rem;
    background: #fff;
}

.template-detail .template-detail-top .introduce-box .template-product-header {
    align-items: flex-start;
    gap: 2.4rem;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .title {
    font-size: 2.4rem;
    line-height: 1.35;
}

.template-detail .template-detail-top .introduce-box .template-product-heading .custom-tags {
    margin-top: 1.2rem !important;
}

.template-detail .template-detail-top .introduce-box .template-product-price {
    min-width: 8.4rem;
}

.template-detail .template-detail-top .introduce-box .template-product-price > strong {
    font-size: 2.3rem;
}

.template-detail .template-detail-top .introduce-box .detail > .info {
    gap: 1.8rem 3.2rem;
    margin-top: 3rem;
    padding-top: 2.2rem;
    border-top: 1px solid #eef2f7;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item {
    gap: 0.35rem;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item .label {
    font-size: 1.3rem;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item .value {
    color: #2f3742;
    font-size: 1.5rem;
    font-weight: 500;
}

.template-detail .template-detail-top .introduce-box .detail > .info .item--rating .pt-rate {
    margin-top: 0.1rem;
}

.template-detail .template-service-info {
    margin-top: 2.4rem;
    padding-top: 2rem;
    border-top: 1px solid #eef2f7;
}

.template-detail .template-service-info__heading h3 {
    margin: 0;
    color: #333;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}

.template-detail .template-service-info__heading p {
    margin: 0.4rem 0 0;
    color: #7c8795;
    font-size: 1.3rem;
    line-height: 1.6;
}

.template-detail .template-service-info__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1.2rem;
}

.template-detail .template-service-info__links a {
    display: flex;
    min-width: 0;
    min-height: 4rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.8rem 1rem;
    background: #f6f9fd;
    color: #334155;
    font-size: 1.3rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 160ms ease, background-color 160ms ease;
}

.template-detail .template-service-info__links a:hover,
.template-detail .template-service-info__links a:focus-visible {
    background: #edf4ff;
    color: #2274ff;
}

.template-detail .template-service-info__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.template-detail .template-service-info__action {
    flex: 0 0 auto;
    color: #2274ff;
    font-size: 1.2rem;
}

.template-detail .template-detail-top .introduce-box .btns {
    margin-top: 2.8rem;
    padding-top: 0;
}

.template-detail .template-detail-top .introduce-box .btns a,
.template-detail .template-detail-top .introduce-box .btns button {
    min-height: 4.2rem;
    padding-right: 1.8rem;
    padding-left: 1.8rem;
}

.template-detail .template-detail-top .introduce-box .btns .is-secondary {
    background: #fff;
}

.template-detail .pt-market-engagement {
    margin-top: 2.4rem;
    padding: 2.8rem 3.2rem;
}

.template-detail .pt-market-engagement__heading h2,
.template-detail .template-detail-bottom > h3,
.template-detail .pt-template-market-faq .title .name {
    font-size: 2rem;
    line-height: 1.4;
}

.template-detail .pt-market-engagement__heading p {
    margin-top: 0.4rem;
}

.template-detail .pt-market-engagement__metrics {
    gap: 1.6rem;
    margin-top: 2.4rem;
}

.template-detail .pt-market-engagement__metrics > div {
    padding: 1.8rem 2rem;
    background: #f6f9fd;
}

.template-detail .pt-market-engagement__notice {
    margin-top: 1.6rem;
    padding: 1.2rem 1.6rem;
}

.template-detail .template-details {
    margin-top: 2.4rem;
    overflow: hidden;
}

.template-detail .template-details .tabs {
    min-height: 6rem;
    padding: 0 2.4rem;
    background: #fff;
}

.template-detail .template-details .tabs .item {
    min-width: 0;
    min-height: 6rem;
    margin-right: 2.8rem;
    padding: 0 0.2rem;
    justify-content: flex-start;
}

.template-detail .template-details .tabs .item.active {
    position: relative;
    background: transparent;
}

.template-detail .template-details .tabs .item.active::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: #2274ff;
    content: "";
}

.template-detail .template-details .content {
    min-height: 0;
    padding: 2.8rem 3.2rem 3.2rem;
    color: #526176;
    font-size: 1.5rem;
    line-height: 2;
}

.template-detail .template-details .content .item {
    max-width: 96rem;
}

.template-detail .pt-template-market-faq {
    margin-top: 2.4rem;
    padding: 2.8rem 3.2rem;
}

.template-detail .pt-template-market-faq .title {
    margin: 0 0 1.8rem;
}

.template-detail .pt-template-market-faq .pt-market-faq__list details {
    padding: 1.4rem 0;
    border-top: 1px solid #eef2f7;
}

.template-detail .template-detail-bottom {
    margin-top: 3.6rem;
}

.template-detail .template-detail-bottom > h3 {
    margin-bottom: 1.8rem !important;
}

.template-detail .template-detail-bottom > .row {
    --bs-gutter-x: 1.6rem;
    --bs-gutter-y: 1.6rem;
}

.template-detail .template-detail-bottom .templates .content,
.template-detail .template-detail-bottom .content {
    background: #fff;
}

@media (min-width: 992px) {
    .template-detail .template-detail-top > .row > .col-lg-6:first-child {
        flex: 0 0 54%;
        max-width: 54%;
    }

    .template-detail .template-detail-top > .row > .col-lg-6:last-child {
        flex: 0 0 46%;
        max-width: 46%;
    }
}

@media (max-width: 767.98px) {
    .template-detail .template-detail-box {
        margin-top: 2rem;
        margin-bottom: 3.6rem;
    }

    .template-detail .template-detail-top {
        overflow: visible;
    }

    .template-detail .template-detail-top .template-detail-swiper {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .template-detail .template-detail-top .introduce-box {
        min-height: 0;
        padding: 2.4rem 2rem 2rem;
    }

    .template-detail .template-detail-top .introduce-box .template-product-heading .title {
        font-size: 2rem;
    }

    .template-detail .template-detail-top .introduce-box .template-product-price {
        margin-top: 1.6rem;
    }

    .template-detail .template-detail-top .introduce-box .detail > .info {
        gap: 1.2rem;
        margin-top: 2rem;
        padding-top: 1.8rem;
    }

    .template-detail .template-service-info {
        margin-top: 2rem;
        padding-top: 1.8rem;
    }

    .template-detail .template-service-info__links {
        grid-template-columns: minmax(0, 1fr);
    }

    .template-detail .pt-market-engagement {
        margin-top: 1.6rem;
        padding: 2rem;
    }

    .template-detail .template-details {
        margin-top: 1.6rem;
    }

    .template-detail .template-details .tabs {
        padding: 0 2rem;
    }

    .template-detail .template-details .tabs .item {
        margin-right: 2rem;
    }

    .template-detail .template-details .content {
        padding: 2rem;
        font-size: 1.5rem;
    }

    .template-detail .pt-template-market-faq {
        margin-top: 1.6rem;
        padding: 2rem;
    }
}

/* Final button hierarchy override. Keep this after all legacy marketplace rules. */
.template-detail .template-detail-top .introduce-box .btns .template-action-buy,
.template-detail .template-detail-top .introduce-box .btns form.template-action-buy button {
    display: inline-flex !important;
    min-height: 4.4rem !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #2274ff !important;
    border-radius: 0.2rem !important;
    background: #2274ff !important;
    color: #fff !important;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-demo {
    display: inline-flex !important;
    min-height: 4.4rem !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #c9d9f2 !important;
    border-radius: 0.2rem !important;
    background: #edf4ff !important;
    color: #2274ff !important;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-demo:hover,
.template-detail .template-detail-top .introduce-box .btns .template-action-demo:focus-visible {
    border-color: #a9c4ec !important;
    background: #e3efff !important;
    color: #1768e8 !important;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-favorite,
.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button {
    display: inline-flex !important;
    min-height: 4.4rem !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 0.2rem !important;
    background: transparent !important;
    color: #526176 !important;
}

.template-detail .template-detail-top .introduce-box .btns .template-action-favorite:hover,
.template-detail .template-detail-top .introduce-box .btns .template-action-favorite:focus-visible,
.template-detail .template-detail-top .introduce-box .btns form.template-action-favorite button:hover {
    border: 0 !important;
    background: #f6f9fd !important;
    color: #2274ff !important;
}

/* Template detail refresh: follow the application detail page hierarchy. */
.template-detail .template-detail-box { margin-top: 2.4rem; }
.template-detail .template-detail-main,
.template-detail .template-detail-sidebar { display: grid; gap: 2.4rem; align-content: start; min-width: 0; }
.template-detail .template-preview-panel,
.template-detail .template-details,
.template-detail .template-purchase-panel,
.template-detail .template-info-panel,
.template-detail .template-service-info,
.template-detail .pt-market-engagement,
.template-detail .pt-template-market-faq,
.template-detail .template-detail-bottom { min-width: 0; padding: 2.4rem; border: 0; background: #fff; }
.template-detail .template-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.6rem; margin-bottom: 1.6rem; }
.template-detail .template-section-heading h2,
.template-detail .template-section-heading p { margin: 0; }
.template-detail .template-section-heading h2 { color: #333; font-size: 1.8rem; font-weight: 500; line-height: 1.5; }
.template-detail .template-section-heading p { margin-top: .5rem; color: #7c8795; font-size: 1.3rem; line-height: 1.6; }
.template-detail .template-section-count { flex: 0 0 auto; color: #7c8795; font-size: 1.3rem; line-height: 2.7rem; }

/* Keep the gallery to one full-width image per slide. */
.template-detail .template-preview-panel .template-detail-swiper { width: 100%; height: auto; aspect-ratio: 16 / 9; overflow: hidden; background: #f5f8fc; }
.template-detail .template-preview-panel .template-detail-swiper .swiper-wrapper { display: flex; }
.template-detail .template-preview-panel .template-detail-swiper .swiper-slide { flex: 0 0 100%; min-width: 100%; height: 100%; overflow: hidden; background: #f5f8fc; }
.template-detail .template-preview-panel .template-detail-swiper .swiper-slide > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.template-detail .template-preview-panel .swiper-pagination { bottom: 1.2rem; }

.template-detail .template-purchase-panel { padding: 2.8rem; }
.template-detail .template-purchase-panel .template-product-heading {
    display: block;
    padding-bottom: 0;
    border-bottom: 0;
}
.template-detail .template-purchase-panel .template-product-heading h2 { margin: 0; color: #333; font-size: 2rem; font-weight: 500; line-height: 1.45; }
.template-detail .template-purchase-panel .template-product-heading > div:first-child { min-width: 0; }
.template-detail .template-purchase-panel .template-product-heading h2 { padding: 0 !important; }
.template-detail .template-purchase-panel .template-product-heading h2 {
    text-align: left !important;
}
.template-detail .template-purchase-panel .custom-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.template-detail .template-purchase-panel .custom-tags .item { margin: 0; padding: .3rem .8rem; border: 0; background: #edf4ff; color: #2274ff; font-size: 1.2rem; line-height: 1.5; }
.template-detail .template-purchase-panel .template-product-price {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    margin-top: 2rem;
    text-align: left;
}
.template-detail .template-purchase-panel .template-product-price span {
    display: inline;
    color: #7c8795;
    font-size: 1.2rem;
}
.template-detail .template-purchase-panel .template-product-price strong {
    display: inline;
    margin-top: 0;
    color: #2274ff !important;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}
.template-detail .template-purchase-panel .template-product-price strong .price {
    color: #2274ff !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}
.template-detail .template-purchase-panel .template-purchase-summary {
    margin: 1.2rem 0 0;
    padding-bottom: 1.8rem;
    border-bottom: 1px solid #eef2f7;
    color: #526176;
    font-size: 1.3rem;
    line-height: 1.7;
}
.template-detail .template-action-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-auto-flow: row;
    gap: .8rem;
    margin-top: 2rem;
}
.template-detail .template-action-list .template-action-buy,
.template-detail .template-action-list form.template-action-buy {
    grid-column: 1 / -1 !important;
}
.template-detail .template-action-list .template-action-demo,
.template-detail .template-action-list .template-action-favorite,
.template-detail .template-action-list form.template-action-favorite {
    grid-column: auto !important;
}
.template-detail .template-action-list form { margin: 0; }
.template-detail .template-action-list > a,
.template-detail .template-action-list > form,
.template-detail .template-action-list > form button { width: 100%; }
.template-detail .template-action-list .template-action-buy,
.template-detail .template-action-list .template-action-demo,
.template-detail .template-action-list .template-action-existing,
.template-detail .template-action-list .template-action-favorite,
.template-detail .template-action-list form button { min-height: 4.4rem !important; justify-content: center; }
.template-detail .template-action-list .template-action-existing { display: inline-flex; align-items: center; border: 1px solid #d9e2ef; background: #fff; color: #526176; }
.template-detail .template-action-list .template-action-existing:hover,
.template-detail .template-action-list .template-action-existing:focus-visible { border-color: #c9d9f2; background: #f6f9fd; color: #2274ff; }
.template-detail .template-action-list .template-action-favorite,
.template-detail .template-action-list form.template-action-favorite button {
    border: 1px solid #c9d9f2 !important;
    background: #edf4ff !important;
    color: #2274ff !important;
}
.template-detail .template-action-list .template-action-favorite:hover,
.template-detail .template-action-list .template-action-favorite:focus-visible,
.template-detail .template-action-list form.template-action-favorite button:hover { color: #2274ff !important; }

.template-detail .template-info-panel .template-section-heading,
.template-detail .template-service-info .template-section-heading { margin-bottom: 1.4rem; }
.template-detail .template-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 2rem; }
.template-detail .template-info-grid > div { min-width: 0; }
.template-detail .template-info-grid span,
.template-detail .template-info-grid strong { display: block; }
.template-detail .template-info-grid span { color: #7c8795; font-size: 1.3rem; line-height: 1.5; }
.template-detail .template-info-grid strong { margin-top: .5rem; overflow-wrap: anywhere; color: #333; font-size: 1.4rem; font-weight: 500; line-height: 1.5; }
.template-detail .template-service-info { padding-top: 2.4rem; }
.template-detail .template-service-info__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin-top: 0; }
.template-detail .template-info-panel .template-service-info__links { margin-top: 2rem; }
.template-detail .template-service-info__links a { min-width: 0; min-height: 4rem; justify-content: center; padding: 1rem .6rem; border: 0; background: #f5f8fc; }
.template-detail .template-service-info__links .template-service-info__label,
.template-detail .template-service-info__links .template-service-info__action { min-width: 0; font-size: 1.2rem; }
.template-detail .template-service-info__links a:hover,
.template-detail .template-service-info__links a:focus-visible {
    background: #edf4ff !important;
    color: #2274ff !important;
}
.template-detail .template-details .tabs { padding: 0; }
.template-detail .template-details .content { padding: 2rem 0 0; }
.template-detail .template-detail-bottom { margin-top: 2.4rem; }

@media (max-width: 767.98px) {
    .template-detail .template-detail-box { margin-top: 1.6rem; }
    .template-detail .template-detail-main,
    .template-detail .template-detail-sidebar { gap: 1.6rem; }
    .template-detail .template-preview-panel,
    .template-detail .template-details,
    .template-detail .template-purchase-panel,
    .template-detail .template-info-panel,
    .template-detail .template-service-info,
    .template-detail .pt-market-engagement,
    .template-detail .pt-template-market-faq,
    .template-detail .template-detail-bottom { padding: 2rem; }
    .template-detail .template-purchase-panel .template-product-heading { gap: 1rem; }
    .template-detail .template-purchase-panel .template-product-heading h2 { font-size: 1.8rem; }

    .template-detail .template-info-panel .template-info-grid {
        margin-right: -2rem;
        margin-left: -2rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        margin-right: -2rem;
        margin-left: -2rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

/* Let the lower information background finish at the card edge. */
.template-detail .template-info-panel { padding-bottom: 0 !important; }

/* Final detail polish: neutralize legacy button and gallery sizing rules. */
.template-detail .template-preview-panel .template-detail-swiper .swiper-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.template-detail .template-action-list > a.template-action-buy,
.template-detail .template-action-list > form.template-action-buy,
.template-detail .template-action-list > form.template-action-buy button {
    display: flex !important;
    align-items: center;
    height: 4.4rem !important;
    box-sizing: border-box;
    min-height: 4.4rem !important;
    padding: .8rem 1.8rem !important;
    border: 1px solid #2274ff !important;
    border-radius: .2rem !important;
    background: #2274ff !important;
    color: #fff !important;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-action-list > a.template-action-demo {
    display: flex !important;
    align-items: center;
    justify-content: center !important;
    flex-direction: row;
    gap: .5rem;
    height: 4.4rem !important;
    box-sizing: border-box;
    min-height: 4.4rem !important;
    padding: .8rem 1.8rem !important;
    border: 0 !important;
    border-radius: .2rem !important;
    background: #edf4ff !important;
    color: #2274ff !important;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-action-list > form.template-action-favorite {
    display: flex !important;
    align-items: center;
    height: 4.4rem !important;
    box-sizing: border-box;
    min-height: 4.4rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.template-detail .template-action-list > form.template-action-favorite button,
.template-detail .template-action-list > a.template-action-favorite {
    display: flex !important;
    width: 100%;
    height: 4.4rem !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 4.4rem !important;
    padding: .8rem 1.8rem !important;
    border: 0 !important;
    background: #edf4ff !important;
    color: #2274ff !important;
    font-size: 1.4rem;
    line-height: 1.4;
    text-decoration: none;
}

.template-detail .template-action-list .template-action-demo .iconfont,
.template-detail .template-action-list .template-action-favorite .iconfont {
    display: inline-flex;
    width: 1.4rem;
    height: 1.4rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    line-height: 1 !important;
    vertical-align: middle;
}

.template-detail .template-action-list > a.template-action-buy:hover,
.template-detail .template-action-list > form.template-action-buy button:hover {
    border-color: #1768e8 !important;
    background: #1768e8 !important;
}

.template-detail .template-action-list > a.template-action-demo:hover,
.template-detail .template-action-list > a.template-action-demo:focus-visible {
    border-color: #a9c4ec !important;
    background: #e3efff !important;
}

.template-detail .template-action-list > form.template-action-favorite button:hover,
.template-detail .template-action-list > a.template-action-favorite:hover {
    color: #2274ff !important;
}

/* Match the application detail page's measured 8/4 content proportions. */
@media (min-width: 992px) {
    .template-detail .template-detail-layout {
        margin-right: 0;
        margin-left: 0;
    }

    .template-detail .template-detail-layout > .template-detail-main {
        flex: 0 0 72%;
        max-width: 72%;
        margin-top: 0;
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .template-detail .template-detail-layout > .template-detail-aside {
        flex: 0 0 28%;
        max-width: 28%;
        margin-top: 0;
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }
}

.template-detail .template-detail-main,
.template-detail .template-detail-sidebar { gap: 2rem; }

@media (min-width: 992px) {
    .template-detail .template-detail-bottom {
        width: calc(100% - 2.4rem);
        margin-right: 1.2rem;
        margin-left: 1.2rem;
    }
}

.template-detail .template-preview-panel,
.template-detail .template-details,
.template-detail .template-purchase-panel,
.template-detail .template-info-panel,
.template-detail .template-service-info,
.template-detail .pt-market-engagement,
.template-detail .pt-template-market-faq,
.template-detail .template-detail-bottom { padding: 2.2rem; }

.template-detail .template-purchase-panel,
.template-detail .template-info-panel,
.template-detail .template-service-info { box-shadow: 0 2px 8px rgba(39, 64, 91, .05); }

.template-detail .template-info-panel .template-section-heading,
.template-detail .template-service-info .template-section-heading {
    min-height: 6.4rem;
    margin: -2.2rem -2.2rem 1.8rem;
    padding: 0 2.2rem;
    align-items: center;
    background: #f5f8fc;
}

.template-detail .template-info-panel .template-section-heading h2,
.template-detail .template-service-info .template-section-heading h2 { font-size: 1.6rem; }
.template-detail .template-info-panel .template-section-heading h2 { padding: 0 !important; }
.template-detail .template-info-panel .template-section-heading p,
.template-detail .template-service-info .template-section-heading p { margin-top: .3rem; }

.template-detail .template-info-grid { gap: 1.8rem 1.6rem; }
.template-detail .template-info-panel .template-section-heading {
    margin-bottom: 0;
    background: #fff;
}

.template-detail .template-info-panel .template-info-grid {
    margin-right: -2.2rem;
    margin-left: -2.2rem;
    padding: 1.8rem 2.2rem 0;
    background: #f5f8fc;
}

.template-detail .template-info-panel .template-service-info__links {
    margin-top: 0;
    margin-right: -2.2rem;
    margin-left: -2.2rem;
    padding: 1.6rem 2.2rem 2.2rem;
    background: #f5f8fc;
}
.template-detail .template-info-grid span { font-size: 1.2rem; }
.template-detail .template-info-grid strong { font-size: 1.4rem; }

@media (max-width: 767.98px) {
    .template-detail .template-preview-panel,
    .template-detail .template-details,
    .template-detail .template-purchase-panel,
    .template-detail .template-info-panel,
    .template-detail .template-service-info,
    .template-detail .pt-market-engagement,
    .template-detail .pt-template-market-faq,
    .template-detail .template-detail-bottom { padding: 2rem; }

    .template-detail .template-info-panel .template-section-heading,
    .template-detail .template-service-info .template-section-heading {
        min-height: 5.8rem;
        margin: -2rem -2rem 1.6rem;
        padding: 0 2rem;
    }
}

/* Final information-card layout override. */
.template-detail .template-info-panel {
    padding: 0 !important;
    overflow: hidden;
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.4rem !important;
    margin: 0 !important;
    padding: 0 2.2rem !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-info-grid {
    margin: 0 !important;
    padding: 1.8rem 2.2rem !important;
    background: #f5f8fc !important;
}

.template-detail .template-info-panel .template-service-info__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
    margin: 0 !important;
    padding: 1.6rem 2.2rem 2.2rem !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.8rem;
    background: #f5f8fc;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 5.8rem !important;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-info-grid {
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-service-info__links {
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }
}

/* Refine the information area into compact, scannable data cells. */
.template-detail .template-info-panel .template-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    padding: 1.6rem 2.2rem 0 !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-info-grid > div {
    padding: 1rem 1.2rem;
    background: #f5f8fc;
}

.template-detail .template-info-panel .template-info-grid strong {
    margin-top: .4rem;
}

.template-detail .template-info-panel .template-service-info__links {
    gap: .8rem;
    padding: 1.6rem 2.2rem 2.2rem !important;
    background: #fff !important;
}

.template-detail .template-info-panel .template-service-info__links a {
    padding: .9rem .6rem;
    background: #f5f8fc;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-info-grid {
        gap: .8rem;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-info-grid > div {
        padding: .9rem 1rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        gap: .6rem;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }
}

/* Final polish: keep the information panel quiet and structured without extra rules. */
.template-detail .template-info-panel {
    background: #fff !important;
    border-radius: .4rem;
}

.template-detail .template-info-panel .template-section-heading {
    min-height: 6.8rem !important;
    padding: 0 2.2rem !important;
}

.template-detail .template-info-panel .template-section-heading h2 {
    font-size: 1.7rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.template-detail .template-info-panel .template-info-grid {
    gap: .7rem;
    padding: 1.4rem 2.2rem 1.1rem !important;
}

.template-detail .template-info-panel .template-info-grid > div {
    min-height: 5.2rem;
    padding: .9rem 1.1rem;
    border-radius: .25rem;
    background: #f6f8fb;
}

.template-detail .template-info-panel .template-info-grid span {
    color: #8993a1;
    font-size: 1.2rem;
    line-height: 1.4;
}

.template-detail .template-info-panel .template-info-grid strong {
    margin-top: .45rem;
    color: #333;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
}

.template-detail .template-info-panel .template-service-info__links {
    gap: .7rem;
    padding: 1.1rem 2.2rem 2.2rem !important;
}

.template-detail .template-info-panel .template-service-info__links a {
    min-height: 3.6rem;
    padding: .8rem .5rem;
    border-radius: .25rem;
    background: #f6f8fb;
    color: #596575;
}

.template-detail .template-info-panel .template-service-info__links .template-service-info__label,
.template-detail .template-info-panel .template-service-info__links .template-service-info__action {
    font-size: 1.2rem;
    line-height: 1.3;
}

@media (max-width: 767.98px) {
    .template-detail .template-info-panel .template-section-heading {
        min-height: 6.2rem !important;
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }

    .template-detail .template-info-panel .template-info-grid {
        gap: .7rem;
        padding: 1.2rem 2rem 1rem !important;
    }

    .template-detail .template-info-panel .template-info-grid > div {
        min-height: 5rem;
        padding: .85rem 1rem;
    }

    .template-detail .template-info-panel .template-service-info__links {
        gap: .6rem;
        padding: 1rem 2rem 2rem !important;
    }
}

/* Match the requested top spacing on the plugin detail panel. */
.plugin-detail .plugin-detail-box {
    padding-top: 3rem;
}

.plugin-market .sort-box {
    margin-top: 3rem;
}

.template-market .sort-box {
    margin-top: 3rem;
}

.template-detail .template-detail-box {
    margin-top: 3rem;
}

.template-detail .template-detail-layout {
    margin-top: 0;
}

/* Give the selected directive title and description enough vertical breathing room. */
.pt-directive-recipe-header {
    height: auto;
    min-height: 72px;
    grid-template-rows: max-content max-content !important;
    row-gap: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.pt-directive-recipe-header h2 {
    font-size: 19px;
}

.pt-directive-recipe-header p {
    position: relative;
    top: -3px;
}

.pt-directive-tool .pt-directive-shell {
    padding-top: 3rem;
}

/* Shared pagination polish for public lists and account pages. */
.pt-cms-pager {
    gap: 1.2rem !important;
}

.pt-cms-pager__items {
    gap: 0.7rem !important;
}

.pt-cms-pager__item,
.pt-cms-pager__state,
.pt-cms-pager__ellipsis,
.pt-account-pagination a,
.pt-account-pagination span {
    min-width: 3.8rem !important;
    height: 3.8rem !important;
    padding: 0 1.1rem !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 0.5rem !important;
    background: #fff !important;
    color: #475569 !important;
    font-size: 1.3rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.pt-cms-pager__item:hover,
.pt-cms-pager__item:focus-visible,
.pt-account-pagination a:hover,
.pt-account-pagination a:focus-visible {
    border-color: #8db7ff;
    background: #f5f9ff;
    color: #2274ff;
    box-shadow: 0 2px 7px rgba(34, 116, 255, 0.1);
}

.pt-cms-pager__item.is-active {
    border-color: #2274ff !important;
    background: #2274ff !important;
    color: #fff !important;
    box-shadow: 0 3px 8px rgba(34, 116, 255, 0.2);
}

.pt-cms-pager__item.is-disabled {
    border-color: #e8edf3 !important;
    background: #f8fafc !important;
    color: #a3afbf !important;
}

.pt-account-pagination {
    gap: 0.8rem;
}

.pt-account-pagination span {
    color: #a3afbf;
}

.pt-account-security__status.is-verified {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #2563eb;
}

/* Keep the authorization notice as one left-aligned icon-and-text group. */
.pt-template-checkout .pt-checkout-rights__notice {
    align-items: center;
    justify-content: flex-start;
    border-left: 0;
    text-align: left;
}

/* Keep the current-password controls on one aligned row. */
.pt-account-contact-change__password-control {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: stretch;
}

.pt-account-contact-change__password-control input {
    min-width: 0;
}

.pt-account-contact-change__password-control .pt-account-button {
    width: auto;
    min-height: 3.8rem;
    align-self: stretch;
}

.pt-account-contact-change form > .settings-submit {
    width: auto;
    min-height: 3.8rem;
    margin-top: 0.8rem;
}

.pt-account-contact-change__password-control input:focus,
.pt-account-contact-change__password-control input:focus-visible {
    border-color: var(--pt-account-theme) !important;
    outline: 2px solid rgba(34, 116, 255, 0.18) !important;
    outline-offset: 1px;
    box-shadow: none !important;
}

/* Use the same compact inline layout for the address and code steps. */
.pt-account-contact-change__control {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: stretch;
}

.pt-account-contact-change__control input {
    min-width: 0;
}

.pt-account-contact-change__control .pt-account-button {
    width: auto;
    min-height: 3.8rem;
    align-self: stretch;
}

.pt-account-contact-change input:focus,
.pt-account-contact-change input:focus-visible {
    border-color: var(--pt-account-theme) !important;
    outline: 2px solid rgba(34, 116, 255, 0.18) !important;
    outline-offset: 1px;
    box-shadow: none !important;
}

/* Keep the SMS captcha dialog compact and remove the duplicated instruction row. */
.layui-layer.pt-sms-captcha-layer {
    overflow: hidden;
    border: 1px solid #e1e6ee;
    border-radius: 0.6rem;
    background: #fff;
    box-shadow: 0 1.4rem 3.6rem rgba(25, 35, 50, 0.16);
}

.layui-layer.pt-sms-captcha-layer .layui-layer-title {
    height: 4.8rem;
    padding: 0 4.8rem 0 1.6rem;
    border-bottom: 1px solid #e8edf3;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 4.8rem;
}

.layui-layer.pt-sms-captcha-layer .layui-layer-setwin {
    top: 1.6rem;
    right: 1.6rem;
}

.layui-layer.pt-sms-captcha-layer .layui-layer-content {
    padding: 0;
    overflow: visible;
}

.pt-sms-captcha-dialog {
    display: grid;
    gap: 1rem;
    padding: 1.4rem 1.6rem 1.6rem;
    background: #fff;
}

.pt-sms-captcha-dialog__intro {
    display: none;
}

.pt-sms-captcha-dialog pt-captcha {
    display: block;
    min-width: 0;
}

.pt-sms-captcha-dialog > [data-sms-captcha-confirm] {
    width: 100%;
    min-height: 4rem;
    margin: 0;
    border-radius: 0.4rem;
    font-size: 1.3rem;
}

@media (max-width: 575.98px) {
    .pt-sms-captcha-dialog {
        padding: 1.2rem 1.2rem 1.3rem;
    }
}

@media (max-width: 640px) {
    .pt-cms-pager__items {
        gap: 0.5rem !important;
    }

    .pt-cms-pager__item,
    .pt-cms-pager__state,
    .pt-cms-pager__ellipsis,
    .pt-account-pagination a,
    .pt-account-pagination span {
        min-width: 3.6rem !important;
        height: 3.6rem !important;
        padding-right: 0.9rem !important;
        padding-left: 0.9rem !important;
    }
}

/* Purchase checkout palette: keep the page in the site's blue-white brand system. */
.pt-template-checkout {
    --pt-checkout-accent-dark: #1768e8;
    --pt-checkout-success: #2274ff;
    --pt-checkout-soft: #f5f8fc;
    --pt-checkout-warning: #996a12;
    background: #f5f7fa;
}

.pt-template-checkout__breadcrumb,
.pt-template-checkout__breadcrumb a {
    color: #7a8798;
}

.pt-template-checkout__breadcrumb a:hover,
.pt-template-checkout__breadcrumb a:focus-visible {
    color: #2274ff;
}

.pt-template-checkout__steps {
    color: #8996a8;
}

.pt-template-checkout__steps li:not(:last-child)::after {
    background: #d8e0eb;
}

.pt-template-checkout__steps li > span {
    border-color: #cfd8e5;
    color: #7a8798;
}

.pt-template-checkout__steps li.is-current {
    color: #26354a;
}

.pt-checkout-panel,
.pt-checkout-summary {
    border-color: #e1e7ef;
    box-shadow: 0 10px 26px rgba(23, 32, 51, 0.045);
}

.pt-checkout-panel__heading,
.pt-checkout-summary > header,
.pt-checkout-product__facts,
.pt-checkout-summary__lines,
.pt-checkout-summary__points {
    border-color: #e5ebf2;
}

.pt-checkout-panel__heading h2,
.pt-checkout-summary > header h2,
.pt-checkout-product__title h3,
.pt-checkout-rights strong,
.pt-checkout-summary__total > span,
.pt-checkout-summary__account strong {
    color: #26354a;
}

.pt-checkout-product__cover {
    border-color: #e1e8f1;
    background: #f3f7fc;
    color: #2274ff;
}

.pt-checkout-product__badges > span:not(.pt-checkout-official) {
    background: #eef4ff;
    color: #48617d;
}

.pt-checkout-official {
    border-color: #c5dafb;
    background: #eff6ff;
    color: #1768e8;
}

.pt-template-checkout .pt-checkout-product__badges .pt-checkout-official {
    margin-left: auto;
}

.pt-checkout-product__facts dt,
.pt-checkout-product__compatibility > span {
    color: #7a8798;
}

.pt-checkout-product__facts dd {
    color: #33445a;
}

.pt-checkout-product__compatibility small {
    border-color: #dbe5f2;
    background: #f7faff;
    color: #526a86;
}

.pt-checkout-rights li:nth-child(even),
.pt-checkout-rights li:nth-child(n + 3) {
    border-color: #e5ebf2;
}

.pt-checkout-rights li > i {
    background: #edf4ff;
    color: #2274ff;
}

.pt-checkout-rights small,
.pt-checkout-product__title p,
.pt-checkout-summary__method p,
.pt-checkout-summary__free-note,
.pt-checkout-summary__assurance {
    align-items: center;
    justify-content: center;
    color: #718096;
    text-align: center;
}

.pt-checkout-product__title p {
    text-align: left;
}

.pt-checkout-rights small {
    text-align: left;
}

@media (min-width: 821px) {
    .pt-template-checkout .pt-template-checkout__heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
        gap: 24px;
        align-items: end;
    }

    .pt-template-checkout .pt-template-checkout__steps {
        position: relative;
        display: flex;
        box-sizing: border-box;
        grid-column: 2;
        align-items: center;
        justify-content: space-between;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
        padding-right: 15px;
        padding-left: 15px;
    }

    .pt-template-checkout .pt-template-checkout__steps::before {
        position: absolute;
        top: 12px;
        right: 12px;
        left: 12px;
        height: 1px;
        background: #d8e0eb;
        content: "";
    }

    .pt-template-checkout .pt-template-checkout__steps li {
        z-index: 1;
        flex: 0 0 auto;
        padding-right: 8px;
        padding-left: 8px;
        background: #f5f7fa;
    }

    .pt-template-checkout .pt-template-checkout__steps li:first-child {
        padding-left: 0;
    }

    .pt-template-checkout .pt-template-checkout__steps li:last-child {
        padding-right: 0;
    }

    .pt-template-checkout .pt-template-checkout__steps li:not(:last-child)::after {
        display: none;
    }

    .pt-template-checkout .pt-checkout-summary {
        box-sizing: border-box;
        grid-column: 2;
        justify-self: stretch;
        width: 100%;
    }

    .pt-template-checkout .pt-checkout-product {
        align-items: center;
    }

    .pt-template-checkout .pt-checkout-product__cover--icon {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .pt-template-checkout .pt-checkout-product__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

}

@media (min-width: 821px) and (max-width: 1024px) {
    .pt-template-checkout .pt-template-checkout__heading {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 340px);
    }
}

.pt-checkout-rights__notice {
    border-left-color: #b9cef0;
    background: #f5f8fd;
    color: #62728a;
}

.pt-checkout-summary__lines dd,
.pt-checkout-summary__total strong,
.pt-checkout-summary__points strong {
    color: #1768e8;
}

.pt-checkout-summary__account,
.pt-checkout-summary__free-note {
    background: #f5f8fc;
}

.pt-checkout-summary__account > i {
    background: #e4efff;
    color: #2274ff;
}

.pt-checkout-summary__account small {
    color: #7a8798;
}

.pt-checkout-summary__method > span {
    color: #26354a;
}

.pt-checkout-summary__method > div small {
    border-color: #cbdcf4;
    background: #f6f9ff;
    color: #2e5c9d;
}

.pt-checkout-summary__method p.is-warning {
    border-left-color: #d6aa4b;
    background: #fff9ed;
    color: #8b641b;
}

.pt-checkout-payment-options label > span {
    border-color: #dbe3ee;
    color: #526176;
}

.pt-checkout-payment-options label:hover > span {
    border-color: #9fc0f3;
    background: #f5f9ff;
}

.pt-checkout-payment-options input:checked + span {
    border-color: #2274ff;
    background: #edf4ff;
    color: #1768e8;
    box-shadow: inset 0 0 0 1px #2274ff;
}

.pt-checkout-payment-options input:focus-visible + span {
    outline-color: rgba(34, 116, 255, 0.24);
}

.pt-checkout-summary__points {
    color: #718096;
}

.pt-checkout-summary__submit {
    margin-top: 12px;
    border-color: #2274ff;
    background: #2274ff;
}

.pt-checkout-summary__submit:hover,
.pt-checkout-summary__submit:focus-visible {
    border-color: #1768e8;
    background: #1768e8;
}

@media (max-width: 620px) {
    .pt-template-checkout {
        background: #f5f7fa;
    }

    .pt-template-checkout__heading {
        align-items: center;
        text-align: center;
    }

    .pt-template-checkout__heading > div {
        width: 100%;
        text-align: center;
    }

    .pt-template-checkout__heading p {
        text-align: center;
    }

    .pt-template-checkout__steps {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }

    .pt-template-checkout__steps li {
        align-items: center;
        text-align: center;
    }

    .pt-template-checkout__steps li:not(:last-child)::after {
        left: calc(50% + 12px);
        width: calc(100% - 24px);
    }

    .pt-template-checkout .pt-checkout-product__facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 20px;
        padding-top: 20px;
    }

    .pt-template-checkout .pt-checkout-product__facts dt {
        margin-bottom: 3px;
    }

    .pt-template-checkout .pt-checkout-product__facts dd {
        line-height: 1.45;
    }

    .pt-template-checkout .pt-checkout-product__compatibility {
        margin-top: 22px;
    }
}

/* Mobile footer navigation: tabs on one row, with one link panel below. */
@media (max-width: 575.98px) {
    .footer .footer-groups.has-mobile-tabs {
        display: block;
        padding: 0 1.8rem;
    }

    .footer .footer-mobile-tabs {
        display: flex;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }

    .footer .footer-mobile-tabs button {
        display: inline-flex;
        min-width: 0;
        min-height: 4.4rem;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        padding: 0.6rem 0.4rem;
        border: 0;
        border-bottom: 2px solid transparent;
        border-radius: 0;
        outline: 0;
        background: transparent;
        color: #aeb8c5;
        font: inherit;
        font-size: 1.3rem;
        white-space: nowrap;
    }

    .footer .footer-mobile-tabs button[aria-selected="true"] {
        border-bottom-color: #2274ff;
        color: #fff;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group,
    .footer .footer-groups.has-mobile-tabs .footer-group:last-child {
        display: none;
        width: 100%;
        margin: 0;
        padding: 1.6rem 0 0;
        border: 0;
        text-align: left;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group:not([hidden]) {
        display: block;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group[hidden] {
        display: none !important;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group h2 {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group ul {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.6rem;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
        justify-items: start;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group li,
    .footer .footer-groups.has-mobile-tabs .footer-group li a {
        width: 100%;
        text-align: center;
    }

    .footer .footer-groups.has-mobile-tabs .footer-group li a {
        display: block;
        padding: 0;
        color: #c5ced8;
        font-size: 1.2rem;
        line-height: 1.6;
        white-space: nowrap;
        text-decoration: none;
    }
}


/* 官网 CMS 新闻分页与进展区域。 */
.pt-news-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 32px; }
.pt-news-pagination a, .pt-news-pagination span { display: inline-flex; min-height: 44px; min-width: 44px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid #e2e8f0; border-radius: 4px; }
.pt-news-pagination .is-current { background: #2274ff; color: #fff; }
.home-roadmap__list h3 a { color: inherit; }
.home-refresh .home-roadmap { background-attachment: scroll; }
